diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Form.form b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Form.form index a32621a53..0185f60ed 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Form.form +++ b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Form.form @@ -23,7 +23,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -72,6 +72,7 @@ Left true + 35 true true true @@ -119,6 +120,7 @@ true Left + 35 true true true @@ -587,7 +589,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -595,22 +597,196 @@ - ГруппаСодержание - 94 - - Наименование - 156 + Страницы + 201 + + Главное + 203 + + ГруппаСодержание + 94 + + Наименование + 156 + true + true + + true + + + Объект.Description + + + НаименованиеExtendedTooltip + 188 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 157 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Предмет + 129 + true + true + + true + + + ПредметСтрокой + + + ПредметExtendedTooltip + 189 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 130 + true + + LabelField + Enter + true + Left + true + + + Click + ПредметНажатие + + true + true + true + + + + Содержание + 18 + true + true + + true + + + ЗаданиеСодержание + + None + + СодержаниеExtendedTooltip + 190 + Label + true + true + + Left + + + + СодержаниеКонтекстноеМеню + 19 + true + + InputField + true + Enter + true + Left + true + Left + + true + 5 + true + true + true + true + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Содержание</value> + + + System.DefaultGUIFont + true + false + false + false + + + ГруппаСодержаниеExtendedTooltip + 187 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + true true true - - Объект.Description - + + <key>ru</key> + <value>Главное</value> + - НаименованиеExtendedTooltip - 188 + ГлавноеРасширеннаяПодсказка + 204 Label true true @@ -618,136 +794,76 @@ Left - - НаименованиеКонтекстноеМеню - 157 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - Normal + Page + + Vertical + auto - - Предмет - 129 + + ИсторияВыполнения + 205 + + РезультатВыполнения + 126 + + <key>ru</key> + <value>История выполнения</value> + + true + true + + true + + + ЗаданиеРезультатВыполнения + + None + + РезультатВыполненияExtendedTooltip + 191 + Label + true + true + + Left + + + + РезультатВыполненияКонтекстноеМеню + 127 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + true + Normal + + true true true - - ПредметСтрокой - - - ПредметExtendedTooltip - 189 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 130 - true - - LabelField - Enter - true - Left - true - - - Click - ПредметНажатие - - true - true - true - - - - Содержание - 18 - true - true - - true - - - ЗаданиеСодержание - - None - - СодержаниеExtendedTooltip - 190 - Label - true - true - - Left - - - - СодержаниеКонтекстноеМеню - 19 - true - - InputField - true - Enter - true - Left - true - Left - - true - 3 - true - true - true - true - true - true - true - - Style.BorderColor - - Normal - - - - РезультатВыполнения - 126 <key>ru</key> <value>История выполнения</value> - true - true - - true - - - ЗаданиеРезультатВыполнения - - РезультатВыполненияExtendedTooltip - 191 + ИсторияВыполненияРасширеннаяПодсказка + 206 Label true true @@ -755,27 +871,10 @@ Left - - РезультатВыполненияКонтекстноеМеню - 127 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - true - Normal + Page + + Vertical + auto true @@ -785,18 +884,11 @@ <key>ru</key> - <value>Содержание</value> + <value>Страницы</value> - - System.DefaultGUIFont - true - false - false - false - - ГруппаСодержаниеExtendedTooltip - 187 + СтраницыРасширеннаяПодсказка + 202 Label true true @@ -804,14 +896,9 @@ Left - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto + Pages + + TabsOnTop Auto @@ -1505,7 +1592,7 @@ Дополнительно <key>ru</key> - <value>Дополнительно</value> + <value>Дополнительно...</value> 4 diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Help/ru.html b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Help/ru.html new file mode 100644 index 000000000..b01ca269a --- /dev/null +++ b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеВыполнить/Help/ru.html @@ -0,0 +1,38 @@ + +

Предназначена для выполнения бизнес-процесса Задание.

+

Открывается из списков задач, например, Мои задачи на рабочем столе или Все задачи.

+

Главное

+
  • На вкладке Главное размещается Предмет задания, указывается Задача и расшифровка задачи.

История выполнения

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

Важность

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

Дата начала выполнения

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

Принятие к исполнению

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

Выполнение задания

+
  • Задачи могут быть без проверки выполнения. В этом случае проверяющим является сам исполнитель. +
  • В поле Результат выполнения задания напишите комментарий о выполнении задания. +
  • Подтвердите выполнение (нажав кнопку Выполнено), +
  • После этого заполняется дата выполнения, задача закрывается и становится защищенной от редактирования.

Невыполнение

+
  • В поле Результат выполнения задания напишите причину невыполнения задания. +
  • Нажмите кнопку Отменено, что означает невыполнение задачи. +
  • После нажатия кнопки заполняется Дата отказа от выполнения, задача закрывается и становится защищенной от редактирования.

Отправка другому исполнителю

+
  • Задачу можно Перенаправить другому исполнителю с помощью соответствующей кнопки. +
  • Заполните необходимые поля.

Создание подчиненного бизнес-процесса

+
  • +
    Для того чтобы использовать подчиненные бизнес-процессы, в разделе Администрирование - Органайзер необходимо установить соответствующий флажок.
    +
  • +
    Часто бизнес-процессы создаются не сами по себе, а в рамках продолжения задач других бизнес-процессов. Например, директор поручает руководителям подразделений подготовить ежегодный план-отчет. Руководители на основании этой задачи дают поручения своим исполнителям. Исполнители начинают работать, формировать отчеты, отправлять их на согласование и т.д. Таким образом, от первого поручения директора вырастает целая иерархия бизнес-процессов и задач.
    +
  • +
    Для того чтобы запустить один бизнес-процесс на основании другого, в задаче родительского бизнес-процесса выполните команду Создать на основании, из списка выберите вид бизнес-процесса, например, Задание. Заполните необходимые поля.

Напоминание

+
  • +
    Для того чтобы не забыть выполнить задачу, нажмите  Напомнить, заполните необходимые поля. В указанный момент времени программа выведет напоминание на экран.

Изменение задания

+
  • С помощью ссылки Изменить задание можно открыть задание и переработать его (при наличии соответствующих прав). В этом случае задание снова будет направлено исполнителю.

Дополнительные сведения о задаче

+

См. также:

+ \ No newline at end of file diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Form.form b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Form.form index 793daa953..fffb86aa7 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Form.form +++ b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Form.form @@ -23,7 +23,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -72,6 +72,7 @@ Left true + 35 true true true @@ -123,6 +124,7 @@ true Left + 35 true true true @@ -591,7 +593,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -599,110 +601,195 @@ - ГруппаСодержание - 94 - - Наименование - 159 + Страницы + 222 + + Главное + 224 + + ГруппаСодержание + 94 + + Наименование + 159 + true + true + + true + + + Объект.Description + + + НаименованиеExtendedTooltip + 209 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 160 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Предмет + 132 + true + true + + true + + + ПредметСтрокой + + + ПредметExtendedTooltip + 210 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 133 + true + + LabelField + Enter + true + Left + true + + + Click + ПредметНажатие + + true + true + true + + + + Содержание + 18 + + <key>ru</key> + <value>Содержание</value> + + true + true + + true + + + ЗаданиеСодержание + + None + + СодержаниеExtendedTooltip + 211 + Label + true + true + + Left + + + + СодержаниеКонтекстноеМеню + 19 + true + + InputField + true + Enter + true + Left + true + Left + + true + 5 + true + true + true + true + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Содержание</value> + + + true + + ГруппаСодержаниеExtendedTooltip + 208 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + true true true - - Объект.Description - - - НаименованиеExtendedTooltip - 209 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 160 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - Предмет - 132 - true - true - - true - - - ПредметСтрокой - - - ПредметExtendedTooltip - 210 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 133 - true - - LabelField - Enter - true - Left - true - - - Click - ПредметНажатие - - true - true - true - - - - Содержание - 18 <key>ru</key> - <value>Содержание</value> + <value>Главное</value> - true - true - - true - - - ЗаданиеСодержание - - None - СодержаниеExtendedTooltip - 211 + ГлавноеРасширеннаяПодсказка + 225 Label true true @@ -710,52 +797,76 @@ Left - - СодержаниеКонтекстноеМеню - 19 - true - - InputField - true - Enter - true - Left - true - Left - - true - 3 - true - true - true - true - true - true - true - - Style.BorderColor - - Normal + Page + + Vertical + auto - - РезультатВыполнения - 126 + + ИсторияВыполнения + 226 + + РезультатВыполнения + 126 + + <key>ru</key> + <value>История выполнения</value> + + true + true + + true + + + ЗаданиеРезультатВыполнения + + None + + РезультатВыполненияExtendedTooltip + 212 + Label + true + true + + Left + + + + РезультатВыполненияКонтекстноеМеню + 127 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + <key>ru</key> <value>История выполнения</value> - true - true - - true - - - ЗаданиеРезультатВыполнения - - РезультатВыполненияExtendedTooltip - 212 + ИсторияВыполненияРасширеннаяПодсказка + 227 Label true true @@ -763,27 +874,10 @@ Left - - РезультатВыполненияКонтекстноеМеню - 127 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - true - Normal + Page + + Vertical + auto true @@ -793,13 +887,11 @@ <key>ru</key> - <value>Содержание</value> + <value>Страницы</value> - - true - ГруппаСодержаниеExtendedTooltip - 208 + СтраницыРасширеннаяПодсказка + 223 Label true true @@ -807,14 +899,9 @@ Left - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto + Pages + + TabsOnTop Auto @@ -1624,7 +1711,7 @@ Дополнительно <key>ru</key> - <value>Дополнительно</value> + <value>Дополнительно...</value> 2 diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Help/ru.html b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Help/ru.html new file mode 100644 index 000000000..1f48c2a30 --- /dev/null +++ b/SSL/src/BusinessProcesses/Задание/Forms/ДействиеПроверить/Help/ru.html @@ -0,0 +1,41 @@ + +

Предназначена для проверки выполнения бизнес-процесса Задание.

+

Открывается из списков задач, например, Мои задачи на рабочем столе или Все задачи.

+

Главное

+
  • На вкладке Главное размещается Предмет задания, указывается Задача и расшифровка задачи.

История выполнения

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

Важность

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

Дата начала выполнения

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

Принятие к исполнению

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

Проверка выполнения

+
  • В поле Результат проверки задания напишите комментарий о выполнении задачи. +
  • Подтвердите выполнение (нажав кнопку Выполнено), +
  • После этого заполняется Дата выполнения, задача закрывается и становится защищенной от редактирования.

Невыполнение

+
  • В поле Результат проверки задания напишите причину невыполнения задания. +
  • Нажмите кнопку Отменено, что означает невыполнение задания. +
  • После нажатия кнопки заполняется дата отказа от выполнения, задача закрывается и становится защищенной от редактирования.

Возвращение исполнителю на доработку

+
  • +
    В поле Результат проверки укажите причину, по которой задача возвращается на доработку.
    +
  • +
    Нажмите Возвращено исполнителю. После этого задача вернется в список задач исполнителя.

Создание подчиненного бизнес-процесса

+
  • +
    Для того чтобы использовать подчиненные бизнес-процессы, в разделе Администрирование - Органайзер необходимо установить соответствующий флажок.
    +
  • +
    Часто бизнес-процессы создаются не сами по себе, а в рамках продолжения задач других бизнес-процессов. Например, директор поручает руководителям подразделений подготовить ежегодный план-отчет. Руководители на основании этой задачи дают поручения своим исполнителям. Исполнители начинают работать, формировать отчеты, отправлять их на согласование и т.д. Таким образом, от первого поручения директора вырастает целая иерархия бизнес-процессов и задач.
    +
  • +
    Для того чтобы запустить один бизнес-процесс на сновании другого, в задаче родительского бизнес-процесса выполните команду Создать на основании, из списка выберите вид бизнес-процесса, например, Задание. Заполните необходимые поля.

Напоминание

+
  • +
    Для того чтобы не забыть выполнить задачу, нажмите  Напомнить, заполните необходимые поля. В указанный момент времени программа выведет напоминание на экран.

Отправка другому исполнителю

+
  • Задачу можно Перенаправить другому исполнителю с помощью соответствующей кнопки. +
  • Заполните необходимые поля.

Изменение задания

+
  • С помощью ссылки Изменить задание можно открыть задание и переработать его (при наличии соответствующих прав). В этом случае задание снова будет направлено исполнителю.

Дополнительные сведения о задаче

+

См. также:

+ \ No newline at end of file diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Form.form b/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Form.form index a0bb3875c..33c3ca88a 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Form.form +++ b/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Form.form @@ -93,7 +93,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -922,7 +922,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Help/ru.html b/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Help/ru.html new file mode 100644 index 000000000..be9971cc0 --- /dev/null +++ b/SSL/src/BusinessProcesses/Задание/Forms/ФормаБизнесПроцесса/Help/ru.html @@ -0,0 +1,31 @@ + +

Предназначено для постановки и проверки выполнения произвольных задач.

+

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

+

Сведения о задании

+
  • Главная задача - заполняется программой автоматически, если бизнес-процесс является подчиненным. По ссылке в этом поле можно просмотреть данные о главном бизнес-процессе. +
  • Задание - напишите заголовок задания, который будет показан в списках бизнес-процессов. Поле является обязательным для заполнения. +
  • Важность - принимает значения Обычная (по умолчанию), Низкая, Высокая. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выберите соответствующее значение этого поля. +
  • Исполнитель - выберите исполнителя из списка пользователей программы или из списка исполнителей. Поля является обязательным для заполнения. +
  • Срок - укажите дату и время, когда нужно выполнить задание. +
  • Предмет - автоматически проставляется документ программы, на основании которого создано задание. +
  • В текстовом поле ниже можно при необходимости более подробно объяснить суть задания. Недоступно для подчиненных бизнес-процессов. +
  • +
    Включите флажок Проверить выполнение (по умолчанию включен), для того чтобы:
    +
    • +
      назначить проверяющего из списка пользователей;
      +
    • +
      ввести Срок - дату и время, до которого надо проверить выполнение задания. Если срок не заполнен, то проверка не производится.
  • +
    Автор - автоматически проставляется программой текущий пользователь. Автора можно назначить из списка Пользователи.
    +
  • +
    Начато - дата ввода задания. Заполняется программой автоматически. Поле не подлежит редактированию.

Старт бизнес-процесса

+
  • После того как задание заполнено, нажмите кнопку Стартовать и закрыть, для того чтобы сохранить Задание, начать бизнес-процесс и вернуться в программу. +
  • Для того чтобы начать бизнес-процесс, можно также воспользоваться командой Старт. В этом случае программа сохранит задание, начнет бизнес-процесс, но задание останется открытым. +
  • Программа автоматически формирует  задачи, из которых состоит бизнес-процесс Задание:  +
  • Для того чтобы записать черновик задания, но не стартовать его, нажмите Записать. Такое задание можно дозаполнить и стартовать позднее, в более подходящий момент времени из списка заданий или открыв задание.

Управление движением бизнес-процесса

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

Просмотр карты маршрута

+
  • Выполните команду Еще (Все действия) - Карта маршрута, для того чтобы посмотреть бизнес-процесс в наглядной форме. +
  • Карта маршрута описывает логику бизнес-процесса и весь его жизненный цикл в виде схематического изображения - последовательности прохождения точек маршрута.

Просмотр задач

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

См. также:

+ \ No newline at end of file diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss index 3b13f2128..12033ab91 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss +++ b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss @@ -14,22 +14,6 @@ 88619765-ccb3-46c6-ac52-38e9c992ebd4 - - - - - Завершен - Equal - true - - - - - ЦветТекста - style:ЗавершенныйБизнесПроцесс - - - Normal b75fecce-942b-4aed-abc9-e6a02e460fb3 diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Form.form b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Form.form index dab482cc8..df1cb1b3e 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Form.form +++ b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Form.form @@ -1,170 +1,26 @@ - ГруппаОтбор - 16 - - ГруппаПоРеквизитам - 21 - - ПоАвтору - 14 - true - true - - true - - - ПоАвтору - - - OnChange - ПоАвторуПриИзменении - - - ПоАвторуExtendedTooltip - 60 - Label - true - true - - Left - - - - ПоАвторуКонтекстноеМеню - 15 - true - - InputField - Enter - true - Left - true - - 35 - true - true - false - true - true - false - true - true - true - Normal - - - - ПоИсполнителю - 17 - true - true - - true - - - ПоИсполнителю - - - OnChange - ПоИсполнителюПриИзменении - - - ПоИсполнителюExtendedTooltip - 61 - Label - true - true - - Left - - - - ПоИсполнителюКонтекстноеМеню - 18 - true - - InputField - Enter - true - Left - true - - 35 - true - true - false - true - true - false - true - true - true - Normal - - - - ПоПроверяющему - 19 - true - true - - true - - - ПоПроверяющему - - - OnChange - ПоПроверяющемуПриИзменении - - - ПоПроверяющемуExtendedTooltip - 62 - Label - true - true - - Left - - - - ПоПроверяющемуКонтекстноеМеню - 20 - true - - InputField - Enter - true - Left - true - - 35 - true - true - false - true - true - false - true - true - true - Normal - - + ГруппаПоРеквизитам + 21 + + ПоАвтору + 14 true true true - - <key>ru</key> - <value>Отборы</value> - + + ПоАвтору + + + OnChange + ПоАвторуПриИзменении + - ГруппаПоРеквизитамExtendedTooltip - 59 + ПоАвторуExtendedTooltip + 60 Label true true @@ -172,111 +28,48 @@ Left
- UsualGroup - - Auto - true - true - Auto - Auto + + ПоАвторуКонтекстноеМеню + 15 + true + + InputField + Enter + true + Left + true + + 35 + true + true + false + true + true + false + true + true + true + Normal - - Флажки - 50 - - ПоказыватьЗавершенныеЗадания - 22 - true - true - - true - - - ПоказыватьЗавершенныеЗадания - - Right - - OnChange - ПоказыватьЗавершенныеЗаданияПриИзменении - - - ПоказыватьЗавершенныеЗаданияExtendedTooltip - 64 - Label - true - true - - Left - - - - ПоказыватьЗавершенныеЗаданияКонтекстноеМеню - 23 - true - - CheckBoxField - Enter - true - Left - true - - - - ПоказыватьОстановленные - 48 - true - true - - true - - - ПоказыватьОстановленные - - Right - - OnChange - ПоказыватьОстановленныеПриИзменении - - - ПоказыватьОстановленныеExtendedTooltip - 65 - Label - true - true - - Left - - - - ПоказыватьОстановленныеКонтекстноеМеню - 49 - true - - CheckBoxField - Enter - true - Left - true - - + + ПоИсполнителю + 17 true true true - - <key>ru</key> - <value>Флажки</value> - - - ru - Флажки - - true + + ПоИсполнителю + + + OnChange + ПоИсполнителюПриИзменении + - ФлажкиExtendedTooltip - 63 + ПоИсполнителюExtendedTooltip + 61 Label true true @@ -284,13 +77,74 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ПоИсполнителюКонтекстноеМеню + 18 + true + + InputField + Enter + true + Left + true + + 35 + true + true + false + true + true + false + true + true + true + Normal + + + + ПоПроверяющему + 19 + true + + + ПоПроверяющему + + + OnChange + ПоПроверяющемуПриИзменении + + + ПоПроверяющемуExtendedTooltip + 62 + Label + true + true + + Left + + + + ПоПроверяющемуКонтекстноеМеню + 20 + true + + InputField + Enter + true + Left + true + + 35 + true + true + false + true + true + false + true + true + true + Normal true @@ -300,11 +154,151 @@ <key>ru</key> - <value>Отбор</value> + <value>Отборы</value> - ГруппаОтборExtendedTooltip - 58 + ГруппаПоРеквизитамExtendedTooltip + 59 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Флажки + 50 + + ПоказыватьЗавершенныеЗадания + 22 + true + true + + true + + + ПоказыватьЗавершенныеЗадания + + Right + + OnChange + ПоказыватьЗавершенныеЗаданияПриИзменении + + + ПоказыватьЗавершенныеЗаданияExtendedTooltip + 64 + Label + true + true + + Left + + + + ПоказыватьЗавершенныеЗаданияКонтекстноеМеню + 23 + true + + CheckBoxField + Enter + true + Left + true + + + + ПоказыватьОстановленные + 48 + true + true + + true + + + ПоказыватьОстановленные + + Right + + OnChange + ПоказыватьОстановленныеПриИзменении + + + ПоказыватьОстановленныеExtendedTooltip + 65 + Label + true + true + + Left + + + + ПоказыватьОстановленныеКонтекстноеМеню + 49 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Флажки</value> + + true + + ФлажкиExtendedTooltip + 63 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаПользовательскихНастроек + 92 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 93 Label true true @@ -325,6 +319,36 @@ КоманднаяПанель 53 + + ФормаОбщаяКомандаКартаМаршрутаБизнесПроцесса + 94 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ФормаОбщаяКомандаКартаМаршрутаБизнесПроцессаРасширеннаяПодсказка + 95 + Label + true + true + + Left + + + CommonCommand.КартаМаршрутаБизнесПроцесса + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + ФормаОстановить 51 @@ -460,9 +484,9 @@ Left true + 2 true true - true true CommonPicture.КоллекцияВариантыВажности @@ -513,9 +537,9 @@ Left true + 2 true true - true true CommonPicture.ЗнакСтоп @@ -595,8 +619,10 @@ Left true + 10 true true + false @@ -639,13 +665,46 @@ - Содержание - 28 + Предмет + 32 true true true + + Список.Предмет + + + ПредметExtendedTooltip + 77 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 33 + true + + LabelField + Enter + Left + true + + true + true + + + + Содержание + 28 + true + true + Список.Содержание @@ -700,42 +759,6 @@ true
- - Предмет - 32 - true - true - - true - - - Список.Предмет - - - ПредметExtendedTooltip - 77 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 33 - true - - LabelField - Enter - true - Left - true - - true - true - - СрокИсполнения 42 @@ -770,6 +793,7 @@ true true + false @@ -804,6 +828,7 @@ true true + false @@ -840,6 +865,10 @@ ДатаЗавершения 38 + + <key>ru</key> + <value>Завершено</value> + true true @@ -871,6 +900,7 @@ true true + false @@ -912,9 +942,7 @@ 30 true true - - true - + Список.НомерИтерации @@ -1148,10 +1176,10 @@ СписокСтрокаПоиска - 97 + 103 СписокСтрокаПоискаРасширеннаяПодсказка - 99 + 105 Label true true @@ -1161,7 +1189,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 98 + 104 true Список @@ -1171,10 +1199,10 @@ СписокСостояниеПросмотра - 100 + 106 СписокСостояниеПросмотраРасширеннаяПодсказка - 102 + 108 Label true true @@ -1184,7 +1212,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 101 + 107 true ViewStatusAddition @@ -1195,10 +1223,10 @@ СписокУправлениеПоиском - 103 + 109 СписокУправлениеПоискомРасширеннаяПодсказка - 105 + 111 Label true true @@ -1208,7 +1236,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 104 + 110 true SearchControlAddition @@ -1230,6 +1258,35 @@ СписокКонтекстноеМеню 2 + + СписокОбщаяКомандаКартаМаршрутаБизнесПроцесса + 96 + true + true + + true + + + Items.Список.CurrentData.Ref + + + СписокОбщаяКомандаКартаМаршрутаБизнесПроцессаРасширеннаяПодсказка + 97 + Label + true + true + + Left + + + CommonCommand.КартаМаршрутаБизнесПроцесса + Normal + Auto + true + true + UserCmds + Auto + true true @@ -1267,6 +1324,7 @@ true true + ГруппаПользовательскихНастроек
None @@ -1308,9 +1366,15 @@ true + + Список.Completed + Список.Ref + + Список.Остановлен +
true
ВЫБРАТЬ diff --git a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Module.bsl b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Module.bsl index 48d623773..aede6e8eb 100644 --- a/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/BusinessProcesses/Задание/Forms/ФормаСписка/Module.bsl @@ -11,12 +11,13 @@ ПоАвтору = Пользователи.ТекущийПользователь(); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "ЗадачаИсточник", Задачи.ЗадачаИсполнителя.ПустаяСсылка(), - ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + Список, "ЗадачаИсточник", Задачи.ЗадачаИсполнителя.ПустаяСсылка()); УстановитьОтбор(); - + ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"); + Элементы.СрокИсполнения.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D"); + Элементы.СрокПроверки.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D"); + БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление); КонецПроцедуры &НаСервере @@ -91,38 +92,16 @@ &НаСервере Процедура УстановитьОтборСписка(ПараметрыОтбора) - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Завершен"); - Если НЕ ПараметрыОтбора["ПоказыватьЗавершенныеЗадания"] Тогда - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Завершен", Ложь); - КонецЕсли; - - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Остановлен"); - Если НЕ ПараметрыОтбора["ПоказыватьОстановленные"] Тогда - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Остановлен", Ложь); - КонецЕсли; - - Если ПараметрыОтбора["ПоАвтору"].Пустая() Тогда - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Автор"); - Иначе - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Автор", ПараметрыОтбора["ПоАвтору"]); - КонецЕсли; - - Если ПараметрыОтбора["ПоИсполнителю"].Пустая() Тогда - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Исполнитель"); - Иначе - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Исполнитель", ПараметрыОтбора["ПоИсполнителю"]); - КонецЕсли; - - Если ПараметрыОтбора["ПоПроверяющему"].Пустая() Тогда - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Проверяющий"); - Иначе - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Проверяющий", ПараметрыОтбора["ПоПроверяющему"]); - КонецЕсли; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Завершен", Ложь,,, + Не ПараметрыОтбора["ПоказыватьЗавершенныеЗадания"]); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Остановлен", Ложь,,, + Не ПараметрыОтбора["ПоказыватьОстановленные"]); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Автор", ПараметрыОтбора["ПоАвтору"],,, + Не ПараметрыОтбора["ПоАвтору"].Пустая()); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Исполнитель", ПараметрыОтбора["ПоИсполнителю"],,, + Не ПараметрыОтбора["ПоИсполнителю"].Пустая()); + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Проверяющий", ПараметрыОтбора["ПоПроверяющему"],,, + Не ПараметрыОтбора["ПоПроверяющему"].Пустая()); КонецПроцедуры diff --git a/SSL/src/BusinessProcesses/Задание/Help/ru.html b/SSL/src/BusinessProcesses/Задание/Help/ru.html index 7bd7c15fd..98bfefb90 100644 --- a/SSL/src/BusinessProcesses/Задание/Help/ru.html +++ b/SSL/src/BusinessProcesses/Задание/Help/ru.html @@ -1,3 +1,18 @@ - -

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

-

См. также: Общая информация о бизнес-процессах.

\ No newline at end of file + +

Предназначен для управления бизнес-процессами Задание.

+

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

+

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

+

Открывается по команде Задания в разделе Бизнес-процессы и задачи.

+

В списке выводится:

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

Отборы

+
  • Программа автоматически отбирает задания по полю Автор для текущего пользователя. Можно отобрать задания по любому Автору, для этого выберите его из списка пользователей. +
  • Для отбора по полю Исполнитель также можно выбрать нужного из списка пользователей, в случае ролевой адресации становится доступным список исполнителей роли.

Просмотр всех заданий

+
  • Установите соответствующие флажки, для того чтобы Показывать завершенные и остановленные задания. По умолчанию флажки сняты.

Ввод нового задания

+
  • Нажмите Создать, заполните необходимые поля.

См. также:

+ \ No newline at end of file diff --git a/SSL/src/BusinessProcesses/Задание/ManagerModule.bsl b/SSL/src/BusinessProcesses/Задание/ManagerModule.bsl index 3c3c94418..85d7cde41 100644 --- a/SSL/src/BusinessProcesses/Задание/ManagerModule.bsl +++ b/SSL/src/BusinessProcesses/Задание/ManagerModule.bsl @@ -98,13 +98,22 @@ #КонецОбласти +#КонецЕсли + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + #Область СлужебныеПроцедурыИФункции // Устанавливает состояние элементов формы задачи Процедура УстановитьСостояниеЭлементовФормыЗадачи(Форма) Экспорт - Если Форма.Элементы.Найти("РезультатВыполнения") <> Неопределено Тогда - Форма.Элементы.РезультатВыполнения.Видимость = НЕ ПустаяСтрока(Форма.ЗаданиеРезультатВыполнения); + Если Форма.Элементы.Найти("РезультатВыполнения") <> Неопределено + И Форма.Элементы.Найти("ИсторияВыполнения") <> Неопределено Тогда + Если ПустаяСтрока(Форма.ЗаданиеРезультатВыполнения) Тогда + Форма.Элементы.ИсторияВыполнения.Картинка = Новый Картинка(); + Иначе + Форма.Элементы.ИсторияВыполнения.Картинка = БиблиотекаКартинок.Комментарий; + КонецЕсли; КонецЕсли; Форма.Элементы.Предмет.Гиперссылка = Форма.Объект.Предмет <> Неопределено И НЕ Форма.Объект.Предмет.Пустая(); diff --git a/SSL/src/BusinessProcesses/Задание/ObjectModule.bsl b/SSL/src/BusinessProcesses/Задание/ObjectModule.bsl index 4eaaee35e..e8c80010f 100644 --- a/SSL/src/BusinessProcesses/Задание/ObjectModule.bsl +++ b/SSL/src/BusinessProcesses/Задание/ObjectModule.bsl @@ -104,8 +104,9 @@ КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ +#КонецОбласти + +#Область ОбработчикиСобытий //////////////////////////////////////////////////////////////////////////////// // Обработчики событий бизнес-процесса diff --git a/SSL/src/BusinessProcesses/Задание/Задание.mdo b/SSL/src/BusinessProcesses/Задание/Задание.mdo index 5fdade934..f4e3b6fd4 100644 --- a/SSL/src/BusinessProcesses/Задание/Задание.mdo +++ b/SSL/src/BusinessProcesses/Задание/Задание.mdo @@ -600,6 +600,11 @@ ru Действие выполнить + + + ru + + PersonalComputer MobileDevice @@ -609,6 +614,11 @@ ru Действие проверить + + + ru + + PersonalComputer MobileDevice @@ -618,6 +628,11 @@ ru Форма бизнес-процесса + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Help/ru.html b/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Help/ru.html index 4adab62a2..f11f58b74 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Help/ru.html +++ b/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Help/ru.html @@ -1,4 +1,4 @@ - +

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

В Общероссийском классификаторе валют выводится:

  • diff --git a/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Module.bsl b/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Module.bsl index 527a594a5..d396e573b 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Module.bsl +++ b/SSL/src/Catalogs/Валюты/Forms/ПодборВалютИзКлассификатора/Module.bsl @@ -82,7 +82,11 @@ НоваяСтрока.Код = ТекущиеДанные.КодВалютыЦифровой; НоваяСтрока.Наименование = ТекущиеДанные.КодВалютыБуквенный; НоваяСтрока.НаименованиеПолное = ТекущиеДанные.Наименование; - НоваяСтрока.ЗагружаетсяИзИнтернета = ТекущиеДанные.Загружается; + Если ТекущиеДанные.Загружается Тогда + НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета; + Иначе + НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод; + КонецЕсли; НоваяСтрока.ПараметрыПрописиНаРусском = ТекущиеДанные.ПараметрыПрописиНаРусском; НоваяСтрока.Записать(); diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss index 61e6fb4bb..c60ddc999 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss @@ -5,6 +5,10 @@ dfcece9d-5077-440b-b6b3-45a5cb4538eb + + НаименованиеПолное + Asc + Normal 88619765-ccb3-46c6-ac52-38e9c992ebd4 diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Form.form index baeac3309..160d43c0c 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Form.form @@ -1,5 +1,125 @@ + + ГруппаПользовательскихНастроек + 66 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 67 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 64 + + ФормаЗагрузитьКурсыВалют + 43 + true + true + + true + + + ФормаЗагрузитьКурсыВалютExtendedTooltip + 50 + Label + true + true + + Left + + + Form.Command.ЗагрузитьКурсыВалют + Normal + Auto + true + true + UserCmds + Auto + + + ФормаПодборИзОКВ + 44 + true + true + + true + + + ФормаПодборИзОКВExtendedTooltip + 51 + Label + true + true + + Left + + + Form.Command.ПодборИзОКВ + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Валюты 25 @@ -13,88 +133,6 @@ false None - - Код - 28 - true - true - - true - - - Список.Code - - - КодExtendedTooltip - 53 - Label - true - true - - Left - - - - КодКонтекстноеМеню - 29 - true - - InputField - Enter - true - Left - true - - 3 - true - true - true - true - true - Normal - - - - Наименование - 32 - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 54 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - 5 - true - true - true - true - true - Normal - - НаименованиеПолное 40 @@ -136,6 +174,96 @@ Normal + + Код + 28 + + <key>ru</key> + <value>Цифр. код</value> + + true + true + + true + + + Список.Code + + + КодExtendedTooltip + 53 + Label + true + true + + Left + + + + КодКонтекстноеМеню + 29 + true + + InputField + Enter + true + Left + true + + 9 + true + true + true + true + true + Normal + + + + Наименование + 32 + + <key>ru</key> + <value>Симв. код</value> + + true + true + + true + + + Список.Description + + + НаименованиеExtendedTooltip + 54 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 33 + true + + InputField + Enter + true + Left + true + + 9 + true + true + true + true + true + Normal + + Курс 38 @@ -168,7 +296,7 @@ Left true - 8 + 7 true true @@ -208,7 +336,7 @@ Left true - 6 + 7 true true @@ -286,7 +414,7 @@ Left true - 3 + 7 true true @@ -351,6 +479,7 @@ Left true + 3 true true @@ -368,10 +497,10 @@ ВалютыСтрокаПоиска - 64 + 68 ВалютыСтрокаПоискаРасширеннаяПодсказка - 66 + 70 Label true true @@ -381,7 +510,7 @@ ВалютыСтрокаПоискаКонтекстноеМеню - 65 + 69 true Валюты @@ -391,10 +520,10 @@ ВалютыСостояниеПросмотра - 67 + 71 ВалютыСостояниеПросмотраРасширеннаяПодсказка - 69 + 73 Label true true @@ -404,7 +533,7 @@ ВалютыСостояниеПросмотраКонтекстноеМеню - 68 + 72 true ViewStatusAddition @@ -415,10 +544,10 @@ ВалютыУправлениеПоиском - 70 + 74 ВалютыУправлениеПоискомРасширеннаяПодсказка - 72 + 76 Label true true @@ -428,7 +557,7 @@ ВалютыУправлениеПоискомКонтекстноеМеню - 71 + 75 true SearchControlAddition @@ -486,65 +615,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаЗагрузитьКурсыВалют - 43 - true - true - - true - - - ФормаЗагрузитьКурсыВалютExtendedTooltip - 50 - Label - true - true - - Left - - - Form.Command.ЗагрузитьКурсыВалют - Normal - Auto - true - true - UserCmds - Auto - - - ФормаПодборИзОКВ - 44 - true - true - - true - - - ФормаПодборИзОКВExtendedTooltip - 51 - Label - true - true - - Left - - - Form.Command.ПодборИзОКВ - Normal - Auto - true - true - UserCmds - Auto - Left - true ChoiceProcessing diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl index 40103943d..e9634e730 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаСписка/Module.bsl @@ -46,7 +46,7 @@ Текст = НСтр("ru = 'Есть возможность подобрать валюту из классификатора. |Подобрать?'"); Оповещение = Новый ОписаниеОповещения("ВалютыПередНачаломДобавленияЗавершение", ЭтотОбъект); - ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет); + ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да); Отказ = Истина; КонецПроцедуры diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Form.form index 5758b7a98..408055cc1 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Form.form @@ -141,27 +141,107 @@ - Прочее - 38 - - ЗагружаетсяИзИнтернета - 70 + ГруппаСпособУстановкиКурса + 106 + + ГруппаСпособУстановкиКурсаЛеваяКолонка + 104 + + КурсВалюты + 101 + + <key>ru</key> + <value>Курс валюты</value> + + true + true + + true + + + Объект.СпособУстановкиКурса + + + OnChange + КурсВалютыПриИзменении + + + КурсВалютыРасширеннаяПодсказка + 103 + Label + true + true + + Left + + + + КурсВалютыКонтекстноеМеню + 102 + true + + RadioButtonField + Enter + true + Left + true + + 1 + + + ru + загружается из Интернета + + + Enum.СпособыУстановкиКурсаВалюты.EnumValue.ЗагрузкаИзИнтернета + + + + + ru + вводится вручную + + + Enum.СпособыУстановкиКурсаВалюты.EnumValue.РучнойВвод + + + + + ru + связан с курсом другой валюты: + + + Enum.СпособыУстановкиКурсаВалюты.EnumValue.НаценкаНаКурсДругойВалюты + + + + + ru + рассчитывается по формуле: + + + Enum.СпособыУстановкиКурсаВалюты.EnumValue.РасчетПоФормуле + + + Vertical + + true true true - - Объект.ЗагружаетсяИзИнтернета - - Right - - OnChange - ЗагружаетсяИзИнтернетаПриИзменении - + + <key>ru</key> + <value>Группа способ установки курса левая колонка</value> + + + ru + Группа способ установки курса левая колонка + - ЗагружаетсяИзИнтернетаExtendedTooltip - 78 + ГруппаСпособУстановкиКурсаЛеваяКолонкаРасширеннаяПодсказка + 105 Label true true @@ -169,40 +249,30 @@ Left - - ЗагружаетсяИзИнтернетаКонтекстноеМеню - 71 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - ГруппаЗависимыйКурсВалют - 52 - - ЗависимыйКурсВалют - 50 + ГруппаСпособУстановкиКурсаПраваяКолонка + 108 + + Отступ1 + 110 true true true - - ЗависимыйКурсВалют - - Right - - OnChange - ЗависимыйКурсВалютПриИзменении - - ЗависимыйКурсВалютExtendedTooltip - 80 + Отступ1РасширеннаяПодсказка + 112 Label true true @@ -211,31 +281,28 @@ - ЗависимыйКурсВалютКонтекстноеМеню - 51 + Отступ1КонтекстноеМеню + 111 true - CheckBoxField - Enter - true - Left - true - + Label + true + true + + Left + - - ОсновнаяВалюта - 5 + + Отступ2 + 113 true true true - - Объект.ОсновнаяВалюта - - ОсновнаяВалютаExtendedTooltip - 81 + Отступ2РасширеннаяПодсказка + 115 Label true true @@ -244,49 +311,208 @@ - ОсновнаяВалютаКонтекстноеМеню - 35 + Отступ2КонтекстноеМеню + 114 true - InputField - Enter - true - Left - true - Left - - - StartChoice - ОсновнаяВалютаНачалоВыбора - - 25 + Label + true + true + + Left + + + + Отступ3 + 116 + true + true + + true + + + Отступ3РасширеннаяПодсказка + 118 + Label true true - false - true - - CatalogRef.Валюты - - - Style.BorderColor - - Normal + + Left + + + + Отступ3КонтекстноеМеню + 117 + true + + Label + true + true + + Left + + + + ГруппаНаценкаНаКурсДругойВалюты + 119 + + ОсновнаяВалюта + 5 + true + true + + true + + + Объект.ОсновнаяВалюта + + None + + ОсновнаяВалютаExtendedTooltip + 81 + Label + true + true + + Left + + + + ОсновнаяВалютаКонтекстноеМеню + 35 + true + + InputField + Enter + true + Left + true + Left + + + StartChoice + ОсновнаяВалютаНачалоВыбора + + 15 + true + true + false + true + + CatalogRef.Валюты + + + Style.BorderColor + + Normal + + + + Наценка + 6 + true + true + + true + + + Объект.Наценка + + + ru + Коэффициент, применяемый к курсу выбранной валюты для вычисления курса текущей валюты + + Button + + НаценкаExtendedTooltip + 82 + Label + true + true + + Left + + + + НаценкаКонтекстноеМеню + 36 + true + + InputField + Enter + true + Left + true + Left + + 7 + true + true + false + true + true + true + true + + -100 + + + 100 + + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа наценка на курс другой валюты</value> + + + ru + Группа наценка на курс другой валюты + + + ГруппаНаценкаНаКурсДругойВалютыРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto - Наценка - 6 + ФормулаРасчетаКурса + 121 true true true - Объект.Наценка + Объект.ФормулаРасчетаКурса + None + Button - НаценкаExtendedTooltip - 82 + ФормулаРасчетаКурсаРасширеннаяПодсказка + 123 Label true true @@ -295,8 +521,8 @@ - НаценкаКонтекстноеМеню - 36 + ФормулаРасчетаКурсаКонтекстноеМеню + 122 true InputField @@ -304,24 +530,15 @@ true Left true - Left + 32 true true - false - true + false + true true true true - - -100 - - - 100 - - - Style.BorderColor - Normal @@ -332,15 +549,15 @@ <key>ru</key> - <value>Группа зависимый курс валют</value> + <value>Группа способ установки курса правая колонка</value> ru - Группа зависимый курс валют + Группа способ установки курса правая колонка - ГруппаЗависимыйКурсВалютExtendedTooltip - 79 + ГруппаСпособУстановкиКурсаПраваяКолонкаРасширеннаяПодсказка + 109 Label true true @@ -365,16 +582,15 @@ <key>ru</key> - <value>Прочее</value> + <value>Группа способ установки курса</value> ru - Прочее + Группа способ установки курса - true - ПрочееExtendedTooltip - 77 + ГруппаСпособУстановкиКурсаРасширеннаяПодсказка + 107 Label true true @@ -384,9 +600,7 @@ UsualGroup - Vertical Auto - WeakSeparation true true Auto @@ -426,7 +640,7 @@ ГруппаСуммаПрописью 37 - ГруппаПрописанийЦелойЧасти + СклонениеЦелойЧасти 9 ПолеПрописи4наРусском @@ -684,8 +898,12 @@ ru Целая часть + + ru + Склонение целой части + - ГруппаПрописанийЦелойЧастиExtendedTooltip + СклонениеЦелойЧастиРасширеннаяПодсказка 84 Label true @@ -713,7 +931,7 @@ ГруппаПараметрыДробнойЧасти 55 - ГруппаПрописанийДробнойЧасти + СклонениеДробнойЧасти 14 ПолеПрописи8наРусском @@ -971,8 +1189,12 @@ ru Дробная часть + + ru + Склонение дробной части + - ГруппаПрописанийДробнойЧастиExtendedTooltip + СклонениеДробнойЧастиРасширеннаяПодсказка 90 Label true @@ -1691,10 +1913,6 @@ OnReadAtServer ПриЧтенииНаСервере - - BeforeWrite - ПередЗаписью - BeforeWriteAtServer ПередЗаписьюНаСервере diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Help/ru.html index 628515bfb..17c1aa730 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

    Описание свойств используемой валюты.

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

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

    diff --git a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl index 13a95455a..0db4b43b3 100644 --- a/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/Валюты/Forms/ФормаЭлемента/Module.bsl @@ -22,12 +22,10 @@ Объект.НаименованиеПолное = Параметры.НаименованиеПолное; КонецЕсли; - Если Параметры.Свойство("Загружается") Тогда - Объект.ЗагружаетсяИзИнтернета = Параметры.Загружается; - КонецЕсли; - - Если Объект.ЗагружаетсяИзИнтернета Тогда - Объект.ОсновнаяВалюта = Справочники.Валюты.ПустаяСсылка(); + Если Параметры.Свойство("Загружается") И Параметры.Загружается Тогда + Объект.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета; + Иначе + Объект.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод; КонецЕсли; Если Параметры.Свойство("ПараметрыПрописиНаРусском") Тогда @@ -38,6 +36,7 @@ КонецЕсли; + УстановитьДоступностьЭлементов(ЭтотОбъект); КонецПроцедуры &НаСервере @@ -47,23 +46,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) - - Если ЗависимыйКурсВалют Тогда - Если НЕ ЗначениеЗаполнено(Объект.ОсновнаяВалюта) Тогда - ОбщегоНазначенияКлиентСервер.СообщитьПользователю( - НСтр("ru = 'Необходимо указать основную валюту'"), , - "Объект.ОсновнаяВалюта", , - Отказ); - КонецЕсли; - Иначе - Объект.ОсновнаяВалюта = Неопределено; - Объект.Наценка = 0; - КонецЕсли; - -КонецПроцедуры - &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) @@ -78,26 +60,6 @@ //////////////////////////////////////////////////////////////////////////////// // Страница "Основные сведения" -&НаКлиенте -Процедура ЗагружаетсяИзИнтернетаПриИзменении(Элемент) - - Если Объект.ЗагружаетсяИзИнтернета Тогда - ЗависимыйКурсВалют = Ложь; - Объект.ОсновнаяВалюта = Неопределено; - Объект.Наценка = 0; - КонецЕсли; - - УстановитьСвойстваЭлементовГруппыЗависимойВалюты(ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура ЗависимыйКурсВалютПриИзменении(Элемент) - - УстановитьСвойстваЭлементовГруппыЗависимойВалюты(ЭтотОбъект); - -КонецПроцедуры - &НаКлиенте Процедура ОсновнаяВалютаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) @@ -205,6 +167,11 @@ КонецПроцедуры +&НаКлиенте +Процедура КурсВалютыПриИзменении(Элемент) + УстановитьДоступностьЭлементов(ЭтотОбъект); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -212,11 +179,8 @@ &НаСервере Процедура ЗаполнитьФормуПоОбъекту() - ЗависимыйКурсВалют = ЗначениеЗаполнено(Объект.ОсновнаяВалюта); - ПрочитатьПараметрыПрописи(); - УстановитьСвойстваЭлементовГруппыЗависимойВалюты(ЭтотОбъект); УстановитьСклоненияПараметровПрописи(ЭтотОбъект); УстановитьСуммуПрописью(ЭтотОбъект); @@ -283,31 +247,6 @@ КонецПроцедуры -&НаКлиентеНаСервереБезКонтекста -Процедура УстановитьСвойстваЭлементовГруппыЗависимойВалюты(Форма) - - Объект = Форма.Объект; - Элементы = Форма.Элементы; - - Если Объект.ЗагружаетсяИзИнтернета Тогда - Элементы.ГруппаЗависимыйКурсВалют.Доступность = Ложь; - ФлагПараметровЗависимогоКурса = Ложь; - Иначе - Элементы.ГруппаЗависимыйКурсВалют.Доступность = Истина; - ФлагПараметровЗависимогоКурса = Форма.ЗависимыйКурсВалют; - КонецЕсли; - - Элементы.ОсновнаяВалюта.АвтоОтметкаНезаполненного = ФлагПараметровЗависимогоКурса; - Элементы.Наценка.АвтоОтметкаНезаполненного = ФлагПараметровЗависимогоКурса; - Элементы.ОсновнаяВалюта.Доступность = ФлагПараметровЗависимогоКурса; - Элементы.Наценка.Доступность = ФлагПараметровЗависимогоКурса; - Если НЕ ФлагПараметровЗависимогоКурса Тогда - Элементы.ОсновнаяВалюта.ОтметкаНезаполненного = ФлагПараметровЗависимогоКурса; - Элементы.Наценка.ОтметкаНезаполненного = ФлагПараметровЗависимогоКурса; - КонецЕсли - -КонецПроцедуры - &НаКлиентеНаСервереБезКонтекста Процедура УстановитьСклоненияПараметровПрописи(Форма) @@ -408,4 +347,11 @@ КонецФункции +&НаКлиентеНаСервереБезКонтекста +Процедура УстановитьДоступностьЭлементов(Форма) + Элементы = Форма.Элементы; + Объект = Форма.Объект; + Элементы.ГруппаНаценкаНаКурсДругойВалюты.Доступность = Объект.СпособУстановкиКурса = ПредопределенноеЗначение("Перечисление.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты"); + Элементы.ФормулаРасчетаКурса.Доступность = Объект.СпособУстановкиКурса = ПредопределенноеЗначение("Перечисление.СпособыУстановкиКурсаВалюты.РасчетПоФормуле"); +КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/Валюты/Help/ru.html b/SSL/src/Catalogs/Валюты/Help/ru.html index 84ad359fa..cce6604c1 100644 --- a/SSL/src/Catalogs/Валюты/Help/ru.html +++ b/SSL/src/Catalogs/Валюты/Help/ru.html @@ -1,4 +1,4 @@ - +

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

    Открыть список валют можно из раздела Нормативно-справочная информация.

    В списке выводится:

    diff --git a/SSL/src/Catalogs/Валюты/ManagerModule.bsl b/SSL/src/Catalogs/Валюты/ManagerModule.bsl index 2454728b7..a47b346f0 100644 --- a/SSL/src/Catalogs/Валюты/ManagerModule.bsl +++ b/SSL/src/Catalogs/Валюты/ManagerModule.bsl @@ -6,18 +6,29 @@ // Групповое изменение объектов // Возвращает список реквизитов, которые не нужно редактировать -// с помощью обработки группового изменения объектов +// с помощью обработки группового изменения объектов. // Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт Результат = Новый Массив; - Результат.Добавить("ЗагружаетсяИзИнтернета"); + Результат.Добавить("СпособУстановкиКурса"); Результат.Добавить("Наценка"); Результат.Добавить("ОсновнаяВалюта"); + Результат.Добавить("ФормулаРасчетаКурса"); Возврат Результат; КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Т.к. справочник реализует свой метод обновления данных. +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/Валюты/ObjectModule.bsl b/SSL/src/Catalogs/Валюты/ObjectModule.bsl index 0a1693302..8b297c4ad 100644 --- a/SSL/src/Catalogs/Валюты/ObjectModule.bsl +++ b/SSL/src/Catalogs/Валюты/ObjectModule.bsl @@ -4,27 +4,28 @@ Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) - Если ЗагружаетсяИзИнтернета И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда - ОбщегоНазначенияКлиентСервер.СообщитьПользователю( - НСтр("ru = 'Зависимая валюта не может быть загружена с сайта РБК'")); - Отказ = Истина; - КонецЕсли; - Если ЗначениеЗаполнено(ОсновнаяВалюта.ОсновнаяВалюта) Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю( НСтр("ru = 'Основная валюта не может быть зависимой.'")); Отказ = Истина; КонецЕсли; - Если НЕ ЗначениеЗаполнено(ОсновнаяВалюта) Тогда + Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда ИсключаемыеРеквизиты = Новый Массив; + ИсключаемыеРеквизиты.Добавить("ОсновнаяВалюта"); ИсключаемыеРеквизиты.Добавить("Наценка"); ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, ИсключаемыеРеквизиты); КонецЕсли; - - Если НЕ ЭтоНовый() - И РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(Ссылка).Количество() > 0 - И ЗначениеЗаполнено(ОсновнаяВалюта) Тогда + + Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле Тогда + ИсключаемыеРеквизиты = Новый Массив; + ИсключаемыеРеквизиты.Добавить("ФормулаРасчетаКурса"); + ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, ИсключаемыеРеквизиты); + КонецЕсли; + + Если Не ЭтоНовый() + И СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты + И РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(Ссылка).Количество() > 0 Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю( НСтр("ru = 'Валюта не может быть подчиненной, так как она является основной для других валют.'")); Отказ = Истина; @@ -40,12 +41,12 @@ РаботаСКурсамиВалют.ПроверитьКорректностьКурсаНа01_01_1980(Ссылка); - Если ЗначениеЗаполнено(ОсновнаяВалюта) Тогда - РаботаСКурсамиВалют.ЗаписатьСведенияДляПодчиненногоРегистра(ОсновнаяВалюта, Ссылка); - КонецЕсли; - Если ДополнительныеСвойства.Свойство("ОбновитьКурсы") Тогда - РаботаСКурсамиВалют.ПриОбновленииКурсовВалютВМоделиСервиса(ЭтотОбъект); + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + РаботаСКурсамиВалют.ПриОбновленииКурсовВалютВМоделиСервиса(ЭтотОбъект); + Иначе + ОбновитьКурсВалюты(ЭтотОбъект); + КонецЕсли; КонецЕсли; КонецПроцедуры @@ -56,12 +57,106 @@ Возврат; КонецЕсли; - Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда - Если Ссылка.Пустая() Или Ссылка.Код <> Код Или Ссылка.ЗагружаетсяИзИнтернета <> ЗагружаетсяИзИнтернета Тогда + Если ЭтоНовый() Тогда + ДополнительныеСвойства.Вставить("ОбновитьКурсы"); + Иначе + ПредыдущиеЗначения = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Код,СпособУстановкиКурса,ОсновнаяВалюта,Наценка,ФормулаРасчетаКурса"); + Если (ПредыдущиеЗначения.СпособУстановкиКурса <> СпособУстановкиКурса) + Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета + И ПредыдущиеЗначения.Код <> Код) + Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты + И (ПредыдущиеЗначения.ОсновнаяВалюта <> ОсновнаяВалюта Или ПредыдущиеЗначения.Наценка <> Наценка)) + Или (СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле + И ПредыдущиеЗначения.ФормулаРасчетаКурса <> ФормулаРасчетаКурса) Тогда ДополнительныеСвойства.Вставить("ОбновитьКурсы"); КонецЕсли; КонецЕсли; + Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда + ОсновнаяВалюта = Справочники.Валюты.ПустаяСсылка(); + Наценка = 0; + КонецЕсли; + + Если СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле Тогда + ФормулаРасчетаКурса = ""; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ОбновитьКурсВалюты(ПодчиненнаяВалюта) + + Если СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | КурсыВалют.Период, + | КурсыВалют.Валюта, + | КурсыВалют.Курс, + | КурсыВалют.Кратность + |ИЗ + | РегистрСведений.КурсыВалют КАК КурсыВалют + |ГДЕ + | КурсыВалют.Валюта = &ВалютаИсточник"; + Запрос.УстановитьПараметр("ВалютаИсточник", ПодчиненнаяВалюта.ОсновнаяВалюта); + + Выборка = Запрос.Выполнить().Выбрать(); + + НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Валюта.Установить(ПодчиненнаяВалюта.Ссылка); + + Наценка = ПодчиненнаяВалюта.Наценка; + + Пока Выборка.Следующий() Цикл + + НоваяЗаписьНабораКурсов = НаборЗаписей.Добавить(); + НоваяЗаписьНабораКурсов.Валюта = ПодчиненнаяВалюта.Ссылка; + НоваяЗаписьНабораКурсов.Кратность = Выборка.Кратность; + НоваяЗаписьНабораКурсов.Курс = Выборка.Курс + Выборка.Курс * Наценка / 100; + НоваяЗаписьНабораКурсов.Период = Выборка.Период; + + КонецЦикла; + + НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); + НаборЗаписей.Записать(); + + ИначеЕсли СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РасчетПоФормуле Тогда + + // Получить основные валюты для ПодчиненнаяВалюта + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Валюты.Ссылка КАК Ссылка + |ИЗ + | Справочник.Валюты КАК Валюты + |ГДЕ + | &ФормулаРасчетаКурса ПОДОБНО ""%"" + Валюты.Наименование + ""%"""; + + Запрос.УстановитьПараметр("ФормулаРасчетаКурса", ПодчиненнаяВалюта.ФормулаРасчетаКурса); + ОсновныеВалюты = Запрос.Выполнить().Выгрузить(); + + Если ОсновныеВалюты.Количество() = 0 Тогда + ТекстОшибки = НСтр("ru = 'В формуле должна быть использована хотя бы одна основная валюта.'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , "Объект.ФормулаРасчетаКурса"); + ВызватьИсключение ТекстОшибки; + КонецЕсли; + + ОбновленныеПериоды = Новый Соответствие; // кеш для однократного пересчета курса за один и тот же период + // Перезаписать курсы основных валют для обновления курса валюты ПодчиненнаяВалюта + Для каждого ЗаписьОсновнойВалюты Из ОсновныеВалюты Цикл + НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Валюта.Установить(ЗаписьОсновнойВалюты.Ссылка); + НаборЗаписей.Прочитать(); + НаборЗаписей.ДополнительныеСвойства.Вставить("ОбновитьКурсЗависимойВалюты", ПодчиненнаяВалюта.Ссылка); + НаборЗаписей.ДополнительныеСвойства.Вставить("ОбновленныеПериоды", ОбновленныеПериоды); + НаборЗаписей.Записать(); + КонецЦикла + + КонецЕсли; + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/Валюты/Валюты.mdo b/SSL/src/Catalogs/Валюты/Валюты.mdo index beb89ec70..9d2b4f5c7 100644 --- a/SSL/src/Catalogs/Валюты/Валюты.mdo +++ b/SSL/src/Catalogs/Валюты/Валюты.mdo @@ -112,6 +112,7 @@ DontUse + true ru @@ -225,6 +226,7 @@ + ShowError DontUse Use @@ -256,6 +258,50 @@ Use Use + + ФормулаРасчетаКурса + + ru + Формула расчета курса + + + String + + 100 + + + + ru + Курсы других валют в формуле обозначаются их символьными кодами. Пример: +(0,55 * USD + 0,45 * EUR) / 2 + + + + ShowError + + Use + Use + + + СпособУстановкиКурса + + ru + Способ установки курса + + + EnumRef.СпособыУстановкиКурсаВалюты + + + ru + Определяет используемый способ установки курса валюты. + + + + ShowError + + Use + Use + ПодборВалютИзКлассификатора diff --git a/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаВыбора/Form.form index b0e683ec4..db8585c86 100644 --- a/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаВыбора/Form.form @@ -1,5 +1,39 @@ + + ГруппаПользовательскихНастроек + 14 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + Список 1 @@ -129,10 +163,10 @@ СписокСтрокаПоиска - 14 + 16 СписокСтрокаПоискаРасширеннаяПодсказка - 16 + 18 Label true true @@ -142,7 +176,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 15 + 17 true Список @@ -152,10 +186,10 @@ СписокСостояниеПросмотра - 17 + 19 СписокСостояниеПросмотраРасширеннаяПодсказка - 19 + 21 Label true true @@ -165,7 +199,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 18 + 20 true ViewStatusAddition @@ -176,10 +210,10 @@ СписокУправлениеПоиском - 20 + 22 СписокУправлениеПоискомРасширеннаяПодсказка - 22 + 24 Label true true @@ -189,7 +223,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 21 + 23 true SearchControlAddition @@ -249,6 +283,7 @@ true true + ГруппаПользовательскихНастроек
    diff --git a/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаСписка/Form.form index 202cfc8f0..17155174e 100644 --- a/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ВариантыОтветовАнкет/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 17 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -165,10 +200,10 @@ СписокСтрокаПоиска - 17 + 19 СписокСтрокаПоискаРасширеннаяПодсказка - 19 + 21 Label true true @@ -178,7 +213,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 18 + 20 true Список @@ -188,10 +223,10 @@ СписокСостояниеПросмотра - 20 + 22 СписокСостояниеПросмотраРасширеннаяПодсказка - 22 + 24 Label true true @@ -201,7 +236,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 21 + 23 true ViewStatusAddition @@ -212,10 +247,10 @@ СписокУправлениеПоиском - 23 + 25 СписокУправлениеПоискомРасширеннаяПодсказка - 25 + 27 Label true true @@ -225,7 +260,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 24 + 26 true SearchControlAddition @@ -284,6 +319,7 @@ true true + ГруппаПользовательскихНастроек
    diff --git a/SSL/src/Catalogs/ВариантыОтветовАнкет/Help/ru.html b/SSL/src/Catalogs/ВариантыОтветовАнкет/Help/ru.html index 09ed12578..bb402cec8 100644 --- a/SSL/src/Catalogs/ВариантыОтветовАнкет/Help/ru.html +++ b/SSL/src/Catalogs/ВариантыОтветовАнкет/Help/ru.html @@ -1,9 +1,9 @@ - -

    Ведение списка вариантов ответов анкет

    -

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

    -

    Возможные варианты ответов составитель может задать в списке.

    -

    Как ввести вариант ответа на вопрос

    -

    Введите один из вариантов ответа в поле Наименование.

    -

    См. также:

    + +

    Ведение списка вариантов ответов на вопросы типов Выбор одного или нескольких вариантов ответа из предложенных.

    +

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

    +

    Задайте возможные варианты ответов на вопрос.

    +

    Ввод варианта ответа на вопрос

    +
    • Введите один из вариантов ответа в поле Наименование. Поле является обязательным. +
    • Если у варианта ответа на вопрос типа Выбор нескольких вариантов ответа из предложенных установить флажок Требует открытого ответа, то респонденту будет предложено дать развернутый ответ в текстовом поле рядом с вариантом ответа, прокомментировав таким образом свой выбор.

    См. также:

    \ No newline at end of file diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Commands/Изменить/CommandModule.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Commands/Изменить/CommandModule.bsl new file mode 100644 index 000000000..cd0b3adf5 --- /dev/null +++ b/SSL/src/Catalogs/ВариантыОтчетов/Commands/Изменить/CommandModule.bsl @@ -0,0 +1,9 @@ + +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ВариантСсылка, ПараметрыВыполненияКоманды) + ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(ВариантСсылка); +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Form.form b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Form.form index acb019142..dc495a1d4 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Form.form +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Form.form @@ -11,6 +11,7 @@ ИзменяемыеВарианты + Left OnChange ИзменяемыеВариантыПриИзменении @@ -38,8 +39,11 @@ true true + 2 true + false true + true false true false @@ -391,7 +395,6 @@ Tree true true - 15 true true
    true
    @@ -408,6 +411,8 @@ ExpandAllLevels true true + true + true None None None @@ -506,7 +511,8 @@ OnCreateAtServer ПриСозданииНаСервере
    - 50 + 70 + 14 LockOwner true true @@ -552,23 +558,6 @@ true - - ВидимостьПоУмолчанию - - <key>ru</key> - <value>По умолчанию виден в панелях отчетов всех пользователей</value> - - 7 - - Boolean - - - true - - - true - - ИзменяемыеВарианты @@ -591,11 +580,64 @@ </itemValueType> </extInfo> </attributes> + <attributes> + <name>КоличествоВариантов</name> + <title> + <key>ru</key> + <value>Количество вариантов</value> + + 5 + + Number + + 10 + + + + true + + + true + + + + СмешаннаяВажность + + <key>ru</key> + <value>Смешанная важность</value> + + 2 + + String + + + + true + + + true + + + + РезультатВыполнения + + <key>ru</key> + <value>Результат выполнения</value> + + 4 + + + true + + + true + + ДеревоПодсистем <key>ru</key> - <value>Раздел, группа</value> + <value>Размещение в панелях отчетов</value> 3 @@ -730,7 +772,7 @@ String - 40 + 15 @@ -741,50 +783,10 @@ - ИспользованиеПоУмолчанию + Модифицированность <key>ru</key> - <value>0 - выключено у всех, 1 - включено у всех, 2 - у части выключено у части включено</value> - - 8 - - Number - - 10 - - - - true - - - true - - - - ВажностьПоУмолчанию - - <key>ru</key> - <value>Важность по умолчанию</value> - - 7 - - String - - 40 - - - - true - - - true - - - - ИзмененПользователем - - <key>ru</key> - <value>Изменен пользователем</value> + <value>Модифицированность</value> 10 @@ -798,59 +800,6 @@ - - КоличествоВариантов - - <key>ru</key> - <value>Количество вариантов</value> - - 5 - - Number - - 10 - - - - true - - - true - - - - СмешаннаяВажность - - <key>ru</key> - <value>Смешанная важность</value> - - 2 - - String - - - - true - - - true - - - - РезультатВыполнения - - <key>ru</key> - <value>Результат выполнения</value> - - 4 - - - true - - - true - - Разместить diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Help/ru.html b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Help/ru.html index 31695929f..7b7b7a0bf 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Help/ru.html +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Позволяет настраивать размещение одного или нескольких <a href="Catalog.ВариантыОтчетов/Help">вариантов отчетов</a> в разделах программы.</p> <ul><li>В поле <strong>Варианты отчетов</strong> перечисляются выбранные для размещения варианты. <ul><li>С помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> можно добавить варианты отчетов для размещения. diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Module.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Module.bsl index 838ba3ea9..f4a028ac9 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Module.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/РазмещениеВРазделах/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -208,7 +207,7 @@ |ВЫБРАТЬ | ВариантыОтчетовРазмещение.Ссылка КАК Ссылка, | ВариантыОтчетовРазмещение.Использование КАК Использование, - | ВариантыОтчетовРазмещение.РазделИлиГруппа КАК Подсистема, + | ВариантыОтчетовРазмещение.Подсистема КАК Подсистема, | ВариантыОтчетовРазмещение.Важный КАК Важный, | ВариантыОтчетовРазмещение.СмТакже КАК СмТакже |ПОМЕСТИТЬ втРазделенные @@ -363,24 +362,24 @@ ВхожденияЭтойПодсистемы = ВхожденияПодсистем.Скопировать(Новый Структура("Ссылка", Приемник.Ссылка)); Если ВхожденияЭтойПодсистемы.Количество() = 1 Тогда - Приемник.ВажностьПоУмолчанию = ВхожденияЭтойПодсистемы[0].Важность; + Приемник.Важность = ВхожденияЭтойПодсистемы[0].Важность; ИначеЕсли ВхожденияЭтойПодсистемы.Количество() = 0 Тогда - Приемник.ВажностьПоУмолчанию = ""; + Приемник.Важность = ""; Иначе - Приемник.ВажностьПоУмолчанию = СмешаннаяВажность; // Так же используется для условного оформления. + Приемник.Важность = СмешаннаяВажность; // Так же используется для условного оформления. КонецЕсли; ВхожденияВариантов = ВхожденияЭтойПодсистемы.Итог("Количество"); Если ВхожденияВариантов = КоличествоВариантов Тогда - Приемник.ИспользованиеПоУмолчанию = 1; + Приемник.Использование = 1; ИначеЕсли ВхожденияВариантов = 0 Тогда - Приемник.ИспользованиеПоУмолчанию = 0; + Приемник.Использование = 0; Иначе - Приемник.ИспользованиеПоУмолчанию = 2; + Приемник.Использование = 2; КонецЕсли; - Приемник.Важность = Приемник.ВажностьПоУмолчанию; - Приемник.Использование = Приемник.ИспользованиеПоУмолчанию; + //Приемник.Важность = Приемник.ВажностьПоУмолчанию; + //Приемник.Использование = Приемник.ИспользованиеПоУмолчанию; // Рекурсия ДобавитьПодсистемыВДерево(Приемник, Источник, ВхожденияПодсистем); diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/СбросПользовательскихНастроек/Module.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Forms/СбросПользовательскихНастроек/Module.bsl index 9cc3bbd2a..851254029 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/СбросПользовательскихНастроек/Module.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/СбросПользовательскихНастроек/Module.bsl @@ -67,9 +67,7 @@ &НаСервереБезКонтекста Функция СброситьНастройкиПользователейСервер(Знач ИзменяемыеВарианты) НачатьТранзакцию(); - Для Каждого ЭлементСписка Из ИзменяемыеВарианты Цикл - РегистрыСведений.НастройкиВариантовОтчетов.СброситьНастройкиВариантаОтчета(ЭлементСписка.Значение); - КонецЦикла; + РегистрыСведений.НастройкиВариантовОтчетов.СброситьНастройки(ИзменяемыеВарианты.ВыгрузитьЗначения()); ЗафиксироватьТранзакцию(); КонецФункции diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Form.form index b30107fe2..822462d05 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Form.form @@ -14,6 +14,10 @@ <dataPath xsi:type="form:DataPath"> <segments>СтрокаПоиска</segments> </dataPath> + <toolTip> + <key>ru</key> + <value>Поиск слов в наименовании и описании отчета а также в наименованиях настроек отчета.</value> + </toolTip> <handlers> <event>OnChange</event> <name>СтрокаПоискаПриИзменении</name> @@ -39,7 +43,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> - <width>37</width> + <width>30</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <horizontalStretch>false</horizontalStretch> @@ -53,6 +57,10 @@ <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> <textSize>Normal</textSize> + <inputHint> + <key>ru</key> + <value>Например, выручка</value> + </inputHint> </extInfo> </items> <items xsi:type="form:Button"> @@ -82,62 +90,6 @@ <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> </items> - <items xsi:type="form:FormField"> - <name>ОтборАвтор</name> - <id>58</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>ОтборАвтор</segments> - </dataPath> - <handlers> - <event>OnChange</event> - <name>ОтборАвторПриИзменении</name> - </handlers> - <extendedTooltip> - <name>ОтборАвторExtendedTooltip</name> - <id>100</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>ОтборАвторКонтекстноеМеню</name> - <id>59</id> - <autoFill>true</autoFill> - </contextMenu> - <type>InputField</type> - <markRequiredComplete>false</markRequiredComplete> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:InputFieldExtInfo"> - <width>35</width> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <horizontalStretch>false</horizontalStretch> - <verticalStretch>false</verticalStretch> - <wrap>true</wrap> - <choiceListButton>false</choiceListButton> - <choiceButton>true</choiceButton> - <clearButton>true</clearButton> - <spinButton>false</spinButton> - <openButton>false</openButton> - <autoChoiceIncomplete>false</autoChoiceIncomplete> - <choiceFoldersAndItems>Items</choiceFoldersAndItems> - <autoMarkIncomplete>false</autoMarkIncomplete> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <textSize>Normal</textSize> - </extInfo> - </items> <items xsi:type="form:FormField"> <name>ОтборТипОтчета</name> <id>45</id> @@ -147,6 +99,10 @@ <dataPath xsi:type="form:DataPath"> <segments>ОтборТипОтчета</segments> </dataPath> + <toolTip> + <key>ru</key> + <value>Отбор по типу отчетов: Внутренние / Дополнительные / Внешние.</value> + </toolTip> <handlers> <event>OnChange</event> <name>ОтборТипОтчетаПриИзменении</name> @@ -182,13 +138,19 @@ <verticalStretch>false</verticalStretch> <wrap>true</wrap> <choiceListButton>false</choiceListButton> + <dropListButton>false</dropListButton> <choiceButton>true</choiceButton> <clearButton>true</clearButton> <spinButton>false</spinButton> <openButton>false</openButton> + <createButton>false</createButton> <listChoiceMode>true</listChoiceMode> <typeDomainEnabled>true</typeDomainEnabled> <textSize>Normal</textSize> + <inputHint> + <key>ru</key> + <value>Все</value> + </inputHint> </extInfo> </items> <visible>true</visible> @@ -223,6 +185,42 @@ <currentRowUse>Auto</currentRowUse> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>168</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 169 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + +
    КоманднаяПанель 35 @@ -283,19 +281,18 @@ Изменить - 63 - - <key>ru</key> - <value>Изменить ...</value> - + 164 true true true + + Items.Список.CurrentData.Ref + - ИзменитьExtendedTooltip - 105 + ИзменитьРасширеннаяПодсказка + 165 Label true true @@ -303,9 +300,9 @@ Left - Form.Item.Список.StandardCommand.Change + Catalog.ВариантыОтчетов.Command.Изменить Normal - Picture + Auto true true UserCmds @@ -396,6 +393,56 @@ КомандыСписка 64 + + СписокСписок + 158 + true + + true + + + СписокСписокРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.List + Normal + Auto + true + true + UserCmds + Auto + + + СписокИерархическийСписок + 156 + true + + true + + + СписокИерархическийСписокРасширеннаяПодсказка + 157 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.HierarchicalList + Normal + Auto + true + true + UserCmds + Auto + true true @@ -631,10 +678,10 @@ ДеревоПодсистемСтрокаПоиска - 159 + 172 ДеревоПодсистемСтрокаПоискаРасширеннаяПодсказка - 161 + 174 Label true true @@ -644,7 +691,7 @@ ДеревоПодсистемСтрокаПоискаКонтекстноеМеню - 160 + 173 true ДеревоПодсистем @@ -654,10 +701,10 @@ ДеревоПодсистемСостояниеПросмотра - 162 + 175 ДеревоПодсистемСостояниеПросмотраРасширеннаяПодсказка - 164 + 177 Label true true @@ -667,7 +714,7 @@ ДеревоПодсистемСостояниеПросмотраКонтекстноеМеню - 163 + 176 true ViewStatusAddition @@ -678,10 +725,10 @@ ДеревоПодсистемУправлениеПоиском - 165 + 178 ДеревоПодсистемУправлениеПоискомРасширеннаяПодсказка - 167 + 180 Label true true @@ -691,7 +738,7 @@ ДеревоПодсистемУправлениеПоискомКонтекстноеМеню - 166 + 179 true SearchControlAddition @@ -830,6 +877,7 @@ Список None + Change Copy Create @@ -1407,10 +1455,10 @@ СписокСтрокаПоиска - 178 + 191 СписокСтрокаПоискаРасширеннаяПодсказка - 180 + 193 Label true true @@ -1420,7 +1468,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 179 + 192 true Список @@ -1430,10 +1478,10 @@ СписокСостояниеПросмотра - 181 + 194 СписокСостояниеПросмотраРасширеннаяПодсказка - 183 + 196 Label true true @@ -1443,7 +1491,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 182 + 195 true ViewStatusAddition @@ -1454,10 +1502,10 @@ СписокУправлениеПоиском - 184 + 197 СписокУправлениеПоискомРасширеннаяПодсказка - 186 + 199 Label true true @@ -1467,7 +1515,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 185 + 198 true SearchControlAddition @@ -1519,20 +1567,19 @@ Auto - ИзменитьСписок - 85 - - <key>ru</key> - <value>Изменить ...</value> - + ИзменитьКонтекстноеМеню + 166 true true true + + Items.Список.CurrentData.Ref + - ИзменитьСписокExtendedTooltip - 119 + ИзменитьКонтекстноеМенюРасширеннаяПодсказка + 167 Label true true @@ -1540,9 +1587,9 @@ Left - Form.Item.Список.StandardCommand.Change + Catalog.ВариантыОтчетов.Command.Изменить Normal - Picture + Auto true true UserCmds @@ -1635,7 +1682,7 @@ InAdditionalSubmenu - HierarchicalList + Tree true true 60 @@ -1669,8 +1716,8 @@ 0001-01-01T00:00:00 - true true + ГруппаПользовательскихНастроек true @@ -1782,12 +1829,6 @@ Варианты.Пользовательский, НЕ Варианты.Пользовательский КАК Предопределенный, Варианты.Наименование, - ВЫБОР - КОГДА Варианты.ВидимостьПоУмолчаниюПереопределена - ИЛИ Предопределенные.ВидимостьПоУмолчанию ЕСТЬ NULL - ТОГДА Варианты.ВидимостьПоУмолчанию - ИНАЧЕ Предопределенные.ВидимостьПоУмолчанию - КОНЕЦ КАК ВидимостьПоУмолчанию, НЕ Варианты.ТолькоДляАвтора КАК ДоступенВсемПользователям, Варианты.Отчет, Варианты.КлючВарианта, @@ -1842,7 +1883,7 @@ ОтборТипОтчета <key>ru</key> - <value>Отчеты</value> + <value>Тип</value> 4 @@ -1862,26 +1903,6 @@ ОтборТипОтчета - - ОтборАвтор - - <key>ru</key> - <value>Автор</value> - - 5 - - CatalogRef.Пользователи - - - true - - - true - - - ОтборАвтор - - СтрокаПоиска @@ -2111,28 +2132,6 @@ <view/> <edit/> </attributes> - <attributes> - <name>ТолькоВарианты</name> - <title> - <key>ru</key> - <value>Только варианты</value> - - 12 - - Boolean - String - - 1 - true - - - - true - - - true - - ВыполнитьПоиск @@ -2155,6 +2154,32 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> + <formCommands> + <name>Изменить</name> + <title> + <key>ru</key> + <value>Изменить ...</value> + + 2 + + ru + Изменить настройки отчета... + + + true + + + StdPicture.Change + + + + Изменить + + + TextPicture + Auto + Auto + diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Module.bsl index 746b63b8c..fe43ab9c3 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаСписка/Module.bsl @@ -37,8 +37,16 @@ КонецЦикла; Иначе РежимРаботыФормы = "Список"; - Элементы.Изменить.Отображение = ОтображениеКнопки.КартинкаИТекст; - Элементы.РазместитьВРазделах.ТолькоВоВсехДействиях = Ложь; + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "Изменить", + "Отображение", + ОтображениеКнопки.КартинкаИТекст); + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "РазместитьВРазделах", + "ТолькоВоВсехДействиях", + Ложь); КонецЕсли; КлючСохраненияПоложенияОкна = РежимРаботыФормы; @@ -50,14 +58,26 @@ УстановитьСвойствоСпискаПоПараметруФормы("ТекущаяСтрока"); Если Параметры.РежимВыбора Тогда - Элементы.Выбрать.КнопкаПоУмолчанию = Истина; + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "Выбрать", + "КнопкаПоУмолчанию", + Истина); Иначе - Элементы.Выбрать.Видимость = Ложь; + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "Выбрать", + "Видимость", + Ложь); КонецЕсли; ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты(); - Если НЕ ПолныеПраваНаВарианты Тогда - Элементы.ОтборТипОтчета.Видимость = Ложь; + Если Не ПолныеПраваНаВарианты Тогда + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "ОтборТипОтчета", + "Видимость", + Ложь); КонецЕсли; СписокВыбора = Элементы.ОтборТипОтчета.СписокВыбора; @@ -70,8 +90,8 @@ Если Параметры.Отбор.Свойство("ТипОтчета", ОтборТипОтчета) Тогда Параметры.Отбор.Удалить("ТипОтчета"); КонецЕсли; - Если Параметры.Отбор.Свойство("ТолькоВарианты") Тогда - Если Параметры.Отбор.ТолькоВарианты Тогда + Если Параметры.Свойство("ТолькоВарианты") Тогда + Если Параметры.ТолькоВарианты Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "КлючВарианта", @@ -81,7 +101,6 @@ , РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецЕсли; - Параметры.Отбор.Удалить("ТолькоВарианты"); КонецЕсли; ПерсональныеНастройкиСписка = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( @@ -100,10 +119,9 @@ // Пользовательский отбор по пометке удаления. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); ОбновитьСодержимоеСписка("ПриСозданииНаСервере"); - КонецПроцедуры &НаКлиенте @@ -142,11 +160,6 @@ ОбновитьСодержимоеСписка("СтрокаПоискаПриИзменении"); КонецПроцедуры -&НаКлиенте -Процедура ОтборАвторПриИзменении(Элемент) - ОбновитьСодержимоеСписка(); -КонецПроцедуры - &НаКлиенте Процедура ВключаяПодчиненныеПриИзменении(Элемент) ДеревоПодсистемТекущаяСтрока = -1; @@ -162,6 +175,11 @@ ОбновитьСодержимоеСписка(); КонецПроцедуры +&НаКлиенте +Процедура Изменить(Команда) + ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(Элементы.Список.ТекущаяСтрока); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоПодсистем @@ -276,6 +294,9 @@ Если РежимРаботыФормы = "ВсеОтчетыРаздела" Тогда СтандартнаяОбработка = Ложь; ВариантыОтчетовКлиент.ОткрытьВариантОтчета(ЭтотОбъект); + ИначеЕсли РежимРаботыФормы = "Список" Тогда + СтандартнаяОбработка = Ложь; + ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(ВыбраннаяСтрока); КонецЕсли; КонецПроцедуры @@ -359,9 +380,6 @@ Если ЗначениеЗаполнено(СтрокаПоиска) Тогда ПараметрыПоиска.Вставить("СтрокаПоиска", СтрокаПоиска); КонецЕсли; - Если ЗначениеЗаполнено(ОтборАвтор) Тогда - ПараметрыПоиска.Вставить("Автор", ОтборАвтор); - КонецЕсли; Если Не ВсеПодсистемы Тогда МассивПодсистем = Новый Массив; МассивПодсистем.Добавить(СтрокаДерева.Ссылка); @@ -424,15 +442,15 @@ ВариантОбъект = ВариантСсылка.ПолучитьОбъект(); - СтрокаПриемник = ВариантОбъект.Размещение.Найти(ПараметрыРазмещения.Приемник.Ссылка, "РазделИлиГруппа"); + СтрокаПриемник = ВариантОбъект.Размещение.Найти(ПараметрыРазмещения.Приемник.Ссылка, "Подсистема"); Если ПараметрыРазмещения.Действие = "Перемещение" Тогда - СтрокаИсточник = ВариантОбъект.Размещение.Найти(ПараметрыРазмещения.Источник.Ссылка, "РазделИлиГруппа"); + СтрокаИсточник = ВариантОбъект.Размещение.Найти(ПараметрыРазмещения.Источник.Ссылка, "Подсистема"); Если СтрокаИсточник = Неопределено Тогда // Действие не требуется ИначеЕсли СтрокаПриемник = Неопределено Тогда // Замена подсистемы - СтрокаИсточник.РазделИлиГруппа = ПараметрыРазмещения.Приемник.Ссылка; + СтрокаИсточник.Подсистема = ПараметрыРазмещения.Приемник.Ссылка; СтрокаПриемник = СтрокаИсточник; Иначе // Удаление строки @@ -442,7 +460,7 @@ Если СтрокаПриемник = Неопределено Тогда СтрокаПриемник = ВариантОбъект.Размещение.Добавить(); - СтрокаПриемник.РазделИлиГруппа = ПараметрыРазмещения.Приемник.Ссылка; + СтрокаПриемник.Подсистема = ПараметрыРазмещения.Приемник.Ссылка; КонецЕсли; СтрокаПриемник.Использование = Истина; diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form index 0ac47429a..8228cc884 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Form.form @@ -110,7 +110,7 @@ Доступен - Top + Left OnChange ДоступенПриИзменении @@ -161,36 +161,6 @@ ГруппаАвторИВидимостьПоУмолчанию 108 - - Декорация - 117 - true - true - - true - - - ДекорацияExtendedTooltip - 166 - Label - true - true - - Left - - - - ДекорацияКонтекстноеМеню - 118 - true - - Label - true - true - - Left - - Автор 115 @@ -224,10 +194,8 @@ Left true - 35 true true - false true true true @@ -237,7 +205,7 @@ ВидимостьПоУмолчанию - 113 + 203 true true @@ -247,13 +215,9 @@ Объект.ВидимостьПоУмолчанию Right - - OnChange - ВидимостьПоУмолчаниюПриИзменении - - ВидимостьПоУмолчаниюExtendedTooltip - 168 + ВидимостьПоУмолчаниюРасширеннаяПодсказка + 205 Label true true @@ -263,7 +227,7 @@ ВидимостьПоУмолчаниюКонтекстноеМеню - 114 + 204 true CheckBoxField @@ -533,10 +497,10 @@ ДеревоПодсистемСтрокаПоиска - 200 + 211 ДеревоПодсистемСтрокаПоискаРасширеннаяПодсказка - 202 + 213 Label true true @@ -546,7 +510,7 @@ ДеревоПодсистемСтрокаПоискаКонтекстноеМеню - 201 + 212 true ДеревоПодсистем @@ -556,10 +520,10 @@ ДеревоПодсистемСостояниеПросмотра - 203 + 214 ДеревоПодсистемСостояниеПросмотраРасширеннаяПодсказка - 205 + 216 Label true true @@ -569,7 +533,7 @@ ДеревоПодсистемСостояниеПросмотраКонтекстноеМеню - 204 + 215 true ViewStatusAddition @@ -580,10 +544,10 @@ ДеревоПодсистемУправлениеПоиском - 206 + 217 ДеревоПодсистемУправлениеПоискомРасширеннаяПодсказка - 208 + 219 Label true true @@ -593,7 +557,7 @@ ДеревоПодсистемУправлениеПоискомКонтекстноеМеню - 207 + 218 true SearchControlAddition @@ -861,7 +825,7 @@ - РазмещениеРазделИлиГруппа + РазмещениеПодсистема 129 true true @@ -869,10 +833,10 @@ true - Объект.Размещение.РазделИлиГруппа + Объект.Размещение.Подсистема - РазмещениеРазделИлиГруппаExtendedTooltip + РазмещениеПодсистемаРасширеннаяПодсказка 179 Label true @@ -882,7 +846,7 @@ - РазмещениеРазделИлиГруппаКонтекстноеМеню + РазмещениеПодсистемаКонтекстноеМеню 130 true @@ -975,10 +939,10 @@ РазмещениеСтрокаПоиска - 223 + 234 РазмещениеСтрокаПоискаРасширеннаяПодсказка - 225 + 236 Label true true @@ -988,7 +952,7 @@ РазмещениеСтрокаПоискаКонтекстноеМеню - 224 + 235 true Размещение @@ -998,10 +962,10 @@ РазмещениеСостояниеПросмотра - 226 + 237 РазмещениеСостояниеПросмотраРасширеннаяПодсказка - 228 + 239 Label true true @@ -1011,7 +975,7 @@ РазмещениеСостояниеПросмотраКонтекстноеМеню - 227 + 238 true ViewStatusAddition @@ -1022,10 +986,10 @@ РазмещениеУправлениеПоиском - 229 + 240 РазмещениеУправлениеПоискомРасширеннаяПодсказка - 231 + 242 Label true true @@ -1035,7 +999,7 @@ РазмещениеУправлениеПоискомКонтекстноеМеню - 230 + 241 true SearchControlAddition @@ -1203,7 +1167,6 @@ Auto - true true @@ -1229,8 +1192,10 @@ <type>UsualGroup</type> <extInfo xsi:type="form:UsualGroupExtInfo"> <group>Vertical</group> - <behavior>Auto</behavior> - <representation>WeakSeparation</representation> + <behavior>Collapsible</behavior> + <collapsed>true</collapsed> + <controlRepresentation>Button</controlRepresentation> + <representation>StrongSeparation</representation> <showLeftMargin>true</showLeftMargin> <united>true</united> <showTitle>auto</showTitle> @@ -1560,6 +1525,7 @@ <excludedCommands>Delete</excludedCommands> <windowOpeningMode>DontBlock</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> + <autoTitle>true</autoTitle> <autoUrl>true</autoUrl> <group>Vertical</group> <autoFillCheck>true</autoFillCheck> @@ -1768,46 +1734,10 @@ </edit> </columns> <columns> - <name>ИспользованиеПоУмолчанию</name> - <id>8</id> - <valueType> - <types>Number</types> - <numberQualifiers> - <precision>1</precision> - </numberQualifiers> - </valueType> - <view> - <common>true</common> - </view> - <edit> - <common>true</common> - </edit> - </columns> - <columns> - <name>ВажностьПоУмолчанию</name> + <name>Модифицированность</name> <title> <key>ru</key> - <value>Важность по умолчанию</value> - - 7 - - String - - 15 - - - - true - - - true - - - - ИзмененПользователем - - <key>ru</key> - <value>Изменен пользователем</value> + <value>Модифицированность</value> 10 @@ -1887,6 +1817,23 @@ + + ОткрытьФормуДополнительногоОтчетаПриОткрытии + + <key>ru</key> + <value>Открыть форму дополнительного отчета при открытии</value> + + 9 + + Boolean + + + true + + + true + + diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Help/ru.html index f25989f0d..d3aea8f5b 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

    Предназначен для хранения вариантов отчетов и настройки их размещения в командном интерфейсе.

    Сведения о варианте отчета

    • Заполните Наименование варианта отчета, которое будет выводиться в списках программы и в панели отчетов. @@ -24,4 +24,4 @@
    • Все действия - Сбросить настройки пользователей - сбросить пользовательские настройки в панелях отчетов по данному варианту отчета.

    См. также:

    \ No newline at end of file +
\ No newline at end of file diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl index 046281383..3e5ee2c5d 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/Forms/ФормаЭлемента/Module.bsl @@ -1,14 +1,5 @@ - #Область ОбработчикиСобытийФормы -&НаСервере -Процедура ПриЧтенииНаСервере(ТекущийОбъект) - - // Перезаполнение реквизитов, связанных с предопределенным объектом после записи. - ПрочитатьСвойстваПредопределенного(Ложь); - -КонецПроцедуры - &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("АвтоТест") Тогда @@ -18,6 +9,12 @@ ОшибкаОткрытия = НСтр("ru = 'Новый вариант отчета можно создать только из формы отчета'"); Возврат; КонецЕсли; + Параметры.Свойство("ОткрытьФормуДополнительногоОтчетаПриОткрытии", ОткрытьФормуДополнительногоОтчетаПриОткрытии); + Если ОткрытьФормуДополнительногоОтчетаПриОткрытии Тогда + Возврат; + КонецЕсли; + + Доступен = ?(Объект.ТолькоДляАвтора, "1", "2"); // Чтение свойств предопределенного; // Заполнение реквизитов, связанных с предопределенным объектом при открытии. @@ -26,7 +23,6 @@ ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты(); Если Объект.ПометкаУдаления Тогда - Элементы.ВидимостьПоУмолчанию.ТолькоПросмотр = Истина; Элементы.ДеревоПодсистем.ТолькоПросмотр = Истина; КонецЕсли; @@ -39,7 +35,6 @@ ЭтоВнешний = (Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внешний); Если ЭтоВнешний Тогда - Элементы.ВидимостьПоУмолчанию.ТолькоПросмотр = Истина; Элементы.ДеревоПодсистем.ТолькоПросмотр = Истина; КонецЕсли; @@ -56,13 +51,21 @@ ИмяОтчета = Объект.Отчет; КонецЕсли; - ПерезаполнитьДерево(); + ПерезаполнитьДерево(Ложь); ВариантыОтчетов.ДеревоПодсистемДобавитьУсловноеОформление(ЭтотОбъект); +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) // Перезаполнение реквизитов, автоматически очищаемых после записи объекта. + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + Если ОткрытьФормуДополнительногоОтчетаПриОткрытии Тогда + Возврат; + КонецЕсли; - Доступен = ?(Объект.ТолькоДляАвтора, "1", "2"); - - ВидимостьДоступность(ЭтотОбъект); + ПрочитатьСвойстваПредопределенного(Ложь); КонецПроцедуры @@ -76,13 +79,21 @@ КонецЕсли; ПоказатьПредупреждение(, ОшибкаОткрытия); + ИначеЕсли ОткрытьФормуДополнительногоОтчетаПриОткрытии Тогда + Отказ = Истина; + + ПараметрыОткрытия = Новый Структура; + ПараметрыОткрытия.Вставить("Вариант", Объект.Ссылка); + ПараметрыОткрытия.Вставить("Отчет", Объект.Отчет); + ПараметрыОткрытия.Вставить("КлючВарианта", Объект.КлючВарианта); + ВариантыОтчетовКлиент.ОткрытьВариантДополнительногоОтчета(ПараметрыОткрытия); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - Если ИмяСобытия = ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта() Тогда - ПерезаполнитьДерево(); + Если Источник <> ЭтотОбъект И ИмяСобытия = ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта() Тогда + ПерезаполнитьДерево(Истина); Элементы.ДеревоПодсистем.Развернуть(ДеревоПодсистем.ПолучитьЭлементы()[0].ПолучитьИдентификатор(), Истина); КонецЕсли; КонецПроцедуры @@ -91,10 +102,6 @@ Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) // Запись свойств, связанных с предопределенным вариантом отчета. Если ТипЗнч(СвойстваПредопределенного) = Тип("ФиксированнаяСтруктура") Тогда - Если Объект.ВидимостьПоУмолчанию <> СвойстваПредопределенного.ВидимостьПоУмолчанию Тогда - Объект.ВидимостьПоУмолчаниюПереопределена = Истина; - КонецЕсли; - Если Не ПустаяСтрока(Объект.Описание) И НРег(СокрЛП(Объект.Описание)) = НРег(СокрЛП(СвойстваПредопределенного.Описание)) Тогда Объект.Описание = ""; КонецЕсли; @@ -106,14 +113,14 @@ &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) - ВидимостьДоступность(ЭтотОбъект); + ПерезаполнитьДерево(Ложь); КонецПроцедуры &НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) - ПараметрОповещения = Новый Структура("Ссылка, Наименование, Автор, Описание, ВидимостьПоУмолчанию"); + ПараметрОповещения = Новый Структура("Ссылка, Наименование, Автор, Описание");//, ВидимостьПоУмолчанию"); ЗаполнитьЗначенияСвойств(ПараметрОповещения, Объект); - Оповестить(ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта(), ПараметрОповещения, ИмяФормы); + Оповестить(ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта(), ПараметрОповещения, ЭтотОбъект); КонецПроцедуры #КонецОбласти @@ -129,12 +136,6 @@ &НаКлиенте Процедура ДоступенПриИзменении(Элемент) Объект.ТолькоДляАвтора = (ЭтотОбъект.Доступен = "1"); - ВидимостьДоступность(ЭтотОбъект, "ТолькоДляАвтора"); -КонецПроцедуры - -&НаКлиенте -Процедура ВидимостьПоУмолчаниюПриИзменении(Элемент) - Объект.ВидимостьПоУмолчаниюПереопределена = Не Объект.ВидимостьПоУмолчаниюПереопределена; КонецПроцедуры #КонецОбласти @@ -155,32 +156,11 @@ #Область СлужебныеПроцедурыИФункции -&НаКлиентеНаСервереБезКонтекста -Процедура ВидимостьДоступность(Форма, Изменения = "") - Объект = Форма.Объект; - Элементы = Форма.Элементы; - - Если Изменения = "" Тогда - Если Объект.КлючВарианта = "" Тогда - ПредставлениеТипа = НСтр("ru = 'Отчет'"); - Иначе - ПредставлениеТипа = НСтр("ru = 'Вариант отчета'"); - КонецЕсли; - Форма.Заголовок = Объект.Наименование + " (" + ПредставлениеТипа + ")"; - КонецЕсли; - - Если Не Форма.ТолькоПросмотр Тогда - Если Изменения = "" Или Изменения = "ТолькоДляАвтора" Тогда - Если Не Форма.ЭтоВнешний И Не Объект.ПометкаУдаления Тогда - Элементы.ВидимостьПоУмолчанию.Доступность = Не Объект.ТолькоДляАвтора; - КонецЕсли; - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - &НаСервере -Функция ПерезаполнитьДерево() +Функция ПерезаполнитьДерево(Прочитать) + Если Прочитать Тогда + ЭтотОбъект.Прочитать(); + КонецЕсли; ДеревоПриемник = ВариантыОтчетов.ДеревоПодсистемСформировать(ЭтотОбъект, Объект); ЗначениеВРеквизитФормы(ДеревоПриемник, "ДеревоПодсистем"); Возврат Истина; @@ -188,34 +168,28 @@ &НаСервере Процедура ПрочитатьСвойстваПредопределенного(ПервоеЧтение) - - Если Не ПервоеЧтение И ТипЗнч(СвойстваПредопределенного) <> Тип("ФиксированнаяСтруктура") Тогда - Возврат; - КонецЕсли; - Если ПервоеЧтение Тогда - Если Объект.Пользовательский - Или Объект.ТипОтчета <> Перечисления.ТипыОтчетов.Внутренний - Или Не ЗначениеЗаполнено(Объект.ПредопределенныйВариант) Тогда - Возврат; + Если Объект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний + И Не Объект.Пользовательский + И ЗначениеЗаполнено(Объект.ПредопределенныйВариант) Тогда // Чтение настроек предопределенного. + Запрос = Новый Запрос("ВЫБРАТЬ ВидимостьПоУмолчанию, Описание ИЗ Справочник.ПредопределенныеВариантыОтчетов ГДЕ Ссылка = &Ссылка"); + Запрос.УстановитьПараметр("Ссылка", Объект.ПредопределенныйВариант); + РезультатЗапроса = Запрос.Выполнить().Выгрузить()[0]; + СтруктураСвойствПредопределенного = Новый Структура("ВидимостьПоУмолчанию, Описание"); + ЗаполнитьЗначенияСвойств(СтруктураСвойствПредопределенного, РезультатЗапроса); + СвойстваПредопределенного = Новый ФиксированнаяСтруктура(СтруктураСвойствПредопределенного); + Иначе + Возврат; // Не предопределенный. + КонецЕсли; + Иначе + Если ТипЗнч(СвойстваПредопределенного) <> Тип("ФиксированнаяСтруктура") Тогда + Возврат; // Не предопределенный. КонецЕсли; - - Запрос = Новый Запрос("ВЫБРАТЬ ВидимостьПоУмолчанию, Описание ИЗ Справочник.ПредопределенныеВариантыОтчетов ГДЕ Ссылка = &Ссылка"); - Запрос.УстановитьПараметр("Ссылка", Объект.ПредопределенныйВариант); - РезультатЗапроса = Запрос.Выполнить().Выгрузить()[0]; - СтруктураСвойствПредопределенного = Новый Структура("ВидимостьПоУмолчанию, Описание"); - ЗаполнитьЗначенияСвойств(СтруктураСвойствПредопределенного, РезультатЗапроса); - СвойстваПредопределенного = Новый ФиксированнаяСтруктура(СтруктураСвойствПредопределенного); - КонецЕсли; - - Если Объект.ВидимостьПоУмолчаниюПереопределена = Ложь Тогда - Объект.ВидимостьПоУмолчанию = СвойстваПредопределенного.ВидимостьПоУмолчанию; КонецЕсли; Если ПустаяСтрока(Объект.Описание) Тогда Объект.Описание = СвойстваПредопределенного.Описание; КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ВариантыОтчетов/Help/ru.html b/SSL/src/Catalogs/ВариантыОтчетов/Help/ru.html index ecf91a96b..a37d324b3 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/Help/ru.html +++ b/SSL/src/Catalogs/ВариантыОтчетов/Help/ru.html @@ -1,4 +1,4 @@ - +

Предназначен для управления вариантами отчетов, для настройки размещения в панелях отчетов разделов программы.

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

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

@@ -52,7 +52,7 @@
  • В списке Все отчеты также можно воспользоваться двойным щелчком мыши на нужном варианте отчета.
  • Настройка варианта отчета

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

    Удаление варианта отчета

    • Пользовательский вариант отчета с помощью команды меню Все действия можно Пометить на удаление. Также можно воспользоваться клавишей Del. diff --git a/SSL/src/Catalogs/ВариантыОтчетов/ObjectModule.bsl b/SSL/src/Catalogs/ВариантыОтчетов/ObjectModule.bsl index 55da50331..ee95365df 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/ObjectModule.bsl +++ b/SSL/src/Catalogs/ВариантыОтчетов/ObjectModule.bsl @@ -24,6 +24,9 @@ КонецПроцедуры Процедура ПередЗаписью(Отказ) + Если ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") Тогда + ПроверитьЗаполнениеПредопределенного(Отказ); + КонецЕсли; Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; @@ -67,7 +70,7 @@ // Удаление из табличной части подсистем, помеченных на удаление. МассивУдаляемыхСтрок = Новый Массив; Для Каждого СтрокаРазмещения Из Размещение Цикл - Если СтрокаРазмещения.РазделИлиГруппа.ПометкаУдаления = Истина Тогда + Если СтрокаРазмещения.Подсистема.ПометкаУдаления = Истина Тогда МассивУдаляемыхСтрок.Добавить(СтрокаРазмещения); КонецЕсли; КонецЦикла; @@ -105,6 +108,84 @@ КонецЕсли; КонецПроцедуры +// Заполняет родителя варианта отчета, основываясь на ссылке отчета и предопределенных настройках. +Процедура ЗаполнитьРодителя() Экспорт + ТекстЗапроса = + "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 + | Предопределенные.Ссылка КАК ПредопределенныйВариант + |ПОМЕСТИТЬ втПредопределенные + |ИЗ + | Справочник.ПредопределенныеВариантыОтчетов КАК Предопределенные + |ГДЕ + | Предопределенные.Отчет = &Отчет + | И Предопределенные.ПометкаУдаления = ЛОЖЬ + | И Предопределенные.ГруппироватьПоОтчету + | + |УПОРЯДОЧИТЬ ПО + | Предопределенные.Включен УБЫВ + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 + | ВариантыОтчетов.Ссылка + |ИЗ + | втПредопределенные КАК втПредопределенные + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов КАК ВариантыОтчетов + | ПО втПредопределенные.ПредопределенныйВариант = ВариантыОтчетов.ПредопределенныйВариант + |ГДЕ + | ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ"; + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("Отчет", Отчет); + Запрос.Текст = ТекстЗапроса; + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Родитель = Выборка.Ссылка; + КонецЕсли; +КонецПроцедуры + +// Базовые проверки корректности данных предопределенных вариантов отчетов. +Процедура ПроверитьЗаполнениеПредопределенного(Отказ) + Если ПометкаУдаления Или Не Предопределенный Тогда + Возврат; + ИначеЕсли Не ЗначениеЗаполнено(Отчет) Тогда + ТекстОшибки = НеЗаполненоПоле("Отчет"); + ИначеЕсли Не ЗначениеЗаполнено(ТипОтчета) Тогда + ТекстОшибки = НеЗаполненоПоле("ТипОтчета"); + ИначеЕсли Не ТипыОтчетовСовпадают() Тогда + ТекстОшибки = ПротиворечивыеЗначенияПолей("ТипОтчета", "Отчет"); + ИначеЕсли ТипОтчета = Перечисления.ТипыОтчетов.Внутренний + И Не ЗначениеЗаполнено(ПредопределенныйВариант) Тогда + ТекстОшибки = НеЗаполненоПоле("ПредопределенныйВариант"); + Иначе + Возврат; + КонецЕсли; + Отказ = Истина; + ВариантыОтчетов.ОшибкаПоВарианту(Ссылка, ТекстОшибки); +КонецПроцедуры + +Функция НеЗаполненоПоле(ИмяПоля) + Возврат СтрЗаменить(НСтр("ru = 'Не заполнено поле ""%1""'"), "%1", ИмяПоля); +КонецФункции + +Функция ТипыОтчетовСовпадают() + Если ТипЗнч(Отчет) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда + ОжидаемыйТип = Перечисления.ТипыОтчетов.Внутренний; + ИначеЕсли ТипЗнч(Отчет) = Тип("Строка") Тогда + ОжидаемыйТип = Перечисления.ТипыОтчетов.Внешний; + Иначе + ОжидаемыйТип = Перечисления.ТипыОтчетов.Дополнительный; + КонецЕсли; + Возврат ТипОтчета = ОжидаемыйТип; +КонецФункции + +Функция ПротиворечивыеЗначенияПолей(ИмяПоля1, ИмяПоля2) + Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Противоречивые значения полей ""%1"" и ""%2""'"), + ИмяПоля1, + ИмяПоля2 + ); +КонецФункции + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ВариантыОтчетов/ВариантыОтчетов.mdo b/SSL/src/Catalogs/ВариантыОтчетов/ВариантыОтчетов.mdo index dff879b22..873dd1e55 100644 --- a/SSL/src/Catalogs/ВариантыОтчетов/ВариантыОтчетов.mdo +++ b/SSL/src/Catalogs/ВариантыОтчетов/ВариантыОтчетов.mdo @@ -110,6 +110,8 @@ ru Отчет + true + HierarchyOfItems 2 true 150 @@ -277,7 +279,7 @@ ВидимостьПоУмолчанию ru - По умолчанию виден в панели отчетов + По умолчанию виден в панелях отчетов Boolean @@ -293,7 +295,6 @@ true - Index Use @@ -360,7 +361,7 @@ НаименованияПолей ru - Поля + Наименования полей String @@ -368,7 +369,7 @@ ru - Наименования полей, выведенных в отчете. + Поля, выведенные в отчете. Используется при поиске. @@ -381,7 +382,7 @@ НаименованияПараметровИОтборов ru - Параметры и отборы + Наименования параметров и отборов String @@ -389,7 +390,7 @@ ru - Наименования параметров и отборов отчета. + Параметры и фильтры, выведенные в отчете. Используется при поиске. @@ -482,14 +483,14 @@ ru - + Если флажок снят то отчет не выводится в указанной группе. Use - РазделИлиГруппа + Подсистема ru Раздел, Группа @@ -517,7 +518,7 @@ ru - + Если флажок установлен то отчет выделяется жирным шрифтом и выводится в начале группы. @@ -530,13 +531,12 @@ ru См также - Вариант находится в группе "См. также" Boolean ru - + Если флажок установлен то отчет выводится в отдельной группе "См. также", расположенной внизу панели отчетов. @@ -559,7 +559,6 @@ Use - Use УдалитьНазвание @@ -702,6 +701,10 @@ CatalogRef.ВариантыОтчетов PictureAndText + + ru + Открыть отчет... + StdPicture.Report @@ -720,6 +723,10 @@ Multiple true Auto + + ru + Изменить размещение нескольких отчетов... + СброситьНастройкиПользователей @@ -753,4 +760,24 @@ StdPicture.RestoreValues + + Изменить + + ru + Изменить... + + FormCommandBarImportant + + CatalogRef.ВариантыОтчетов + + PictureAndText + + ru + Изменить настройки отчета... + + + StdPicture.Change + + F2 + diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Form.form b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Form.form index 392e8387b..1934e98e9 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Form.form +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Form.form @@ -9,7 +9,7 @@ true - ДеревоВерсий + Список true false @@ -27,7 +27,7 @@ КартинкаИНаименование 67 - СписокИндексКартинки + СписокИндексКартинкиТекущий 68 true true @@ -35,14 +35,14 @@ true - ДеревоВерсий.ИндексКартинкиТекущий + Список.ИндексКартинкиТекущий ru Пользователь, который добавил версию файла. - СписокИндексКартинкиExtendedTooltip + СписокИндексКартинкиТекущийРасширеннаяПодсказка 91 Label true @@ -52,7 +52,7 @@ - СписокИндексКартинкиКонтекстноеМеню + СписокИндексКартинкиТекущийКонтекстноеМеню 69 true @@ -61,6 +61,7 @@ Left true + 15 true true true @@ -75,7 +76,7 @@ - Автор + СписокАвтор 49 true true @@ -83,14 +84,14 @@ true - ДеревоВерсий.Автор + Список.Автор ru Пользователь, который добавил версию файла. - АвторExtendedTooltip + СписокАвторРасширеннаяПодсказка 92 Label true @@ -100,7 +101,7 @@ - АвторКонтекстноеМеню + СписокАвторКонтекстноеМеню 50 true @@ -146,17 +147,17 @@ - Владелец + СписокВладелец 47 true true - ДеревоВерсий.Владелец + Список.Владелец - ВладелецExtendedTooltip + СписокВладелецРасширеннаяПодсказка 93 Label true @@ -166,7 +167,7 @@ - ВладелецКонтекстноеМеню + СписокВладелецКонтекстноеМеню 48 true @@ -186,7 +187,7 @@ - НомерВерсии + СписокНомерВерсии 57 true true @@ -194,14 +195,14 @@ true - ДеревоВерсий.НомерВерсии + Список.НомерВерсии ru Номер версии файла. - НомерВерсииExtendedTooltip + СписокНомерВерсииРасширеннаяПодсказка 94 Label true @@ -211,7 +212,7 @@ - НомерВерсииКонтекстноеМеню + СписокНомерВерсииКонтекстноеМеню 58 true @@ -221,8 +222,10 @@ Left true + 12 true true + false true true true @@ -231,7 +234,7 @@ - Комментарий + СписокКомментарий 51 true true @@ -239,10 +242,10 @@ true - ДеревоВерсий.Комментарий + Список.Комментарий - КомментарийExtendedTooltip + СписокКомментарийРасширеннаяПодсказка 95 Label true @@ -252,7 +255,7 @@ - КомментарийКонтекстноеМеню + СписокКомментарийКонтекстноеМеню 52 true @@ -272,7 +275,7 @@ - ДатаСоздания + СписокДатаСоздания 53 true true @@ -280,14 +283,14 @@ true - ДеревоВерсий.ДатаСоздания + Список.ДатаСоздания ru Дата добавления версии файла в базу. - ДатаСозданияExtendedTooltip + СписокДатаСозданияРасширеннаяПодсказка 96 Label true @@ -297,7 +300,7 @@ - ДатаСозданияКонтекстноеМеню + СписокДатаСозданияКонтекстноеМеню 54 true @@ -307,8 +310,10 @@ Left true + 15 true true + false true true true @@ -317,7 +322,7 @@ - Размер + СписокРазмер 55 true true @@ -325,14 +330,14 @@ true - ДеревоВерсий.Размер + Список.Размер ru Размер данных версии файла. - РазмерExtendedTooltip + СписокРазмерРасширеннаяПодсказка 97 Label true @@ -342,7 +347,7 @@ - РазмерКонтекстноеМеню + СписокРазмерКонтекстноеМеню 56 true @@ -362,16 +367,16 @@ - Ссылка + СписокСсылка 59 true true - ДеревоВерсий.Ссылка + Список.Ссылка - СсылкаExtendedTooltip + СписокСсылкаРасширеннаяПодсказка 98 Label true @@ -381,7 +386,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 60 true @@ -391,6 +396,7 @@ Left true + 1 true true true @@ -541,10 +547,6 @@ КонтекстноеМенюСписокОткрытьКарточку 43 - - <key>ru</key> - <value>Открыть карточку</value> - true true @@ -623,6 +625,33 @@ UserCmds Auto + + КонтекстноеМенюСписокУстановитьПометкуУдаления + 45 + true + true + + true + + false + + КонтекстноеМенюСписокУстановитьПометкуУдаленияРасширеннаяПодсказка + 87 + Label + true + true + + Left + + + Form.Command.ПометитьНаУдаление + Normal + Auto + true + true + UserCmds + Auto + КонтекстноеМенюСписокСохранитьКак 71 @@ -649,33 +678,6 @@ UserCmds Auto - - КонтекстноеМенюСписокПометитьНаУдаление_СнятьПометку - 45 - true - true - - true - - false - - КонтекстноеМенюСписокПометитьНаУдаление_СнятьПометкуExtendedTooltip - 87 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - КонтекстноеМенюСписокКопировать 46 @@ -761,7 +763,6 @@ Form.Command.ОткрытьВерсию Normal - PictureAndText true true UserCmds @@ -770,10 +771,6 @@ ФормаОткрытьКарточку 36 - - <key>ru</key> - <value>Открыть карточку</value> - true true @@ -792,7 +789,6 @@ Form.Command.ОткрытьКарточку Normal - PictureAndText true true UserCmds @@ -825,33 +821,6 @@ UserCmds Auto - - ФормаПометитьНаУдаление_СнятьПометку - 42 - true - true - - true - - false - - ФормаПометитьНаУдаление_СнятьПометкуExtendedTooltip - 77 - Label - true - true - - Left - - - Form.Command.ПометитьНаУдаление - Normal - Auto - true - true - UserCmds - Auto - ФормаСравнить 61 @@ -879,6 +848,34 @@ UserCmds Auto + + ФормаУстановитьПометкуУдаления + 42 + true + true + + true + + false + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 77 + Label + true + true + + Left + + + Form.Command.ПометитьНаУдаление + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + ФормаСохранитьКак 70 @@ -904,6 +901,7 @@ true UserCmds Auto + InAdditionalSubmenu ФормаСтандартныеКоманды @@ -983,10 +981,10 @@ auto true - ДеревоВерсий + Список <key>ru</key> - <value>Дерево версий</value> + <value>Список</value> 2 @@ -1281,7 +1279,7 @@ 2 ru - Пометить на удаление, снять пометку на удаление + Пометить текущий элемент на удаление / Снять пометку (Del) true @@ -1349,12 +1347,12 @@ ОткрытьВерсию <key>ru</key> - <value>Открыть версию</value> + <value>Просмотреть</value> 5 ru - Открыть версию + Открыть версию файла для просмотра true diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Module.bsl b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Module.bsl index f07f954d8..afef8f0b9 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Module.bsl +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВерсииФайла/Module.bsl @@ -17,7 +17,7 @@ УникальныйИдентификаторКарточкиФайла = Параметры.УникальныйИдентификаторКарточкиФайла; - ЗаполнитьДеревоВерсий(); + ЗаполнитьСписок(); КонецПроцедуры @@ -36,7 +36,7 @@ Если ДанныеФайла.Редактирует.Пустая() Тогда СменитьАктивнуюВерсиюФайла(ТекущиеДанные.Ссылка); - ЗаполнитьДеревоВерсий(); + ЗаполнитьСписок(); Оповестить("Запись_Файл", Новый Структура("Событие", "АктивнаяВерсияИзменена"), Параметры.Файл); Иначе ПоказатьПредупреждение(, НСтр("ru = 'Смена активной версии разрешена только для не занятых файлов.'")); @@ -71,9 +71,9 @@ Если Параметры.Файл = Источник Тогда ТекущаяВерсия = Элементы.Список.ТекущиеДанные.Ссылка; - ЗаполнитьДеревоВерсий(); + ЗаполнитьСписок(); - КодВозврата = ОбойтиВсеУзлыДерева(ДеревоВерсий.ПолучитьЭлементы(), ТекущаяВерсия); + КодВозврата = ОбойтиВсеУзлыДерева(Список.ПолучитьЭлементы(), ТекущаяВерсия); Если КодВозврата <> -1 Тогда Элементы.Список.ТекущаяСтрока = КодВозврата; КонецЕсли; @@ -165,8 +165,8 @@ Если ЧислоВыделенныхСтрок = 2 ИЛИ ЧислоВыделенныхСтрок = 1 Тогда Если ЧислоВыделенныхСтрок = 2 Тогда - Ссылка1 = ДеревоВерсий.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[0]).Ссылка; - Ссылка2 = ДеревоВерсий.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[1]).Ссылка; + Ссылка1 = Список.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[0]).Ссылка; + Ссылка2 = Список.НайтиПоИдентификатору(Элементы.Список.ВыделенныеСтроки[1]).Ссылка; ИначеЕсли ЧислоВыделенныхСтрок = 1 Тогда Ссылка1 = Элементы.Список.ТекущиеДанные.Ссылка; @@ -306,7 +306,7 @@ КонецПроцедуры &НаСервере -Процедура ЗаполнитьДеревоВерсий() +Процедура ЗаполнитьСписок() Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ @@ -341,13 +341,13 @@ Запрос.УстановитьПараметр("Владелец", Параметры.Файл); Данные = Запрос.Выполнить().Выгрузить(); - Дерево = РеквизитФормыВЗначение("ДеревоВерсий"); + Дерево = РеквизитФормыВЗначение("Список"); Дерево.Строки.Очистить(); ДобавитьПредыдущуюВерсию(Неопределено, Дерево, Данные); - ЗначениеВРеквизитФормы(Дерево, "ДеревоВерсий"); + ЗначениеВРеквизитФормы(Дерево, "Список"); -КонецПроцедуры +КонецПроцедуры &НаСервере Процедура ДобавитьПредыдущуюВерсию(ТекущаяВетвь, Дерево, Данные) diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВыборСпособаСравненияВерсий/Help/ru.html b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВыборСпособаСравненияВерсий/Help/ru.html index 95a3e4c28..a8e09d42b 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ВыборСпособаСравненияВерсий/Help/ru.html +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ВыборСпособаСравненияВерсий/Help/ru.html @@ -1,4 +1,4 @@ - +

      Выбор программы для сравнения версий файлов. В программе предусмотрена возможность сравнивать версии файлов формата HTML, TXT, RTF, DOC, DOCX, ODT.

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

      Выбор способа сравнения версий

      diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Form.form index 6e231f5a6..4d60a5b55 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Form.form @@ -4,6 +4,68 @@ ru Выбор версии файла + + ГруппаПользовательскихНастроек + 35 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 37 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 38 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 2 @@ -19,7 +81,47 @@ false None - НомерВерсии + СписокВладелец + 39 + + <key>ru</key> + <value>Файл</value> + + true + true + + true + + + Список.Владелец + + + СписокВладелецРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + + СписокВладелецКонтекстноеМеню + 40 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокНомерВерсии 19 true true @@ -30,7 +132,7 @@ Список.НомерВерсии - НомерВерсииExtendedTooltip + СписокНомерВерсииРасширеннаяПодсказка 28 Label true @@ -40,7 +142,7 @@
      - НомерВерсииКонтекстноеМеню + СписокНомерВерсииКонтекстноеМеню 20 true @@ -51,6 +153,7 @@ true Left + 11 true true true @@ -63,7 +166,7 @@
      - Автор + СписокАвтор 21 true true @@ -74,7 +177,7 @@ Список.Автор - АвторExtendedTooltip + СписокАвторРасширеннаяПодсказка 29 Label true @@ -84,7 +187,7 @@ - АвторКонтекстноеМеню + СписокАвторКонтекстноеМеню 22 true @@ -94,6 +197,7 @@ Left true + 15 true true true @@ -103,7 +207,7 @@ - ДатаСоздания + СписокДатаСоздания 23 true true @@ -114,7 +218,7 @@ Список.ДатаСоздания - ДатаСозданияExtendedTooltip + СписокДатаСозданияРасширеннаяПодсказка 30 Label true @@ -124,7 +228,7 @@ - ДатаСозданияКонтекстноеМеню + СписокДатаСозданияКонтекстноеМеню 24 true @@ -134,8 +238,10 @@ Left true + 15 true true + false true true true @@ -143,7 +249,7 @@ - Размер + СписокРазмер 25 true true @@ -154,7 +260,7 @@ Список.Размер - РазмерExtendedTooltip + СписокРазмерРасширеннаяПодсказка 31 Label true @@ -164,7 +270,7 @@ - РазмерКонтекстноеМеню + СписокРазмерКонтекстноеМеню 26 true @@ -183,7 +289,7 @@ - Ссылка + СписокСсылка 32 true true @@ -192,7 +298,7 @@ Список.Ссылка - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 34 Label true @@ -202,7 +308,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 33 true @@ -212,6 +318,7 @@ Left true + 1 true true @@ -225,10 +332,10 @@ СписокСтрокаПоиска - 35 + 42 СписокСтрокаПоискаРасширеннаяПодсказка - 37 + 44 Label true true @@ -238,7 +345,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 36 + 43 true Список @@ -248,10 +355,10 @@ СписокСостояниеПросмотра - 38 + 45 СписокСостояниеПросмотраРасширеннаяПодсказка - 40 + 47 Label true true @@ -261,7 +368,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 39 + 46 true ViewStatusAddition @@ -272,10 +379,10 @@ СписокУправлениеПоиском - 41 + 48 СписокУправлениеПоискомРасширеннаяПодсказка - 43 + 50 Label true true @@ -285,7 +392,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 42 + 49 true SearchControlAddition @@ -345,6 +452,7 @@ true + ГруппаПользовательскихНастроек Top @@ -353,7 +461,6 @@ ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Help/ru.html index f35bf4e08..cf11b5af4 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Help/ru.html +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Help/ru.html @@ -1,4 +1,4 @@ - +

      Предназначен для выбора версии файла.

      Вызывается из карточки версии файла по кнопке .

      В списке выводится:

      diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Module.bsl b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Module.bsl index 70d3fb2d8..c3dfe25ab 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Module.bsl +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаВыбора/Module.bsl @@ -5,11 +5,15 @@ Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; - + + Если Параметры.Отбор.Свойство("Владелец") Тогда + Элементы.СписокВладелец.Видимость = Ложь; + КонецЕсли; + // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); // Оформление помеченных на удаление. ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); @@ -27,5 +31,4 @@ ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("Список"); ЭлементОформляемогоПоля.Использование = Истина; - КонецПроцедуры diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Form.form index 37456ab9e..9e605119b 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаСписка/Form.form @@ -1,5 +1,152 @@ + + ГруппаПользовательскихНастроек + 51 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 52 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 53 + + ФормаИзменить + 13 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + ФормаИзменитьExtendedTooltip + 32 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + PictureAndText + true + true + UserCmds + Auto + + + ФормаСтандартныеКоманды + 15 + true + true + + true + + + <key>ru</key> + <value>Форма стандартные команды</value> + + + ru + Форма стандартные команды + + + ФормаСтандартныеКомандыExtendedTooltip + 33 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 14 + true + true + + true + + + ФормаСправкаExtendedTooltip + 34 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + CommandBar + + Left + + Список 1 @@ -17,7 +164,7 @@ Create Delete - ПолноеНаименование + СписокПолноеНаименование 8 true true @@ -28,7 +175,7 @@ Список.ПолноеНаименование - ПолноеНаименованиеExtendedTooltip + СписокПолноеНаименованиеРасширеннаяПодсказка 39 Label true @@ -38,7 +185,7 @@ - ПолноеНаименованиеКонтекстноеМеню + СписокПолноеНаименованиеКонтекстноеМеню 9 true @@ -53,7 +200,41 @@ - Владелец + СписокРасширение + 30 + true + true + + + Список.Расширение + + + СписокРасширениеРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + + СписокРасширениеКонтекстноеМеню + 31 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокВладелец 16 true true @@ -62,7 +243,7 @@ Список.Owner - ВладелецExtendedTooltip + СписокВладелецРасширеннаяПодсказка 40 Label true @@ -72,7 +253,7 @@ - ВладелецКонтекстноеМеню + СписокВладелецКонтекстноеМеню 17 true @@ -87,7 +268,7 @@ - Автор + СписокАвтор 18 true true @@ -98,7 +279,7 @@ Список.Автор - АвторExtendedTooltip + СписокАвторРасширеннаяПодсказка 41 Label true @@ -108,7 +289,7 @@ - АвторКонтекстноеМеню + СписокАвторКонтекстноеМеню 19 true @@ -123,7 +304,7 @@ - Комментарий + СписокКомментарий 20 true true @@ -134,7 +315,7 @@ Список.Комментарий - КомментарийExtendedTooltip + СписокКомментарийРасширеннаяПодсказка 42 Label true @@ -144,7 +325,7 @@ - КомментарийКонтекстноеМеню + СписокКомментарийКонтекстноеМеню 21 true @@ -160,7 +341,7 @@ - ДатаСоздания + СписокДатаСоздания 22 true true @@ -171,7 +352,7 @@ Список.ДатаСоздания - ДатаСозданияExtendedTooltip + СписокДатаСозданияРасширеннаяПодсказка 43 Label true @@ -181,7 +362,7 @@ - ДатаСозданияКонтекстноеМеню + СписокДатаСозданияКонтекстноеМеню 23 true @@ -196,7 +377,7 @@ - Размер + СписокРазмер 24 true true @@ -207,7 +388,7 @@ Список.Размер - РазмерExtendedTooltip + СписокРазмерРасширеннаяПодсказка 44 Label true @@ -217,7 +398,7 @@ - РазмерКонтекстноеМеню + СписокРазмерКонтекстноеМеню 25 true @@ -232,7 +413,7 @@ - НомерВерсии + СписокНомерВерсии 26 true true @@ -243,7 +424,7 @@ Список.НомерВерсии - НомерВерсииExtendedTooltip + СписокНомерВерсииРасширеннаяПодсказка 45 Label true @@ -253,7 +434,7 @@ - НомерВерсииКонтекстноеМеню + СписокНомерВерсииКонтекстноеМеню 27 true @@ -268,18 +449,16 @@ - ПометкаУдаления + СписокПометкаУдаления 28 true true - - true - + Список.DeletionMark - ПометкаУдаленияExtendedTooltip + СписокПометкаУдаленияРасширеннаяПодсказка 46 Label true @@ -289,7 +468,7 @@ - ПометкаУдаленияКонтекстноеМеню + СписокПометкаУдаленияКонтекстноеМеню 29 true @@ -301,43 +480,7 @@ - Расширение - 30 - true - true - - true - - - Список.Расширение - - - РасширениеExtendedTooltip - 47 - Label - true - true - - Left - - - - РасширениеКонтекстноеМеню - 31 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Ссылка + СписокСсылка 48 true true @@ -346,7 +489,7 @@ Список.Ссылка - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 50 Label true @@ -356,7 +499,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 49 true @@ -366,6 +509,7 @@ Left true + 1 true true @@ -390,10 +534,10 @@
      СписокСтрокаПоиска - 51 + 55 СписокСтрокаПоискаРасширеннаяПодсказка - 53 + 57 Label true true @@ -403,7 +547,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 52 + 56 true Список @@ -413,10 +557,10 @@ СписокСостояниеПросмотра - 54 + 58 СписокСостояниеПросмотраРасширеннаяПодсказка - 56 + 60 Label true true @@ -426,7 +570,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 55 + 59 true ViewStatusAddition @@ -437,10 +581,10 @@ СписокУправлениеПоиском - 57 + 61 СписокУправлениеПоискомРасширеннаяПодсказка - 59 + 63 Label true true @@ -450,7 +594,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 58 + 62 true SearchControlAddition @@ -477,7 +621,7 @@ 10 <key>ru</key> - <value>Открыть карточку версии</value> + <value>Открыть карточку</value> true true @@ -560,6 +704,7 @@ true true true + 10 true true MultiRow @@ -594,97 +739,12 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаИзменить - 13 - - <key>ru</key> - <value>Открыть карточку версии</value> - - true - true - - true - - - ФормаИзменитьExtendedTooltip - 32 - Label - true - true - - Left - - - Form.StandardCommand.Change - Normal - PictureAndText - true - true - UserCmds - Auto - - - ФормаСтандартныеКоманды - 15 - true - true - - true - - - <key>ru</key> - <value>Форма стандартные команды</value> - - - ru - Форма стандартные команды - - - ФормаСтандартныеКомандыExtendedTooltip - 33 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 14 - true - true - - true - - - ФормаСправкаExtendedTooltip - 34 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Form.form index ef78a3e16..705cf14ef 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Form.form @@ -608,7 +608,7 @@ 48 <key>ru</key> - <value>Данные от</value> + <value>Дата изменения</value> true true @@ -618,8 +618,12 @@ Объект.ДатаМодификацииФайла + + ru + Дата изменения данных версии файла (местное время) + - ДатаМодификацииФайлаExtendedTooltip + ДатаМодификацииФайлаРасширеннаяПодсказка 73 Label true @@ -1071,12 +1075,12 @@ Открыть <key>ru</key> - <value>Открыть</value> + <value>Просмотреть</value> 1 ru - Открыть + Открыть версию файла для просмотра true @@ -1089,6 +1093,7 @@ ОткрытьВыполнить + Text Auto Auto @@ -1101,7 +1106,7 @@ 2 ru - Сохранить файл версии на диск или другое устройство + Сохранить версию файла на диск или другое устройство true @@ -1114,7 +1119,7 @@ СохранитьКак - Picture + Text Auto Auto diff --git a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Help/ru.html index b4af2d4de..795efaf54 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ВерсииФайлов/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

      Просмотр сведений о версии файла.

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

      Сведения о версии файла

      @@ -28,7 +28,7 @@
    • Номер версии - нумерация версий ведется программой автоматически при изменениях файла, при этом максимальный номер имеет последняя сохраненная версия.
    • -
      Данные от - дата и время изменения данных версии файла (в местном времени).
      +
      Дата изменения - дата изменения данных версии файла (местное время).
    • Кодировка - автоматически выбирается значение По умолчанию.

    Просмотр версии файла

    Нажмите , для того чтобы открыть выбранную версию файла соответствующим приложением для просмотра или редактирования (также можно открыть версию файла двойным щелчком мыши по нужной строке или по команде Все действия - Открыть).
    diff --git a/SSL/src/Catalogs/ВерсииФайлов/Help/ru.html b/SSL/src/Catalogs/ВерсииФайлов/Help/ru.html index 898fd47d2..cb742aa40 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/Help/ru.html +++ b/SSL/src/Catalogs/ВерсииФайлов/Help/ru.html @@ -1,8 +1,8 @@ - +

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

    Для просмотра списка всех версий файла откройте его карточку (в списке файлов нажмите F2 или Открыть карточку) и нажмите Версии файлов на панели навигации.

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

    -

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

    +

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

    В списке выводится:

    • Автор - пользователь, который добавил версию файла. Также в этой колонке в виде картинки отображается тип файла.
      diff --git a/SSL/src/Catalogs/ВерсииФайлов/ВерсииФайлов.mdo b/SSL/src/Catalogs/ВерсииФайлов/ВерсииФайлов.mdo index ef1112561..cf65b0b3f 100644 --- a/SSL/src/Catalogs/ВерсииФайлов/ВерсииФайлов.mdo +++ b/SSL/src/Catalogs/ВерсииФайлов/ВерсииФайлов.mdo @@ -144,13 +144,12 @@ ru Автор - Автор - пользователь, создавший версию CatalogRef.Пользователи ru - Пользователь, который добавил версию файла. + Пользователь, который добавил версию файла @@ -168,14 +167,13 @@ ru Дата модификации универсальная - Дата модификации файла - приведенная к Гринвичу (очищенная от смещения летнего времени и смещения зоны) Date ru - Дата изменения данных версии файла, приведенная к Гринвичу (очищенная от смещения летнего времени и смещения зоны). + Дата изменения данных версии файла, приведенная к Гринвичу (очищенная от смещения летнего времени и смещения зоны) @@ -190,14 +188,13 @@ ru Дата модификации файла - Дата модификации файла - в локальном времени Date ru - Дата изменения данных версии файла (в местном времени). + Дата изменения данных версии файла (местное время) @@ -211,14 +208,13 @@ ru Дата создания - Дата создания версии Date ru - Дата добавления версии файла в базу. + Дата добавления версии файла в базу @@ -235,7 +231,6 @@ ru Зашифрован - Файл версии зашифрован Boolean @@ -256,7 +251,6 @@ ru Индекс картинки - Индекс иконки, соответствующей расширению файла, для показа в списке Number @@ -280,7 +274,6 @@ ru Комментарий - Комментарий к версии String @@ -302,7 +295,6 @@ ru Номер версии - Номер данной версии Number @@ -311,7 +303,7 @@ ru - Номер версии файла. + Номер версии файла @@ -325,7 +317,6 @@ ru Подписан ЭП - Файл версии подписан ЭП Boolean @@ -345,7 +336,6 @@ ru Полное наименование - Полное наименование (длиной до 256 символов) String @@ -371,7 +361,6 @@ ru Путь к файлу - Дополнительный путь к файлу на диске (в случае если ТипХраненияФайла - на диске) String @@ -399,7 +388,7 @@ ru - Размер данных версии файла. + Размер данных версии файла @@ -416,7 +405,6 @@ ru Расширение - Расширение файла версии String @@ -425,7 +413,7 @@ ru - Расширение версии файла. + Расширение версии файла @@ -440,7 +428,6 @@ ru Родительская версия - Родительская версия для данной версии - возможна древесная структура версий CatalogRef.ВерсииФайлов @@ -463,7 +450,6 @@ ru Статус извлечения текста - Статус извлечения текста - для фонового задания извлечения текста EnumRef.СтатусыИзвлеченияТекстаФайлов @@ -486,7 +472,6 @@ ru Текст - Текст, извлеченный из файла - для полнотекстового поиска ValueStorage @@ -506,13 +491,12 @@ ru Тип хранения файла - Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске EnumRef.ТипыХраненияФайлов ru - Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске + Где хранятся файлы - в базе как хранилище значения или в каталоге на диске @@ -526,7 +510,6 @@ ru Том - Ссылка на том (в случае если ТипХраненияФайла - на диске) CatalogRef.ТомаХраненияФайлов @@ -547,13 +530,12 @@ ru Файл - Служебное поле только для обмена файлами ValueStorage ru - Файл версии + Временное хранилище файла (служебное поле) @@ -662,7 +644,6 @@ ru Отпечаток - Отпечаток сертификата String @@ -719,7 +700,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Form.form b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Form.form index 88b794fc6..f1a52fb4b 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Form.form +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Form.form @@ -1,5 +1,73 @@ + + ГруппаПользовательскихНастроек + 11 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 13 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -98,10 +166,10 @@ СписокСтрокаПоиска - 11 + 15 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 17 Label true true @@ -111,7 +179,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 16 true Список @@ -121,10 +189,10 @@ СписокСостояниеПросмотра - 14 + 18 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 20 Label true true @@ -134,7 +202,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 19 true ViewStatusAddition @@ -145,10 +213,10 @@ СписокУправлениеПоиском - 17 + 21 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 23 Label true true @@ -158,7 +226,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 22 true SearchControlAddition @@ -224,13 +292,13 @@ true true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Help/ru.html b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Help/ru.html new file mode 100644 index 000000000..489b34d32 --- /dev/null +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаВыбораГруппы/Help/ru.html @@ -0,0 +1,8 @@ + +

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

      +

      Открывается по кнопке Выбрать из окна ввода нового поля контактной информации.

      +

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

      +

      Выбор вида контактной информации

      +
      • Выделите нужную группу, нажмите Выбрать.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Form.form index 32510c17f..d9a41f458 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Form.form @@ -1,5 +1,139 @@ + + ГруппаПользовательскихНастроек + 42 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 44 + + ПереместитьВниз + 18 + true + true + + true + + false + + ПереместитьВнизExtendedTooltip + 33 + Label + true + true + + Left + + + Form.Command.ПереместитьЭлементВниз + Normal + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + Auto + + + ПереместитьВверх + 17 + true + true + + true + + false + + ПереместитьВверхExtendedTooltip + 32 + Label + true + true + + Left + + + Form.Command.ПереместитьЭлементВверх + Normal + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 45 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -16,71 +150,114 @@ None CreateFolder MoveItem - - НомерКартинки - 28 + + Представление + 40 + + Пиктограмма + 28 + + <key>ru</key> + <value>Пиктограмма</value> + + true + true + + true + + + Список.ИндексПиктограммы + + None + + ПиктограммаРасширеннаяПодсказка + 35 + Label + true + true + + Left + + + + ПиктограммаКонтекстноеМеню + 29 + true + + PictureField + Enter + true + Left + true + + 2 + true + true + true + true + + + + 1 + + + + + Наименование + 37 + + <key>ru</key> + <value>Вид контактной информации</value> + + true + true + + true + + + Список.Description + + + НаименованиеРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 38 + true + + LabelField + Enter + true + Left + true + + true + true + + true true true - - Список.НомерКартинки - - None - - НомерКартинкиExtendedTooltip - 35 - Label - true - true - - Left - - - - НомерКартинкиКонтекстноеМеню - 29 - true - - PictureField - Enter - true - Left - true - - 2 - true - 1 - true - true - true - - CommonPicture.КонтактнаяИнформация - - - 1 - - - - - Наименование - 37 <key>ru</key> - <value>Вид контактной информации</value> + <value>Представление</value> - true - true - - true - - - Список.Description - + + ru + Представление + - НаименованиеРасширеннаяПодсказка - 39 + ПредставлениеРасширеннаяПодсказка + 41 Label true true @@ -88,19 +265,11 @@ Left - - НаименованиеКонтекстноеМеню - 38 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + InCell + auto + true @@ -154,10 +323,10 @@
      СписокСтрокаПоиска - 40 + 46 СписокСтрокаПоискаРасширеннаяПодсказка - 42 + 48 Label true true @@ -167,7 +336,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 41 + 47 true Список @@ -177,10 +346,10 @@ СписокСостояниеПросмотра - 43 + 49 СписокСостояниеПросмотраРасширеннаяПодсказка - 45 + 51 Label true true @@ -190,7 +359,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 44 + 50 true ViewStatusAddition @@ -201,10 +370,10 @@ СписокУправлениеПоиском - 46 + 52 СписокУправлениеПоискомРасширеннаяПодсказка - 48 + 54 Label true true @@ -214,7 +383,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 47 + 53 true SearchControlAddition @@ -257,9 +426,6 @@ ExpandAllLevels true true - - Список.DefaultPicture - Style.BorderColor @@ -275,6 +441,7 @@ true + ГруппаПользовательскихНастроек Top @@ -282,74 +449,7 @@ ФормаКоманднаяПанель -1 - - ПереместитьВверх - 17 - true - true - - true - - false - - ПереместитьВверхExtendedTooltip - 32 - Label - true - true - - Left - - - Form.Command.ПереместитьЭлементВверх - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - Auto - - - ПереместитьВниз - 18 - true - true - - true - - false - - ПереместитьВнизExtendedTooltip - 33 - Label - true - true - - Left - - - Form.Command.ПереместитьЭлементВниз - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - Auto - Left - true CreateFolder DontBlock @@ -375,9 +475,15 @@ true + + Список.НомерКартинки + Список.Ref + + Список.ИндексПиктограммы + Список.РеквизитДопУпорядочивания @@ -385,15 +491,39 @@ ВЫБРАТЬ // Выбор индекса в общей картинке "КонтактнаяИнформация" - ВЫБОР СправочникВидыКонтактнойИнформации.Тип - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) ТОГДА 8 - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ТОГДА 3 - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) ТОГДА 4 - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.ВебСтраница) ТОГДА 5 - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Факс) ТОГДА 6 - КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Другое) ТОГДА 7 - ИНАЧЕ 0 - КОНЕЦ КАК НомерКартинки, + ВЫБОР + КОГДА СправочникВидыКонтактнойИнформации.ЭтоГруппа ТОГДА + ВЫБОР + КОГДА СправочникВидыКонтактнойИнформации.ПометкаУдаления ТОГДА 1 + КОГДА СправочникВидыКонтактнойИнформации.Предопределенный ТОГДА 2 + ИНАЧЕ 0 + КОНЕЦ + + КОГДА СправочникВидыКонтактнойИнформации.ПометкаУдаления ТОГДА 4 + + КОГДА СправочникВидыКонтактнойИнформации.Предопределенный ТОГДА + ВЫБОР СправочникВидыКонтактнойИнформации.Тип + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ТОГДА 14 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) ТОГДА 15 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.ВебСтраница) ТОГДА 16 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Факс) ТОГДА 17 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Другое) ТОГДА 18 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) ТОГДА 19 + ИНАЧЕ 3 + КОНЕЦ + + ИНАЧЕ + ВЫБОР СправочникВидыКонтактнойИнформации.Тип + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ТОГДА 7 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты) ТОГДА 8 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.ВебСтраница) ТОГДА 9 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Факс) ТОГДА 10 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Другое) ТОГДА 11 + КОГДА ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) ТОГДА 12 + ИНАЧЕ 3 + КОНЕЦ + + КОНЕЦ КАК ИндексПиктограммы, СправочникВидыКонтактнойИнформации.Ссылка, СправочникВидыКонтактнойИнформации.ПометкаУдаления, diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Items/Пиктограмма/ValuesPicture.png b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Items/Пиктограмма/ValuesPicture.png new file mode 100644 index 000000000..e948df5d8 Binary files /dev/null and b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаСписка/Items/Пиктограмма/ValuesPicture.png differ diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form index 325d4c232..4051653f7 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Form.form @@ -580,6 +580,40 @@ true + + ВключатьСтрануВПредставление + 16 + true + true + + true + + + Объект.ВключатьСтрануВПредставление + + Right + + ВключатьСтрануВПредставлениеExtendedTooltip + 107 + Label + true + true + + Left + + + + ВключатьСтрануВПредставлениеКонтекстноеМеню + 17 + true + + CheckBoxField + Enter + true + Left + true + + true true @@ -629,40 +663,6 @@ Auto - - ВключатьСтрануВПредставление - 16 - true - true - - true - - - Объект.ВключатьСтрануВПредставление - - Right - - ВключатьСтрануВПредставлениеExtendedTooltip - 107 - Label - true - true - - Left - - - - ВключатьСтрануВПредставлениеКонтекстноеМеню - 17 - true - - CheckBoxField - Enter - true - Left - true - - true true diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Help/ru.html index ea69eec80..52897bb22 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Forms/ФормаЭлемента/Help/ru.html @@ -1,10 +1,10 @@ - +

      Описание свойств поля контактной информации.

      -

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

      -

      Какие типы контактной информации существуют в программе

      +

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

      +

      Типы контактной информации

      Программа позволяет хранить следующие типы контактной информации:

      • -
        Адрес - поле с таким типом контактной информации предназначено для хранения адреса в виде произвольной строки или в виде шаблона адреса. Позволяет заполнять адрес с помощью шаблона ввода, используя адресный классификатор. Если адрес заполняется с помощью адресного классификатора, то индекс адреса устанавливается из классификатора автоматически, после окончания ввода адреса. Предопределенные фактический и юридический адреса используются в печатных формах документов.
        +
        Адрес - поле с таким типом контактной информации предназначено для хранения адреса в виде произвольной строки или в виде шаблона адреса. Позволяет заполнять адрес с помощью шаблона ввода, используя адресный классификатор. Если адрес заполняется с помощью адресного классификатора, то индекс адреса устанавливается из классификатора автоматически, после окончания ввода адреса. Предопределенные фактический и юридический адреса используются в печатных формах документов.
      • Телефон - поле с таким типом контактной информации предназначено для хранения телефонных номеров в виде произвольной строки, или в соответствии с шаблоном ввода номера телефона. Предопределенный телефон используется в печатных формах документов.
      • @@ -14,7 +14,7 @@
      • Факс - поле с таким типом контактной информации предназначено для хранения номеров факсов в виде произвольной строки, или в соответствии с шаблоном ввода номера факса. Реквизит используется в печатных формах документов.
      • -
        Другое - поле с таким типом контактной информации может использоваться для хранения произвольной текстовой контактной информации, например информацию о том, как добраться до организации.

      Как добавить поле контактной информации в список или документ

      +
      Другое - поле с таким типом контактной информации может использоваться для хранения произвольной текстовой контактной информации, например, можно поместить информацию о том, как добраться до организации. Программа позволяет в это поле ввести текст длиной до 1024 символов.

    Добавление поля контактной информации в список или документ

    Заполните необходимую информацию:

    • Выберите из списка Тип контактной информации.
      @@ -23,15 +23,19 @@
    • Введите текст Подсказки, которая будет выводиться при наведении курсора на поле контактной информации.
    • -
      Выберите Группу, если она не введена по умолчанию. Группа соответствует документу или списку программы, в который добавляется новое поле контактной информации.

    Какие настройки можно использовать для полей контактной информации

    +
    Выберите Группу, если она не введена по умолчанию. Группа соответствует документу или списку программы, в который добавляется новое поле контактной информации.

    Настройки полей контактной информации

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

    Какие настройки доступны только для поля типа Адрес 

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

    См. также:

    - \ No newline at end of file +
    Настройка Редактировать только в диалоге используется для типов контактной информации Адрес, Телефон, Факс. Такая настройка позволяет ограничить ввод нового и редактирование существующего адреса, телефона или факса шаблоном ввода, а также выбором адреса из адресного классификатора. При установленном флажке предусмотрена возможность ввести адрес в свободной форме. Это может понадобиться в исключительных случаях, например, если данные адреса в каких либо документах приводятся с ошибкой, но для печати необходимо их проставить. При этом такой адрес будет храниться в программе с пометкой, что он введен в свободной форме, и использоваться с ограничениями. После уточнения адрес можно будет исправить, заполнив по шаблону.

    Особенности настройки поля Адрес 

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

    Особенности настройки поля Адрес электронной почты

    +

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

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Help/ru.html b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Help/ru.html index e3aa91332..932d9de36 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/Help/ru.html +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/Help/ru.html @@ -1,10 +1,14 @@ - -

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

    -

    Поставка программы осуществляется c предопределенными группами и элементами списка. Предопределенные группы списка соответствуют спискам или документам программы - носителям контактной информации. Добавление новых групп в список запрещено.

    + +

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

    +

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

    +

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

    +

    Поставка программы осуществляется c предопределенными группами и элементами списка. Предопределенные группы списка соответствуют спискам или документам программы - носителям контактной информации. Добавление новых групп в список запрещено. Элементы внутри этих групп определяют состав контактной информации соответствующих объектов программы.

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

    -

    Как добавить новое поле контактной информации в справочник или документ

    +

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

    +

    Список открывается соответствующей командой панели навигации раздела Администрирование - Общие настройки.

    +

    Добавление нового поля контактной информации в список или документ

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

    Можно ли изменить предопределенные виды контактной информации

    +
    Выбрав соответствующую группу в списке, нажмите  Создать. Заполните необходимые поля.

    Предопределенные виды контактной информации

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

    См. также:

    - \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/ManagerModule.bsl b/SSL/src/Catalogs/ВидыКонтактнойИнформации/ManagerModule.bsl index 5a5659142..8ee6fee72 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/ManagerModule.bsl +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/ManagerModule.bsl @@ -25,6 +25,9 @@ // Возвращает список реквизитов, которые не нужно редактировать // с помощью обработки группового изменения объектов. // +// Возвращаемое значение: +// Массив - содержит строки имен реквизитов +// Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт Результат = Новый Массив; diff --git a/SSL/src/Catalogs/ВидыКонтактнойИнформации/ВидыКонтактнойИнформации.mdo b/SSL/src/Catalogs/ВидыКонтактнойИнформации/ВидыКонтактнойИнформации.mdo index cbf37831a..9c96f3fee 100644 --- a/SSL/src/Catalogs/ВидыКонтактнойИнформации/ВидыКонтактнойИнформации.mdo +++ b/SSL/src/Catalogs/ВидыКонтактнойИнформации/ВидыКонтактнойИнформации.mdo @@ -489,6 +489,11 @@ ru Форма выбора группы + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Form.form index 03f992289..fb8fcb71a 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Form.form @@ -1,5 +1,335 @@ + + ГруппаПользовательскихНастроек + 165 + true + true + + true + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 166 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 163 + + ЗавершитьИЗакрыть + 98 + true + + true + + + ЗавершитьИЗакрытьExtendedTooltip + 99 + Label + true + true + + Left + + + Form.Command.ЗавершитьИЗакрыть + Auto + true + true + true + UserCmds + Auto + + + ВыбратьГруппуВнешнихПользователей + 67 + + <key>ru</key> + <value>Выбрать группу</value> + + true + true + + true + + false + + ВыбратьГруппуВнешнихПользователейExtendedTooltip + 100 + Label + true + true + + Left + + + Form.Item.ГруппыВнешнихПользователей.StandardCommand.Choose + Normal + PictureAndText + true + true + UserCmds + + StdPicture.ChooseValue + + Auto + + + ВыбратьВнешнегоПользователя + 68 + true + true + + true + + false + + ВыбратьВнешнегоПользователяExtendedTooltip + 101 + Label + true + true + + Left + + + Form.Item.ВнешниеПользователиСписок.StandardCommand.Choose + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьВнешнегоПользователя + 54 + true + true + + true + + false + + СоздатьВнешнегоПользователяExtendedTooltip + 102 + Label + true + true + + Left + + + Form.Item.ВнешниеПользователиСписок.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьГруппуВнешнихПользователей + 55 + true + true + + true + + false + + СоздатьГруппуВнешнихПользователейExtendedTooltip + 103 + Label + true + true + + Left + + + Form.Command.СоздатьГруппуВнешнихПользователей + Normal + Auto + true + true + UserCmds + Auto + + + НазначитьГруппы + 75 + true + true + + true + + + НазначитьГруппыExtendedTooltip + 104 + Label + true + true + + Left + + + Form.Command.НазначитьГруппы + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + КоманднаяПанельВнешниеПользователи + 53 + + СведенияОВнешнихПользователях + 133 + true + true + + true + + false + + СведенияОВнешнихПользователяхРасширеннаяПодсказка + 134 + Label + true + true + + Left + + + Form.Command.СведенияОВнешнихПользователях + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ПользователиИБ + 6 + true + true + + true + + false + + ПользователиИБExtendedTooltip + 107 + Label + true + true + + Left + + + Catalog.Пользователи.Command.ПользователиИБ + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель внешние пользователи</value> + + + ru + Командная панель внешние пользователи + + + КоманднаяПанельВнешниеПользователиExtendedTooltip + 105 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 73 + true + true + + true + + + ФормаСправкаExtendedTooltip + 108 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + КоманднаяПанельРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + CommandBar + + Left + + Группа 24 @@ -22,9 +352,7 @@ false None - CopyToClipboard Delete - OutputList НаименованиеГруппы 30 @@ -125,10 +453,10 @@ ГруппыВнешнихПользователейСтрокаПоиска - 161 + 170 ГруппыВнешнихПользователейСтрокаПоискаРасширеннаяПодсказка - 163 + 172 Label true true @@ -138,7 +466,7 @@ ГруппыВнешнихПользователейСтрокаПоискаКонтекстноеМеню - 162 + 171 true ГруппыВнешнихПользователей @@ -148,10 +476,10 @@ ГруппыВнешнихПользователейСостояниеПросмотра - 164 + 173 ГруппыВнешнихПользователейСостояниеПросмотраРасширеннаяПодсказка - 166 + 175 Label true true @@ -161,7 +489,7 @@ ГруппыВнешнихПользователейСостояниеПросмотраКонтекстноеМеню - 165 + 174 true ViewStatusAddition @@ -172,10 +500,10 @@ ГруппыВнешнихПользователейУправлениеПоиском - 167 + 176 ГруппыВнешнихПользователейУправлениеПоискомРасширеннаяПодсказка - 169 + 178 Label true true @@ -185,7 +513,7 @@ ГруппыВнешнихПользователейУправлениеПоискомКонтекстноеМеню - 168 + 177 true SearchControlAddition @@ -207,6 +535,32 @@ ГруппыВнешнихПользователейКонтекстноеМеню 26 + + ГруппыВнешнихПользователейКонтекстноеМенюВывестиСписок + 161 + true + true + + true + + + ГруппыВнешнихПользователейКонтекстноеМенюВывестиСписокРасширеннаяПодсказка + 162 + Label + true + true + + Left + + + Form.Item.ГруппыВнешнихПользователей.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + true Tree @@ -536,10 +890,10 @@ ВнешниеПользователиСписокСтрокаПоиска - 180 + 189 ВнешниеПользователиСписокСтрокаПоискаРасширеннаяПодсказка - 182 + 191 Label true true @@ -549,7 +903,7 @@ ВнешниеПользователиСписокСтрокаПоискаКонтекстноеМеню - 181 + 190 true ВнешниеПользователиСписок @@ -559,10 +913,10 @@ ВнешниеПользователиСписокСостояниеПросмотра - 183 + 192 ВнешниеПользователиСписокСостояниеПросмотраРасширеннаяПодсказка - 185 + 194 Label true true @@ -572,7 +926,7 @@ ВнешниеПользователиСписокСостояниеПросмотраКонтекстноеМеню - 184 + 193 true ViewStatusAddition @@ -583,10 +937,10 @@ ВнешниеПользователиСписокУправлениеПоиском - 186 + 195 ВнешниеПользователиСписокУправлениеПоискомРасширеннаяПодсказка - 188 + 197 Label true true @@ -596,7 +950,7 @@ ВнешниеПользователиСписокУправлениеПоискомКонтекстноеМеню - 187 + 196 true SearchControlAddition @@ -686,6 +1040,7 @@ true true + ГруппаПользовательскихНастроек
    @@ -973,10 +1328,10 @@ СписокВыбранныхПользователейИГруппСтрокаПоиска - 199 + 208 СписокВыбранныхПользователейИГруппСтрокаПоискаРасширеннаяПодсказка - 201 + 210 Label true true @@ -986,7 +1341,7 @@ СписокВыбранныхПользователейИГруппСтрокаПоискаКонтекстноеМеню - 200 + 209 true СписокВыбранныхПользователейИГрупп @@ -996,10 +1351,10 @@ СписокВыбранныхПользователейИГруппСостояниеПросмотра - 202 + 211 СписокВыбранныхПользователейИГруппСостояниеПросмотраРасширеннаяПодсказка - 204 + 213 Label true true @@ -1009,7 +1364,7 @@ СписокВыбранныхПользователейИГруппСостояниеПросмотраКонтекстноеМеню - 203 + 212 true ViewStatusAddition @@ -1020,10 +1375,10 @@ СписокВыбранныхПользователейИГруппУправлениеПоиском - 205 + 214 СписокВыбранныхПользователейИГруппУправлениеПоискомРасширеннаяПодсказка - 207 + 216 Label true true @@ -1033,7 +1388,7 @@ СписокВыбранныхПользователейИГруппУправлениеПоискомКонтекстноеМеню - 206 + 215 true SearchControlAddition @@ -1190,6 +1545,44 @@ true + + ПоказыватьНедействительныхПользователей + 167 + true + true + + true + + + ПоказыватьНедействительныхПользователей + + Right + + OnChange + ПоказыватьНедействительныхПользователейПриИзменении + + + ПоказыватьНедействительныхПользователейРасширеннаяПодсказка + 169 + Label + true + true + + Left + + + + ПоказыватьНедействительныхПользователейКонтекстноеМеню + 168 + true + + CheckBoxField + Enter + true + Left + true + + true true @@ -1211,7 +1604,6 @@ UsualGroup - Vertical Auto true true @@ -1239,7 +1631,7 @@ Items.ГруппыВнешнихПользователей.CurrentData.Комментарий - None + Top ГруппыВнешнихПользователейКомментарийРасширеннаяПодсказка 143 @@ -1295,10 +1687,8 @@ Vertical Auto - NormalSeparation true true - auto Items.ГруппыВнешнихПользователей.CurrentData.Description @@ -1347,7 +1737,7 @@ Items.ВнешниеПользователиСписок.CurrentData.Комментарий - None + Top ВнешниеПользователиСписокКомментарийРасширеннаяПодсказка 140 @@ -1403,10 +1793,8 @@ Vertical Auto - NormalSeparation true true - auto Items.ВнешниеПользователиСписок.CurrentData.Description @@ -1463,316 +1851,6 @@ ФормаКоманднаяПанель -1 - - ЗавершитьИЗакрыть - 98 - true - - true - - - ЗавершитьИЗакрытьExtendedTooltip - 99 - Label - true - true - - Left - - - Form.Command.ЗавершитьИЗакрыть - Auto - true - true - true - UserCmds - Auto - - - ВыбратьГруппуВнешнихПользователей - 67 - - <key>ru</key> - <value>Выбрать группу</value> - - true - true - - true - - false - - ВыбратьГруппуВнешнихПользователейExtendedTooltip - 100 - Label - true - true - - Left - - - Form.Item.ГруппыВнешнихПользователей.StandardCommand.Choose - Normal - PictureAndText - true - true - UserCmds - - StdPicture.ChooseValue - - Auto - - - ВыбратьВнешнегоПользователя - 68 - true - true - - true - - false - - ВыбратьВнешнегоПользователяExtendedTooltip - 101 - Label - true - true - - Left - - - Form.Item.ВнешниеПользователиСписок.StandardCommand.Choose - Normal - Auto - true - true - UserCmds - Auto - - - СоздатьВнешнегоПользователя - 54 - true - true - - true - - false - - СоздатьВнешнегоПользователяExtendedTooltip - 102 - Label - true - true - - Left - - - Form.Item.ВнешниеПользователиСписок.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - СоздатьГруппуВнешнихПользователей - 55 - true - true - - true - - false - - СоздатьГруппуВнешнихПользователейExtendedTooltip - 103 - Label - true - true - - Left - - - Form.Command.СоздатьГруппуВнешнихПользователей - Normal - Auto - true - true - UserCmds - Auto - - - НазначитьГруппы - 75 - true - true - - true - - - НазначитьГруппыExtendedTooltip - 104 - Label - true - true - - Left - - - Form.Command.НазначитьГруппы - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - КоманднаяПанельВнешниеПользователи - 53 - - ПоказыватьНедействительныхПользователей - 74 - - <key>ru</key> - <value>Показывать недействительных внешних пользователей</value> - - true - true - - true - - - ПоказыватьНедействительныхПользователейExtendedTooltip - 106 - Label - true - true - - Left - - - Form.Command.ПоказыватьНедействительныхПользователей - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СведенияОВнешнихПользователях - 133 - true - true - - true - - false - - СведенияОВнешнихПользователяхРасширеннаяПодсказка - 134 - Label - true - true - - Left - - - Form.Command.СведенияОВнешнихПользователях - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ПользователиИБ - 6 - true - true - - true - - false - - ПользователиИБExtendedTooltip - 107 - Label - true - true - - Left - - - Catalog.Пользователи.Command.ПользователиИБ - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Командная панель внешние пользователи</value> - - - ru - Командная панель внешние пользователи - - - КоманднаяПанельВнешниеПользователиExtendedTooltip - 105 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 73 - true - true - - true - - - ФормаСправкаExtendedTooltip - 108 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -1938,7 +2016,7 @@ ВыбиратьИерархически <key>ru</key> - <value>Показывать внешних пользователей дочерних групп</value> + <value>Показывать пользователей нижестоящих групп</value> 3 @@ -2079,6 +2157,23 @@ true + + ПоказыватьНедействительныхПользователей + + <key>ru</key> + <value>Показывать недействительных пользователей</value> + + 7 + + Boolean + + + true + + + true + + СоздатьГруппуВнешнихПользователей @@ -2104,28 +2199,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>ПоказыватьНедействительныхПользователей</name> - <title> - <key>ru</key> - <value>Показывать недействительных пользователей</value> - - 1 - - ru - Показывать недействительных пользователей - - - true - - - - ПоказыватьНедействительныхПользователей - - - Auto - Auto - НазначитьГруппы diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Module.bsl index 6f6447a7e..52f73e490 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаСписка/Module.bsl @@ -83,7 +83,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ВнешниеПользователиСписок, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Элементы.ВнешниеПользователиСписок.РежимВыбора = Истина; Элементы.ГруппыВнешнихПользователей.РежимВыбора = @@ -125,7 +125,6 @@ ХранимыеПараметры.Вставить("ТекущаяСтрока", Параметры.ТекущаяСтрока); НастроитьФормуПоИспользованиюГруппПользователей(); ХранимыеПараметры.Удалить("ТекущаяСтрока"); - КонецПроцедуры &НаКлиенте @@ -147,9 +146,11 @@ Элементы.ВнешниеПользователиСписок.Обновить(); ОбновитьСодержимоеФормыПриИзмененииГруппы(ЭтотОбъект); - ИначеЕсли ВРег(ИмяСобытия) = ВРег("Запись_ИспользоватьГруппыПользователей") Тогда + ИначеЕсли ВРег(ИмяСобытия) = ВРег("Запись_НаборКонстант") Тогда - ПодключитьОбработчикОжидания("ПриИзмененииИспользованияГруппПользователей", 0.1, Истина); + Если ВРег(Источник) = ВРег("ИспользоватьГруппыПользователей") Тогда + ПодключитьОбработчикОжидания("ПриИзмененииИспользованияГруппПользователей", 0.1, Истина); + КонецЕсли; ИначеЕсли ВРег(ИмяСобытия) = ВРег("РазмещениеПользователейВГруппах") Тогда @@ -183,6 +184,11 @@ КонецПроцедуры +&НаКлиенте +Процедура ПоказыватьНедействительныхПользователейПриИзменении(Элемент) + ПереключитьОтображениеНедействительныхПользователей(ПоказыватьНедействительныхПользователей); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыГруппыВнешнихПользователей @@ -407,18 +413,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ПоказыватьНедействительныхПользователей(Команда) - - Элементы.ПоказыватьНедействительныхПользователей.Пометка = - НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка; - - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - ВнешниеПользователиСписок, "Недействителен", Ложь, , , - НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка); - -КонецПроцедуры - &НаКлиенте Процедура НазначитьГруппы(Команда) @@ -689,7 +683,9 @@ Если ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей") Тогда Элементы.ГруппыИПользователи.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; Элементы.ГруппыИПользователи.ШиринаПодчиненныхЭлементов = ШиринаПодчиненныхЭлементовФормы.Одинаковая; - ЭтотОбъект.Высота = 25; + Элементы.ВнешниеПользователиСписок.Высота = 5; + Элементы.ГруппыВнешнихПользователей.Высота = 3; + ЭтотОбъект.Высота = 17; Элементы.ГруппаВыбратьГруппу.Видимость = Истина; // Включение отображения заголовков списков ПользователиСписок и ГруппыПользователей. Элементы.ГруппыВнешнихПользователей.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх; @@ -794,7 +790,7 @@ КонецЕсли; КонецЕсли; - Элементы.ГруппаПоказыватьВнешнихПользователейДочернихГрупп.Видимость = + Элементы.ВыбиратьИерархически.Видимость = ХранимыеПараметры.ИспользоватьГруппы; Если ХранимыеПараметры.РасширенныйПодбор Тогда @@ -879,6 +875,15 @@ КонецФункции +&НаКлиенте +Процедура ПереключитьОтображениеНедействительныхПользователей(ПоказатьНедействительных) + + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + ВнешниеПользователиСписок, "Недействителен", Ложь, , , + НЕ ПоказатьНедействительных); + +КонецПроцедуры + &НаКлиентеНаСервереБезКонтекста Процедура ОбновитьСодержимоеФормыПриИзмененииГруппы(Форма) diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Form.form index 3cab0c5ac..d63a12c9c 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Form.form @@ -139,7 +139,7 @@ <type>UsualGroup</type> <extInfo xsi:type="form:UsualGroupExtInfo"> <behavior>Auto</behavior> - <representation>StrongSeparation</representation> + <representation>NormalSeparation</representation> <showLeftMargin>true</showLeftMargin> <united>true</united> <throughAlign>Auto</throughAlign> @@ -243,10 +243,6 @@ <key>ru</key> <value>Сопоставление обработка несоответствия</value> - - ru - Сопоставление обработка несоответствия - true false @@ -262,31 +258,113 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto Auto - - ОбъектАвторизации - 164 + + ГруппаШапка + 287 + + ОбъектАвторизации + 164 + true + true + + true + + + Объект.ОбъектАвторизации + + + OnChange + ОбъектАвторизацииПриИзменении + + + ОбъектАвторизацииExtendedTooltip + 202 + Label + true + true + + Left + + + + ОбъектАвторизацииКонтекстноеМеню + 165 + true + + InputField + Enter + true + Left + true + + 45 + true + true + true + true + true + true + Normal + + + + Недействителен + 190 + true + true + + true + + + Объект.Недействителен + + Right + Button + + OnChange + НедействителенПриИзменении + + + НедействителенExtendedTooltip + 203 + Label + true + true + + Left + + + + НедействителенКонтекстноеМеню + 191 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Объект.ОбъектАвторизации - - - OnChange - ОбъектАвторизацииПриИзменении - + + <key>ru</key> + <value>Группа шапка</value> + - ОбъектАвторизацииExtendedTooltip - 202 + ГруппаШапкаРасширеннаяПодсказка + 288 Label true true @@ -294,66 +372,15 @@ Left - - ОбъектАвторизацииКонтекстноеМеню - 165 - true - - InputField - Enter - true - Left - true - - 45 - true - true - false - true - true - true - true - Normal + UsualGroup + + Auto + true + true + Auto + Auto - - Недействителен - 190 - true - true - - true - - - Объект.Недействителен - - Right - - OnChange - НедействителенПриИзменении - - - НедействителенExtendedTooltip - 203 - Label - true - true - - Left - - - - НедействителенКонтекстноеМеню - 191 - true - - CheckBoxField - Enter - true - Left - true - - ГруппаВходВПрограммуРазрешен 264 @@ -471,35 +498,184 @@ - СвойстваПользователяИБ - 65 + СтраницыГлавноеИКомментарий + 281 - ОсновныеСвойства - 75 + СтраницаГлавное + 283 - ИмяПереключениеОтметкиНезаполненного - 238 + СвойстваПользователяИБ + 65 - ИмяСОтметкойНезаполненного - 240 - - ПользовательИнфБазыИмя1 - 242 + ОсновныеСвойства + 75 + + ИмяПереключениеОтметкиНезаполненного + 238 + + ИмяСОтметкойНезаполненного + 240 + + ПользовательИнфБазыИмя1 + 242 + true + true + + true + + + ПользовательИнфБазыИмя + + + OnChange + ПользовательИнфБазыИмяПриИзменении + + + ПользовательИнфБазыИмя1РасширеннаяПодсказка + 244 + Label + true + true + + Left + + + + ПользовательИнфБазыИмя1КонтекстноеМеню + 243 + true + + InputField + true + Enter + true + Left + true + + 23 + true + true + false + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Имя с отметкой незаполненного</value> + + + ИмяСОтметкойНезаполненногоРасширеннаяПодсказка + 241 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + ИмяБезОтметкиНезаполненного + 245 + + ПользовательИнфБазыИмя2 + 247 + true + true + + true + + + ПользовательИнфБазыИмя + + + OnChange + ПользовательИнфБазыИмяПриИзменении + + + ПользовательИнфБазыИмя2РасширеннаяПодсказка + 249 + Label + true + true + + Left + + + + ПользовательИнфБазыИмя2КонтекстноеМеню + 248 + true + + InputField + Enter + true + Left + true + + 26 + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Имя без отметки незаполненного</value> + + + ИмяБезОтметкиНезаполненногоРасширеннаяПодсказка + 246 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true true - - ПользовательИнфБазыИмя - - - OnChange - ПользовательИнфБазыИмяПриИзменении - + + <key>ru</key> + <value>Имя (переключение отметки незаполненного)</value> + - ПользовательИнфБазыИмя1РасширеннаяПодсказка - 244 + ИмяПереключениеОтметкиНезаполненногоРасширеннаяПодсказка + 239 Label true true @@ -507,222 +683,300 @@ Left - - ПользовательИнфБазыИмя1КонтекстноеМеню - 243 - true - - InputField - true - Enter - true - Left - true - - 26 - true - true - true - true - true - true - true - true - Normal + Pages + + Auto - true - true - - true - - - <key>ru</key> - <value>Имя с отметкой незаполненного</value> - - - ИмяСОтметкойНезаполненногоРасширеннаяПодсказка - 241 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ИмяБезОтметкиНезаполненного - 245 - - ПользовательИнфБазыИмя2 - 247 - true - true - - true - - - ПользовательИнфБазыИмя - - - OnChange - ПользовательИнфБазыИмяПриИзменении - - - ПользовательИнфБазыИмя2РасширеннаяПодсказка - 249 - Label - true - true - - Left - - - - ПользовательИнфБазыИмя2КонтекстноеМеню - 248 - true - - InputField - Enter - true - Left - true - - 26 - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Имя без отметки незаполненного</value> - - - ИмяБезОтметкиНезаполненногоРасширеннаяПодсказка - 246 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Имя (переключение отметки незаполненного)</value> - - - ИмяПереключениеОтметкиНезаполненногоРасширеннаяПодсказка - 239 - Label - true - true - - Left - - - Pages - - Auto - - - - СвойстваАутентификации1СПредприятия - 193 - - ПользовательИнфБазыАутентификацияСтандартная - 194 - true - true - - true - - - ПользовательИнфБазыАутентификацияСтандартная - - Right - - ru - Способ входа в программу с помощью имени и пароля, + + СвойстваАутентификации1СПредприятия + 193 + + ПользовательИнфБазыАутентификацияСтандартная + 194 + true + true + + true + + + ПользовательИнфБазыАутентификацияСтандартная + + Right + + ru + Способ входа в программу с помощью имени и пароля, указанного для пользователя 1С:Предприятия. - - - OnChange - ПользовательИнфБазыАутентификацияСтандартнаяПриИзменении - - - ПользовательИнфБазыАутентификацияСтандартнаяРасширеннаяПодсказка - 209 - Label - true - true - - Left - - - - ПользовательИнфБазыАутентификацияСтандартнаяКонтекстноеМеню - 195 - true - - CheckBoxField - Enter - true - Left - true - Left - - - - СвойстваПараметрыАутентификации1СПредприятия - 196 - - Пароль - 21 + + + OnChange + ПользовательИнфБазыАутентификацияСтандартнаяПриИзменении + + + ПользовательИнфБазыАутентификацияСтандартнаяРасширеннаяПодсказка + 209 + Label + true + true + + Left + + + + ПользовательИнфБазыАутентификацияСтандартнаяКонтекстноеМеню + 195 + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ГруппаОтступ + 274 + + Отступ + 276 + true + true + + true + + + ОтступРасширеннаяПодсказка + 278 + Label + true + true + + Left + + + + ОтступКонтекстноеМеню + 277 + true + + Label + true + true + + Left + + + + СвойстваПараметрыАутентификации1СПредприятия + 196 + + Пароль + 21 + true + true + + true + + + Пароль + + + OnChange + ПарольПриИзменении + + + ПарольExtendedTooltip + 211 + Label + true + true + + Left + + + + ПарольКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + Left + + 14 + true + true + false + true + true + true + true + + Style.BorderColor + + Normal + + + + ПодтверждениеПароля + 23 + true + true + + true + + + ПодтверждениеПароля + + + OnChange + ПарольПриИзменении + + + ПодтверждениеПароляExtendedTooltip + 212 + Label + true + true + + Left + + + + ПодтверждениеПароляКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + Left + + 14 + true + true + false + true + true + true + true + + Style.BorderColor + + Normal + + + + ПользовательИнфБазыЗапрещеноИзменятьПароль + 51 + true + true + + true + + + ПользовательИнфБазыЗапрещеноИзменятьПароль + + Right + + OnChange + ПользовательИнфБазыЗапрещеноИзменятьПарольПриИзменении + + + ПользовательИнфБазыЗапрещеноИзменятьПарольExtendedTooltip + 213 + Label + true + true + + Left + + + + ПользовательИнфБазыЗапрещеноИзменятьПарольКонтекстноеМеню + 52 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Аутентификация 1С:Предприятия</value> + + true + + СвойстваПараметрыАутентификации1СПредприятияExtendedTooltip + 210 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа отступ</value> + + + ГруппаОтступРасширеннаяПодсказка + 275 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + true true true - - Пароль - - - OnChange - ПарольПриИзменении - - ПарольExtendedTooltip - 211 + СвойстваАутентификации1СПредприятияExtendedTooltip + 208 Label true true @@ -730,50 +984,71 @@ Left - - ПарольКонтекстноеМеню - 22 - true - - InputField - Enter - true - Left - true - Left - - 14 - true - true - false - true - true - true - true - - Style.BorderColor - - Normal + UsualGroup + + Vertical + Auto + true + true + Auto + Auto - - ПодтверждениеПароля - 23 + + СвойстваАутентификацииOpenID + 279 + + ПользовательИнфБазыАутентификацияOpenID + 197 + true + true + + true + + + ПользовательИнфБазыАутентификацияOpenID + + Right + + ru + Способ входа в программу с помощью имени, указанного для пользователя 1С:Предприятия, +которое передается службе аутентификации по протоколу OpenID. +Используется только при подключении через веб-сервер (адрес службы должен быть настроен). + + + OnChange + ПользовательИнфБазыАутентификацияOpenIDПриИзменении + + + ПользовательИнфБазыАутентификацияOpenIDРасширеннаяПодсказка + 214 + Label + true + true + + Left + + + + ПользовательИнфБазыАутентификацияOpenIDКонтекстноеМеню + 198 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - ПодтверждениеПароля - - - OnChange - ПарольПриИзменении - - ПодтверждениеПароляExtendedTooltip - 212 + СвойстваАутентификацииOpenIDРасширеннаяПодсказка + 280 Label true true @@ -781,51 +1056,74 @@ Left - - ПодтверждениеПароляКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - Left - - 14 - true - true - false - true - true - true - true - - Style.BorderColor - - Normal + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto - - ПользовательИнфБазыЗапрещеноИзменятьПароль - 51 + + ГруппаПредставлениеЯзыка + 192 + + ПользовательИнфБазыЯзык + 33 + true + true + + true + + + ПользовательИнфБазыЯзык + + + ПользовательИнфБазыЯзыкExtendedTooltip + 216 + Label + true + true + + Left + + + + ПользовательИнфБазыЯзыкКонтекстноеМеню + 34 + true + + InputField + Enter + true + Left + true + Left + + 14 + true + true + false + true + true + true + + Style.BorderColor + + Normal + + true true true - - ПользовательИнфБазыЗапрещеноИзменятьПароль - - Right - - OnChange - ПользовательИнфБазыЗапрещеноИзменятьПарольПриИзменении - - ПользовательИнфБазыЗапрещеноИзменятьПарольExtendedTooltip - 213 + ГруппаПредставлениеЯзыкаExtendedTooltip + 215 Label true true @@ -833,17 +1131,15 @@ Left - - ПользовательИнфБазыЗапрещеноИзменятьПарольКонтекстноеМеню - 52 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + true true @@ -852,12 +1148,506 @@ <key>ru</key> - <value>Аутентификация 1С:Предприятия</value> + <value>Основные свойства</value> - true + 36 + true - СвойстваПараметрыАутентификации1СПредприятияExtendedTooltip - 210 + ОсновныеСвойстваExtendedTooltip + 206 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + РедактированиеИлиПросмотрРолей + 168 + + УстановитьРолиНепосредственно + 166 + true + true + + true + + + Объект.УстановитьРолиНепосредственно + + Right + + OnChange + УстановитьРолиНепосредственноПриИзменении + + + УстановитьРолиНепосредственноExtendedTooltip + 218 + Label + true + true + + Left + + + + УстановитьРолиНепосредственноКонтекстноеМеню + 167 + true + + CheckBoxField + Enter + true + Left + true + + + + ОтображениеРолей + 103 + + Роли + 174 + + <key>ru</key> + <value>Разрешенные действия (роли)</value> + + true + true + + true + + + Роли + + false + None + Add + Change + Copy + Delete + EndEdit + HierarchicalList + List + MoveDown + MoveUp + SortListAsc + SortListDesc + Tree + + РолиКолонок + 177 + + РолиПометка + 185 + true + true + + true + + + Роли.Пометка + + + OnChange + РолиПометкаПриИзменении + + + РолиПометкаExtendedTooltip + 226 + Label + true + true + + Left + + + + РолиПометкаКонтекстноеМеню + 186 + true + + CheckBoxField + Left + true + + + + РолиСиноним + 187 + true + true + + true + + + Роли.Синоним + + + РолиСинонимExtendedTooltip + 227 + Label + true + true + + Left + + + + РолиСинонимКонтекстноеМеню + 188 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Роли колонок</value> + + + РолиКолонокExtendedTooltip + 225 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + РолиКоманднаяПанель + 176 + + РолиУстановитьФлажки + 182 + true + true + + true + + false + + РолиУстановитьФлажкиExtendedTooltip + 220 + Label + true + true + + Left + + + Form.Command.ВключитьРоли + Normal + Auto + true + true + UserCmds + Auto + + + РолиСнятьФлажки + 183 + true + true + + true + + false + + РолиСнятьФлажкиExtendedTooltip + 221 + Label + true + true + + Left + + + Form.Command.ИсключитьРоли + Normal + Auto + true + true + UserCmds + Auto + + + РолиПоказатьТолькоВыбранныеРоли + 184 + true + true + + true + + false + + РолиПоказатьТолькоВыбранныеРолиExtendedTooltip + 222 + Label + true + true + + Left + + + Form.Command.ПоказатьТолькоВыбранныеРоли + Normal + Auto + true + true + UserCmds + Auto + + + РолиПоказатьПодсистемыРолей + 189 + true + true + + true + + + РолиПоказатьПодсистемыРолейExtendedTooltip + 223 + Label + true + true + + Left + + + Form.Command.ГруппировкаРолейПоПодсистемам + Normal + Auto + true + true + UserCmds + Auto + + + РолиСтандартныеКоманды + 289 + true + true + + true + + + <key>ru</key> + <value>Роли стандартные команды</value> + + + РолиСтандартныеКомандыРасширеннаяПодсказка + 290 + Label + true + true + + Left + + + + Item.Роли + + + Left + + + РолиСтрокаПоиска + 303 + + РолиСтрокаПоискаРасширеннаяПодсказка + 305 + Label + true + true + + Left + + + + РолиСтрокаПоискаКонтекстноеМеню + 304 + true + + Роли + + true + + + + РолиСостояниеПросмотра + 306 + + РолиСостояниеПросмотраРасширеннаяПодсказка + 308 + Label + true + true + + Left + + + + РолиСостояниеПросмотраКонтекстноеМеню + 307 + true + + ViewStatusAddition + Роли + + true + + + + РолиУправлениеПоиском + 309 + + РолиУправлениеПоискомРасширеннаяПодсказка + 311 + Label + true + true + + Left + + + + РолиУправлениеПоискомКонтекстноеМеню + 310 + true + + SearchControlAddition + Роли + + true + + + + РолиExtendedTooltip + 224 + Label + true + true + + Left + + + + РолиКонтекстноеМеню + 175 + + Tree + true + true + true + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandAllLevels + true + true + true + true + + Роли.НомерКартинки + + + CommonPicture.ПиктограммыЭлементов + + None + None + None + true + + true + true + + true + + + <key>ru</key> + <value>Список ролей</value> + + + ОтображениеРолейExtendedTooltip + 219 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Редактирование или просмотр ролей</value> + + + ru + Редактирование или просмотр ролей + + + РедактированиеИлиПросмотрРолейExtendedTooltip + 217 Label true true @@ -869,7 +1659,6 @@ Vertical Auto - StrongSeparation true true Auto @@ -881,127 +1670,14 @@ true - - СвойстваАутентификации1СПредприятияExtendedTooltip - 208 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ПользовательИнфБазыАутентификацияOpenID - 197 - true - true - - true - - - ПользовательИнфБазыАутентификацияOpenID - - Right - + <key>ru</key> - <value>Способ входа в программу с помощью имени, указанного для пользователя 1С:Предприятия, -которое передается службе аутентификации по протоколу OpenID. -Используется только при подключении через веб-сервер (адрес службы должен быть настроен).</value> - </toolTip> - <handlers> - <event>OnChange</event> - <name>ПользовательИнфБазыАутентификацияOpenIDПриИзменении</name> - </handlers> + <value>Свойства пользователя информационной базы</value> + + true - ПользовательИнфБазыАутентификацияOpenIDРасширеннаяПодсказка - 214 - Label - true - true - - Left - - - - ПользовательИнфБазыАутентификацияOpenIDКонтекстноеМеню - 198 - true - - CheckBoxField - Enter - true - Left - true - - - - ГруппаПредставлениеЯзыка - 192 - - ПользовательИнфБазыЯзык - 33 - true - true - - true - - - ПользовательИнфБазыЯзык - - - ПользовательИнфБазыЯзыкExtendedTooltip - 216 - Label - true - true - - Left - - - - ПользовательИнфБазыЯзыкКонтекстноеМеню - 34 - true - - InputField - Enter - true - Left - true - Left - - 14 - true - true - false - true - true - true - - Style.BorderColor - - Normal - - - true - true - - true - - - ГруппаПредставлениеЯзыкаExtendedTooltip - 215 + СвойстваПользователяИБExtendedTooltip + 205 Label true true @@ -1011,7 +1687,6 @@ UsualGroup - Vertical Auto NormalSeparation true @@ -1027,13 +1702,11 @@ <key>ru</key> - <value>Основные свойства</value> + <value>Главное</value> - 36 - true - ОсновныеСвойстваExtendedTooltip - 206 + СтраницаГлавноеРасширеннаяПодсказка + 284 Label true true @@ -1041,38 +1714,30 @@ Left - UsualGroup - + Page + Vertical - Auto - true - true - Auto - Auto + auto - РедактированиеИлиПросмотрРолей - 168 + СтраницаКомментарий + 285 - УстановитьРолиНепосредственно - 166 + Комментарий + 257 true true true - Объект.УстановитьРолиНепосредственно + Объект.Комментарий - Right - - OnChange - УстановитьРолиНепосредственноПриИзменении - + None - УстановитьРолиНепосредственноExtendedTooltip - 218 + КомментарийExtendedTooltip + 259 Label true true @@ -1081,413 +1746,29 @@
    - УстановитьРолиНепосредственноКонтекстноеМеню - 167 + КомментарийКонтекстноеМеню + 258 true - CheckBoxField + InputField Enter true Left true - - - - ОтображениеРолей - 103 - - Роли - 174 - - <key>ru</key> - <value>Разрешенные действия (роли)</value> - - true - true - - true - - - Роли - - false - None - Add - Copy - CopyToClipboard - Delete - EndEdit - HierarchicalList - List - MoveDown - MoveUp - OutputList - SortListAsc - SortListDesc - Tree - - РолиКолонок - 177 - - РолиПометка - 185 - true - true - - true - - - Роли.Пометка - - - OnChange - РолиПометкаПриИзменении - - - РолиПометкаExtendedTooltip - 226 - Label - true - true - - Left - - - - РолиПометкаКонтекстноеМеню - 186 - true - - CheckBoxField - Left - true - - - - РолиСиноним - 187 - true - true - - true - - - Роли.Синоним - - - РолиСинонимExtendedTooltip - 227 - Label - true - true - - Left - - - - РолиСинонимКонтекстноеМеню - 188 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Роли колонок</value> - - - ru - Роли колонок - - - РолиКолонокExtendedTooltip - 225 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - РолиКоманднаяПанель - 176 - - РолиУстановитьФлажки - 182 - true - true - - true - - false - - РолиУстановитьФлажкиExtendedTooltip - 220 - Label - true - true - - Left - - - Form.Command.ВключитьРоли - Normal - Auto - true - true - UserCmds - Auto - - - РолиСнятьФлажки - 183 - true - true - - true - - false - - РолиСнятьФлажкиExtendedTooltip - 221 - Label - true - true - - Left - - - Form.Command.ИсключитьРоли - Normal - Auto - true - true - UserCmds - Auto - - - РолиПоказатьТолькоВыбранныеРоли - 184 - true - true - - true - - false - - РолиПоказатьТолькоВыбранныеРолиExtendedTooltip - 222 - Label - true - true - - Left - - - Form.Command.ПоказатьТолькоВыбранныеРоли - Normal - Auto - true - true - UserCmds - Auto - - - РолиПоказатьПодсистемыРолей - 189 - true - true - - true - - - РолиПоказатьПодсистемыРолейExtendedTooltip - 223 - Label - true - true - - Left - - - Form.Command.ГруппировкаРолейПоПодсистемам - Normal - Auto - true - true - UserCmds - Auto - - Left - - - РолиСтрокаПоиска - 284 - - РолиСтрокаПоискаРасширеннаяПодсказка - 286 - Label - true - true - - Left - - - - РолиСтрокаПоискаКонтекстноеМеню - 285 - true - - Роли - - true - - - - РолиСостояниеПросмотра - 287 - - РолиСостояниеПросмотраРасширеннаяПодсказка - 289 - Label - true - true - - Left - - - - РолиСостояниеПросмотраКонтекстноеМеню - 288 - true - - ViewStatusAddition - Роли - - true - - - - РолиУправлениеПоиском - 290 - - РолиУправлениеПоискомРасширеннаяПодсказка - 292 - Label - true - true - - Left - - - - РолиУправлениеПоискомКонтекстноеМеню - 291 - true - - SearchControlAddition - Роли - - true - - - - РолиExtendedTooltip - 224 - Label - true - true - - Left - - - - РолиКонтекстноеМеню - 175 - - Tree + + + StartChoice + КомментарийНачалоВыбора + true true - true - 1 - 1 - AutoUse - AutoUse - true - true - true - Auto - Auto - ExpandAllLevels - true true - true - true - - Роли.НомерКартинки - - - CommonPicture.ПиктограммыЭлементов - - None - None - None - true - - true - true - - true - - - <key>ru</key> - <value>Список ролей</value> - - - ОтображениеРолейExtendedTooltip - 219 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + true + true + true + true + true + Normal true @@ -1497,15 +1778,11 @@ <key>ru</key> - <value>Редактирование или просмотр ролей</value> + <value>Комментарий</value> - - ru - Редактирование или просмотр ролей - - РедактированиеИлиПросмотрРолейExtendedTooltip - 217 + СтраницаКомментарийРасширеннаяПодсказка + 286 Label true true @@ -1513,14 +1790,10 @@ Left - UsualGroup - + Page + Vertical - Auto - true - true - Auto - Auto + auto true @@ -1530,12 +1803,11 @@ <key>ru</key> - <value>Свойства пользователя информационной базы</value> + <value>Страницы главное и комментарий</value> - true - СвойстваПользователяИБExtendedTooltip - 205 + СтраницыГлавноеИКомментарийРасширеннаяПодсказка + 282 Label true true @@ -1543,66 +1815,12 @@ Left - UsualGroup - - Auto - StrongSeparation - true - true - Auto + Pages + + TabsOnTop Auto - - Комментарий - 257 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 259 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 258 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - false - true - true - true - true - true - true - Normal - - ФормаКоманднаяПанель -1 @@ -2269,6 +2487,23 @@ true + + ВходВПрограммуРазрешенЗначениеПрямогоИзменения + + <key>ru</key> + <value>Вход в программу разрешен значение прямого изменения</value> + + 28 + + Boolean + + + true + + + true + + ПоказатьТолькоВыбранныеРоли diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Help/ru.html index a408b557c..5904491c3 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Описание свойств внешнего пользователя.</p> <p>Для <a href="#1">ввода или редактирования</a> сведений о внешнем пользователе необходимы права администрирования или права ответственного за список <a href="Catalog.ВнешниеПользователи/Help">внешних пользователей</a>. </p> <p><a href="#2">Вход в программу</a> разрешает только администратор. </p> diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl index 4cb735c80..c7abddc21 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ВнешниеПользователи/Forms/ФормаЭлемента/Module.bsl @@ -59,6 +59,7 @@ КонецЕсли; Если Не УровеньДоступа.ПолныеПрава Тогда ВходВПрограммуРазрешен = Ложь; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Ложь; КонецЕсли; Иначе // Добавление элемента. @@ -85,6 +86,7 @@ Если УровеньДоступа.ПолныеПрава Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; КонецЕсли; КонецЕсли; @@ -320,6 +322,10 @@ Если Объект.Недействителен Тогда ВходВПрограммуРазрешен = Ложь; + Иначе + ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения + И (ПользовательИнфБазыАутентификацияOpenID + Или ПользовательИнфБазыАутентификацияСтандартная); КонецЕсли; УстановитьДоступностьСвойств(); @@ -356,6 +362,8 @@ НСтр("ru = 'После записи вход в программу сможет разрешить только администратор.'")); КонецЕсли; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = ВходВПрограммуРазрешен; + КонецПроцедуры &НаКлиенте @@ -507,11 +515,13 @@ УстановитьДоступностьСвойств(); - Если ВходВПрограммуРазрешен - И НЕ ПользовательИнфБазыАутентификацияOpenID + Если НЕ ПользовательИнфБазыАутентификацияOpenID И НЕ ПользовательИнфБазыАутентификацияСтандартная Тогда ВходВПрограммуРазрешен = Ложь; + + ИначеЕсли Не ВходВПрограммуРазрешен Тогда + ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения; КонецЕсли; КонецПроцедуры @@ -729,8 +739,9 @@ ПрочитанныеСвойства = Неопределено; ОписаниеПользователяИБ = НачальноеОписаниеПользователяИБ(); ПользовательИБСуществует = Ложь; - ВходВПрограммуРазрешен = Ложь; ПользовательИБОсновной = Ложь; + ВходВПрограммуРазрешен = Ложь; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Ложь; Если ПриКопированииЭлемента Тогда @@ -741,6 +752,7 @@ // Сопоставление пользователя ИБ с пользователем в справочнике. Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; // Копирование свойств и ролей пользователяИБ. @@ -792,6 +804,7 @@ Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; ЗаполнитьЗначенияСвойств( diff --git a/SSL/src/Catalogs/ВнешниеПользователи/Help/ru.html b/SSL/src/Catalogs/ВнешниеПользователи/Help/ru.html index 7a2cd872a..64b7bed4e 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/Help/ru.html +++ b/SSL/src/Catalogs/ВнешниеПользователи/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Предназначен для ведения пользователей, которые работают с программой "извне". Их доступ, как правило, сильно ограничен. Внешние пользователи не принимают активного участия в процессах учета, работают обособленно, не взаимодействуют между собой. Например, это сотрудники в кадровой базе, покупатели в интернет-магазине, респонденты в базе для анкетирования.</p> <p>Открыть список внешних пользователей можно из раздела <strong>Администрирование - Настройки пользователей и прав</strong>. Также можно его открыть из раздела <strong>Анкетирование</strong> (<strong>Управление доступом</strong>).</p> <p>Внешние пользователи программы разного типа, поэтому информация о них хранится в различных списках программы.</p> diff --git a/SSL/src/Catalogs/ВнешниеПользователи/ManagerModule.bsl b/SSL/src/Catalogs/ВнешниеПользователи/ManagerModule.bsl index d3ece6d30..bb4471f43 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/ManagerModule.bsl +++ b/SSL/src/Catalogs/ВнешниеПользователи/ManagerModule.bsl @@ -19,6 +19,17 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ВнешниеПользователи/ObjectModule.bsl b/SSL/src/Catalogs/ВнешниеПользователи/ObjectModule.bsl index a2bb7161d..0d9d5d1bc 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/ObjectModule.bsl +++ b/SSL/src/Catalogs/ВнешниеПользователи/ObjectModule.bsl @@ -6,6 +6,8 @@ // // ОписаниеПользователяИБ - Структура, как и в модуле объекта справочника Пользователи. +#КонецОбласти + //////////////////////////////////////////////////////////////////////////////// // СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ @@ -18,8 +20,6 @@ Перем СтарыйОбъектАвторизации; // Значений объекта авторизации до изменения. // Используются в обработчике события ПриЗаписи. -#КонецОбласти - #Область ОбработчикиСобытий Процедура ПередЗаписью(Отказ) diff --git a/SSL/src/Catalogs/ВнешниеПользователи/ВнешниеПользователи.mdo b/SSL/src/Catalogs/ВнешниеПользователи/ВнешниеПользователи.mdo index ce023f2ea..2b4ece1bc 100644 --- a/SSL/src/Catalogs/ВнешниеПользователи/ВнешниеПользователи.mdo +++ b/SSL/src/Catalogs/ВнешниеПользователи/ВнешниеПользователи.mdo @@ -134,8 +134,9 @@ </type> <toolTip> <key>ru</key> - <value>Внешний пользователь недействителен, оставлен для истории, -его не требуется выбирать в документах и других местах.</value> + <value>Внешний пользователь больше не работает в программе, но сведения о нем сохранены. +Недействительные внешние пользователи скрываются из всех списков +при выборе или подборе в документах и других местах программы.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> @@ -303,7 +304,6 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:StringValue"/> - <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> <forms uuid="9dc3a563-11bb-40a7-8431-c1d4367ccbaf"> diff --git a/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ManagerModule.bsl b/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ManagerModule.bsl index f1939cab7..1bd12661e 100644 --- a/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ManagerModule.bsl +++ b/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ManagerModule.bsl @@ -12,7 +12,6 @@ Результат = Новый Массив; Результат.Добавить("Обязательный"); - Результат.Добавить("ВысотаЭлементаФормулировкиВопроса"); Результат.Добавить("Заметки"); Возврат Результат; diff --git a/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ВопросыШаблонаАнкеты.mdo b/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ВопросыШаблонаАнкеты.mdo index d6b5eab4a..e8a1f5382 100644 --- a/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ВопросыШаблонаАнкеты.mdo +++ b/SSL/src/Catalogs/ВопросыШаблонаАнкеты/ВопросыШаблонаАнкеты.mdo @@ -256,29 +256,6 @@ <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> - <attributes uuid="79a0746b-4dbe-4068-8832-4d0da08d6fd3"> - <name>ВысотаЭлементаФормулировкиВопроса</name> - <synonym> - <key>ru</key> - <value>Высота элемента формулировки вопроса</value> - </synonym> - <type> - <types>Number</types> - <numberQualifiers> - <precision>2</precision> - <nonNegative>true</nonNegative> - </numberQualifiers> - </type> - <toolTip> - <key>ru</key> - <value>Возможность установить фиксированную высоту элемента формулировки вопроса, для корректного отображения при формировании формы анкеты</value> - </toolTip> - <minValue xsi:type="core:UndefinedValue"/> - <maxValue xsi:type="core:UndefinedValue"/> - <fillValue xsi:type="core:UndefinedValue"/> - <fullTextSearch>Use</fullTextSearch> - <dataHistory>Use</dataHistory> - </attributes> <attributes uuid="899f1526-d6bc-42ef-852e-7297a06db9e3"> <name>Заметки</name> <synonym> diff --git a/SSL/src/Catalogs/ВстречаПрисоединенныеФайлы/ВстречаПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/ВстречаПрисоединенныеФайлы/ВстречаПрисоединенныеФайлы.mdo index 3b1339612..d0609165d 100644 --- a/SSL/src/Catalogs/ВстречаПрисоединенныеФайлы/ВстречаПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/ВстречаПрисоединенныеФайлы/ВстречаПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> - <createOnInput>Use</createOnInput> + <createOnInput>DontUse</createOnInput> <dataLockControlMode>Managed</dataLockControlMode> <fullTextSearch>Use</fullTextSearch> <objectPresentation> @@ -115,7 +115,6 @@ <key>ru</key> <value>Автор</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -180,7 +179,6 @@ <key>ru</key> <value>Дата создания</value> </synonym> - <comment>Дата добавления файла в базу</comment> <type> <types>Date</types> <dateQualifiers/> @@ -223,7 +221,6 @@ <key>ru</key> <value>Изменил</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -247,7 +244,6 @@ <key>ru</key> <value>Индекс картинки</value> </synonym> - <comment>Индекс иконки, соответствующей расширению файла, для показа в списке</comment> <type> <types>Number</types> <numberQualifiers> @@ -271,7 +267,6 @@ <key>ru</key> <value>Описание</value> </synonym> - <comment>Описание файла</comment> <type> <types>String</types> <stringQualifiers/> @@ -312,7 +307,6 @@ <key>ru</key> <value>Путь к файлу</value> </synonym> - <comment>Дополнительный путь к файлу на диске (в случае если тип хранения файла - на диске)</comment> <type> <types>String</types> <stringQualifiers/> @@ -333,7 +327,6 @@ <key>ru</key> <value>Размер</value> </synonym> - <comment>Размер файла</comment> <type> <types>Number</types> <numberQualifiers> @@ -424,7 +417,6 @@ <key>ru</key> <value>Текст</value> </synonym> - <comment>Текст, извлеченный из файла - для полнотекстового поиска</comment> <type> <types>ValueStorage</types> </type> @@ -444,7 +436,6 @@ <key>ru</key> <value>Тип хранения файла</value> </synonym> - <comment>Где хранятся файлы - в базе как Хранилище значения или в каталоге на диске</comment> <type> <types>EnumRef.ТипыХраненияФайлов</types> </type> @@ -464,7 +455,6 @@ <key>ru</key> <value>Том</value> </synonym> - <comment>Ссылка на том (в случае если тип хранения файла - на диске)</comment> <type> <types>CatalogRef.ТомаХраненияФайлов</types> </type> @@ -484,7 +474,6 @@ <key>ru</key> <value>Файл хранилище</value> </synonym> - <comment>Служебное поле для обмена файлами в РИБ</comment> <type> <types>ValueStorage</types> </type> @@ -600,7 +589,6 @@ <key>ru</key> <value>Отпечаток</value> </synonym> - <comment>Отпечаток сертификата</comment> <type> <types>String</types> <stringQualifiers> @@ -656,7 +644,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> @@ -737,7 +724,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Form.form index a2a1f600c..4022d3484 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Form.form @@ -1,5 +1,57 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>19</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>ГруппаПользовательскихНастроекРасширеннаяПодсказка</name> + <id>20</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <type>UsualGroup</type> + <extInfo xsi:type="form:UsualGroupExtInfo"> + <group>Vertical</group> + <behavior>Auto</behavior> + <showLeftMargin>true</showLeftMargin> + <united>true</united> + <throughAlign>Auto</throughAlign> + <currentRowUse>Auto</currentRowUse> + </extInfo> + </items> + <items xsi:type="form:FormGroup"> + <name>КоманднаяПанель</name> + <id>17</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>КоманднаяПанельРасширеннаяПодсказка</name> + <id>18</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <type>CommandBar</type> + <extInfo xsi:type="form:CommandBarExtInfo"> + <horizontalAlign>Left</horizontalAlign> + <commandSource>Form</commandSource> + </extInfo> + </items> <items xsi:type="form:Table"> <name>Список</name> <id>1</id> @@ -141,10 +193,10 @@ </autoCommandBar> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>14</id> + <id>21</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>16</id> + <id>23</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -154,7 +206,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>15</id> + <id>22</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -164,10 +216,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>17</id> + <id>24</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>19</id> + <id>26</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -177,7 +229,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>18</id> + <id>25</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -188,10 +240,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>20</id> + <id>27</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>22</id> + <id>29</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -201,7 +253,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>21</id> + <id>28</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -262,13 +314,55 @@ </period> <topLevelParent xsi:type="core:UndefinedValue"/> <allowGettingCurrentRowURL>true</allowGettingCurrentRowURL> + <userSettingsGroup>ГруппаПользовательскихНастроек</userSettingsGroup> + </extInfo> + </items> + <items xsi:type="form:FormField"> + <name>ПолеКомментарий</name> + <id>14</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Items.Список.CurrentData.Комментарий</segments> + </dataPath> + <extendedTooltip> + <name>ПолеКомментарийРасширеннаяПодсказка</name> + <id>16</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ПолеКомментарийКонтекстноеМеню</name> + <id>15</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <readOnly>true</readOnly> + <editMode>Enter</editMode> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> </extInfo> </items> <autoCommandBar> <name>ФормаКоманднаяПанель</name> <id>-1</id> <horizontalAlign>Left</horizontalAlign> - <autoFill>true</autoFill> </autoCommandBar> <handlers> <event>OnCreateAtServer</event> diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Module.bsl index 91f767caa..685b7fe05 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаСписка/Module.bsl @@ -20,7 +20,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); // Исключение выбора группы Все внешние пользователи в качестве родителя. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( @@ -36,7 +36,6 @@ Заголовок = НСтр("ru = 'Выбор группы внешних пользователей'"); КонецЕсли; КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Form.form index ba8275923..90d7b64d3 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Form.form @@ -69,6 +69,7 @@ <dataPath xsi:type="form:DataPath"> <segments>УчастникиГруппы</segments> </dataPath> + <titleLocation>None</titleLocation> <handlers> <event>OnChange</event> <name>СоставУчастниковПриИзменении</name> @@ -237,6 +238,10 @@ <skipOnInput>false</skipOnInput> <titleLocation>None</titleLocation> <excludedCommands>Copy</excludedCommands> + <excludedCommands>MoveDown</excludedCommands> + <excludedCommands>MoveUp</excludedCommands> + <excludedCommands>SortListAsc</excludedCommands> + <excludedCommands>SortListDesc</excludedCommands> <items xsi:type="form:FormField"> <name>СоставВнешнийПользователь</name> <id>53</id> @@ -370,6 +375,33 @@ <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> + </items> + <items xsi:type="form:Button"> + <name>СоставИзменить</name> + <id>214</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СоставИзменитьРасширеннаяПодсказка</name> + <id>215</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.Состав.StandardCommand.Change</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> </items> <items xsi:type="form:Button"> <name>СоставСкопировать</name> @@ -424,19 +456,19 @@ <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> </items> <items xsi:type="form:Button"> <name>СоставПереместитьВверх</name> - <id>43</id> + <id>202</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> - <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>СоставПереместитьВверхExtendedTooltip</name> - <id>167</id> + <name>СоставПереместитьВверхРасширеннаяПодсказка</name> + <id>203</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -444,26 +476,26 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Item.Состав.StandardCommand.MoveUp</commandName> + <commandName>Form.Command.ПереместитьВверх</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> </items> <items xsi:type="form:Button"> <name>СоставПереместитьВниз</name> - <id>44</id> + <id>204</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> - <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>СоставПереместитьВнизExtendedTooltip</name> - <id>168</id> + <name>СоставПереместитьВнизРасширеннаяПодсказка</name> + <id>205</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -471,7 +503,34 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Item.Состав.StandardCommand.MoveDown</commandName> + <commandName>Form.Command.ПереместитьВниз</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> + </items> + <items xsi:type="form:Button"> + <name>СоставСортироватьПоВозрастанию</name> + <id>198</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СоставСортироватьПоВозрастаниюРасширеннаяПодсказка</name> + <id>199</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.СортироватьПоВозрастанию</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> @@ -480,17 +539,16 @@ <representationInContextMenu>Auto</representationInContextMenu> </items> <items xsi:type="form:Button"> - <name>СортироватьПоВозрастанию</name> - <id>34</id> + <name>СоставСортироватьПоУбыванию</name> + <id>200</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> - <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>СортироватьПоВозрастаниюExtendedTooltip</name> - <id>169</id> + <name>СоставСортироватьПоУбываниюРасширеннаяПодсказка</name> + <id>201</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -498,27 +556,25 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Item.Состав.StandardCommand.SortListAsc</commandName> + <commandName>Form.Command.СортироватьПоУбыванию</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> </items> <items xsi:type="form:Button"> - <name>СортироватьПоУбыванию</name> - <id>35</id> + <name>ПоказыватьНедействительныхПользователей</name> + <id>149</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> - <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>СортироватьПоУбываниюExtendedTooltip</name> - <id>170</id> + <name>ПоказыватьНедействительныхПользователейExtendedTooltip</name> + <id>152</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -526,14 +582,40 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Item.Состав.StandardCommand.SortListDesc</commandName> + <commandName>Form.Command.ПоказыватьНедействительныхПользователей</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> + <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> + </items> + <items xsi:type="form:FormGroup"> + <name>СоставСтандартныеКоманды</name> + <id>194</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Состав стандартные команды</value> + + + СоставСтандартныеКомандыРасширеннаяПодсказка + 195 + Label + true + true + + Left + + + + Item.Состав + Left @@ -547,10 +629,10 @@ СоставСтрокаПоиска - 189 + 219 СоставСтрокаПоискаРасширеннаяПодсказка - 191 + 221 Label true true @@ -560,7 +642,7 @@ СоставСтрокаПоискаКонтекстноеМеню - 190 + 220 true Состав @@ -570,10 +652,10 @@ СоставСостояниеПросмотра - 192 + 222 СоставСостояниеПросмотраРасширеннаяПодсказка - 194 + 224 Label true true @@ -583,7 +665,7 @@ СоставСостояниеПросмотраКонтекстноеМеню - 193 + 223 true ViewStatusAddition @@ -594,10 +676,10 @@ СоставУправлениеПоиском - 195 + 225 СоставУправлениеПоискомРасширеннаяПодсказка - 197 + 227 Label true true @@ -607,7 +689,7 @@ СоставУправлениеПоискомКонтекстноеМеню - 196 + 226 true SearchControlAddition @@ -630,7 +712,7 @@ СоставКонтекстноеМеню 11 - КонтекстноеМенюСоставПодобрать + СоставКонтекстноеМенюПодобрать 42 true true @@ -639,7 +721,7 @@ false - КонтекстноеМенюСоставПодобратьExtendedTooltip + СоставКонтекстноеМенюПодобратьРасширеннаяПодсказка 159 Label true @@ -657,7 +739,7 @@ Auto - КонтекстноеМенюСоставДобавить + СоставКонтекстноеМенюДобавить 45 true true @@ -666,7 +748,7 @@ false - КонтекстноеМенюСоставДобавитьExtendedTooltip + СоставКонтекстноеМенюДобавитьРасширеннаяПодсказка 160 Label true @@ -684,7 +766,33 @@ Auto - КонтекстноеМенюСоставСкопировать + СоставКонтекстноеМенюИзменить + 212 + true + true + + true + + + СоставКонтекстноеМенюИзменитьРасширеннаяПодсказка + 213 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюСкопировать 50 true true @@ -693,7 +801,7 @@ false - КонтекстноеМенюСоставСкопироватьExtendedTooltip + СоставКонтекстноеМенюСкопироватьРасширеннаяПодсказка 161 Label true @@ -711,7 +819,7 @@ Auto - КонтекстноеМенюСоставУдалить + СоставКонтекстноеМенюУдалить 46 true true @@ -720,7 +828,7 @@ false - КонтекстноеМенюСоставУдалитьExtendedTooltip + СоставКонтекстноеМенюУдалитьРасширеннаяПодсказка 162 Label true @@ -737,6 +845,84 @@ UserCmds Auto + + СоставКонтекстноеМенюПереместитьВверх + 206 + true + true + + true + + + СоставКонтекстноеМенюПереместитьВверхРасширеннаяПодсказка + 207 + Label + true + true + + Left + + + Form.Command.ПереместитьВверх + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюПереместитьВниз + 208 + true + true + + true + + + СоставКонтекстноеМенюПереместитьВнизРасширеннаяПодсказка + 209 + Label + true + true + + Left + + + Form.Command.ПереместитьВниз + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюСтандартныеКоманды + 186 + true + true + + true + + + <key>ru</key> + <value>Состав контекстное меню стандартные команды</value> + + + СоставКонтекстноеМенюСтандартныеКомандыРасширеннаяПодсказка + 187 + Label + true + true + + Left + + + + Item.Состав + + true true @@ -771,6 +957,59 @@ true + + Родитель + 40 + + <key>ru</key> + <value>В группе</value> + + true + true + + true + + + Объект.Parent + + + OnChange + РодительПриИзменении + + + РодительExtendedTooltip + 184 + Label + true + true + + Left + + + + РодительКонтекстноеМеню + 41 + true + + InputField + Enter + true + Left + true + + + StartChoice + РодительНачалоВыбора + + true + true + true + true + true + true + Normal + + true true @@ -816,15 +1055,14 @@ false None Add + Change Copy - CopyToClipboard Delete EndEdit HierarchicalList List MoveDown MoveUp - OutputList SortListAsc SortListDesc Tree @@ -917,10 +1155,6 @@ ru Роли колонок - - ru - Роли колонок - РолиКолонокExtendedTooltip 181 @@ -1048,14 +1282,40 @@ UserCmds Auto + + РолиСтандартныеКоманды + 210 + true + true + + true + + + <key>ru</key> + <value>Роли стандартные команды</value> + + + РолиСтандартныеКомандыРасширеннаяПодсказка + 211 + Label + true + true + + Left + + + + Item.Роли + + Left РолиСтрокаПоиска - 208 + 239 РолиСтрокаПоискаРасширеннаяПодсказка - 210 + 241 Label true true @@ -1065,7 +1325,7 @@ РолиСтрокаПоискаКонтекстноеМеню - 209 + 240 true Роли @@ -1075,10 +1335,10 @@ РолиСостояниеПросмотра - 211 + 242 РолиСостояниеПросмотраРасширеннаяПодсказка - 213 + 244 Label true true @@ -1088,7 +1348,7 @@ РолиСостояниеПросмотраКонтекстноеМеню - 212 + 243 true ViewStatusAddition @@ -1099,10 +1359,10 @@ РолиУправлениеПоиском - 214 + 245 РолиУправлениеПоискомРасширеннаяПодсказка - 216 + 247 Label true true @@ -1112,7 +1372,7 @@ РолиУправлениеПоискомКонтекстноеМеню - 215 + 246 true SearchControlAddition @@ -1134,6 +1394,7 @@ РолиКонтекстноеМеню 132 + true Tree true @@ -1224,6 +1485,81 @@ auto + + ГруппаКомментарий + 196 + + Комментарий + 38 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 185 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 39 + true + + InputField + Enter + true + Left + true + + + StartChoice + КомментарийНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ГруппаКомментарийРасширеннаяПодсказка + 197 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -1253,139 +1589,11 @@ Auto
    - - Родитель - 40 - - <key>ru</key> - <value>В группе</value> - - true - true - - true - - - Объект.Parent - - - OnChange - РодительПриИзменении - - - РодительExtendedTooltip - 184 - Label - true - true - - Left - - - - РодительКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - - StartChoice - РодительНачалоВыбора - - true - true - true - true - true - true - Normal - - - - Комментарий - 38 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 185 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 39 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - true - true - true - true - true - true - true - Normal - - Top true ФормаКоманднаяПанель -1 - - ПоказыватьНедействительныхПользователей - 149 - true - true - - true - - - ПоказыватьНедействительныхПользователейExtendedTooltip - 152 - Label - true - true - - Left - - - Form.Command.ПоказыватьНедействительныхПользователей - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left true @@ -1862,6 +2070,106 @@ Auto Auto + + СортироватьПоВозрастанию + + <key>ru</key> + <value>Сортировать по возрастанию</value> + + 7 + + ru + Упорядочить список по возрастанию + + + true + + + StdPicture.SortListAsc + + + + СортироватьПоВозрастанию + + + Picture + true + Auto + Auto + + + СортироватьПоУбыванию + + <key>ru</key> + <value>Сортировать по убыванию</value> + + 8 + + ru + Упорядочить список по убыванию + + + true + + + StdPicture.SortListDesc + + + + СортироватьПоУбыванию + + + Picture + true + Auto + Auto + + + ПереместитьВниз + + <key>ru</key> + <value>Переместить вниз</value> + + 9 + + true + + + StdPicture.MoveDown + + + + ПереместитьВниз + + + Picture + true + Auto + Auto + + + ПереместитьВверх + + <key>ru</key> + <value>Переместить вверх</value> + + 10 + + true + + + StdPicture.MoveUp + + + + ПереместитьВверх + + + Picture + true + Auto + Auto + diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Help/ru.html index 5e76e1840..02a6614aa 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

    Группа внешних пользователей

    Просмотр и редактирование свойств группы внешних пользователей.

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

    diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Module.bsl index d756c5e22..8a46d00d5 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Forms/ФормаЭлемента/Module.bsl @@ -38,8 +38,6 @@ Элементы.Комментарий.Видимость = ЗначениеЗаполнено(ДействияВФорме.СвойстваЭлемента); Элементы.Состав.Видимость = ЗначениеЗаполнено(ДействияВФорме.СоставГруппы); Элементы.ОтображениеРолей.Видимость = ЗначениеЗаполнено(ДействияВФорме.Роли); - Элементы.СоставИРоли.ОтображениеСтраниц = ?(ЗначениеЗаполнено(ДействияВФорме.Роли), ОтображениеСтраницФормы.ЗакладкиСверху, ОтображениеСтраницФормы.Нет); - Элементы.УчастникиГруппы.Заголовок = ?(ЗначениеЗаполнено(ДействияВФорме.Роли), НСтр("ru = 'В группу включены'"), НСтр("ru = 'Участники группы'")); Если Объект.ВсеОбъектыАвторизации Тогда УчастникиГруппы = "ВсеОдногоВида"; @@ -327,6 +325,26 @@ КонецПроцедуры +&НаКлиенте +Процедура СортироватьПоВозрастанию(Команда) + СоставСортироватьСтроки("ПоВозрастанию"); +КонецПроцедуры + +&НаКлиенте +Процедура СортироватьПоУбыванию(Команда) + СоставСортироватьСтроки("ПоУбыванию"); +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВверх(Команда) + СоставПереместитьСтроку("Вверх"); +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВниз(Команда) + СоставПереместитьСтроку("Вниз"); +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Для работы интерфейса ролей @@ -526,9 +544,9 @@ И Элементы.Состав.Доступность; Элементы.СоставПодобрать.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСоставПодобрать.Доступность = ДоступностьКоманд; + Элементы.СоставКонтекстноеМенюПодобрать.Доступность = ДоступностьКоманд; Элементы.СоставДобавить.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСоставДобавить.Доступность = ДоступностьКоманд; + Элементы.СоставКонтекстноеМенюДобавить.Доступность = ДоступностьКоманд; Элементы.ПредставлениеТипаОбъектовАвторизации.Видимость = Не Форма.ЭтоГруппаВсеВнешниеПользователи @@ -690,6 +708,55 @@ КонецПроцедуры +&НаСервере +Процедура СоставСортироватьСтроки(ТипСортировки) + Если Не Элементы.ПоказыватьНедействительныхПользователей.Пометка Тогда + Элементы.Состав.ОтборСтрок = Новый ФиксированнаяСтруктура(); + КонецЕсли; + + Если ТипСортировки = "ПоВозрастанию" Тогда + Объект.Состав.Сортировать("ВнешнийПользователь Возр"); + Иначе + Объект.Состав.Сортировать("ВнешнийПользователь Убыв"); + КонецЕсли; + + Если Не Элементы.ПоказыватьНедействительныхПользователей.Пометка Тогда + Отбор = Новый Структура; + Отбор.Вставить("Недействителен", Ложь); + Элементы.Состав.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура СоставПереместитьСтроку(НаправлениеПеремещения) + + Строка = Объект.Состав.НайтиПоИдентификатору(Элементы.Состав.ТекущаяСтрока); + Если Строка = Неопределено Тогда + Возврат; + КонецЕсли; + + ИндексТекущейСтроки = Строка.НомерСтроки - 1; + Сдвиг = 0; + + Пока Истина Цикл + Сдвиг = Сдвиг + ?(НаправлениеПеремещения = "Вверх", -1, 1); + + Если ИндексТекущейСтроки + Сдвиг < 0 + Или ИндексТекущейСтроки + Сдвиг >= Объект.Состав.Количество() Тогда + Возврат; + КонецЕсли; + + Если Элементы.ПоказыватьНедействительныхПользователей.Пометка + Или Объект.Состав[ИндексТекущейСтроки + Сдвиг].Недействителен = Ложь Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Объект.Состав.Сдвинуть(ИндексТекущейСтроки, Сдвиг); + Элементы.Состав.Обновить(); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Для работы интерфейса ролей diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Help/ru.html b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Help/ru.html index 944323338..69edb6e91 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

    Предназначен для ведения групп внешних пользователей.

    Удобно использовать группы, когда в программе много внешних пользователей: 

    • diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/ObjectModule.bsl b/SSL/src/Catalogs/ГруппыВнешнихПользователей/ObjectModule.bsl index ebd7f3381..c228b4419 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/ObjectModule.bsl +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/ObjectModule.bsl @@ -1,5 +1,8 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +//////////////////////////////////////////////////////////////////////////////// +// СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ + Перем СтарыйРодитель; // Значение родителя группы до изменения для использования // в обработчике события ПриЗаписи. diff --git a/SSL/src/Catalogs/ГруппыВнешнихПользователей/ГруппыВнешнихПользователей.mdo b/SSL/src/Catalogs/ГруппыВнешнихПользователей/ГруппыВнешнихПользователей.mdo index 34fd41035..7699d007e 100644 --- a/SSL/src/Catalogs/ГруппыВнешнихПользователей/ГруппыВнешнихПользователей.mdo +++ b/SSL/src/Catalogs/ГруппыВнешнихПользователей/ГруппыВнешнихПользователей.mdo @@ -106,6 +106,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ВыборПоОтветственному/Form.form b/SSL/src/Catalogs/ГруппыДоступа/Forms/ВыборПоОтветственному/Form.form index 53fcfcc5c..acd041d69 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ВыборПоОтветственному/Form.form +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ВыборПоОтветственному/Form.form @@ -228,6 +228,7 @@ OnCreateAtServer ПриСозданииНаСервере + 50 LockOwner true true diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Help/ru.html b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Help/ru.html index 234f2ecb9..3550beb15 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Help/ru.html @@ -1,4 +1,4 @@ - +

      Список предназначен для выбора папок групп доступа.

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

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

      diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Module.bsl b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Module.bsl index 5c5df988e..3d61b61fb 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Module.bsl +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаВыбораГруппы/Module.bsl @@ -13,6 +13,5 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаГруппы/Help/ru.html b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаГруппы/Help/ru.html index a504049e3..da0f2db82 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаГруппы/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаГруппы/Help/ru.html @@ -1,4 +1,4 @@ - +

      Описание свойств папки групп доступа.

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

      Группы доступа можно сгруппировать в папки по различным признакам.

      diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Form.form index c182b7929..f31f24f48 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Form.form @@ -1,5 +1,226 @@ + + ГруппаПользовательскихНастроек + 40 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 42 + + ФормаВыбрать + 21 + true + true + + true + + + ФормаВыбратьExtendedTooltip + 22 + Label + true + true + + Left + + + Form.StandardCommand.Choose + Auto + true + true + true + UserCmds + Auto + + + ФормаСоздать + 12 + true + true + + true + + + ФормаСоздатьExtendedTooltip + 23 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСоздатьГруппу + 15 + true + true + + true + + + ФормаСоздатьГруппуExtendedTooltip + 24 + Label + true + true + + Left + + + Form.StandardCommand.CreateFolder + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 13 + true + true + + true + + + ФормаСкопироватьExtendedTooltip + 25 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + КоманднаяПанельФормы + 14 + true + true + + true + + + <key>ru</key> + <value>Командная панель формы</value> + + + ru + Командная панель формы + + + КоманднаяПанельФормыExtendedTooltip + 26 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 20 + true + true + + true + + + ФормаСправкаExtendedTooltip + 27 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + CommandBar + + Left + + Список 1 @@ -198,10 +419,10 @@ СписокСтрокаПоиска - 40 + 44 СписокСтрокаПоискаРасширеннаяПодсказка - 42 + 46 Label true true @@ -211,7 +432,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 41 + 45 true Список @@ -221,10 +442,10 @@ СписокСостояниеПросмотра - 43 + 47 СписокСостояниеПросмотраРасширеннаяПодсказка - 45 + 49 Label true true @@ -234,7 +455,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 44 + 48 true ViewStatusAddition @@ -245,10 +466,10 @@ СписокУправлениеПоиском - 46 + 50 СписокУправлениеПоискомРасширеннаяПодсказка - 48 + 52 Label true true @@ -258,7 +479,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 47 + 51 true SearchControlAddition @@ -425,6 +646,7 @@ true true + ГруппаПользовательскихНастроек @@ -469,173 +691,12 @@ ФормаКоманднаяПанель -1 - - ФормаВыбрать - 21 - true - true - - true - - - ФормаВыбратьExtendedTooltip - 22 - Label - true - true - - Left - - - Form.StandardCommand.Choose - Auto - true - true - true - UserCmds - Auto - - - ФормаСоздать - 12 - true - true - - true - - - ФормаСоздатьExtendedTooltip - 23 - Label - true - true - - Left - - - Form.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСоздатьГруппу - 15 - true - true - - true - - - ФормаСоздатьГруппуExtendedTooltip - 24 - Label - true - true - - Left - - - Form.StandardCommand.CreateFolder - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСкопировать - 13 - true - true - - true - - - ФормаСкопироватьExtendedTooltip - 25 - Label - true - true - - Left - - - Form.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - КоманднаяПанельФормы - 14 - true - true - - true - - - <key>ru</key> - <value>Командная панель формы</value> - - - ru - Командная панель формы - - - КоманднаяПанельФормыExtendedTooltip - 26 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 20 - true - true - - true - - - ФормаСправкаExtendedTooltip - 27 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left OnCreateAtServer ПриСозданииНаСервере - 100 DontBlock true true diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Help/ru.html b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Help/ru.html index 5c116d699..c4a004172 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Help/ru.html @@ -1,4 +1,4 @@ - +

      Список групп доступа предназначен для ведения групп доступа и позволяет просмотреть имеющиеся настройки прав с ограничениями.

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

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

      diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Module.bsl index c5dbe23b7..da8ebfb2c 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаСписка/Module.bsl @@ -70,7 +70,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Элементы.Список.РежимВыбора = Истина; Элементы.Список.ВыборГруппИЭлементов = Параметры.ВыборГруппИЭлементов; @@ -87,7 +87,6 @@ Элементы.ФормаВыбрать.КнопкаПоУмолчанию = Ложь; КонецЕсли; КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Form.form index 1288efef4..4cc82e0c2 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Form.form @@ -413,16 +413,15 @@
      ПользователиДобавить - 229 + 409 true true true - false - ПользователиДобавитьExtendedTooltip - 353 + ПользователиДобавитьРасширеннаяПодсказка + 410 Label true true @@ -437,20 +436,27 @@ true UserCmds Auto - InCommandBarAndInAdditionalSubmenu + InAdditionalSubmenu - - ПользователиУдалить - 232 + + ПользователиСтандартныеКоманды + 405 true true true - false + + <key>ru</key> + <value>Пользователи стандартные команды</value> + + + ru + Пользователи стандартные команды + - ПользователиУдалитьExtendedTooltip - 354 + ПользователиСтандартныеКомандыРасширеннаяПодсказка + 406 Label true true @@ -458,126 +464,9 @@ Left - Form.Item.Пользователи.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПользователиПереместитьВверх - 233 - true - true - - true - - false - - ПользователиПереместитьВверхExtendedTooltip - 355 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПользователиПереместитьВниз - 234 - true - true - - true - - false - - ПользователиПереместитьВнизExtendedTooltip - 356 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПользователиСортироватьСписокПоВозрастанию - 227 - true - true - - true - - false - - ПользователиСортироватьСписокПоВозрастаниюExtendedTooltip - 357 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПользователиСортироватьСписокПоУбыванию - 228 - true - true - - true - - false - - ПользователиСортироватьСписокПоУбываниюExtendedTooltip - 358 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu + + Item.Пользователи + Left @@ -615,10 +504,10 @@ ПользователиСтрокаПоиска - 409 + 417 ПользователиСтрокаПоискаРасширеннаяПодсказка - 411 + 419 Label true true @@ -628,7 +517,7 @@ ПользователиСтрокаПоискаКонтекстноеМеню - 410 + 418 true Пользователи @@ -638,10 +527,10 @@ ПользователиСостояниеПросмотра - 412 + 420 ПользователиСостояниеПросмотраРасширеннаяПодсказка - 414 + 422 Label true true @@ -651,7 +540,7 @@ ПользователиСостояниеПросмотраКонтекстноеМеню - 413 + 421 true ViewStatusAddition @@ -662,10 +551,10 @@ ПользователиУправлениеПоиском - 415 + 423 ПользователиУправлениеПоискомРасширеннаяПодсказка - 417 + 425 Label true true @@ -675,7 +564,7 @@ ПользователиУправлениеПоискомКонтекстноеМеню - 416 + 424 true SearchControlAddition @@ -724,141 +613,9 @@ UserCmds Auto - - КонтекстноеМенюПользователиДобавить - 240 - true - true - - true - - false - - КонтекстноеМенюПользователиДобавитьExtendedTooltip - 346 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюПользователиУдалить - 242 - true - true - - true - - false - - КонтекстноеМенюПользователиУдалитьExtendedTooltip - 347 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - ПользователиГруппаКнопокКонтекстногоМеню - 333 - - ПользователиКонтекстноеМенюКопироватьВБуферОбмена - 323 - true - true - - true - - - ПользователиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 349 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - - ПользователиКонтекстноеМенюВыделитьВсе - 324 - true - true - - true - - - ПользователиКонтекстноеМенюВыделитьВсеExtendedTooltip - 350 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.SelectAll - Normal - Auto - true - true - UserCmds - Auto - - - ПользователиКонтекстноеМенюВывестиСписок - 325 - true - true - - true - - - ПользователиКонтекстноеМенюВывестиСписокExtendedTooltip - 351 - Label - true - true - - Left - - - Form.Item.Пользователи.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - + ПользователиКонтекстноеМенюСтандартныеКоманды + 403 true true @@ -866,11 +623,15 @@ <key>ru</key> - <value>Пользователи группа кнопок контекстного меню</value> + <value>Пользователи контекстное меню стандартные команды</value> + + ru + Пользователи контекстное меню стандартные команды + - ПользователиГруппаКнопокКонтекстногоМенюExtendedTooltip - 348 + ПользователиКонтекстноеМенюСтандартныеКомандыРасширеннаяПодсказка + 404 Label true true @@ -878,7 +639,9 @@ Left - + + Item.Пользователи + true @@ -1125,62 +888,6 @@ ВидыДоступаКоманднаяПанель 171 - - ВидыДоступаИзменить - 259 - true - true - - true - - false - - ВидыДоступаИзменитьExtendedTooltip - 368 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Change - Normal - PictureAndText - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ВидыДоступаЗакончитьРедактирование - 260 - true - true - - true - - false - - ВидыДоступаЗакончитьРедактированиеExtendedTooltip - 369 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.EndEdit - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - Left @@ -1205,10 +912,10 @@ ВидыДоступаСтрокаПоиска - 428 + 436 ВидыДоступаСтрокаПоискаРасширеннаяПодсказка - 430 + 438 Label true true @@ -1218,7 +925,7 @@ ВидыДоступаСтрокаПоискаКонтекстноеМеню - 429 + 437 true ВидыДоступа @@ -1228,10 +935,10 @@ ВидыДоступаСостояниеПросмотра - 431 + 439 ВидыДоступаСостояниеПросмотраРасширеннаяПодсказка - 433 + 441 Label true true @@ -1241,7 +948,7 @@ ВидыДоступаСостояниеПросмотраКонтекстноеМеню - 432 + 440 true ViewStatusAddition @@ -1252,10 +959,10 @@ ВидыДоступаУправлениеПоиском - 434 + 442 ВидыДоступаУправлениеПоискомРасширеннаяПодсказка - 436 + 444 Label true true @@ -1265,7 +972,7 @@ ВидыДоступаУправлениеПоискомКонтекстноеМеню - 435 + 443 true SearchControlAddition @@ -1417,8 +1124,8 @@ true - 10 true + 2 true Row
      true
      @@ -1445,52 +1152,6 @@ ЗначенияДоступаПоВидуДоступа 268 - - НадписьВидДоступа - 121 - true - true - - true - - - НадписьВидДоступа - - None - Ctrl+S - - НадписьВидДоступаExtendedTooltip - 375 - Label - true - true - - Left - - - - НадписьВидДоступаКонтекстноеМеню - 122 - true - - LabelField - Enter - true - Left - true - - true - true - true - - System.DefaultGUIFont - true - false - false - false - - - ТекстВидДоступаНеИспользуется 321 @@ -1640,171 +1301,8 @@ ЗначенияДоступаКоманднаяПанель 68 - - ЗначенияДоступаДобавить - 246 - true - true - - true - - false - - ЗначенияДоступаДобавитьExtendedTooltip - 386 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаУдалить - 249 - true - true - - true - - false - - ЗначенияДоступаУдалитьExtendedTooltip - 387 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВверх - 252 - true - true - - true - - false - - ЗначенияДоступаПереместитьВверхExtendedTooltip - 388 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВниз - 253 - true - true - - true - - false - - ЗначенияДоступаПереместитьВнизExtendedTooltip - 389 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - СортироватьСписокПоВозрастанию - 254 - true - true - - true - - false - - СортироватьСписокПоВозрастаниюExtendedTooltip - 390 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СортироватьСписокПоУбыванию - 255 - true - true - - true - - false - - СортироватьСписокПоУбываниюExtendedTooltip - 391 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - Left + true OnEditEnd @@ -1824,10 +1322,10 @@ ЗначенияДоступаСтрокаПоиска - 448 + 455 ЗначенияДоступаСтрокаПоискаРасширеннаяПодсказка - 450 + 457 Label true true @@ -1837,7 +1335,7 @@ ЗначенияДоступаСтрокаПоискаКонтекстноеМеню - 449 + 456 true ЗначенияДоступа @@ -1847,10 +1345,10 @@ ЗначенияДоступаСостояниеПросмотра - 451 + 458 ЗначенияДоступаСостояниеПросмотраРасширеннаяПодсказка - 453 + 460 Label true true @@ -1860,7 +1358,7 @@ ЗначенияДоступаСостояниеПросмотраКонтекстноеМеню - 452 + 459 true ViewStatusAddition @@ -1871,10 +1369,10 @@ ЗначенияДоступаУправлениеПоиском - 454 + 461 ЗначенияДоступаУправлениеПоискомРасширеннаяПодсказка - 456 + 463 Label true true @@ -1884,7 +1382,7 @@ ЗначенияДоступаУправлениеПоискомКонтекстноеМеню - 455 + 462 true SearchControlAddition @@ -1906,167 +1404,13 @@ ЗначенияДоступаКонтекстноеМеню 67 - - КонтекстноеМенюЗначенияДоступаДобавить - 256 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаДобавитьExtendedTooltip - 380 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюЗначенияДоступаУдалить - 258 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаУдалитьExtendedTooltip - 381 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаГруппаКнопокКонтекстногоМеню - 332 - - ЗначенияДоступаКонтекстноеМенюКопироватьВБуферОбмена - 329 - true - true - - true - - - ЗначенияДоступаКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 383 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаКонтекстноеМенюВыделитьВсе - 330 - true - true - - true - - - ЗначенияДоступаКонтекстноеМенюВыделитьВсеExtendedTooltip - 384 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SelectAll - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаКонтекстноеМенюВывестиСписок - 328 - true - true - - true - - - ЗначенияДоступаКонтекстноеМенюВывестиСписокExtendedTooltip - 385 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Значения доступа группа кнопок контекстного меню</value> - - - ЗначенияДоступаГруппаКнопокКонтекстногоМенюExtendedTooltip - 382 - Label - true - true - - Left - - - - + true true true true true + 2 true MultiRow 1 @@ -2094,14 +1438,6 @@ true - - <key>ru</key> - <value>Значения доступа по виду доступа</value> - - - ru - Значения доступа по виду доступа - ЗначенияДоступаПоВидуДоступаExtendedTooltip 373 @@ -2118,6 +1454,9 @@ Auto true true + + НадписьВидДоступа + Auto Auto @@ -2158,6 +1497,83 @@ auto + + СтраницаОписание + 407 + + Описание + 219 + true + true + + true + + + Объект.Описание + + None + + ОписаниеExtendedTooltip + 402 + Label + true + true + + Left + + + + ОписаниеКонтекстноеМеню + 220 + true + + InputField + Enter + true + Left + true + + true + 2 + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Описание</value> + + + ru + Страница описание + + + СтраницаОписаниеРасширеннаяПодсказка + 408 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -2171,6 +1587,7 @@ ru Пользователи и доступ + 12 ПользователиИДоступExtendedTooltip 343 @@ -2233,52 +1650,6 @@ Normal - - Описание - 219 - true - true - - true - - - Объект.Описание - - Left - - ОписаниеExtendedTooltip - 402 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 220 - true - - InputField - Enter - true - Left - true - - true - 2 - true - false - true - true - true - true - true - true - Normal - - ФормаКоманднаяПанель -1 diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Help/ru.html index 7860d773e..7a0d54937 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

      Описание свойств группы доступа

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

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

      @@ -38,5 +38,5 @@
      • В ряде случаев для упрощения настройки прав доступа, в списке разрешенных или запрещенных значений можно указывать не отдельные элементы, а целые группы элементов. Например, для вида доступа Партнеры можно ограничить доступ в разрезе групп доступа партнеров, а не по каждому партнеру в отдельности. Для этого необходимо определить список групп доступа партнеров, и у каждого партнера задать принадлежность к той или иной группе. Эти действия могут быть выполнены не только администратором, но и любым пользователем с соответствующими правами на редактирование списка партнеров.

      • -

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

    См. также:

    +

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

    См. также:

    \ No newline at end of file diff --git a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Module.bsl index bb7a5096b..d5ac0d912 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ГруппыДоступа/Forms/ФормаЭлемента/Module.bsl @@ -33,7 +33,6 @@ // Установка доступности при открытии формы только для просмотра. Элементы.ПользователиПодобрать.Доступность = НЕ ТолькоПросмотр; Элементы.КонтекстноеМенюПользователиПодобрать.Доступность = НЕ ТолькоПросмотр; - Элементы.ВидыДоступаИзменить.Доступность = НЕ ТолькоПросмотр; Если ОбщегоНазначенияПовтИсп.РазделениеВключено() И Объект.Ссылка = Справочники.ГруппыДоступа.Администраторы Тогда @@ -49,6 +48,10 @@ ВыполненаПроцедураПриСозданииНаСервере = Истина; + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ПользователиДобавить.ТолькоВоВсехДействиях = Ложь; + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -101,6 +104,7 @@ Если ЗначениеЗаполнено(ВладелецФормы.Родитель.Параметры.Профиль) Тогда Объект.Профиль = ВладелецФормы.Родитель.Параметры.Профиль; + ПодключитьОбработчикОжидания("ОбработчикОжиданияПрофильПриИзменении", 0.1, Истина); КонецЕсли; КонецЕсли; КонецЕсли; @@ -897,6 +901,13 @@ КонецПроцедуры +&НаКлиенте +Процедура ОбработчикОжиданияПрофильПриИзменении() + + ПрофильПриИзмененииНаСервере(); + +КонецПроцедуры + &НаСервере Процедура НачальнаяНастройкаПриЧтенииИСоздании(ТекущийОбъект) diff --git a/SSL/src/Catalogs/ГруппыДоступа/Help/ru.html b/SSL/src/Catalogs/ГруппыДоступа/Help/ru.html index 316713c9c..beda6004c 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыДоступа/Help/ru.html @@ -1,4 +1,4 @@ - +

    Группы доступа предназначены для настройки прав и ограничений прав доступа конкретным пользователям и группам пользователей программы.

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

    Набор прав и возможности по их ограничению определяются заданным профилем групп доступа.

    diff --git a/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl b/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl index 99eb92945..1200c9bc3 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl +++ b/SSL/src/Catalogs/ГруппыДоступа/ManagerModule.bsl @@ -43,7 +43,8 @@ | Справочник.ГруппыДоступа КАК ГруппыДоступа |ГДЕ | ГруппыДоступа.Профиль.ПометкаУдаления - | И НЕ ГруппыДоступа.ПометкаУдаления"; + | И НЕ ГруппыДоступа.ПометкаУдаления + | И НЕ ГруппыДоступа.Предопределенный"; Выборка = Запрос.Выполнить().Выбрать(); @@ -213,7 +214,7 @@ КонецФункции // Только для внутреннего использования. -Процедура ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных) Экспорт +Процедура ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных, ОтправкаНазад) Экспорт Если ЭлементДанных.ИмяПредопределенныхДанных <> "Администраторы" Тогда Возврат; diff --git a/SSL/src/Catalogs/ГруппыДоступа/ГруппыДоступа.mdo b/SSL/src/Catalogs/ГруппыДоступа/ГруппыДоступа.mdo index fb847a642..daefbf15c 100644 --- a/SSL/src/Catalogs/ГруппыДоступа/ГруппыДоступа.mdo +++ b/SSL/src/Catalogs/ГруппыДоступа/ГруппыДоступа.mdo @@ -106,6 +106,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ManagerModule.bsl b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ManagerModule.bsl index 24557291d..b81a23358 100644 --- a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ManagerModule.bsl +++ b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ManagerModule.bsl @@ -13,6 +13,16 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ObjectModule.bsl b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ObjectModule.bsl index 71c9bc9a1..8e6fc7f5c 100644 --- a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ObjectModule.bsl +++ b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ObjectModule.bsl @@ -40,10 +40,10 @@ Если НЕ Запрос.Выполнить().Пустой() Тогда ВызватьИсключение(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Уже есть группа исполнителей задач, для которой заданы + НСтр("ru = 'Уже есть группа исполнителей задач, для которой заданы: |роль исполнителя ""%1"", - |дсновной объект адресации ""%2"" и - |дополнительный объект адресации ""%3""'"), + |основной объект адресации ""%2"" + |и дополнительный объект адресации ""%3""'"), Строка(РольИсполнителя), Строка(ОсновнойОбъектАдресации), Строка(ДополнительныйОбъектАдресации))); diff --git a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ГруппыИсполнителейЗадач.mdo b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ГруппыИсполнителейЗадач.mdo index c89b64f85..27bc5f6f7 100644 --- a/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ГруппыИсполнителейЗадач.mdo +++ b/SSL/src/Catalogs/ГруппыИсполнителейЗадач/ГруппыИсполнителейЗадач.mdo @@ -94,6 +94,7 @@ Use + true Catalog.ГруппыИсполнителейЗадач.Attribute.ОсновнойОбъектАдресации Catalog.ГруппыИсполнителейЗадач.Attribute.РольИсполнителя Catalog.ГруппыИсполнителейЗадач.Attribute.ДополнительныйОбъектАдресации diff --git a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Form.form index e6486e4fa..21df5c2ef 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Form.form @@ -1,5 +1,57 @@ + + ГруппаПользовательскихНастроек + 19 + true + true + + true + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 17 + true + true + + true + + + КоманднаяПанельРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -95,6 +147,7 @@ true true true + true true true true @@ -144,10 +197,10 @@ СписокСтрокаПоиска - 14 + 21 СписокСтрокаПоискаРасширеннаяПодсказка - 16 + 23 Label true true @@ -157,7 +210,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 15 + 22 true Список @@ -167,10 +220,10 @@ СписокСостояниеПросмотра - 17 + 24 СписокСостояниеПросмотраРасширеннаяПодсказка - 19 + 26 Label true true @@ -180,7 +233,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 18 + 25 true ViewStatusAddition @@ -191,10 +244,10 @@ СписокУправлениеПоиском - 20 + 27 СписокУправлениеПоискомРасширеннаяПодсказка - 22 + 29 Label true true @@ -204,7 +257,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 21 + 28 true SearchControlAddition @@ -265,13 +318,55 @@ true + ГруппаПользовательскихНастроек +
    + + + ПолеКомментарий + 14 + true + true + + true + + + Items.Список.CurrentData.Комментарий + + + ПолеКомментарийРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + + ПолеКомментарийКонтекстноеМеню + 15 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Module.bsl index f4ae4406f..457e90109 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаСписка/Module.bsl @@ -20,7 +20,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); // Исключение выбора группы Все внешние пользователи в качестве родителя. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( @@ -35,8 +35,9 @@ Иначе Заголовок = НСтр("ru = 'Выбор группы пользователей'"); КонецЕсли; + АвтоЗаголовок = Ложь; + КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Form.form index 8f5155655..2fa74add9 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Form.form @@ -45,34 +45,801 @@ Normal
    - - Состав - 10 - true - true - - true - - - Объект.Состав - - false - Top - Copy - - Пользователь - 15 + + СтраницыУчастникиГруппыКомментарий + 78 + + УчастникиГруппы + 80 + + Состав + 10 + true + true + + true + + + Объект.Состав + + false + None + Copy + MoveDown + MoveUp + SortListAsc + SortListDesc + + Пользователь + 15 + true + true + + true + + + Объект.Состав.Пользователь + + + ПользовательExtendedTooltip + 69 + Label + true + true + + Left + + + + ПользовательКонтекстноеМеню + 16 + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + Normal + + + + Недействителен + 52 + true + + true + + + Объект.Состав.Недействителен + + + НедействителенExtendedTooltip + 70 + Label + true + true + + Left + + + + НедействителенКонтекстноеМеню + 53 + true + + CheckBoxField + Auto + true + Left + true + + + + СоставКоманднаяПанель + 12 + + СоставПодобрать + 31 + true + true + + true + + false + + СоставПодобратьExtendedTooltip + 60 + Label + true + true + + Left + + + Form.Command.ПодобратьПользователей + Normal + Auto + true + true + UserCmds + Auto + + + СоставДобавить + 32 + true + true + + true + + false + + СоставДобавитьExtendedTooltip + 61 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СоставИзменить + 106 + true + true + + true + + + СоставИзменитьРасширеннаяПодсказка + 107 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СоставСкопировать + 49 + true + true + + true + + false + + СоставСкопироватьExtendedTooltip + 62 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + + + СоставУдалить + 33 + true + true + + true + + false + + СоставУдалитьExtendedTooltip + 63 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + СоставПереместитьВверх + 96 + true + true + + true + + + СоставПереместитьВверхРасширеннаяПодсказка + 97 + Label + true + true + + Left + + + Form.Command.ПереместитьВверх + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СоставПереместитьВниз + 98 + true + true + + true + + + СоставПереместитьВнизРасширеннаяПодсказка + 99 + Label + true + true + + Left + + + Form.Command.ПереместитьВниз + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СоставСортироватьПоВозрастанию + 84 + true + true + + true + + + СоставСортироватьПоВозрастаниюРасширеннаяПодсказка + 85 + Label + true + true + + Left + + + Form.Command.СортироватьПоВозрастанию + Normal + Auto + true + true + UserCmds + Auto + + + СоставСортироватьПоУбыванию + 86 + true + true + + true + + + СоставСортироватьПоУбываниюРасширеннаяПодсказка + 87 + Label + true + true + + Left + + + Form.Command.СортироватьПоУбыванию + Normal + Auto + true + true + UserCmds + Auto + + + ПоказыватьНедействительныхПользователей + 51 + true + true + + true + + + ПоказыватьНедействительныхПользователейExtendedTooltip + 54 + Label + true + true + + Left + + + Form.Command.ПоказыватьНедействительныхПользователей + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СоставСтандартныеКоманды + 76 + true + true + + true + + + <key>ru</key> + <value>Состав стандартные команды</value> + + + СоставСтандартныеКомандыРасширеннаяПодсказка + 77 + Label + true + true + + Left + + + + Item.Состав + + + Left + + + Drag + СоставПеретаскивание + + + ChoiceProcessing + СоставОбработкаВыбора + + + СоставСтрокаПоиска + 109 + + СоставСтрокаПоискаРасширеннаяПодсказка + 111 + Label + true + true + + Left + + + + СоставСтрокаПоискаКонтекстноеМеню + 110 + true + + Состав + + true + + + + СоставСостояниеПросмотра + 112 + + СоставСостояниеПросмотраРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + + СоставСостояниеПросмотраКонтекстноеМеню + 113 + true + + ViewStatusAddition + Состав + + true + + + + СоставУправлениеПоиском + 115 + + СоставУправлениеПоискомРасширеннаяПодсказка + 117 + Label + true + true + + Left + + + + СоставУправлениеПоискомКонтекстноеМеню + 116 + true + + SearchControlAddition + Состав + + true + + + + СоставExtendedTooltip + 68 + Label + true + true + + Left + + + + СоставКонтекстноеМеню + 11 + + СоставКонтекстноеМенюПодобратьПользователей + 42 + true + true + + true + + false + + СоставКонтекстноеМенюПодобратьПользователейРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + Form.Command.ПодобратьПользователей + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюДобавить + 45 + true + true + + true + + false + + СоставКонтекстноеМенюДобавитьРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюИзменить + 104 + true + true + + true + + + СоставКонтекстноеМенюИзменитьРасширеннаяПодсказка + 105 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюСкопировать + 50 + true + true + + true + + false + + СоставКонтекстноеМенюСкопироватьРасширеннаяПодсказка + 58 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюУдалить + 46 + true + true + + true + + false + + СоставКонтекстноеМенюУдалитьРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + Form.Item.Состав.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюПереместитьВверх + 100 + true + true + + true + + + СоставКонтекстноеМенюПереместитьВверхРасширеннаяПодсказка + 101 + Label + true + true + + Left + + + Form.Command.ПереместитьВверх + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюПереместитьВниз + 102 + true + true + + true + + + СоставКонтекстноеМенюПереместитьВнизРасширеннаяПодсказка + 103 + Label + true + true + + Left + + + Form.Command.ПереместитьВниз + Normal + Auto + true + true + UserCmds + Auto + + + СоставКонтекстноеМенюСтандартныеКоманды + 74 + true + true + + true + + + <key>ru</key> + <value>Состав контекстное меню стандартные команды</value> + + + СоставКонтекстноеМенюСтандартныеКомандыРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + + Item.Состав + + + + true + true + 30 + true + true + 12 + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + true + true + true + + Style.BorderColor + + None + None + None + true + + + + Родитель + 40 + true + true + + true + + + Объект.Parent + + + РодительExtendedTooltip + 72 + Label + true + true + + Left + + + + РодительКонтекстноеМеню + 41 + true + + InputField + Enter + true + Left + true + + + StartChoice + РодительНачалоВыбора + + true + true + true + true + true + true + Normal + + true true true - - Объект.Состав.Пользователь - + + <key>ru</key> + <value>Участники группы</value> + - ПользовательExtendedTooltip - 69 + УчастникиГруппыРасширеннаяПодсказка + 81 Label true true @@ -80,344 +847,74 @@ Left
    - - ПользовательКонтекстноеМеню - 16 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal + Page + + Vertical + auto - - Недействителен - 52 + + ГруппаКомментарий + 82 + + Комментарий + 38 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 73 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 39 + true + + InputField + Enter + true + Left + true + + + StartChoice + КомментарийНачалоВыбора + + true + 2 + true + true + true + true + true + true + Normal + + + true true true - - Объект.Состав.Недействителен - + + <key>ru</key> + <value>Комментарий</value> + - НедействителенExtendedTooltip - 70 - Label - true - true - - Left - - - - НедействителенКонтекстноеМеню - 53 - true - - CheckBoxField - Auto - true - Left - true - - - - СоставКоманднаяПанель - 12 - - СоставПодобрать - 31 - true - true - - true - - false - - СоставПодобратьExtendedTooltip - 60 - Label - true - true - - Left - - - Form.Command.ПодобратьПользователей - Normal - Auto - true - true - UserCmds - Auto - - - СоставДобавить - 32 - true - true - - true - - false - - СоставДобавитьExtendedTooltip - 61 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - СоставСкопировать - 49 - true - true - - true - - false - - СоставСкопироватьExtendedTooltip - 62 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - СоставУдалить - 33 - true - true - - true - - false - - СоставУдалитьExtendedTooltip - 63 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - СоставПереместитьВверх - 43 - true - true - - true - - false - - СоставПереместитьВверхExtendedTooltip - 64 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - СоставПереместитьВниз - 44 - true - true - - true - - false - - СоставПереместитьВнизExtendedTooltip - 65 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - СоставСортироватьПоВозрастанию - 34 - true - true - - true - - false - - СоставСортироватьПоВозрастаниюExtendedTooltip - 66 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СоставСортироватьПоУбыванию - 35 - true - true - - true - - false - - СоставСортироватьПоУбываниюExtendedTooltip - 67 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - Left - - - Drag - СоставПеретаскивание - - - ChoiceProcessing - СоставОбработкаВыбора - - - СоставСтрокаПоиска - 75 - - СоставСтрокаПоискаРасширеннаяПодсказка - 77 - Label - true - true - - Left - - - - СоставСтрокаПоискаКонтекстноеМеню - 76 - true - - Состав - - true - - - - СоставСостояниеПросмотра - 78 - - СоставСостояниеПросмотраРасширеннаяПодсказка - 80 - Label - true - true - - Left - - - - СоставСостояниеПросмотраКонтекстноеМеню - 79 - true - - ViewStatusAddition - Состав - - true - - - - СоставУправлениеПоиском - 81 - - СоставУправлениеПоискомРасширеннаяПодсказка + ГруппаКомментарийРасширеннаяПодсказка 83 Label true @@ -426,267 +923,10 @@ Left - - СоставУправлениеПоискомКонтекстноеМеню - 82 - true - - SearchControlAddition - Состав - - true - - - - СоставExtendedTooltip - 68 - Label - true - true - - Left - - - - СоставКонтекстноеМеню - 11 - - КонтекстноеМенюСоставПодобратьПользователей - 42 - true - true - - true - - false - - КонтекстноеМенюСоставПодобратьПользователейExtendedTooltip - 56 - Label - true - true - - Left - - - Form.Command.ПодобратьПользователей - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСоставДобавить - 45 - true - true - - true - - false - - КонтекстноеМенюСоставДобавитьExtendedTooltip - 57 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСоставСкопировать - 50 - true - true - - true - - false - - КонтекстноеМенюСоставСкопироватьExtendedTooltip - 58 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСоставУдалить - 46 - true - true - - true - - false - - КонтекстноеМенюСоставУдалитьExtendedTooltip - 59 - Label - true - true - - Left - - - Form.Item.Состав.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - true - true - 30 - true - true - 12 - true - MultiRow - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - true - true - - Style.BorderColor - - None - None - None - true - - - - Прочее - 9 - - Родитель - 40 - true - true - - true - - - Объект.Parent - - - РодительExtendedTooltip - 72 - Label - true - true - - Left - - - - РодительКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - - StartChoice - РодительНачалоВыбора - - true - true - true - true - true - true - Normal - - - - Комментарий - 38 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 73 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 39 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - true - true - true - true - true - true - Normal + Page + + Vertical + auto true @@ -696,15 +936,11 @@ <key>ru</key> - <value>Прочее</value> + <value>Страницы участники группы комментарий</value> - - ru - Прочее - - ПрочееExtendedTooltip - 71 + СтраницыУчастникиГруппыКомментарийРасширеннаяПодсказка + 79 Label true true @@ -712,14 +948,9 @@ Left - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto + Pages + + TabsOnTop Auto @@ -728,33 +959,6 @@ ФормаКоманднаяПанель -1 - - ПоказыватьНедействительныхПользователей - 51 - true - true - - true - - - ПоказыватьНедействительныхПользователейExtendedTooltip - 54 - Label - true - true - - Left - - - Form.Command.ПоказыватьНедействительныхПользователей - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left true @@ -855,6 +1059,106 @@ Auto Auto + + СортироватьПоВозрастанию + + <key>ru</key> + <value>Сортировать по возрастанию</value> + + 3 + + ru + Упорядочить список по возрастанию + + + true + + + StdPicture.SortListAsc + + + + СортироватьПоВозрастанию + + + Picture + true + Auto + Auto + + + СортироватьПоУбыванию + + <key>ru</key> + <value>Сортировать по убыванию</value> + + 4 + + ru + Упорядочить список по убыванию + + + true + + + StdPicture.SortListDesc + + + + СортироватьПоУбыванию + + + Picture + true + Auto + Auto + + + ПереместитьВверх + + <key>ru</key> + <value>Переместить вверх</value> + + 5 + + true + + + StdPicture.MoveUp + + + + ПереместитьВверх + + + Picture + true + Auto + Auto + + + ПереместитьВниз + + <key>ru</key> + <value>Переместить вниз</value> + + 6 + + true + + + StdPicture.MoveDown + + + + ПереместитьВниз + + + Picture + true + Auto + Auto + diff --git a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Help/ru.html index 0c2d81fa0..30ba13a65 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

    Группа пользователей

    Просмотр и редактирование свойств группы пользователей.

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

    diff --git a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Module.bsl index 8eb06ae1b..b6977cd67 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ГруппыПользователей/Forms/ФормаЭлемента/Module.bsl @@ -1,4 +1,4 @@ - + #Область ОбработчикиСобытийФормы &НаСервере @@ -114,6 +114,26 @@ КонецПроцедуры +&НаКлиенте +Процедура СортироватьПоВозрастанию(Команда) + СоставСортироватьСтроки("ПоВозрастанию"); +КонецПроцедуры + +&НаКлиенте +Процедура СортироватьПоУбыванию(Команда) + СоставСортироватьСтроки("ПоУбыванию"); +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВверх(Команда) + СоставПереместитьСтроку("Вверх"); +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВниз(Команда) + СоставПереместитьСтроку("Вниз"); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -220,4 +240,55 @@ КонецПроцедуры +&НаСервере +Процедура СоставСортироватьСтроки(ТипСортировки) + + Если Не Элементы.ПоказыватьНедействительныхПользователей.Пометка Тогда + Элементы.Состав.ОтборСтрок = Новый ФиксированнаяСтруктура(); + КонецЕсли; + + Если ТипСортировки = "ПоВозрастанию" Тогда + Объект.Состав.Сортировать("Пользователь Возр"); + Иначе + Объект.Состав.Сортировать("Пользователь Убыв"); + КонецЕсли; + + Если Не Элементы.ПоказыватьНедействительныхПользователей.Пометка Тогда + Отбор = Новый Структура; + Отбор.Вставить("Недействителен", Ложь); + Элементы.Состав.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СоставПереместитьСтроку(НаправлениеПеремещения) + + Строка = Объект.Состав.НайтиПоИдентификатору(Элементы.Состав.ТекущаяСтрока); + Если Строка = Неопределено Тогда + Возврат; + КонецЕсли; + + ИндексТекущейСтроки = Строка.НомерСтроки - 1; + Сдвиг = 0; + + Пока Истина Цикл + Сдвиг = Сдвиг + ?(НаправлениеПеремещения = "Вверх", -1, 1); + + Если ИндексТекущейСтроки + Сдвиг < 0 + Или ИндексТекущейСтроки + Сдвиг >= Объект.Состав.Количество() Тогда + Возврат; + КонецЕсли; + + Если Элементы.ПоказыватьНедействительныхПользователей.Пометка + Или Объект.Состав[ИндексТекущейСтроки + Сдвиг].Недействителен = Ложь Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Объект.Состав.Сдвинуть(ИндексТекущейСтроки, Сдвиг); + Элементы.Состав.Обновить(); + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/Catalogs/ГруппыПользователей/Help/ru.html b/SSL/src/Catalogs/ГруппыПользователей/Help/ru.html index 1dcb2b2dc..a771a6304 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/Help/ru.html +++ b/SSL/src/Catalogs/ГруппыПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

    Предназначен для ведения групп пользователей.

    Удобно использовать группы, когда в программе много пользователей:

    • diff --git a/SSL/src/Catalogs/ГруппыПользователей/ObjectModule.bsl b/SSL/src/Catalogs/ГруппыПользователей/ObjectModule.bsl index ba76b00f2..c6e18639d 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/ObjectModule.bsl +++ b/SSL/src/Catalogs/ГруппыПользователей/ObjectModule.bsl @@ -1,5 +1,8 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +//////////////////////////////////////////////////////////////////////////////// +// СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ + Перем СтарыйРодитель; // Значение родителя группы до изменения для использования // в обработчике события ПриЗаписи. diff --git a/SSL/src/Catalogs/ГруппыПользователей/ГруппыПользователей.mdo b/SSL/src/Catalogs/ГруппыПользователей/ГруппыПользователей.mdo index fd0b03fd7..c80abbc17 100644 --- a/SSL/src/Catalogs/ГруппыПользователей/ГруппыПользователей.mdo +++ b/SSL/src/Catalogs/ГруппыПользователей/ГруппыПользователей.mdo @@ -112,6 +112,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/БыстрыйДоступКДополнительнымОтчетамИОбработкам/Module.bsl b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/БыстрыйДоступКДополнительнымОтчетамИОбработкам/Module.bsl index 99559068f..cea75e1e3 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/БыстрыйДоступКДополнительнымОтчетамИОбработкам/Module.bsl +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/БыстрыйДоступКДополнительнымОтчетамИОбработкам/Module.bsl @@ -11,12 +11,7 @@ НСтр("ru = 'Быстрый доступ к команде ""%1""'"), Параметры.ПредставлениеКоманды); - Для Каждого ПользовательСтрока Из Параметры.ПользователиСБыстрымДоступом Цикл - НоваяСтрока = ПользователиКороткогоСписка.Добавить(); - НоваяСтрока.Пользователь = ПользовательСтрока.Значение; - КонецЦикла; - - ЗаполнитьТаблицуПользователейСКороткимСписком(); + ЗаполнитьТаблицы(); КонецПроцедуры @@ -138,27 +133,19 @@ #Область СлужебныеПроцедурыИФункции &НаСервере -Процедура ЗаполнитьТаблицуПользователейСКороткимСписком() - - МассивПользователей = ПользователиКороткогоСписка.Выгрузить().ВыгрузитьКолонку("Пользователь"); - - ТекстЗапроса = "ВЫБРАТЬ - | Истина КАК Используется, - | Ссылка КАК Пользователь - |ИЗ - | Справочник.Пользователи - |ГДЕ - | НЕ ПометкаУдаления - | И НЕ Ссылка В (&МассивПользователей)"; - - Запрос = Новый Запрос; - Запрос.Текст = ТекстЗапроса; - Запрос.Параметры.Вставить("МассивПользователей", МассивПользователей); - ЗначениеВРеквизитФормы(Запрос.Выполнить().Выгрузить(), "ВсеПользователи"); - +Процедура ЗаполнитьТаблицы() + СписокВыбранных = Параметры.ПользователиСБыстрымДоступом; + Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Справочник.Пользователи ГДЕ НЕ ПометкаУдаления И НЕ Недействителен"); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Если СписокВыбранных.НайтиПоЗначению(Выборка.Ссылка) = Неопределено Тогда + ВсеПользователи.Добавить().Пользователь = Выборка.Ссылка; + Иначе + ПользователиКороткогоСписка.Добавить().Пользователь = Выборка.Ссылка; + КонецЕсли; + КонецЦикла; ВсеПользователи.Сортировать("Пользователь Возр"); ПользователиКороткогоСписка.Сортировать("Пользователь Возр"); - КонецПроцедуры &НаКлиенте diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Form.form b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Form.form new file mode 100644 index 000000000..153de1d7f --- /dev/null +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Form.form @@ -0,0 +1,263 @@ + + + + ГруппаСообщениеПользователю + 7 + + КартинкаСообщения + 9 + + <key>ru</key> + <value>Картинка сообщения</value> + + true + true + + true + + + КартинкаСообщенияРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + + КартинкаСообщенияКонтекстноеМеню + 10 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ТекстСообщения + 12 + + <key>ru</key> + <value>Рекомендуется проверить совместимость дополнительных отчетов и +обработок с текущей версией программы. +Устаревшие дополнительные отчеты и обработки могут работать некорректно, +в этом случае их необходимо обновить (или временно отключить). </value> + + true + true + + true + + + ТекстСообщенияРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + + ТекстСообщенияКонтекстноеМеню + 13 + true + + Label + true + true + + Left + + + true + true + + true + + + ГруппаСообщениеПользователюРасширеннаяПодсказка + 8 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + Bottom + true + + ФормаКоманднаяПанель + -1 + + ФормаПерейтиКСписку + 3 + true + true + + true + + + ФормаПерейтиКСпискуРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Form.Command.ПерейтиКСписку + Auto + true + true + true + UserCmds + Auto + + + ФормаПроверено + 1 + true + true + + true + + + ФормаПровереноРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Form.Command.Проверено + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗакрыть + 5 + true + true + + true + + + ФормаЗакрытьРасширеннаяПодсказка + 6 + Label + true + true + + Left + + + Form.Command.Закрыть + Normal + Auto + true + true + UserCmds + Auto + + Right + + 60 + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + Проверено + + <key>ru</key> + <value>Проверено</value> + + 1 + + ru + Не выводить больше это сообщение до следующего обновления программы. + + + true + + + + Проверено + + + Auto + Auto + + + ПерейтиКСписку + + <key>ru</key> + <value>Перейти к списку</value> + + 2 + + true + + + + ПерейтиКСписку + + + Auto + Auto + + + Закрыть + + <key>ru</key> + <value>Отмена</value> + + 3 + + true + + + + ЗакрытьФорму + + + Auto + Auto + + + + + + diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Module.bsl b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Module.bsl new file mode 100644 index 000000000..8cff25889 --- /dev/null +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ПроверкаДополнительныхОтчетовИОбработок/Module.bsl @@ -0,0 +1,35 @@ +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ПерейтиКСписку(Команда) + ПараметрыОтбора = Новый Структура; + ПараметрыОтбора.Вставить("ПроверкаДополнительныхОтчетовИОбработок", Истина); + + ОткрытьФорму("Справочник.ДополнительныеОтчетыИОбработки.Форма.ФормаСписка", ПараметрыОтбора); +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму(Команда) + Закрыть(); +КонецПроцедуры + +&НаКлиенте +Процедура Проверено(Команда) + ОтметитьВыполнениеДела(); + Закрыть(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ОтметитьВыполнениеДела() + + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "ДополнительныеОтчетыИОбработки", ТекущаяВерсия); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Form.form index ac7b56d8d..9197cdac6 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Form.form @@ -1,5 +1,37 @@ + + ГруппаПользовательскихНастроек + 78 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + БыстрыеОтборы 22 @@ -271,6 +303,115 @@ Form + + ГруппаИзменениеПубликации + 64 + + Используется + 72 + true + true + + true + + + ИспользуетсяРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + Form.Command.ПубликацияИспользуется + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + РежимОтладки + 76 + true + true + + true + + + РежимОтладкиРасширеннаяПодсказка + 77 + Label + true + true + + Left + + + Form.Command.ПубликацияРежимОтладки + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Отключена + 74 + true + true + + true + + + ОтключенаРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + Form.Command.ПубликацияОтключена + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Публикация</value> + + + ГруппаИзменениеПубликацииРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + Popup + + Auto + Normal + + ЗагрузитьИзФайла 56 @@ -348,7 +489,6 @@ true UserCmds Auto - InAdditionalSubmenu Справка @@ -674,10 +814,10 @@ СписокСтрокаПоиска - 66 + 82 СписокСтрокаПоискаРасширеннаяПодсказка - 68 + 84 Label true true @@ -687,7 +827,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 67 + 83 true Список @@ -697,10 +837,10 @@ СписокСостояниеПросмотра - 69 + 85 СписокСостояниеПросмотраРасширеннаяПодсказка - 71 + 87 Label true true @@ -710,7 +850,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 70 + 86 true ViewStatusAddition @@ -721,10 +861,10 @@ СписокУправлениеПоиском - 72 + 88 СписокУправлениеПоискомРасширеннаяПодсказка - 74 + 90 Label true true @@ -734,7 +874,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 73 + 89 true SearchControlAddition @@ -872,6 +1012,7 @@ true + ГруппаПользовательскихНастроек None @@ -1082,12 +1223,86 @@ ИзменитьВыделенные + FunctionalOption.СтандартныеПодсистемыВЛокальномРежиме + Auto + Auto + + + ПубликацияРежимОтладки + + <key>ru</key> + <value>Режим отладки</value> + + 4 + + true + + + + ПубликацияРежимОтладки + + + Auto + Auto + + + ПубликацияОтключена + + <key>ru</key> + <value>Отключена</value> + + 5 + + true + + + + ПубликацияОтключена + + + Auto + Auto + + + ПубликацияИспользуется + + <key>ru</key> + <value>Используется</value> + + 6 + + true + + + + ПубликацияИспользуется + + Auto Auto - + + + 0 + FormCommandBarImportant + 0 + + + + 0 + FormCommandBarImportant + 2 + + + + 0 + FormCommandBarImportant + 1 + + + diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Module.bsl index 6e8ea29f4..3dac1e745 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаСписка/Module.bsl @@ -77,6 +77,11 @@ Элементы.ИзменитьВыделенныеСписок.Видимость = Ложь; КонецЕсли; + Если Параметры.Свойство("ПроверкаДополнительныхОтчетовИОбработок") Тогда + Элементы.Создать.Видимость = Ложь; + Элементы.СоздатьГруппу.Видимость = Ложь; + КонецЕсли; + КонецПроцедуры &НаСервере @@ -144,6 +149,21 @@ МодульГрупповоеИзменениеОбъектовКлиент.ИзменитьВыделенные(Элементы.Список); КонецПроцедуры +&НаКлиенте +Процедура ПубликацияИспользуется(Команда) + ИзменитьПубликацию("Используется"); +КонецПроцедуры + +&НаКлиенте +Процедура ПубликацияОтключена(Команда) + ИзменитьПубликацию("Отключена"); +КонецПроцедуры + +&НаКлиенте +Процедура ПубликацияРежимОтладки(Команда) + ИзменитьПубликацию("РежимОтладки"); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -207,4 +227,101 @@ КонецПроцедуры +&НаКлиенте +Процедура ИзменитьПубликацию(ВариантПубликации) + + ОчиститьСообщения(); + Результат = ИзменениеПубликации(ВариантПубликации); + + Если ТипЗнч(Результат) = Тип("Структура") Тогда + СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(ЭтотОбъект, Результат); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ИзменениеПубликации(ВариантПубликации) + + НовыйРезультатВыполнения = СтандартныеПодсистемыКлиентСервер.НовыйРезультатВыполнения(); + ВыделенныеСтроки = Элементы.Список.ВыделенныеСтроки; + + Если ВыделенныеСтроки.Количество() = 0 Тогда + ТекстСообщения = НСтр("ru = 'Не выбран ни один дополнительный отчет (обработка)'"); + ВыводПредупреждения = НовыйРезультатВыполнения.ВыводПредупреждения; + ВыводПредупреждения.Использование = Истина; + ВыводПредупреждения.Текст = ТекстСообщения; + Возврат НовыйРезультатВыполнения; + КонецЕсли; + + Для Каждого ВыделеннаяСтрока Из ВыделенныеСтроки Цикл + + Попытка + ЗаблокироватьДанныеДляРедактирования(ВыделеннаяСтрока); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ВыводПредупреждения = НовыйРезультатВыполнения.ВыводПредупреждения; + ВыводПредупреждения.Использование = Истина; + ВыводПредупреждения.Текст = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + + Элементы.Список.Обновить(); + Возврат НовыйРезультатВыполнения; + КонецПопытки; + + НачатьТранзакцию(); + + Объект = ВыделеннаяСтрока.ПолучитьОбъект(); + Если ВариантПубликации = "Используется" Тогда + Объект.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется; + ИначеЕсли ВариантПубликации = "РежимОтладки" Тогда + Объект.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки; + Иначе + Объект.Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена; + КонецЕсли; + + Объект.ДополнительныеСвойства.Вставить("ПроверкаСписка"); + Если Не Объект.ПроверитьЗаполнение() Тогда + ОтменитьТранзакцию(); + Элементы.Список.Обновить(); + + ПредставлениеОшибки = ""; + МассивСообщений = ПолучитьСообщенияПользователю(Истина); + Для Каждого СообщениеПользователю Из МассивСообщений Цикл + ПредставлениеОшибки = ПредставлениеОшибки + СообщениеПользователю.Текст + Символы.ПС; + КонецЦикла; + + РазблокироватьДанныеДляРедактирования(ВыделеннаяСтрока); + + ВыводПредупреждения = НовыйРезультатВыполнения.ВыводПредупреждения; + ВыводПредупреждения.Использование = Истина; + ВыводПредупреждения.Текст = ПредставлениеОшибки; + Возврат НовыйРезультатВыполнения; + КонецЕсли; + + Объект.Записать(); + + ЗафиксироватьТранзакцию(); + РазблокироватьДанныеДляРедактирования(ВыделеннаяСтрока); + + КонецЦикла; + + Элементы.Список.Обновить(); + + Если ВыделенныеСтроки.Количество() = 1 Тогда + ИмяОбъекта = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВыделенныеСтроки[0], "Наименование"); + ТекстСообщения = НСтр("ru = 'Изменена публикация дополнительного отчета (обработки) ""%1""'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ИмяОбъекта); + Иначе + ТекстСообщения = НСтр("ru = 'Изменена публикация у %1 дополнительных отчетов (обработок)'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ВыделенныеСтроки.Количество()); + КонецЕсли; + + ВыводОповещения = НовыйРезультатВыполнения.ВыводОповещения; + ВыводОповещения.Использование = Истина; + ВыводОповещения.Текст = ТекстСообщения; + ВыводОповещения.Заголовок = НСтр("ru = 'Изменена публикация'"); + + Возврат НовыйРезультатВыполнения; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Form.form index fa8c1b5eb..41a3ac877 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Form.form @@ -79,6 +79,7 @@ Left true + Tumbler Enum.ВариантыПубликацииДополнительныхОтчетовИОбработок.EnumValue.Используется @@ -106,10 +107,6 @@ ru Группа публикация ответственный - - ru - Группа публикация ответственный - ГруппаПубликацияОтветственныйExtendedTooltip 179 @@ -300,10 +297,6 @@ ru Типы форм - - ru - Типы форм - ТипыФормExtendedTooltip 182 @@ -323,621 +316,86 @@ Auto + + Страницы + 314 + + Параметры + 316 + true + true + + true + + + <key>ru</key> + <value>Параметры</value> + + + ПараметрыРасширеннаяПодсказка + 317 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы</value> + + + СтраницыРасширеннаяПодсказка + 315 + Label + true + true + + Left + + + Pages + + TabsOnTop + Auto + + СтраницыВариантыКомандыРазрешения 80 - СтраницаРазрешения - 259 - - ГруппаБезопасныйРежимСРазрешениями - 287 - - ДекорацияБезопасныйРежимСРазрешениямиПиктограмма - 267 - - <key>ru</key> - <value>Декорация безопасный режим с разрешениями пиктограмма</value> - - true - true - - true - - - ДекорацияБезопасныйРежимСРазрешениямиПиктограммаРасширеннаяПодсказка - 269 - Label - true - true - - Left - - - - ДекорацияБезопасныйРежимСРазрешениямиПиктограммаКонтекстноеМеню - 268 - true - - 2 - true - 1 - true - true - - - CommonPicture.ИнформацияПоНедоступнымПолям - - - - - СтраницыБезопасныйРежимСРазрешениями - 263 - - СтраницаПерсональныйПрофильБезопасности - 289 - - ДекорацияПерсональныйПрофильБезопасностиНадпись - 295 - - <key>ru</key> - <value>Дополнительный отчет или обработка будет подключаться к программе с использованием "персонального" -профиля безопасности %1, в котором будут разрешены только следующие операции:</value> - - true - true - - true - - - ДекорацияПерсональныйПрофильБезопасностиНадписьРасширеннаяПодсказка - 297 - Label - true - true - - Left - - - - ДекорацияПерсональныйПрофильБезопасностиНадписьКонтекстноеМеню - 296 - true - - Label - true - true - true - true - - Style.FieldSelectionBackColor - - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Страница персональный профиль безопасности</value> - - - ru - Страница персональный профиль безопасности - - - СтраницаПерсональныйПрофильБезопасностиРасширеннаяПодсказка - 290 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаНебезопасныйРежимСРазрешениями - 293 - - ДекорацияНебезопасныйРежимНадпись - 298 - - <key>ru</key> - <value>Дополнительный отчет или обработка будет подключаться к программе без установки безопасного режима, -т.к. для корректной работы дополнительного отчета или обработки требуется выполнение следующих операций -с внешними ресурсами:</value> - - true - true - - true - - - ДекорацияНебезопасныйРежимНадписьРасширеннаяПодсказка - 300 - Label - true - true - - Left - - - - ДекорацияНебезопасныйРежимНадписьКонтекстноеМеню - 299 - true - - Label - true - true - true - true - - Style.SpecialTextColor - - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Страница небезопасный режим с разрешениями</value> - - - ru - Страница небезопасный режим с разрешениями - - - СтраницаНебезопасныйРежимСРазрешениямиРасширеннаяПодсказка - 294 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаБезопасныйРежимСРазрешениями - 291 - - ДекорацияБезопасныйРежимСРазрешениямиНадпись - 301 - - <key>ru</key> - <value>Дополнительный отчет или обработка будет подключаться к программе в безопасном режиме с предоставлением -дополнительных разрешений:</value> - - true - true - - true - - - ДекорацияБезопасныйРежимСРазрешениямиНадписьРасширеннаяПодсказка - 303 - Label - true - true - - Left - - - - ДекорацияБезопасныйРежимСРазрешениямиНадписьКонтекстноеМеню - 302 - true - - Label - true - true - true - true - - Style.FieldSelectionBackColor - - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Страница безопасный режим с разрешениями</value> - - - ru - Страница безопасный режим с разрешениями - - - СтраницаБезопасныйРежимСРазрешениямиРасширеннаяПодсказка - 292 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы безопасный режим с разрешениями</value> - - - ru - Страницы безопасный режим с разрешениями - - - СтраницыБезопасныйРежимСРазрешениямиРасширеннаяПодсказка - 264 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - + СтраницаКоманды + 164 + + РазмещениеКоманд + 167 <key>ru</key> - <value>Группа безопасный режим с разрешениями</value> - - - ru - Группа безопасный режим с разрешениями - - - ГруппаБезопасныйРежимСРазрешениямиРасширеннаяПодсказка - 288 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаСтраницыРежимыСовместимостиРазрешений - 261 - - СтраницаРазрешенияВерсия_2_1_3 - 169 - - Разрешения - 170 - true - true - - true - - - ПредставлениеРазрешений_2_1_3 - - None - - РазрешенияExtendedTooltip - 188 - Label - true - true - - Left - - - - РазрешенияКонтекстноеМеню - 171 - true - - HTMLDocumentField - Enter - true - Left - true - - - OnClick - РазрешенияПриНажатии - - 50 - true - 10 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Разрешения (режим совместимости разрешений "Версия 2.1.3")</value> - - - ru - Страница разрешения версия 2 1 3 - - - СтраницаРазрешенияВерсия_2_1_3РасширеннаяПодсказка - 187 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаРазрешенияВерсия_2_2_2 - 250 - - ПредставлениеРазрешений_2_2_2 - 252 - true - true - - true - - - ПредставлениеРазрешений_2_2_2 - - None - - ПредставлениеРазрешений_2_2_2РасширеннаяПодсказка - 254 - Label - true - true - - Left - - - - ПредставлениеРазрешений_2_2_2КонтекстноеМеню - 253 - true - - SpreadsheetDocumentField - Enter - true - Left - true - - 80 - true - 10 - true - true - true - Special - ScrollAlways - ScrollAlways - Always - Auto - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Разрешения (режим совместимости разрешений "Версия 2.2.3")</value> - - - ru - Страница разрешения версия 2 2 2 - - - СтраницаРазрешенияВерсия_2_2_2РасширеннаяПодсказка - 251 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Группа страницы режимы совместимости разрешений</value> - - - ru - Группа страницы режимы совместимости разрешений - - - ГруппаСтраницыРежимыСовместимостиРазрешенийРасширеннаяПодсказка - 262 - Label - true - true - - Left - - - Pages - - Auto - - - - ГруппаВключениеПрофилейБезопасности - 304 - - ДекорацияВключениеПрофилейБезопасностиНадпись - 306 - - <key>ru</key> - <value>Для того, чтобы "изолировать" возможность обращения к внешних ресурсам из кода дополнительного отчета -или обработки только вышеперчисленными операциями, требуется<link int://sp-on> включить использование профилей</> <link int://sp-on>безопасности</>. -При этом для дополинтельного отчета или обработки будет создан "персональный" профиль безопасности, содержащий -разрешения только на выполнение явно одобренных операций и подключение дополнительного отчета или обработке к -программе без установки безопасного режима больше не будет требоваться.</value> - - true - true - - true - - - ДекорацияВключениеПрофилейБезопасностиНадписьРасширеннаяПодсказка - 308 - Label - true - true - - Left - - - - ДекорацияВключениеПрофилейБезопасностиНадписьКонтекстноеМеню - 307 - true - - true - Label - true - true - true - true - - - URLProcessing - ДекорацияВключениеПрофилейБезопасностиНадписьОбработкаНавигационнойСсылки - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Группа включение профилей безопасности</value> - - - ru - Группа включение профилей безопасности - - - ГруппаВключениеПрофилейБезопасностиРасширеннаяПодсказка - 305 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ДекормацияРазрешенияСмТакже - 311 - - <key>ru</key> - <value>Подробно о режимах подключения дополнительных отчетов и обработок см. информацию в справке к форме.</value> + <value>Размещение</value> true true true + + ПредставлениеНазначения + - ДекормацияРазрешенияСмТакжеРасширеннаяПодсказка - 313 + РазмещениеКомандExtendedTooltip + 210 Label true true @@ -946,16 +404,423 @@ - ДекормацияРазрешенияСмТакжеКонтекстноеМеню - 312 + РазмещениеКомандКонтекстноеМеню + 168 + true + + LabelField + Enter + true + Left + true + + + Click + НазначениеКомандЗаполнениеФормыНажатие + + true + true + true + + + + ОбъектКоманды + 147 + true + true + + true + + + Объект.Команды + + None + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + SortListAsc + SortListDesc + + ОбъектКомандыПредставление + 156 + true + true + + true + + + Объект.Команды.Представление + + + ОбъектКомандыПредставлениеExtendedTooltip + 214 + Label + true + true + + Left + + + + ОбъектКомандыПредставлениеКонтекстноеМеню + 157 + true + + InputField + true + Auto + true + Left + true + + 10 + true + true + true + true + true + Normal + + + + ОбъектКомандыБыстрыйДоступПредставление + 158 + true + true + + true + + + Объект.Команды.БыстрыйДоступПредставление + + + ru + Пользователи, которым выведена команда. + + + ОбъектКомандыБыстрыйДоступПредставлениеExtendedTooltip + 215 + Label + true + true + + Left + + + + ОбъектКомандыБыстрыйДоступПредставлениеКонтекстноеМеню + 159 + true + + InputField + true + Left + true + + + StartChoice + ОбъектКомандыБыстрыйДоступПредставлениеНачалоВыбора + + + Clearing + ОбъектКомандыБыстрыйДоступПредставлениеОчистка + + 1 + true + true + false + true + true + true + OnActivate + true + Normal + + + + ОбъектКомандыРегламентноеЗаданиеИспользование + 160 + true + true + + true + + + Объект.Команды.РегламентноеЗаданиеИспользование + + None + + ru + Выполнять команду по расписанию + + + OnChange + ОбъектКомандыРегламентноеЗаданиеИспользованиеПриИзменении + + + ОбъектКомандыРегламентноеЗаданиеИспользованиеExtendedTooltip + 216 + Label + true + true + + Left + + + + ОбъектКомандыРегламентноеЗаданиеИспользованиеКонтекстноеМеню + 161 + true + + CheckBoxField + Auto + true + + StdPicture.SetTime + + Left + true + + + + ОбъектКомандыРегламентноеЗаданиеПредставление + 162 + true + true + + true + + + Объект.Команды.РегламентноеЗаданиеПредставление + + + ru + Расписание выполнения команды. + + + ОбъектКомандыРегламентноеЗаданиеПредставлениеExtendedTooltip + 217 + Label + true + true + + Left + + + + ОбъектКомандыРегламентноеЗаданиеПредставлениеКонтекстноеМеню + 163 + true + + InputField + true + Left + true + + + StartChoice + ОбъектКомандыРегламентноеЗаданиеПредставлениеНачалоВыбора + + + Clearing + ОбъектКомандыРегламентноеЗаданиеПредставлениеОчистка + + 12 + true + true + true + true + true + OnActivate + true + true + Normal + + + None + + ОбъектКомандыКоманднаяПанель + 149 + Left + true + + + BeforeAddRow + ОбъектКомандыПередНачаломДобавления + + + BeforeDeleteRow + ОбъектКомандыПередУдалением + + + ОбъектКомандыСтрокаПоиска + 341 + + ОбъектКомандыСтрокаПоискаРасширеннаяПодсказка + 343 + Label + true + true + + Left + + + + ОбъектКомандыСтрокаПоискаКонтекстноеМеню + 342 + true + + ОбъектКоманды + + true + + + + ОбъектКомандыСостояниеПросмотра + 344 + + ОбъектКомандыСостояниеПросмотраРасширеннаяПодсказка + 346 + Label + true + true + + Left + + + + ОбъектКомандыСостояниеПросмотраКонтекстноеМеню + 345 + true + + ViewStatusAddition + ОбъектКоманды + + true + + + + ОбъектКомандыУправлениеПоиском + 347 + + ОбъектКомандыУправлениеПоискомРасширеннаяПодсказка + 349 + Label + true + true + + Left + + + + ОбъектКомандыУправлениеПоискомКонтекстноеМеню + 348 + true + + SearchControlAddition + ОбъектКоманды + + true + + + + ОбъектКомандыExtendedTooltip + 213 + Label + true + true + + Left + + + + ОбъектКомандыКонтекстноеМеню + 148 + + ОбъектКомандыНастроитьБыстрыйДоступ + 165 + true + true + + true + + + ОбъектКомандыНастроитьБыстрыйДоступExtendedTooltip + 211 + Label + true + true + + Left + + + Form.Command.ОбъектКомандыНастроитьБыстрыйДоступ + Normal + Auto + true + true + UserCmds + Auto + + + ОбъектКомандыНастроитьРасписание + 166 + true + true + + true + + + ОбъектКомандыНастроитьРасписаниеExtendedTooltip + 212 + Label + true + true + + Left + + + Form.Command.ОбъектКомандыНастроитьРасписание + Normal + Auto + true + true + UserCmds + Auto + true - Label true true - - Left - + true + MultiRow +
      true
      + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + Auto + true + true + None + None + None + true +
      true true @@ -964,15 +829,11 @@ <key>ru</key> - <value>Разрешения</value> + <value>Команды</value> - - ru - Страница разрешения - - СтраницаРазрешенияРасширеннаяПодсказка - 260 + СтраницаКомандыExtendedTooltip + 209 Label true true @@ -1385,10 +1246,10 @@ ВариантыДополнительногоОтчетаСтрокаПоиска - 321 + 362 ВариантыДополнительногоОтчетаСтрокаПоискаРасширеннаяПодсказка - 323 + 364 Label true true @@ -1398,7 +1259,7 @@ ВариантыДополнительногоОтчетаСтрокаПоискаКонтекстноеМеню - 322 + 363 true ВариантыДополнительногоОтчета @@ -1408,10 +1269,10 @@ ВариантыДополнительногоОтчетаСостояниеПросмотра - 324 + 365 ВариантыДополнительногоОтчетаСостояниеПросмотраРасширеннаяПодсказка - 326 + 367 Label true true @@ -1421,7 +1282,7 @@ ВариантыДополнительногоОтчетаСостояниеПросмотраКонтекстноеМеню - 325 + 366 true ViewStatusAddition @@ -1432,10 +1293,10 @@ ВариантыДополнительногоОтчетаУправлениеПоиском - 327 + 368 ВариантыДополнительногоОтчетаУправлениеПоискомРасширеннаяПодсказка - 329 + 370 Label true true @@ -1445,7 +1306,7 @@ ВариантыДополнительногоОтчетаУправлениеПоискомКонтекстноеМеню - 328 + 369 true SearchControlAddition @@ -1582,7 +1443,6 @@ true true - 8 true true MultiRow @@ -1680,10 +1540,6 @@ ru Варианты отчета - - ru - Страница варианты - СтраницаВариантыExtendedTooltip 189 @@ -1701,26 +1557,610 @@
      - СтраницаКоманды - 164 - - РазмещениеКоманд - 167 + СтраницаРазрешения + 259 + + ГруппаБезопасныйРежимСРазрешениями + 287 + + ДекорацияБезопасныйРежимСРазрешениямиПиктограмма + 267 + + <key>ru</key> + <value>Декорация безопасный режим с разрешениями пиктограмма</value> + + true + true + + true + + + ДекорацияБезопасныйРежимСРазрешениямиПиктограммаРасширеннаяПодсказка + 269 + Label + true + true + + Left + + + + ДекорацияБезопасныйРежимСРазрешениямиПиктограммаКонтекстноеМеню + 268 + true + + 2 + true + 2 + true + false + + + CommonPicture.ИнформацияПоНедоступнымПолям + + + + + СтраницыБезопасныйРежимСРазрешениями + 263 + + СтраницаПерсональныйПрофильБезопасности + 289 + + ДекорацияПерсональныйПрофильБезопасностиНадпись + 295 + + <key>ru</key> + <value>Дополнительный отчет или обработка будет подключаться к программе с использованием "персонального" +профиля безопасности %1, в котором будут разрешены только следующие операции:</value> + + true + true + + true + + + ДекорацияПерсональныйПрофильБезопасностиНадписьРасширеннаяПодсказка + 297 + Label + true + true + + Left + + + + ДекорацияПерсональныйПрофильБезопасностиНадписьКонтекстноеМеню + 296 + true + + Label + true + true + + Style.FieldSelectionBackColor + + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница персональный профиль безопасности</value> + + + ru + Страница персональный профиль безопасности + + + СтраницаПерсональныйПрофильБезопасностиРасширеннаяПодсказка + 290 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаНебезопасныйРежимСРазрешениями + 293 + + ДекорацияНебезопасныйРежимНадпись + 298 + + <key>ru</key> + <value>Дополнительный отчет или обработка будет подключаться к программе без установки безопасного режима, +т.к. для корректной работы дополнительного отчета или обработки требуется выполнение следующих операций +с внешними ресурсами:</value> + + true + true + + true + + + ДекорацияНебезопасныйРежимНадписьРасширеннаяПодсказка + 300 + Label + true + true + + Left + + + + ДекорацияНебезопасныйРежимНадписьКонтекстноеМеню + 299 + true + + Label + true + true + + Style.SpecialTextColor + + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница небезопасный режим с разрешениями</value> + + + ru + Страница небезопасный режим с разрешениями + + + СтраницаНебезопасныйРежимСРазрешениямиРасширеннаяПодсказка + 294 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаБезопасныйРежимСРазрешениями + 291 + + ДекорацияБезопасныйРежимСРазрешениямиНадпись + 301 + + <key>ru</key> + <value>Дополнительный отчет или обработка будет подключаться к программе в безопасном режиме с предоставлением +дополнительных разрешений:</value> + + true + true + + true + + + ДекорацияБезопасныйРежимСРазрешениямиНадписьРасширеннаяПодсказка + 303 + Label + true + true + + Left + + + + ДекорацияБезопасныйРежимСРазрешениямиНадписьКонтекстноеМеню + 302 + true + + Label + true + true + + Style.FieldSelectionBackColor + + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница безопасный режим с разрешениями</value> + + + ru + Страница безопасный режим с разрешениями + + + СтраницаБезопасныйРежимСРазрешениямиРасширеннаяПодсказка + 292 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы безопасный режим с разрешениями</value> + + + ru + Страницы безопасный режим с разрешениями + + + СтраницыБезопасныйРежимСРазрешениямиРасширеннаяПодсказка + 264 + Label + true + true + + Left + + + Pages + + Auto + + + true + true + + true + <key>ru</key> - <value>Размещение</value> + <value>Группа безопасный режим с разрешениями</value> + + + ru + Группа безопасный режим с разрешениями + + + ГруппаБезопасныйРежимСРазрешениямиРасширеннаяПодсказка + 288 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаСтраницыРежимыСовместимостиРазрешений + 261 + + СтраницаРазрешенияВерсия_2_1_3 + 169 + + Разрешения + 170 + true + true + + true + + + ПредставлениеРазрешений_2_1_3 + + None + + РазрешенияExtendedTooltip + 188 + Label + true + true + + Left + + + + РазрешенияКонтекстноеМеню + 171 + true + + HTMLDocumentField + Enter + true + Left + true + + + OnClick + РазрешенияПриНажатии + + 50 + true + 3 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Разрешения (режим совместимости разрешений "Версия 2.1.3")</value> + + + ru + Страница разрешения версия 2 1 3 + + + СтраницаРазрешенияВерсия_2_1_3РасширеннаяПодсказка + 187 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаРазрешенияВерсия_2_2_2 + 250 + + ПредставлениеРазрешений_2_2_2 + 252 + true + true + + true + + + ПредставлениеРазрешений_2_2_2 + + None + + ПредставлениеРазрешений_2_2_2РасширеннаяПодсказка + 254 + Label + true + true + + Left + + + + ПредставлениеРазрешений_2_2_2КонтекстноеМеню + 253 + true + + SpreadsheetDocumentField + Enter + true + Left + true + + 80 + true + 1 + true + true + true + Special + ScrollAlways + ScrollAlways + Always + Auto + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Разрешения (режим совместимости разрешений "Версия 2.2.3")</value> + + + ru + Страница разрешения версия 2 2 2 + + + СтраницаРазрешенияВерсия_2_2_2РасширеннаяПодсказка + 251 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Группа страницы режимы совместимости разрешений</value> + + + ru + Группа страницы режимы совместимости разрешений + + + ГруппаСтраницыРежимыСовместимостиРазрешенийРасширеннаяПодсказка + 262 + Label + true + true + + Left + + + Pages + + Auto + + + + ГруппаВключениеПрофилейБезопасности + 304 + + ДекорацияВключениеПрофилейБезопасностиНадпись + 306 + + <key>ru</key> + <value>Для того, чтобы "изолировать" возможность обращения к внешних ресурсам из кода дополнительного отчета +или обработки только вышеперчисленными операциями, требуется<link int://sp-on> включить использование профилей</> <link int://sp-on>безопасности</>. +При этом для дополинтельного отчета или обработки будет создан "персональный" профиль безопасности, содержащий +разрешения только на выполнение явно одобренных операций и подключение дополнительного отчета или обработке к +программе без установки безопасного режима больше не будет требоваться.</value> + + true + true + + true + + + ДекорацияВключениеПрофилейБезопасностиНадписьРасширеннаяПодсказка + 308 + Label + true + true + + Left + + + + ДекорацияВключениеПрофилейБезопасностиНадписьКонтекстноеМеню + 307 + true + + true + Label + true + true + true + + + URLProcessing + ДекорацияВключениеПрофилейБезопасностиНадписьОбработкаНавигационнойСсылки + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Группа включение профилей безопасности</value> + + + ru + Группа включение профилей безопасности + + + ГруппаВключениеПрофилейБезопасностиРасширеннаяПодсказка + 305 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ДекормацияРазрешенияСмТакже + 311 + + <key>ru</key> + <value>Подробно о режимах подключения дополнительных отчетов и обработок см. информацию в справке к форме.</value> true true true - - ПредставлениеНазначения - - РазмещениеКомандExtendedTooltip - 210 + ДекормацияРазрешенияСмТакжеРасширеннаяПодсказка + 313 Label true true @@ -1729,65 +2169,75 @@ - РазмещениеКомандКонтекстноеМеню - 168 + ДекормацияРазрешенияСмТакжеКонтекстноеМеню + 312 true - LabelField - Enter - true - Left - true - - - Click - НазначениеКомандЗаполнениеФормыНажатие - - true - true - true + Label + true + true + + Left + true + true + + true + + + <key>ru</key> + <value>Разрешения</value> + + + СтраницаРазрешенияРасширеннаяПодсказка + 260 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаЗагрузкаДанныхИзФайла + 322 - ОбъектКоманды - 147 + КомандыЗагрузки + 324 true true true - Объект.Команды + СписокКомандЗагрузки None - Add - CancelSearch - Change - Copy - CopyToClipboard - Delete - EndEdit - Find - MoveDown - MoveUp - OutputList - SelectAll - SortListAsc - SortListDesc - ОбъектКомандыПредставление - 156 + КомандыЗагрузкиЗначение + 328 + + <key>ru</key> + <value>Команды загрузки</value> + true true true - Объект.Команды.Представление + СписокКомандЗагрузки.Value - ОбъектКомандыПредставлениеExtendedTooltip - 214 + КомандыЗагрузкиЗначениеРасширеннаяПодсказка + 330 Label true true @@ -1796,202 +2246,36 @@ - ОбъектКомандыПредставлениеКонтекстноеМеню - 157 + КомандыЗагрузкиЗначениеКонтекстноеМеню + 329 true InputField - true Auto true Left true - 10 true true true true true - Normal - - - - ОбъектКомандыБыстрыйДоступПредставление - 158 - true - true - - true - - - Объект.Команды.БыстрыйДоступПредставление - - - ru - Пользователи, которым выведена команда. - - - ОбъектКомандыБыстрыйДоступПредставлениеExtendedTooltip - 215 - Label - true - true - - Left - - - - ОбъектКомандыБыстрыйДоступПредставлениеКонтекстноеМеню - 159 - true - - InputField - true - Left - true - - - StartChoice - ОбъектКомандыБыстрыйДоступПредставлениеНачалоВыбора - - - Clearing - ОбъектКомандыБыстрыйДоступПредставлениеОчистка - - 1 - true - true - false - true - true - true - OnActivate - true - Normal - - - - ОбъектКомандыРегламентноеЗаданиеИспользование - 160 - true - true - - true - - - Объект.Команды.РегламентноеЗаданиеИспользование - - None - - ru - Выполнять команду по расписанию - - - OnChange - ОбъектКомандыРегламентноеЗаданиеИспользованиеПриИзменении - - - ОбъектКомандыРегламентноеЗаданиеИспользованиеExtendedTooltip - 216 - Label - true - true - - Left - - - - ОбъектКомандыРегламентноеЗаданиеИспользованиеКонтекстноеМеню - 161 - true - - CheckBoxField - Auto - true - - StdPicture.SetTime - - Left - true - - - - ОбъектКомандыРегламентноеЗаданиеПредставление - 162 - true - true - - true - - - Объект.Команды.РегламентноеЗаданиеПредставление - - - ru - Расписание выполнения команды. - - - ОбъектКомандыРегламентноеЗаданиеПредставлениеExtendedTooltip - 217 - Label - true - true - - Left - - - - ОбъектКомандыРегламентноеЗаданиеПредставлениеКонтекстноеМеню - 163 - true - - InputField - true - Left - true - - - StartChoice - ОбъектКомандыРегламентноеЗаданиеПредставлениеНачалоВыбора - - - Clearing - ОбъектКомандыРегламентноеЗаданиеПредставлениеОчистка - - 12 - true - true - true - true - true - OnActivate - true true Normal - None - ОбъектКомандыКоманднаяПанель - 149 + КомандыЗагрузкиКоманднаяПанель + 326 Left - true - - BeforeAddRow - ОбъектКомандыПередНачаломДобавления - - - BeforeDeleteRow - ОбъектКомандыПередУдалением - - ОбъектКомандыСтрокаПоиска - 340 + КомандыЗагрузкиСтрокаПоиска + 382 - ОбъектКомандыСтрокаПоискаРасширеннаяПодсказка - 342 + КомандыЗагрузкиСтрокаПоискаРасширеннаяПодсказка + 384 Label true true @@ -2000,21 +2284,21 @@ - ОбъектКомандыСтрокаПоискаКонтекстноеМеню - 341 + КомандыЗагрузкиСтрокаПоискаКонтекстноеМеню + 383 true - ОбъектКоманды + КомандыЗагрузки true - ОбъектКомандыСостояниеПросмотра - 343 + КомандыЗагрузкиСостояниеПросмотра + 385 - ОбъектКомандыСостояниеПросмотраРасширеннаяПодсказка - 345 + КомандыЗагрузкиСостояниеПросмотраРасширеннаяПодсказка + 387 Label true true @@ -2023,22 +2307,22 @@ - ОбъектКомандыСостояниеПросмотраКонтекстноеМеню - 344 + КомандыЗагрузкиСостояниеПросмотраКонтекстноеМеню + 386 true ViewStatusAddition - ОбъектКоманды + КомандыЗагрузки true - ОбъектКомандыУправлениеПоиском - 346 + КомандыЗагрузкиУправлениеПоиском + 388 - ОбъектКомандыУправлениеПоискомРасширеннаяПодсказка - 348 + КомандыЗагрузкиУправлениеПоискомРасширеннаяПодсказка + 390 Label true true @@ -2047,19 +2331,19 @@ - ОбъектКомандыУправлениеПоискомКонтекстноеМеню - 347 + КомандыЗагрузкиУправлениеПоискомКонтекстноеМеню + 389 true SearchControlAddition - ОбъектКоманды + КомандыЗагрузки true - ОбъектКомандыExtendedTooltip - 213 + КомандыЗагрузкиРасширеннаяПодсказка + 327 Label true true @@ -2068,62 +2352,13 @@ - ОбъектКомандыКонтекстноеМеню - 148 - - ОбъектКомандыНастроитьБыстрыйДоступ - 165 - true - true - - true - - - ОбъектКомандыНастроитьБыстрыйДоступExtendedTooltip - 211 - Label - true - true - - Left - - - Form.Command.ОбъектКомандыНастроитьБыстрыйДоступ - Normal - Auto - true - true - UserCmds - Auto - - - ОбъектКомандыНастроитьРасписание - 166 - true - true - - true - - - ОбъектКомандыНастроитьРасписаниеExtendedTooltip - 212 - Label - true - true - - Left - - - Form.Command.ОбъектКомандыНастроитьРасписание - Normal - Auto - true - true - UserCmds - Auto - + КомандыЗагрузкиКонтекстноеМеню + 325 true + true + true + true true true true @@ -2135,17 +2370,561 @@ AutoUse true true + false + false false false - false + Auto Auto true true + + СписокКомандЗагрузки.Picture + None None None true - + + true + + true + + + <key>ru</key> + <value>Загрузка данных из файла</value> + + + СтраницаЗагрузкаДанныхИзФайлаРасширеннаяПодсказка + 323 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаДополнительнаяИнформация + 318 + + ГруппаБезопасныйРежимГлобальный + 273 + + ДекорацияБезопасныйРежимГлобальныйПиктограмма + 275 + + <key>ru</key> + <value>Декорация безопасный режим ложь пиктограмма</value> + + true + + true + + + ДекорацияБезопасныйРежимГлобальныйПиктограммаРасширеннаяПодсказка + 277 + Label + true + true + + Left + + + + ДекорацияБезопасныйРежимГлобальныйПиктограммаКонтекстноеМеню + 276 + true + + 2 + true + 2 + true + + + CommonPicture.ИнформацияПоНедоступнымПолям + + + + + СтраницыБезопасныйРежимГлобальный + 278 + + СтраницаБезопасныйРежимЛожь + 280 + + ДекорацияБезопасныйРежимЛожьНадпись + 270 + + <key>ru</key> + <value>Дополнительный отчет или обработка будет подключаться к программе без установки безопасного режима! +Подробно о режимах подключения дополнительных отчетов и обработок к программе см. информацию в справке к форме.</value> + + true + true + + true + + + ДекорацияБезопасныйРежимЛожьНадписьРасширеннаяПодсказка + 272 + Label + true + true + + Left + + + + ДекорацияБезопасныйРежимЛожьНадписьКонтекстноеМеню + 271 + true + + Label + true + true + + Style.SpecialTextColor + + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница безопасный режим ложь</value> + + + СтраницаБезопасныйРежимЛожьРасширеннаяПодсказка + 281 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаБезопасныйРежимИстина + 282 + + ДекорацияБезопасныйРежимИстинаНадпись + 284 + + <key>ru</key> + <value>Дополнительный отчет или обработка будет подключаться к программе с установкой безопасного режима. +Подробно о режимах подключения дополнительных отчетов и обработок см. информацию в справке к форме.</value> + + true + true + + true + + + ДекорацияБезопасныйРежимИстинаНадписьРасширеннаяПодсказка + 286 + Label + true + true + + Left + + + + ДекорацияБезопасныйРежимИстинаНадписьКонтекстноеМеню + 285 + true + + Label + true + true + + Style.FieldSelectionBackColor + + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница безопасный режим истина</value> + + + СтраницаБезопасныйРежимИстинаРасширеннаяПодсказка + 283 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы безопасный режим глобальный</value> + + + СтраницыБезопасныйРежимГлобальныйРасширеннаяПодсказка + 279 + Label + true + true + + Left + + + Pages + + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа безопасный режим глобальный</value> + + + ГруппаБезопасныйРежимГлобальныйРасширеннаяПодсказка + 274 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Вид + 12 + true + true + + true + + + Объект.Вид + + true + + ВидExtendedTooltip + 232 + Label + true + true + + Left + + + + ВидКонтекстноеМеню + 13 + true + + LabelField + Enter + true + Left + true + + 50 + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ИмяФайла + 4 + + <key>ru</key> + <value>Имя файла</value> + + true + true + + true + + + Объект.ИмяФайла + + true + + ИмяФайлаExtendedTooltip + 233 + Label + true + true + + Left + + + + ИмяФайлаКонтекстноеМеню + 5 + true + + LabelField + true + Enter + true + Left + true + + 50 + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + Версия + 7 + + <key>ru</key> + <value>Версия</value> + + true + true + + true + + + Объект.Версия + + true + + ВерсияExtendedTooltip + 234 + Label + true + true + + Left + + + + ВерсияКонтекстноеМеню + 8 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ИмяОбъекта + 78 + true + true + + true + + + Объект.ИмяОбъекта + + true + + ИмяОбъектаExtendedTooltip + 235 + Label + true + true + + Left + + + + ИмяОбъектаКонтекстноеМеню + 79 + true + + LabelField + Enter + true + Left + true + + 1 + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + Информация + 26 + + <key>ru</key> + <value>Описание</value> + + true + true + + true + + + Объект.Информация + + true + + ИнформацияExtendedTooltip + 236 + Label + true + true + + Left + + + + ИнформацияКонтекстноеМеню + 27 + true + + InputField + true + Enter + true + Left + true + + true + 3 + true + true + true + true + true + true + Normal + + + + Группа + 45 + + <key>ru</key> + <value>Группа</value> + + true + true + + true + + + Объект.Parent + + + ГруппаExtendedTooltip + 237 + Label + true + true + + Left + + + + ГруппаКонтекстноеМеню + 46 + true + + InputField + Enter + true + Left + true + + 33 + true + true + false + true + true + true + true + Normal + true true @@ -2154,15 +2933,15 @@ <key>ru</key> - <value>Команды</value> + <value>Дополнительная информация</value> ru - Страница команды + Дополнительная информация об обработке - СтраницаКомандыExtendedTooltip - 209 + СтраницаДополнительнаяИнформацияРасширеннаяПодсказка + 319 Label true true @@ -2185,10 +2964,6 @@ ru Варианты, Команды, Разрешения - - ru - Страницы варианты команды разрешения - true СтраницыВариантыКомандыРазрешенияРасширеннаяПодсказка @@ -2207,343 +2982,14 @@ - ГруппаДополнительнаяИнформация - 309 - - ГруппаБезопасныйРежимГлобальный - 273 - - ДекорацияБезопасныйРежимГлобальныйПиктограмма - 275 - - <key>ru</key> - <value>Декорация безопасный режим ложь пиктограмма</value> - - true - true - - true - - - ДекорацияБезопасныйРежимГлобальныйПиктограммаРасширеннаяПодсказка - 277 - Label - true - true - - Left - - - - ДекорацияБезопасныйРежимГлобальныйПиктограммаКонтекстноеМеню - 276 - true - - 2 - true - 2 - true - true - - - CommonPicture.ИнформацияПоНедоступнымПолям - - - - - СтраницыБезопасныйРежимГлобальный - 278 - - СтраницаБезопасныйРежимЛожь - 280 - - ДекорацияБезопасныйРежимЛожьНадпись - 270 - - <key>ru</key> - <value>Дополнительный отчет или обработка будет подключаться к программе без установки безопасного режима! -Подробно о режимах подключения дополнительных отчетов и обработок к программе см. информацию в справке к форме.</value> - - true - true - - true - - - ДекорацияБезопасныйРежимЛожьНадписьРасширеннаяПодсказка - 272 - Label - true - true - - Left - - - - ДекорацияБезопасныйРежимЛожьНадписьКонтекстноеМеню - 271 - true - - Label - true - true - true - - Style.SpecialTextColor - - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Страница безопасный режим ложь</value> - - - ru - Страница безопасный режим ложь - - - СтраницаБезопасныйРежимЛожьРасширеннаяПодсказка - 281 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаБезопасныйРежимИстина - 282 - - ДекорацияБезопасныйРежимИстинаНадпись - 284 - - <key>ru</key> - <value>Дополнительный отчет или обработка будет подключаться к программе с установкой безопасного режима. -Подробно о режимах подключения дополнительных отчетов и обработок см. информацию в справке к форме.</value> - - true - true - - true - - - ДекорацияБезопасныйРежимИстинаНадписьРасширеннаяПодсказка - 286 - Label - true - true - - Left - - - - ДекорацияБезопасныйРежимИстинаНадписьКонтекстноеМеню - 285 - true - - Label - true - true - true - - Style.FieldSelectionBackColor - - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Страница безопасный режим истина</value> - - - ru - Страница безопасный режим истина - - - СтраницаБезопасныйРежимИстинаРасширеннаяПодсказка - 283 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы безопасный режим глобальный</value> - - - ru - Страницы безопасный режим глобальный - - - СтраницыБезопасныйРежимГлобальныйРасширеннаяПодсказка - 279 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - + ОтветственныйИКомментарий + 320 + + Комментарий + 29 <key>ru</key> - <value>Группа безопасный режим глобальный</value> - - - ru - Группа безопасный режим глобальный - - - ГруппаБезопасныйРежимГлобальныйРасширеннаяПодсказка - 274 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа дополнительная информация</value> - - - ru - Группа дополнительная информация - - - ГруппаДополнительнаяИнформацияРасширеннаяПодсказка - 310 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ДополнительнаяИнформация - 6 - - Вид - 12 - true - true - - true - - - Объект.Вид - - true - - ВидExtendedTooltip - 232 - Label - true - true - - Left - - - - ВидКонтекстноеМеню - 13 - true - - LabelField - Enter - true - Left - true - - 50 - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - ИмяФайла - 4 - - <key>ru</key> - <value>Имя файла</value> + <value>Комментарий</value> true true @@ -2551,157 +2997,12 @@ true - Объект.ИмяФайла + Объект.Комментарий - true - - ИмяФайлаExtendedTooltip - 233 - Label - true - true - - Left - - - - ИмяФайлаКонтекстноеМеню - 5 - true - - LabelField - true - Enter - true - Left - true - - 50 - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - Версия - 7 - - <key>ru</key> - <value>Версия</value> - - true - true - - true - - - Объект.Версия - - true - - ВерсияExtendedTooltip - 234 - Label - true - true - - Left - - - - ВерсияКонтекстноеМеню - 8 - true - - LabelField - Enter - true - Left - true - - 10 - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - ИмяОбъекта - 78 - true - true - - true - - - Объект.ИмяОбъекта - - true - - ИмяОбъектаExtendedTooltip - 235 - Label - true - true - - Left - - - - ИмяОбъектаКонтекстноеМеню - 79 - true - - LabelField - Enter - true - Left - true - - 1 - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - Информация - 26 - - <key>ru</key> - <value>Описание</value> - - true - true - - true - - - Объект.Информация - - true Left - ИнформацияExtendedTooltip - 236 + КомментарийExtendedTooltip + 239 Label true true @@ -2710,21 +3011,78 @@ - ИнформацияКонтекстноеМеню - 27 + КомментарийКонтекстноеМеню + 30 true - LabelField - true + InputField Enter true Left true - + + + StartChoice + КомментарийНачалоВыбора + true - 3 true true + false + true + false + true + false + false + false + true + true + true + Normal + + + + Ответственный + 31 + true + true + + true + + + Объект.Ответственный + + true + + ОтветственныйExtendedTooltip + 238 + Label + true + true + + Left + + + + ОтветственныйКонтекстноеМеню + 32 + true + + InputField + Enter + true + Left + true + + 35 + true + true + false + true + true + true + true + Normal true @@ -2734,15 +3092,11 @@ <key>ru</key> - <value>Дополнительная информация</value> + <value>Ответственный и комментарий</value> - - ru - Дополнительная информация - - ДополнительнаяИнформацияExtendedTooltip - 231 + ОтветственныйИКомментарийРасширеннаяПодсказка + 321 Label true true @@ -2752,166 +3106,13 @@ UsualGroup - Vertical Auto - StrongSeparation true true - auto Auto Auto - - Группа - 45 - - <key>ru</key> - <value>Группа</value> - - true - true - - true - - - Объект.Parent - - - ГруппаExtendedTooltip - 237 - Label - true - true - - Left - - - - ГруппаКонтекстноеМеню - 46 - true - - InputField - Enter - true - Left - true - - 33 - true - true - false - true - true - true - true - Normal - - - - Ответственный - 31 - true - true - - true - - - Объект.Ответственный - - true - - ОтветственныйExtendedTooltip - 238 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 32 - true - - InputField - Enter - true - Left - true - - 35 - true - true - false - true - true - true - true - Normal - - - - Комментарий - 29 - - <key>ru</key> - <value>Комментарий</value> - - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 239 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - true - false - true - true - false - true - false - false - false - true - true - true - Normal - - ФормаКоманднаяПанель -1 @@ -2967,18 +3168,79 @@ UserCmds Auto - - ЗагрузитьИзФайла - 10 + + КомандыВыгрузкиЗагрузки + 333 + + ЗагрузитьИзФайла + 10 + true + true + + true + + false + + ЗагрузитьИзФайлаРасширеннаяПодсказка + 176 + Label + true + true + + Left + + + Form.Command.ЗагрузитьИзФайла + Normal + PictureAndText + true + true + UserCmds + Auto + + + ВыгрузитьВФайл + 11 + true + true + + true + + false + + ВыгрузитьВФайлРасширеннаяПодсказка + 177 + Label + true + true + + Left + + + Form.Command.ВыгрузитьВФайл + Normal + PictureAndText + true + true + UserCmds + Auto + true true true - false + + <key>ru</key> + <value>Команды выгрузки загрузки</value> + + + ru + Команды выгрузки загрузки + - ЗагрузитьИзФайлаРасширеннаяПодсказка - 176 + КомандыВыгрузкиЗагрузкиРасширеннаяПодсказка + 334 Label true true @@ -2986,40 +3248,7 @@ Left - Form.Command.ЗагрузитьИзФайла - Normal - PictureAndText - true - true - UserCmds - Auto - - - ВыгрузитьВФайл - 11 - true - true - - true - - false - - ВыгрузитьВФайлРасширеннаяПодсказка - 177 - Label - true - true - - Left - - - Form.Command.ВыгрузитьВФайл - Normal - PictureAndText - true - true - UserCmds - Auto + КомандыФормы @@ -3074,6 +3303,32 @@ UserCmds Auto + + ФормаИзменитьФорму + 331 + true + true + + true + + + ФормаИзменитьФормуРасширеннаяПодсказка + 332 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + true true @@ -3097,9 +3352,7 @@ Left - - Form - + ФормаСправка @@ -3145,7 +3398,7 @@ OnCreateAtServer ПриСозданииНаСервере - LockOwner + DontBlock true true Vertical @@ -3646,6 +3899,43 @@ + + СписокКомандЗагрузки + + <key>ru</key> + <value>Список команд загрузки</value> + + 16 + + ValueList + + + true + + + true + + + + + + + ВидЗагрузкаДанныхИзФайла + + <key>ru</key> + <value>Вид загрузка данных из файла</value> + + 17 + + EnumRef.ВидыДополнительныхОтчетовИОбработок + + + true + + + true + + ЗагрузитьИзФайла @@ -3839,7 +4129,20 @@ </formCommands> <commandInterface> <navigationPanel/> - <commandBar/> + <commandBar> + <cmiFragmentRecord> + <command>0</command> + <userVisible/> + </cmiFragmentRecord> + <cmiFragmentRecord> + <command>0</command> + <userVisible/> + </cmiFragmentRecord> + <cmiFragmentRecord> + <command>0</command> + <userVisible/> + </cmiFragmentRecord> + </commandBar> </commandInterface> <extInfo xsi:type="form:CatalogFormExtInfo"> <handlers> diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Help/ru.html index 6351df1dd..768b45ae8 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Help/ru.html @@ -1,41 +1,43 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Регистрация в программе <a href="Catalog.ДополнительныеОтчетыИОбработки/Help">дополнительных отчетов и обработок</a></p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Регистрация в программе <a href="Catalog.ДополнительныеОтчетыИОбработки/Help">дополнительных отчетов и обработок</a>.</p> +<p>Часть сведений в карточке дополнительного отчета или обработки программа проставляет по умолчанию, они указаны разработчиком в файле внешней обработки или отчета и их невозможно изменить (список команд и дополнительная информация). Каждая дополнительная обработка может предоставлять одну или несколько команд, размещаемых в окнах объектов программы или в разделах программы.</p> +<p>В зависимости от назначения и настроек в дополнительных отчетах и обработках может быть несколько вкладок. Команды, которые являются обязательной частью, в этом случае размещаются на специальной вкладке <strong>Команды</strong>. Другие вкладки могут иметь разное содержимое и наименования. Также на дополнительных вкладках могут размещаться специальные команды.</p> <p>Существуют два типа дополнительных отчетов и обработок: </p> <ul><li><a href="#A">Назначаемые</a> - предназначены для конкретных документов или списков программы, которых может быть несколько, при этом список доступных назначений определен разработчиком заранее и включен в текст дополнительного отчета или разработки. При регистрации можно только выбрать их из списка. -</li><li><a href="#B">Глобальные или общие</a> - содержат команды, вызываемые только из разделов командного интерфейса. Команды не зависят от конкретных объектов программы. Список разделов для размещения команд определен разработчиком заранее и включен в файл дополнительного отчета или обработки, его невозможно изменить.</li></ul><h3>Какие основные сведения необходимо заполнить</h3> +</li><li><a href="#B">Глобальные или общие</a> - содержат команды, вызываемые только из разделов командного интерфейса. Команды не зависят от конкретных объектов программы. Список доступных разделов для размещения команд определен разработчиком заранее и включен в файл дополнительного отчета или обработки, его невозможно изменить.</li></ul><p>При регистрации дополнительного отчета или обработки необходимо указать основные параметры:</p> <ul><li> <div><strong>Наименование</strong> - указывается разработчиком и выводится автоматически, при необходимости можно изменить.</div> </li><li> <div> -<p>С помощью поля <strong>Публикация </strong>можно включить или отключить доступность обработки или отчета для использования. Реквизит может принимать следующие значения:</p> +<p>С помощью переключателя <strong>Публикация </strong>можно включить или отключить доступность обработки или отчета, регулируя использование дополнительных отчетов и обработок. Можно сделать дополнительную обработку или отчет доступной для всех, только для администратора или отключить. Реквизит может принимать следующие значения:</p> <ul><li> -<div><strong>используется</strong> - обработка доступна для использования;</div> +<div><strong>Используется</strong> - обработка доступна для использования. Команды обработки доступны в программе для всех пользователей с установленной ролью "Использование дополнительных отчетов и обработок".</div> </li><li> <div> -<div><strong>режим отладки</strong> - обработка доступна для использования только пользователю с ролью "Добавление и изменение дополнительных обработок" или ролью "Полные права" (в списке отображается красным цветом);</div></div> +<div><strong>Режим отладки</strong> - обработка доступна для использования только пользователю с ролью "Добавление и изменение дополнительных обработок" или ролью "Полные права" (в списке отображается красным цветом). При этом остальным пользователям эти команды не видны. Такой режим удобен, если дополнительный отчет или обработка нуждается в проверке.</div></div> </li><li> -<div><strong>отключена</strong> - обработка недоступна для использования, в списке становится неактивной. Такая возможность удобна, если нужно прекратить использование обработки на время, но не удалять ее, в этом случае все настройки сохраняются и при переводе в другой режим обработка начинает выполняться как раньше.</div></li></ul></div> +<div><strong>Отключена</strong> - обработка недоступна для использования, в списке становится неактивной. Такая возможность удобна, если нужно прекратить использование обработки на время, но не удалять ее, в этом случае все настройки сохраняются и при переводе в другой режим обработка начинает выполняться как раньше.</div></li></ul></div> </li><li> -<div><strong>Группа</strong> - включите дополнительную обработку или отчет в одну из групп в списке. Группы помогают упорядочить дополнительные отчеты и обработки.</div> +<div><strong>Группа</strong> - включите дополнительную обработку или отчет в одну из групп списка с помощью кнопки <img src="StdPicture.InputFieldSelect" width="12" height="12"></img>. Выберите нужную группу из списка. Группы помогают упорядочить дополнительные отчеты и обработки.</div> </li><li> <div><strong>Ответственный</strong> - выберите пользователя, который будет отслеживать состояние дополнительного отчета или обработки, обновлять и т.п. По умолчанию "Администратор".</div> </li><li> -<div><strong>Комментарий</strong> - введите подробное описание.</div></li></ul><h3>Какие действия возможны при регистрации дополнительных отчетов и обработок</h3> -<p>С помощью команд <strong>Загрузить из файла</strong> и <strong>Выгрузить в файл</strong> можно обновить обработку во внутреннем хранилище программы, а также выгрузить ее из хранилища в файл на диске компьютера. При выполнении команд нужно указать путь к файлу. В некоторых режимах использования программы (например, в модели сервиса) для некоторых обработок команды могут быть не доступны.</p> +<div><strong>Комментарий</strong> - введите подробное описание.</div></li></ul><h3>Загрузка из файла</h3> +<p>С помощью команды <strong>Загрузить из файла</strong> можно обновить обработку во внутреннем хранилище программы. Укажите путь к файлу, нажмите <strong>Открыть</strong>.</p> +<h3>Выгрузка в файл</h3> +<p>С помощью команды <strong>Выгрузить в файл</strong> можно выгрузить дополнительный отчет или обработку из хранилища в файл на диске компьютера. Укажите папку на компьютере, нажмите <strong>Сохранить</strong>. Имя файлу присваивается автоматически, имеется возможность его переименовать.</p> <h3>Безопасный режим работы</h3> -<p>Поскольку дополнительные отчеты и обработки представляют собой подключаемые программные модули (разработанные на встроенном языке "1С:Предприятия"), они потенциально могут реализовывать любую функциональность, которая могла бы быть реализована в самой программе - выполнять действия, для выполнения которых недостаточно прав у текущего пользователя программы, а также взаимодействовать с внешними ресурсами (Интернет-ресурсы, стороннее ПО, установленное на сервере и т.д.), что при определенных обстоятельствах может служить причиной уязвимости в программе. Для предотвращения подобной ситуации в программе предусмотрен специальный <strong><em>безопасный</em> </strong>режим подключения дополнительных отчетов и обработок - при использовании этого режима для дополнительных отчетов и обработок становится недоступным использование Интернет-ресурсов и стороннего ПО, а также выполнение операций с данными, для которых недостаточно прав доступа текущего пользователя программы. Для большинства дополнительных отчетов и обработок достаточно подключения в безопасном режиме.</p> -<p>В некоторых случаях дополнительные отчеты и обработки не могут функционировать в безопасном режиме - например, дополнительная обработка, реализующая получение данных с некоторого Интернет-сайта не сможет функционировать без возможности подключения к этому Интернет-сайту. В этом случае дополнительный отчет или обработка может быть подключен к программе без установки безопасного режима (это может сделать только администратор). При загрузке такого дополнительного отчета или обработки будет выведено соответствующее предупреждение - такие обработки следует загружать только из надежных источников (поставщиков) или перед загрузкой самостоятельно выполнять их аудит.</p> -<p>При использовании клиент-серверного режима работы программы и клиентских и серверных лицензий уровня "КОРП" возможно дополнительно ограничить перечень операций для таких обработок только явно запрошенными с помощью создания для дополнительной обработки "персонального" <a href="DataProcessor.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.Form.НастройкиИспользованияПрофилейБезопасности/Help">профиля безопасности</a>. В этом случае, для обработки останутся недоступными все потенциально "небезопасные" операции, за исключением явно одобренных администратором (например, будет предоставлена возможность получения данных только с конкретного Интернет-сайта, и останутся недоступными другие Интернет-ресурсы, внешнее ПО и привилегированный режим).</p> -<p>Подробнее о безопасном режиме и профилях безопасности см. документацию по платформе 1С:Предприятие.</p> +<p>Как правило, большинство обработок должны выполняться в безопасном режиме. Это гарантирует, что они не содержат "ненадежный" программный код, который выполняется на сервере. Однако некоторые обработки могут требовать выполнения в небезопасном режиме. Об этом программа размещает предупреждение в окне дополнительного отчета или обработки. Такие обработки следует загружать только из надежных источников (поставщиков) или перед загрузкой самостоятельно выполнять их аудит.</p> +<p>Подробнее о безопасном режиме работы см. документацию по платформе 1С:Предприятие.</p> <h3>Особенности регистрации <a name="#A">назначаемых</a> дополнительных обработок и отчетов</h3> <p>Для дополнительных обработок или отчетов, предназначенных для работы со списками или документами программы, можно выбрать из списка объекты, в которых будут доступны команды обработки или отчета.</p> <ul><li><strong>Назначение</strong> -  для выбора объектов программы нажмите гиперссылку, которая принимает значение <strong>Не определено</strong> (если ни одного объекта не выбрано) или перечисляет выбранные объекты. С помощью флажков выберите нужные объекты. </li><li><strong>Показывать</strong> - команды обработок или отчетов могут быть доступны: <ul><li>из списка выбранных объектов, если установлен флажок <strong>В списках</strong>;  -</li><li>- из окна самого объекта, если установлен флажок <strong>В формах элементов справочников и документов</strong>. Можно установить оба флажка одновременно.</li></ul></li><li> +</li><li>из окна самого объекта, если установлен флажок <strong>В формах элементов справочников и документов</strong>. Можно установить оба флажка одновременно.</li></ul></li><li> <div><strong>Команды</strong> - перечень команд заполняется по умолчанию из списка, заполненного разработчиком. Эти команды становятся доступными в указанном в назначении списке или документе при подключении дополнительного отчета или обработки.</div></li></ul><h3>Особенности регистрации <a name="#B">глобальных</a> (общих) дополнительных отчетов и обработок</h3> -<p>Для обработок и отчетов, которые вызываются из командного интерфейса (не прикрепляются к объектам конфигурации),необходимо указать разделы интерфейса, в которых команды обработок будут доступны через команды <strong>Дополнительные отчеты</strong> и <strong>Дополнительные обработки</strong>. Перечень команд и их настройки могут размещаться на отдельной вкладке <strong>Команды</strong>.</p> -<ul><li><strong>Размещение</strong> - для выбора разделов нажмите гиперссылку, которая принимает значение <strong>Не опредено</strong> (если ни одного раздела не выбрано) или перечисляет выбранные разделы. С помощью флажков выберите нужные разделы программы.</li></ul><p>Для каждой команды можно указать:</p> -<ul><li>в колонке <strong>Быстрый доступ</strong> нажмите <img src="StdPicture.InputFieldSelect"></img> и выберите из списка пользователей, для которых команда будет доступна по умолчанию. По умолчанию проставлено значение "Нет". -</li><li>в колонке <strong>Расписание</strong> для каждой команды глобальных отчетов и обработок, исполняемых в серверном контексте, нажмите <img src="StdPicture.InputFieldSelect"></img> и задайте расписание, по которому будет запускаться регламентное задание для выполнения этой команды. Расписание неприменимо для команд с вариантом запуска "Открытие форм".</li></ul><h3>См. также:</h3> -<p><a href="v8help://1cv8/ExtRepotrs">Внешние отчеты и обработки</a></p></body></html> \ No newline at end of file +<p>Для обработок и отчетов, которые вызываются из командного интерфейса (не прикрепляются к объектам конфигурации), необходимо указать разделы интерфейса, в которых команды обработок будут доступны через команды <strong>Дополнительные отчеты</strong> и <strong>Дополнительные обработки</strong>. Перечень команд и их настройки могут размещаться на отдельной вкладке <strong>Команды</strong>.</p> +<ul><li><strong>Размещение</strong> - для выбора разделов нажмите гиперссылку, которая принимает значение <strong>Не определено</strong> (если ни одного раздела не выбрано) или перечисляет выбранные разделы. С помощью флажков выберите нужные разделы программы, для подтверждения настройки нажмите <strong>ОК</strong>.</li></ul><p>Для каждой команды можно указать:</p> +<ul><li>в колонке <strong>Быстрый доступ</strong> нажмите <img src="StdPicture.InputFieldSelect"></img> или клавишу <strong>F4</strong> и выберите из списка пользователей, для которых команда будет доступна по умолчанию. По умолчанию проставлено значение "Нет". Добавьте пользователей в список. Для подтверждения выбора и возвращения к дальнейшей настройке нажмите <strong>ОК</strong>. +</li><li>в колонке <strong>Расписание</strong> для каждой команды глобальных отчетов и обработок, исполняемых в серверном контексте, нажмите <img src="StdPicture.InputFieldSelect"></img> и задайте расписание, по которому будет запускаться <a href="DataProcessor.РегламентныеИФоновыеЗадания.Form.РегламентноеЗадание/Help">регламентное задание</a> для выполнения этой команды. Расписание неприменимо для команд с вариантом запуска <strong>Открытие формы</strong>.</li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://1cv8/ExtRepotrs">Внешние отчеты и обработки</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Module.bsl index 28df447f2..3bcadae6f 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Forms/ФормаЭлемента/Module.bsl @@ -25,8 +25,7 @@ // Ограничение отображения расширенной информации ОтображениеРасширеннойИнформации = ДополнительныеОтчетыИОбработки.ОтображатьРасширеннуюИнформацию(Объект.Ссылка); - Элементы.ГруппаДополнительнаяИнформация.Видимость = ОтображениеРасширеннойИнформации; - Элементы.ДополнительнаяИнформация.Видимость = ОтображениеРасширеннойИнформации; + Элементы.СтраницаДополнительнаяИнформация.Видимость = ОтображениеРасширеннойИнформации; // Ограничение возможности загрузки обработки из файла / сохранения в файл Элементы.ЗагрузитьИзФайла.Видимость = @@ -983,7 +982,7 @@ КоличествоВариантов = ВариантыДополнительногоОтчета.Количество(); КоличествоКоманд = Объект.Команды.Количество(); - КоличествоВидимыхЗакладок = 0; + КоличествоВидимыхЗакладок = 1; Если Объект.Вид = ВидДополнительныйОтчет И Объект.ИспользуетХранилищеВариантов Тогда @@ -1000,7 +999,6 @@ НСтр("ru = 'Варианты отчета (%1)'"), Формат(КоличествоВариантов, "ЧГ=")); КонецЕсли; - Иначе Элементы.СтраницыВарианты.Видимость = Ложь; КонецЕсли; @@ -1070,6 +1068,7 @@ КоличествоВидимыхЗакладок = КоличествоВидимыхЗакладок + 1; + Элементы.СтраницыВариантыКомандыРазрешения.ТекущаяСтраница = Элементы.СтраницаРазрешения; Элементы.СтраницаРазрешения.Видимость = Истина; Элементы.СтраницаРазрешения.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Разрешения (%1)'"), @@ -1116,10 +1115,15 @@ Иначе ПредставлениеНазначения = ""; Для Каждого СтрокаРаздел Из Объект.Разделы Цикл - Если ПредставлениеНазначения <> "" Тогда - ПредставлениеНазначения = ПредставлениеНазначения + ", "; + ПредставлениеРаздела = ДополнительныеОтчетыИОбработки.ПредставлениеРаздела(СтрокаРаздел.Раздел); + Если ПредставлениеРаздела = Неопределено Тогда + Продолжить; + КонецЕсли; + Если ПредставлениеНазначения = "" Тогда + ПредставлениеНазначения = ПредставлениеРаздела; + Иначе + ПредставлениеНазначения = ПредставлениеНазначения + ", " + ПредставлениеРаздела; КонецЕсли; - ПредставлениеНазначения = ПредставлениеНазначения + ДополнительныеОтчетыИОбработки.ПредставлениеРаздела(СтрокаРаздел.Раздел); КонецЦикла; КонецЕсли; Иначе @@ -1128,10 +1132,16 @@ Иначе ПредставлениеНазначения = ""; Для Каждого СтрокаНазначение Из Объект.Назначение Цикл - Если ПредставлениеНазначения <> "" Тогда - ПредставлениеНазначения = ПредставлениеНазначения + ", "; + Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтрокаНазначение.ОбъектНазначения, "Наименование, ПометкаУдаления"); + Если Реквизиты.ПометкаУдаления Тогда + Продолжить; + КонецЕсли; + ПредставлениеОбъекта = Реквизиты.Наименование; + Если ПредставлениеНазначения = "" Тогда + ПредставлениеНазначения = ПредставлениеОбъекта; + Иначе + ПредставлениеНазначения = ПредставлениеНазначения + ", " + ПредставлениеОбъекта; КонецЕсли; - ПредставлениеНазначения = ПредставлениеНазначения + Строка(СтрокаНазначение.ОбъектНазначения); КонецЦикла; КонецЕсли; КонецЕсли; @@ -1356,7 +1366,7 @@ Если Менеджер.ТипXDTOПредставленияРазрешений().Имя = СтрокаИсходнойТаблицы.ВидРазрешения Тогда XDTOПредставления = Новый Массив(); XDTOПредставления.Добавить(СтрокаИсходнойТаблицы.Параметры.Получить()); - Набор = Менеджер.НаборЗаписейИзXDTOПредставления(XDTOПредставления, Истина, Объект.Ссылка, Ложь); + Набор = Менеджер.НаборЗаписейИзXDTOПредставления(XDTOПредставления, Объект.Ссылка, Объект.Ссылка, Ложь); КонецЕсли; КонецЦикла; diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Help/ru.html b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Help/ru.html index 6bb965b84..c9405123d 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Help/ru.html +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/Help/ru.html @@ -1,30 +1,48 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Список предназначен для хранения в программе дополнительных отчетов и обработок.</p> -<p>Программа позволяет подключать и использовать дополнительные (внешние) отчеты и обработки в режиме 1С:Предприятия. Они позволяют расширять функциональность программы, не внося в нее изменений, что может быть востребовано для оперативного расширения функциональности программы без снятия с поддержки поставщика программы.</p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для хранения в программе дополнительных отчетов и обработок.</p> +<p>Программа позволяет подключать и использовать дополнительные (внешние) отчеты и обработки в режиме 1С:Предприятия. Они позволяют расширять возможности программы, не внося в нее изменений, что может быть востребовано для оперативного решения каких-либо задач без снятия с поддержки поставщика программы.</p> <p>Дополнительные отчеты и обработки разрабатываются в режиме Конфигуратора, для этого надо обращаться к разработчику. Также можно получить их из интернета.</p> -<h3>Какие сведения выводятся в списке дополнительных отчетов и обработок</h3> +<p>Для того чтобы использовать дополнительные отчеты и обработки, воспользуйтесь командой <strong>Печатные формы, отчеты и обработки</strong> в разделе <strong>Администрирование</strong>, включите соответствующий флажок. После этого становится доступной команда <strong>Дополнительные отчеты и обработки</strong>. По умолчанию флажок включен.</p> +<p>В списке выводится:</p> <ul><li> <div><strong>Наименование</strong> - полное наименование отчета или обработки.</div> </li><li> -<div><strong>Вид</strong> - существует несколько видов дополнительных отчетов и обработок, указывается разработчиком. В зависимости от вида различаются функции.</div> +<div><strong>Вид</strong> - существует несколько <a href="#1">видов дополнительных отчетов и обработок</a>, указывается разработчиком. В зависимости от вида различаются функции.</div> </li><li> -<div><strong>Публикация</strong> - видимость дополнительных отчетов и обработок, также обозначается цветом. Красным цветом выделены дополнительные отчеты и обработки в режиме отладки. Серым цветом отображаются дополнительные отчеты и обработки, которые отключены.</div> +<div><strong>Публикация</strong> - видимость дополнительных отчетов и обработок, также обозначается цветом. Красным цветом выделены дополнительные отчеты и обработки в режиме отладки, которые доступны только администратору. Серым цветом отображаются дополнительные отчеты и обработки, которые отключены. Помеченные на удаление дополнительные отчеты и обработки также становятся неактивными и отображаются серым цветом, а также специальным значком.</div> </li><li> <div><strong>Версия</strong> - отображается номер версии данной обработки (указывается разработчиком).</div> </li><li> -<div><strong>Ответственный</strong> - отслеживает состояние дополнительного отчета или обработки, обновляет версии и т.п. (по умолчанию "Администратор").</div></li></ul><h3>Какие дополнительные сведения можно добавить в список</h3> -<ul><li> -<div><strong>Имя объекта</strong> - включает вид и другие сведения. Заполняется разработчиком, в программе проставляется по умолчанию. </div></li></ul><h3>Как добавить дополнительный отчет или обработку</h3> -<p>По команде <strong>Создать</strong> программа предложит выбрать файл <a href="v8help://1cv8/ExtRepotrs">внешнего отчета или обработки</a> на компьютере (укажите путь к каталогу на диске) и <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">настроить его параметры</a>. </p> -<h3>Как сгруппировать дополнительные отчеты и обработки</h3> -<p>Если список большой, для удобства его использования можно сгруппировать дополнительные отчеты и обработки по различным признакам. Для этого введите необходимое количество групп:</p> -<ul><li>Нажмите <img src="StdPicture.CreateFolder"></img> и введите наименование группы. Можно подчинить новую группу другой. Для этого в поле <strong>Родитель</strong> выберите группу из списка. -</li><li>Перетащите в группу нужные дополнительные отчеты и обработки с помощью мыши.</li></ul><h3>Как отобрать нужные дополнительные отчеты и обработки</h3> +<div><strong>Ответственный</strong> - пользователь программы, который назначен ответственным за данный отчет или обработку. Отслеживает состояние дополнительного отчета или обработки, обновляет версии и т.п. (по умолчанию "Администратор").</div></li></ul><p>С помощью команды <strong>Все действия - Изменить форму</strong> в список можно добавить дополнительные колонки:</p> +<ul><li><strong>Имя объекта</strong> - включает вид и другие сведения. Заполняется разработчиком, в программе проставляется по умолчанию. +</li><li><strong>Режим совместимости разрешений</strong> - версия программы, для которой обработка используется. +</li><li><strong>Комментарий</strong> - подробная информация о дополнительном отчете или обработке; +</li><li><strong>Использует хранилище вариантов</strong> - свойство для дополнительных отчетов. Принимает значения "Да", если дополнительный отчет хранит данные в хранилище вариантов программы; +</li><li><strong>Использовать для формы списка</strong> - принимает значение "Да", если команда, которая вызывает дополнительный отчет или обработку, располагается в окнах списков; +</li><li><strong>Использовать для формы объекта</strong> - принимает значение "Да", если команда, которая вызывает дополнительный отчет или обработку, располагается в окнах элементов списков; +</li><li><strong>Информация</strong> - описание дополнительной обработки или отчета, которое было написано разработчиком; +</li><li><strong>Имя файла</strong> - расширение и имя файла дополнительной обработки (отчета); +</li><li><strong>Безопасный режим</strong> - принимает значение "Да", если дополнительный отчет или обработка выполняется в безопасном режиме. Как правило, большинство обработок должны выполняться в безопасном режиме. Это гарантирует, что они не содержат "ненадежный программный код, который выполняется на сервере. Однако некоторые обработки могут требовать выполнения в небезопасном режиме. Об этом программа размещает предупреждение. Такие обработки следует загружать только из надежных источников (поставщиков) или перед загрузкой самостоятельно выполнять их аудит. Подробнее о безопасном режиме работы см. документацию по платформе 1С:Предприятие.</li></ul><h3>Добавление дополнительных отчетов или обработок</h3> +<ul><li>По команде <strong>Создать</strong> программа предложит выбрать файл <a href="v8help://1cv8/ExtRepotrs">внешнего отчета или обработки</a> на компьютере (укажите путь к каталогу на диске) и <a href="Catalog.ДополнительныеОтчетыИОбработки.Form.ФормаЭлемента/Help">настроить его параметры</a>. Набор сведений зависит от назначения обработки или отчета. Если указан неверный файл, то программа выдаст сообщение об ошибке, например, сообщение о том, что дополнительная обработка предназначена для другой версии программы. </li></ul><h3>Группировка дополнительных отчетов и обработок</h3> +<p>Если список большой, то для удобства его использования можно сгруппировать дополнительные отчеты и обработки по различным признакам. Для этого введите необходимое количество групп:</p> +<ul><li>Нажмите <img src="StdPicture.CreateFolder"></img> и введите наименование группы. Можно подчинить новую группу другой группе. Для этого в поле <strong>Родитель</strong> выберите группу из списка. +</li><li>Перетащите в группу нужные дополнительные отчеты и обработки с помощью мыши.</li></ul><h3>Отборы</h3> <p>Если дополнительных отчетов и обработок в списке много, то для удобства поиска можно воспользоваться отборами:</p> <ul><li> <div>по полю <strong>Вид</strong> - нажмите <strong>Показать все</strong>, выберите один из видов дополнительных отчетов и обработок из списка для отбора, например, "Отчеты".  </div> </li><li> <div>по полю <strong>Публикация</strong> - нажмите <strong>Показать все</strong>, выберите нужное состояние для отбора, например, "Используется".</div> </li><li> -<div>по полям <strong>Вид</strong> и <strong>Публикация</strong> - можно сочетать два вида отбора в больших списках.</div></li></ul><h3>См. также:</h3> -<p><a href="v8help://frame/form_common">Работа с формами</a></p></body></html> \ No newline at end of file +<div>по полям <strong>Вид</strong> и <strong>Публикация</strong> - можно сочетать два вида отбора в больших списках.</div></li></ul><h3>Загрузка из файла</h3> +<p>С помощью команды <strong>Загрузить из файла</strong> можно обновить обработку во внутреннем хранилище программы. Укажите путь к файлу, нажмите <strong>Открыть</strong>.</p> +<h3>Выгрузка в файл</h3> +<p>С помощью команды <strong>Выгрузить в файл</strong> можно выгрузить дополнительный отчет или обработку из хранилища в файл на диске компьютера. Укажите папку на компьютере, нажмите <strong>Сохранить</strong>. Имя файлу присваивается автоматически, имеется возможность его переименовать.</p> +<h3><a name="#1">Виды дополнительных отчетов и обработок</a></h3> +<p>Существует несколько видов дополнительных отчетов и обработок:</p> +<ul><li><strong>Глобальные отчеты и обработки</strong> - используются независимо от данных программы, также называются общими. Команды для их использования размещаются в разделах программы. С помощью глобальных отчетов и обработок можно загружать данные в программу, производить обновление или очистку индекса полнотекстового поиска и т.д. Они содержат команды, вызываемые только из разделов командного интерфейса. Команды не зависят от конкретных объектов программы. Список доступных разделов для размещения команд определен разработчиком заранее и включен в файл дополнительного отчета или обработки, его невозможно изменить. +</li><li><strong>Назначаемые дополнительные отчеты и обработки</strong> - предназначены для конкретных документов или списков программы, которых может быть несколько, при этом список доступных назначений определен разработчиком заранее и включен в текст дополнительного отчета или обработки, поэтому при настройке дополнительного отчета или обработки можно только выбирать из этого списка. К этому типу относятся несколько видов дополнительных отчетов и обработок: +<ul><li><strong>Отчет</strong> - назначаемый дополнительный отчет. С его помощью можно выдать отчет по определенному объекту программы. +</li><li><strong>Заполнение объекта</strong> - назначаемая дополнительная обработка, которая позволяет автоматически заполнить или очистить один или несколько элементов списка. +</li><li><strong>Печатная форма</strong> - назначаемая дополнительная обработка, с помощью которой можно расширить количество печатных форм документа. +</li><li><strong>Создание связанных объектов</strong> - назначаемая дополнительная обработка, которая позволяет быстро заполнить списки с помощью копирования элементов.</li></ul></li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ObjectModule.bsl b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ObjectModule.bsl index 704e0e271..9702e221e 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ObjectModule.bsl +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ObjectModule.bsl @@ -1,6 +1,6 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -Перем УстанавливатьПривилегированныйРежим, ЭтоГлобальнаяОбработка; +Перем ЭтоГлобальнаяОбработка; #Область ОбработчикиСобытий @@ -9,6 +9,11 @@ Возврат; КонецЕсли; + ПроверкаЭлемента = Истина; + Если ДополнительныеСвойства.Свойство("ПроверкаСписка") Тогда + ПроверкаЭлемента = Ложь; + КонецЕсли; + Если НЕ ДополнительныеОтчетыИОбработки.ПроверитьГлобальнаяОбработка(Вид) Тогда Если НЕ ИспользоватьДляФормыОбъекта И НЕ ИспользоватьДляФормыСписка И Публикация <> Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена Тогда @@ -61,8 +66,8 @@ Если Конфликтующие.Количество() > 0 Тогда Отказ = Истина; - ОбщегоНазначенияКлиентСервер.СообщитьПользователю( - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Если ПроверкаЭлемента Тогда + ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Имя ""%1"", используемое данным отчетом (обработкой), уже занято другим опубликованным дополнительным отчетом (обработкой). | |Для продолжения необходимо изменить вид Публикации с ""%2"" на ""%3"" или ""%4"".'"), @@ -70,9 +75,15 @@ Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется), Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.РежимОтладки), Строка(Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена) - ), - , - "Объект.Публикация"); + ); + Иначе + ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Имя ""%1"", используемое отчетом (обработкой) ""%2"", уже занято другим опубликованным дополнительным отчетом (обработкой).'"), + ИмяОбъекта, + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЭтотОбъект.Ссылка, "Наименование") + ); + КонецЕсли; + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , "Объект.Публикация"); КонецЕсли; КонецЕсли; @@ -194,10 +205,8 @@ ПубликацияВключена = (Публикация <> Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена); - // Регламентные задание необходимо изменять в неразделенном режиме. - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Истина); - КонецЕсли; + // Регламентные задание необходимо изменять в привилегированном режиме. + УстановитьПривилегированныйРежим(Истина); // Очистка заданий по командам, которые были удалены из таблицы. Если НЕ ЭтоНовый() Тогда @@ -264,10 +273,6 @@ ДополнительныеСвойства.Вставить("ЗаданияДляОбновления", ЗаданияДляОбновления); - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Ложь); - КонецЕсли; - КонецПроцедуры Процедура ПриЗаписиГлобальнойОбработки(Отказ) @@ -278,10 +283,8 @@ ПубликацияВключена = (Публикация <> Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена); - // Регламентные задание необходимо изменять в неразделенном режиме. - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Истина); - КонецЕсли; + // Регламентные задание необходимо изменять в привилегированном режиме. + УстановитьПривилегированныйРежим(Истина); Для Каждого КлючИЗначение Из ДополнительныеСвойства.ЗаданияДляОбновления Цикл @@ -309,17 +312,12 @@ КонецЦикла; - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Ложь); - КонецЕсли; - КонецПроцедуры Процедура ПередУдалениемГлобальнойОбработки(Отказ) - // Регламентные задание необходимо изменять в неразделенном режиме. - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Истина); - КонецЕсли; + + // Регламентные задание необходимо изменять в привилегированном режиме. + УстановитьПривилегированныйРежим(Истина); Для Каждого Команда Из Команды Цикл @@ -331,10 +329,6 @@ КонецЕсли; КонецЦикла; - Если УстанавливатьПривилегированныйРежим() Тогда - УстановитьПривилегированныйРежим(Ложь); - КонецЕсли; - КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -363,20 +357,6 @@ КонецФункции -Функция УстанавливатьПривилегированныйРежим() - - Если УстанавливатьПривилегированныйРежим = Неопределено Тогда - УстанавливатьПривилегированныйРежим = Ложь; - Если РольДоступна(Метаданные.Роли.ДобавлениеИзменениеДополнительныхОтчетовИОбработок) - И Не ПравоДоступа("Администрирование", Метаданные) Тогда - УстанавливатьПривилегированныйРежим = Истина; - КонецЕсли; - КонецЕсли; - - Возврат УстанавливатьПривилегированныйРежим; - -КонецФункции - //////////////////////////////////////////////////////////////////////////////// // Назначаемые обработки diff --git a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo index 64a00f719..ef6d969d1 100644 --- a/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo +++ b/SSL/src/Catalogs/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo @@ -399,6 +399,11 @@ <type> <types>Boolean</types> </type> + <toolTip> + <key>ru</key> + <value>Определяет может ли дополнительный отчет выводиться в панелях отчетов. +Заполняется автоматически при подключении дополнительного отчета/обработки.</value> + </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/> @@ -415,6 +420,10 @@ <type> <types>EnumRef.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок</types> </type> + <toolTip> + <key>ru</key> + <value>Режим совместимости, исходя из которого при подключении дополнительного отчета или обработки определяется способ интерпретации запрошенных разрешений. Задается в качестве версии библиотеки "1С:Библиотека стандартных подсистем".</value> + </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:UndefinedValue"/> @@ -482,7 +491,7 @@ <name>Представление</name> <synonym> <key>ru</key> - <value>Команда</value> + <value>Наименование</value> </synonym> <type> <types>String</types> @@ -492,7 +501,7 @@ </type> <toolTip> <key>ru</key> - <value>Представление команды в пользовательском интерфейсе</value> + <value>Представление команды в пользовательском интерфейсе.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> @@ -526,7 +535,7 @@ <type> <types>String</types> <stringQualifiers> - <length>9</length> + <length>256</length> </stringQualifiers> </type> <toolTip> @@ -603,7 +612,7 @@ </type> <toolTip> <key>ru</key> - <value> </value> + <value>Тип объектов, в списке или карточке которых должна выводиться эта дополнительная обработка.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> @@ -657,7 +666,7 @@ </type> <toolTip> <key>ru</key> - <value> </value> + <value>Раздел командного интерфейса, в котором должен выводиться этот дополнительный отчет или обработка.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> @@ -716,6 +725,10 @@ <length>255</length> </stringQualifiers> </type> + <toolTip> + <key>ru</key> + <value>Строковое представление XDTO-типа, описывающего разрешение (служебное поле).</value> + </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <dataHistory>Use</dataHistory> @@ -730,6 +743,10 @@ <type> <types>ValueStorage</types> </type> + <toolTip> + <key>ru</key> + <value>Описание разрешения, требуемого для дополнительного отчета или обработки (служебное поле).</value> + </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <dataHistory>Use</dataHistory> @@ -777,4 +794,13 @@ <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> + <forms uuid="35828c88-f1ec-42e7-b189-78748931ee4a"> + <name>ПроверкаДополнительныхОтчетовИОбработок</name> + <synonym> + <key>ru</key> + <value>Проверка дополнительных отчетов и обработок</value> + </synonym> + <usePurposes>PersonalComputer</usePurposes> + <usePurposes>MobileDevice</usePurposes> + </forms> </mdclass:Catalog> diff --git a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Form.form index 9d763b25e..e8fc1377b 100644 --- a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Form.form @@ -1,5 +1,41 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>11</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible/> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto + + Список 1 @@ -92,10 +128,10 @@ СписокСтрокаПоиска - 11 + 13 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 15 Label true true @@ -105,7 +141,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 14 true Список @@ -115,10 +151,10 @@ СписокСостояниеПросмотра - 14 + 16 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 18 Label true true @@ -128,7 +164,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 17 true ViewStatusAddition @@ -139,10 +175,10 @@ СписокУправлениеПоиском - 17 + 19 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 21 Label true true @@ -152,7 +188,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 20 true SearchControlAddition @@ -213,6 +249,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Module.bsl index bd0b7d45a..5841932f6 100644 --- a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаСписка/Module.bsl @@ -20,7 +20,6 @@ "Владелец", ЭлементОтбора, ВидСравненияКомпоновкиДанных.Равно); - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаЭлемента/Help/ru.html index 947e77b14..ed912d481 100644 --- a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Forms/ФормаЭлемента/Help/ru.html @@ -1,8 +1,29 @@ - -

      Закладка взаимодействий

      -

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

      -

      Что необходимо указать в данной форме?

      -

      Что необходимо указать в данной форме?

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

      -
      Пример. Менеджер по продажам начинает свой день с отработки не рассмотренных взаимодействий по не закрытым претензиям клиента. В этом случае рекомендуется создать закладку, указать в ней в качестве отбора Тип предмета - Претензия клиента, Статус претензии - Зарегистрирована или Обрабатывается, Признак Рассмотрено у взаимодействия - Ложь. В качестве наименования закладки указать - Нерассмотренные взаимодействия по претензиям в работе.

       

      \ No newline at end of file + +

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

      +

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

      +

      Ввод закладки взаимодействий

      +
      • Напишите Наименование. Поле является обязательным. +
      • Для того чтобы задать новое условие для отбора, нажмите Добавить новый элемент.  Условий может быть несколько. +
      • В колонке Поле  выберите поле документа взаимодействий, по которому будет происходить отбор. Для этого в списке укажите нужное поле, затем нажмите Выбрать. Также можно использовать двойной щелчок мыши.  +
      • В колонке Вид сравнения  выберите операцию сравнения, при этом кроме стандартных операций (например, Больше или равно), имеются нестандартные: +
        • С помощью операции сравнения В списке можно задать список возможных значений для отбора. Например, в список можно поместить несколько почтовых ящиков партнера, с которых возможна отправка корреспонденции. Операция сравнения Не в списке является отрицанием предыдущей. Например, в другую папку можно поместить остальные письма, кроме писем, полученных от перечисленных в списке отправителей. +
        • С помощью операций Содержит или Не содержит можно использовать поиск по части поля (сочетанию букв) - наименования, темы, адреса, если полностью это поле неизвестно. Например, можно задать шаблон почтовых ящиков контактных лиц определенного партнера, если название сайта партнера известно. В этом случае письма с почтовых адресов с этим сочетанием букв будут в одной закладке.  +
        • Определить, есть ли в поле значение, можно с помощью операции Заполнено или Не заполнено.
      • Укажите Значение поля отбора. Для этого в зависимости от выбранного поля и вида сравнения  выберите из предложенного списка значений нужное, введите значение или создайте свой список значений.  +
      • При необходимости можно сгруппировать условия отбора. В этом случае по команде Сгруппировать условия к выделенным условиям необходимо применить логические операции И, ИЛИ, Не. +
        • Для того чтобы использовать группировку условий, выделите одно из нужных условий, выполните команду Сгруппировать условия, выберите Тип группы: И, ИЛИ, Не, с помощью кнопки мыши перетащите остальные условия в группу или создайте их внутри группы. +
        • Если задается несколько условий без группировки, то по умолчанию к таким условиям применяется логическая операция И.
      • Нажмите кнопку Записать и закрыть, для того чтобы отборы начали применяться.

      Пример использования закладки

      +

      Менеджер по продажам начинает свой день с отработки нерассмотренных взаимодействий по незакрытым претензиям клиента.

      +
      • +
        В этом случае рекомендуется создать закладку.
        +
      • +
        В качестве наименования закладки можно указать Нерассмотренные взаимодействия по претензиям в работе.
        +
      • +
        Указать в качестве условий отбора:
        +
        • +
          Тип предмета  - "Претензия клиента",
          +
        • +
          Статус претензии - "Зарегистрирована" или "Обрабатывается",
          +
        • +
          Признак Рассмотрено у взаимодействия - "Ложь".

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗакладкиВзаимодействий/Help/ru.html b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Help/ru.html new file mode 100644 index 000000000..e584323c2 --- /dev/null +++ b/SSL/src/Catalogs/ЗакладкиВзаимодействий/Help/ru.html @@ -0,0 +1,17 @@ + +

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

      +

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

      +

      Ввод закладок

      +
      • Выполните команду Создать контекстного меню панели группировки по правой кнопки мыши.  +
      • Заполните необходимые поля.

      Группировка закладок

      +
      • Закладки можно группировать. +
      • Для этого выполните команду контекстного меню панели группировки Создать группу. +
        • Введите Наименование группы. +
        • По умолчанию программа указывает в качестве Владельца текущего пользователя ( выберите Владельца из списка Пользователи), при этом группа закладок вместе с содержимым видна только своему владельцу. +
        • Поле Родитель заполняется автоматически, если эта группа входит в вышестоящую группу. При этом группа и ее содержимое видно только владельцу. При необходимости выберите другую группу.
      • Введите или перетащите с помощью мыши необходимое количество закладок.

      Работа с закладками в списке взаимодействий

      +
      • С помощью команды контекстного меню по правой кнопке мыши Добавить в закладки списка Взаимодействия  можно выделить документы в отдельные закладки Избранные взаимодействия. +
      • Затем такую закладку можно перетащить в одну из папок.

      Работа с закладками в карточке пользователя

      +
      • Все действия с закладками пользователя можно произвести также в карточке пользователя. +
      • Например, со своими закладками можно поработать, воспользовавшись командой Сведения о пользователе в панели действий раздела Рабочий стол.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗакладкиВзаимодействий/ЗакладкиВзаимодействий.mdo b/SSL/src/Catalogs/ЗакладкиВзаимодействий/ЗакладкиВзаимодействий.mdo index 14314d57d..d2abee39b 100644 --- a/SSL/src/Catalogs/ЗакладкиВзаимодействий/ЗакладкиВзаимодействий.mdo +++ b/SSL/src/Catalogs/ЗакладкиВзаимодействий/ЗакладкиВзаимодействий.mdo @@ -112,6 +112,11 @@ Use + + + ru + + Managed Use diff --git a/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Form.form b/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Form.form index 6f802cabc..ea2ce91ef 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Form.form +++ b/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Form.form @@ -232,6 +232,42 @@ Auto
      + + ГруппаПользовательскихНастроек + 43 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + КоманднаяПанель 33 @@ -309,10 +345,12 @@ LabelField Enter + true true Left true + 30 true true @@ -349,6 +387,7 @@ Left true + 30 true true @@ -387,6 +426,10 @@ true true + + ru + ДЛФ=D + None @@ -397,10 +440,10 @@ СписокСтрокаПоиска - 46 + 48 СписокСтрокаПоискаРасширеннаяПодсказка - 48 + 50 Label true true @@ -410,7 +453,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 47 + 49 true Список @@ -420,10 +463,10 @@ СписокСостояниеПросмотра - 49 + 51 СписокСостояниеПросмотраРасширеннаяПодсказка - 51 + 53 Label true true @@ -433,7 +476,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 50 + 52 true ViewStatusAddition @@ -444,10 +487,10 @@ СписокУправлениеПоиском - 52 + 54 СписокУправлениеПоискомРасширеннаяПодсказка - 54 + 56 Label true true @@ -457,7 +500,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 53 + 55 true SearchControlAddition @@ -520,6 +563,7 @@ true + ГруппаПользовательскихНастроек
      diff --git a/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Help/ru.html b/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Help/ru.html index fabf649b5..f5938c351 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Forms/ВсеЗаметки/Help/ru.html @@ -1,21 +1,23 @@ - -

      Список предназначен для работы с заметками.

      + +

      Список предназначен для работы с заметками. В списке находятся все заметки, созданные Вами в программе.

      +

      Открывается по команде Все заметки в разделе Органайзер.

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

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

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

      -

      Какие сведения о заметках выводятся в списке

      +

      В списке выводится:

      • Тема - заголовок заметки.
      • Предмет - документ или другой объект программы, по поводу которого вводилась заметка. -
      • Дата изменения - дата и время записи заметки.

      Как ввести новую заметку

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

      Как сгруппировать заметки

      -

      Заметки можно сгруппировать по предметам или по темам.

      -
      • Нажмите , введите наименование группы. -
      • Создав необходимое количество групп, перетащите заметки мышью в соответствующие группы.

      Как отобрать нужные заметки

      -

      Если заметок в списке много, то можно отобрать нужные по полям Цвет и Предмет. Выберите нужные значения. Можно использовать оба отбора одновременно.

      -

      Какие дополнительные возможности предусмотрены

      +
    • Дата изменения - дата и время записи заметки.

    Ввод заметки

    +
    • Заметку можно ввести по поводу документа или другого объекта программы. В окне объекта программы нажмите  - Создать заметку. В этом случае будет автоматически заполнено поле Предмет. +
    • В списках Мои заметки рабочего стола или Все заметки нажмите Создать. В этом случае в поле Предмет программа автоматически проставляет "Не задан". +
    • Заполните необходимые поля.

    Группировка заметок

    +

    Заметки можно сгруппировать, например, по предметам или по темам.

    +
    • Нажмите Создать группу, заполните необходимые поля. +
    • Создав необходимое количество групп, перетащите заметки мышью в соответствующие группы.

    Отборы

    +
    • Если заметок в списке много, то можно отобрать их по полям Цвет и Предмет. +
    • Выберите нужные значения. Можно использовать два отбора одновременно.

    Просмотр помеченных на удаление

    +
    • +
      Включите флажок Показывать удаленные для того чтобы показывать заметки, помеченные на удаление. Невозможно показать заметки, которые были окончательно удалены из программы администратором.

    Напоминание

    • -
      Включите флажок Показывать удаленные для того чтобы показывать заметки, помеченные на удаление. Невозможно показать заметки, которые были окончательно удалены из программы администратором.
      -
    • Можно ввести напоминание по поводу заметки. Нажмите  - Напомнить.

    См. также:

    -

    Работа с формами

    \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form index 7588d389f..7cbc434de 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form +++ b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Form.form @@ -4,6 +4,74 @@ ru Мои заметки + + ГруппаПользовательскихНастроек + 43 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 41 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -25,23 +93,19 @@ MoveItem Tree - Ссылка - 20 - - <key>ru</key> - <value>Тема</value> - + Наименование + 45 true true true - Список.Ref + Список.Description - СсылкаExtendedTooltip - 35 + НаименованиеРасширеннаяПодсказка + 47 Label true true @@ -50,16 +114,18 @@ - СсылкаКонтекстноеМеню - 21 + НаименованиеКонтекстноеМеню + 46 true LabelField Enter + true true Left true + 30 true true @@ -146,12 +212,16 @@ Left true + + BeforeAddRow + СписокПередНачаломДобавления + СписокСтрокаПоиска - 41 + 48 СписокСтрокаПоискаРасширеннаяПодсказка - 43 + 50 Label true true @@ -161,7 +231,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 42 + 49 true Список @@ -171,10 +241,10 @@ СписокСостояниеПросмотра - 44 + 51 СписокСостояниеПросмотраРасширеннаяПодсказка - 46 + 53 Label true true @@ -184,7 +254,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 45 + 52 true ViewStatusAddition @@ -195,10 +265,10 @@ СписокУправлениеПоиском - 47 + 54 СписокУправлениеПоискомРасширеннаяПодсказка - 49 + 56 Label true true @@ -208,7 +278,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 48 + 55 true SearchControlAddition @@ -270,6 +340,7 @@ true true + ГруппаПользовательскихНастроек @@ -389,95 +460,6 @@ ФормаКоманднаяПанель -1 - - Создать - 8 - - <key>ru</key> - <value>Создать</value> - - true - true - - true - - - СоздатьExtendedTooltip - 31 - Label - true - true - - Left - - - Form.Command.СоздатьЗаметку - Normal - PictureAndText - true - true - UserCmds - - StdPicture.CreateListItem - - Auto - - - СтандартныеКоманды - 22 - true - true - - true - - - <key>ru</key> - <value>Стандартные команды</value> - - - ru - Стандартные команды - - - СтандартныеКомандыExtendedTooltip - 32 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 27 - true - true - - true - - - ФормаСправкаExtendedTooltip - 33 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -488,7 +470,6 @@ OnCreateAtServer ПриСозданииНаСервере - Create CreateFolder HierarchicalList LevelDown @@ -519,6 +500,9 @@ true + + Список.Ref +
    true
    ВЫБРАТЬ @@ -615,28 +599,6 @@ ПоказыватьУдаленные - - СоздатьЗаметку - - <key>ru</key> - <value>Создать заметку</value> - - 1 - - ru - Создать заметку - - - true - - - - СоздатьЗаметку - - - Auto - Auto - diff --git a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Help/ru.html b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Help/ru.html index 4178019b8..d2803fd2a 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Help/ru.html @@ -1,21 +1,24 @@ - +

    Все заметки, введенные по поводу данного объекта программы, отображаются в этом списке.

    +

    Открывается из карточки объекта программы по команде Мои заметки панели навигации.

    В списках объекты, с которыми связаны заметки, помечены значком .

    -

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

    -

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

    -

    Какие сведения выводятся в списке

    -

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

    +

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

    +

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

    +

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

    +

    В списке выводится:

    • Тема - заголовок заметки
    • -
      Автор - все видят только свои заметки. Только администратор может просмотреть заметки всех авторов.

    Как ввести заметку по поводу данного объекта программы

    +
    Автор - поле только для администратора, т.к. все остальные пользователи видят только свои заметки. Только администратор может просмотреть заметки всех авторов.

    Ввод заметки по поводу объекта программы

    • -
      В карточке объекта нажмите  - Создать заметку. Заполните необходимые сведения.
      +
      В карточке объекта нажмите  - Создать заметку.
    • -
      В списке нажмите Создать.

    Какие еще действия возможны в списке

    +
    В списке заметок, связанных с объектом программы, нажмите Создать.
    +
  • +
    Заполните необходимые поля.
  • Напоминание

    • -
      Для того чтобы ввести напоминание по поводу заметки, нажмите  - Напомнить.
      -
    • Включите флажок Показывать удаленные для того чтобы показывать заметки, помеченные на удаление. Заметки, которые были администратором удалены из программы, показать невозможно.

    Как увидеть все заметки в списке (только для администратора)

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

    См. также

    +
    Для того чтобы ввести напоминание по поводу заметки, нажмите  - Напомнить.

    Просмотр заметок других авторов (только для администратора)

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

    Просмотр помеченных на удаление

    +
    • Включите флажок Показывать удаленные, для того чтобы показывать заметки, помеченные на удаление. Заметки, которые были удалены из программы администратором, показать невозможно.

    См. также:

    \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl index 9b997ebe4..b69b2dc11 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl +++ b/SSL/src/Catalogs/Заметки/Forms/ЗаметкиПоПредмету/Module.bsl @@ -39,10 +39,10 @@ #КонецОбласти -#Область ОбработчикиКомандФормы - +#Область ОбработчикиСобытийТаблицыСписок &НаКлиенте -Процедура СоздатьЗаметку(Команда) +Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Отказ = Истина; ПараметрыФормы = Новый Структура("Предмет", Предмет); ОткрытьФорму("Справочник.Заметки.ФормаОбъекта", ПараметрыФормы); КонецПроцедуры diff --git a/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Form.form b/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Form.form index fedaeba4a..4ce74e683 100644 --- a/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Form.form +++ b/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Form.form @@ -19,7 +19,6 @@ CancelSearch Choose Copy - CopyToClipboard CreateFolder Delete Find @@ -29,7 +28,6 @@ List ListSettings MoveItem - OutputList Refresh Tree @@ -143,6 +141,40 @@ true
    + + Ссылка + 35 + true + true + + + Список.Ref + + + СсылкаРасширеннаяПодсказка + 37 + Label + true + true + + Left + + + + СсылкаКонтекстноеМеню + 36 + true + + LabelField + Enter + true + Left + true + + true + true + + None СписокКоманднаяПанель @@ -152,10 +184,10 @@ СписокСтрокаПоиска - 15 + 38 СписокСтрокаПоискаРасширеннаяПодсказка - 17 + 40 Label true true @@ -165,7 +197,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 16 + 39 true Список @@ -175,10 +207,10 @@ СписокСостояниеПросмотра - 18 + 41 СписокСостояниеПросмотраРасширеннаяПодсказка - 20 + 43 Label true true @@ -188,7 +220,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 19 + 42 true ViewStatusAddition @@ -199,10 +231,10 @@ СписокУправлениеПоиском - 21 + 44 СписокУправлениеПоискомРасширеннаяПодсказка - 23 + 46 Label true true @@ -212,7 +244,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 22 + 45 true SearchControlAddition @@ -234,6 +266,213 @@ СписокКонтекстноеМеню 2 + + СписокКонтекстноеМенюОбщаяКомандаНапомнить + 17 + true + true + + true + + + Items.Список.CurrentData.Ref + + + СписокКонтекстноеМенюОбщаяКомандаНапомнитьРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + CommonCommand.Напомнить + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаВывод + 33 + + СписокКонтекстноеМенюКопироватьВБуферОбмена + 31 + true + true + + true + + + СписокКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка + 32 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюВывестиСписок + 23 + true + true + + true + + + СписокКонтекстноеМенюВывестиСписокРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + Form.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Вывод</value> + + + СписокКонтекстноеМенюГруппаВыводРасширеннаяПодсказка + 34 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаНастройка + 27 + + СписокКонтекстноеМенюНастройкаСписка + 21 + true + true + + true + + + СписокКонтекстноеМенюНастройкаСпискаРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменитьФорму + 25 + true + true + + true + + + СписокКонтекстноеМенюИзменитьФормуРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройка</value> + + + СписокКонтекстноеМенюГруппаНастройкаРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюСправка + 29 + true + true + + true + + + СписокКонтекстноеМенюСправкаРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + true true @@ -278,8 +517,62 @@ ФормаКоманднаяПанель -1 + + ФормаСоздать + 19 + true + true + + true + + + ФормаСоздатьРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОбщаяКомандаНапомнить + 15 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ФормаОбщаяКомандаНапомнитьРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + CommonCommand.Напомнить + Normal + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + Left - true OnCreateAtServer @@ -291,23 +584,22 @@ Close Copy CreateFolder - CustomizeForm Delete + DynamicListStandardSettings Find - Help HierarchicalList Ignore LevelDown LevelUp List - ListSettings + LoadDynamicListSettings MoveItem No OK - OutputList Refresh RestoreValues Retry + SaveDynamicListSettings SaveValues Tree Yes diff --git a/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Help/ru.html b/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Help/ru.html index 25e1beda3..48077500c 100644 --- a/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Forms/МоиЗаметки/Help/ru.html @@ -1,7 +1,11 @@ - -

    Список размещается на рабочем столе программы.

    -

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

    -

    Как ввести заметку

    -

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

    -

    Как просмотреть все заметки

    -

    Нажмите одноименную команду на панели навигации  раздела Органайзер.

    \ No newline at end of file + +

    Список размещается на рабочем столе программы, предназначен для работы с заметками. 

    +

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

    +

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

    +

    Заметки можно отмечать цветом.

    +

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

    +

    Часть заметок в списке введены по поводу объектов программы. На панели навигации таких объектов имеется команда Мои заметки для просмотра списка заметок, связанных с ними. В списках эти объекты помечены значком . В этом случае в заметке поле Предмет автоматически заполняется ссылкой на объект программы.

    +

    Ввод заметки

    +
    • Нажмите Создать. Заполните необходимые поля. Введенная заметка будет существовать самостоятельно, без привязки к предмету.

    Просмотр всех заметок

    +
    • Выполните соответствующую команду на панели навигации  раздела Органайзер.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/Forms/ФормаГруппы/Help/ru.html b/SSL/src/Catalogs/Заметки/Forms/ФормаГруппы/Help/ru.html index 46642f4f9..29d21fc8b 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ФормаГруппы/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Forms/ФормаГруппы/Help/ru.html @@ -1,12 +1,12 @@ - -

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

    + +

    Ввод сведений о группе заметок.

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

    -

    Как ввести группу заметок

    +

    Ввод группы заметок

    Группировать заметки можно по предметам, по поводу которых они введены, или по темам.

    • В поле Тема введите наименование группы.
    • Новую группу можно подчинить одной из уже существующих. Для этого в поле Группа заметок нажмите Показать все, выберите группу из списка.
    • -
      В поле Автор программа по умолчанию проставляет текущего пользователя. Изменить поле невозможно.

    См. также:

    -

    Работа с формами

    \ No newline at end of file +
    В поле Автор программа по умолчанию проставляет текущего пользователя. Изменить поле невозможно.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Help/ru.html index 082b47480..dbad152d9 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Help/ru.html @@ -1,22 +1,23 @@ - -

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

    -

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

    + +

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

    +

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

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

    -

    Как ввести заметку

    -

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

    -

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

    -

    Напишите текст заметки. Для редактирования текста заметки предусмотрены стандартные команды форматирования. Текст можно оформить двумя способами:

    +

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

    +

    Ввод заметки

    +
    • При вводе заметки по поводу какого-либо объекта программы автоматически проставляется Предмет - ссылка, по которой можно открыть этот объект. +
    • При вводе заметки в списке Мои заметки на рабочем столе программы или в списке Все заметки в поле Предмет автоматически проставляется "не задан". +
    • Напишите текст заметки. Для редактирования текста заметки предусмотрены стандартные команды форматирования. Часть из них, чаще употребляемая, для удобства работы выведена в виде кнопок. Остальные можно найти в контекстном меню по правой кнопке мыши или в меню Еще. +
    • Текст заметки можно оформить двумя способами:
      • Ввести весь текст, не выделяя заголовка, тогда почти весь текст будет виден в списках заметок.
      • -
        На первой строке заметки можно ввести краткий заголовок, который будет отображаться в списках заметок. Затем нажать клавишу Enter и ввести остальной текст.

      Какие действия возможны с заметкой

      -

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

      +
      В первой строке заметки можно ввести краткий заголовок, который будет отображаться в списках заметок. Затем нажать клавишу Enter и ввести остальной текст.
    • Наиболее важные заметки могут отображаться в списке Мои заметки на рабочем столе программы. Установите флажок Отображать на рабочем столе. (По умолчанию флажок установлен). +
    • +
      Для того чтобы различать заметки, можно их отметить значками разных цветов. В списке Все заметки их можно сортировать по цвету. Выберите Цвет.
      +
    • +
      Заметки можно сгруппировать, например, по предметам. Выберите Группу заметок из списка, нажав Показать все. Можно ввести новую группу в списке групп.
      +
    • +
      В нижней части заметки отображается состояние записи заметки. Если заметку еще не сохраняли, то поле принимает значение Не записано. В поле Записано программа автоматически проставляет дату и время последнего сохранения заметки.

    Напоминание

    • -
      Для того чтобы не забыть о событии, упомянутом в заметке, нажмите - Напомнить. Введите напоминание по поводу заметки.
      -
    • -
      Наиболее важные заметки могут отображаться в списке "Мои заметки" на рабочем столе программы. Включите флажок Отображать на рабочем столе. (По умолчанию флажок включен).
      -
    • -
      Для того чтобы различать заметки, можно их отметить значками разных цветов. В списке Все заметки их можно сортировать по цвету. Выберите Цвет.
      -
    • -
      Заметки можно сгруппировать, например, по предметам. Выберите Группу заметок из списка, нажав Показать все. Можно ввести новую группу в списке групп.

    См. также:

    -

    Работа с формами.

    \ No newline at end of file +
    Для того чтобы не забыть о событии, упомянутом в заметке, нажмите  - Напомнить. Введите напоминание по поводу заметки.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Module.bsl index f0dd236e9..502d0db64 100644 --- a/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/Заметки/Forms/ФормаЭлемента/Module.bsl @@ -10,6 +10,7 @@ Если Параметры.Свойство("Предмет") Тогда Объект.Предмет = Параметры.Предмет; + Объект.ПредставлениеПредмета = ОбщегоНазначения.ПредметСтрокой(Объект.Предмет); КонецЕсли; Элементы.Предмет.Заголовок = Объект.ПредставлениеПредмета; diff --git a/SSL/src/Catalogs/Заметки/Help/ru.html b/SSL/src/Catalogs/Заметки/Help/ru.html index 749729089..c5d8ed870 100644 --- a/SSL/src/Catalogs/Заметки/Help/ru.html +++ b/SSL/src/Catalogs/Заметки/Help/ru.html @@ -1,22 +1,35 @@ - -

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

    -

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

    -

    Какие сведения выводятся в списке заметок

    -

    В список выводятся все поля заметок:

    + +

    Предназначен для управления заметками.

    +

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

    +

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

    +

    Открывается по команде Органайзер - Заметки пользователя - Внутренние данные - Заметки.

    +

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

    +

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

    +

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

    +

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

    +

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

    +

    В списке выводится:

    • -
      Тема - заголовок заметки
      +
      Тема - заголовок заметки;
    • -
      Автор - пользователь, который создал заметку
      +
      Автор - пользователь, который создал заметку;
    • -
      Предмет - полное наименование предмета, по поводу которого сделана заметка
      +
      Предмет - полное наименование предмета, по поводу которого сделана заметка;
    • -
      Содержание - текст заметки
      +
      Содержание - текст заметки;
    • -
      Для рабочего стола - флажок включен, если заметка видна на рабочем столе
      +
      Для рабочего стола - флажок включен, если заметка видна на рабочем столе;
    • -
      Пометка - цвет заметки
      +
      Пометка - цвет заметки;
    • -
      Дата изменения - дата и время записи заметки
      +
      Дата изменения - дата и время записи заметки;
    • -
      Предмет - содержимое гиперссылки Предмет в заметке

    См. также:

    -

    Работа с формами

    \ No newline at end of file +
    Предмет - содержимое гиперссылки Предмет в заметке.

    Ввод заметки

    +
    • Заметку можно ввести по поводу документа или другого объекта программы. Нажмите  - Создать заметку. В этом случае будет автоматически заполнено поле Предмет. +
    • В списках Мои заметки рабочего стола или Все заметки нажмите Создать, заполните необходимые поля. В этом случае в поле Предмет программа автоматически проставляет "Не задан".

    Группировка заметок

    +

    Заметки можно сгруппировать, например, по предметам или по темам.

    +
    • Нажмите Создать группу, заполните необходимые поля. +
    • Создав необходимое количество групп, перетащите заметки мышью в соответствующие группы.

    Напоминание

    +
    • +
      Можно ввести напоминание по поводу заметки. Нажмите  - Напомнить.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Заметки/ObjectModule.bsl b/SSL/src/Catalogs/Заметки/ObjectModule.bsl index 2c064d3f7..d071f0419 100644 --- a/SSL/src/Catalogs/Заметки/ObjectModule.bsl +++ b/SSL/src/Catalogs/Заметки/ObjectModule.bsl @@ -23,14 +23,21 @@ Позиция = Найти(ТекстСодержания, Символы.ПС); Если Позиция > 0 Тогда - Наименование = Сред(ТекстСодержания, 1, Позиция - 1); + Тема = Сред(ТекстСодержания, 1, Позиция - 1); Иначе - Наименование = ТекстСодержания; + Тема = ТекстСодержания; КонецЕсли; - Если ПустаяСтрока(Наименование) Тогда - Наименование = "<" + НСтр("ru = 'Пустая заметка'") + ">"; + Если ПустаяСтрока(Тема) Тогда + Тема = "<" + НСтр("ru = 'Пустая заметка'") + ">"; КонецЕсли; + + МаксимальнаяДлинаНаименования = Метаданные().ДлинаНаименования; + Если СтрДлина(Тема) > МаксимальнаяДлинаНаименования Тогда + Тема = Лев(Наименование, МаксимальнаяДлинаНаименования - 3) + "..."; + КонецЕсли; + + Наименование = Тема; КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/Заметки/Заметки.mdo b/SSL/src/Catalogs/Заметки/Заметки.mdo index 51cee4d84..0b2789286 100644 --- a/SSL/src/Catalogs/Заметки/Заметки.mdo +++ b/SSL/src/Catalogs/Заметки/Заметки.mdo @@ -109,6 +109,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/ЗапланированноеВзаимодействиеПрисоединенныеФайлы/ЗапланированноеВзаимодействиеПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/ЗапланированноеВзаимодействиеПрисоединенныеФайлы/ЗапланированноеВзаимодействиеПрисоединенныеФайлы.mdo index c2835885e..aeb81a4a2 100644 --- a/SSL/src/Catalogs/ЗапланированноеВзаимодействиеПрисоединенныеФайлы/ЗапланированноеВзаимодействиеПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/ЗапланированноеВзаимодействиеПрисоединенныеФайлы/ЗапланированноеВзаимодействиеПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ - Use + DontUse Managed Use @@ -115,7 +115,6 @@ ru Автор - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -180,7 +179,6 @@ ru Дата создания - Дата добавления файла в базу Date @@ -223,7 +221,6 @@ ru Изменил - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -247,7 +244,6 @@ ru Индекс картинки - Индекс иконки, соответствующей расширению файла, для показа в списке Number @@ -271,7 +267,6 @@ ru Описание - Описание файла String @@ -312,7 +307,6 @@ ru Путь к файлу - Дополнительный путь к файлу на диске (в случае если тип хранения файла - на диске) String @@ -333,7 +327,6 @@ ru Размер - Размер файла Number @@ -424,7 +417,6 @@ ru Текст - Текст, извлеченный из файла - для полнотекстового поиска ValueStorage @@ -444,7 +436,6 @@ ru Тип хранения файла - Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске EnumRef.ТипыХраненияФайлов @@ -464,7 +455,6 @@ ru Том - Ссылка на том (в случае если тип хранения файла - на диске) CatalogRef.ТомаХраненияФайлов @@ -484,7 +474,6 @@ ru Файл хранилище - Служебное поле для обмена файлами в РИБ ValueStorage @@ -600,7 +589,6 @@ ru Отпечаток - Отпечаток сертификата String @@ -656,7 +644,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage @@ -737,7 +724,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаГруппы/Help/ru.html b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаГруппы/Help/ru.html new file mode 100644 index 000000000..dfacff322 --- /dev/null +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаГруппы/Help/ru.html @@ -0,0 +1,5 @@ + +

    Предназначена для ввода сведений о группе значений дополнительных реквизитов (сведений).

    +
    • В поле Группа напишите наименование группы. +
    • С помощью поля Входит в группу можно подчинить новую группу другой группе. Выберите группу из списка.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Form.form index c78d5a5f7..987ada021 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Form.form @@ -1,5 +1,283 @@ + + ГруппаПользовательскихНастроек + 41 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 43 + + ОсновныеКоманды + 47 + + ФормаВыбрать + 17 + true + true + + true + + true + + ФормаВыбратьExtendedTooltip + 24 + Label + true + true + + Left + + + Form.StandardCommand.Choose + Auto + true + true + true + UserCmds + Auto + + + ФормаСоздать + 10 + true + true + + true + + + ФормаСоздатьExtendedTooltip + 25 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСоздатьГруппу + 18 + true + true + + true + + + ФормаСоздатьГруппуExtendedTooltip + 26 + Label + true + true + + Left + + + Form.StandardCommand.CreateFolder + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 21 + true + true + + true + + + ФормаСкопироватьExtendedTooltip + 27 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменить + 23 + true + true + + true + + + ФормаИзменитьExtendedTooltip + 28 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Основные команды</value> + + + ru + Основные команды + + + ОсновныеКомандыРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + + + ДополнительныеКоманды + 12 + true + true + + true + + + <key>ru</key> + <value>Дополнительные команды</value> + + + ru + Дополнительные команды + + + ДополнительныеКомандыРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 13 + true + true + + true + + + ФормаСправкаExtendedTooltip + 30 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + CommandBar + + Left + + Свойство 6 @@ -230,10 +508,10 @@
    СписокСтрокаПоиска - 42 + 50 СписокСтрокаПоискаРасширеннаяПодсказка - 44 + 52 Label true true @@ -243,7 +521,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 43 + 51 true Список @@ -253,10 +531,10 @@ СписокСостояниеПросмотра - 45 + 53 СписокСостояниеПросмотраРасширеннаяПодсказка - 47 + 55 Label true true @@ -266,7 +544,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 46 + 54 true ViewStatusAddition @@ -277,10 +555,10 @@ СписокУправлениеПоиском - 48 + 56 СписокУправлениеПоискомРасширеннаяПодсказка - 50 + 58 Label true true @@ -290,7 +568,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 49 + 57 true SearchControlAddition @@ -349,198 +627,12 @@ true + ГруппаПользовательскихНастроек
    ФормаКоманднаяПанель -1 - - ФормаВыбрать - 17 - true - true - - true - - true - - ФормаВыбратьExtendedTooltip - 24 - Label - true - true - - Left - - - Form.StandardCommand.Choose - Auto - true - true - true - UserCmds - Auto - - - ФормаСоздать - 10 - true - true - - true - - - ФормаСоздатьExtendedTooltip - 25 - Label - true - true - - Left - - - Form.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСоздатьГруппу - 18 - true - true - - true - - - ФормаСоздатьГруппуExtendedTooltip - 26 - Label - true - true - - Left - - - Form.StandardCommand.CreateFolder - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСкопировать - 21 - true - true - - true - - - ФормаСкопироватьExtendedTooltip - 27 - Label - true - true - - Left - - - Form.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - ФормаИзменить - 23 - true - true - - true - - - ФормаИзменитьExtendedTooltip - 28 - Label - true - true - - Left - - - Form.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - КомандыФормы - 12 - true - true - - true - - - <key>ru</key> - <value>Команды формы</value> - - - ru - Команды формы - - - КомандыФормыExtendedTooltip - 29 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 13 - true - true - - true - - - ФормаСправкаExtendedTooltip - 30 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Module.bsl index b3b2bdebc..86c1b95a6 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаСписка/Module.bsl @@ -28,7 +28,7 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Если Параметры.Свойство("ВыборГруппИЭлементов") И Параметры.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Группы Тогда @@ -52,7 +52,6 @@ КонецЕсли; ПриИзмененииСвойства(); - КонецПроцедуры &НаКлиенте diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..5ad52a3fb --- /dev/null +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,14 @@ + +

    Предназначена для ввода значения дополнительного реквизита (сведения).

    +

    В программе предусмотрена возможность использовать дополнительные реквизиты (сведения) нескольких типов. Тип данных выбирается при настройке дополнительных реквизитов (сведений). При выборе типа данных Дополнительное значение программа предлагает ввести значения. При этом для каждого дополнительного реквизита или сведения данного типа используется свой список значений.

    +

    Ввод значений

    +
    • +
      Укажите Наименование значения дополнительного реквизита (сведения).
      +
    • +
      С помощью поля Входит в группу новое значение можно включить в одну из групп. Для ввода новой группы нажмите Создать (клавишу F8), введите наименование. Для выбора из имеющихся групп нажмите Показать все (клавишу F4), выберите нужную группу из списка. 
      +
    • +
      В случае если для дополнительного реквизита (сведения) включен флажок Значения дополнительно характеризуются весовым коэффициентом, введите числовое значение в поле Весовой коэффициент.
      +
      • +
        Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования этого поля необходимо продумывать самостоятельно. Например, для значений свойства "Надежность" можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Help/ru.html b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Help/ru.html index 59510dc74..75b03d27c 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Help/ru.html +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/Help/ru.html @@ -1,14 +1,15 @@ - +

    В списке задаются значения дополнительных реквизитов и сведений.

    -

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

    +

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

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

    -

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

    -

    Ввод значений

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

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

    Как сгруппировать значения

    +

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

    +

    Выбор значений

    +
    • Выделите нужный элемент. +
    • Нажмите Выбрать. +
    • Также можно воспользоваться двойным щелчком мыши.

    Ввод значений

    +

    Для ввода значений нажмите Создать, заполните необходимые поля.

    +

    Группировка значений

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

    -
    • Для ввода группы в список нажмите , введите наименование. -
    • Перетащите значения мышью в соответствующие группы.

    См. также

    -

    Работа с формами

    \ No newline at end of file +
    • Для ввода группы в список нажмите Создать группу, заполните необходимые поля.  +
    • Перетащите значения мышью в соответствующие группы.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/ЗначенияСвойствОбъектов.mdo b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/ЗначенияСвойствОбъектов.mdo index 0831ef491..49b440cec 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектов/ЗначенияСвойствОбъектов.mdo +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектов/ЗначенияСвойствОбъектов.mdo @@ -175,6 +175,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice @@ -184,6 +189,11 @@ ru Форма группы + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Form.form index 8006c9ce1..882ccf255 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Form.form @@ -1,5 +1,253 @@ + + ГруппаПользовательскихНастроек + 40 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 42 + + ОсновныеКоманды + 44 + + ФормаВыбрать + 17 + true + true + + true + + true + + ФормаВыбратьExtendedTooltip + 24 + Label + true + true + + Left + + + Form.StandardCommand.Choose + Auto + true + true + true + UserCmds + Auto + + + ФормаСоздать + 10 + true + true + + true + + + ФормаСоздатьExtendedTooltip + 25 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 21 + true + true + + true + + + ФормаСкопироватьExtendedTooltip + 26 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменить + 23 + true + true + + true + + + ФормаИзменитьExtendedTooltip + 27 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Основные команды</value> + + + ru + Основные команды + + + ОсновныеКомандыРасширеннаяПодсказка + 45 + Label + true + true + + Left + + + + + + ДополнительныеКоманды + 12 + true + true + + true + + + <key>ru</key> + <value>Дополнительные команды</value> + + + ru + Дополнительные команды + + + ДополнительныеКомандыРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 13 + true + true + + true + + + ФормаСправкаExtendedTooltip + 29 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + CommandBar + + Left + + Свойство 6 @@ -222,10 +470,10 @@
    СписокСтрокаПоиска - 41 + 47 СписокСтрокаПоискаРасширеннаяПодсказка - 43 + 49 Label true true @@ -235,7 +483,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 42 + 48 true Список @@ -245,10 +493,10 @@ СписокСостояниеПросмотра - 44 + 50 СписокСостояниеПросмотраРасширеннаяПодсказка - 46 + 52 Label true true @@ -258,7 +506,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 45 + 51 true ViewStatusAddition @@ -269,10 +517,10 @@ СписокУправлениеПоиском - 47 + 53 СписокУправлениеПоискомРасширеннаяПодсказка - 49 + 55 Label true true @@ -282,7 +530,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 48 + 54 true SearchControlAddition @@ -341,172 +589,12 @@ true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаВыбрать - 17 - true - true - - true - - true - - ФормаВыбратьExtendedTooltip - 24 - Label - true - true - - Left - - - Form.StandardCommand.Choose - Auto - true - true - true - UserCmds - Auto - - - ФормаСоздать - 10 - true - true - - true - - - ФормаСоздатьExtendedTooltip - 25 - Label - true - true - - Left - - - Form.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСкопировать - 21 - true - true - - true - - - ФормаСкопироватьExtendedTooltip - 26 - Label - true - true - - Left - - - Form.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - ФормаИзменить - 23 - true - true - - true - - - ФормаИзменитьExtendedTooltip - 27 - Label - true - true - - Left - - - Form.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - КомандыФормы - 12 - true - true - - true - - - <key>ru</key> - <value>Команды формы</value> - - - ru - Команды формы - - - КомандыФормыExtendedTooltip - 28 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 13 - true - true - - true - - - ФормаСправкаExtendedTooltip - 29 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Module.bsl index 022cabe77..c28366f04 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаСписка/Module.bsl @@ -27,7 +27,7 @@ Если Параметры.РежимВыбора Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Иначе Элементы.Список.РежимВыбора = Ложь; КонецЕсли; @@ -35,7 +35,6 @@ УстановитьЗаголовок(); ПриИзмененииСвойства(); - КонецПроцедуры &НаКлиенте diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..0ffb13953 --- /dev/null +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,14 @@ + +

    Предназначена для ввода значения дополнительного реквизита (сведения).

    +

    В программе предусмотрена возможность использовать дополнительные реквизиты (сведения) нескольких типов. Тип данных выбирается при настройке дополнительных реквизитов (сведений). При выборе типа данных Дополнительное значение (иерархия) программа предлагает ввести значения. При этом для каждого дополнительного реквизита или сведения данного типа используется свой список значений.

    +

    Ввод значений

    +
    • +
      Укажите Наименование значения дополнительного реквизита (сведения).
      +
    • +
      С помощью поля Входит в группу можно подчинить новый элемент одному из имеющихся в списке. Для ввода нового вышестоящего элемента нажмите Создать (клавишу F8). Для выбора из имеющихся элементов нажмите Показать все (клавишу F4), выберите нужный элемент из списка.
      +
    • +
        В случае если для дополнительного реквизита (сведения) включен флажок Значения дополнительно характеризуются весовым коэффициентом, введите числовое значение в поле Весовой коэффициент.
      +
      • +
        Это поле в дальнейшем можно использовать для анализа в отчетах. Логику использования весового коэффициента необходимо продумывать самостоятельно. Например, для значений свойства "Надежность" можно задать вес следующим образом: для значений от единицы до тройки поставить вес равным нулю, а для значений четыре и пять равным единице. При таких весах в отчет можно быстро вывести надежных клиентов (у которых вес значения больше нуля).

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Help/ru.html b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Help/ru.html index 0e92b79c3..45729dace 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Help/ru.html +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/Help/ru.html @@ -1,12 +1,13 @@ - +

     В списке задаются значения дополнительных реквизитов и сведений.  

    -

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

    -

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

    +

    В программе предусмотрена возможность использовать дополнительные реквизиты (сведения) нескольких типов. Тип данных выбирается при настройке дополнительных реквизитов (сведений). При выборе типа данных Дополнительное значение (иерархия) программа предлагает ввести значения в этот список. При этом для каждого дополнительного реквизита или сведения данного типа используется свой список значений.

    +

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

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

    -

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

    -

    Ввод значений

    -
    • Наименование  - укажите наименование значения дополнительного реквизита (сведения). -
    • Входит в группу - можно подчинить новый элемент одному из имеющихся в списке. Для ввода нового вышестоящего элемента нажмите Создать (клавишу F8), введите наименование. Для выбора из имеющихся элементов нажмите Показать все (клавишу F4), выберите нужный элемент из списка.  -
    • -

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

    См. также

    -

    Работа с формами

    \ No newline at end of file +

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

    +

    Выбор значений

    +
    • Выделите нужный элемент. +
    • Нажмите Выбрать. +
    • Также можно воспользоваться двойным щелчком мыши.

    Ввод значений

    +

    Для ввода значений нажмите Создать. Заполните необходимые поля.

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/ЗначенияСвойствОбъектовИерархия.mdo b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/ЗначенияСвойствОбъектовИерархия.mdo index 541171ea6..eb33d2839 100644 --- a/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/ЗначенияСвойствОбъектовИерархия.mdo +++ b/SSL/src/Catalogs/ЗначенияСвойствОбъектовИерархия/ЗначенияСвойствОбъектовИерархия.mdo @@ -174,6 +174,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаСписка/Form.form index d332df222..03b2c1bcb 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаСписка/Form.form @@ -1,5 +1,67 @@ + + ГруппаПользовательскихНастроек + 21 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 23 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -14,7 +76,7 @@ true None - Синоним + СписокСиноним 4 <key>ru</key> @@ -30,7 +92,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>СинонимExtendedTooltip</name> + <name>СписокСинонимРасширеннаяПодсказка</name> <id>16</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -40,7 +102,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СинонимКонтекстноеМеню</name> + <name>СписокСинонимКонтекстноеМеню</name> <id>5</id> <autoFill>true</autoFill> </contextMenu> @@ -55,7 +117,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ПолноеИмя</name> + <name>СписокПолноеИмя</name> <id>13</id> <visible>true</visible> <enabled>true</enabled> @@ -64,7 +126,7 @@ <segments>Список.ПолноеИмя</segments> </dataPath> <extendedTooltip> - <name>ПолноеИмяExtendedTooltip</name> + <name>СписокПолноеИмяРасширеннаяПодсказка</name> <id>17</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -74,7 +136,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПолноеИмяКонтекстноеМеню</name> + <name>СписокПолноеИмяКонтекстноеМеню</name> <id>14</id> <autoFill>true</autoFill> </contextMenu> @@ -89,7 +151,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Ссылка</name> + <name>СписокСсылка</name> <id>18</id> <visible>true</visible> <enabled>true</enabled> @@ -98,7 +160,7 @@ <segments>Список.Ref</segments> </dataPath> <extendedTooltip> - <name>СсылкаРасширеннаяПодсказка</name> + <name>СписокСсылкаРасширеннаяПодсказка</name> <id>20</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -108,7 +170,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СсылкаКонтекстноеМеню</name> + <name>СписокСсылкаКонтекстноеМеню</name> <id>19</id> <autoFill>true</autoFill> </contextMenu> @@ -134,10 +196,10 @@ </handlers> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>21</id> + <id>25</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>23</id> + <id>27</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -147,7 +209,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>22</id> + <id>26</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -157,10 +219,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>24</id> + <id>28</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>26</id> + <id>30</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -170,7 +232,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>25</id> + <id>29</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -181,10 +243,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>27</id> + <id>31</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>29</id> + <id>33</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -194,7 +256,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>28</id> + <id>32</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -253,18 +315,20 @@ </period> <topLevelParent xsi:type="core:UndefinedValue"/> <allowGettingCurrentRowURL>true</allowGettingCurrentRowURL> + <userSettingsGroup>ГруппаПользовательскихНастроек</userSettingsGroup> </extInfo> </items> <autoCommandBar> <name>ФормаКоманднаяПанель</name> <id>-1</id> <horizontalAlign>Left</horizontalAlign> - <autoFill>true</autoFill> </autoCommandBar> <handlers> <event>OnCreateAtServer</event> <name>ПриСозданииНаСервере</name> </handlers> + <width>50</width> + <height>10</height> <windowOpeningMode>DontBlock</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> <autoTitle>true</autoTitle> diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаЭлемента/Help/ru.html index 4b3df4672..4707004e0 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Просмотр свойств идентификатора объекта метаданных.</p> <p>Заполняется автоматически при первом запуске (и каждом обновлении) конфигурации, согласно метаданным конфигурации, а также автоматически актуализируется при каждом обновлении версии конфигурации (учитываются переименованные, добавленные и удаленные объекты метаданных). </p> <p>Выводятся сведения:</p> diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Help/ru.html b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Help/ru.html index 4400afdf7..330ae06bc 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Help/ru.html +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/Help/ru.html @@ -1,7 +1,7 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Предназначен для хранения и просмотра идентификаторов объектов метаданных. Данные списка не редактируются, предназначены для обеспечения работы программы.</p> <p>Список заполняется автоматически при первом запуске (и каждом обновлении) конфигурации, согласно метаданным конфигурации, а также автоматически актуализируется при каждом обновлении версии конфигурации (учитываются переименованные, добавленные и удаленные объекты метаданных). </p> <p>В списке в виде дерева выводятся все объекты программы, сгруппированные по типам. По умолчанию выводится поле <strong>Синоним</strong> объекта. По команде <strong>Все действия - Изменить форму</strong> можно добавить в список поля <strong>Полное имя</strong> и <strong>Идентификатор</strong>.</p> <p>Нажмите <img src="StdPicture.Change"></img> для просмотра подробных <a href="Catalog.ИдентификаторыОбъектовМетаданных.Form.ФормаЭлемента/Help">сведений</a> об идентификаторе выбранного объекта.</p> <h3>См. также:</h3> -<p><a href="v8help://frame/form_common">Работа с формами</a></p></body></html> \ No newline at end of file +<ul><li><a href="v8help://frame/form_common">Работа с формами</a></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl index 020594c76..a1a49f55a 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ManagerModule.bsl @@ -66,19 +66,38 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс // Возвращает Истина, если проверка, обновление и замена дублей заверешена. -Функция ДанныеОбновлены() Экспорт +// +// Параметры: +// Сообщить - Булево - если передать Истина, тогда будет вызвано исключение +// по ошибке обращения к необновленным параметрам работы программы. +// +Функция ДанныеОбновлены(Сообщить = Ложь) Экспорт - Отказ = Ложь; + Если Сообщить Тогда + Отказ = Неопределено; + Иначе + Отказ = Ложь; + КонецЕсли; СтандартныеПодсистемыСервер.ПроверитьОбновлениеПараметровРаботыПрограммы( "ПараметрыБазовойФункциональности", "ИдентификаторыОбъектовМетаданных", Отказ); - Возврат Не Отказ; + Возврат Отказ <> Истина; КонецФункции @@ -94,7 +113,7 @@ // // ТолькоПроверка - Булево (возвращаемое значение) - не производит никаких изменений, // а лишь выполняет установку флажков ЕстьИзменения, ЕстьУдаленные, -// ЕстьКритичныеИзменения, ТребуетсяОбновитьКэш. +// ЕстьКритичныеИзменения. // // ЕстьКритичныеИзменения - (возвращаемое значение) - в этот параметр возвращается // значение Истина, если найдены критичные изменения, иначе не изменяется. @@ -103,22 +122,22 @@ // - добавление нового элемента справочника. // В общем случае, критичные изменения требуют монопольный режим. // -// ТребуетсяОбновитьКэш - Булево (возвращаемое значение) - в этот параметр возвращается -// значение Истина, если кэш идентификаторов объектов метаданных -// в константе ПараметрыБазовойФункциональности нужно обновить. -// // СписокКритичныхИзменений - Строка (возвращаемое значение) - содержит полные имена // объектов метаданных, которые добавлены или требуется добавить, // а также объектов метаданных, полные имена которых изменены или требуется изменить. // -Процедура ВыполнитьОбновлениеДанных(ЕстьИзменения = Ложь, ЕстьУдаленные = Ложь, ТолькоПроверка = Ложь, ЕстьКритичныеИзменения = Ложь, - ТребуетсяОбновитьКэш = Ложь, СписокКритичныхИзменений = "") Экспорт +Процедура ВыполнитьОбновлениеДанных(ЕстьИзменения = Ложь, ЕстьУдаленные = Ложь, ТолькоПроверка = Ложь, + ЕстьКритичныеИзменения = Ложь, СписокКритичныхИзменений = "") Экспорт ПроверкаИспользования(); УстановитьПривилегированныйРежим(Истина); - ЗаменитьДублиПодчиненногоУзлаНайденныеПриЗагрузке(ТолькоПроверка, ЕстьИзменения); + ЕстьТекущиеИзменения = Ложь; + ЗаменитьДублиПодчиненногоУзлаНайденныеПриЗагрузке(ТолькоПроверка, ЕстьТекущиеИзменения); + Если ЕстьТекущиеИзменения Тогда + ЕстьИзменения = Истина; + КонецЕсли; СвойстваОбъектовМетаданных = СвойстваОбъектовМетаданных(); СправочникМенеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник.ИдентификаторыОбъектовМетаданных"); @@ -138,8 +157,6 @@ Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("Справочник.ИдентификаторыОбъектовМетаданных"); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; - ЭлементБлокировки = Блокировка.Добавить("Константа.ПараметрыБазовойФункциональности"); - ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; СнятьМонопольныйРежим = Ложь; НачатьТранзакцию(); @@ -280,18 +297,8 @@ + Символы.ПС + СписокНовыхОбъектовМетаданных + Символы.ПС; КонецЕсли; - Если НЕ (ТолькоПроверка ИЛИ МонопольныйРежим()) Тогда - // Если кэш нужно обновить, тогда тоже нужен монопольный режим. - ТребуетсяОбновитьТекущийКэш = Ложь; - ОбновитьКэшИдентификаторов(Выгрузка, ТребуетсяОбновитьТекущийКэш, Истина); - Если ТребуетсяОбновитьТекущийКэш Тогда - ТребуетсяОбновитьКэш = Истина; - КонецЕсли; - КонецЕсли; - Если НЕ (ТолькоПроверка ИЛИ МонопольныйРежим()) - И ( ЕстьТекущиеКритичныеИзменения = Истина - ИЛИ ТребуетсяОбновитьТекущийКэш = Истина) Тогда + И ЕстьТекущиеКритичныеИзменения Тогда ЗафиксироватьТранзакцию(); Попытка @@ -341,6 +348,7 @@ Продолжить; КонецЕсли; + ЕстьТекущиеИзменения = Истина; ЕстьИзменения = Истина; Если ТолькоПроверка Тогда ЗафиксироватьТранзакцию(); @@ -349,12 +357,11 @@ ЗаполнитьЗначенияСвойств(ТаблицаОбъект, Свойства); ТаблицаОбъект.КлючОбъектаМетаданных = Новый ХранилищеЗначения(Свойства.КлючОбъектаМетаданных); - ТаблицаОбъект.ДополнительныеСвойства.Вставить("ВыполняетсяАвтоматическоеОбновлениеДанныхСправочника"); + ТаблицаОбъект.ОбменДанными.Загрузка = Истина; + ПроверитьОбъектПередЗаписью(ТаблицаОбъект, Истина); ТаблицаОбъект.Записать(); КонецЦикла; - ОбновитьКэшИдентификаторов(Выгрузка, ЕстьИзменения, ТолькоПроверка); - Если ЗначениеЗаполнено(СписокКритичныхИзменений) Тогда ЗаписьЖурналаРегистрации( НСтр("ru = 'Идентификаторы объектов метаданных.Выполнены критичные изменения'", @@ -386,6 +393,11 @@ УстановитьМонопольныйРежим(Ложь); КонецЕсли; + Если Не ТолькоПроверка Или Не ЕстьТекущиеИзменения Тогда + СтандартныеПодсистемыСервер.ПодтвердитьОбновлениеПараметраРаботыПрограммы( + "ПараметрыБазовойФункциональности", "ИдентификаторыОбъектовМетаданных"); + КонецЕсли; + КонецПроцедуры // Возвращает реквизиты справочника, которые образуют естественный ключ @@ -713,25 +725,6 @@ КонецФункции -// Только для внутреннего использования. -Функция ПолноеИмяИспользуется(ПолноеИмя, КромеИдентификатора = Неопределено) Экспорт - - Запрос = Новый Запрос; - Запрос.УстановитьПараметр("ПолноеИмя", ПолноеИмя); - Запрос.УстановитьПараметр("Ссылка", КромеИдентификатора); - Запрос.Текст = - "ВЫБРАТЬ ПЕРВЫЕ 1 - | ИСТИНА КАК ЗначениеИстина - |ИЗ - | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных - |ГДЕ - | ИдентификаторыОбъектовМетаданных.Ссылка <> &Ссылка - | И ИдентификаторыОбъектовМетаданных.ПолноеИмя = &ПолноеИмя"; - - Возврат НЕ Запрос.Выполнить().Пустой(); - -КонецФункции - // Только для внутреннего использования. // ПолноеИмя в объекте должно быть уже установлено и корректно. // @@ -1050,14 +1043,74 @@ КонецФункции -// Только для внутреннего использования -Функция ЭтоКоллекция(Ссылка) Экспорт +// Только для внутреннего использования. +Процедура ПроверитьОбъектПередЗаписью(Объект, АвтоматическоеОбновление = Ложь) Экспорт - Возврат СтандартныеПодсистемыПовтИсп.СвойстваКоллекцийОбъектовМетаданных( - ).Найти(Ссылка, "ИдентификаторКоллекции") <> Неопределено; + Если НЕ АвтоматическоеОбновление Тогда + + Если Объект.ЭтоНовый() Тогда + + ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Создание нового идентификатора объекта метаданных + |возможно только автоматически при обновлении данных справочника.'"), + Объект.ПолноеИмя)); + + ИначеЕсли ЗапрещеноИзменятьПолноеИмя(Объект) Тогда + + ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'При изменении идентификатора объекта метаданных указано + |полное имя ""%1"", которое может быть + |установлено только автоматически при обновлении данных справочника.'"), + Объект.ПолноеИмя)); + + ИначеЕсли ПолноеИмяИспользуется(Объект.ПолноеИмя, Объект.Ссылка) Тогда + + ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'При изменении идентификатора объекта метаданных указано + |полное имя ""%1"", + |которое уже используется в справочнике.'"), + Объект.ПолноеИмя)); + + КонецЕсли; + + ОбновитьСвойстваИдентификатора(Объект); + КонецЕсли; -КонецФункции + Если ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда + + Если Объект.ЭтоНовый() + И Не ЭтоКоллекция(Объект.ПолучитьСсылкуНового()) Тогда + + ВызватьИсключениеПоОшибке( + НСтр("ru = 'Добавление новых элементов может быть выполнено + |только в главном узле распределенной информационной базы.'")); + КонецЕсли; + + Если Не Объект.ПометкаУдаления + И Не ЭтоКоллекция(Объект.Ссылка) Тогда + + Если ВРег(Объект.ПолноеИмя) <> ВРег(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Ссылка, "ПолноеИмя")) Тогда + ВызватьИсключениеПоОшибке( + НСтр("ru = 'Изменение реквизита ""Полное имя"" может быть выполнено + |только в главном узле распределенной информационной базы.'")); + КонецЕсли; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры +// Только для внутреннего использования. +Процедура ВызватьИсключениеПоОшибке(ТекстОшибки) Экспорт + + ВызватьИсключение + НСтр("ru = 'Ошибка при работе со справочником ""Идентификаторы объектов метаданных"".'") + " + | + |" + ТекстОшибки; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры и функции Функция ВыгрузкаВсехИдентификаторов() @@ -1433,86 +1486,6 @@ КонецФункции -Процедура ОбновитьКэшИдентификаторов(Выгрузка, ЕстьИзменения, ТолькоПроверка); - - // Обновление параметра работы программы ИдентификаторыОбъектовМетаданных, - // используемого, как кэш для ускорения работы программы. - ПоПолнымИменам = Новый Соответствие; // Идентификатор по полному имени. - ПоТипам = Новый Соответствие; // Идентификатор по типам (основным). - ТипыПоИдентификаторам = Новый Соответствие; // Один из типов по идентификатору. - ПолныеИменаПоИдентификаторам = Новый Соответствие; // Полное имя по идентификатору. - - НайденныеСтроки = Выгрузка.НайтиСтроки(Новый Структура("ПометкаУдаления", Ложь)); - Для каждого Свойства Из НайденныеСтроки Цикл - - Если Свойства.ОбъектМетаданных = Неопределено Тогда - Продолжить; - КонецЕсли; - - // Параметры для быстрого поиска идентификатора. - ПоПолнымИменам.Вставить(Свойства.ПолноеИмя, Свойства.Ссылка); - - Если НЕ Свойства.БезДанных - И НЕ Метаданные.Константы.Содержит(Свойства.ОбъектМетаданных) Тогда - - ТипСсылки = СтандартныеПодсистемыСервер.ТипСсылкиИлиКлючаЗаписиОбъектаМетаданных( - Свойства.ОбъектМетаданных); - - ТипОбъекта = СтандартныеПодсистемыСервер.ТипОбъектаИлиНабораЗаписейОбъектаМетаданных( - Свойства.ОбъектМетаданных); - - ПоТипам.Вставить(ТипСсылки, Свойства.Ссылка); - ПоТипам.Вставить(ТипОбъекта, Свойства.Ссылка); - КонецЕсли; - - // Параметры для быстрого поиска объекта метаданных. - ПолныеИменаПоИдентификаторам.Вставить(Свойства.Ссылка, Свойства.ПолноеИмя); - - Если Свойства.КлючОбъектаМетаданных <> Неопределено - И Свойства.КлючОбъектаМетаданных <> Тип("Неопределено") Тогда - - ТипыПоИдентификаторам.Вставить(Свойства.Ссылка, Свойства.КлючОбъектаМетаданных); - КонецЕсли; - КонецЦикла; - - КэшИдентификаторов = Новый Структура; - КэшИдентификаторов.Вставить("ПоПолнымИменам", ПоПолнымИменам); - КэшИдентификаторов.Вставить("ПоТипам", ПоТипам); - КэшИдентификаторов.Вставить("ТипыПоИдентификаторам", ТипыПоИдентификаторам); - КэшИдентификаторов.Вставить("ПолныеИменаПоИдентификаторам", ПолныеИменаПоИдентификаторам); - - КэшИдентификаторов = ОбщегоНазначения.ФиксированныеДанные(КэшИдентификаторов); - - Параметры = СтандартныеПодсистемыСервер.ПараметрыРаботыПрограммы( - "ПараметрыБазовойФункциональности"); - - Сохраненные = Неопределено; - - Если Параметры.Свойство("ИдентификаторыОбъектовМетаданных") Тогда - Сохраненные = Параметры.ИдентификаторыОбъектовМетаданных; - - Если НЕ ОбщегоНазначения.ДанныеСовпадают(КэшИдентификаторов, Сохраненные) Тогда - Сохраненные = Неопределено; - КонецЕсли; - КонецЕсли; - - Если Сохраненные = Неопределено Тогда - ЕстьИзменения = Истина; - Если ТолькоПроверка Тогда - Возврат; - КонецЕсли; - СтандартныеПодсистемыСервер.УстановитьПараметрРаботыПрограммы( - "ПараметрыБазовойФункциональности", - "ИдентификаторыОбъектовМетаданных", - КэшИдентификаторов); - - КонецЕсли; - - СтандартныеПодсистемыСервер.ПодтвердитьОбновлениеПараметраРаботыПрограммы( - "ПараметрыБазовойФункциональности", "ИдентификаторыОбъектовМетаданных"); - -КонецПроцедуры - Функция МетаданныеНайтиПоПолномуИмени(ПолноеИмя) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмя); @@ -1581,6 +1554,31 @@ КонецФункции +Функция ПолноеИмяИспользуется(ПолноеИмя, КромеИдентификатора = Неопределено) + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ПолноеИмя", ПолноеИмя); + Запрос.УстановитьПараметр("Ссылка", КромеИдентификатора); + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ИСТИНА КАК ЗначениеИстина + |ИЗ + | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных + |ГДЕ + | ИдентификаторыОбъектовМетаданных.Ссылка <> &Ссылка + | И ИдентификаторыОбъектовМетаданных.ПолноеИмя = &ПолноеИмя"; + + Возврат НЕ Запрос.Выполнить().Пустой(); + +КонецФункции + +Функция ЭтоКоллекция(Ссылка) + + Возврат СтандартныеПодсистемыПовтИсп.СвойстваКоллекцийОбъектовМетаданных( + ).Найти(Ссылка, "ИдентификаторКоллекции") <> Неопределено; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции замены идентификатора в базе данных diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ObjectModule.bsl b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ObjectModule.bsl index 06fda95e7..5fab0ddfa 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ObjectModule.bsl +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ObjectModule.bsl @@ -7,7 +7,7 @@ // Процедура ПередЗаписью(Отказ) - Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(); // Отключение механизма регистрации объектов. ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов"); @@ -21,63 +21,14 @@ Возврат; КонецЕсли; - Если НЕ ДополнительныеСвойства.Свойство("ВыполняетсяАвтоматическоеОбновлениеДанныхСправочника") Тогда - - Если ЭтоНовый() Тогда - - ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Создание нового идентификатора объекта метаданных - |возможно только автоматически при обновлении данных справочника.'"), - ПолноеИмя)); - - ИначеЕсли Справочники.ИдентификаторыОбъектовМетаданных.ЗапрещеноИзменятьПолноеИмя(ЭтотОбъект) Тогда - - ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'При изменении идентификатора объекта метаданных указано - |полное имя ""%1"", которое может быть - |установлено только автоматически при обновлении данных справочника.'"), - ПолноеИмя)); - - ИначеЕсли Справочники.ИдентификаторыОбъектовМетаданных.ПолноеИмяИспользуется(ПолноеИмя, Ссылка) Тогда - - ВызватьИсключениеПоОшибке(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'При изменении идентификатора объекта метаданных указано - |полное имя ""%1"", - |которое уже используется в справочнике.'"), - ПолноеИмя)); - - КонецЕсли; - - Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьСвойстваИдентификатора(ЭтотОбъект); - КонецЕсли; - - Если ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда - - Если ЭтоНовый() - И Не Справочники.ИдентификаторыОбъектовМетаданных.ЭтоКоллекция(ПолучитьСсылкуНового()) Тогда - - ВызватьИсключениеПоОшибке( - НСтр("ru = 'Добавление новых элементов может быть выполнено - |только в главном узле распределенной информационной базы.'")); - КонецЕсли; - - Если Не ПометкаУдаления - И Не Справочники.ИдентификаторыОбъектовМетаданных.ЭтоКоллекция(Ссылка) Тогда - - Если ВРег(ПолноеИмя) <> ВРег(ОбщегоНазначения.ПолучитьЗначениеРеквизита(Ссылка, "ПолноеИмя")) Тогда - ВызватьИсключениеПоОшибке( - НСтр("ru = 'Изменение реквизита ""Полное имя"" может быть выполнено - |только в главном узле распределенной информационной базы.'")); - КонецЕсли; - КонецЕсли; - КонецЕсли; + Справочники.ИдентификаторыОбъектовМетаданных.ПроверитьОбъектПередЗаписью(ЭтотОбъект); КонецПроцедуры // Предотвращает удаление идентификаторов объектов метаданных не помеченных на удаление. Процедура ПередУдалением(Отказ) - Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(); // Отключение механизма регистрации объектов. // Ссылки идентификаторов удаляются независимо во всех узлах @@ -89,25 +40,13 @@ КонецЕсли; Если НЕ ПометкаУдаления Тогда - ВызватьИсключениеПоОшибке( + Справочники.ИдентификаторыОбъектовМетаданных.ВызватьИсключениеПоОшибке( НСтр("ru = 'Удаление идентификаторов объектов метаданных, у которых значение |реквизита ""Пометка удаления"" установлено Ложь недопустимо.'")); КонецЕсли; КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// Вспомогательные процедуры и функции - -Процедура ВызватьИсключениеПоОшибке(ТекстОшибки); - - ВызватьИсключение - НСтр("ru = 'Ошибка при работе со справочником ""Идентификаторы объектов метаданных"".'") + " - | - |" + ТекстОшибки; - -КонецПроцедуры - #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ИдентификаторыОбъектовМетаданных.mdo b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ИдентификаторыОбъектовМетаданных.mdo index 8204c110a..b3da75810 100644 --- a/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ИдентификаторыОбъектовМетаданных.mdo +++ b/SSL/src/Catalogs/ИдентификаторыОбъектовМетаданных/ИдентификаторыОбъектовМетаданных.mdo @@ -121,7 +121,7 @@ <dataLockControlMode>Managed</dataLockControlMode> <objectPresentation> <key>ru</key> - <value>Идентификатор объекта метаданых</value> + <value>Идентификатор объекта метаданных</value> </objectPresentation> <explanation> <key>ru</key> diff --git a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Form.form index 070590f11..0ce7f1f4f 100644 --- a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Form.form @@ -1,5 +1,99 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>34</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 35 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 32 + + СписокИзменитьВыделенные + 30 + true + true + + true + + + СписокИзменитьВыделенныеРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + Form.Command.ИзменитьВыделенные + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -237,10 +331,10 @@ СписокСтрокаПоиска - 32 + 36 СписокСтрокаПоискаРасширеннаяПодсказка - 34 + 38 Label true true @@ -250,7 +344,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 33 + 37 true Список @@ -260,10 +354,10 @@ СписокСостояниеПросмотра - 35 + 39 СписокСостояниеПросмотраРасширеннаяПодсказка - 37 + 41 Label true true @@ -273,7 +367,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 36 + 40 true ViewStatusAddition @@ -284,10 +378,10 @@ СписокУправлениеПоиском - 38 + 42 СписокУправлениеПоискомРасширеннаяПодсказка - 40 + 44 Label true true @@ -297,7 +391,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 39 + 43 true SearchControlAddition @@ -358,39 +452,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - СписокИзменитьВыделенные - 30 - true - true - - true - - - СписокИзменитьВыделенныеРасширеннаяПодсказка - 31 - Label - true - true - - Left - - - Form.Command.ИзменитьВыделенные - Normal - Auto - true - true - UserCmds - Auto - Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl index a432556cd..0cc5bfe57 100644 --- a/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/Календари/Forms/ФормаСписка/Module.bsl @@ -16,8 +16,7 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ВладелецГрафика", , ВидСравненияКомпоновкиДанных.НеЗаполнено, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/Календари/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Календари/Forms/ФормаЭлемента/Help/ru.html index f01194021..3d14959b2 100644 --- a/SSL/src/Catalogs/Календари/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/Календари/Forms/ФормаЭлемента/Help/ru.html @@ -1,41 +1,28 @@ - -

    Сведения о графике работы

    -

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

    -

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

    -

    Как ввести новый график работы

    -
    • Введите Наименование. -
    • Укажите Период заполнения графика, например,  с  01.01.2014 по 31.07.2014. Для этого можно: + +

      Сведения о графике работы.

      +

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

      +

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

      +

      Ввод нового графика работы

      +
      • Введите Наименование, например, "График работы отдела информационных технологий". +
      • Укажите Период заполнения графика, например,  с  01.01.2014 по 31.07.2014. +
        • Для этого можно:
          • написать необходимые даты вручную. -
          • выбрать из календаря, нажав на . -
          • по умолчанию началом периода является 1 января текущего года.  -
          • если в качестве конца периода выбран конец года, то это поле можно не заполнять.
        • Выберите Производственный календарь, на основании которого будет настраиваться график. Если производственный календарь на предприятии единственный, то он будет проставлен по умолчанию. -
        • Выберите Способ заполнения. В зависимости от способа заполнения графики работы могут быть двух видов: -
          • Недельные (почасовые) - способ заполнения По неделям. -
          • Циклические (с циклами произвольной длины) - способ заполнения По циклам. -
            • введите длину цикла, например, длиной 5 дней. -
            • введите начало цикла, например, начиная с 01.01.2014.
        • Составьте Шаблон заполнения. Это можно сделать двумя способами: -
          • Укажите флажками рабочие дни. Этого достаточно, чтобы в графике работы отразились рабочие и выходные дни. -
          • Введите расписание работы для каждого рабочего дня с помощью гиперссылки Заполнить расписание. После заполнения в гиперссылке будут указано общее количество часов и режим работы. -
            • Заполните Расписание работы для каждого рабочего дня недели или цикла с помощью кнопки Добавить. Введите Время начала и Время окончания. Если в работе предусмотрены перерывы, то расписание необходимо заполнить в несколько строк. -
            • В расписание работы помещается только рабочее время. Выходные дни не заполняются.
        • При необходимости включите флажок Учитывать праздники. В этом случае из состава рабочих дней будут исключаться дни, выпадающие на праздники, указанные в выбранном производственном календаре. -
        • Eсли в графике работы учитываются праздники и расписание предпраздничного дня будет отличаться, с помощью гиперссылки Заполнить расписание заполните Расписание предпраздничного дня по аналогии с расписанием работы. -
        • Введите Горизонт планирования - если он заполнен, то программа сравнивает период заполнения графика с числом месяцев горизонта планирования, и выдает предупреждение, если график не был заполнен до нужной даты. +
        • выбрать из календаря, нажав .
      • по умолчанию началом периода является 1 января текущего года.  +
      • если концом периода является 31 декабря, то это поле можно не заполнять - по умолчанию программа заполняет график до конца года.
    • Выберите из списка Производственный календарь, на основании которого будет настраиваться график. Их может быть несколько, т.к. в разных регионах предусмотрен разный состав праздничных дней и соответственно переносов. Если производственный календарь на предприятии единственный, то он проставляется программой по умолчанию. +
    • Выберите Способ заполнения: +
      • По неделям - недельный или почасовой график работы привязан к дням недели. Это самый простой график работы, наиболее часто встречающийся. К этому виду принадлежат графики "40-часовая рабочая неделя" и другие. Вариантами недельного графика являются пятидневка, шестидневка, два дня в неделю и т.д. Различаются они только количеством отработанного времени или отработанных дней. +
      • По циклам - такой график привязан к числам месяца, т.к. в качестве начала цикла указывается определенная дата, от которой отсчитываются дни цикла. Дни недели на этот график не влияют, очень редко учитываются праздничные дни. Вариантами циклических графиков являются сменные графики, а также графики со скользящими выходными: сутки через трое, два через два и т.д. +
        • В качестве примера рассмотрим график работы склада, который получает и выдает товар круглосуточно в течение 4 дней. На одни сутки склад закрывается для профилактики оборудования и дезинфекции. В этом случае длина цикла составляет 5 дней. +
          • Укажите длину цикла, например, По циклам длиной 5 дней. Поле является обязательным. +
          • Укажите начало цикла, например, начиная с 03.01.2014. Поле является обязательным, заполняется программой автоматически. По умолчанию цикл начинается с начала Периода заполнения графика (например, с 01.01.2014), при необходимости можно указать другое число. 
    • Составьте Шаблон заполнения. Это можно сделать двумя способами: +
      • Укажите флажками рабочие дни. Этого достаточно, чтобы в графике работы отразились рабочие и выходные дни. После этого можно перейти к следующим шагам заполнения графика работы, просмотреть результат заполнения и сохранить график работы. +
      • Введите расписание работы для каждого рабочего дня с помощью гиперссылки Заполнить расписание. Обычно предприятие и его подразделения работают по определенному расписанию.  +
        • Заполните Расписание работы для каждого рабочего дня недели или цикла с помощью кнопки Добавить. Введите Время начала и Время окончания рабочего дня. +
          • В расписание работы помещается только рабочее время. Если в работе предусмотрены перерывы, то расписание необходимо заполнить в несколько строк, т.к. перерывы в рабочее время не входят. Выходные дни не заполняются. +
          • После заполнения расписания нажмите ОК. В гиперссылке будет указано общее количество часов и режим работы, флажки у рабочих дней проставляются по умолчанию. 
    • При необходимости включите флажок Учитывать праздники. В этом случае из состава рабочих дней будут исключаться дни, выпадающие на праздники, указанные в выбранном производственном календаре. +
      • Если в графике работы учитываются праздники и расписание предпраздничного дня будет отличаться, с помощью гиперссылки Заполнить расписание заполните Расписание предпраздничного дня по аналогии с расписанием работы.
    • Укажите Горизонт планирования - введите количество месяцев, на которое график должен быть заполнен вперед. Если горизонт планирования заполнен, то программа сравнивает период заполнения графика с числом месяцев горизонта планирования, и выдает предупреждение, если график не был заполнен до нужной даты. +
    • В информационном поле под полем Горизонт планирования программа указывает, до какого числа заполнен график работы.
    • Напишите Описание - заполните подробную информацию о введенном графике. Это поможет найти нужный график работы в списке, когда их будет много.

    Как просмотреть новый график работы

    -

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

    -

    Особенности заполнения недельного графика работы

    -

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

    -

    Для составления такого графика выберите Способ заполнения "По неделям", заполните Расписание работы для рабочих дней недели.

    -

    Особенности заполнения графиков работы с циклами произвольной длины

    -

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

    -

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

    -

    В качестве примера рассмотрим график работы склада, который получает и выдает товар круглосуточно в течение 4 дней. На одни сутки склад закрывается для профилактики оборудования и дезинфекции. В этом случае длина цикла составляет 5 дней.

    -
    • -
      Выберите Способ заполнения "По циклам".
      -
    • -
      Укажите длину цикла, например, 5 дней.
      -
    • -
      Укажите начало цикла, например, начиная с 03.01.2014. По умолчанию цикл начинается с начала периода заполнения графика (т.е. с 01.01.2014) , при необходимости можно указать другое число.
      -
    • -
      Составьте Шаблон заполнения, введите Расписание работы для рабочих дней цикла.

    См. также:

    -

    Работа с формами

    -

     

    \ No newline at end of file +
    • Нажмите Результат заполнения. Будут показаны рабочие и выходные дни по месяцам. +
    • Нажмите Настройка заполнения, для того чтобы закончить просмотр и продолжить работу над графиком работы.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Календари/Help/ru.html b/SSL/src/Catalogs/Календари/Help/ru.html index bd5daea7e..6034340de 100644 --- a/SSL/src/Catalogs/Календари/Help/ru.html +++ b/SSL/src/Catalogs/Календари/Help/ru.html @@ -1,28 +1,30 @@ - -

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

    -

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

    + +

    Список предназначен для ведения графиков работы.

    +

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

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

    -

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

    -

    Как настроить графики работы

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

    Какие сведения о графиках работы выводятся в списке

    +

    В списке выводится:

    • Наименование - заполняется при вводе графика;
    • Производственный календарь - при вводе указывается, на каком основании введен график работы.
    • -
      Способ заполнения - вид графика;
      +
      Способ заполнения - вид графика. В зависимости от способа заполнения графики могут быть двух видов:
      +
      • +
        По неделям (почасовые) - такой график жестко привязан к дням недели. Это самый простой график работы, наиболее часто встречающийся. К этому виду принадлежат графики "40-часовая рабочая неделя" и другие. Различаются они только количеством отработанного времени или отработанных дней. Пятидневка, шестидневка, два рабочих дня в неделю - варианты этого графика работы.
      • +
        По циклам произвольной длины. Такой график жестко привязан к числам месяца, т.к. в качестве начала цикла указывается определенная дата, от которой отсчитывается дни цикла. Дни недели на этот график не влияют, очень редко учитываются праздничные дни. Вариантами циклических графиков являются сменные графики, а также графики со скользящими выходными: сутки через трое, два через два и прочие.
    • Возможная причина - результат проверки правильности заполнения графика. Выводится предупреждение об ошибках при заполнении графика работы.  
    • -
      Описание - подробное описание заполняется при вводе.

    Как ввести новый график работы

    +
    Описание - подробное описание заполняется при вводе.

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

    +

    Настройка графиков работы

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

    Ввод нового графика работы

    Нажмите Создать, заполните необходимые поля.

    -

    Как сгруппировать графики работы

    +

    Группировка графиков работы

    Если графиков работы в списке много, полезно разбить их на группы. Графики работы можно сгруппировать по разным признакам, например, по способу заполнения.

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

    См. также:

    -

    Работа с формами

    -

     

    \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/Календари/Календари.mdo b/SSL/src/Catalogs/Календари/Календари.mdo index c2677be99..5a417d16b 100644 --- a/SSL/src/Catalogs/Календари/Календари.mdo +++ b/SSL/src/Catalogs/Календари/Календари.mdo @@ -106,6 +106,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Help/ru.html b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Help/ru.html index 050c72122..bcd0d125c 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Help/ru.html +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Help/ru.html @@ -1,14 +1,28 @@ - + +

    Программа позволяет загружать классификатор банков РФ с сайта агентства "РосБизнесКонсалтинг" (www.rbc.ru). При этом программа учитывает недействующие банки (в карточке такого банка включен соответствующий флажок).

    Загрузка классификатора банков РФ

    +

    Производится по команде Загрузить классификатор из классификатора банков.

    • -
      Выберите источник для загрузки классификатора банков:
      +
      С помощью переключателя выберите Вариант загрузки:
      • -

        с сайта агенства "РосбизнесКонсалтинг" (при работе в веб-клиенте возможна загрузка только с сайта РБК);

        +

        с сайта агентства "РосбизнесКонсалтинг" (при работе в веб-клиенте возможна загрузка только с сайта РБК);

      • с диска "Информационно-технологическое сопровождение" - загрузка будет производиться из поставляемого на диске 1С:ИТС "Общероссийского классификатора банков" (ОКБ).
        • укажите Путь к диску ИТС.

    • Нажмите Загрузить.

    • -

      После успешной загрузки нажмите Закрыть.

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

    -

    См. также:

    -

    Работа с формами

    \ No newline at end of file +

    После успешной загрузки программа выводит сообщение о количестве загруженных банков. Нажмите Закрыть.

    Повторная загрузка

    +
    • +
      При повторной загрузке перезаписываются только измененные сведения классификатора.
      +
    • +
      При этом если был изменен БИК банка, то будет создана новая запись о банке.
      +
    • +
      Если были изменены другие поля, то при повторной загрузке они будут перезаписаны (кроме полей Адрес и Телефоны в случае, когда классификатор перезагружается с сайта РБК).

    Особенности загрузки классификатора банков в веб-клиенте

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

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Module.bsl b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Module.bsl index 3f05de952..530292207 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Module.bsl +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ЗагрузкаКлассификатора/Module.bsl @@ -210,9 +210,25 @@ &НаКлиенте Процедура Подключаемый_ПроверитьВыполнениеЗадания() - //Унифицированная процедура проверки выполнения фонового задания - - Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда + ЗаданиеВыполнено = Неопределено; + Попытка + ЗаданиеВыполнено = ЗаданиеВыполнено(ИдентификаторЗадания); + Исключение + ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(НСтр("ru = 'Загрузка классификатора банков'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + "Ошибка", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), , Истина); + + Элементы.ПоясняющийТекст.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Загрузка классификатора банков прервана по причине: + |%1 + |Подробности см. в журнале регистрации.'"), + КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); + + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаРезультат; + УстановитьИзмененияВИнтерфейсе(); + Возврат; + КонецПопытки; + + Если ЗаданиеВыполнено Тогда ЗагрузитьРезультат(); Иначе ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания); @@ -336,9 +352,7 @@ &НаСервереБезКонтекста Функция ЗаданиеВыполнено(ИдентификаторЗадания) - Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания); - КонецФункции &НаСервере @@ -400,22 +414,16 @@ ВызватьИсключение ТекстЗагрузкаЗапрещена(); КонецЕсли; - Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда - АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); - РаботаСБанками.ПолучитьДанныеРБК(ПараметрыЗагрузкиФайловРБК, АдресХранилища); - Результат = Новый Структура("ЗаданиеВыполнено,АдресХранилища", Истина, АдресХранилища); - Иначе - НаименованиеЗадания = НСтр("ru = 'Загрузка классификатора банков РФ'"); - - Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне( - УникальныйИдентификатор, - "РаботаСБанками.ПолучитьДанныеРБК", - ПараметрыЗагрузкиФайловРБК, - НаименованиеЗадания); - КонецЕсли; + НаименованиеЗадания = НСтр("ru = 'Загрузка классификатора банков РФ'"); + + Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне( + УникальныйИдентификатор, + "РаботаСБанками.ПолучитьДанныеРБК", + ПараметрыЗагрузкиФайловРБК, + НаименованиеЗадания); Возврат Результат; - + КонецФункции //////////////////////////////////////////////////////////////////////////////// diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..34e4c2ea8 --- /dev/null +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,25 @@ + +

    Предназначена для выбора сведений о банках, которые используются при заполнении реквизитов банковских счетов, в документах и других объектах программы.

    +

    В списке выводится:

    +
    • +
      Наименование банка - полное наименование банка;
      +
    • +
      БИК - БИК банка;
      +
    • +
      Корр. счет - корреспондентский счет;
      +
    • +
      Город - город, в котором находится банк;
      +
    • +
      Адрес - полный адрес банка.

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

    +

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

    +

    Выбор банка

    +
    • +
      Выделите нужный банк.
      +
    • +
      Нажмите Выбрать.
      +
    • +
      Также можно воспользоваться двойным щелчком мыши.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаСписка/Form.form index ee56fe2fe..ba75f631f 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаСписка/Form.form @@ -1,5 +1,99 @@ + + ГруппаПользовательскихНастроек + 27 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 29 + + ФормаЗагрузитьКлассификатор + 16 + true + true + + true + + + ФормаЗагрузитьКлассификаторExtendedTooltip + 17 + Label + true + true + + Left + + + Form.Command.ЗагрузитьКлассификатор + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -274,10 +368,10 @@ СписокСтрокаПоиска - 27 + 31 СписокСтрокаПоискаРасширеннаяПодсказка - 29 + 33 Label true true @@ -287,7 +381,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 28 + 32 true Список @@ -297,10 +391,10 @@ СписокСостояниеПросмотра - 30 + 34 СписокСостояниеПросмотраРасширеннаяПодсказка - 32 + 36 Label true true @@ -310,7 +404,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 31 + 35 true ViewStatusAddition @@ -321,10 +415,10 @@ СписокУправлениеПоиском - 33 + 37 СписокУправлениеПоискомРасширеннаяПодсказка - 35 + 39 Label true true @@ -334,7 +428,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 34 + 38 true SearchControlAddition @@ -397,39 +491,13 @@ true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаЗагрузитьКлассификатор - 16 - true - true - - true - - - ФормаЗагрузитьКлассификаторExtendedTooltip - 17 - Label - true - true - - Left - - - Form.Command.ЗагрузитьКлассификатор - Normal - Auto - true - true - UserCmds - Auto - Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаЭлемента/Help/ru.html index 6cc50fe80..0c41faabb 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Forms/ФормаЭлемента/Help/ru.html @@ -1,18 +1,19 @@ - +

    Описание свойств банка:

    -
    • +
      • Деятельность банка прекращена - программа учитывает недействующие банки и автоматически включает флажок для таких банков. Также можно его включить вручную, если получены сведения о закрытии банка. +
      • Наименование банка - полное наименование банка.
      • -
        БИК - БИК банка.
        +
        +
        Корр. счет - корреспондентский счет.
        БИК - БИК банка.
        +
      • Город - город, в котором находится банк.
      • -
        Корр. счет - корреспондентский счет.
        +
        +
        Группа банков - по умолчанию регион, в котором находится банк. Можно включить банк в новую группу, для этого выберите из списка нужную группу, нажав Показать все, для ввода новой группы нажмите Создать. 
      • -
        Город - город, в котором находится банк.
        -
      • -
        Адрес - полный адрес банка.
      • -
        Деятельность банка прекращена - программа учитывает недействующие банки и автоматически включает флажок для таких банков. Также можно его включить вручную, если получены сведения о закрытии банка.
        -
      • -
        Группа банков - по умолчанию регион, в котором находится банк. Можно включить банк в новую группу, для этого выберите из списка нужную группу, нажав Показать все, для ввода новой группы нажмите Создать. 
        +
        +
        Адрес - полный адрес банка.
      • Телефоны - адреса и телефоны банков можно загрузить только с диска 1С:ИТС или ввести вручную.

      См. также:

      -

      Работа с формами

      \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/Help/ru.html b/SSL/src/Catalogs/КлассификаторБанковРФ/Help/ru.html index 634c61b4b..47742d52a 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/Help/ru.html +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/Help/ru.html @@ -1,9 +1,11 @@ - -

      В классификаторе банков РФ хранятся сведения о банках, которые используются при заполнении реквизитов банковских счетов, в документах и других объектах программы.

      + +

      В классификаторе банков РФ хранятся сведения о банках, которые используются при заполнении реквизитов банковских счетов, в документах и других объектах программы.

      +

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

      Банки, деятельность которых прекращена, в списке становятся неактивными.

      +

      Открывается по команде Банки раздела Справочники.

      В классификаторе выводится:

      • -
        Наименование банка - полное наименование банка;
        +
        Наименование банка - полное наименование банка;
      • БИК - БИК банка;
      • @@ -12,11 +14,17 @@
        Город - город, в котором находится банк;
      • Адрес - полный адрес банка.

      Следует иметь в виду, что сведения об адресах и телефонах банков загружаются только с диска 1С:ИТС.

      -

      Группировка банков

      +

      С помощью команды Все действия (в интерфейсе Такси Еще) - Изменить форму можно вывести дополнительную информацию:

      +
      • +
        Деятельность банка прекращена - программа учитывает недействующие банки и автоматически включает флажок для таких банков. Также можно его включить вручную, если получены сведения о закрытии банка.
        +
      • +
        Группа банков - по умолчанию регион, в котором находится банк.
        +
      • +
        Телефоны - адреса и телефоны банков можно загрузить только с диска 1С:ИТС.

      Группировка банков

      • Банки в списке сгруппированы по регионам, при входе в список видны только регионы банков. Выберите нужный регион для просмотра банков этого региона.
      • -
        Также можно внутри регионов ввести свою группировку. Для этого нажмите , введите наименование группы и перетащите в группу нужные банки с помощью мыши.

      Загрузка классификатора банков

      +
      Также можно внутри регионов ввести свою группировку. Для этого нажмите Создать группу, введите наименование группы и перетащите в группу нужные банки с помощью мыши.

    Загрузка классификатора банков

    Программа поставляется с загруженным классификатором банков.

    • После запуска программы производится проверка актуальности классификатора банков и в случае неактуальности (если классификатор не обновлялся в течение тридцати дней) выводится сообщение с предложением обновить классификатор банков. Перейдите по гиперссылке Обновить классификатор банков.
      @@ -24,6 +32,10 @@

      По команде Загрузить классификатор можно обновить сведения о банках.  

    • -
      Также можно настроить обновление классификатора с сайта РБК автоматически по расписанию с помощью регламентного задания "Загрузка классификатора банков".

    См. также:

    +
    Также можно настроить обновление классификатора с сайта РБК автоматически по расписанию с помощью регламентного задания "Загрузка классификатора банков".
    +
  • +
    В карточку банка может загружаться не вся информация. Поля Адрес и Телефоны не заполняются, если классификатор загружается с сайта РБК.
    +
  • +
    При повторной загрузке перезаписываются только измененные сведения классификатора. При этом если был изменен БИК банка, то будет создана новая запись о банке. Если были изменены другие поля, то они при повторной загрузке будут перезаписаны (кроме полей Адрес и Телефоны в случае, когда классификатор перезагружается с сайта РБК).
  • См. также:

    \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/ManagerModule.bsl b/SSL/src/Catalogs/КлассификаторБанковРФ/ManagerModule.bsl index c1c326f68..453673b03 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/ManagerModule.bsl +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/ManagerModule.bsl @@ -16,6 +16,17 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Т.к. справочник реализует свой метод обновления данных +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + + #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс diff --git a/SSL/src/Catalogs/КлассификаторБанковРФ/КлассификаторБанковРФ.mdo b/SSL/src/Catalogs/КлассификаторБанковРФ/КлассификаторБанковРФ.mdo index e917d19f0..a714bcaf2 100644 --- a/SSL/src/Catalogs/КлассификаторБанковРФ/КлассификаторБанковРФ.mdo +++ b/SSL/src/Catalogs/КлассификаторБанковРФ/КлассификаторБанковРФ.mdo @@ -283,6 +283,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Form.form index 02fa12d22..d8e4b57d7 100644 --- a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Form.form @@ -1,5 +1,73 @@ + + ГруппаПользовательскихНастроек + 19 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 17 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -166,10 +234,10 @@ СписокСтрокаПоиска - 17 + 21 СписокСтрокаПоискаРасширеннаяПодсказка - 19 + 23 Label true true @@ -179,7 +247,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 18 + 22 true Список @@ -189,10 +257,10 @@ СписокСостояниеПросмотра - 20 + 24 СписокСостояниеПросмотраРасширеннаяПодсказка - 22 + 26 Label true true @@ -202,7 +270,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 21 + 25 true ViewStatusAddition @@ -213,10 +281,10 @@ СписокУправлениеПоиском - 23 + 27 СписокУправлениеПоискомРасширеннаяПодсказка - 25 + 29 Label true true @@ -226,7 +294,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 24 + 28 true SearchControlAddition @@ -285,13 +353,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Module.bsl index 18c147dd9..c1d3f5eeb 100644 --- a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаСписка/Module.bsl @@ -13,9 +13,8 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Ссылка", ЭлементОбщаяПроизводительность, ВидСравненияКомпоновкиДанных.НеРавно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаЭлемента/Help/ru.html index 78f668cdf..ca75b4a05 100644 --- a/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/КлючевыеОперации/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

    Описание свойств ключевых операций.

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

    Сведения о ключевых операциях

    diff --git a/SSL/src/Catalogs/КлючевыеОперации/Help/ru.html b/SSL/src/Catalogs/КлючевыеОперации/Help/ru.html index d3cb99e36..c92527e40 100644 --- a/SSL/src/Catalogs/КлючевыеОперации/Help/ru.html +++ b/SSL/src/Catalogs/КлючевыеОперации/Help/ru.html @@ -1,4 +1,4 @@ - +

    Предназначен для хранения параметров ключевых операций.

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

    Список открывается по команде Ключевые операции раздела Сервисные подсистемы.

    diff --git a/SSL/src/Catalogs/КлючевыеОперации/КлючевыеОперации.mdo b/SSL/src/Catalogs/КлючевыеОперации/КлючевыеОперации.mdo index 4749164a5..3478c473f 100644 --- a/SSL/src/Catalogs/КлючевыеОперации/КлючевыеОперации.mdo +++ b/SSL/src/Catalogs/КлючевыеОперации/КлючевыеОперации.mdo @@ -92,6 +92,7 @@ Use + true ru @@ -104,21 +105,20 @@ ru Ключевая операция + + ru + Ключевая операция замера производительности + + + ru + Ключевые операции замеров производительности + 2 true - 50 + 150 String Variable AsDescription - - - ОбщаяПроизводительностьСистемы - Общая производительность системы - - - - - AutoUpdate InDialog BothWays @@ -159,7 +159,7 @@ ru - Минимально допустимый уровень уровня производительности + Минимально допустимый уровень оценки производительности diff --git a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Form.form index cbe62b90d..4be1bcb81 100644 --- a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Form.form @@ -66,6 +66,38 @@ Normal
    + + ГруппаПользовательскихНастроек + 145 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 146 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + КоманднаяПанельФормы 92 @@ -204,15 +236,12 @@ Popup - - StdPicture.CreateListItem - Auto Normal - СвойстваГруппаКнопок2 + СвойстваГруппаКнопокДействия 57 СвойстваСкопировать @@ -239,6 +268,7 @@ true UserCmds Auto + InAdditionalSubmenu СвойстваИзменить @@ -265,6 +295,7 @@ true UserCmds Auto + InAdditionalSubmenu СвойстваПометитьНаУдаление @@ -291,6 +322,7 @@ true UserCmds Auto + InAdditionalSubmenu true true @@ -301,8 +333,12 @@ ru Свойства группа кнопок 2 + + ru + Свойства группа кнопок действия + - СвойстваГруппаКнопок2ExtendedTooltip + СвойстваГруппаКнопокДействияРасширеннаяПодсказка 110 Label true @@ -314,7 +350,7 @@ - СвойстваГруппаКнопок3 + СвойстваГруппаКнопокПорядок 56 СвойстваПереместитьВверх @@ -341,6 +377,7 @@ true UserCmds Auto + InAdditionalSubmenu СвойстваПереместитьВниз @@ -367,18 +404,15 @@ true UserCmds Auto + InAdditionalSubmenu true true true - - <key>ru</key> - <value>Свойства группа кнопок 3</value> - - СвойстваГруппаКнопок3ExtendedTooltip + СвойстваГруппаКнопокПорядокРасширеннаяПодсказка 114 Label true @@ -502,10 +536,6 @@ ru Командная панель формы - - ru - Командная панель формы - КоманднаяПанельФормыExtendedTooltip 104 @@ -522,7 +552,7 @@ - ГоризонтальнаяГруппа1 + ГруппаСвойства 70 НаборыСвойств @@ -644,10 +674,10 @@
    НаборыСвойствСтрокаПоиска - 146 + 148 НаборыСвойствСтрокаПоискаРасширеннаяПодсказка - 148 + 150 Label true true @@ -657,7 +687,7 @@ НаборыСвойствСтрокаПоискаКонтекстноеМеню - 147 + 149 true НаборыСвойств @@ -667,10 +697,10 @@ НаборыСвойствСостояниеПросмотра - 149 + 151 НаборыСвойствСостояниеПросмотраРасширеннаяПодсказка - 151 + 153 Label true true @@ -680,7 +710,7 @@ НаборыСвойствСостояниеПросмотраКонтекстноеМеню - 150 + 152 true ViewStatusAddition @@ -691,10 +721,10 @@ НаборыСвойствУправлениеПоиском - 152 + 154 НаборыСвойствУправлениеПоискомРасширеннаяПодсказка - 154 + 156 Label true true @@ -704,7 +734,7 @@ НаборыСвойствУправлениеПоискомКонтекстноеМеню - 153 + 155 true SearchControlAddition @@ -770,6 +800,7 @@ true true + ГруппаПользовательскихНастроек @@ -1051,10 +1082,10 @@ СвойстваСтрокаПоиска - 165 + 167 СвойстваСтрокаПоискаРасширеннаяПодсказка - 167 + 169 Label true true @@ -1064,7 +1095,7 @@ СвойстваСтрокаПоискаКонтекстноеМеню - 166 + 168 true Свойства @@ -1074,10 +1105,10 @@ СвойстваСостояниеПросмотра - 168 + 170 СвойстваСостояниеПросмотраРасширеннаяПодсказка - 170 + 172 Label true true @@ -1087,7 +1118,7 @@ СвойстваСостояниеПросмотраКонтекстноеМеню - 169 + 171 true ViewStatusAddition @@ -1098,10 +1129,10 @@ СвойстваУправлениеПоиском - 171 + 173 СвойстваУправлениеПоискомРасширеннаяПодсказка - 173 + 175 Label true true @@ -1111,7 +1142,7 @@ СвойстваУправлениеПоискомКонтекстноеМеню - 172 + 174 true SearchControlAddition @@ -1419,12 +1450,12 @@ true - + <toolTip> <key>ru</key> - <value>Горизонтальная группа 1</value> - + Группа свойства + - ГоризонтальнаяГруппа1ExtendedTooltip + ГруппаСвойстваРасширеннаяПодсказка 121 Label true @@ -1868,6 +1899,7 @@ FunctionalOption.ИспользоватьОбщиеДополнительныеЗначения + Text Auto Auto @@ -1891,6 +1923,7 @@ FunctionalOption.ИспользоватьОбщиеДополнительныеРеквизитыИСведения + Text Auto Auto @@ -1993,6 +2026,7 @@ Изменить + Text Auto Auto @@ -2042,7 +2076,7 @@ Создать - TextPicture + Text Auto Auto diff --git a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Module.bsl index 26d9f26a7..e14a43f1e 100644 --- a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаСписка/Module.bsl @@ -506,7 +506,7 @@ // Скрытие помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( НаборыСвойств, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецЕсли; ПриИзмененииТекущегоНабораНаСервере(); diff --git a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..6c28bf134 --- /dev/null +++ b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,7 @@ + +

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

    +

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

    +

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

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Help/ru.html b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Help/ru.html index e2bf34444..731df42b3 100644 --- a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Help/ru.html +++ b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/Help/ru.html @@ -1,37 +1,53 @@ - -

    Предназначен для настройки наборов дополнительных реквизитов (сведений)

    -

    Администратор программы может настроить наборы дополнительных свойств для определенных объектов программы. Способ хранения дополнительного свойства в программе и место размещения в окне объекта программы зависит от типа свойства: дополнительный реквизит или сведение.

    -

    Предопределенные наборы соответствуют объектам программы (спискам или документам), в которых можно использовать дополнительные реквизиты и сведения. Добавление новых наборов в этом списке невозможно.

    -

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

    -

    Какие сведения выводятся в списке

    -

    Список Дополнительные реквизиты (сведения) представляет собой таблицу из двух частей:

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

      Предназначен для настройки наборов дополнительных свойств.

      +

      Можно настроить наборы дополнительных свойств для определенных объектов программы. 

      +

      Способ хранения дополнительного свойства в программе и место размещения в окне объекта программы зависит от типа свойства:

      +
      • Дополнительные реквизиты - хранятся в самом элементе справочника или документе (могут размещаться в специальном разделе или на специальной вкладке). Создаются для реализации таких свойств, которые являются неотъемлемой частью объекта, вводятся при его редактировании и доступны для редактирования тем же пользователям, которым доступен и сам объект со свойствами. +
      • Дополнительные сведения - предназначены для хранения сведений об элементе справочника или документе, которые не являются его неотъемлемой частью. Доступны, как правило, для просмотра и/или редактирования пользователям, которые не имеют доступа к самому объекту. Редактируются в отдельном окне, которое можно открыть из окна объекта.

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

      +

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

      +

      Работа с дополнительными реквизитами (сведениями) осуществляется в соответствующих списках, которые открываются по команде Дополнительные реквизиты или Дополнительные сведения в разделах Администрирование - Общие настройки. 

      +

      Список наборов дополнительных реквизитов можно также открыть из объектов программы, для которых они настроены, по команде Все действия (в интерфейсе Такси Еще) - Изменить состав дополнительных реквизитов.

      +

      Список наборов дополнительных сведений можно также открыть по команде Все действия (в интерфейсе Такси Еще) - Изменить состав дополнительных сведений из окна Дополнительные сведения объекта программы.  

      +

      Список Дополнительные реквизиты (сведения) представляет собой таблицу из двух частей:

      +
      • В левой части располагаются Наборы дополнительных реквизитов (сведений), назначенных справочникам или документам, которые показаны в виде групп. Если в справочнике имеются группы, то Наборы дополнительных реквизитов (сведений) соответствуют группам справочника. +
      • В правой части в виде таблицы располагается список дополнительных реквизитов (сведений), входящих в выделенный набор. Жирным шрифтом в списке дополнительных реквизитов (сведений) отражаются реквизиты (сведения), обязательные для заполнения. В таблице выводятся сведения: 
        • Дополнительный реквизит (сведение) - включает перечень наименований дополнительных реквизитов (сведений); -
        • Тип значения - указывается тип дополнительных реквизитов (сведений) и количество значений.

      Как назначить новый дополнительный реквизит (сведение) списку или документу

      -

      В зависимости от настройки может быть два способа ввода новых реквизитов (сведений):

      -
      • Выберите соответствующий этому списку или документу набор, нажмите Создать. По умолчанию дополнительный реквизит (сведение) может быть добавлен только в один набор. -
      • Выберите соответствующий этому списку или документу набор, нажмите Добавить - Новый. (Аналогична команде Создать) С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор.

      Общие наборы дополнительных реквизитов (сведений)

      -

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

      +
    • Тип значения - указывается тип дополнительных реквизитов (сведений) и количество значений.

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

    +

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

    +

    Назначение нового дополнительного реквизита (сведения) справочнику или документу

    +

    В зависимости от настройки может быть доступна одна из команд ввода новых реквизитов (сведений):

    +
    • Выберите соответствующий этому справочнику или документу набор, нажмите  Создать. По умолчанию дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые поля. +
    • Выберите соответствующий этому справочнику или документу набор, нажмите Добавить - Новый (Новое). (Аналогична команде Создать) С помощью этой команды дополнительный реквизит (сведение) может быть добавлен только в один набор. Заполните необходимые поля.

    Общие наборы дополнительных реквизитов (сведений)

    +

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

    • Выберите набор Общий.
    • -
      Нажмите Создать или Добавить - Новый.

    Как добавить дополнительные реквизиты (сведения) по образцу

    -

    можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов. Можно добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, Цвет двери по образцу реквизита Цвет). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.

    +
    Нажмите  Создать или Добавить - Новый. Заполните необходимые поля.

    Добавление по образцу

    +

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

    +

    Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, Цвет двери по образцу реквизита Цвет). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.

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

    Как добавить общие дополнительные реквизиты (сведения)

    -

    Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных списков и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита Цвет можно отобрать всю желтую одежду и обувь.

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

    +
    • Для того чтобы использовать эту возможность, необходимо включить флажок Общие реквизиты и сведения в разделе Администрирование - Общие настройки. +
    • Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита Цвет можно отобрать всю желтую одежду и обувь.
    • -
      Нажмите Добавить - Общий(Общее)
      +
      Выберите набор из списка.
    • -
      Выберите из списка уже существующий общий дополнительный реквизит(сведение). Если в списке нет нужного реквизита, нажмите Создать.
      -

      Особенности удаления дополнительных реквизитов (сведений):

      -

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

      -

      См. также:

      -
    • \ No newline at end of file +
      Нажмите  Добавить - Общий (Общее).
      +
    • +
      Выберите из списка уже существующий общий дополнительный реквизит (сведение). Если в списке нет нужного реквизита, нажмите Создать. Заполните необходимые поля.
      +
    • +
      Для того чтобы добавить общий реквизит в несколько наборов, повторите эти действия для каждого набора.

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

    +
    • +
      +

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

      +
    • +
      +

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

      +
    • +
      При необходимости можно снять пометку удаления.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/НаборыДополнительныхРеквизитовИСведений.mdo b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/НаборыДополнительныхРеквизитовИСведений.mdo index 5c5e860b2..848369585 100644 --- a/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/НаборыДополнительныхРеквизитовИСведений.mdo +++ b/SSL/src/Catalogs/НаборыДополнительныхРеквизитовИСведений/НаборыДополнительныхРеквизитовИСведений.mdo @@ -359,6 +359,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/НазначенияСертификатовЭП/Help/ru.html b/SSL/src/Catalogs/НазначенияСертификатовЭП/Help/ru.html new file mode 100644 index 000000000..c594499cf --- /dev/null +++ b/SSL/src/Catalogs/НазначенияСертификатовЭП/Help/ru.html @@ -0,0 +1,15 @@ + +

    Предназначен для просмотра и редактирования назначений сертификатов ЭП.

    +

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

    +

    В списке содержится перечень назначений сертификатов ЭП (в колонке Наименование) и соответствующие этим назначениям Коды.

    +

    Открывается по ссылке Назначения сертификатов ЭП из окна Настройки криптографии.

    +

    Ввод назначения сертификата ЭП

    +

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

    +
    • +
      Нажмите Создать.
      +
    • +
      Напишите Код.
      +
    • +
      Напишите Наименование. Поле является обязательным.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/НазначенияСертификатовЭП/НазначенияСертификатовЭП.mdo b/SSL/src/Catalogs/НазначенияСертификатовЭП/НазначенияСертификатовЭП.mdo index 832ebfbd7..157d3b51c 100644 --- a/SSL/src/Catalogs/НазначенияСертификатовЭП/НазначенияСертификатовЭП.mdo +++ b/SSL/src/Catalogs/НазначенияСертификатовЭП/НазначенияСертификатовЭП.mdo @@ -111,6 +111,12 @@ Use + true + + + ru + + Managed Use diff --git a/SSL/src/Catalogs/Организации/Commands/ДобавитьОрганизацию/CommandModule.bsl b/SSL/src/Catalogs/Организации/Commands/ДобавитьОрганизацию/CommandModule.bsl index 32435c1ee..32bf6ecf6 100644 --- a/SSL/src/Catalogs/Организации/Commands/ДобавитьОрганизацию/CommandModule.bsl +++ b/SSL/src/Catalogs/Организации/Commands/ДобавитьОрганизацию/CommandModule.bsl @@ -2,11 +2,6 @@ &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) - ОткрытьФорму( - "Справочник.Организации.ФормаОбъекта", - , - ПараметрыВыполненияКоманды.Источник, - ПараметрыВыполненияКоманды.Уникальность, - ПараметрыВыполненияКоманды.Окно); + ОткрытьФорму("Справочник.Организации.ФормаОбъекта"); КонецПроцедуры diff --git a/SSL/src/Catalogs/Организации/Commands/РеквизитыОрганизации/CommandModule.bsl b/SSL/src/Catalogs/Организации/Commands/РеквизитыОрганизации/CommandModule.bsl index 844bb5555..a7aab2b9d 100644 --- a/SSL/src/Catalogs/Организации/Commands/РеквизитыОрганизации/CommandModule.bsl +++ b/SSL/src/Catalogs/Организации/Commands/РеквизитыОрганизации/CommandModule.bsl @@ -2,12 +2,7 @@ &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) - ОткрытьФорму( - "Справочник.Организации.ФормаОбъекта", - ПолучитьПараметрыОткрытиФормы(), - ПараметрыВыполненияКоманды.Источник, - ПараметрыВыполненияКоманды.Уникальность, - ПараметрыВыполненияКоманды.Окно); + ОткрытьФорму("Справочник.Организации.ФормаОбъекта", ПолучитьПараметрыОткрытиФормы()); КонецПроцедуры diff --git a/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Form.form index ae6baa98e..9d8673a7e 100644 --- a/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Form.form @@ -94,6 +94,10 @@ Объект.Префикс + + OnChange + ПрефиксПриИзменении + ПрефиксExtendedTooltip 14 diff --git a/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..dcf1c9905 --- /dev/null +++ b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,11 @@ + +

    Описание свойств организации.

    +

    Заполните сведения об организации:

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

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

    +
    • Поля Почтовый, Юридический, Фактический адрес можно заполнить вручную или по шаблону (только для российских адресов, при этом для ввода по шаблону необходимо загрузить адресный классификатор). Для заполнения по шаблону нажмите Выбрать, заполните адрес, нажмите ОК. Если адреса повторяются, то можно заполнить один из адресов, затем с помощью кнопки  скопировать его в остальные адресные поля. +
    • Поля Телефон и Факс можно ввести вручную или по шаблону; +
    • В поле E-mail введите адрес электронной почты организации. Программа проверяет правильность ввода. С помощью кнопки  можно отправить по введенному адресу исходящее электронное письмо. +
    •  В текстовое поле Другое длиной 1024 символа можно ввести какую-либо дополнительную информацию об организации, например, как добраться до офиса, в котором она находится.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Module.bsl index 57685d18d..0c7805f8e 100644 --- a/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/Организации/Forms/ФормаЭлемента/Module.bsl @@ -52,6 +52,22 @@ КонецПроцедуры +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ПрефиксПриИзменении(Элемент) + Если Найти(Объект.Префикс, "-") > 0 Тогда + ПоказатьПредупреждение(Неопределено, НСтр("ru = 'Нельзя в префиксе организации использовать символ ""-"".'")); + Объект.Префикс = СтрЗаменить(Объект.Префикс, "-", ""); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ ПОДСИСТЕМЫ "КОНТАКТНАЯ ИНФОРМАЦИЯ" diff --git a/SSL/src/Catalogs/Организации/Help/ru.html b/SSL/src/Catalogs/Организации/Help/ru.html new file mode 100644 index 000000000..8708ef4d8 --- /dev/null +++ b/SSL/src/Catalogs/Организации/Help/ru.html @@ -0,0 +1,10 @@ + +

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

    +

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

    +

    В списке выводится:

    +
    • Наименование - полное наименование организации; +
    • Код - присваивается программой автоматически; +
    • Префикс - для каждой организации при вводе задается уникальный префикс, который будет автоматически добавляться программой в начало номера (или кода) при вводе новых документов (элементов списков), для того чтобы документы по различным организациям отличались по номерам, а элементы списков - по кодам.

    Ввод новой организации

    +
    • Нажмите Создать, заполните необходимые поля.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/Организации/Организации.mdo b/SSL/src/Catalogs/Организации/Организации.mdo index adb545149..bbcbb58bf 100644 --- a/SSL/src/Catalogs/Организации/Организации.mdo +++ b/SSL/src/Catalogs/Организации/Организации.mdo @@ -101,6 +101,12 @@ Use + true + + + ru + + Managed Use @@ -395,6 +401,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ОчередьЗаданий/ManagerModule.bsl b/SSL/src/Catalogs/ОчередьЗаданий/ManagerModule.bsl new file mode 100644 index 000000000..65ca5a2a3 --- /dev/null +++ b/SSL/src/Catalogs/ОчередьЗаданий/ManagerModule.bsl @@ -0,0 +1,17 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/ОчередьЗаданийОбластейДанных/ManagerModule.bsl b/SSL/src/Catalogs/ОчередьЗаданийОбластейДанных/ManagerModule.bsl new file mode 100644 index 000000000..65ca5a2a3 --- /dev/null +++ b/SSL/src/Catalogs/ОчередьЗаданийОбластейДанных/ManagerModule.bsl @@ -0,0 +1,17 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаВыбора/Form.form index 863bd341c..b2fcdb869 100644 --- a/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаВыбора/Form.form @@ -4,6 +4,68 @@ ru Выбор папки + + ГруппаПользовательскихНастроек + 11 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 13 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -24,7 +86,7 @@ MoveItem SetDeletionMark - Наименование + СписокНаименование 4 true true @@ -36,7 +98,7 @@ true - НаименованиеExtendedTooltip + СписокНаименованиеРасширеннаяПодсказка 7 Label true @@ -46,7 +108,7 @@ - НаименованиеКонтекстноеМеню + СписокНаименованиеКонтекстноеМеню 5 true @@ -61,7 +123,7 @@ - Ссылка + СписокСсылка 8 true true @@ -70,7 +132,7 @@ Список.Ref - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 10 Label true @@ -80,7 +142,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 9 true @@ -102,10 +164,10 @@ СписокСтрокаПоиска - 11 + 15 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 17 Label true true @@ -115,7 +177,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 16 true Список @@ -125,10 +187,10 @@ СписокСостояниеПросмотра - 14 + 18 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 20 Label true true @@ -138,7 +200,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 19 true ViewStatusAddition @@ -149,10 +211,10 @@ СписокУправлениеПоиском - 17 + 21 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 23 Label true true @@ -162,7 +224,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 22 true SearchControlAddition @@ -230,13 +292,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer @@ -247,7 +309,6 @@ Delete HierarchicalList List - ListSettings MoveItem SetDeletionMark Tree diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Attributes/СписокФайлов/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Attributes/СписокФайлов/ExtInfo/ListSettings.dcss rename to SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss diff --git a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаСписка/Form.form similarity index 52% rename from SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Form.form rename to SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаСписка/Form.form index 733ff79dd..287729b35 100644 --- a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаСписка/Form.form @@ -1,8 +1,70 @@ + + ГруппаПользовательскихНастроек + 1 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 13 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список - 1 + 3 true true @@ -14,104 +76,30 @@ true None - ОбъектНазначения - 4 + Наименование + 7 true true true - Список.ОбъектНазначения + Список.Description true - ОбъектНазначенияExtendedTooltip - 19 - Label - true - true - - Left - - - - ОбъектНазначенияКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ТипФормы - 6 - true - true - - true - - - Список.ТипФормы - - true - - ТипФормыExtendedTooltip - 20 - Label - true - true - - Left - - - - ТипФормыКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УдалитьТипОбъекта - 8 - true - true - - true - - - Список.УдалитьТипОбъекта - - true - - УдалитьТипОбъектаExtendedTooltip - 21 - Label - true - true - - Left - - - - УдалитьТипОбъектаКонтекстноеМеню + НаименованиеРасширеннаяПодсказка 9 + Label + true + true + + Left + +
    + + НаименованиеКонтекстноеМеню + 8 true LabelField @@ -125,7 +113,7 @@
    - ИспользоватьЗаполнениеОбъекта + Код 10 true true @@ -133,12 +121,11 @@ true - Список.ИспользоватьЗаполнениеОбъекта + Список.Code - true - ИспользоватьЗаполнениеОбъектаExtendedTooltip - 22 + КодРасширеннаяПодсказка + 12 Label true true @@ -147,131 +134,32 @@ - ИспользоватьЗаполнениеОбъектаКонтекстноеМеню + КодКонтекстноеМеню 11 true - CheckBoxField + LabelField Enter true Left true - - - - ИспользоватьОтчеты - 12 - true - true - - true - - - Список.ИспользоватьОтчеты - - true - - ИспользоватьОтчетыExtendedTooltip - 23 - Label + true true - - Left - - - - ИспользоватьОтчетыКонтекстноеМеню - 13 - true - - CheckBoxField - Enter - true - Left - true - - - - ИспользоватьПечатныеФормы - 14 - true - true - - true - - - Список.ИспользоватьПечатныеФормы - - true - - ИспользоватьПечатныеФормыExtendedTooltip - 24 - Label - true - true - - Left - - - - ИспользоватьПечатныеФормыКонтекстноеМеню - 15 - true - - CheckBoxField - Enter - true - Left - true - - - - ИспользоватьСозданиеСвязанныхОбъектов - 16 - true - true - - true - - - Список.ИспользоватьСозданиеСвязанныхОбъектов - - true - - ИспользоватьСозданиеСвязанныхОбъектовExtendedTooltip - 25 - Label - true - true - - Left - - - - ИспользоватьСозданиеСвязанныхОбъектовКонтекстноеМеню - 17 - true - - CheckBoxField - Enter - true - Left - true - + None СписокКоманднаяПанель - 3 + 5 Left СписокСтрокаПоиска - 26 + 15 СписокСтрокаПоискаРасширеннаяПодсказка - 28 + 17 Label true true @@ -281,7 +169,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 27 + 16 true Список @@ -291,10 +179,10 @@ СписокСостояниеПросмотра - 29 + 18 СписокСостояниеПросмотраРасширеннаяПодсказка - 31 + 20 Label true true @@ -304,7 +192,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 30 + 19 true ViewStatusAddition @@ -315,10 +203,10 @@ СписокУправлениеПоиском - 32 + 21 СписокУправлениеПоискомРасширеннаяПодсказка - 34 + 23 Label true true @@ -328,7 +216,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 33 + 22 true SearchControlAddition @@ -338,8 +226,8 @@ - СписокExtendedTooltip - 18 + СписокРасширеннаяПодсказка + 6 Label true true @@ -349,9 +237,10 @@ СписокКонтекстноеМеню - 2 + 4 true + HierarchicalList true true true @@ -371,6 +260,7 @@ true true true + true Список.DefaultPicture @@ -387,18 +277,14 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true - - OnCreateAtServer - ПриСозданииНаСервере - DontBlock true true @@ -407,7 +293,6 @@ true true true - UseIfNecessary auto true @@ -424,19 +309,13 @@
    true
    - InformationRegister.НазначениеДополнительныхОбработок + Catalog.ПапкиФайлов true true true true
    - - РежимОткрытияИзФормы - - Boolean - - diff --git a/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаЭлемента/Help/ru.html index aabebf7a0..351f9ae35 100644 --- a/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ПапкиФайлов/Forms/ФормаЭлемента/Help/ru.html @@ -1,8 +1,8 @@ - +

    Просмотр сведений о папке файлов.

    Сведения о папке

    • Заполните Наименование папки. Поле является обязательным; -
    • Одна папка может входить в другую. При необходимости в поле В папке  выберите вышестоящую папку из списка; +
    • Одна папка может входить в другую. При необходимости в поле В папке  выберите вышестоящую папку из списка;
    • Поле Полный путь заполняется программой автоматически;
    • В поле Описание напишите подробную информацию о папке;
    • В поле Ответственный  выберите из списка пользователя, ответственного за папку файлов; diff --git a/SSL/src/Catalogs/ПапкиФайлов/Help/ru.html b/SSL/src/Catalogs/ПапкиФайлов/Help/ru.html index 4f0b212c1..5c61c99f3 100644 --- a/SSL/src/Catalogs/ПапкиФайлов/Help/ru.html +++ b/SSL/src/Catalogs/ПапкиФайлов/Help/ru.html @@ -1,10 +1,10 @@ - +

      Все файлы хранятся в структуре папок, которую удобно вести, например:

      • в соответствии с организационной структурой Вашего предприятия; 
      • по типам файлов (например, "Договоры", "Приказы", "Служебные записки"); 
      • по уровню доступа (например, "Общие", "Конфиденциальные").

      Папкам можно назначать различные права доступа (команда Права доступа в карточке папки).

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

      -

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

      +

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

      Выбор папки

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

      См. также:

      diff --git a/SSL/src/Catalogs/ПапкиФайлов/ПапкиФайлов.mdo b/SSL/src/Catalogs/ПапкиФайлов/ПапкиФайлов.mdo index 6a180b221..7a2e7ea16 100644 --- a/SSL/src/Catalogs/ПапкиФайлов/ПапкиФайлов.mdo +++ b/SSL/src/Catalogs/ПапкиФайлов/ПапкиФайлов.mdo @@ -183,6 +183,7 @@ InDialog Catalog.ПапкиФайлов.Form.ФормаЭлемента + Catalog.ПапкиФайлов.Form.ФормаСписка Catalog.ПапкиФайлов.Form.ФормаВыбора Описание @@ -190,7 +191,6 @@ ru Описание - Описание папки String @@ -212,7 +212,6 @@ ru Ответственный - Ответственный за папку CatalogRef.Пользователи @@ -236,7 +235,6 @@ ru Дата создания - Дата создания папки Date @@ -353,6 +351,15 @@ PersonalComputer MobileDevice + + ФормаСписка + + ru + Форма списка + + PersonalComputer + MobileDevice + ФормаВыбора diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Form.form index 2fed81232..41069d806 100644 --- a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 11 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -92,10 +127,10 @@ СписокСтрокаПоиска - 11 + 13 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 15 Label true true @@ -105,7 +140,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 14 true Список @@ -115,10 +150,10 @@ СписокСостояниеПросмотра - 14 + 16 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 18 Label true true @@ -128,7 +163,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 17 true ViewStatusAddition @@ -139,10 +174,10 @@ СписокУправлениеПоиском - 17 + 19 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 21 Label true true @@ -152,7 +187,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 20 true SearchControlAddition @@ -212,6 +247,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..c8ef66786 --- /dev/null +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,24 @@ + +

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

      +

      Открывается по кнопке  Выбрать, например, из окна папки.

      +

      Шесть папок для каждой учетной записи являются предопределенными и не могут быть удалены и изменены:

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

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

      +

      В каждую папку письма попадают автоматически при получении или смене статуса, а также при применении правил обработки.

      +

      Ввод папки

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

      Группировка папок

      +

      Новую папку можно подчинить другой папке во время ввода (редактирования) или с помощью перетаскивания мышью.

      +

      Выбор папки

      +

      Выделите нужную папку, нажмите Выбрать.

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Form.form index 7aa892488..0e7498739 100644 --- a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 11 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -93,10 +128,10 @@
      СписокСтрокаПоиска - 11 + 13 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 15 Label true true @@ -106,7 +141,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 14 true Список @@ -116,10 +151,10 @@ СписокСостояниеПросмотра - 14 + 16 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 18 Label true true @@ -129,7 +164,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 17 true ViewStatusAddition @@ -140,10 +175,10 @@ СписокУправлениеПоиском - 17 + 19 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 21 Label true true @@ -153,7 +188,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 20 true SearchControlAddition @@ -213,6 +248,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Module.bsl index e8270d6ec..87f63a0e0 100644 --- a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаСписка/Module.bsl @@ -25,7 +25,6 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Владелец", Справочники.УчетныеЗаписиЭлектроннойПочты.ПустаяСсылка(), ВидСравненияКомпоновкиДанных.Равно, , Ложь); - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаЭлемента/Help/ru.html index f008b360c..c5ccd6f9e 100644 --- a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Forms/ФормаЭлемента/Help/ru.html @@ -1,12 +1,16 @@ - -

      Папка электронных писем

      -

      Справочник Папки электронных писем предназначен для категоризации входящей и исходящей почтовой корреспонденции. Владельцем папки является Учетная запись электронной почты.

      -

      Шесть папок для каждой учетной записи являются предопределенными и не могут быть удалены и изменены:

      + +

      Описание свойств папки электронных писем.

      +

      Шесть папок для каждой учетной записи электронной почты являются предопределенными и не могут быть удалены и изменены:

      • Входящие - в эту папку попадают по умолчанию все входящие письма.
      • Исходящие - в эту папку попадают все исходящие, но еще не отправленные письма. -
      • Нежелательная почта в данную папку попадают письма, которые почтовый сервер опознал как спам. +
      • Нежелательная почта - в данную папку попадают письма, которые почтовый сервер опознал как спам.
      • Отправленные - в эту папку по умолчанию попадают все отправленные письма.
      • Удаленные - в эту папку попадают все помеченные к удалению письма. -
      • Черновики - папка, в которой находятся письма, редактирование которых не завершено.

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

      -

      Для не предопределенных папок доступно указание наименования и родительской папки.

      -

       

      \ No newline at end of file +
    • Черновики - папка, в которой находятся письма, редактирование которых не завершено.

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

    +

    Ввод папки

    +

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

    +
    • +
      При необходимости выберите предопределенную или собственную папку, в которой необходимо создать новую папку.
      +
    • Введите Наименование папки. +
    • Если предварительно была выбрана папка, Родительская папка проставляется программой по умолчанию. При необходимости выберите из списка.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Help/ru.html b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Help/ru.html new file mode 100644 index 000000000..603323a29 --- /dev/null +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/Help/ru.html @@ -0,0 +1,22 @@ + +

    Предназначен для категоризации входящей и исходящей почтовой корреспонденции. Владельцем папок является Учетная запись электронной почты.

    +

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

    +

    Шесть папок для каждой учетной записи являются предопределенными и не могут быть удалены и изменены:

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

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

    +

    В каждую папку письма попадают автоматически при получении или смене статуса, а также при применении правил обработки.

    +

    Ввод папки

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

    Группировка папок

    +

    Новую папку можно подчинить другой папке во время ввода (редактирования) или с помощью перетаскивания мышью.

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/ПапкиЭлектронныхПисем.mdo b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/ПапкиЭлектронныхПисем.mdo index cb3b0890e..5513ee1a9 100644 --- a/SSL/src/Catalogs/ПапкиЭлектронныхПисем/ПапкиЭлектронныхПисем.mdo +++ b/SSL/src/Catalogs/ПапкиЭлектронныхПисем/ПапкиЭлектронныхПисем.mdo @@ -117,6 +117,11 @@ Use + + + ru + + Managed Use @@ -189,6 +194,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/Пользователи/Forms/ПользователиИБ/Help/ru.html b/SSL/src/Catalogs/Пользователи/Forms/ПользователиИБ/Help/ru.html index 35c6a6f4d..6ce48e7ad 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ПользователиИБ/Help/ru.html +++ b/SSL/src/Catalogs/Пользователи/Forms/ПользователиИБ/Help/ru.html @@ -1,4 +1,4 @@ - +

    Список предназначен для удобства согласования пользователей ИБ в Конфигураторе со списками Пользователи и Внешние пользователи.

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

    При записи пользователя (или внешнего пользователя) вместе с ним автоматически создается или изменяется соответствующий ему пользователь ИБ. Однако есть ряд ситуаций, когда список пользователей ИБ становится несогласованным со списком пользователей. Тогда с помощью данного списка могут быть решены следующие задачи:

    diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Form.form b/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Form.form index 30eef4b4a..a40622914 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Form.form +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Form.form @@ -862,7 +862,7 @@ Retry SaveValues Yes - 54 + 80 20 LockOwner true diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Help/ru.html b/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Help/ru.html index fd5def6c9..535ea5924 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Help/ru.html +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаВыбораПользователяОС/Help/ru.html @@ -1,4 +1,4 @@ - +

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

    Эта возможность позволяет пользователю входить в программу с регистрацией ОС.

    Список состоит из двух частей:

    diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Form.form index ff0fe79c3..bde6ef0f0 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Form.form @@ -1,5 +1,341 @@ + + ГруппаПользовательскихНастроек + 160 + true + true + + true + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 161 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 158 + + ЗавершитьИЗакрыть + 95 + true + + true + + + ЗавершитьИЗакрытьExtendedTooltip + 98 + Label + true + true + + Left + + + Form.Command.ЗавершитьИЗакрыть + Auto + true + true + true + UserCmds + Auto + + + ВыбратьГруппуПользователей + 68 + + <key>ru</key> + <value>Выбрать группу</value> + + true + true + + true + + false + + ВыбратьГруппуПользователейExtendedTooltip + 99 + Label + true + true + + Left + + + Form.Item.ГруппыПользователей.StandardCommand.Choose + Normal + PictureAndText + true + true + UserCmds + + StdPicture.ChooseValue + + Auto + + + ВыбратьПользователя + 69 + + <key>ru</key> + <value>Выбрать</value> + + true + true + + true + + false + + ВыбратьПользователяExtendedTooltip + 100 + Label + true + true + + Left + + + Form.Item.ПользователиСписок.StandardCommand.Choose + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьПользователя + 54 + true + true + + true + + false + + СоздатьПользователяExtendedTooltip + 101 + Label + true + true + + Left + + + Form.Item.ПользователиСписок.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьГруппуПользователей + 55 + true + true + + true + + false + + СоздатьГруппуПользователейExtendedTooltip + 102 + Label + true + true + + Left + + + Form.Command.СоздатьГруппуПользователей + Normal + Auto + true + true + UserCmds + Auto + + + НазначитьГруппы + 72 + true + true + + true + + + НазначитьГруппыExtendedTooltip + 103 + Label + true + true + + Left + + + Form.Command.НазначитьГруппы + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + КоманднаяПанельПользователи + 53 + + СведенияОПользователях + 132 + true + true + + true + + + СведенияОПользователяхРасширеннаяПодсказка + 133 + Label + true + true + + Left + + + Form.Command.СведенияОПользователях + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ПользователиИБ + 6 + true + true + + true + + + ПользователиИБExtendedTooltip + 106 + Label + true + true + + Left + + + Catalog.Пользователи.Command.ПользователиИБ + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель пользователи</value> + + + КоманднаяПанельПользователиExtendedTooltip + 104 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 70 + true + true + + true + + + ФормаСправкаExtendedTooltip + 107 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + CommandBar + + Left + + Группа 24 @@ -22,9 +358,7 @@ false None - CopyToClipboard Delete - OutputList НаименованиеГруппы 30 @@ -125,10 +459,10 @@ ГруппыПользователейСтрокаПоиска - 156 + 165 ГруппыПользователейСтрокаПоискаРасширеннаяПодсказка - 158 + 167 Label true true @@ -138,7 +472,7 @@ ГруппыПользователейСтрокаПоискаКонтекстноеМеню - 157 + 166 true ГруппыПользователей @@ -148,10 +482,10 @@ ГруппыПользователейСостояниеПросмотра - 159 + 168 ГруппыПользователейСостояниеПросмотраРасширеннаяПодсказка - 161 + 170 Label true true @@ -161,7 +495,7 @@ ГруппыПользователейСостояниеПросмотраКонтекстноеМеню - 160 + 169 true ViewStatusAddition @@ -172,10 +506,10 @@ ГруппыПользователейУправлениеПоиском - 162 + 171 ГруппыПользователейУправлениеПоискомРасширеннаяПодсказка - 164 + 173 Label true true @@ -185,7 +519,7 @@ ГруппыПользователейУправлениеПоискомКонтекстноеМеню - 163 + 172 true SearchControlAddition @@ -207,6 +541,32 @@ ГруппыПользователейКонтекстноеМеню 26 + + ВывестиСписок + 156 + true + true + + true + + + ВывестиСписокРасширеннаяПодсказка + 157 + Label + true + true + + Left + + + Form.Item.ГруппыПользователей.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + true Tree @@ -441,9 +801,7 @@ false None - CopyToClipboard Delete - OutputList Наименование 51 @@ -535,10 +893,10 @@ ПользователиСписокСтрокаПоиска - 175 + 184 ПользователиСписокСтрокаПоискаРасширеннаяПодсказка - 177 + 186 Label true true @@ -548,7 +906,7 @@ ПользователиСписокСтрокаПоискаКонтекстноеМеню - 176 + 185 true ПользователиСписок @@ -558,10 +916,10 @@ ПользователиСписокСостояниеПросмотра - 178 + 187 ПользователиСписокСостояниеПросмотраРасширеннаяПодсказка - 180 + 189 Label true true @@ -571,7 +929,7 @@ ПользователиСписокСостояниеПросмотраКонтекстноеМеню - 179 + 188 true ViewStatusAddition @@ -582,10 +940,10 @@ ПользователиСписокУправлениеПоиском - 181 + 190 ПользователиСписокУправлениеПоискомРасширеннаяПодсказка - 183 + 192 Label true true @@ -595,7 +953,7 @@ ПользователиСписокУправлениеПоискомКонтекстноеМеню - 182 + 191 true SearchControlAddition @@ -685,6 +1043,7 @@ true true + ГруппаПользовательскихНастроек @@ -972,10 +1331,10 @@ СписокВыбранныхПользователейИГруппСтрокаПоиска - 194 + 203 СписокВыбранныхПользователейИГруппСтрокаПоискаРасширеннаяПодсказка - 196 + 205 Label true true @@ -985,7 +1344,7 @@ СписокВыбранныхПользователейИГруппСтрокаПоискаКонтекстноеМеню - 195 + 204 true СписокВыбранныхПользователейИГрупп @@ -995,10 +1354,10 @@ СписокВыбранныхПользователейИГруппСостояниеПросмотра - 197 + 206 СписокВыбранныхПользователейИГруппСостояниеПросмотраРасширеннаяПодсказка - 199 + 208 Label true true @@ -1008,7 +1367,7 @@ СписокВыбранныхПользователейИГруппСостояниеПросмотраКонтекстноеМеню - 198 + 207 true ViewStatusAddition @@ -1019,10 +1378,10 @@ СписокВыбранныхПользователейИГруппУправлениеПоиском - 200 + 209 СписокВыбранныхПользователейИГруппУправлениеПоискомРасширеннаяПодсказка - 202 + 211 Label true true @@ -1032,7 +1391,7 @@ СписокВыбранныхПользователейИГруппУправлениеПоискомКонтекстноеМеню - 201 + 210 true SearchControlAddition @@ -1068,6 +1427,8 @@ AutoUse true true + false + false false true Auto @@ -1189,6 +1550,44 @@ true + + ПоказыватьНедействительныхПользователей + 162 + true + true + + true + + + ПоказыватьНедействительныхПользователей + + Right + + OnChange + ПоказыватьНедействительныхПользователей + + + ПоказыватьНедействительныхПользователейРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + + ПоказыватьНедействительныхПользователейКонтекстноеМеню + 163 + true + + CheckBoxField + Enter + true + Left + true + + true true @@ -1210,7 +1609,6 @@ UsualGroup - Vertical Auto true true @@ -1462,314 +1860,6 @@ ФормаКоманднаяПанель -1 - - ЗавершитьИЗакрыть - 95 - true - - true - - - ЗавершитьИЗакрытьExtendedTooltip - 98 - Label - true - true - - Left - - - Form.Command.ЗавершитьИЗакрыть - Auto - true - true - true - UserCmds - Auto - - - ВыбратьГруппуПользователей - 68 - - <key>ru</key> - <value>Выбрать группу</value> - - true - true - - true - - false - - ВыбратьГруппуПользователейExtendedTooltip - 99 - Label - true - true - - Left - - - Form.Item.ГруппыПользователей.StandardCommand.Choose - Normal - PictureAndText - true - true - UserCmds - - StdPicture.ChooseValue - - Auto - - - ВыбратьПользователя - 69 - - <key>ru</key> - <value>Выбрать</value> - - true - true - - true - - false - - ВыбратьПользователяExtendedTooltip - 100 - Label - true - true - - Left - - - Form.Item.ПользователиСписок.StandardCommand.Choose - Normal - Auto - true - true - UserCmds - Auto - - - СоздатьПользователя - 54 - true - true - - true - - false - - СоздатьПользователяExtendedTooltip - 101 - Label - true - true - - Left - - - Form.Item.ПользователиСписок.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - СоздатьГруппуПользователей - 55 - true - true - - true - - false - - СоздатьГруппуПользователейExtendedTooltip - 102 - Label - true - true - - Left - - - Form.Command.СоздатьГруппуПользователей - Normal - Auto - true - true - UserCmds - Auto - - - НазначитьГруппы - 72 - true - true - - true - - - НазначитьГруппыExtendedTooltip - 103 - Label - true - true - - Left - - - Form.Command.НазначитьГруппы - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - КоманднаяПанельПользователи - 53 - - ПоказыватьНедействительныхПользователей - 71 - true - true - - true - - - ПоказыватьНедействительныхПользователейExtendedTooltip - 105 - Label - true - true - - Left - - - Form.Command.ПоказыватьНедействительныхПользователей - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СведенияОПользователях - 132 - true - true - - true - - - СведенияОПользователяхРасширеннаяПодсказка - 133 - Label - true - true - - Left - - - Form.Command.СведенияОПользователях - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ПользователиИБ - 6 - true - true - - true - - - ПользователиИБExtendedTooltip - 106 - Label - true - true - - Left - - - Catalog.Пользователи.Command.ПользователиИБ - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Командная панель пользователи</value> - - - ru - Командная панель пользователи - - - КоманднаяПанельПользователиExtendedTooltip - 104 - Label - true - true - - Left - - - - Form - - - - ФормаСправка - 70 - true - true - - true - - - ФормаСправкаExtendedTooltip - 107 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -1921,7 +2011,7 @@ ВыбиратьИерархически <key>ru</key> - <value>Показывать пользователей дочерних групп</value> + <value>Показывать пользователей нижестоящих групп</value> 3 @@ -2006,6 +2096,23 @@ true + + Недействителен + + <key>ru</key> + <value>Недействителен</value> + + 3 + + Boolean + + + true + + + true + + СписокВыбранныхПользователейИзменен @@ -2042,6 +2149,23 @@ true + + ПоказыватьНедействительныхПользователей + + <key>ru</key> + <value>Показывать недействительных пользователей</value> + + 8 + + Boolean + + + true + + + true + + СоздатьГруппуПользователей @@ -2067,29 +2191,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>ПоказыватьНедействительныхПользователей</name> - <title> - <key>ru</key> - <value>Показывать недействительных пользователей</value> - - 1 - - ru - Показывать недействительных пользователей - - - true - - - - ПоказыватьНедействительныхПользователей - - - TextPicture - Auto - Auto - НазначитьГруппы diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Module.bsl index ab96d5b39..21fe644c8 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаСписка/Module.bsl @@ -92,7 +92,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( ПользователиСписок, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Элементы.ПользователиСписок.РежимВыбора = Истина; Элементы.ГруппыПользователей.РежимВыбора = ХранимыеПараметры.ВыборГруппПользователей; @@ -132,7 +132,6 @@ ХранимыеПараметры.Вставить("ТекущаяСтрока", Параметры.ТекущаяСтрока); НастроитьФормуПоИспользованиюГруппПользователей(); ХранимыеПараметры.Удалить("ТекущаяСтрока"); - КонецПроцедуры &НаКлиенте @@ -152,7 +151,11 @@ Элементы.ПользователиСписок.Обновить(); - ИначеЕсли ВРег(ИмяСобытия) = ВРег("Запись_ИспользоватьГруппыПользователей") Тогда + ИначеЕсли ВРег(ИмяСобытия) = ВРег("Запись_НаборКонстант") Тогда + + Если ВРег(Источник) = ВРег("ИспользоватьГруппыПользователей") Тогда + ПодключитьОбработчикОжидания("ПриИзмененииИспользованияГруппПользователей", 0.1, Истина); + КонецЕсли; ПодключитьОбработчикОжидания("ПриИзмененииИспользованияГруппПользователей", 0.1, Истина); @@ -188,6 +191,11 @@ КонецПроцедуры +&НаКлиенте +Процедура ПоказыватьНедействительныхПользователей(Элемент) + ПереключитьОтображениеНедействительныхПользователей(ПоказыватьНедействительныхПользователей); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыГруппыПользователей @@ -387,18 +395,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ПоказыватьНедействительныхПользователей(Команда) - - Элементы.ПоказыватьНедействительныхПользователей.Пометка = - НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка; - - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - ПользователиСписок, "Недействителен", Ложь, , , - НЕ Элементы.ПоказыватьНедействительныхПользователей.Пометка); - -КонецПроцедуры - &НаКлиенте Процедура НазначитьГруппы(Команда) @@ -606,8 +602,18 @@ Процедура ИзменитьПараметрыРасширеннойФормыПодбора() // Загрузка списка выбранных пользователей - ПараметрыРасширеннойФормыПодбора = ПолучитьИзВременногоХранилища(Параметры.ПараметрыРасширеннойФормыПодбора); - ВыбранныеПользователиИГруппы.Загрузить(ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи); + Если ЗначениеЗаполнено(Параметры.ПараметрыРасширеннойФормыПодбора) Тогда + ПараметрыРасширеннойФормыПодбора = ПолучитьИзВременногоХранилища(Параметры.ПараметрыРасширеннойФормыПодбора); + Иначе + ПараметрыРасширеннойФормыПодбора = Параметры; + КонецЕсли; + Если ТипЗнч(ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи) = Тип("ТаблицаЗначений") Тогда + ВыбранныеПользователиИГруппы.Загрузить(ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи); + Иначе + Для Каждого ВыбранныйПользователь Из ПараметрыРасширеннойФормыПодбора.ВыбранныеПользователи Цикл + ВыбранныеПользователиИГруппы.Добавить().Пользователь = ВыбранныйПользователь; + КонецЦикла; + КонецЕсли; Пользователи.ЗаполнитьНомераКартинокПользователей(ВыбранныеПользователиИГруппы, "Пользователь", "НомерКартинки"); ХранимыеПараметры.Вставить("ЗаголовокФормыПодбора", ПараметрыРасширеннойФормыПодбора.ЗаголовокФормыПодбора); // Установка параметров расширенной формы подбора. @@ -618,7 +624,9 @@ Если ПолучитьФункциональнуюОпцию("ИспользоватьГруппыПользователей") Тогда Элементы.ГруппыИПользователи.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; Элементы.ГруппыИПользователи.ШиринаПодчиненныхЭлементов = ШиринаПодчиненныхЭлементовФормы.Одинаковая; - ЭтотОбъект.Высота = 25; + Элементы.ПользователиСписок.Высота = 5; + Элементы.ГруппыПользователей.Высота = 3; + ЭтотОбъект.Высота = 17; Элементы.ГруппаВыбратьГруппу.Видимость = Истина; // Включение отображения заголовков списков ПользователиСписок и ГруппыПользователей. Элементы.ГруппыПользователей.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх; @@ -720,7 +728,7 @@ КонецЕсли; КонецЕсли; - Элементы.ГруппаПоказыватьПользователейДочернихГрупп.Видимость = ХранимыеПараметры.ИспользоватьГруппы; + Элементы.ВыбиратьИерархически.Видимость = ХранимыеПараметры.ИспользоватьГруппы; Если ХранимыеПараметры.РасширенныйПодбор Тогда Элементы.НазначитьГруппы.Видимость = Ложь; @@ -840,6 +848,15 @@ КонецПроцедуры +&НаКлиенте +Процедура ПереключитьОтображениеНедействительныхПользователей(ПоказатьНедействительных) + + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + ПользователиСписок, "Недействителен", Ложь, , , + НЕ ПоказатьНедействительных); + +КонецПроцедуры + &НаКлиентеНаСервереБезКонтекста Процедура ОбновитьСодержимоеФормыПриИзмененииГруппы(Форма) diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Form.form index a3bde7085..59dfb23f1 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Form.form @@ -248,10 +248,6 @@ <key>ru</key> <value>Свойства обработка несоответствия</value> - - ru - Свойства обработка несоответствия - true СвойстваОбработкаНесоответствияРасширеннаяПодсказка @@ -266,7 +262,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -369,10 +365,6 @@ ru Сопоставление обработка несоответствия - - ru - Сопоставление обработка несоответствия - true СопоставлениеОбработкаНесоответствияРасширеннаяПодсказка @@ -387,31 +379,115 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto Auto - - Наименование - 49 + + ГруппаШапка + 277 + + Наименование + 49 + true + true + + true + + + Объект.Description + + + OnChange + НаименованиеПриИзменении + + + НаименованиеExtendedTooltip + 216 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 50 + true + + InputField + Enter + true + Left + true + + 22 + true + true + true + true + true + + Style.BorderColor + + Normal + + + + Недействителен + 194 + true + true + + true + + + Объект.Недействителен + + Right + Button + + OnChange + НедействителенПриИзменении + + + НедействителенExtendedTooltip + 217 + Label + true + true + + Left + + + + НедействителенКонтекстноеМеню + 195 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Объект.Description - - - OnChange - НаименованиеПриИзменении - + + <key>ru</key> + <value>Группа шапка</value> + - НаименованиеExtendedTooltip - 216 + ГруппаШапкаРасширеннаяПодсказка + 278 Label true true @@ -419,67 +495,15 @@ Left - - НаименованиеКонтекстноеМеню - 50 - true - - InputField - Enter - true - Left - true - - 22 - true - true - true - true - true - - Style.BorderColor - - Normal + UsualGroup + + Auto + true + true + Auto + Auto - - Недействителен - 194 - true - true - - true - - - Объект.Недействителен - - Right - - OnChange - НедействителенПриИзменении - - - НедействителенExtendedTooltip - 217 - Label - true - true - - Left - - - - НедействителенКонтекстноеМеню - 195 - true - - CheckBoxField - Enter - true - Left - true - - ГруппаВходВПрограммуРазрешен 265 @@ -648,10 +672,10 @@ Left true - 26 + 28 true true - true + false true true true @@ -832,26 +856,19 @@ - СвойстваПараметрыАутентификации1СПредприятия - 201 - - Пароль - 21 + ГруппаОтступ + 270 + + Отступ + 272 true true true - - Пароль - - - OnChange - ПарольПриИзменении - - ПарольExtendedTooltip - 226 + ОтступРасширеннаяПодсказка + 274 Label true true @@ -860,49 +877,212 @@ - ПарольКонтекстноеМеню - 22 + ОтступКонтекстноеМеню + 273 true - InputField - Enter - true - Left - true - Left - - 14 - true - true - false - true - true - true - true - - Style.BorderColor - - Normal + Label + true + true + + Left - - ПодтверждениеПароля - 23 + + СвойстваПараметрыАутентификации1СПредприятия + 201 + + Пароль + 21 + true + true + + true + + + Пароль + + + OnChange + ПарольПриИзменении + + + ПарольExtendedTooltip + 226 + Label + true + true + + Left + + + + ПарольКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + Left + + 14 + true + true + false + true + true + true + true + + Style.BorderColor + + Normal + + + + ПодтверждениеПароля + 23 + true + true + + true + + + ПодтверждениеПароля + + + OnChange + ПарольПриИзменении + + + ПодтверждениеПароляExtendedTooltip + 227 + Label + true + true + + Left + + + + ПодтверждениеПароляКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + Left + + 14 + true + true + false + true + true + true + true + + Style.BorderColor + + Normal + + + + ПользовательИнфБазыПоказыватьВСпискеВыбора + 25 + true + true + + true + + + ПользовательИнфБазыПоказыватьВСпискеВыбора + + Right + + OnChange + ПользовательИнфБазыПоказыватьВСпискеВыбораПриИзменении + + + ПользовательИнфБазыПоказыватьВСпискеВыбораExtendedTooltip + 228 + Label + true + true + + Left + + + + ПользовательИнфБазыПоказыватьВСпискеВыбораКонтекстноеМеню + 26 + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ПользовательИнфБазыЗапрещеноИзменятьПароль + 51 + true + true + + true + + + ПользовательИнфБазыЗапрещеноИзменятьПароль + + Right + + OnChange + ПользовательИнфБазыЗапрещеноИзменятьПарольПриИзменении + + + ПользовательИнфБазыЗапрещеноИзменятьПарольExtendedTooltip + 229 + Label + true + true + + Left + + + + ПользовательИнфБазыЗапрещеноИзменятьПарольКонтекстноеМеню + 52 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - ПодтверждениеПароля - - - OnChange - ПарольПриИзменении - + + <key>ru</key> + <value>Аутентификация 1С:Предприятия</value> + + true - ПодтверждениеПароляExtendedTooltip - 227 + СвойстваПараметрыАутентификации1СПредприятияExtendedTooltip + 225 Label true true @@ -910,109 +1090,16 @@ Left - - ПодтверждениеПароляКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - Left - - 14 - true - true - false - true - true - true - true - - Style.BorderColor - - Normal + UsualGroup + + Vertical + Auto + true + true + Auto + Auto - - ПользовательИнфБазыПоказыватьВСпискеВыбора - 25 - true - true - - true - - - ПользовательИнфБазыПоказыватьВСпискеВыбора - - Right - - OnChange - ПользовательИнфБазыПоказыватьВСпискеВыбораПриИзменении - - - ПользовательИнфБазыПоказыватьВСпискеВыбораExtendedTooltip - 228 - Label - true - true - - Left - - - - ПользовательИнфБазыПоказыватьВСпискеВыбораКонтекстноеМеню - 26 - true - - CheckBoxField - Enter - true - Left - true - Left - - - - ПользовательИнфБазыЗапрещеноИзменятьПароль - 51 - true - true - - true - - - ПользовательИнфБазыЗапрещеноИзменятьПароль - - Right - - OnChange - ПользовательИнфБазыЗапрещеноИзменятьПарольПриИзменении - - - ПользовательИнфБазыЗапрещеноИзменятьПарольExtendedTooltip - 229 - Label - true - true - - Left - - - - ПользовательИнфБазыЗапрещеноИзменятьПарольКонтекстноеМеню - 52 - true - - CheckBoxField - Enter - true - Left - true - - true true @@ -1020,12 +1107,11 @@ <key>ru</key> - <value>Аутентификация 1С:Предприятия</value> + <value>Группа отступ</value> - true - СвойстваПараметрыАутентификации1СПредприятияExtendedTooltip - 225 + ГруппаОтступРасширеннаяПодсказка + 271 Label true true @@ -1035,9 +1121,7 @@ UsualGroup - Vertical Auto - StrongSeparation true true Auto @@ -1069,31 +1153,65 @@ Auto - - ПользовательИнфБазыАутентификацияOpenID - 205 + + СвойстваАутентификацииOpenID + 275 + + ПользовательИнфБазыАутентификацияOpenID + 205 + true + true + + true + + + ПользовательИнфБазыАутентификацияOpenID + + Right + + ru + Способ входа в программу с помощью имени, указанного для пользователя 1С:Предприятия, +которое передается службе аутентификации по протоколу OpenID. +Используется только при подключении через веб-сервер (адрес службы должен быть настроен). + + + OnChange + ПользовательИнфБазыАутентификацияOpenIDПриИзменении + + + ПользовательИнфБазыАутентификацияOpenIDРасширеннаяПодсказка + 230 + Label + true + true + + Left + + + + ПользовательИнфБазыАутентификацияOpenIDКонтекстноеМеню + 206 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - ПользовательИнфБазыАутентификацияOpenID - - Right - + <key>ru</key> - <value>Способ входа в программу с помощью имени, указанного для пользователя 1С:Предприятия, -которое передается службе аутентификации по протоколу OpenID. -Используется только при подключении через веб-сервер (адрес службы должен быть настроен).</value> - </toolTip> - <handlers> - <event>OnChange</event> - <name>ПользовательИнфБазыАутентификацияOpenIDПриИзменении</name> - </handlers> + <value>Свойства аутентификации open ID</value> + - ПользовательИнфБазыАутентификацияOpenIDРасширеннаяПодсказка - 230 + СвойстваАутентификацииOpenIDРасширеннаяПодсказка + 276 Label true true @@ -1101,17 +1219,15 @@ Left - - ПользовательИнфБазыАутентификацияOpenIDКонтекстноеМеню - 206 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + СвойстваАутентификацииОС @@ -1192,7 +1308,6 @@ true Label - 1 true true @@ -1211,6 +1326,10 @@ ПользовательИнфБазыПользовательОС Left + + ru + Пользователь операционной системы + OnChange ПользовательИнфБазыПользовательОСПриИзменении @@ -1241,8 +1360,10 @@ StartChoice ПользовательИнфБазыПользовательОСНачалоВыбора + 28 true true + false true true true @@ -1497,15 +1618,14 @@ false Top Add + Change Copy - CopyToClipboard Delete EndEdit HierarchicalList List MoveDown MoveUp - OutputList SortListAsc SortListDesc Tree @@ -1598,10 +1718,6 @@ ru Роли колонок - - ru - Роли колонок - РолиКолонокExtendedTooltip 245 @@ -1729,14 +1845,40 @@ UserCmds Auto + + РолиСтандартныеКоманды + 281 + true + true + + true + + + <key>ru</key> + <value>Роли стандартные команды</value> + + + РолиСтандартныеКомандыРасширеннаяПодсказка + 282 + Label + true + true + + Left + + + + Item.Роли + + Left РолиСтрокаПоиска - 285 + 298 РолиСтрокаПоискаРасширеннаяПодсказка - 287 + 300 Label true true @@ -1746,7 +1888,7 @@ РолиСтрокаПоискаКонтекстноеМеню - 286 + 299 true Роли @@ -1756,10 +1898,10 @@ РолиСостояниеПросмотра - 288 + 301 РолиСостояниеПросмотраРасширеннаяПодсказка - 290 + 303 Label true true @@ -1769,7 +1911,7 @@ РолиСостояниеПросмотраКонтекстноеМеню - 289 + 302 true ViewStatusAddition @@ -1780,10 +1922,10 @@ РолиУправлениеПоиском - 291 + 304 РолиУправлениеПоискомРасширеннаяПодсказка - 293 + 306 Label true true @@ -1793,7 +1935,7 @@ РолиУправлениеПоискомКонтекстноеМеню - 292 + 305 true SearchControlAddition @@ -1881,7 +2023,7 @@ <key>ru</key> - <value>Основные свойства</value> + <value>Главное</value> СвойстваПользователяИБExtendedTooltip @@ -1926,6 +2068,82 @@ auto + + СтраницаКомментарий + 279 + + Комментарий + 258 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 260 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 259 + true + + InputField + Enter + true + Left + true + + + StartChoice + КомментарийНачалоВыбора + + true + 2 + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + СтраницаКомментарийРасширеннаяПодсказка + 280 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -1953,56 +2171,6 @@ Auto - - Комментарий - 258 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 260 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 259 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - false - true - true - true - true - true - true - Normal - - ФормаКоманднаяПанель -1 @@ -2704,6 +2872,23 @@ true + + ВходВПрограммуРазрешенЗначениеПрямогоИзменения + + <key>ru</key> + <value>Вход в программу разрешен значение прямого изменения</value> + + 33 + + Boolean + + + true + + + true + + ПоказатьТолькоВыбранныеРоли diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Help/ru.html index ba62ddc00..3f8459720 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Help/ru.html @@ -1,6 +1,6 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Описание свойств пользователя.</p> -<p>Для <a href="#1">ввода или редактирования</a> сведений о пользователе необходимы права администрирования или ответственного за список пользователей. </p> +<p>Для <a href="#1">ввода или редактирования</a> сведений о пользователе необходимы права администрирования или ответственного за <a href="Catalog.Пользователи/Help">список пользователей</a>. </p> <p>Вход в программу разрешает только администратор. </p> <p>Ответственный за список может выполнять ограниченное ведение списка пользователей, настройку пользователя до разрешения входа в программу администратором,  может редактировать списки П<strong>ользователи</strong> и <strong>Группы пользователей</strong>, а также права доступа пользователей.</p> <p>В остальных случаях доступен только просмотр сведений о себе, а также возможность изменить свой <strong>Пароль</strong> (в зависимости от настроек администратора), язык программы и контактную информацию.</p> diff --git a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Module.bsl index 92d5ee095..df97eb2df 100644 --- a/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/Пользователи/Forms/ФормаЭлемента/Module.bsl @@ -89,6 +89,7 @@ Если Не УровеньДоступа.ПолныеПрава Тогда ВходВПрограммуРазрешен = Ложь; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Ложь; КонецЕсли; Иначе // Добавление элемента. @@ -106,6 +107,7 @@ Если УровеньДоступа.ПолныеПрава Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; КонецЕсли; КонецЕсли; @@ -330,6 +332,11 @@ Если Объект.Недействителен Тогда ВходВПрограммуРазрешен = Ложь; + Иначе + ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения + И (ПользовательИнфБазыАутентификацияOpenID + Или ПользовательИнфБазыАутентификацияСтандартная + Или ПользовательИнфБазыАутентификацияОС); КонецЕсли; УстановитьДоступностьСвойств(ЭтотОбъект); @@ -371,6 +378,8 @@ НСтр("ru = 'После записи вход в программу сможет разрешить только администратор.'")); КонецЕсли; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = ВходВПрограммуРазрешен; + КонецПроцедуры &НаКлиенте @@ -867,12 +876,14 @@ УстановитьДоступностьСвойств(ЭтотОбъект); - Если ВходВПрограммуРазрешен - И НЕ ПользовательИнфБазыАутентификацияOpenID + Если НЕ ПользовательИнфБазыАутентификацияOpenID И НЕ ПользовательИнфБазыАутентификацияСтандартная И НЕ ПользовательИнфБазыАутентификацияОС Тогда ВходВПрограммуРазрешен = Ложь; + + ИначеЕсли Не ВходВПрограммуРазрешен Тогда + ВходВПрограммуРазрешен = ВходВПрограммуРазрешенЗначениеПрямогоИзменения; КонецЕсли; КонецПроцедуры @@ -1185,8 +1196,9 @@ ПрочитанныеСвойства = Неопределено; ОписаниеПользователяИБ = НачальноеОписаниеПользователяИБ(); ПользовательИБСуществует = Ложь; - ВходВПрограммуРазрешен = Ложь; ПользовательИБОсновной = Ложь; + ВходВПрограммуРазрешен = Ложь; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Ложь; Если ПриКопированииЭлемента Тогда @@ -1197,6 +1209,7 @@ // Сопоставление пользователя ИБ с пользователем в справочнике. Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; // Копирование свойств и ролей пользователяИБ. @@ -1238,6 +1251,7 @@ Если Пользователи.ВходВПрограммуРазрешен(ПрочитанныеСвойства) Тогда ВходВПрограммуРазрешен = Истина; + ВходВПрограммуРазрешенЗначениеПрямогоИзменения = Истина; КонецЕсли; ЗаполнитьЗначенияСвойств( diff --git a/SSL/src/Catalogs/Пользователи/Help/ru.html b/SSL/src/Catalogs/Пользователи/Help/ru.html index ffb43ad26..fc8aa2eda 100644 --- a/SSL/src/Catalogs/Пользователи/Help/ru.html +++ b/SSL/src/Catalogs/Пользователи/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Предназначен для ведения пользователей, которые работают с программой. </p> <p>Открыть список пользователей можно из раздела <strong>Администрирование - Настройки пользователей и прав</strong> или <strong>Управление доступом</strong> с помощью команды <strong>Пользователи.</strong></p> <p>Ведение списка пользователей может осуществлять как администратор, так и ответственный за список внешних пользователей. </p> diff --git a/SSL/src/Catalogs/Пользователи/ManagerModule.bsl b/SSL/src/Catalogs/Пользователи/ManagerModule.bsl index 1607a1abf..9e56c0a7b 100644 --- a/SSL/src/Catalogs/Пользователи/ManagerModule.bsl +++ b/SSL/src/Catalogs/Пользователи/ManagerModule.bsl @@ -17,6 +17,16 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/Пользователи/ObjectModule.bsl b/SSL/src/Catalogs/Пользователи/ObjectModule.bsl index f6731505d..41f30476a 100644 --- a/SSL/src/Catalogs/Пользователи/ObjectModule.bsl +++ b/SSL/src/Catalogs/Пользователи/ObjectModule.bsl @@ -47,8 +47,6 @@ #КонецОбласти -#Область ОбработчикиСобытий - //////////////////////////////////////////////////////////////////////////////// // СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ @@ -58,6 +56,8 @@ Перем ЭтоНовый; // Показывает, что был записан новый объект. // Используются в обработчике события ПриЗаписи. +#Область ОбработчикиСобытий + Процедура ПередЗаписью(Отказ) Если ОбменДанными.Загрузка Тогда diff --git a/SSL/src/Catalogs/Пользователи/Пользователи.mdo b/SSL/src/Catalogs/Пользователи/Пользователи.mdo index 87a894c2a..b3e30ae6a 100644 --- a/SSL/src/Catalogs/Пользователи/Пользователи.mdo +++ b/SSL/src/Catalogs/Пользователи/Пользователи.mdo @@ -154,8 +154,9 @@ </type> <toolTip> <key>ru</key> - <value>Пользователь недействителен, оставлен для истории, -его не требуется выбирать в документах и других местах.</value> + <value>Пользователь больше не работает в программе, но сведения о нем сохранены. +Недействительные пользователи скрываются из всех списков +при выборе или подборе в документах и других местах программы.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> diff --git a/SSL/src/Catalogs/ПользовательскиеНастройкиОтчетов/ManagerModule.bsl b/SSL/src/Catalogs/ПользовательскиеНастройкиОтчетов/ManagerModule.bsl index 983baeba5..d0cab1c61 100644 --- a/SSL/src/Catalogs/ПользовательскиеНастройкиОтчетов/ManagerModule.bsl +++ b/SSL/src/Catalogs/ПользовательскиеНастройкиОтчетов/ManagerModule.bsl @@ -11,6 +11,16 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ПоставляемыеДанные/ПоставляемыеДанные.mdo b/SSL/src/Catalogs/ПоставляемыеДанные/ПоставляемыеДанные.mdo index cc0ba2749..eb57263b3 100644 --- a/SSL/src/Catalogs/ПоставляемыеДанные/ПоставляемыеДанные.mdo +++ b/SSL/src/Catalogs/ПоставляемыеДанные/ПоставляемыеДанные.mdo @@ -198,7 +198,6 @@ <key>ru</key> <value>Том</value> </synonym> - <comment>Ссылка на том (в случае если ТипХраненияФайла - на диске)</comment> <type> <types>CatalogRef.ТомаХраненияФайлов</types> </type> @@ -218,7 +217,6 @@ <key>ru</key> <value>Тип хранения файла</value> </synonym> - <comment>Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске</comment> <type> <types>EnumRef.ТипыХраненияФайлов</types> </type> diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ПрименениеПравил/Help/ru.html b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ПрименениеПравил/Help/ru.html index 7cbc62866..f14ddc683 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ПрименениеПравил/Help/ru.html +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ПрименениеПравил/Help/ru.html @@ -1,13 +1,22 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Применение правил обработки электронной почты</h1> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300d69ccccaf8">Когда возникает необходимость применения правил обработки электронной почты?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300d72be22d94">Как применить правила?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300d69ccccaf8"> -<h3 style="MARGIN-LEFT: 0px">Когда возникает необходимость применения правил обработки электронной почты?</h3></a> -<p style="MARGIN-LEFT: 20px">Правила применяются автоматически, но иногда их необходимо применить вручную. Например, когда создано новое правило, и необходимо применить его к уже имеющимся письмам. </p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300d72be22d94"> -<h3 style="MARGIN-LEFT: 0px">Как применить правила?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li><b>Для писем в папке</b> - укажите папку, для писем которой необходимо применить новое правило. -</li><li><b>Включая подчиненные</b> - если данный флаг установлен, то будут обработаны письма и в дочерних папках. -</li><li>Установите флажки у тех правил, которые должны быть применены. -</li><li>Настройте порядок применения правил. Первыми будут применяться те правила, которые находятся выше в списке. Изменить порядок можно при помощи кнопок Вверх и Вниз в командной панели списка. -</li><li>Выполните команду <b>Применить</b>.</li></ul><p style="MARGIN-LEFT: 0px"></p> -<table border="0" bgcolor="#eeeeff"><tbody><tr><td><tt>Пример. Было создано два новых правила обработки входящей корреспонденции. Необходимо применить их к неотсортированным письмам, находящимся в папке <b>Входящие</b>. Укажите в качестве папки для обработки <b>Входящие</b>, флаг <b>Включая подчиненные</b> не включен. Выберите в списке правил новые и выполните команду Применить.</tt></td></tr></tbody></table><p> </p></body></html> \ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для применения <a href="Catalog.ПравилаОбработкиЭлектроннойПочты/Help">правил обработки электронной почты</a>.</p> +<p>Правила применяются автоматически, но иногда их необходимо применить вручную. Например, когда создано новое правило, и необходимо применить его к уже имеющимся письмам. </p> +<p>Открывается по команде <strong>Применить правила</strong> из окна <strong>Правила обработки электронной почты</strong> или из <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">списка взаимодействий</a> (группировка по папкам) по команде <strong>Применить правила обработки</strong> контекстного меню по правой кнопке мыши в панели группировки.</p> +<p>В списке выводится:</p> +<ul><li> +<div><strong>Условие</strong> - наименование условия.</div> +</li><li> +<div><strong>Помещать в папку</strong> - папка, к которой применяется данное условие.</div></li></ul><h3 style="MARGIN-LEFT: 0px">Применение правил<a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300d72be22d94"></a></h3> +<ul style="MARGIN-LEFT: 40px"><li>В поле <strong>Для писем в папке</strong> укажите <a href="Catalog.ПапкиЭлектронныхПисем.Form.ФормаЭлемента/Help">папку</a>, для писем которой необходимо применить новое правило. +</li><li>Если включить флажок <strong>Включая подчиненные</strong>, то будут обработаны письма и в дочерних <a href="Catalog.ПапкиЭлектронныхПисем/Help">папках</a>. +</li><li>Включите флажки у тех правил, которые должны быть применены. С помощью кнопки <img src="StdPicture.CheckAll"></img> можно выбрать все правила. С помощью кнопки <img src="StdPicture.UncheckAll"></img> можно снять все флажки. +</li><li>Настройте порядок применения правил. Первыми будут применяться те правила, которые находятся выше в списке. Изменить порядок можно при помощи кнопок <strong><img src="StdPicture.MoveUp"></img> Вверх</strong> и <img src="StdPicture.MoveDown"></img> <strong>Вниз</strong> в командной панели списка. +</li><li>Выполните команду <b>Применить</b>. Отмеченные в списке флажками правила будут применены к письмам указанной папки. +</li><li>В нижней части окна программа выводит <strong>Сообщения</strong> о выполнении обработки писем.</li></ul><p style="MARGIN-LEFT: 0px"></p> +<h3>Пример</h3> +<p>Было создано два новых правила обработки входящей корреспонденции. Необходимо применить их к неотсортированным письмам, находящимся в папке <strong>Входящие</strong>.</p> +<ul><li>Укажите в качестве папки для обработки <strong>Входящие</strong>. +</li><li>Флажок <strong>Включая подчиненны</strong>е не включать. +</li><li>Выберите в списке правил новые и выполните команду <strong>Применить</strong>.</li></ul><h3>См. также:</h3> +<ul><li> +<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Form.form index ee3887211..c88e48682 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Form.form @@ -4,6 +4,41 @@ <key>ru</key> <value>Правила обработки электронной почты </value> + + ГруппаПользовательскихНастроек + 25 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -136,10 +171,10 @@ СписокСтрокаПоиска - 25 + 27 СписокСтрокаПоискаРасширеннаяПодсказка - 27 + 29 Label true true @@ -149,7 +184,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 26 + 28 true Список @@ -159,10 +194,10 @@ СписокСостояниеПросмотра - 28 + 30 СписокСостояниеПросмотраРасширеннаяПодсказка - 30 + 32 Label true true @@ -172,7 +207,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 29 + 31 true ViewStatusAddition @@ -183,10 +218,10 @@ СписокУправлениеПоиском - 31 + 33 СписокУправлениеПоискомРасширеннаяПодсказка - 33 + 35 Label true true @@ -196,7 +231,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 32 + 34 true SearchControlAddition @@ -255,6 +290,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Help/ru.html b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Help/ru.html deleted file mode 100644 index 0d4a347e7..000000000 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаСписка/Help/ru.html +++ /dev/null @@ -1,10 +0,0 @@ - -

    Правила обработки электронной почты

    -

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

    -

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

    -
    • Входящие - в эту папку попадают по умолчанию все входящие письма. -
    • Исходящие - в эту папку попадают все исходящие, но еще не отправленные письма. -
    • Нежелательная почта в данную папку попадают письма, которые почтовый сервер опознал как спам. -
    • Отправленные - в эту папку по умолчанию попадают все отправленные письма. -
    • Удаленные - в эту папку попадают все помеченные к удалению письма. -
    • Черновики - папка, в которой находятся письма, редактирование которых не завершено.

     

    \ No newline at end of file diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html index aa4d6c9db..e8574f63c 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html @@ -1,8 +1,35 @@ - -

    Правило обработки электронной почты

    -

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

    -

    Как настроить правило?

    -

    Как настроить правило?

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

     

    \ No newline at end of file + +

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

    +

    Настройка правила

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

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

    Ввод условий

    +

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

    +
    • +
      Задать новое условие можно по команде Добавить новый элемент. Условий может быть несколько.
      +
    • +
      В колонке Поле  выберите поле электронного письма, по которому будет производиться отбор. Для этого укажите нужное поле, затем нажмите кнопку Выбрать.
      +
    • +
      В колонке Вид сравнения можно выбрать операцию сравнения, при этом кроме стандартных операций, например, Больше или равно, имеются нестандартные, например, В списке.
      +
      • +
        С помощью операции сравнения В списке можно задать список возможных значений для отбора, например, сюда можно поместить несколько почтовых ящиков партнера, с которых возможна отправка корреспонденции. Операция сравнения Не в списке является отрицанием предыдущей. Например, в другую папку нужно поместить остальные письма, кроме писем, полученных от перечисленных в списке отправителей.
        +
      • +
        С помощью операции Содержит или Не содержит можно использовать поиск по части поля (сочетанию букв) - наименования, темы, адреса, если полностью это поле неизвестно. Например, можно задать шаблон почтовых ящиков контактных лиц определенного партнера, если название сайта партнера известно. В этом случае письма с почтовых адресов с таким сочетанием букв будут помещены в одну папку.
        +
      • +
        Определить, есть ли в поле значение, можно с помощью операции Заполнено или Не заполнено. Например, с помощью такого условия можно в отдельную папку поместить письма, в которых не указана тема.
    • +
      Затем настройте Значение. Для этого в зависимости от выбранного поля и вида сравнения нажмите кнопку Выбрать и выберите из предложенного списка значений нужное, введите значение или создайте свой список значений, например, список из нескольких адресов партнера
      +
    • +
      Можно использовать несколько условий для более тонкого отбора. Это позволит облегчить работу с почтой, если на почтовый ящик компании поступает много электронных писем.
      +
      • +
        В этом случае по команде Сгруппировать условия к выделенным условиям необходимо применить логические операции И, Или, Не. Например, для того чтобы в папку определенного партнера попадали его письма, можно создать правило для папки партнера, а в условиях указать все адреса электронной почты партнера и объединить условия в группу по логической операции Или.
        +
      • +
        Если известно, что письма от данного клиента приходят только определенному сотруднику или с определенных адресов, то можно создать более точное условие для отбора почты также с помощью логической операции Или.
        +
      • +
        Для того чтобы использовать группировку условий, выделите одно из нужных условий, выполните команду Сгруппировать условия, выберите Тип группы - И, Или, Не. С помощью мыши перетащите остальные условия в группу или создайте их внутри группы.
        +
      • +
        Если в правиле задается несколько условий без группировки, то по умолчанию к таким условиям применяется логическая операция И.
    • +
      Нажмите кнопку Записать и закрыть, после этого созданные правила начнут применяться для всех новых писем учетной записи (при получении писем и при изменении статуса писем, например, с нового на черновик и т.д.).  Воспользуйтесь соответствующей командой в списке правил обработки электронной почты, для того чтобы применить правила к старым письмам.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Help/ru.html b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Help/ru.html index 8f7bb1c2d..43c8f9ff9 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Help/ru.html +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/Help/ru.html @@ -1,4 +1,29 @@ - -

    Правила обработки электронной почты

    -

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

    -

     

    \ No newline at end of file + +

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

    +

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

    +

    Открывается соответствующей командой в панели навигации учетной записи электронной почты.

    +

    В списке выводится:

    +
    • +
      Условие - наименование условия.
      +
    • +
      Помещать в папку - указывается папка, в которую будут помещены письма, удовлетворяющие условию.

    Порядок применения правил

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

    Если ни одно из правил не определило папку для письма, то оно будет помещено в папку по умолчанию:

    +
    • Входящие - в эту папку попадают по умолчанию все входящие письма. +
    • Исходящие - в эту папку попадают все исходящие, но еще не отправленные письма. +
    • Нежелательная почта в данную папку попадают письма, которые почтовый сервер опознал как спам. +
    • Отправленные - в эту папку по умолчанию попадают все отправленные письма. +
    • Удаленные - в эту папку попадают все помеченные к удалению письма. +
    • Черновики - папка, в которой находятся письма, редактирование которых не завершено.

    Ввод правила

    +

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

    +

    Применение правил

    +

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

    +

    Применить правила также можно во время работы с электронной перепиской в списке взаимодействий.

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ManagerModule.bsl b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ManagerModule.bsl index 8f7e1e4b7..7b1eeec68 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ManagerModule.bsl +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ManagerModule.bsl @@ -1,8 +1,16 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ПрограммныйИнтерфейс - -&НаСервере + +// Применяет правила обработки писем +// +// Параметры: +// ПараметрыВыгрузки - Структура - содержит следующие поля +// - ДляПисемВПапке - Справочник.ПапкиЭлектронныхПисем - письма, которые находятся в этой папке будут обработаны. +// - ВключаяПодчиненные - Булево - признак, того что должны обрабатываться письма в подчиненных папках. +// - ТаблицаПравил - ТаблицаЗначений - таблица правил, которые должны быть применены. +// АдресХранилища - Строка - сообщение о результате применения правил. +// Процедура ПрименитьПравила(ПараметрыВыгрузки, АдресХранилища) Экспорт ТаблицаСоответствий = Новый ТаблицаЗначений; diff --git a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ПравилаОбработкиЭлектроннойПочты.mdo b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ПравилаОбработкиЭлектроннойПочты.mdo index fc89fa1b9..604a2ba46 100644 --- a/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ПравилаОбработкиЭлектроннойПочты.mdo +++ b/SSL/src/Catalogs/ПравилаОбработкиЭлектроннойПочты/ПравилаОбработкиЭлектроннойПочты.mdo @@ -240,11 +240,6 @@ ru Форма списка - - - ru - - PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ObjectModule.bsl b/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ObjectModule.bsl index af9696c21..f7ca348a2 100644 --- a/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ObjectModule.bsl +++ b/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ObjectModule.bsl @@ -3,15 +3,34 @@ #Область ОбработчикиСобытий Процедура ПередЗаписью(Отказ) + Если ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") Тогда + ПроверитьЗаполнениеПредопределенного(Отказ); + КонецЕсли; Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; - - Если НЕ ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") Тогда + Если Не ДополнительныеСвойства.Свойство("ЗаполнениеПредопределенных") Тогда ВызватьИсключение НСтр("ru = 'Справочник ""Предопределенные варианты отчетов"" изменяется только при автоматическом заполнении его данных.'"); КонецЕсли; КонецПроцедуры +// Базовые проверки корректности данных предопределенных вариантов отчетов. +Процедура ПроверитьЗаполнениеПредопределенного(Отказ) + Если ПометкаУдаления Тогда + Возврат; + ИначеЕсли Не ЗначениеЗаполнено(Отчет) Тогда + ТекстОшибки = НеЗаполненоПоле("Отчет"); + Иначе + Возврат; + КонецЕсли; + Отказ = Истина; + ВариантыОтчетов.ОшибкаПоВарианту(Ссылка, ТекстОшибки); +КонецПроцедуры + +Функция НеЗаполненоПоле(ИмяПоля) + Возврат СтрЗаменить(НСтр("ru = 'Не заполнено поле ""%1""'"), "%1", ИмяПоля); +КонецФункции + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ПредопределенныеВариантыОтчетов.mdo b/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ПредопределенныеВариантыОтчетов.mdo index 27742e972..274f0aba7 100644 --- a/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ПредопределенныеВариантыОтчетов.mdo +++ b/SSL/src/Catalogs/ПредопределенныеВариантыОтчетов/ПредопределенныеВариантыОтчетов.mdo @@ -103,6 +103,8 @@ ru Предопределенный вариант отчета
    + true + HierarchyOfItems 2 true 150 @@ -172,10 +174,10 @@ Use - ВыводитьТолькоОтчет + ГруппироватьПоОтчету ru - Выводить только отчет + Группировать по отчету Boolean diff --git a/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Help/ru.html index beade0c5f..902691f07 100644 --- a/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Help/ru.html @@ -1,7 +1,32 @@ - -

    Виды дней производственного календаря выделены разными цветами:

    + +

    Просмотр или формирование производственного календаря.

    +

    Производственный календарь - это своеобразный классификатор, постоянные сведения, которые не меняются в течение года. 

    +

    Производственный календарь РФ (который является общегосударственным) входит в поставляемые данные программы и обновляется по мере утверждения календаря и переносов праздников в РФ.

    +

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

    +

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

    +

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

    +

    Ввод нового производственного календаря

    +
    • Заполните заголовок производственного календаря: +
      • +
        Наименование;
        +
      • +
        Код - не более 3 знаков;
        +
      • +
        Год - по умолчанию проставляется текущий.
    • С помощью команды Изменить день расставьте дни календаря. +
      • Виды дней производственного календаря обозначаются разными цветами:
        • черным – рабочий день,
        • темно-красным – суббота,
        • красным – воскресенье,
        • темно-синим – предпраздничный, -
        • фиолетовым – праздник.
        \ No newline at end of file +
      • фиолетовым – праздник.
    • По умолчанию новый производственный календарь заполнен выходными днями.

    Перенос праздничного дня на другой день

    +

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

    +
    • Выделите в производственном календаре праздничный день, который необходимо перенести. +
    • Нажмите Перенести день. +
    • Выберите в календаре дату переноса, нажмите ОК. +
    • Сведения о переносах дней отображаются в правой части производственного календаря в списке Переносы дней.

    Заполнение по умолчанию

    +
    • С помощью команды Заполнить по умолчанию можно заполнить календарь на основании общегосударственного производственного календаря, входящего в поставку программы. +
    • На текущий год автоматическое формирование производственного календаря производится на основании уже утвержденных сведений о рабочих днях, праздниках и переносах праздничных дней, на будущие годы - согласно ТК РФ (для российского производственного календаря).

    Печать производственного календаря

    +
    • Нажмите Печать, для того чтобы вывести сводные сведения о производственном календаре на указанный год. +
      • Предусмотрен вывод сведений о годовом балансе рабочего времени, а также по месяцам, за квартал, полугодие. +
      • Выводится статистика по количеству календарных дней, рабочих, выходных и праздничных дней, а также рабочее время в часах при 40-часовой, 36-часовой и 24-часовой рабочей неделе.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Module.bsl index 5c217cec0..7b914ded0 100644 --- a/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ПроизводственныеКалендари/Forms/ФормаЭлемента/Module.bsl @@ -153,18 +153,21 @@ &НаКлиенте Процедура Печать(Команда) - ПараметрыПечати = Новый Структура; - ПараметрыПечати.Вставить("ПроизводственныйКалендарь", Объект.Ссылка); - ПараметрыПечати.Вставить("НомерГода", НомерТекущегоГода); - - ПараметрКоманды = Новый Массив; - ПараметрКоманды.Добавить(Объект.Ссылка); - - Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда - МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент"); - МодульУправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.ПроизводственныеКалендари", "ПроизводственныйКалендарь", - ПараметрКоманды, ЭтотОбъект, ПараметрыПечати); + Если Объект.Ссылка.Пустая() Тогда + Обработчик = Новый ОписаниеОповещения("ПечатьЗавершение", ЭтотОбъект); + ПоказатьВопрос( + Обработчик, + НСтр("ru = 'Данные производственного календаря еще не записаны. + |Печать возможна только после записи данных. + | + |Записать?'"), + РежимДиалогаВопрос.ДаНет, + , + КодВозвратаДиалога.Да); + Возврат; КонецЕсли; + + ПечатьЗавершение(-1); КонецПроцедуры @@ -179,10 +182,11 @@ НастроитьПолеКалендаря(); + СсылкаНаКалендарь = Объект.Ссылка; Если ЗначениеЗаполнено(ЗначениеКопирования) Тогда СсылкаНаКалендарь = ЗначениеКопирования; - Иначе - СсылкаНаКалендарь = Объект.Ссылка; + Объект.Наименование = Неопределено; + Объект.Код = Неопределено; КонецЕсли; ПрочитатьДанныеПроизводственногоКалендаря(СсылкаНаКалендарь, НомерТекущегоГода); @@ -431,4 +435,32 @@ КонецПроцедуры +&НаКлиенте +Процедура ПечатьЗавершение(ОтветНаПредложениеЗаписать, ПараметрыВыполнения = Неопределено) Экспорт + + Если ОтветНаПредложениеЗаписать <> -1 Тогда + Если ОтветНаПредложениеЗаписать <> КодВозвратаДиалога.Да Тогда + Возврат; + КонецЕсли; + Записан = Записать(); + Если Не Записан Тогда + Возврат; + КонецЕсли; + КонецЕсли; + + ПараметрыПечати = Новый Структура; + ПараметрыПечати.Вставить("ПроизводственныйКалендарь", Объект.Ссылка); + ПараметрыПечати.Вставить("НомерГода", НомерТекущегоГода); + + ПараметрКоманды = Новый Массив; + ПараметрКоманды.Добавить(Объект.Ссылка); + + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда + МодульУправлениеПечатьюКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("УправлениеПечатьюКлиент"); + МодульУправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.ПроизводственныеКалендари", "ПроизводственныйКалендарь", + ПараметрКоманды, ЭтотОбъект, ПараметрыПечати); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/Catalogs/ПроизводственныеКалендари/Help/ru.html b/SSL/src/Catalogs/ПроизводственныеКалендари/Help/ru.html new file mode 100644 index 000000000..33ed4540f --- /dev/null +++ b/SSL/src/Catalogs/ПроизводственныеКалендари/Help/ru.html @@ -0,0 +1,10 @@ + +

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

    +

    Открывается по соответствующей команде в разделе Справочники.

    +

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

    +

    Производственный календарь РФ (который является общегосударственным) входит в поставляемые данные программы и обновляется по мере утверждения календаря и переносов праздников в РФ. При необходимости можно ввести несколько производственных календарей. Рекомендуется ввести производственный календарь в начале года на основании общегосударственного календаря на весь год сразу. Это поможет избежать ошибок в расчетах в течение года.

    +

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

    +

    Ввод производственного календаря

    +

    Нажмите Создать, заполните необходимые поля.

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/ПроизводственныеКалендари/ПроизводственныеКалендари.mdo b/SSL/src/Catalogs/ПроизводственныеКалендари/ПроизводственныеКалендари.mdo index e2ac87e8a..8ff513ea0 100644 --- a/SSL/src/Catalogs/ПроизводственныеКалендари/ПроизводственныеКалендари.mdo +++ b/SSL/src/Catalogs/ПроизводственныеКалендари/ПроизводственныеКалендари.mdo @@ -101,6 +101,12 @@ DontUse + true + + + ru + + Managed Use diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Help/ru.html b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Help/ru.html index 70093bc79..09eb1cd12 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Help/ru.html +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

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

    diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Module.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Module.bsl index 5c5df988e..3d61b61fb 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Module.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаВыбораГруппы/Module.bsl @@ -13,6 +13,5 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Form.form b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Form.form index e4e26bd55..2e557dfec 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Form.form +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Form.form @@ -16,7 +16,7 @@ Наименование группы (папки) - НаименованиеExtendedTooltip + НаименованиеРасширеннаяПодсказка 5 Label true @@ -65,7 +65,7 @@ Вышестоящая группа (папка), объединяющая группы (папки) для удобства поиска - РодительExtendedTooltip + РодительРасширеннаяПодсказка 6 Label true diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Help/ru.html b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Help/ru.html index a14f8c9d9..cb2a42b20 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Help/ru.html +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаГруппы/Help/ru.html @@ -1,4 +1,4 @@ - +

    Описание свойств папки профилей групп доступа

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

    Ввод папки профилей групп доступа

    diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Form.form index d2502e4b7..4df5bfbd1 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Form.form @@ -1,5 +1,161 @@ + + ПоказатьПрофили + 17 + + <key>ru</key> + <value>Показать</value> + + true + true + + true + + + ПоказатьПрофили + + Button + + OnChange + ПоказатьПрофилиПриИзменении + + + ПоказатьПрофилиРасширеннаяПодсказка + 19 + + <key>ru</key> + <value>Поставляемые профили входят в состав конфигурации (обновляются автоматически). +Непоставляемые профили - все остальные (обновляются вручную). +Устаревшие профили содержат удаленные роли (не обновлены вручную).</value> + + Label + true + true + + Left + + + + ПоказатьПрофилиКонтекстноеМеню + 18 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + true + true + + + ru + Все профили + + + ВсеПрофили + + + + + ru + Поставляемые + + + Поставляемые + + + + + ru + Непоставляемые + + + Непоставляемые + + + + + ru + Устаревшие + + + Устаревшие + + + Normal + + + + ГруппаПользовательскихНастроек + 20 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 22 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -102,10 +258,10 @@ СписокСтрокаПоиска - 11 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 27 Label true true @@ -115,7 +271,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 26 true Список @@ -125,10 +281,10 @@ СписокСостояниеПросмотра - 14 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 30 Label true true @@ -138,7 +294,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 29 true ViewStatusAddition @@ -149,10 +305,10 @@ СписокУправлениеПоиском - 17 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 33 Label true true @@ -162,7 +318,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 32 true SearchControlAddition @@ -190,6 +346,7 @@ true true true + 8 true true 1 @@ -220,13 +377,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer @@ -282,6 +439,24 @@ true
    + + ПоказатьПрофили + + <key>ru</key> + <value>Показать профили</value> + + 2 + + String + + + + true + + + true + + diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Help/ru.html b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Help/ru.html index ac3aac565..2ac8b8432 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Help/ru.html +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Help/ru.html @@ -1,17 +1,17 @@ - -

    Предназначен для управлениия профилями групп доступа.

    + +

    Предназначен для управления профилями групп доступа.

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

    Список открывается по команде Профили групп доступа в разделе Администрирование - Настройка пользователей и прав.

    -

    Различают основные и дополнительные профили груп доступа:

    +

    Различают основные и дополнительные профили групп доступа:

    • Основной профиль описывает некоторую совокупность прав доступа, достаточную для выполнения в программе определенного участка работ.
    • С помощью дополнительных профилей пользователям могут быть выданы какие-либо вспомогательные права дополнительно к основному профилю.

    Например, дополнительно к основным профилям Бухгалтер и Кладовщик предусмотрены профили Ведение переписки с контрагентами и Печать непроведенных документов.

    Рекомендации по созданию основных профилей групп доступа

    -

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

    -
    • роль для входа в программу с помощью тонкого, толстого иои веб-клиента; +

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

      +
      • роль для входа в программу с помощью тонкого, толстого или веб-клиента;
      • предопределенные роли Базовые права и Базовые права УТ;
      • роли для просмотра справочников, элементы которых требуется выбирать в полях документов; -
      • роли для просмотра отчетов подвижениям документов и т.п.

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

      +
    • роли для просмотра отчетов по движениям документов и т.п.

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

    Ввод профиля групп доступа

    • Нажмите Создать, заполните необходимые поля.

    Ввод папки профилей групп доступа

    -
    • Нажмите , заполните необходимые поля.

    См. также:

    +
    • Нажмите Создать группу, заполните необходимые поля.

    См. также:

    \ No newline at end of file diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Module.bsl index 702713a33..0556949ef 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаСписка/Module.bsl @@ -23,7 +23,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Элементы.Список.РежимВыбора = Истина; Элементы.Список.ВыборГруппИЭлементов = Параметры.ВыборГруппИЭлементов; @@ -40,6 +40,69 @@ КонецЕсли; КонецЕсли; + Если Параметры.Свойство("ПрофилиСРолямиПомеченнымиНаУдаление") Тогда + ПоказатьПрофили = "Устаревшие"; + Иначе + ПоказатьПрофили = "ВсеПрофили"; + КонецЕсли; + + Если Не Параметры.РежимВыбора Тогда + УстановитьОтбор(); + Иначе + Элементы.ПоказатьПрофили.Видимость = Ложь; + КонецЕсли; КонецПроцедуры #КонецОбласти + +#Область ОбработчикиСобытийЭлементовУправленияФормы + +&НаКлиенте +Процедура ПоказатьПрофилиПриИзменении(Элемент) + УстановитьОтбор(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура УстановитьОтбор() + + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "Ссылка.Роли.Роль.ПометкаУдаления", + Истина, + ВидСравненияКомпоновкиДанных.Равно,, Ложь); + + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "Ссылка.ИдентификаторПоставляемыхДанных", + Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"), + ВидСравненияКомпоновкиДанных.Равно,, Ложь); + + Если ПоказатьПрофили = "Устаревшие" Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "Ссылка.Роли.Роль.ПометкаУдаления", + Истина, + ВидСравненияКомпоновкиДанных.Равно,, Истина); + + ИначеЕсли ПоказатьПрофили = "Поставляемые" Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "Ссылка.ИдентификаторПоставляемыхДанных", + Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"), + ВидСравненияКомпоновкиДанных.НеРавно,, Истина); + + ИначеЕсли ПоказатьПрофили = "Непоставляемые" Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "Ссылка.ИдентификаторПоставляемыхДанных", + Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"), + ВидСравненияКомпоновкиДанных.Равно,, Истина); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Form.form index 0560a16da..f52fd064e 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Form.form @@ -11,6 +11,7 @@ Объект.Description + true НаименованиеExtendedTooltip 252 @@ -101,15 +102,14 @@ false None Add + Change Copy - CopyToClipboard Delete EndEdit HierarchicalList List MoveDown MoveUp - OutputList SortListAsc SortListDesc Tree @@ -202,10 +202,6 @@ ru Роли колонок - - ru - Роли колонок - РолиКолонокExtendedTooltip 262 @@ -333,14 +329,40 @@ UserCmds Auto + + РолиСтандартныеКоманды + 303 + true + true + + true + + + <key>ru</key> + <value>Роли стандартные команды</value> + + + РолиСтандартныеКомандыРасширеннаяПодсказка + 304 + Label + true + true + + Left + + + + Item.Роли + + Left РолиСтрокаПоиска - 303 + 353 РолиСтрокаПоискаРасширеннаяПодсказка - 305 + 355 Label true true @@ -350,7 +372,7 @@ РолиСтрокаПоискаКонтекстноеМеню - 304 + 354 true Роли @@ -360,10 +382,10 @@ РолиСостояниеПросмотра - 306 + 356 РолиСостояниеПросмотраРасширеннаяПодсказка - 308 + 358 Label true true @@ -373,7 +395,7 @@ РолиСостояниеПросмотраКонтекстноеМеню - 307 + 357 true ViewStatusAddition @@ -384,10 +406,10 @@ РолиУправлениеПоиском - 309 + 359 РолиУправлениеПоискомРасширеннаяПодсказка - 311 + 361 Label true true @@ -397,7 +419,7 @@ РолиУправлениеПоискомКонтекстноеМеню - 310 + 360 true SearchControlAddition @@ -621,171 +643,8 @@ ВидыДоступаКоманднаяПанель 24 - - ВидыДоступаДобавить - 54 - true - true - - true - - false - - ВидыДоступаДобавитьExtendedTooltip - 271 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ВидыДоступаУдалить - 56 - true - true - - true - - false - - ВидыДоступаУдалитьExtendedTooltip - 272 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ВидыДоступаПереместитьВверх - 57 - true - true - - true - - false - - ВидыДоступаПереместитьВверхExtendedTooltip - 273 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - ВидыДоступаПереместитьВниз - 58 - true - true - - true - - false - - ВидыДоступаПереместитьВнизExtendedTooltip - 274 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - ВидыДоступаСортироватьСписокПоВозрастанию - 59 - true - true - - true - - false - - ВидыДоступаСортироватьСписокПоВозрастаниюExtendedTooltip - 275 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ВидыДоступаСортироватьСписокПоУбыванию - 60 - true - true - - true - - false - - ВидыДоступаСортироватьСписокПоУбываниюExtendedTooltip - 276 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - Left + true OnEditEnd @@ -813,10 +672,10 @@ ВидыДоступаСтрокаПоиска - 322 + 372 ВидыДоступаСтрокаПоискаРасширеннаяПодсказка - 324 + 374 Label true true @@ -826,7 +685,7 @@ ВидыДоступаСтрокаПоискаКонтекстноеМеню - 323 + 373 true ВидыДоступа @@ -836,10 +695,10 @@ ВидыДоступаСостояниеПросмотра - 325 + 375 ВидыДоступаСостояниеПросмотраРасширеннаяПодсказка - 327 + 377 Label true true @@ -849,7 +708,7 @@ ВидыДоступаСостояниеПросмотраКонтекстноеМеню - 326 + 376 true ViewStatusAddition @@ -860,10 +719,10 @@ ВидыДоступаУправлениеПоиском - 328 + 378 ВидыДоступаУправлениеПоискомРасширеннаяПодсказка - 330 + 380 Label true true @@ -873,7 +732,7 @@ ВидыДоступаУправлениеПоискомКонтекстноеМеню - 329 + 379 true SearchControlAddition @@ -895,146 +754,12 @@ ВидыДоступаКонтекстноеМеню 23 - - КонтекстноеМенюВидыДоступаДобавить - 123 - true - true - - true - - false - - КонтекстноеМенюВидыДоступаДобавитьExtendedTooltip - 266 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюВидыДоступаУдалить - 125 - true - true - - true - - false - - КонтекстноеМенюВидыДоступаУдалитьExtendedTooltip - 267 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюВидыДоступаПереместитьВверх - 126 - true - true - - true - - false - - КонтекстноеМенюВидыДоступаПереместитьВверхExtendedTooltip - 268 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюВидыДоступаПереместитьВниз - 127 - true - true - - true - - false - - КонтекстноеМенюВидыДоступаПереместитьВнизExtendedTooltip - 269 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюВидыДоступаВыделитьВсе - 130 - true - true - - true - - false - - КонтекстноеМенюВидыДоступаВыделитьВсеExtendedTooltip - 270 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.SelectAll - Normal - Auto - true - true - UserCmds - Auto - + true true true true - 12 + 3 true true MultiRow @@ -1060,51 +785,6 @@ ЗначенияДоступаПоВидуДоступа 138 - - НадписьВидДоступа - 139 - true - true - - true - - - НадписьВидДоступа - - None - Ctrl+S - - НадписьВидДоступаExtendedTooltip - 281 - Label - true - true - - Left - - - - НадписьВидДоступаКонтекстноеМеню - 140 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - ТекстВидДоступаНеИспользуется 246 @@ -1260,171 +940,8 @@ ЗначенияДоступаКоманднаяПанель 235 - - ЗначенияДоступаДобавить - 155 - true - true - - true - - false - - ЗначенияДоступаДобавитьExtendedTooltip - 288 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаУдалить - 156 - true - true - - true - - false - - ЗначенияДоступаУдалитьExtendedTooltip - 289 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВверх - 159 - true - true - - true - - false - - ЗначенияДоступаПереместитьВверхExtendedTooltip - 290 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВниз - 160 - true - true - - true - - false - - ЗначенияДоступаПереместитьВнизExtendedTooltip - 291 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - СортироватьСписокПоВозрастанию - 161 - true - true - - true - - false - - СортироватьСписокПоВозрастаниюExtendedTooltip - 292 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СортироватьСписокПоУбыванию - 162 - true - true - - true - - false - - СортироватьСписокПоУбываниюExtendedTooltip - 293 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - Left + true OnEditEnd @@ -1440,10 +957,10 @@ ЗначенияДоступаСтрокаПоиска - 342 + 391 ЗначенияДоступаСтрокаПоискаРасширеннаяПодсказка - 344 + 393 Label true true @@ -1453,7 +970,7 @@ ЗначенияДоступаСтрокаПоискаКонтекстноеМеню - 343 + 392 true ЗначенияДоступа @@ -1463,10 +980,10 @@ ЗначенияДоступаСостояниеПросмотра - 345 + 394 ЗначенияДоступаСостояниеПросмотраРасширеннаяПодсказка - 347 + 396 Label true true @@ -1476,7 +993,7 @@ ЗначенияДоступаСостояниеПросмотраКонтекстноеМеню - 346 + 395 true ViewStatusAddition @@ -1487,10 +1004,10 @@ ЗначенияДоступаУправлениеПоиском - 348 + 397 ЗначенияДоступаУправлениеПоискомРасширеннаяПодсказка - 350 + 399 Label true true @@ -1500,7 +1017,7 @@ ЗначенияДоступаУправлениеПоискомКонтекстноеМеню - 349 + 398 true SearchControlAddition @@ -1522,65 +1039,13 @@ ЗначенияДоступаКонтекстноеМеню 234 - - КонтекстноеМенюЗначенияДоступаДобавить - 152 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаДобавитьExtendedTooltip - 286 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюЗначенияДоступаУдалить - 154 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаУдалитьExtendedTooltip - 287 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - + true true true true true + 2 true MultiRow 1 @@ -1723,14 +1188,6 @@ true - - <key>ru</key> - <value>Значения доступа по виду доступа</value> - - - ru - Значения доступа по виду доступа - ЗначенияДоступаПоВидуДоступаExtendedTooltip 280 @@ -1747,6 +1204,9 @@ Auto true true + + НадписьВидДоступа + Auto Auto @@ -1776,6 +1236,267 @@ auto + + СтраницаОписание + 332 + + ПоставляемыйПрофильИзменен + 346 + + ПоставляемыйПрофильИзмененКартинка + 348 + + <key>ru</key> + <value>Поставляемый профиль изменен картинка</value> + + true + true + + true + + + ПоставляемыйПрофильИзмененКартинкаРасширеннаяПодсказка + 350 + Label + true + true + + Left + + + + ПоставляемыйПрофильИзмененКартинкаКонтекстноеМеню + 349 + true + + 4 + true + 2 + true + + + CommonPicture.Предупреждение32 + + + + + ПоставляемыйПрофильИзмененПояснение + 343 + + <key>ru</key> + <value>В поставляемый профиль были внесены изменения. +Описание может отличаться от текущей настройки профиля.</value> + + true + true + + true + + + ru + Чтобы восстановить поставляемую настройку профиля, +выберите в меню "Еще" команду "Восстановить по начальному заполнению". + + Button + + ПоставляемыйПрофильИзмененПояснениеРасширеннаяПодсказка + 345 + Label + true + true + + Left + + + + ПоставляемыйПрофильИзмененПояснениеКонтекстноеМеню + 344 + true + + Label + true + true + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Поставляемый профиль изменен</value> + + + ru + Поставляемый профиль изменен + + + ПоставляемыйПрофильИзмененРасширеннаяПодсказка + 347 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ОписаниеПоставляемогоПрофиля + 334 + true + true + + true + + + ОписаниеПоставляемогоПрофиля + + None + + ru + Описание поставляемого профиля. + + + ОписаниеПоставляемогоПрофиляРасширеннаяПодсказка + 336 + Label + true + true + + Left + + + + ОписаниеПоставляемогоПрофиляКонтекстноеМеню + 335 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Описание</value> + + + СтраницаОписаниеРасширеннаяПодсказка + 333 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКомментарий + 301 + + Комментарий + 47 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 254 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 48 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + СтраницаКомментарийРасширеннаяПодсказка + 302 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -1789,6 +1510,7 @@ ru Доступ + 11 ДоступExtendedTooltip 255 @@ -1805,52 +1527,6 @@ Auto - - Комментарий - 47 - true - true - - true - - - Объект.Комментарий - - - КомментарийExtendedTooltip - 254 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 48 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - true - true - true - true - true - true - Normal - - ФормаКоманднаяПанель -1 @@ -1882,32 +1558,6 @@ Auto InAdditionalSubmenu - - ОписаниеПоставляемогоПрофиля - 244 - true - true - - true - - - ОписаниеПоставляемогоПрофиляExtendedTooltip - 250 - Label - true - true - - Left - - - Form.Command.ОписаниеПоставляемогоПрофиля - Normal - Auto - true - true - UserCmds - Auto - ПоказыватьНеиспользуемыеВидыДоступа 248 @@ -2301,6 +1951,24 @@ true + + ОписаниеПоставляемогоПрофиля + + <key>ru</key> + <value>Описание поставляемого профиля</value> + + 6 + + String + + + + true + + + true + + ВосстановитьПоНачальномуЗаполнению @@ -2427,29 +2095,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>ОписаниеПоставляемогоПрофиля</name> - <title> - <key>ru</key> - <value>Описание поставляемого профиля</value> - - 3 - - ru - Описание поставляемого профиля -(недоступно, если поставляемый профиль изменен) - - - true - - - - ОписаниеПоставляемогоПрофиля - - - Auto - Auto - ПоказыватьНеиспользуемыеВидыДоступа diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Help/ru.html index 213d1a8a0..2ac34d7c3 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Описание свойств профиля групп доступа.</p> <p>В программе существуют предопределенные <a href="Catalog.ПрофилиГруппДоступа.Form.ФормаСписка/Help">профили групп доступа</a>. В ряде случаев предустановленных <a href="Catalog.ПрофилиГруппДоступа.Form.ФормаСписка/Help">профилей групп доступа</a> оказывается недостаточно для осуществления требуемой настройки прав доступа пользователей. В таких случаях администратор имеет возможность добавить новые или изменить предустановленные профили групп доступа.</p> <p>Профиль групп доступа объединяет в себе, как правило, несколько ролей, а также содержит описание видов доступа, в разрезе которых администратор может настраивать права с помощью <a href="Catalog.ГруппыДоступа/Help">групп доступа</a>. Таким образом, профиль представляет собой определенный шаблон, в соответствии с которым администратор ведет <a href="Catalog.ПрофилиГруппДоступа.Form.ФормаСписка/Help">группы доступа</a>.</p> diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Module.bsl index 3fb77f0d0..d0e39e6c0 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Forms/ФормаЭлемента/Module.bsl @@ -33,9 +33,8 @@ Элементы.Наименование.ТолькоПросмотр = БезРедактированияПоставляемыхЗначений; // Настройка редактирования видов доступа. - Элементы.ВидыДоступа.ТолькоПросмотр = БезРедактированияПоставляемыхЗначений; - Элементы.ВидыДоступаДобавить.Доступность = НЕ БезРедактированияПоставляемыхЗначений; - Элементы.КонтекстноеМенюВидыДоступаДобавить.Доступность = НЕ БезРедактированияПоставляемыхЗначений; + Элементы.ВидыДоступа.ТолькоПросмотр = БезРедактированияПоставляемыхЗначений; + Элементы.ЗначенияДоступа.ТолькоПросмотр = БезРедактированияПоставляемыхЗначений; ОбработатьИнтерфейсРолей("УстановитьТолькоПросмотрРолей", БезРедактированияПоставляемыхЗначений); @@ -393,19 +392,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ОписаниеПоставляемогоПрофиля(Команда) - - ТекстовыйДокумент = Новый ТекстовыйДокумент; - ТекстовыйДокумент.УстановитьТекст(ОписаниеПоставляемогоПрофиляНаСервере(Объект.Ссылка)); - ТекстовыйДокумент.ТолькоПросмотр = Истина; - - ТекстовыйДокумент.Показать(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Описание поставляемого профиля ""%1""'"), - Объект.Наименование)); - -КонецПроцедуры - &НаКлиенте Процедура ПоказыватьНеИспользуемыеВидыДоступа(Команда) @@ -529,19 +515,22 @@ Если Справочники.ПрофилиГруппДоступа.ЕстьНачальноеЗаполнениеПрофиля(ТекущийОбъект.Ссылка) Тогда + ОписаниеПоставляемогоПрофиля = + Справочники.ПрофилиГруппДоступа.ОписаниеПоставляемогоПрофиля(ТекущийОбъект.Ссылка); + Если Справочники.ПрофилиГруппДоступа.ПоставляемыйПрофильИзменен(ТекущийОбъект) Тогда // Определение прав восстановления по начальному заполнению. Элементы.ВосстановитьПоНачальномуЗаполнению.Видимость = Пользователи.ЭтоПолноправныйПользователь(,, Ложь); - Элементы.ОписаниеПоставляемогоПрофиля.Доступность = Ложь; + Элементы.ПоставляемыйПрофильИзменен.Видимость = Истина; Иначе Элементы.ВосстановитьПоНачальномуЗаполнению.Видимость = Ложь; - Элементы.ОписаниеПоставляемогоПрофиля.Доступность = Истина; + Элементы.ПоставляемыйПрофильИзменен.Видимость = Ложь; КонецЕсли; Иначе Элементы.ВосстановитьПоНачальномуЗаполнению.Видимость = Ложь; - Элементы.ОписаниеПоставляемогоПрофиля.Видимость = Ложь; + Элементы.СтраницаОписание.Видимость = Ложь; КонецЕсли; КонецПроцедуры @@ -588,17 +577,4 @@ КонецПроцедуры -&НаСервереБезКонтекста -Функция ОписаниеПоставляемогоПрофиляНаСервере(Знач Профиль) - - Возврат Справочники.ПрофилиГруппДоступа.ОписаниеПоставляемогоПрофиля(Профиль); - -КонецФункции - -&НаКлиенте -Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, - ЭтотОбъект, "Объект.Комментарий"); -КонецПроцедуры - #КонецОбласти diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/Help/ru.html b/SSL/src/Catalogs/ПрофилиГруппДоступа/Help/ru.html index 5257069bf..26805a3c7 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/Help/ru.html +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Как правило, настройка <a href="Catalog.ПрофилиГруппДоступа.Form.ФормаСписка/Help">профилей групп доступа</a> обычно выполняется при внедрении и конфигурировании прикладного решения. Они предназначены для создания готовых подборок разрешенных действий (ролей), содержащих права доступа к объектам программы, и "разрезов" ограничения этих прав (видов доступа), которые предполагается использовать в <a href="Catalog.ГруппыДоступа/Help">группах доступа</a>.</p> <p>В ряде случаев предустановленных профилей групп доступа оказывается недостаточно для осуществления требуемой настройки прав доступа пользователей. В таких случаях администратор имеет возможность добавить новые или изменить предустановленные профили групп доступа.</p> <p>С помощью профилей становится возможным:</p> diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl index 528b032fb..721b951ad 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/ManagerModule.bsl @@ -309,6 +309,65 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда + Возврат; + КонецЕсли; + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.Справочники.ПрофилиГруппДоступа.ПолноеИмя()]; + + Если Разделы = Неопределено Тогда + Возврат; + КонецЕсли; + + Для Каждого Раздел Из Разделы Цикл + + КоличествоНесовместимыхПрофилейГруппДоступа = КоличествоНесовместимыхПрофилейГруппДоступа(); + + ИдентификаторПрофиля = "НеСовместимыСТекущейВерсией" + СтрЗаменить(Раздел.ПолноеИмя(), ".", ""); + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = ИдентификаторПрофиля; + Дело.ЕстьДела = КоличествоНесовместимыхПрофилейГруппДоступа > 0; + Дело.Представление = НСтр("ru = 'Не совместимы с текущей версией'"); + Дело.Количество = КоличествоНесовместимыхПрофилейГруппДоступа; + Дело.Владелец = Раздел; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ПрофилиГруппДоступа"; + Дело.ЕстьДела = КоличествоНесовместимыхПрофилейГруппДоступа > 0; + Дело.Важное = Истина; + Дело.Представление = НСтр("ru = 'Профили групп доступа'"); + Дело.Количество = КоличествоНесовместимыхПрофилейГруппДоступа; + Дело.Форма = "Справочник.ПрофилиГруппДоступа.Форма.ФормаСписка"; + Дело.ПараметрыФормы= Новый Структура("ПрофилиСРолямиПомеченнымиНаУдаление", Истина); + Дело.Владелец = ИдентификаторПрофиля; + + КонецЦикла; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -751,8 +810,8 @@ ОписанияПрофилей, ПараметрыОбновления); ЗаголовокОшибки = - НСтр("ru = 'Ошибка в процедуре ПриЗаполненииПоставляемыхПрофилейГруппДоступа - |модуля УправлениеДоступомПереопределяемый. + НСтр("ru = 'Заданы недопустимые значения в процедуре ПриЗаполненииПоставляемыхПрофилейГруппДоступа + |общего модуля УправлениеДоступомПереопределяемый. | |'"); @@ -760,7 +819,7 @@ И НЕ ПараметрыОбновления.ОбновлятьИзмененныеПрофили Тогда ВызватьИсключение ЗаголовокОшибки + - НСтр("ru = 'Когда в переменной ПараметрыОбновления свойство + НСтр("ru = 'Когда в параметре ПараметрыОбновления свойство |ОбновлятьИзмененныеПрофили установлено Ложь, |тогда свойство ЗапретитьИзменениеПрофилей тоже |должно быть установлено Ложь.'"); @@ -1117,6 +1176,23 @@ КонецФункции +Функция КоличествоНесовместимыхПрофилейГруппДоступа() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ПрофилиГруппДоступа.Ссылка + |ИЗ + | Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа + |ГДЕ + | ПрофилиГруппДоступа.Роли.Роль.ПометкаУдаления = ИСТИНА"; + + Результат = Запрос.Выполнить().Выгрузить(); + + Возврат Результат.Количество(); + +КонецФункции + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/ObjectModule.bsl b/SSL/src/Catalogs/ПрофилиГруппДоступа/ObjectModule.bsl index 95d014335..774226452 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/ObjectModule.bsl +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/ObjectModule.bsl @@ -92,56 +92,7 @@ Возврат; КонецЕсли; - // Проверка однозначности поставляемых данных. - Если ИдентификаторПоставляемыхДанных <> Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000") Тогда - УстановитьПривилегированныйРежим(Истина); - - Запрос = Новый Запрос; - Запрос.УстановитьПараметр("ИдентификаторПоставляемыхДанных", ИдентификаторПоставляемыхДанных); - Запрос.Текст = - "ВЫБРАТЬ - | ПрофилиГруппДоступа.Ссылка КАК Ссылка, - | ПрофилиГруппДоступа.Наименование КАК Наименование - |ИЗ - | Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа - |ГДЕ - | ПрофилиГруппДоступа.ИдентификаторПоставляемыхДанных = &ИдентификаторПоставляемыхДанных"; - - Выборка = Запрос.Выполнить().Выбрать(); - Если Выборка.Количество() > 1 Тогда - - КраткоеПредставлениеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при записи профиля ""%1"". - |Поставляемый профиль уже существует:'"), - Наименование); - - ПодробноеПредставлениеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при записи профиля ""%1"". - |Идентификатор поставляемых данных ""%2"" уже используется в профиле:'"), - Наименование, - Строка(ИдентификаторПоставляемыхДанных)); - - Пока Выборка.Следующий() Цикл - Если Выборка.Ссылка <> Ссылка Тогда - - КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки - + Символы.ПС + """" + Выборка.Наименование + """."; - - ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки - + Символы.ПС + """" + Выборка.Наименование + """ (" - + Строка(Выборка.Ссылка.УникальныйИдентификатор())+ ")." - КонецЕсли; - КонецЦикла; - - ЗаписьЖурналаРегистрации( - НСтр("ru = 'Управление доступом.Нарушение однозначности поставляемого профиля'", - ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки); - - ВызватьИсключение КраткоеПредставлениеОшибки; - КонецЕсли; - УстановитьПривилегированныйРежим(Ложь); - КонецЕсли; + ПроверитьОднозначностьПоставляемыхДанных(); ОбъектыМетаданных = ОбновитьРолиПользователейПриИзмененииРолейПрофиля(); @@ -198,19 +149,27 @@ Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + Если ЭтоГруппа Тогда + Возврат; + КонецЕсли; + Если ДополнительныеСвойства.Свойство("ПроверенныеРеквизитыОбъекта") Тогда ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива( ПроверяемыеРеквизиты, ДополнительныеСвойства.ПроверенныеРеквизитыОбъекта); КонецЕсли; + ПроверитьОднозначностьПоставляемыхДанных(Истина, Отказ); + КонецПроцедуры Процедура ПриКопировании(ОбъектКопирования) - Если НЕ ЭтоГруппа Тогда - ИдентификаторПоставляемыхДанных = Неопределено; + Если ЭтоГруппа Тогда + Возврат; КонецЕсли; + ИдентификаторПоставляемыхДанных = Неопределено; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -295,6 +254,65 @@ КонецФункции +Процедура ПроверитьОднозначностьПоставляемыхДанных(ПроверкаЗаполнения = Ложь, Отказ = Ложь) + + // Проверка однозначности поставляемых данных. + Если ИдентификаторПоставляемыхДанных <> Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000") Тогда + УстановитьПривилегированныйРежим(Истина); + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ИдентификаторПоставляемыхДанных", ИдентификаторПоставляемыхДанных); + Запрос.Текст = + "ВЫБРАТЬ + | ПрофилиГруппДоступа.Ссылка КАК Ссылка, + | ПрофилиГруппДоступа.Наименование КАК Наименование + |ИЗ + | Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа + |ГДЕ + | ПрофилиГруппДоступа.ИдентификаторПоставляемыхДанных = &ИдентификаторПоставляемыхДанных"; + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Количество() > 1 Тогда + + КраткоеПредставлениеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при записи профиля ""%1"". + |Поставляемый профиль уже существует:'"), + Наименование); + + ПодробноеПредставлениеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при записи профиля ""%1"". + |Идентификатор поставляемых данных ""%2"" уже используется в профиле:'"), + Наименование, + Строка(ИдентификаторПоставляемыхДанных)); + + Пока Выборка.Следующий() Цикл + Если Выборка.Ссылка <> Ссылка Тогда + + КраткоеПредставлениеОшибки = КраткоеПредставлениеОшибки + + Символы.ПС + """" + Выборка.Наименование + """."; + + ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки + + Символы.ПС + """" + Выборка.Наименование + """ (" + + Строка(Выборка.Ссылка.УникальныйИдентификатор())+ ")." + КонецЕсли; + КонецЦикла; + + Если ПроверкаЗаполнения Тогда + Отказ = Истина; + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = КраткоеПредставлениеОшибки; + Сообщение.Сообщить(); + Иначе + ЗаписьЖурналаРегистрации( + НСтр("ru = 'Управление доступом.Нарушение однозначности поставляемого профиля'", + ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки); + КонецЕсли; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #КонецЕсли diff --git a/SSL/src/Catalogs/ПрофилиГруппДоступа/ПрофилиГруппДоступа.mdo b/SSL/src/Catalogs/ПрофилиГруппДоступа/ПрофилиГруппДоступа.mdo index 00d4b2378..4b46346d7 100644 --- a/SSL/src/Catalogs/ПрофилиГруппДоступа/ПрофилиГруппДоступа.mdo +++ b/SSL/src/Catalogs/ПрофилиГруппДоступа/ПрофилиГруппДоступа.mdo @@ -106,6 +106,7 @@ <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> <createOnInput>Use</createOnInput> + <includeHelpInContents>true</includeHelpInContents> <help> <pages> <lang>ru</lang> diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Commands/ВыполнитьСейчас/CommandModule.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Commands/ВыполнитьСейчас/CommandModule.bsl index b05d37f04..6bd359999 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Commands/ВыполнитьСейчас/CommandModule.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Commands/ВыполнитьСейчас/CommandModule.bsl @@ -61,7 +61,7 @@ Если Результат.Статус = "ВыполненоУспешно" Тогда СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(Форма, Результат.Детали); ИначеЕсли Результат.Статус = "Исключение" Тогда - ТекстПредупреждения = НСтр("ru = 'Рассылки не выполнены из-за ошибки, + ТекстПредупреждения = НСтр("ru = 'Не удалось выполнить рассылку отчетов. |Подробности см. в журнале регистрации.'"); ПоказатьПредупреждение(, ТекстПредупреждения); ИначеЕсли Результат.Статус = "Выполняется" Тогда diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПараметрыFTP/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПараметрыFTP/Help/ru.html index dc7b1666d..94fe97667 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПараметрыFTP/Help/ru.html +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПараметрыFTP/Help/ru.html @@ -1,21 +1,14 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Позволяет указать параметры, необходимые для подключения к FTP ресурсу. <br>Поле "Сервер и каталог" является обязательным для заполнения, остальные поля не обязательны.</p> -<h2><a name="Реквизиты">Реквизиты:</a></h2> -<p></p> -<table border="0" cellspacing="4" cellpadding="0" width="700"><tbody><tr valign="top"><td width="25%"> -<li><a name="СерверИКаталог"><strong>Сервер и каталог</strong></a></li></td> -<td>Путь к FTP ресурсу в формате "ftp://сервер/каталог/".</td></tr><tr valign="top"><td> -<li><a name="Порт"><strong>Порт</strong></a></li></td> -<td>Порт FTP ресурса на сервере (по умолчанию 21).</td></tr><tr valign="top"><td> -<li><a name="Логин"><strong>Логин</strong></a></li></td> -<td>Имя пользователя для доступа к FTP.</td></tr><tr valign="top"><td> -<li><a name="Пароль"><strong>Пароль</strong></a></li></td> -<td>Пароль пользователя для доступа к FTP.</td></tr><tr valign="top"><td> -<li><a name="ПассивноеСоединение"><strong>Пассивное соединение</strong></a></li></td> -<td>Флажок использования пассивного соединения при подключении к серверу.</td></tr></tbody></table><h2><a name="Команды">Команды:</a></h2> -<p></p> -<table border="0" cellspacing="4" cellpadding="0" width="700"><tbody><tr valign="top"><td width="25%"> -<li><a name="Заполнить"><strong>Заполнить</strong></a></li></td> -<td>Позволят ввести все параметры одной строкой.</td></tr></tbody></table><p> </p> -<p></p> -<p>См. также: <a href="Catalog.РассылкиОтчетов.Form.ФормаЭлемента/Help">Рассылка отчетов</a>, <a href="Catalog.РассылкиОтчетов/Help">Рассылки отчетов</a>, <a href="v8help://frame/form_common">Общая информация о формах</a>.</p></body></html> \ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Позволяет указать параметры, необходимые для подключения к FTP-ресурсу при рассылке отчетов. <br>Поле <strong>Сервер и каталог</strong> является обязательным для заполнения, остальные поля не обязательны.</p> +<p>Открывается из окна <a href="Catalog.РассылкиОтчетов.Form.ФормаЭлемента/Help">рассылки отчетов</a> по кнопке <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>.</p> +<p><a name="Реквизиты">З</a>аполните необходимые сведения:</p> +<ul><li><a name="СерверИКаталог"><strong>Сервер и каталог</strong></a> - путь к FTP-ресурсу в формате <a href="ftp://сервер/каталог/">ftp://сервер/каталог/</a>; +</li><li><a name="Порт"><strong>Порт</strong></a> - порт FTP-ресурса на сервере (по умолчанию 21); +</li><li><a name="Логин"><strong>Логин</strong></a> - имя пользователя для доступа к FTP; +</li><li><a name="Пароль"><strong>Пароль</strong></a> - пароль пользователя для доступа к FTP; +</li><li><a name="ПассивноеСоединение"><strong>Пассивное соединение</strong></a> - флажок использования пассивного соединения при подключении к серверу.</li></ul><h3>Ввод параметров одной строкой</h3> +<ul><li> +<div>Нажмите <strong>Заполнить</strong>, введите строку вида <a href="ftp://User:пароль@сервер:21/каталог/">ftp://User:пароль@сервер:21/каталог/</a>, программа автоматически заполнит все параметры по отдельности.</div></li></ul><p></p> +<h3>См. также: </h3> +<ul><li><a href="Catalog.РассылкиОтчетов/Help">Рассылки отчетов</a>; +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/ConditionalAppearance.dcssca b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/ConditionalAppearance.dcssca new file mode 100644 index 000000000..ede8c0edc --- /dev/null +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/ConditionalAppearance.dcssca @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ConditionalAppearance xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows"> + <item> + <selection> + <item> + <field>ПолучателиПредставление</field> + </item> + </selection> + <filter> + <item xsi:type="FilterItemComparison"> + <left xsi:type="dcscor:Field">ПолучателиCP.Пометка</left> + <comparisonType>Equal</comparisonType> + <right xsi:type="xs:boolean">true</right> + </item> + </filter> + <appearance> + <dcscor:item xsi:type="SettingsParameterValue"> + <dcscor:parameter>ЦветТекста</dcscor:parameter> + <dcscor:value xsi:type="v8ui:Color">style:РольБезИсполнителей</dcscor:value> + </dcscor:item> + </appearance> + </item> +</ConditionalAppearance> diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Form.form b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Form.form new file mode 100644 index 000000000..3798f651d --- /dev/null +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Form.form @@ -0,0 +1,987 @@ +<?xml version="1.0" encoding="UTF-8"?> +<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormField"> + <name>ТипПолучателейРассылки</name> + <id>106</id> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>ТипПолучателейРассылки</segments> + </dataPath> + <extendedTooltip> + <name>ТипПолучателейРассылкиРасширеннаяПодсказка</name> + <id>108</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ТипПолучателейРассылкиКонтекстноеМеню</name> + <id>107</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <editMode>Enter</editMode> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> + <items xsi:type="form:FormField"> + <name>ВидПочтовогоАдресаПолучателей</name> + <id>41</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>ВидПочтовогоАдресаПолучателей</segments> + </dataPath> + <handlers> + <event>OnChange</event> + <name>ВидПочтовогоАдресаПолучателейПриИзменении</name> + </handlers> + <extendedTooltip> + <name>ВидПочтовогоАдресаПолучателейРасширеннаяПодсказка</name> + <id>43</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ВидПочтовогоАдресаПолучателейКонтекстноеМеню</name> + <id>42</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <markRequiredComplete>true</markRequiredComplete> + <editMode>Enter</editMode> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <width>30</width> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> + <wrap>true</wrap> + <createButton>false</createButton> + <quickChoice>true</quickChoice> + <choiceFoldersAndItems>Items</choiceFoldersAndItems> + <autoMarkIncomplete>true</autoMarkIncomplete> + <incompleteChoiceMode>OnActivate</incompleteChoiceMode> + <typeDomainEnabled>true</typeDomainEnabled> + <choiceParameterLinks> + <name>Отбор.Родитель</name> + <datapath xsi:type="form:DataPath"> + <segments>ГруппаКонтакнойИнформацииТипаПолучателей</segments> + </datapath> + </choiceParameterLinks> + <choiceParameters> + <name>Отбор.Тип</name> + <value xsi:type="form:FormChoiceListDesTimeValue"> + <value xsi:type="core:ReferenceValue"> + <value>Enum.ТипыКонтактнойИнформации.EnumValue.АдресЭлектроннойПочты</value> + </value> + </value> + </choiceParameters> + <textSize>Normal</textSize> + <choiceHistoryOnInput>DontUse</choiceHistoryOnInput> + </extInfo> + </items> + <items xsi:type="form:FormGroup"> + <name>НастройкаСпискаПолучателей</name> + <id>1</id> + <items xsi:type="form:Table"> + <name>Получатели</name> + <id>64</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Получатели</segments> + </dataPath> + <defaultItem>true</defaultItem> + <titleLocation>None</titleLocation> + <excludedCommands>Change</excludedCommands> + <excludedCommands>Copy</excludedCommands> + <excludedCommands>EndEdit</excludedCommands> + <items xsi:type="form:FormGroup"> + <name>ПолучательНаименованиеИПочта</name> + <id>78</id> + <items xsi:type="form:FormField"> + <name>ПолучателиПолучатель</name> + <id>68</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Получатели.Получатель</segments> + </dataPath> + <extendedTooltip> + <name>ПолучателиПолучательРасширеннаяПодсказка</name> + <id>70</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ПолучателиПолучательКонтекстноеМеню</name> + <id>69</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <width>19</width> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + <typeLink> + <datapath xsi:type="form:DataPath"> + <segments>ТипПолучателейРассылки</segments> + </datapath> + </typeLink> + </extInfo> + </items> + <items xsi:type="form:FormField"> + <name>ПолучателиТЗАдрес</name> + <id>80</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Получатели.Адрес</segments> + </dataPath> + <extendedTooltip> + <name>ПолучателиТЗАдресРасширеннаяПодсказка</name> + <id>82</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ПолучателиТЗАдресКонтекстноеМеню</name> + <id>81</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <editMode>Auto</editMode> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <width>20</width> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Получатель наименование и почта</value> + + + ru + Получатель наименование и почта + + false + + ПолучательНаименованиеИПочтаРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + ПолучателиИсключен + 71 + true + true + + true + + + Получатели.Исключен + + + ПолучателиИсключенРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + + ПолучателиИсключенКонтекстноеМеню + 72 + true + + CheckBoxField + Auto + true + Left + true + + + + ПолучателиКоманднаяПанель + 66 + + Подобрать + 74 + true + true + + true + + + ПодобратьРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + Form.Command.ПолучателиПодобрать + Normal + Auto + true + true + UserCmds + Auto + + + ВставитьИзБуфераОбмена + 95 + true + true + + true + + + ВставитьИзБуфераОбменаРасширеннаяПодсказка + 96 + Label + true + true + + Left + + + Form.Command.ВставитьИзБуфераОбмена + Normal + Auto + true + true + UserCmds + Auto + + + ПолучателиДобавить + 97 + true + true + + true + + + ПолучателиДобавитьРасширеннаяПодсказка + 98 + Label + true + true + + Left + + + Form.Item.Получатели.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ГруппаКоманднаяПанельПолучатели + 99 + true + true + + true + + + ru + Группа командная панель получатели + + + ГруппаКоманднаяПанельПолучателиРасширеннаяПодсказка + 100 + Label + true + true + + Left + + + + Item.Получатели + + + + ГруппаКоманднаяПанельФормы + 104 + true + true + + true + + + <key>ru</key> + <value>Группа командная панель формы</value> + + + ru + Группа командная панель получатели + + + ГруппаКоманднаяПанельФормыРасширеннаяПодсказка + 105 + Label + true + true + + Left + + + + Form + + + Left + + + BeforeAddRow + ПолучателиПередНачаломДобавления + + + ChoiceProcessing + ПолучателиОбработкаВыбора + + + ПолучателиСтрокаПоиска + 111 + + ПолучателиСтрокаПоискаРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + ПолучателиСтрокаПоискаКонтекстноеМеню + 112 + true + + Получатели + + true + + + + ПолучателиСостояниеПросмотра + 114 + + ПолучателиСостояниеПросмотраРасширеннаяПодсказка + 116 + Label + true + true + + Left + + + + ПолучателиСостояниеПросмотраКонтекстноеМеню + 115 + true + + ViewStatusAddition + Получатели + + true + + + + ПолучателиУправлениеПоиском + 117 + + ПолучателиУправлениеПоискомРасширеннаяПодсказка + 119 + Label + true + true + + Left + + + + ПолучателиУправлениеПоискомКонтекстноеМеню + 118 + true + + SearchControlAddition + Получатели + + true + + + + ПолучателиРасширеннаяПодсказка + 67 + Label + true + true + + Left + + + + ПолучателиКонтекстноеМеню + 65 + true + + true + true + true + true + true + MultiRow +
    true
    + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + true + true + + Получатели.ИндексКартинки + + + CommonPicture.СостоянияПользователей + + None + None + None + true + + + true + true + + true + + + <key>ru</key> + <value>Получатели</value> + + + ru + + + 20 + + НастройкаСпискаПолучателейРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаКоманднаяПанель + 47 + + ОК + 49 + true + true + + true + + + ОКРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + Auto + + + ФормаЗакрыть + 39 + + <key>ru</key> + <value>Отмена</value> + + true + true + + true + + + ФормаЗакрытьРасширеннаяПодсказка + 40 + Label + true + true + + Left + + + Form.StandardCommand.Close + Normal + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа командная панель</value> + + + ГруппаКоманднаяПанельРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + CommandBar + + Right + + + + ФормаКоманднаяПанель + -1 + Left + + + BeforeClose + ПередЗакрытием + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Help + Ignore + No + RestoreValues + Retry + SaveValues + Yes + 50 + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + ВидПочтовогоАдресаПолучателей + + <key>ru</key> + <value>Почтовый адрес</value> + + 3 + + CatalogRef.ВидыКонтактнойИнформации + + + true + + + true + + + + ТипПолучателейРассылки + + <key>ru</key> + <value>Получатели</value> + + 5 + + TypeDescription + + + true + + + true + + + + ПутьФормыВыбора + + <key>ru</key> + <value>Путь формы выбора</value> + + 1 + + String + + + + true + + + true + + + + Получатели + + <key>ru</key> + <value>Получатели</value> + + 2 + + ValueTable + + + true + + + true + + + Получатель + + <key>ru</key> + <value>Получатель</value> + + 1 + + CatalogRef + + + true + + + true + + + + Исключен + + <key>ru</key> + <value>Исключен</value> + + 2 + + Boolean + + + true + + + true + + + + Адрес + + <key>ru</key> + <value>Адрес</value> + + 3 + + String + + + + true + + + true + + + + ИндексКартинки + + <key>ru</key> + <value>Индекс картинки</value> + + 4 + + Number + + 1 + + + + true + + + true + + + + + ИОМД + + <key>ru</key> + <value>ИОМД</value> + + 4 + + + true + + + true + + + + ГруппаКонтакнойИнформацииТипаПолучателей + + <key>ru</key> + <value>Группа контакной информации типа получателей</value> + + 6 + + CatalogRef.ВидыКонтактнойИнформации + + + true + + + true + + + + ПолучателиПодобрать + + <key>ru</key> + <value>Подобрать</value> + + 1 + + ru + Подобрать + + + true + + + + ПолучателиПодобрать + + + Auto + Auto + + + ОК + + <key>ru</key> + <value>ОК</value> + + 2 + + ru + ОК + + + true + + + + ОК + + + Auto + Auto + + + ВставитьИзБуфераОбмена + + <key>ru</key> + <value>Вставить из буфера обмена</value> + + 3 + + ru + Вставить из буфера обмена + + + true + + + CommonPicture.ЗаполнитьФорму + + + + ВставитьИзБуфераОбмена + + + Auto + Auto + + + ТипПолучателейРассылки + + TypeDescription + + + + ТаблицаТиповПолучателей + + String + + + + + ПутьФормыВыбора + + String + + + + + ВидПочтовогоАдресаПолучателей + + CatalogRef.ВидыКонтактнойИнформации + + + + ГруппаКонтакнойИнформацииТипаПолучателей + + CatalogRef.ВидыКонтактнойИнформации + + + + Получатели + + + + НаименованиеРассылки + + String + + + + + + + + diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Help/ru.html new file mode 100644 index 000000000..ac121ec49 --- /dev/null +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Help/ru.html @@ -0,0 +1,13 @@ + +

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

    +

    Открывается из рассылки отчетов по гиперссылке Укажите получателей.

    +

    Список состоит из колонок:

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

    Выбор нескольких получателей

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

    Выбор одного получателя

    +
    • Выполните команду Еще (Все действия) - Добавить, выберите один элемент списка. Также можно найти эту команду в контекстном меню по правой кнопке мыши.

    Добавление из буфера обмена

    +
    • Нажмите кнопку , для того чтобы вставить в список данные из буфера обмена программы.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl new file mode 100644 index 000000000..aafab693f --- /dev/null +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ПолучателиРассылки/Module.bsl @@ -0,0 +1,299 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + ЗаполнитьЗначенияСвойств(ЭтотОбъект, Параметры, "ТипПолучателейРассылки, ВидПочтовогоАдресаПолучателей"); + Заголовок = Параметры.НаименованиеРассылки; + + Для Каждого СтрокаТаблицы Из Параметры.Получатели Цикл + НоваяСтрока = Получатели.Добавить(); + НоваяСтрока.Получатель = СтрокаТаблицы.Получатель; + НоваяСтрока.Исключен = СтрокаТаблицы.Исключен; + КонецЦикла; + + ЗаполнитьСведенияОТипеПолучателей(Отказ); + ЗаполнитьПочтовыеАдреса(); + + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда + Элементы.ВставитьИзБуфераОбмена.Видимость = Ложь; + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ВидПочтовогоАдресаПолучателейПриИзменении(Элемент) + ЗаполнитьПочтовыеАдреса(); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыПолучатели + +&НаКлиенте +Процедура ПолучателиПодобрать(Команда) + ОткрытьФормаДобавленияПолучателей(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФормаДобавленияПолучателей(ЭтоПодбор) + ВыбранныеПользователи = Новый Массив; + Для Каждого Строка Из Получатели Цикл + ВыбранныеПользователи.Добавить(Строка.Получатель); + КонецЦикла; + + ПараметрыФормыВыбора = Новый Структура; + + // Стандартные реквизиты формы выбора (см. Расширение управляемой формы для динамического списка) + ПараметрыФормыВыбора.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.ГруппыИЭлементы); + ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", ?(ЭтоПодбор, Ложь, Истина)); + ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина); + ПараметрыФормыВыбора.Вставить("МножественныйВыбор", ЭтоПодбор); + ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина); + + // Предполагаемые реквизиты + ПараметрыФормыВыбора.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + ПараметрыФормыВыбора.Вставить("ВыборГрупп", Истина); + ПараметрыФормыВыбора.Вставить("ВыборГруппПользователей", Истина); + + // Параметры открытия расширенной формы подбора + // (описание реквизитов см. в форме списка справочника Пользователи) + Если ЭтоПодбор Тогда + ПараметрыФормыВыбора.Вставить("РасширенныйПодбор", Истина); + ПараметрыФормыВыбора.Вставить("ЗаголовокФормыПодбора", НСтр("ru = 'Подбор получателей рассылки'")); + ПараметрыФормыВыбора.Вставить("ВыбранныеПользователи", ВыбранныеПользователи); + КонецЕсли; + + ОткрытьФорму(ПутьФормыВыбора, ПараметрыФормыВыбора, Элементы.Получатели); +КонецПроцедуры + +&НаКлиенте +Процедура ПолучателиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + ДобавитьПеретащитьПолучателя(ВыбранноеЗначение); +КонецПроцедуры + +&НаКлиенте +Процедура ПолучателиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Отказ = Истина; + ОткрытьФормаДобавленияПолучателей(Ложь); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОК(Команда) + Результат = Новый Структура; + Результат.Вставить("Получатели", Получатели); + Результат.Вставить("ВидПочтовогоАдресаПолучателей", ВидПочтовогоАдресаПолучателей); + Закрыть(Результат); +КонецПроцедуры + +&НаКлиенте +Процедура ВставитьИзБуфераОбмена(Команда) + ПараметрыПоиска = Новый Структура; + ПараметрыПоиска.Вставить("ОписаниеТипов", ТипПолучателейРассылки); + ПараметрыПоиска.Вставить("ПараметрыВыбора", Неопределено); + ПараметрыПоиска.Вставить("ПредставлениеПоля", "Получатели"); + ПараметрыПоиска.Вставить("Сценарий", "ПоискСсылок"); + + ПараметрыВыполнения = Новый Структура; + Обработчик = Новый ОписаниеОповещения("ВставитьИзБуфераОбменаЗавершение", ЭтотОбъект, ПараметрыВыполнения); + + МодульЗагрузкаДанныхИзФайлаКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЗагрузкаДанныхИзФайлаКлиент"); + МодульЗагрузкаДанныхИзФайлаКлиент.ПоказатьФормуЗаполненияСсылок(ПараметрыПоиска, Обработчик); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +//////////////////////////////////////////////////////////////////////////////// +// Клиент + +&НаКлиенте +Процедура ДобавитьПеретащитьПолучателя(ПолучательИлиНаборПолучателей) + // Удаление пользователей, которые были удалены в форме подбора или которые уже есть в списке. + Если ЭтоПодборПользователейИлиГрупп(ПолучательИлиНаборПолучателей) Тогда + Количество = Получатели.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + СтрокаПолучатель = Получатели.Получить(ОбратныйИндекс); + + ИндексВМассиве = ПолучательИлиНаборПолучателей.Найти(СтрокаПолучатель.Получатель); + Если ИндексВМассиве = Неопределено Тогда + Получатели.Удалить(СтрокаПолучатель); // Пользователь удален в форме подбора. + Иначе + ПолучательИлиНаборПолучателей.Удалить(ИндексВМассиве); // Пользователь уже есть в списке. + КонецЕсли; + КонецЦикла; + КонецЕсли; + + // Добавление выбранных строк. + МассивНовыхСтрок = ВыборПодборПеретаскиваниеВТабличнуюЧасть(ПолучательИлиНаборПолучателей); + + // Подготовка текста оповещения. + Если МассивНовыхСтрок.Количество() > 0 Тогда + Если МассивНовыхСтрок.Количество() = 1 Тогда + ЗаголовокОповещения = НСтр("ru = 'Получатель добавлен в рассылку'"); + Иначе + ЗаголовокОповещения = НСтр("ru = 'Получатели добавлены в рассылку'"); + КонецЕсли; + + ТекстОповещения = ""; + Для Каждого СтрокаПолучатель Из МассивНовыхСтрок Цикл + ТекстОповещения = ТекстОповещения + ?(ТекстОповещения = "", "", ", ") + СтрокаПолучатель; + КонецЦикла; + ПоказатьОповещениеПользователя(ЗаголовокОповещения,, ТекстОповещения, БиблиотекаКартинок.ВыполнитьЗадачу); + + ЗаполнитьПочтовыеАдреса(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ЭтоПодборПользователейИлиГрупп(ПолучательИлиНаборПолучателей) + Возврат ТипЗнч(ПолучательИлиНаборПолучателей) = Тип("Массив") + И ТипПолучателейРассылки.СодержитТип(Тип("СправочникСсылка.Пользователи")); +КонецФункции + +&НаКлиенте +Функция ВыборПодборПеретаскиваниеВТабличнуюЧасть(ВыбранноеЗначение) + МассивНовыхСтрок = Новый Массив; + Если ТипЗнч(ВыбранноеЗначение) = Тип("Массив") Тогда + Для Каждого ЭлементПодбора Из ВыбранноеЗначение Цикл + Результат = ВыборПодборПеретаскиваниеЭлементаВТабличнуюЧасть(ЭлементПодбора); + ДобавитьЗначениеВМассивОповещений(Результат, МассивНовыхСтрок); + КонецЦикла; + Иначе + Результат = ВыборПодборПеретаскиваниеЭлементаВТабличнуюЧасть(ВыбранноеЗначение); + ДобавитьЗначениеВМассивОповещений(Результат, МассивНовыхСтрок); + КонецЕсли; + Возврат МассивНовыхСтрок; +КонецФункции + +&НаКлиенте +Процедура ДобавитьЗначениеВМассивОповещений(Текст, МассивНовыхСтрок) + Если ЗначениеЗаполнено(Текст) Тогда + МассивНовыхСтрок.Добавить(Текст); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ВыборПодборПеретаскиваниеЭлементаВТабличнуюЧасть(ЗначениеРеквизита) + Отбор = Новый Структура("Получатель", ЗначениеРеквизита); + НайденныеСтроки = Получатели.НайтиСтроки(Отбор); + + Если НайденныеСтроки.Количество() > 0 Тогда + Возврат Неопределено; + КонецЕсли; + + Строка = Получатели.Добавить(); + Строка.Получатель = ЗначениеРеквизита; + + Возврат ЗначениеРеквизита; +КонецФункции + +&НаКлиенте +Процедура ВставитьИзБуфераОбменаЗавершение(Результат, Параметр) Экспорт + + Если Результат <> Неопределено Тогда + Для каждого Получатель Из Результат Цикл + НоваяСтрока = Получатели.Добавить(); + НоваяСтрока.Получатель = Получатель; + КонецЦикла; + + ЗаполнитьПочтовыеАдреса(); + КонецЕсли; + + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Вызов сервера, Сервер + +&НаСервере +Процедура ЗаполнитьПочтовыеАдреса() + НаборПараметров = "Ссылка, ВидПочтовогоАдресаПолучателей, Личная, Получатели, ТипПолучателейРассылки"; + + ПараметрыПолучателей = Новый Структура(НаборПараметров); + ЗаполнитьЗначенияСвойств(ПараметрыПолучателей, ЭтотОбъект); + ПараметрыПолучателей.Личная = Ложь; + ПараметрыПолучателей.ТипПолучателейРассылки = ИОМД; + ПараметрыПолучателей.Получатели = Получатели; + + РезультатВыполнения = РассылкаОтчетовВызовСервера.СформироватьСписокПолучателейРассылки(ПараметрыПолучателей); + Если Не РезультатВыполнения.БылиКритичныеОшибки Тогда + Для каждого Строка Из Получатели Цикл + ПочтаПолучателя = РезультатВыполнения.Получатели.Получить(Строка.Получатель); + Если ПочтаПолучателя <> Неопределено Тогда + Строка.Адрес = ПочтаПолучателя; + Иначе + Строка.Адрес = ""; + КонецЕсли; + Если Строка.Получатель.ЭтоГруппа ИЛИ ТипЗнч(Строка.Получатель) = Тип("СправочникСсылка.ГруппыПользователей") Тогда + Строка.ИндексКартинки = 3; + Иначе + Строка.ИндексКартинки = 1; + КонецЕсли; + КонецЦикла; + Иначе + Для каждого Строка Из Получатели Цикл + Если Строка.Получатель <> Неопределено Тогда + Если Строка.Получатель.ЭтоГруппа ИЛИ ТипЗнч(Строка.Получатель) = Тип("СправочникСсылка.ГруппыПользователей") Тогда + Строка.ИндексКартинки = 3; + Иначе + Строка.ИндексКартинки = 1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Сервер + +&НаСервере +Процедура УстановитьУсловноеОформление() + Инструкция = ВариантыОтчетов.ИнструкцияУсловногоОформления(); + Инструкция.Поля = "ПолучателиПолучатель, ПолучателиИсключен"; + Инструкция.Отборы.Вставить("Получатели.Исключен", Истина); + Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.ПросроченныеДанныеЦвет); + ВариантыОтчетов.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция); +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьСведенияОТипеПолучателей(Отказ) + ТаблицаТиповПолучателей = РассылкаОтчетовПовтИсп.ТаблицаТиповПолучателей(); + Найденные = ТаблицаТиповПолучателей.НайтиСтроки(Новый Структура("ТипПолучателей", ТипПолучателейРассылки)); + Если Найденные.Количество() = 1 Тогда + СтрокаПолучатель = Найденные[0]; + ИОМД = СтрокаПолучатель.ИОМД; + ПутьФормыВыбора = СтрокаПолучатель.ПутьФормыВыбора; + ГруппаКонтакнойИнформацииТипаПолучателей = СтрокаПолучатель.ГруппаКИ; + Иначе + Отказ = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) + Если Получатели.Количество() > 0 Тогда + Фильтр = Новый Структура("Исключен", Ложь); + КоличествоПолучателей = Получатели.НайтиСтроки(Фильтр).Количество(); + Если КоличествоПолучателей = 0 Тогда + Отказ = Истина; + ПоказатьПредупреждение(, НСтр("ru = 'Требуется указать хотя бы одного получателя'")); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Help/ru.html index 9375a6313..6ae7b0677 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Help/ru.html +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Help/ru.html @@ -1,2 +1,7 @@ - -

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

    \ No newline at end of file + +

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

    +

    Открывается из рассылки на вкладке Дополнительно в поле Группа.

    +

    Список по умолчанию выводится в виде дерева.

    +

    Ввод группы

    +
    • Нажмите Создать группу, введите необходимые поля.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Module.bsl index 0096bf812..b2786531d 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаВыбораГруппы/Module.bsl @@ -11,8 +11,7 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ЭтоГруппа", Истина, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаГруппы/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаГруппы/Help/ru.html index 9ed788007..9269dee40 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаГруппы/Help/ru.html +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаГруппы/Help/ru.html @@ -1 +1,6 @@ -Позволяет задать Наименование и Группу для группы рассылок отчетов. \ No newline at end of file + +

    Предназначена для ввода группы рассылок отчетов.

    +

    Сведения о группе

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

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Form.form index c168edc96..760eb6cb2 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Form.form @@ -1,5 +1,914 @@ + + ГруппаПользовательскихНастроек + 83 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 84 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 85 + + ВажныеКоманды + 89 + + ФормаСоздать + 91 + true + true + + true + + + ФормаСоздатьРасширеннаяПодсказка + 92 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСоздатьГруппу + 93 + true + true + + true + + + ФормаСоздатьГруппуРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + Form.StandardCommand.CreateFolder + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменить + 97 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 98 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 95 + true + true + + true + + + ФормаСкопироватьРасширеннаяПодсказка + 96 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Важные команды</value> + + + ru + Важные команды + + + ВажныеКомандыРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + + + + КомандыПоиска + 99 + + Найти + 101 + true + true + + true + + + НайтиРасширеннаяПодсказка + 102 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПоиск + 103 + true + true + + true + + + ОтменитьПоискРасширеннаяПодсказка + 104 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Команды поиска</value> + + + ru + Команды поиска + + + КомандыПоискаРасширеннаяПодсказка + 100 + Label + true + true + + Left + + + + + + ОбщиеКоманды + 87 + + ВыполнитьСейчас + 23 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ВыполнитьСейчасExtendedTooltip + 57 + Label + true + true + + Left + + + Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас + Normal + Auto + true + true + UserCmds + Auto + + + СобытияРассылки + 30 + true + true + + true + + + Items.Список.CurrentData.Ref + + + СобытияРассылкиExtendedTooltip + 58 + Label + true + true + + Left + + + Catalog.РассылкиОтчетов.Command.СобытияРассылки + Normal + Auto + true + true + UserCmds + Auto + + + ИзменитьВыделенные + 79 + true + true + + true + + + ИзменитьВыделенныеРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + Form.Command.ИзменитьВыделенные + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Общие команды</value> + + + ru + Общие команды + + + ОбщиеКомандыРасширеннаяПодсказка + 88 + Label + true + true + + Left + + + + + + ВторостепенныеКоманды + 127 + + ФормаПеренестиЭлемент + 135 + true + true + + true + + + ФормаПеренестиЭлементРасширеннаяПодсказка + 136 + Label + true + true + + Left + + + Form.StandardCommand.MoveItem + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУстановитьПометкуУдаления + 129 + true + true + + true + + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 130 + Label + true + true + + Left + + + Form.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУдалить + 131 + true + true + + true + + + ФормаУдалитьРасширеннаяПодсказка + 132 + Label + true + true + + Left + + + Form.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Второстепенные команды</value> + + + ru + Второстепенные команды + + + ВторостепенныеКомандыРасширеннаяПодсказка + 128 + Label + true + true + + Left + + + + + + ОсновныеКоманды + 22 + + ИзменитьФорму + 49 + true + true + + true + + + ИзменитьФормуРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + + ИзменитьСписок + 105 + + ФормаОбновить + 133 + true + true + + true + + + ФормаОбновитьРасширеннаяПодсказка + 134 + Label + true + true + + Left + + + Form.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + + + НастройкаСписка + 115 + + ФормаНастройкаСписка + 117 + true + true + + true + + + ФормаНастройкаСпискаРасширеннаяПодсказка + 118 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗагрузитьНастройки + 119 + true + true + + true + + + ФормаЗагрузитьНастройкиРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + Form.StandardCommand.LoadDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьНастройки + 121 + true + true + + true + + + ФормаСохранитьНастройкиРасширеннаяПодсказка + 122 + Label + true + true + + Left + + + Form.StandardCommand.SaveDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСтандартныеНастройки + 123 + true + true + + true + + + ФормаСтандартныеНастройкиРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + Form.StandardCommand.DynamicListStandardSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройка списка</value> + + + ru + Настройка списка + + + НастройкаСпискаРасширеннаяПодсказка + 116 + Label + true + true + + Left + + + + + + РежимПросмотраСписка + 113 + + ФормаИерархическийСписок + 107 + true + true + + true + + + ФормаИерархическийСписокРасширеннаяПодсказка + 108 + Label + true + true + + Left + + + Form.StandardCommand.HierarchicalList + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСписок + 137 + true + true + + true + + + ФормаСписокРасширеннаяПодсказка + 138 + Label + true + true + + Left + + + Form.StandardCommand.List + Normal + Auto + true + true + UserCmds + Auto + + + ФормаДерево + 111 + true + true + + true + + + ФормаДеревоРасширеннаяПодсказка + 112 + Label + true + true + + Left + + + Form.StandardCommand.Tree + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Режим просмотра</value> + + + ru + Режим просмотра списка + + + РежимПросмотраСпискаРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + Popup + + + StdPicture.ListViewMode + + Auto + Normal + + + + ФормаВывестиСписок + 125 + true + true + + true + + + ФормаВывестиСписокРасширеннаяПодсказка + 126 + Label + true + true + + Left + + + Form.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список</value> + + + ru + Изменить список + + + ИзменитьСписокРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + true + true + + true + + + <key>ru</key> + <value>Основные команды</value> + + + ru + Основные команды + + + ОсновныеКомандыРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + + Form + + + + Справка + 37 + true + true + + true + + + СправкаРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 86 + Label + true + true + + Left + + + CommandBar + + Left + + Список 1 @@ -50,6 +959,43 @@ true + + Подготовлена + 14 + true + true + + true + + + Список.Подготовлена + + None + + ПодготовленаExtendedTooltip + 71 + Label + true + true + + Left + + + + ПодготовленаКонтекстноеМеню + 15 + true + + CheckBoxField + Enter + true + + CommonPicture.Успешно + + Left + true + + ПоследнийЗапускСКартинкой 31 @@ -99,10 +1045,6 @@ ПоследнийЗапуск 24 - - <key>ru</key> - <value>Выполнена</value> - true true @@ -289,9 +1231,7 @@ 12 true true - - true - + Список.Автор @@ -320,39 +1260,6 @@ true - - Подготовлена - 14 - true - true - - true - - - Список.Подготовлена - - - ПодготовленаExtendedTooltip - 71 - Label - true - true - - Left - - - - ПодготовленаКонтекстноеМеню - 15 - true - - CheckBoxField - Enter - true - Left - true - - Состояние 26 @@ -530,10 +1437,10 @@
    СписокСтрокаПоиска - 83 + 139 СписокСтрокаПоискаРасширеннаяПодсказка - 85 + 141 Label true true @@ -543,7 +1450,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 84 + 140 true Список @@ -553,10 +1460,10 @@ СписокСостояниеПросмотра - 86 + 142 СписокСостояниеПросмотраРасширеннаяПодсказка - 88 + 144 Label true true @@ -566,7 +1473,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 87 + 143 true ViewStatusAddition @@ -577,10 +1484,10 @@ СписокУправлениеПоиском - 89 + 145 СписокУправлениеПоискомРасширеннаяПодсказка - 91 + 147 Label true true @@ -590,7 +1497,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 90 + 146 true SearchControlAddition @@ -735,178 +1642,12 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ГруппаКнопок - 22 - - ИзменитьФорму - 49 - true - true - - true - - - ИзменитьФормуРасширеннаяПодсказка - 56 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа кнопок</value> - - - ru - Группа кнопок - - - ГруппаКнопокExtendedTooltip - 55 - Label - true - true - - Left - - - - Item.Список - - - - ВыполнитьСейчас - 23 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ВыполнитьСейчасExtendedTooltip - 57 - Label - true - true - - Left - - - Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас - Normal - Auto - true - true - UserCmds - Auto - - - СобытияРассылки - 30 - true - true - - true - - - Items.Список.CurrentData.Ref - - - СобытияРассылкиExtendedTooltip - 58 - Label - true - true - - Left - - - Catalog.РассылкиОтчетов.Command.СобытияРассылки - Normal - Auto - true - true - UserCmds - Auto - - - Справка - 37 - true - true - - true - - - СправкаРасширеннаяПодсказка - 59 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - - ИзменитьВыделенные - 79 - true - true - - true - - - ИзменитьВыделенныеРасширеннаяПодсказка - 80 - Label - true - true - - Left - - - Form.Command.ИзменитьВыделенные - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left @@ -991,26 +1732,22 @@ Рассылки.АдресОтвета, Рассылки.Архивировать, Рассылки.ИмяАрхива, - ВЫБОР - КОГДА Рассылки.Подготовлена = ЛОЖЬ - ТОГДА ДАТАВРЕМЯ(1, 1, 1) - ИНАЧЕ Состояние.ПоследнийЗапуск - КОНЕЦ КАК ПоследнийЗапуск, + Состояние.ПоследнийЗапуск, ВЫБОР КОГДА Состояние.ПоследнийЗапуск ЕСТЬ NULL - ИЛИ Рассылки.Подготовлена = ЛОЖЬ - ТОГДА -1 + ИЛИ Рассылки.ПометкаУдаления = ИСТИНА + ТОГДА 0 КОГДА Состояние.ПоследнийЗапуск = &ПустаяДата ТОГДА 0 КОГДА НЕ Состояние.Выполнена ТОГДА 1 КОГДА Состояние.СОшибками ТОГДА 1 - ИНАЧЕ 2 + ИНАЧЕ 0 КОНЕЦ КАК ИндексКартинкиПоследнегоЗапуска, ВЫБОР КОГДА Состояние.ПоследнийЗапуск ЕСТЬ NULL - ИЛИ Рассылки.Подготовлена = ЛОЖЬ + ИЛИ Рассылки.ПометкаУдаления = ИСТИНА ТОГДА "" КОГДА Состояние.ПоследнийЗапуск = &ПустаяДата ТОГДА "Новая" diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Module.bsl index 341e00113..faf8663c4 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаСписка/Module.bsl @@ -11,22 +11,22 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ВыполнятьПоРасписанию", Ложь, ВидСравненияКомпоновкиДанных.Равно, , Ложь, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПериодичностьРасписания", , ВидСравненияКомпоновкиДанных.Равно, , Ложь, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Подготовлена", Ложь, ВидСравненияКомпоновкиДанных.Равно, , Ложь, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Автор", , ВидСравненияКомпоновкиДанных.Равно, , Ложь, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); ЗаполнитьПараметрСписка("РежимВыбора"); ЗаполнитьПараметрСписка("ВыборГруппИЭлементов"); @@ -50,6 +50,9 @@ Элементы.ИзменитьВыделенныеСписок.Видимость = Ложь; КонецЕсли; + Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда + Элементы.СобытияРассылки.Видимость = Ложь; + КонецЕсли; КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Form.form index 160fe5abb..c4f9b575d 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Form.form @@ -87,10 +87,6 @@ ru Группа рассылка подготовлена - - ru - Группа рассылка подготовлена - ГруппаРассылкаПодготовленаExtendedTooltip 700 @@ -262,10 +258,6 @@ ru Виды рассылки личная - - ru - Виды рассылки личная - ВидыРассылкиЛичнаяExtendedTooltip 706 @@ -350,10 +342,6 @@ ru Виды рассылки для получателей - - ru - Виды рассылки для получателей - ВидыРассылкиДляПолучателейExtendedTooltip 708 @@ -379,10 +367,6 @@ ru Виды рассылки - - ru - Виды рассылки - 35 false false @@ -401,37 +385,6 @@ Auto - - Декорация10 - 682 - true - true - - true - - - Декорация10ExtendedTooltip - 710 - Label - true - true - - Left - - - - Декорация10КонтекстноеМеню - 683 - true - - Label - true - true - true - - Left - - true true @@ -441,10 +394,6 @@ ru Группа вид рассылки - - ru - Группа вид рассылки - ГруппаВидРассылкиExtendedTooltip 703 @@ -518,7 +467,6 @@ Left true - 20 true true true @@ -584,6 +532,7 @@ true UserCmds Auto + InAdditionalSubmenu true true @@ -608,34 +557,19 @@ Left - Popup - - - StdPicture.CreateListItem - - Auto - Normal - + - - ОтчетыГруппаСтандартныхДействий - 354 + + ОтчетыУдалить + 1002 true true true - - <key>ru</key> - <value>Отчеты группа стандартных действий</value> - - - ru - Отчеты группа стандартных действий - - ОтчетыГруппаСтандартныхДействийExtendedTooltip - 716 + ОтчетыУдалитьРасширеннаяПодсказка + 1003 Label true true @@ -643,9 +577,96 @@ Left - - Item.Отчеты - + Form.Item.Отчеты.StandardCommand.Delete + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + КомандыПеремещения + 1004 + + ОтчетыПереместитьВверх + 998 + true + true + + true + + + ОтчетыПереместитьВверхРасширеннаяПодсказка + 999 + Label + true + true + + Left + + + Form.Item.Отчеты.StandardCommand.MoveUp + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ОтчетыПереместитьВниз + 1000 + true + true + + true + + + ОтчетыПереместитьВнизРасширеннаяПодсказка + 1001 + Label + true + true + + Left + + + Form.Item.Отчеты.StandardCommand.MoveDown + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Команды перемещения</value> + + + ru + Команды перемещения + + + КомандыПеремещенияРасширеннаяПодсказка + 1005 + Label + true + true + + Left + + + ОтчетыСформироватьОтчет @@ -673,6 +694,36 @@ UserCmds Auto + + КоманднаяПанельОтчеты + 354 + true + true + + true + + + <key>ru</key> + <value>Командная панель отчеты</value> + + + ru + Командная панель отчеты + + + КоманднаяПанельОтчетыРасширеннаяПодсказка + 716 + Label + true + true + + Left + + + + Item.Отчеты + + Left @@ -697,10 +748,10 @@ ОтчетыСтрокаПоиска - 977 + 1011 ОтчетыСтрокаПоискаРасширеннаяПодсказка - 979 + 1013 Label true true @@ -710,7 +761,7 @@ ОтчетыСтрокаПоискаКонтекстноеМеню - 978 + 1012 true Отчеты @@ -720,10 +771,10 @@ ОтчетыСостояниеПросмотра - 980 + 1014 ОтчетыСостояниеПросмотраРасширеннаяПодсказка - 982 + 1016 Label true true @@ -733,7 +784,7 @@ ОтчетыСостояниеПросмотраКонтекстноеМеню - 981 + 1015 true ViewStatusAddition @@ -744,10 +795,10 @@ ОтчетыУправлениеПоиском - 983 + 1017 ОтчетыУправлениеПоискомРасширеннаяПодсказка - 985 + 1019 Label true true @@ -757,7 +808,7 @@ ОтчетыУправлениеПоискомКонтекстноеМеню - 984 + 1018 true SearchControlAddition @@ -785,6 +836,7 @@ true true true + 3 true true MultiRow @@ -810,21 +862,1324 @@ true - - Декорация4 - 655 + + ГруппаНастройкиОтчетов + 987 + + СтраницыНастроекОтчета + 249 + + ПустаяСтраница + 252 + + ПустыеНастройки + 657 + true + true + + true + + + НастройкиТекущегоОтчета + + None + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + SortListAsc + SortListDesc + + НастройкиТекущегоОтчетаИспользование1 + 660 + + <key>ru</key> + <value> </value> + + true + true + + true + + + НастройкиТекущегоОтчета.Использование + + + НастройкиТекущегоОтчетаИспользование1ExtendedTooltip + 724 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаИспользование1КонтекстноеМеню + 661 + true + + CheckBoxField + Auto + true + Left + true + + + + НастройкиТекущегоОтчетаПредставление1 + 662 + + <key>ru</key> + <value>Настройка</value> + + true + true + + true + + + НастройкиТекущегоОтчета.Представление + + true + + НастройкиТекущегоОтчетаПредставление1ExtendedTooltip + 725 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаПредставление1КонтекстноеМеню + 663 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + НастройкиТекущегоОтчетаЗначение1 + 664 + true + true + + true + + + НастройкиТекущегоОтчета.Значение + + + НастройкиТекущегоОтчетаЗначение1ExtendedTooltip + 726 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаЗначение1КонтекстноеМеню + 665 + true + + InputField + true + Left + true + + true + true + true + true + true + true + Normal + + + Items.НастройкиТекущегоОтчета.CurrentData.Тип + + + + + + ПустыеНастройкиКоманднаяПанель + 659 + Left + + + ПустыеНастройкиСтрокаПоиска + 1029 + + ПустыеНастройкиСтрокаПоискаРасширеннаяПодсказка + 1031 + Label + true + true + + Left + + + + ПустыеНастройкиСтрокаПоискаКонтекстноеМеню + 1030 + true + + ПустыеНастройки + + true + + + + ПустыеНастройкиСостояниеПросмотра + 1032 + + ПустыеНастройкиСостояниеПросмотраРасширеннаяПодсказка + 1034 + Label + true + true + + Left + + + + ПустыеНастройкиСостояниеПросмотраКонтекстноеМеню + 1033 + true + + ViewStatusAddition + ПустыеНастройки + + true + + + + ПустыеНастройкиУправлениеПоиском + 1035 + + ПустыеНастройкиУправлениеПоискомРасширеннаяПодсказка + 1037 + Label + true + true + + Left + + + + ПустыеНастройкиУправлениеПоискомКонтекстноеМеню + 1036 + true + + SearchControlAddition + ПустыеНастройки + + true + + + + ПустыеНастройкиExtendedTooltip + 723 + Label + true + true + + Left + + + + ПустыеНастройкиКонтекстноеМеню + 658 + + true + true + true + true + true + MultiRow +
    true
    + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + + НастройкиТекущегоОтчета.ИндексКартинки + + + CommonPicture.ПиктограммыЭлементов + + None + None + None + true + +
    + true + true + + true + + + <key>ru</key> + <value>Пустая страница</value> + + + ru + Пустая страница + + + ПустаяСтраницаExtendedTooltip + 722 + Label + true + true + + Left + + + Page + + Vertical + auto + +
    + + СтраницаКомпоновщик + 250 + + КомпоновщикНастроекПользовательскиеНастройки + 187 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings + + None + Change + EndEdit + HierarchicalList + List + Tree + UseFieldAsValue + + КомпоновщикНастроекПользовательскиеНастройкиИспользование + 581 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.Use + + None + + КомпоновщикНастроекПользовательскиеНастройкиИспользованиеExtendedTooltip + 729 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиИспользованиеКонтекстноеМеню + 582 + true + + CheckBoxField + true + Left + true + + + + КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок + 583 + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройки + 584 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.SettingPicture + + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройкиExtendedTooltip + 731 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройкиКонтекстноеМеню + 585 + true + + PictureField + Enter + Left + + true + true + true + true + + + 1 + + + + + КомпоновщикНастроекПользовательскиеНастройкиНастройка + 586 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.Setting + + + КомпоновщикНастроекПользовательскиеНастройкиНастройкаExtendedTooltip + 732 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиНастройкаКонтекстноеМеню + 587 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонокExtendedTooltip + 730 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + КомпоновщикНастроекПользовательскиеНастройкиВидСравнения + 588 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.ComparisonType + + + КомпоновщикНастроекПользовательскиеНастройкиВидСравненияExtendedTooltip + 733 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиВидСравненияКонтекстноеМеню + 589 + true + + InputField + true + Left + true + + true + true + true + true + true + true + Normal + + + + КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок1 + 590 + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначения + 591 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.ValuePicture + + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначенияExtendedTooltip + 735 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначенияКонтекстноеМеню + 592 + true + + PictureField + Enter + Left + + true + true + true + true + + + 1 + + + + + КомпоновщикНастроекПользовательскиеНастройкиЗначение + 593 + true + true + + true + + + КомпоновщикНастроекКД.UserSettings.Value + + true + + КомпоновщикНастроекПользовательскиеНастройкиЗначениеExtendedTooltip + 736 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиЗначениеКонтекстноеМеню + 594 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + OnActivate + true + true + Normal + + + true + true + + true + + + КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок1ExtendedTooltip + 734 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчета + 595 + true + true + + + КомпоновщикНастроекКД.UserSettings.EditInReportForm + + + КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчетаExtendedTooltip + 737 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчетаКонтекстноеМеню + 596 + true + + CheckBoxField + true + Left + true + + + + КомпоновщикНастроекПользовательскиеНастройкиКоманднаяПанель + 189 + + КомпоновщикНастроекПользовательскиеНастройкиУстановитьФлажки + 951 + true + true + + true + + + КомпоновщикНастроекПользовательскиеНастройкиУстановитьФлажкиРасширеннаяПодсказка + 952 + Label + true + true + + Left + + + Form.Item.КомпоновщикНастроекПользовательскиеНастройки.StandardCommand.CheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + КомпоновщикНастроекПользовательскиеНастройкиСнятьФлажки + 953 + true + true + + true + + + КомпоновщикНастроекПользовательскиеНастройкиСнятьФлажкиРасширеннаяПодсказка + 954 + Label + true + true + + Left + + + Form.Item.КомпоновщикНастроекПользовательскиеНастройки.StandardCommand.UncheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ИспользоватьПолучателяРассылкиВНастройкеОтчета1 + 945 + true + true + + true + + + ИспользоватьПолучателяРассылкиВНастройкеОтчета1РасширеннаяПодсказка + 946 + Label + true + true + + Left + + + Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета + Normal + Auto + true + true + UserCmds + Auto + + Left + true + + + OnChange + КомпоновщикНастроекПользовательскиеНастройкиПриИзменении + + + КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоиска + 1049 + + КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаРасширеннаяПодсказка + 1051 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаКонтекстноеМеню + 1050 + true + + КомпоновщикНастроекПользовательскиеНастройки + + true + + + + КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотра + 1052 + + КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраРасширеннаяПодсказка + 1054 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраКонтекстноеМеню + 1053 + true + + ViewStatusAddition + КомпоновщикНастроекПользовательскиеНастройки + + true + + + + КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоиском + 1055 + + КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомРасширеннаяПодсказка + 1057 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомКонтекстноеМеню + 1056 + true + + SearchControlAddition + КомпоновщикНастроекПользовательскиеНастройки + + true + + + + КомпоновщикНастроекПользовательскиеНастройкиExtendedTooltip + 728 + Label + true + true + + Left + + + + КомпоновщикНастроекПользовательскиеНастройкиКонтекстноеМеню + 188 + + ИспользоватьПолучателяРассылкиВНастройкеОтчета2 + 949 + true + true + + true + + + ИспользоватьПолучателяРассылкиВНастройкеОтчета2РасширеннаяПодсказка + 950 + Label + true + true + + Left + + + Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета + Normal + Auto + true + true + UserCmds + Auto + + true + + HierarchicalList + true + true + true + true + true + MultiRow +
    true
    + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + None + None + None + true + All + Show +
    + true + true + + true + + + <key>ru</key> + <value>Страница компоновщик</value> + + + ru + Страница компоновщик + + + СтраницаКомпоновщикExtendedTooltip + 727 + Label + true + true + + Left + + + Page + + auto + +
    + + СтраницаНастройкиТекущегоОтчета + 251 + + НастройкиТекущегоОтчета + 234 + true + true + + true + + + НастройкиТекущегоОтчета + + None + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + SelectAll + SortListAsc + SortListDesc + + НастройкиТекущегоОтчетаИспользование + 245 + + <key>ru</key> + <value> </value> + + true + true + + true + + + НастройкиТекущегоОтчета.Использование + + + НастройкиТекущегоОтчетаИспользованиеExtendedTooltip + 740 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаИспользованиеКонтекстноеМеню + 246 + true + + CheckBoxField + Auto + true + Left + true + + + + НастройкиТекущегоОтчетаПредставление + 239 + + <key>ru</key> + <value>Настройка</value> + + true + true + + true + + + НастройкиТекущегоОтчета.Представление + + true + + НастройкиТекущегоОтчетаПредставлениеExtendedTooltip + 741 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаПредставлениеКонтекстноеМеню + 240 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + НастройкиТекущегоОтчетаЗначение + 243 + true + true + + true + + + НастройкиТекущегоОтчета.Значение + + + OnChange + НастройкиТекущегоОтчетаЗначениеПриИзменении + + + НастройкиТекущегоОтчетаЗначениеExtendedTooltip + 742 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаЗначениеКонтекстноеМеню + 244 + true + + InputField + true + Left + true + + true + true + true + true + true + true + Normal + + + Items.НастройкиТекущегоОтчета.CurrentData.Тип + + + + + + НастройкиТекущегоОтчетаКоманднаяПанель + 236 + + ИспользоватьПолучателяРассылкиВНастройкеОтчета3 + 943 + true + true + + true + + + ИспользоватьПолучателяРассылкиВНастройкеОтчета3РасширеннаяПодсказка + 944 + Label + true + true + + Left + + + Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета + Normal + Auto + true + true + UserCmds + Auto + + Left + + + OnChange + НастройкиТекущегоОтчетаПриИзменении + + + НастройкиТекущегоОтчетаСтрокаПоиска + 1073 + + НастройкиТекущегоОтчетаСтрокаПоискаРасширеннаяПодсказка + 1075 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаСтрокаПоискаКонтекстноеМеню + 1074 + true + + НастройкиТекущегоОтчета + + true + + + + НастройкиТекущегоОтчетаСостояниеПросмотра + 1076 + + НастройкиТекущегоОтчетаСостояниеПросмотраРасширеннаяПодсказка + 1078 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаСостояниеПросмотраКонтекстноеМеню + 1077 + true + + ViewStatusAddition + НастройкиТекущегоОтчета + + true + + + + НастройкиТекущегоОтчетаУправлениеПоиском + 1079 + + НастройкиТекущегоОтчетаУправлениеПоискомРасширеннаяПодсказка + 1081 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаУправлениеПоискомКонтекстноеМеню + 1080 + true + + SearchControlAddition + НастройкиТекущегоОтчета + + true + + + + НастройкиТекущегоОтчетаExtendedTooltip + 739 + Label + true + true + + Left + + + + НастройкиТекущегоОтчетаКонтекстноеМеню + 235 + + ИспользоватьПолучателяРассылкиВНастройкеОтчета4 + 947 + true + true + + true + + + ИспользоватьПолучателяРассылкиВНастройкеОтчета4РасширеннаяПодсказка + 948 + Label + true + true + + Left + + + Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета + Normal + Auto + true + true + UserCmds + Auto + + + true + true + true + true + true + MultiRow +
    true
    + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + + НастройкиТекущегоОтчета.ИндексКартинки + + + CommonPicture.ПиктограммыЭлементов + + None + None + None + true + +
    + true + true + + true + + + <key>ru</key> + <value>Страница настройки текущего отчета</value> + + + ru + Страница настройки текущего отчета + + + СтраницаНастройкиТекущегоОтчетаExtendedTooltip + 738 + Label + true + true + + Left + + + Page + + auto + +
    + true + true + + true + + + <key>ru</key> + <value>Настройки отчета:</value> + + + ru + Страницы настроек отчета + + + СтраницыНастроекОтчетаExtendedTooltip + 721 + Label + true + true + + Left + + + Pages + + Auto + +
    + true + true + + true + <key>ru</key> <value>Настройки отчета:</value> - true - true - - true - - Декорация4ExtendedTooltip - 720 + ГруппаНастройкиОтчетовРасширеннаяПодсказка + 988 Label true true @@ -832,1316 +2187,14 @@ Left - - Декорация4КонтекстноеМеню - 656 - true - - Label - true - true - - Left - -
    - - СтраницыНастроекОтчета - 249 - - ПустаяСтраница - 252 - - ПустыеНастройки - 657 - true - true - - true - - - НастройкиТекущегоОтчета - - None - Add - CancelSearch - Change - Copy - CopyToClipboard - Delete - EndEdit - Find - MoveDown - MoveUp - OutputList - SelectAll - SortListAsc - SortListDesc - - НастройкиТекущегоОтчетаИспользование1 - 660 - - <key>ru</key> - <value> </value> - - true - true - - true - - - НастройкиТекущегоОтчета.Использование - - - НастройкиТекущегоОтчетаИспользование1ExtendedTooltip - 724 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаИспользование1КонтекстноеМеню - 661 - true - - CheckBoxField - Auto - true - Left - true - - - - НастройкиТекущегоОтчетаПредставление1 - 662 - - <key>ru</key> - <value>Настройка</value> - - true - true - - true - - - НастройкиТекущегоОтчета.Представление - - true - - НастройкиТекущегоОтчетаПредставление1ExtendedTooltip - 725 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаПредставление1КонтекстноеМеню - 663 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - НастройкиТекущегоОтчетаЗначение1 - 664 - true - true - - true - - - НастройкиТекущегоОтчета.Значение - - - НастройкиТекущегоОтчетаЗначение1ExtendedTooltip - 726 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаЗначение1КонтекстноеМеню - 665 - true - - InputField - true - Left - true - - true - true - true - true - true - true - Normal - - - Items.НастройкиТекущегоОтчета.CurrentData.Тип - - - - - - ПустыеНастройкиКоманднаяПанель - 659 - Left - - - ПустыеНастройкиСтрокаПоиска - 995 - - ПустыеНастройкиСтрокаПоискаРасширеннаяПодсказка - 997 - Label - true - true - - Left - - - - ПустыеНастройкиСтрокаПоискаКонтекстноеМеню - 996 - true - - ПустыеНастройки - - true - - - - ПустыеНастройкиСостояниеПросмотра - 998 - - ПустыеНастройкиСостояниеПросмотраРасширеннаяПодсказка - 1000 - Label - true - true - - Left - - - - ПустыеНастройкиСостояниеПросмотраКонтекстноеМеню - 999 - true - - ViewStatusAddition - ПустыеНастройки - - true - - - - ПустыеНастройкиУправлениеПоиском - 1001 - - ПустыеНастройкиУправлениеПоискомРасширеннаяПодсказка - 1003 - Label - true - true - - Left - - - - ПустыеНастройкиУправлениеПоискомКонтекстноеМеню - 1002 - true - - SearchControlAddition - ПустыеНастройки - - true - - - - ПустыеНастройкиExtendedTooltip - 723 - Label - true - true - - Left - - - - ПустыеНастройкиКонтекстноеМеню - 658 - - true - true - true - true - true - MultiRow -
    true
    - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - - НастройкиТекущегоОтчета.ИндексКартинки - - - CommonPicture.ПиктограммыЭлементов - - None - None - None - true - -
    - true - true - - true - - - <key>ru</key> - <value>Пустая страница</value> - - - ru - Пустая страница - - - ПустаяСтраницаExtendedTooltip - 722 - Label - true - true - - Left - - - Page - - Vertical - auto - -
    - - СтраницаКомпоновщик - 250 - - КомпоновщикНастроекПользовательскиеНастройки - 187 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings - - None - Change - EndEdit - HierarchicalList - List - Tree - UseFieldAsValue - - КомпоновщикНастроекПользовательскиеНастройкиИспользование - 581 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.Use - - None - - КомпоновщикНастроекПользовательскиеНастройкиИспользованиеExtendedTooltip - 729 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиИспользованиеКонтекстноеМеню - 582 - true - - CheckBoxField - true - Left - true - - - - КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок - 583 - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройки - 584 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.SettingPicture - - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройкиExtendedTooltip - 731 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаНастройкиКонтекстноеМеню - 585 - true - - PictureField - Enter - Left - - true - true - true - true - - - 1 - - - - - КомпоновщикНастроекПользовательскиеНастройкиНастройка - 586 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.Setting - - - КомпоновщикНастроекПользовательскиеНастройкиНастройкаExtendedTooltip - 732 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиНастройкаКонтекстноеМеню - 587 - true - - InputField - Enter - true - Left - true - - 15 - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонокExtendedTooltip - 730 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - КомпоновщикНастроекПользовательскиеНастройкиВидСравнения - 588 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.ComparisonType - - - КомпоновщикНастроекПользовательскиеНастройкиВидСравненияExtendedTooltip - 733 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиВидСравненияКонтекстноеМеню - 589 - true - - InputField - true - Left - true - - true - true - true - true - true - true - Normal - - - - КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок1 - 590 - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначения - 591 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.ValuePicture - - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначенияExtendedTooltip - 735 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиКартинкаЗначенияКонтекстноеМеню - 592 - true - - PictureField - Enter - Left - - true - true - true - true - - - 1 - - - - - КомпоновщикНастроекПользовательскиеНастройкиЗначение - 593 - true - true - - true - - - КомпоновщикНастроекКД.UserSettings.Value - - true - - КомпоновщикНастроекПользовательскиеНастройкиЗначениеExtendedTooltip - 736 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиЗначениеКонтекстноеМеню - 594 - true - - InputField - Enter - true - Left - true - - 15 - true - true - true - true - true - OnActivate - true - true - Normal - - - true - true - - true - - - КомпоновщикНастроекПользовательскиеНастройкиГруппаКолонок1ExtendedTooltip - 734 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчета - 595 - true - true - - - КомпоновщикНастроекКД.UserSettings.EditInReportForm - - - КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчетаExtendedTooltip - 737 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиРедактированиеВФормеОтчетаКонтекстноеМеню - 596 - true - - CheckBoxField - true - Left - true - - - - КомпоновщикНастроекПользовательскиеНастройкиКоманднаяПанель - 189 - - КомпоновщикНастроекПользовательскиеНастройкиУстановитьФлажки - 951 - true - true - - true - - - КомпоновщикНастроекПользовательскиеНастройкиУстановитьФлажкиРасширеннаяПодсказка - 952 - Label - true - true - - Left - - - Form.Item.КомпоновщикНастроекПользовательскиеНастройки.StandardCommand.CheckAll - Normal - Auto - true - true - UserCmds - Auto - - - КомпоновщикНастроекПользовательскиеНастройкиСнятьФлажки - 953 - true - true - - true - - - КомпоновщикНастроекПользовательскиеНастройкиСнятьФлажкиРасширеннаяПодсказка - 954 - Label - true - true - - Left - - - Form.Item.КомпоновщикНастроекПользовательскиеНастройки.StandardCommand.UncheckAll - Normal - Auto - true - true - UserCmds - Auto - - - ИспользоватьПолучателяРассылкиВНастройкеОтчета1 - 945 - true - true - - true - - - ИспользоватьПолучателяРассылкиВНастройкеОтчета1РасширеннаяПодсказка - 946 - Label - true - true - - Left - - - Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета - Normal - Auto - true - true - UserCmds - Auto - - Left - true - - - OnChange - КомпоновщикНастроекПользовательскиеНастройкиПриИзменении - - - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоиска - 1015 - - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаРасширеннаяПодсказка - 1017 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаКонтекстноеМеню - 1016 - true - - КомпоновщикНастроекПользовательскиеНастройки - - true - - - - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотра - 1018 - - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраРасширеннаяПодсказка - 1020 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраКонтекстноеМеню - 1019 - true - - ViewStatusAddition - КомпоновщикНастроекПользовательскиеНастройки - - true - - - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоиском - 1021 - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомРасширеннаяПодсказка - 1023 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомКонтекстноеМеню - 1022 - true - - SearchControlAddition - КомпоновщикНастроекПользовательскиеНастройки - - true - - - - КомпоновщикНастроекПользовательскиеНастройкиExtendedTooltip - 728 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиКонтекстноеМеню - 188 - - ИспользоватьПолучателяРассылкиВНастройкеОтчета2 - 949 - true - true - - true - - - ИспользоватьПолучателяРассылкиВНастройкеОтчета2РасширеннаяПодсказка - 950 - Label - true - true - - Left - - - Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета - Normal - Auto - true - true - UserCmds - Auto - - true - - HierarchicalList - true - true - true - true - true - MultiRow -
    true
    - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - true - true - None - None - None - true - All - Show -
    - true - true - - true - - - <key>ru</key> - <value>Страница компоновщик</value> - - - ru - Страница компоновщик - - - СтраницаКомпоновщикExtendedTooltip - 727 - Label - true - true - - Left - - - Page - - auto - -
    - - СтраницаНастройкиТекущегоОтчета - 251 - - НастройкиТекущегоОтчета - 234 - true - true - - true - - - НастройкиТекущегоОтчета - - None - Add - CancelSearch - Change - Copy - CopyToClipboard - Delete - EndEdit - Find - MoveDown - MoveUp - SelectAll - SortListAsc - SortListDesc - - НастройкиТекущегоОтчетаИспользование - 245 - - <key>ru</key> - <value> </value> - - true - true - - true - - - НастройкиТекущегоОтчета.Использование - - - НастройкиТекущегоОтчетаИспользованиеExtendedTooltip - 740 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаИспользованиеКонтекстноеМеню - 246 - true - - CheckBoxField - Auto - true - Left - true - - - - НастройкиТекущегоОтчетаПредставление - 239 - - <key>ru</key> - <value>Настройка</value> - - true - true - - true - - - НастройкиТекущегоОтчета.Представление - - true - - НастройкиТекущегоОтчетаПредставлениеExtendedTooltip - 741 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаПредставлениеКонтекстноеМеню - 240 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - НастройкиТекущегоОтчетаЗначение - 243 - true - true - - true - - - НастройкиТекущегоОтчета.Значение - - - OnChange - НастройкиТекущегоОтчетаЗначениеПриИзменении - - - НастройкиТекущегоОтчетаЗначениеExtendedTooltip - 742 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаЗначениеКонтекстноеМеню - 244 - true - - InputField - true - Left - true - - true - true - true - true - true - true - Normal - - - Items.НастройкиТекущегоОтчета.CurrentData.Тип - - - - - - НастройкиТекущегоОтчетаКоманднаяПанель - 236 - - ИспользоватьПолучателяРассылкиВНастройкеОтчета3 - 943 - true - true - - true - - - ИспользоватьПолучателяРассылкиВНастройкеОтчета3РасширеннаяПодсказка - 944 - Label - true - true - - Left - - - Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета - Normal - Auto - true - true - UserCmds - Auto - - Left - - - OnChange - НастройкиТекущегоОтчетаПриИзменении - - - НастройкиТекущегоОтчетаСтрокаПоиска - 1039 - - НастройкиТекущегоОтчетаСтрокаПоискаРасширеннаяПодсказка - 1041 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаСтрокаПоискаКонтекстноеМеню - 1040 - true - - НастройкиТекущегоОтчета - - true - - - - НастройкиТекущегоОтчетаСостояниеПросмотра - 1042 - - НастройкиТекущегоОтчетаСостояниеПросмотраРасширеннаяПодсказка - 1044 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаСостояниеПросмотраКонтекстноеМеню - 1043 - true - - ViewStatusAddition - НастройкиТекущегоОтчета - - true - - - - НастройкиТекущегоОтчетаУправлениеПоиском - 1045 - - НастройкиТекущегоОтчетаУправлениеПоискомРасширеннаяПодсказка - 1047 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаУправлениеПоискомКонтекстноеМеню - 1046 - true - - SearchControlAddition - НастройкиТекущегоОтчета - - true - - - - НастройкиТекущегоОтчетаExtendedTooltip - 739 - Label - true - true - - Left - - - - НастройкиТекущегоОтчетаКонтекстноеМеню - 235 - - ИспользоватьПолучателяРассылкиВНастройкеОтчета4 - 947 - true - true - - true - - - ИспользоватьПолучателяРассылкиВНастройкеОтчета4РасширеннаяПодсказка - 948 - Label - true - true - - Left - - - Form.Command.ИспользоватьПолучателяРассылкиВНастройкеОтчета - Normal - Auto - true - true - UserCmds - Auto - - - true - true - true - true - true - MultiRow -
    true
    - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - - НастройкиТекущегоОтчета.ИндексКартинки - - - CommonPicture.ПиктограммыЭлементов - - None - None - None - true - -
    - true - true - - true - - - <key>ru</key> - <value>Страница настройки текущего отчета</value> - - - ru - Страница настройки текущего отчета - - - СтраницаНастройкиТекущегоОтчетаExtendedTooltip - 738 - Label - true - true - - Left - - - Page - - auto - -
    - true - true - - true - - - <key>ru</key> - <value>Страницы настроек отчета</value> - - - ru - Страницы настроек отчета - - - СтраницыНастроекОтчетаExtendedTooltip - 721 - Label - true - true - - Left - - - Pages - + UsualGroup + + Vertical + Auto + true + true + auto + Auto Auto
    @@ -2156,7 +2209,7 @@ ru - Отчеты + Выбор отчетов для рассылки СтраницаОтчетыExtendedTooltip @@ -2170,6 +2223,9 @@ Page + + StdPicture.Report + Vertical auto @@ -2262,6 +2318,7 @@ Left true + 11 true true false @@ -2340,10 +2397,6 @@ ru Страница время начала - - ru - Страница время начала - СтраницаВремяНачалаExtendedTooltip 749 @@ -2384,7 +2437,6 @@ UsualButton Form.Command.ИзменитьРасписание Normal - Auto true true UserCmds @@ -2399,10 +2451,6 @@ ru Страница изменить расписание - - ru - Страница изменить расписание - СтраницаИзменитьРасписаниеExtendedTooltip 751 @@ -2428,10 +2476,6 @@ ru Страницы время или изменить - - ru - Страницы время или изменить - СтраницыВремяИлиИзменитьExtendedTooltip 748 @@ -2447,37 +2491,6 @@ Auto
    - - Декорация9 - 527 - true - true - - true - - - Декорация9ExtendedTooltip - 753 - Label - true - true - - Left - - - - Декорация9КонтекстноеМеню - 528 - true - - Label - true - true - true - - Left - - ЗаполнитьРасписаниеПоШаблону 526 @@ -2499,7 +2512,6 @@ UsualButton Form.Command.ЗаполнитьРасписаниеПоШаблону Normal - Auto true true UserCmds @@ -2514,10 +2526,6 @@ ru Параметры выполнения по расписанию - - ru - Параметры выполнения по расписанию - ПараметрыВыполненияПоРасписаниюExtendedTooltip 746 @@ -2546,10 +2554,6 @@ ru Группа периодичность - - ru - Группа периодичность - ГруппаПериодичностьExtendedTooltip 744 @@ -2576,7 +2580,7 @@ СтраницаНеВыбрано 434 - Декорация5 + ДекорацияПустаяВРасписание 435 <key>ru</key> @@ -2588,7 +2592,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>Декорация5ExtendedTooltip</name> + <name>ДекорацияПустаяВРасписаниеРасширеннаяПодсказка</name> <id>757</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -2598,7 +2602,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>Декорация5КонтекстноеМеню</name> + <name>ДекорацияПустаяВРасписаниеКонтекстноеМеню</name> <id>436</id> <autoFill>true</autoFill> </contextMenu> @@ -2618,10 +2622,6 @@ <key>ru</key> <value>Страница не выбрано</value> - - ru - Страница не выбрано - СтраницаНеВыбраноExtendedTooltip 756 @@ -2690,7 +2690,7 @@ - Декорация6 + ДекорацияДней 441 <key>ru</key> @@ -2702,7 +2702,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>Декорация6ExtendedTooltip</name> + <name>ДекорацияДнейРасширеннаяПодсказка</name> <id>761</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -2712,7 +2712,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>Декорация6КонтекстноеМеню</name> + <name>ДекорацияДнейКонтекстноеМеню</name> <id>442</id> <autoFill>true</autoFill> </contextMenu> @@ -2732,10 +2732,6 @@ <key>ru</key> <value>Группа строка период повтора дней</value> - - ru - Группа строка период повтора дней - ГруппаСтрокаПериодПовтораДнейExtendedTooltip 759 @@ -2756,7 +2752,7 @@ - ПредставлениеРасписания1 + ПредставлениеРасписания 443 true true @@ -2768,7 +2764,7 @@ None - ПредставлениеРасписания1ExtendedTooltip + ПредставлениеРасписанияРасширеннаяПодсказка 762 Label true @@ -2778,7 +2774,7 @@ - ПредставлениеРасписания1КонтекстноеМеню + ПредставлениеРасписанияКонтекстноеМеню 444 true @@ -2808,10 +2804,6 @@ ru Страница ежедневно - - ru - Страница ежедневно - СтраницаЕжедневноExtendedTooltip 758 @@ -2833,26 +2825,102 @@ 445 ГруппаДниНедели - 446 - - Понедельник - 447 + 974 + + ГруппаДниНедели1 + 446 + + Понедельник + 447 + true + true + + true + + + Понедельник + + Right + + OnChange + ДниНеделиПриИзменении + + + ПонедельникExtendedTooltip + 765 + Label + true + true + + Left + + + + ПонедельникКонтекстноеМеню + 448 + true + + CheckBoxField + Enter + true + Left + true + + + + Суббота + 457 + true + true + + true + + + Суббота + + Right + + OnChange + ДниНеделиПриИзменении + + + СубботаExtendedTooltip + 770 + Label + true + true + + Left + + + + СубботаКонтекстноеМеню + 458 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Понедельник - - Right - - OnChange - ДниНеделиПриИзменении - + + <key>ru</key> + <value>Дни недели</value> + + + ru + Группа дни недели1 + - ПонедельникExtendedTooltip - 765 + ГруппаДниНедели1РасширеннаяПодсказка + 764 Label true true @@ -2860,37 +2928,111 @@ Left - - ПонедельникКонтекстноеМеню - 448 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - Вторник - 449 + + ГруппаДниНедели2 + 972 + + Вторник + 449 + true + true + + true + + + Вторник + + Right + + OnChange + ДниНеделиПриИзменении + + + ВторникExtendedTooltip + 766 + Label + true + true + + Left + + + + ВторникКонтекстноеМеню + 450 + true + + CheckBoxField + Enter + true + Left + true + + + + Воскресенье + 459 + true + true + + true + + + Воскресенье + + Right + + OnChange + ДниНеделиПриИзменении + + + ВоскресеньеExtendedTooltip + 771 + Label + true + true + + Left + + + + ВоскресеньеКонтекстноеМеню + 460 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Вторник - - Right - - OnChange - ДниНеделиПриИзменении - + + <key>ru</key> + <value>Группа дни недели2</value> + + + ru + Группа дни недели2 + - ВторникExtendedTooltip - 766 + ГруппаДниНедели2РасширеннаяПодсказка + 973 Label true true @@ -2898,37 +3040,73 @@ Left - - ВторникКонтекстноеМеню - 450 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - Среда - 451 + + ГруппаДниНедели3 + 976 + + Среда + 451 + true + true + + true + + + Среда + + Right + + OnChange + ДниНеделиПриИзменении + + + СредаExtendedTooltip + 767 + Label + true + true + + Left + + + + СредаКонтекстноеМеню + 452 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Среда - - Right - - OnChange - ДниНеделиПриИзменении - + + <key>ru</key> + <value>Группа дни недели3</value> + + + ru + Группа дни недели3 + - СредаExtendedTooltip - 767 + ГруппаДниНедели3РасширеннаяПодсказка + 977 Label true true @@ -2936,37 +3114,73 @@ Left - - СредаКонтекстноеМеню - 452 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - Четверг - 453 + + ГруппаДниНедели4 + 978 + + Четверг + 453 + true + true + + true + + + Четверг + + Right + + OnChange + ДниНеделиПриИзменении + + + ЧетвергExtendedTooltip + 768 + Label + true + true + + Left + + + + ЧетвергКонтекстноеМеню + 454 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Четверг - - Right - - OnChange - ДниНеделиПриИзменении - + + <key>ru</key> + <value>Группа дни недели4</value> + + + ru + Группа дни недели4 + - ЧетвергExtendedTooltip - 768 + ГруппаДниНедели4РасширеннаяПодсказка + 979 Label true true @@ -2974,37 +3188,73 @@ Left - - ЧетвергКонтекстноеМеню - 454 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - Пятница - 455 + + ГруппаДниНедели5 + 980 + + Пятница + 455 + true + true + + true + + + Пятница + + Right + + OnChange + ДниНеделиПриИзменении + + + ПятницаExtendedTooltip + 769 + Label + true + true + + Left + + + + ПятницаКонтекстноеМеню + 456 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Пятница - - Right - - OnChange - ДниНеделиПриИзменении - + + <key>ru</key> + <value>Группа дни недели5</value> + + + ru + Группа дни недели5 + - ПятницаExtendedTooltip - 769 + ГруппаДниНедели5РасширеннаяПодсказка + 981 Label true true @@ -3012,93 +3262,15 @@ Left - - ПятницаКонтекстноеМеню - 456 - true - - CheckBoxField - Enter - true - Left - true - - - - Суббота - 457 - true - true - - true - - - Суббота - - Right - - OnChange - ДниНеделиПриИзменении - - - СубботаExtendedTooltip - 770 - Label - true - true - - Left - - - - СубботаКонтекстноеМеню - 458 - true - - CheckBoxField - Enter - true - Left - true - - - - Воскресенье - 459 - true - true - - true - - - Воскресенье - - Right - - OnChange - ДниНеделиПриИзменении - - - ВоскресеньеExtendedTooltip - 771 - Label - true - true - - Left - - - - ВоскресеньеКонтекстноеМеню - 460 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + true true @@ -3106,16 +3278,13 @@ true - <key>ru</key> - <value>Дни недели</value> - - ru Группа дни недели - + + false - ГруппаДниНеделиExtendedTooltip - 764 + ГруппаДниНеделиРасширеннаяПодсказка + 975 Label true true @@ -3128,6 +3297,7 @@ Auto true true + Equal Auto Auto @@ -3185,10 +3355,6 @@ ru Страница еженедельно - - ru - Страница еженедельно - СтраницаЕженедельноExtendedTooltip 763 @@ -3212,11 +3378,11 @@ ГруппаСтрокаЕжемесячныхПараметров 464 - Декорация1 + ДекорацияКаждый 465 <key>ru</key> - <value>Каждый: </value> + <value>Каждый:</value> true true @@ -3224,7 +3390,7 @@ true - Декорация1ExtendedTooltip + ДекорацияКаждыйРасширеннаяПодсказка 775 Label true @@ -3234,7 +3400,7 @@ - Декорация1КонтекстноеМеню + ДекорацияКаждыйКонтекстноеМеню 466 true @@ -3292,7 +3458,7 @@ - Декорация7 + ДекорацияДеньМесяцаС 469 <key>ru</key> @@ -3304,7 +3470,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>Декорация7ExtendedTooltip</name> + <name>ДекорацияДеньМесяцаСРасширеннаяПодсказка</name> <id>777</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -3314,7 +3480,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>Декорация7КонтекстноеМеню</name> + <name>ДекорацияДеньМесяцаСКонтекстноеМеню</name> <id>470</id> <autoFill>true</autoFill> </contextMenu> @@ -3365,7 +3531,7 @@ </extInfo> </items> <items xsi:type="form:Decoration"> - <name>Декорация8</name> + <name>ДекорацияМесяца</name> <id>473</id> <title> <key>ru</key> @@ -3377,7 +3543,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>Декорация8ExtendedTooltip</name> + <name>ДекорацияМесяцаРасширеннаяПодсказка</name> <id>779</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -3387,7 +3553,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>Декорация8КонтекстноеМеню</name> + <name>ДекорацияМесяцаКонтекстноеМеню</name> <id>474</id> <autoFill>true</autoFill> </contextMenu> @@ -3407,10 +3573,6 @@ <key>ru</key> <value>Группа строка ежемесячных параметров</value> - - ru - Группа строка ежемесячных параметров - ГруппаСтрокаЕжемесячныхПараметровExtendedTooltip 774 @@ -3431,7 +3593,7 @@ - ГруппаМесяцы1 + ГруппаМесяцы 475 ГруппаКвартал1 @@ -3575,8 +3737,8 @@ UsualGroup + Vertical Auto - StrongSeparation true true auto @@ -3725,74 +3887,9 @@ UsualGroup - - Auto - StrongSeparation - true - true - auto - Auto - Auto - - - - ГруппаУстановитьПометки - 490 - - УстановитьПометки - 491 - true - true - - true - - - УстановитьПометкиExtendedTooltip - 790 - Label - true - true - - Left - - - Hyperlink - Form.Command.УстановитьПометки - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - Установить пометки - - - ГруппаУстановитьПометкиExtendedTooltip - 789 - Label - true - true - - Left - - - UsualGroup Vertical Auto - StrongSeparation true true auto @@ -3800,41 +3897,6 @@ Auto - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - ГруппаМесяцы1ExtendedTooltip - 780 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаМесяцы2 - 492 ГруппаКвартал3 493 @@ -3977,8 +4039,8 @@ UsualGroup + Vertical Auto - StrongSeparation true true auto @@ -4128,8 +4190,8 @@ UsualGroup + Vertical Auto - StrongSeparation true true auto @@ -4138,7 +4200,7 @@ - ГруппаСнятьПометки + ГруппаПометки 507 СнятьПометки @@ -4167,6 +4229,33 @@ UserCmds Auto + + УстановитьПометки + 491 + true + true + + true + + + УстановитьПометкиExtendedTooltip + 790 + Label + true + true + + Left + + + Hyperlink + Form.Command.УстановитьПометки + Normal + Auto + true + true + UserCmds + Auto + true true @@ -4178,10 +4267,10 @@ ru - Снять пометки + Группа пометки - ГруппаСнятьПометкиExtendedTooltip + ГруппаПометкиРасширеннаяПодсказка 800 Label true @@ -4194,7 +4283,6 @@ Vertical Auto - StrongSeparation true true auto @@ -4216,8 +4304,8 @@ - ГруппаМесяцы2ExtendedTooltip - 791 + ГруппаМесяцыРасширеннаяПодсказка + 780 Label true true @@ -4287,10 +4375,6 @@ ru Страница ежемесячно - - ru - Страница ежемесячно - СтраницаЕжемесячноExtendedTooltip 773 @@ -4363,10 +4447,6 @@ ru Страница произвольное - - ru - Страница произвольное - СтраницаПроизвольноеExtendedTooltip 803 @@ -4392,10 +4472,6 @@ ru Страницы периодичности - - ru - Страницы периодичности - СтраницыПериодичностиExtendedTooltip 755 @@ -4425,6 +4501,7 @@ Объект.Автор + Button OnChange АвторПриИзменении @@ -4461,46 +4538,6 @@ Normal - - РасшифровкаАвтора - 680 - - <key>ru</key> - <value>При выполнении по расписанию отчеты формируются с правами этого пользователя.</value> - - true - true - - true - - - РасшифровкаАвтораExtendedTooltip - 807 - Label - true - true - - Left - - - - РасшифровкаАвтораКонтекстноеМеню - 681 - true - - Label - true - 1 - true - true - false - - Style.ПоясняющийТекст - - - Left - - true true @@ -4510,10 +4547,6 @@ ru Группа автор - - ru - Группа автор - ГруппаАвторExtendedTooltip 805 @@ -4542,10 +4575,6 @@ ru Расписание - - ru - Страница расписание - СтраницаРасписаниеExtendedTooltip 743 @@ -4558,6 +4587,9 @@ Page + + StdPicture.ScheduledJob + Vertical auto @@ -4643,7 +4675,7 @@ Left true - 20 + 11 true true false @@ -5073,10 +5105,6 @@ ru Другие способы доставки - - ru - Другие способы доставки - ДругиеСпособыДоставкиExtendedTooltip 809 @@ -5100,27 +5128,97 @@ ДоставкаПоЭлектроннойПочте 668 - ГруппаИспользоватьЭлектроннуюПочту - 641 + ГруппаДоставкаПоЭлектроннойПочте + 985 + + ГруппаИспользоватьЭлектроннуюПочту + 641 + + ИспользоватьЭлектроннуюПочту + 559 + true + true + + true + + + Объект.ИспользоватьЭлектроннуюПочту + + Right + + OnChange + ИспользоватьЭлектроннуюПочтуПриИзменении + + + ИспользоватьЭлектроннуюПочтуExtendedTooltip + 823 + Label + true + true + + Left + + + + ИспользоватьЭлектроннуюПочтуКонтекстноеМеню + 560 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Группа использовать электронную почту</value> + + + ru + Группа использовать электронную почту + + + ГруппаИспользоватьЭлектроннуюПочтуExtendedTooltip + 822 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + - ИспользоватьЭлектроннуюПочту - 559 + ПолучателиРассылки + 982 true true true - Объект.ИспользоватьЭлектроннуюПочту + Получатели - Right - - OnChange - ИспользоватьЭлектроннуюПочтуПриИзменении - + None + Balloon - ИспользоватьЭлектроннуюПочтуExtendedTooltip - 823 + ПолучателиРассылкиРасширеннаяПодсказка + 984 Label true true @@ -5129,16 +5227,129 @@ - ИспользоватьЭлектроннуюПочтуКонтекстноеМеню - 560 + ПолучателиРассылкиКонтекстноеМеню + 983 true - CheckBoxField + LabelField Enter true Left true - + + + Click + ПолучателиРассылкиНажатие + + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа доставка по электронной почте</value> + + + ГруппаДоставкаПоЭлектроннойПочтеРасширеннаяПодсказка + 986 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаУчетнаяЗапись + 645 + + УчетнаяЗапись + 31 + true + true + + true + + + Объект.УчетнаяЗапись + + + УчетнаяЗаписьExtendedTooltip + 830 + Label + true + true + + Left + + + + УчетнаяЗаписьКонтекстноеМеню + 32 + true + + InputField + true + Auto + true + Left + true + + 21 + true + true + false + false + true + true + true + true + true + true + Normal + + + + ПроверитьЭлектроннуюПочту + 642 + true + true + + true + + + ПроверитьЭлектроннуюПочтуExtendedTooltip + 831 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьЭлектроннуюПочту + Normal + Auto + true + true + UserCmds + Auto ТолькоУведомления @@ -5149,6 +5360,10 @@ ТолькоУведомить 413 + + <key>ru</key> + <value>Отправлять только уведомления</value> + true true @@ -5158,6 +5373,7 @@ Объект.ТолькоУведомить Right + Button OnChange ТолькоУведомитьПриИзменении @@ -5309,123 +5525,10 @@ true - - <key>ru</key> - <value>Группа использовать электронную почту</value> - - - ru - Группа использовать электронную почту - - - ГруппаИспользоватьЭлектроннуюПочтуExtendedTooltip - 822 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаУчетнаяЗапись - 645 - - УчетнаяЗапись - 31 - true - true - - true - - - Объект.УчетнаяЗапись - - - УчетнаяЗаписьExtendedTooltip - 830 - Label - true - true - - Left - - - - УчетнаяЗаписьКонтекстноеМеню - 32 - true - - InputField - true - Auto - true - Left - true - - 21 - true - true - false - false - true - true - true - true - true - true - Normal - - - - ПроверитьЭлектроннуюПочту - 642 - true - true - - true - - - ПроверитьЭлектроннуюПочтуExtendedTooltip - 831 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьЭлектроннуюПочту - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - <key>ru</key> <value>Группа учетная запись</value> - - ru - Группа учетная запись - ГруппаУчетнаяЗаписьExtendedTooltip 829 @@ -5976,9 +6079,6 @@ Popup - - StdPicture.DataCompositionConditionalAppearance - Auto Normal @@ -6634,6 +6734,7 @@ ru Страницы текст письма HTML + true СтраницыТекстПисьмаHTMLExtendedTooltip 844 @@ -6918,9 +7019,6 @@ Popup - - StdPicture.DataCompositionConditionalAppearance - Auto Normal @@ -7353,10 +7451,7 @@ ru Страницы текст письма обычный текст - - ru - Страницы текст письма обычный текст - + true СтраницыТекстПисьмаОбычныйТекстExtendedTooltip 878 @@ -7386,6 +7481,7 @@ ru Страницы текст письма + true СтраницыТекстПисьмаExtendedTooltip 843 @@ -7410,10 +7506,6 @@ ru Тема и текст письма - - ru - Тема и текст письма - ТемаИТекстПисьмаExtendedTooltip 833 @@ -7434,554 +7526,6 @@ Auto - - НастройкаПолучателей - 385 - - ВидПочтовогоАдресаПолучателей - 571 - true - true - - true - - - Объект.ВидПочтовогоАдресаПолучателей - - - ВидПочтовогоАдресаПолучателейExtendedTooltip - 905 - Label - true - true - - Left - - - - ВидПочтовогоАдресаПолучателейКонтекстноеМеню - 572 - true - - InputField - true - Enter - true - Left - true - - - StartChoice - ВидПочтовогоАдресаПолучателейНачалоВыбора - - true - true - true - Items - true - true - OnActivate - true - true - - Отбор.Родитель - - ГруппаКонтакнойИнформацииТипаПолучателей - - - - Отбор.Тип - - - Enum.ТипыКонтактнойИнформации.EnumValue.АдресЭлектроннойПочты - - - - Normal - - - - Получатели - 39 - true - true - - true - - - Объект.Получатели - - None - CancelSearch - Copy - CopyToClipboard - EndEdit - Find - - ПолучателиГруппа1 - 970 - - ПолучателиПолучатель - 44 - true - true - - true - - - Объект.Получатели.Получатель - - - ПолучателиПолучательExtendedTooltip - 913 - Label - true - true - - Left - - - - ПолучателиПолучательКонтекстноеМеню - 45 - true - - InputField - true - Left - true - - true - true - true - true - true - true - true - Normal - - - ТипПолучателейРассылки - - - - - - ПолучателиАдрес - 967 - true - true - - true - - - Объект.Получатели.Адрес - - - ПолучателиАдресРасширеннаяПодсказка - 969 - Label - true - true - - Left - - - - ПолучателиАдресКонтекстноеМеню - 968 - true - - InputField - Auto - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - ПолучателиГруппа1РасширеннаяПодсказка - 971 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - ПолучателиИсключен - 666 - true - true - - true - - - Объект.Получатели.Исключен - - - ПолучателиИсключенExtendedTooltip - 914 - Label - true - true - - Left - - - - ПолучателиИсключенКонтекстноеМеню - 667 - true - - CheckBoxField - true - Left - true - - - - ПолучателиКоманднаяПанель - 41 - - ПолучателиПодобрать - 136 - true - true - - true - - - ПолучателиПодобратьExtendedTooltip - 906 - Label - true - true - - Left - - - Form.Command.ПолучателиПодобрать - Normal - Auto - true - true - UserCmds - Auto - - - ПолучателиУдалить - 134 - true - true - - true - - - ПолучателиУдалитьExtendedTooltip - 907 - Label - true - true - - Left - - - Form.Item.Получатели.StandardCommand.Delete - Normal - Picture - true - true - UserCmds - Auto - - - ПолучателиПереместитьВверх - 669 - true - true - - true - - - ПолучателиПереместитьВверхExtendedTooltip - 908 - Label - true - true - - Left - - - Form.Item.Получатели.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - ПолучателиПереместитьВниз - 670 - true - true - - true - - - ПолучателиПереместитьВнизExtendedTooltip - 909 - Label - true - true - - Left - - - Form.Item.Получатели.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - ПолучателиСортироватьСписокПоВозрастанию - 146 - true - true - - true - - - ПолучателиСортироватьСписокПоВозрастаниюExtendedTooltip - 910 - Label - true - true - - Left - - - Form.Item.Получатели.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПолучателиСортироватьСписокПоУбыванию - 147 - true - true - - true - - - ПолучателиСортироватьСписокПоУбываниюExtendedTooltip - 911 - Label - true - true - - Left - - - Form.Item.Получатели.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - Left - - - BeforeEditEnd - ПолучателиПередОкончаниемРедактирования - - - Drag - ПолучателиПеретаскивание - - - ChoiceProcessing - ПолучателиОбработкаВыбора - - - ПолучателиСтрокаПоиска - 1101 - - ПолучателиСтрокаПоискаРасширеннаяПодсказка - 1103 - Label - true - true - - Left - - - - ПолучателиСтрокаПоискаКонтекстноеМеню - 1102 - true - - Получатели - - true - - - - ПолучателиСостояниеПросмотра - 1104 - - ПолучателиСостояниеПросмотраРасширеннаяПодсказка - 1106 - Label - true - true - - Left - - - - ПолучателиСостояниеПросмотраКонтекстноеМеню - 1105 - true - - ViewStatusAddition - Получатели - - true - - - - ПолучателиУправлениеПоиском - 1107 - - ПолучателиУправлениеПоискомРасширеннаяПодсказка - 1109 - Label - true - true - - Left - - - - ПолучателиУправлениеПоискомКонтекстноеМеню - 1108 - true - - SearchControlAddition - Получатели - - true - - - - ПолучателиExtendedTooltip - 912 - Label - true - true - - Left - - - - ПолучателиКонтекстноеМеню - 40 - true - - true - true - true - true - true - MultiRow -
    true
    - 1 - 1 - AutoUse - true - true - false - true - Auto - Auto - true - true - true - None - None - None - true - -
    - true - true - - true - - - <key>ru</key> - <value>Получатели</value> - - - ru - - - 20 - - НастройкаПолучателейExtendedTooltip - 904 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - auto - Auto - Auto - -
    true true @@ -7991,10 +7535,6 @@ ru Параметры письма - - ru - Параметры письма - ПараметрыПисьмаExtendedTooltip 832 @@ -8041,7 +7581,6 @@ Vertical Auto - NormalSeparation true true Auto @@ -8059,7 +7598,7 @@ ru - Страница доставка + Спсобы доставки рассылки до получателей СтраницаДоставкаExtendedTooltip @@ -8073,6 +7612,9 @@ Page + + StdPicture.ExecuteTask + Vertical auto @@ -8120,6 +7662,7 @@ Clearing ФорматыПоУмолчаниюОчистка
    + 25 true true true @@ -8264,6 +7807,10 @@ Объект.Отчеты.ОтправлятьЕслиПустой + + OnChange + ФорматыОтчетовОтправлятьЕслиПустойПриИзменении + ФорматыОтчетовОтправлятьЕслиПустойExtendedTooltip 925 @@ -8286,6 +7833,46 @@ true + + ФорматыОтчетовНеОтправлятьПустой + 989 + true + + true + + + Объект.Отчеты.НеОтправлятьПустой + + + ru + Не отправлять отчет если он не содержит данных. + + + OnChange + ФорматыОтчетовНеОтправлятьПустойПриИзменении + + + ФорматыОтчетовНеОтправлятьПустойРасширеннаяПодсказка + 991 + Label + true + true + + Left + + + + ФорматыОтчетовНеОтправлятьПустойКонтекстноеМеню + 990 + true + + CheckBoxField + Auto + true + Left + true + + ФорматыОтчетовКоманднаяПанель 102 @@ -8344,10 +7931,10 @@ ФорматыОтчетовСтрокаПоиска - 1122 + 1136 ФорматыОтчетовСтрокаПоискаРасширеннаяПодсказка - 1124 + 1138 Label true true @@ -8357,7 +7944,7 @@ ФорматыОтчетовСтрокаПоискаКонтекстноеМеню - 1123 + 1137 true ФорматыОтчетов @@ -8367,10 +7954,10 @@ ФорматыОтчетовСостояниеПросмотра - 1125 + 1139 ФорматыОтчетовСостояниеПросмотраРасширеннаяПодсказка - 1127 + 1141 Label true true @@ -8380,7 +7967,7 @@ ФорматыОтчетовСостояниеПросмотраКонтекстноеМеню - 1126 + 1140 true ViewStatusAddition @@ -8391,10 +7978,10 @@ ФорматыОтчетовУправлениеПоиском - 1128 + 1142 ФорматыОтчетовУправлениеПоискомРасширеннаяПодсказка - 1130 + 1144 Label true true @@ -8404,7 +7991,7 @@ ФорматыОтчетовУправлениеПоискомКонтекстноеМеню - 1129 + 1143 true SearchControlAddition @@ -8570,10 +8157,6 @@ ru Кнопки форматов отчетов - - ru - Кнопки форматов отчетов - КнопкиФорматовОтчетовExtendedTooltip 926 @@ -8603,10 +8186,7 @@ ru Форматы отчетов и кнопки - - ru - Форматы отчетов и кнопки - + true ФорматыОтчетовИКнопкиExtendedTooltip 917 @@ -8787,18 +8367,28 @@ Left true + 20 true true + true true true true true Normal + + ru + Имя файла архива + ПарольАрхива 17 + + <key>ru</key> + <value>Пароль</value> + true true @@ -8828,6 +8418,7 @@ Left true + 12 true true true @@ -8835,6 +8426,10 @@ true true Normal + + ru + Пароль архива + true @@ -8846,10 +8441,6 @@ ru Параметры архивации в ZIP - - ru - - true ГруппаПараметрыАрхивацииВZIPExtendedTooltip @@ -8928,6 +8519,7 @@ Объект.СкрытыеКопии Right + Button ИспользоватьСкрытыеКопииExtendedTooltip 938 @@ -8959,10 +8551,6 @@ ru Параметры доставки по электронной почте - - ru - Дополнительные параметры рассылки по электронной почте - true ДополнительныеПараметрыРассылкиПоЭлектроннойПочтеExtendedTooltip @@ -8976,9 +8564,7 @@ UsualGroup - Vertical Auto - WeakSeparation true true auto @@ -9083,10 +8669,6 @@ ru Автор родитель - - ru - Группа автор родитель - ГруппаАвторРодительExtendedTooltip 942 @@ -9116,10 +8698,6 @@ ru Дополнительные параметры - - ru - Дополнительные параметры - true ДополнительныеПараметрыExtendedTooltip @@ -9135,7 +8713,6 @@ Vertical Auto - WeakSeparation true true auto @@ -9152,10 +8729,7 @@ ru Дополнительно - - ru - Страница дополнительно - + true СтраницаДополнительноExtendedTooltip 915 @@ -9251,16 +8825,83 @@ UserCmds Auto - - ФормаЗаписатьИЗакрыть - 963 + + ОбщиеКоманды + 994 + + ВыполнитьСейчас + 996 + true + true + + true + + + Объект.Ref + + + ВыполнитьСейчасРасширеннаяПодсказка + 997 + Label + true + true + + Left + + + Catalog.РассылкиОтчетов.Command.ВыполнитьСейчас + Normal + Auto + true + true + UserCmds + Auto + + + СобытияРассылки + 992 + true + true + + true + + + Объект.Ref + + + СобытияРассылкиРасширеннаяПодсказка + 993 + Label + true + true + + Left + + + Catalog.РассылкиОтчетов.Command.СобытияРассылки + Normal + Auto + true + true + UserCmds + Auto + + true true true + + <key>ru</key> + <value>Общие команды</value> + + + ru + Общие команды + - ФормаЗаписатьИЗакрытьРасширеннаяПодсказка - 964 + ОбщиеКомандыРасширеннаяПодсказка + 995 Label true true @@ -9268,49 +8909,26 @@ Left - Form.StandardCommand.WriteAndClose - Normal - Auto - true - true - UserCmds - Auto - - - ФормаЗаписать - 965 - true - - true - - - ФормаЗаписатьРасширеннаяПодсказка - 966 - Label - true - true - - Left - - - Form.StandardCommand.Write - Normal - Auto - true - true - UserCmds - Auto + - ФормаГруппа1 + Кнопки 959 true true true + + <key>ru</key> + <value>Кнопки</value> + + + ru + Кнопки + - ФормаГруппа1РасширеннаяПодсказка + КнопкиРасширеннаяПодсказка 960 Label true @@ -9324,7 +8942,7 @@ - ФормаСправка + Справка 961 true true @@ -9332,7 +8950,7 @@ true - ФормаСправкаРасширеннаяПодсказка + СправкаРасширеннаяПодсказка 962 Label true @@ -9360,6 +8978,8 @@ ПриСозданииНаСервере CustomizeForm + Write + WriteAndClose DontBlock true true @@ -9517,6 +9137,23 @@ true + + НеОтправлятьПустой + + <key>ru</key> + <value>Не отправлять пустой</value> + + 6 + + Boolean + + + true + + + true + + @@ -10025,23 +9662,6 @@ - - ГруппаКонтакнойИнформацииТипаПолучателей - - <key>ru</key> - <value>Группа контакной информации типа получателей</value> - - 4 - - CatalogRef.ВидыКонтактнойИнформации - - - true - - - true - - РассылкуРедактируетАвтор @@ -10833,32 +10453,24 @@ <common>true</common> </edit> </attributes> - <formCommands> - <name>ПолучателиПодобрать</name> + <attributes> + <name>Получатели</name> <title> <key>ru</key> - <value>Подобрать</value> + <value>Получатели</value> - 1 - - ru - Подобрать получателей рассылки - - + 57 + + String + + + true - - - StdPicture.Properties - - - - ПолучателиПодобрать - - - TextPicture - Auto - Auto - + + + true + + ДобавитьИзменитьШаблонДатыРассылки @@ -10935,7 +10547,7 @@ <name>ДобавитьОтчет</name> <title> <key>ru</key> - <value>Отчет</value> + <value>Подобрать</value> 5 @@ -10945,9 +10557,6 @@ true - - StdPicture.Report - ДобавитьОтчет @@ -10960,12 +10569,12 @@ ДобавитьДополнительныйОтчет <key>ru</key> - <value>Дополнительный отчет</value> + <value>Подобрать дополнительный отчет</value> 6 ru - Добавить дополнительный отчет + Подобрать дополнительный отчет true @@ -10995,15 +10604,11 @@ true - - StdPicture.ExecuteTask - ПроверитьПубликацию - TextPicture Auto Auto @@ -11159,7 +10764,7 @@ ЗаполнитьРасписаниеПоШаблону <key>ru</key> - <value>Заполнить расписание по шаблону</value> + <value>Заполнить по шаблону...</value> 14 @@ -11169,9 +10774,6 @@ true - - StdPicture.RestoreValues - ЗаполнитьРасписаниеПоШаблону @@ -11185,15 +10787,12 @@ ИзменитьРасписание <key>ru</key> - <value>Изменить расписание...</value> + <value>Изменить...</value> 15 true - - StdPicture.Change - ИзменитьРасписание @@ -11314,9 +10913,6 @@ true - - StdPicture.ExecuteTask - ПроверитьЭлектроннуюПочту diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Help/ru.html index 8e4a96934..652ed3c3a 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Help/ru.html @@ -1,77 +1,85 @@ - -

    Рассылки отчетов предназначены для автоматического формирования отчетов и доставки сформированных отчетов получателям.

    -

    Реквизиты:

    + +

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

    +

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

    +

    Основные сведения

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

    Отчеты

    +
    • На этой вкладке можно выбрать для рассылки один или несколько отчетов из списка с помощью кнопки Подобрать. +
    • С помощью кнопки Просмотр можно сформировать выбранный отчет. +
    • Настройки отчета - выводятся настройки отчета, с помощью флажков можно выбрать нужные настройки и указать значения, по которым будет выведен отчет. +
    • Если выбран вид рассылки Свой отчет для каждого получателя, то с помощью соответствующей кнопки для каждого отчета можно Указать получателя рассылки из соответствующего списка. +
    • В заголовке вкладки ведется количество отчетов, входящих в рассылку.

    Расписание

    +
    • +
      Для автоматической отправки отчетов с некоторым интервалом или в некоторые дни недели на вкладке можно описать, по каким дням, и в какое время программа должна отправлять эту рассылку. На основании каждой рассылки отчетов в программе формируются одноименные регламентные задания "Рассылка отчетов".
      +
    • +
      Включите флажок Выполнять по расписанию.
      +
    • +
      Имеется возможность автоматического составления расписания с помощью кнопки Заполнить по шаблону. Выберите нужное расписание из списка, например, в первый день месяца. Расписание заполнится автоматически.
      +
    • +
       Кроме этого, в программе предусмотрена возможность самостоятельно выбрать периодичность расписания (определяет частотность срабатывания рассылки, переключение данного параметра влияет на все настройки расписания):
      +
      • Ежедневно - рассылка будет выполняться с заданной частотой в днях. +
        • выберите Период повтора;
      • Еженедельно - по выбранным дням недели. +
        • Выберите дни недели с помощью флажков.
      • Ежемесячно - по выбранным месяцам в требуемый день месяца. +
        • Выберите месяцы с помощью флажков, укажите номер дня с начала или с конца месяца, в который будет производиться рассылка.
      • Произвольное - позволяет детально настроить каждый параметр расписания. Открывается окно Расписание для детальной разработки своего расписания. При этом необязательно заполнять его сразу, после закрытия окна становится доступной кнопка Изменить, по которой можно вернуться к настройке расписания в любое время. В этом случае Время начала настраивается также в окне Расписание.
    •  Напишите Время начала запуска рассылки. +
    • В поле Автор выберите пользователя из списка. По умолчанию программа выбирает в качестве автора текущего пользователя, который создает рассылку. +
      • При запуске по расписанию рассылка выполняется от имени автора.

    Доставка

    +
    • На вкладке описываются все возможные способы доставки настраиваемой рассылки. Содержимое вкладки может меняться, в зависимости от вида рассылки. +
    • Если выбрана личная рассылка автора, то доставка выполняется только по электронной почте по единственному адресу, который указывается в поле Почтовый адрес. +
    • Если выбран Свой отчет для каждого получателя, то доставка также выполняется только по электронной почте, но уже не одному, а нескольким получателям. Тип получателей выбирается в поле Получатели. Получатели для каждого отчета выбираются из соответствующего списка. +
    • Если выбраны Отчеты указанным получателям, то кроме доставки по почте появляется возможность сохранить (опубликовать) готовые отчеты. Для этого включите флажок Публиковать - признак необходимости публикации рассылки. Выберите соответствующее значение: +
      • В папку - отчеты будут сохранены в указанную папку подсистемы "Работа с файлами". +
      • В сетевой каталог - отчеты будут сохранены в выбранный сетевой каталог. Запись производится с сервера, поэтому рекомендуется указывать сетевой путь в формате UNC, например: \\server\folder\. Укажите адрес этого каталога в поле Windows (если вы работаете на компьютере под управлением этой операционной системы) или в поле Linux (если вы работаете на компьютере под управлением Linux). +
      • На FTP ресурс - отчеты будут сохранены на ftp-сервере. Заполните необходимые параметры.
    • Проверить - проверка публикации путем записи и удаления тестового файла. Тест считается успешным, если ошибок не возникло. +
    • Отправлять по электронной почте - признак использования электронной почты для отправки отчетов (или уведомлений). +
    • Укажите получателей - нажмите на гиперссылку, для того чтобы заполнить список получателей и исключений из получателей рассылки. Можно выбирать элементы или группы получателей. После заполнения гиперссылка принимает вид списка получателей: указывается первый получатель списка. +
    • В поле От  из списка учетных записей выберите учетную запись для отправки. +
    • Проверить - проверка учетной записи электронной почты путем отправки тестового сообщения. Тест считается успешным, если ошибок  не возникло. +
    • Если используются оба способа доставки (и публикация, и отправка по почте), то можно указать, что по почте нужно Отправлять только уведомление о том, что отчет сформирован. Сами отчеты не будут присоединяться к письму, а будут помещаться в каталог публикации. В этом случае письмо-уведомление будет содержать адрес, по которому находится сформированный отчет. +
    • После установки флажка Отправлять по электронной почте становятся доступными Тема и текст письма. Могут содержать шаблоны параметров рассылки. По умолчанию шаблон письма уже сформирован автоматически. Для добавления параметров в письмо нажмите Параметр, выберите нужное значение: +
      • [ДатаВыполнения] - дата рассылки. Параметр может быть указан в имени архива. +
      • +
        [Автор] - пользователь, запустивший рассылку.
        +
      • +
        [Получатель] - представление получателя рассылки. Доступен только для вида рассылки свой отчет для каждого получателя.
        +
      • +
        [НаименованиеРассылки] - наименование рассылки. Параметр может быть указан в имени архива.
        +
      • +
        [СформированныеОтчеты] - список отчетов и форматов, в которые они были сохранены.
        +
      • +
        [ЗаголовокСистемы] - заголовок информационной базы 1С:Предприятие для всех пользователей. Устанавливается в разделе Администрирование - Общие настройки.
        +
      • +
        [СпособДоставки] - представление ресурса, на котором был опубликован отчет.
    • +
      По умолчанию установлен формат письма HTML, можно изменить его на Обычный. В формате HTML доступны стандартные команды форматирования текста (часть из них размещена в виде кнопок, остальные можно найти в меню Еще или Все действия).

    Дополнительно

    +
    • Форматы сохранения отчетов (по умолчанию) - определяет форматы, в которых будут по умолчанию сохранены отчеты.  Выберите общие форматы для всех отчетов с помощью флажков. Можно выбрать несколько форматов. +
    • В таблице ниже для каждого отчета можно задать свой набор форматов в колонке Форматы. +
    • В колонке Отправлять пустой установите флажок для отправки сформированного отчета, даже если он пустой. По умолчанию флажок снят. Отчеты с графикой всегда считаются не пустыми. +
    • Установите флажок Архивировать в ZIP, для того чтобы архивировать сформированные отчеты в формате .zip. Рекомендуется включать архивацию, если отчеты отправляются по электронной почте, для снижения объема вложений.  +
      • Становится доступным поле Наименование архива (наименование архива формируется автоматически по указанному в поле шаблону). +
      • С помощью команды Параметр контекстного меню по правой кнопке мыши в поле Наименование архива можно изменить шаблон наименования. Для изменения доступны параметры: +
        • Дата рассылки; +
        • Наименование рассылки.
      • При необходимости напишите Пароль архива.
    • В поле Адрес ответа укажите E-mail адрес, на который будут высылаться ответы на рассылку. +
    • Включите флажок Отправлять письма через скрытые копии, для того чтобы получатели не знали, кто еще получает отчеты из данной рассылки. +
    • Группа - рассылки можно сгруппировать по различным признакам. Для того чтобы поместить рассылку в группу, выберите ее из списка.

    Выполнение рассылки

    +
    • +
      Нажмите Выполнить сейчас, для того чтобы выполнить рассылку от имени текущего пользователя. Рассылка будет выполнена, если у нее установлен флажок Подготовлена.

    Просмотр событий рассылки

    +
    • +
      Нажмите События рассылки, для того чтобы открыть журнал регистрации, предварительно отфильтровав его по событиям рассылки со времени последнего запуска.

    +

    Работа в клиент-серверном режиме

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

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

    -
  • Получатели
  • тип получателей рассылки, для которых будут отправлены отчеты.
    -
  • Почтовый адрес
  • вид почтового адреса получателей.
    -
  • Отчет и настройки
  • вариант отчета или дополнительный отчет и пользовательские настройки.

    Страница "Расписание":

    -

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

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

    -
  • Время начала
  • время запуска рассылки.
    При запуске по расписанию рассылка выполняется от имени автора. -

    Страница "Доставка":

    -

    Содержимое страницы может меняться, в зависимости от вида рассылки.

    - - - - - - - -
    -
  • Публиковать
  • признак необходимости публикации рассылки.
    -
    -

    В папку - отчеты будут сохранены в указанную папку подсистемы "Работа с файлами".
    В сетевой каталог - отчеты будут сохранены в каталог файловой системы. Запись производится с сервера, поэтому рекомендуется указывать сетевой путь в формате UNC, например: \\server\folder\.
    На FTP ресурс - отчеты будут сохранены на ftp сервере.

    -

    Подробнее - см. работа в клиент-серверном режиме.

    -
  • Проверить
  • проверка публикации путем записи и удаления тестового файла. Тест считается успешным если ошибок не возникло.
    -
  • Отправлять по электронной почте
  • признак использования электронной почты для отправки отчетов (или уведомлений).
    -
  • От
  • учетная запись для отправки.
    -
  • Проверить электронную почту
  • проверка учетной записи электронной почты путем отправки тестового сообщения. Тест считается успешным если ошибок не возникло.
    -
  • Включить (исключить) в рассылку
  • список получателей и исключений из получателей рассылки. Можно выбирать элементы или группы получателей.
    -
  • Тема и текст письма
  • могут содержать шаблоны параметров рассылки:
    -
    [ДатаВыполнения] - дата рассылки. Параметр может быть указан в имени архива.
    [Автор] - пользователь, запустивший рассылку.
    [Получатель] - представление получателя рассылки. Доступен только для вида рассылки свой отчет для каждого получателя.
    [НаименованиеРассылки] - наименование рассылки. Параметр может быть указан в имени архива.
    [СформированныеОтчеты] - список отчетов и форматов, в которые они были сохранены.
    [ЗаголовокСистемы] - заголовок информационной базы 1С:Предприятие для всех пользователей.
    [СпособДоставки] - представление ресурса, на котором был опубликован отчет.

    Страница "Дополнительно":

    -

    - - - - -
    -
  • Форматы сохранения отчетов
  • определяет форматы, в которых будут сохранены отчеты. Для каждого отчета можно задать свой набор форматов.
    -
  • Отправлять, если пустой
  • признак отправки сформированного отчета даже если он пустой. Отчеты с графикой всегда считаются не пустыми.
    -
  • Архивировать в ZIP
  • признак архивации сформированных отчетов. Рекомендуется включать архивацию если отчеты отправляются по электронной почте.
    -
  • Адрес ответа
  • E-mail адрес, на который будут высылаться ответы на рассылку.

    Команды:

    -

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

    Работа в клиент-серверном режиме:

    -

    -
    -

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

    -

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

    -

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

    -

    Поле сетевой каталог Linux предназначено для серверов 1С:Предприятия работающих под управлением ОС Linux. В этом поле можно указать только локальный путь, например /home/path. Чтобы использовать UNC путь, нужно сделать на него ссылку. Для этого под правами администратора (root) сделайте следующее:

    -

    mkdir folder
    --- вместо folder напишите имя каталога. например в каталоге /home делаем mkdir shared - создаст каталог shared с полным путем /home/shared.

    -

    mount -t cifs //server/share folder -o //domain/user, password=pwd
    - где //server/share - UNC путь к другому компьютеру , folder - путь каталога на Linux компьютере, например \home\shared, //domain/user - имя домена/пользователя, если нужно, pwd - пароль пользователя (если
    нужно).

    -

    Если имя и пароль не нужны, команда выглядит так:
    mount -t cifs //server/share folder

    -

    После этого в пути к тому указываем folder, например /home/shared

    -

    Подробнее об администрировании сервера 1С:Предприятия см. документацию к платформе 1С:Предприятие.

     

    -

    См. также: Рассылки отчетов, Общая информация о формах.

    -

     

    \ No newline at end of file +
    • При работе программы в клиент-серверном режиме необходимо иметь в виду, что рассылка выполняется на сервере 1С:Предприятия. +
    • Путь к одному ресурсу может отличаться для клиента и сервера, в зависимости от их сетевого расположения и операционных систем. +
    • Если сервер 1С:Предприятия работает под Windows, то необходимо убедиться, что сетевой каталог Windows доступен для чтения и записи пользователю операционной системы, от имени которого запущен сервер 1С:Предприятия. Если это не так, то необходимо дать этому пользователю необходимые права, или выбрать другого пользователя для запуска сервера 1С:Предприятия с необходимыми правами к сетевому каталогу. Эти же рекомендации актуальны и для доступа к ресурсам FTP и электронной почты. +
    • Поле сетевой каталог Linux предназначено для серверов 1С:Предприятия, работающих под управлением ОС Linux. В этом поле можно указать только локальный путь, например, /home/path. +
    • Для того чтобы использовать UNC путь, нужно сделать на него ссылку. Для этого под правами администратора (root) сделайте следующее: +
      • mkdir folder
        --- вместо folder напишите имя каталога. например в каталоге /home выполните команду mkdir shared, для того чтобы создать каталог shared с полным путем /home/shared. +
      • mount -t cifs //server/share folder -o //domain/user, password=pwd
        - где //server/share - UNC путь к другому компьютеру , folder - путь каталога на Linux компьютере, например \home\shared, //domain/user - имя домена/пользователя, если нужно, pwd - пароль пользователя (если
        нужно). +
      • Если имя и пароль не нужны, команда выглядит так:
        mount -t cifs //server/share folder +
      • После этого в пути к тому указываем folder, например /home/shared.
    • Подробнее об администрировании сервера 1С:Предприятия см. документацию к платформе 1С:Предприятие.

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl index 50d11ff33..d909b5374 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/Forms/ФормаЭлемента/Module.bsl @@ -2,6 +2,8 @@ &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) + ПовторноеЧтение = (Кэш <> Неопределено); + // Чтение хранилища значений Если ТекущийОбъект.ПисьмоВФорматеHTML Тогда СтруктураВложенийПисьмаВФорматеHTML = ТекущийОбъект.КартинкиПисьмаВФорматеHTML.Получить(); @@ -12,9 +14,15 @@ КонецЕсли; // Перезаполнение очищаемых данных формы при повторном чтении объекта из БД - Если Кэш <> Неопределено Тогда + Если ПовторноеЧтение Тогда ПрочитатьПользовательскоеПредставлениеФорматов(); + ПрочитатьРасписаниеРегламентногоЗадания(); КонецЕсли; + + Для Каждого Строка Из Объект.Отчеты Цикл + Строка.НеОтправлятьПустой = НЕ Строка.ОтправлятьЕслиПустой; + КонецЦикла; + КонецПроцедуры &НаСервере @@ -39,6 +47,10 @@ Элементы.ДругойСпособДоставки.СписокВыбора.Удалить(СпособДоставкиСетевойКаталог); КонецЕсли; + Если Не ПравоДоступа("ЖурналРегистрации", Метаданные) Тогда + Элементы.СобытияРассылки.Видимость = Ложь; + КонецЕсли; + ЗначениеКопирования = Параметры.ЗначениеКопирования; // Используется при загрузке и записи настроек выбранного отчета @@ -136,7 +148,7 @@ КонецЦикла; КонецЕсли; - // + // Вложения. Если СтруктураВложенийПисьмаВФорматеHTML = Неопределено Тогда СтруктураВложенийПисьмаВФорматеHTML = Новый Структура; КонецЕсли; @@ -171,6 +183,11 @@ ПравоВывода = ПравоДоступа("Вывод", Метаданные); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + Для Каждого Строка Из Объект.Отчеты Цикл + Строка.НеОтправлятьПустой = НЕ Строка.ОтправлятьЕслиПустой; + КонецЦикла; + КонецПроцедуры &НаКлиенте @@ -181,6 +198,7 @@ Если НЕ ПравоВывода Тогда ПоказатьПредупреждение(, НСтр("ru = 'Недостаточно прав на вывод информации. Рассылки отчетов не будут выполнены.'")); КонецЕсли; + СформироватьПредставлениеПолучателей(); КонецПроцедуры &НаКлиенте @@ -351,7 +369,10 @@ ТекущийОбъект.ТипПолучателейРассылки = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); КонецЕсли; - // Все операции с регламентными заданиями размещены в модуле объекта + // Все операции с регламентными заданиями размещены в модуле объекта. + Если Кэш.Перечисления.Периодичности[Объект.ПериодичностьРасписания] <> "Произвольное" Тогда + Расписание.ВремяКонца = Расписание.ВремяНачала + 600; + КонецЕсли; ТекущийОбъект.ДополнительныеСвойства.Вставить("Расписание", Расписание); КонецПроцедуры @@ -363,6 +384,10 @@ // Обновление изначальных значений реквизитов в кэше. ЗафиксироватьЗначенияРеквизитовДоИзменения(); + Для Каждого Строка Из Объект.Отчеты Цикл + Строка.НеОтправлятьПустой = НЕ Строка.ОтправлятьЕслиПустой; + КонецЦикла; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -504,7 +529,6 @@ СтрокаПолучатель = Найденные[0]; Объект.ТипПолучателейРассылки = СтрокаПолучатель.ИОМД; Объект.ВидПочтовогоАдресаПолучателей = СтрокаПолучатель.ОсновнойВидКИ; - ГруппаКонтакнойИнформацииТипаПолучателей = СтрокаПолучатель.ГруппаКИ; КонецЕсли; КонецПроцедуры @@ -513,17 +537,6 @@ СтандартнаяОбработка = Ложь; КонецПроцедуры -&НаКлиенте -Процедура ВидПочтовогоАдресаПолучателейНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - Если НЕ ЗначениеЗаполнено(ТипПолучателейРассылки) Тогда - ОбщегоНазначенияКлиентСервер.СообщитьПользователю( - НСтр("ru = 'Перед выбором почтового адреса необходимо выбрать получателей'"), - , - "ТипПолучателейРассылки"); - СтандартнаяОбработка = Ложь; - КонецЕсли; -КонецПроцедуры - &НаКлиенте Процедура ВидПочтовогоАдресаАвтораОткрытие(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; @@ -536,7 +549,7 @@ Для Каждого КлючИЗначение Из ПараметрыПроизвольнойФормы Цикл ПараметрыПроизвольнойФормы[КлючИЗначение.Ключ] = Объект["FTP" + КлючИЗначение.Ключ]; КонецЦикла; - ПараметрыПроизвольнойФормы.Вставить("Заголовок", НСтр("ru = 'Укажите получателя'")); + ПараметрыПроизвольнойФормы.Вставить("Заголовок", НСтр("ru = '<Укажите получателя>'")); ОткрытьФорму("Справочник.РассылкиОтчетов.Форма.ПараметрыFTP", ПараметрыПроизвольнойФормы, Элемент); КонецПроцедуры @@ -696,16 +709,24 @@ &НаКлиенте Процедура ОтчетыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - Шаблон = Новый Структура("Количество, МассивСтрок, ПредставлениеОтчетов, Текст", 0, Новый Массив, ""); - СтруктураВыбора = Новый Структура("Выбрано, Успешно, СОшибками", Шаблон, Шаблон, Шаблон); - СтруктураВыбора.Выбрано.МассивСтрок = ВыборПодборПеретаскиваниеВТабличнуюЧасть( - ВыбранноеЗначение, - Объект.Отчеты, - "Отчет", - Новый Структура("Форматы, ОтправлятьЕслиПустой", ПредставлениеФорматовПоУмолчанию(), Истина), + СтруктураЗаполнения = Новый Структура("Форматы, ОтправлятьЕслиПустой, НеОтправлятьПустой", ПредставлениеФорматовПоУмолчанию(), Ложь, Истина); + МассивНовыхСтрок = ВыборПодборПеретаскиваниеВТабличнуюЧасть( + ВыбранноеЗначение, + Объект.Отчеты, + "Отчет", + СтруктураЗаполнения, Истина); + Шаблон = Новый ФиксированнаяСтруктура("Количество, МассивСтрок, ПредставлениеОтчетов, Текст", 0, Неопределено, ""); + СтруктураВыбора = Новый Структура; + СтруктураВыбора.Вставить("Выбрано", Новый Структура(Шаблон)); + СтруктураВыбора.Вставить("Успешно", Новый Структура(Шаблон)); + СтруктураВыбора.Вставить("СОшибками", Новый Структура(Шаблон)); + СтруктураВыбора.Выбрано.МассивСтрок = МассивНовыхСтрок; + СтруктураВыбора.Успешно.МассивСтрок = Новый Массив; + СтруктураВыбора.СОшибками.МассивСтрок = Новый Массив; + // Инициализация добавленных строк отчетов и заполнение структуры выбора ПроверитьДобавленныеСтрокиОтчетов(СтруктураВыбора); @@ -830,46 +851,6 @@ #КонецОбласти -#Область ОбработчикиСобытийЭлементовТаблицыФормыПолучатели - -&НаКлиенте -Процедура ПолучателиПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) - СтандартнаяОбработка = Ложь; - ДобавитьПеретащитьПолучателя(ПараметрыПеретаскивания.Значение); -КонецПроцедуры - -&НаКлиенте -Процедура ПолучателиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) - СтандартнаяОбработка = Ложь; - ДобавитьПеретащитьПолучателя(ВыбранноеЗначение); -КонецПроцедуры - -&НаКлиенте -Процедура ПолучателиПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ) - // Контроль уникальности выбранных получателей - Если НЕ Отказ И НЕ ОтменаРедактирования Тогда - СтрокаПолучатели = Элемент.ТекущиеДанные; - Если СтрокаПолучатели = Неопределено ИЛИ НЕ ЗначениеЗаполнено(СтрокаПолучатели.Получатель) Тогда - Возврат; - КонецЕсли; - Найденные = Объект.Получатели.НайтиСтроки(Новый Структура("Получатель", СтрокаПолучатели.Получатель)); - Если Найденные.Количество() > 1 Тогда - // Позиционирование на дубликате - НомерСуществующейСтроки = ?(Найденные[0] = СтрокаПолучатели, Найденные[1].НомерСтроки, Найденные[0].НомерСтроки); - Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Дублирование получателя %1. Ввод дубликата отменен.'"), - "'"+ Строка(СтрокаПолучатели.Получатель) +"'"); - Поле = "Объект.Получатели["+ Формат(НомерСуществующейСтроки, "ЧН=0; ЧГ=") +"]"; - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Сообщение, , Поле); - - // Отмена редактирования - Элементы.Получатели.ЗакончитьРедактированиеСтроки(Истина); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -#КонецОбласти - #Область ОбработчикиСобытийЭлементовТаблицыФормыФорматыОтчетов &НаКлиенте @@ -900,6 +881,24 @@ СтрокаОтчеты.Форматы = ПредставлениеФорматовПоУмолчанию(); КонецПроцедуры +&НаКлиенте +Процедура ФорматыОтчетовОтправлятьЕслиПустойПриИзменении(Элемент) + ТекущиеДанные = Элементы.ФорматыОтчетов.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + ТекущиеДанные.НеОтправлятьПустой = Не ТекущиеДанные.ОтправлятьЕслиПустой; +КонецПроцедуры + +&НаКлиенте +Процедура ФорматыОтчетовНеОтправлятьПустойПриИзменении(Элемент) + ТекущиеДанные = Элементы.ФорматыОтчетов.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + ТекущиеДанные.ОтправлятьЕслиПустой = Не ТекущиеДанные.НеОтправлятьПустой; +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -912,6 +911,29 @@ ЗаписатьНаКлиенте(Истина, Неопределено); КонецПроцедуры +&НаКлиенте +Процедура ПолучателиРассылкиНажатие(Элемент, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + + Если ЗначениеЗаполнено(Объект.ТипПолучателейРассылки) Тогда + Обработчик = Новый ОписаниеОповещения("ПолучателиРассылкиНажатиеЗавершение", ЭтотОбъект); + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("Получатели", Объект.Получатели); + ПараметрыФормы.Вставить("ТипПолучателейРассылки", ТипПолучателейРассылки); + ПараметрыФормы.Вставить("ВидПочтовогоАдресаПолучателей", Объект.ВидПочтовогоАдресаПолучателей); + ПараметрыФормы.Вставить("НаименованиеРассылки", Объект.Наименование); + + ОткрытьФорму("Справочник.РассылкиОтчетов.Форма.ПолучателиРассылки", ПараметрыФормы, , , , , Обработчик); + Иначе + ОбщегоНазначенияКлиентСервер.СообщитьПользователю( + НСтр("ru = 'Перед выбором почтового адреса необходимо выбрать получателей'"), + , + "ТипПолучателейРассылки"); + КонецЕсли; +КонецПроцедуры + + &НаКлиенте Процедура КомандаЗаписать(Команда) ЗаписатьНаКлиенте(Ложь, Неопределено); @@ -929,16 +951,13 @@ КонецЕсли; КонецЦикла; - Отбор = Новый Структура; - Отбор.Вставить("ТипОтчета", 1); - Отбор.Вставить("ТолькоВарианты", Истина); - ПараметрыФормыВыбора = Новый Структура; ПараметрыФормыВыбора.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина); ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Истина); ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь); - ПараметрыФормыВыбора.Вставить("Отбор", Отбор); + ПараметрыФормыВыбора.Вставить("ТолькоВарианты", Истина); + ПараметрыФормыВыбора.Вставить("Отбор", Новый Структура("ТипОтчета", 1)); ПараметрыФормыВыбора.Вставить("ВыбранныеЗначения", ВыбранныеЗначения); ОткрытьФорму("Справочник.ВариантыОтчетов.ФормаВыбора", ПараметрыФормыВыбора, Элементы.Отчеты); @@ -1200,11 +1219,6 @@ //////////////////////////////////////////////////////////////////////////////// // Страница "Доставка" -&НаКлиенте -Процедура ПолучателиПодобрать(Команда) - ОткрытьФормуВыбораДляПодбораПолучателей(Элементы.Получатели); -КонецПроцедуры - &НаКлиенте Процедура ДобавитьИзменитьШаблонДатыРассылки(Команда) ДобавитьШаблон(); @@ -1423,6 +1437,63 @@ ВидимостьДоступностьКорректность(ЭтотОбъект, "ПисьмоВФорматеHTML"); КонецПроцедуры +&НаКлиенте +Процедура СформироватьПредставлениеПолучателей() + + ПолучателиСтрокой = ""; + ПолучателиСтрокойИсключение = ""; + + ПолучателиСтрокойРазделитель = ""; + ПолучателиСтрокойИсключениеРазделитель = "; " + НСтр("ru = 'Кроме'")+ " "; + + СтрокаДлинная = Ложь; + СтрокаДлиннаяВывод = ""; + Для Каждого Элемент Из Объект.Получатели Цикл + Если Элемент.Исключен Тогда + ПолучателиСтрокойИсключение = ПолучателиСтрокойИсключение + ПолучателиСтрокойИсключениеРазделитель + Элемент.Получатель; + ПолучателиСтрокойИсключениеРазделитель = ", "; + Иначе + НоваяПолучателиСтрокой = ПолучателиСтрокой + ПолучателиСтрокойРазделитель + Элемент.Получатель; + Если Не СтрокаДлинная И СтрДлина(НоваяПолучателиСтрокой + ПолучателиСтрокойИсключение) > 40 Тогда + СтрокаДлинная = Истина; + Если СтрДлина(ПолучателиСтрокой) > 0 Тогда + СтрокаДлиннаяВывод = ПолучателиСтрокой; + Иначе + СтрокаДлиннаяВывод = Лев(НоваяПолучателиСтрокой, 40) + "..."; + КонецЕсли; + Иначе + ПолучателиСтрокой = НоваяПолучателиСтрокой; + КонецЕсли; + ПолучателиСтрокой = НоваяПолучателиСтрокой; + ПолучателиСтрокойРазделитель = ", "; + КонецЕсли; + + КонецЦикла; + Если СтрокаДлинная Тогда + Если Объект.Получатели.Количество() > 1 Тогда + Фильтр = Новый Структура("Исключен", Ложь); + КоличествоПолучателей = Объект.Получатели.НайтиСтроки(Фильтр).Количество(); + Если КоличествоПолучателей > 1 Тогда + СтрокаДополнение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'и другие (всего %1 получателей)'"), КоличествоПолучателей); + Иначе + СтрокаДополнение = НСтр("ru = 'и другие'"); + КонецЕсли; + Получатели = СтрокаДлиннаяВывод + " " + СтрокаДополнение; + Иначе + Получатели = СтрокаДлиннаяВывод; + КонецЕсли; + Иначе + Получатели = ПолучателиСтрокой + ПолучателиСтрокойИсключение; + КонецЕсли; + + Элементы.ПолучателиРассылки.Подсказка = ПолучателиСтрокой + СтрЗаменить(ПолучателиСтрокойИсключение, ";", Символы.ПС); + + Если НЕ ЗначениеЗаполнено(Получатели) Тогда + Получатели = НСтр("ru = '<Укажите получателей>'"); + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Страница "Дополнительно" @@ -1432,6 +1503,7 @@ Модифицированность = Истина; Для Каждого СтрОтчет Из Объект.Отчеты Цикл СтрОтчет.ОтправлятьЕслиПустой = Ложь; + СтрОтчет.НеОтправлятьПустой = Истина; КонецЦикла; КонецЕсли; КонецПроцедуры @@ -1442,6 +1514,7 @@ Модифицированность = Истина; Для Каждого СтрОтчет Из Объект.Отчеты Цикл СтрОтчет.ОтправлятьЕслиПустой = Истина; + СтрОтчет.НеОтправлятьПустой = Ложь; КонецЦикла; КонецЕсли; КонецПроцедуры @@ -1450,25 +1523,26 @@ #Область СлужебныеПроцедурыИФункции -&НаСервере -Процедура УстановитьУсловноеОформление() - Инструкция = ВариантыОтчетов.ИнструкцияУсловногоОформления(); - Инструкция.Поля = "НастройкиТекущегоОтчета"; - Инструкция.Отборы.Вставить("НастройкиТекущегоОтчета.Обнаружен", Ложь); - Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет); - Инструкция.Оформление.Вставить("Доступность", Ложь); - ВариантыОтчетов.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция); - - Инструкция = ВариантыОтчетов.ИнструкцияУсловногоОформления(); - Инструкция.Поля = "ПолучателиПолучатель, ПолучателиИсключен"; - Инструкция.Отборы.Вставить("Объект.Получатели.Исключен", Истина); - Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.ПросроченныеДанныеЦвет); - ВариантыОтчетов.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция); -КонецПроцедуры - //////////////////////////////////////////////////////////////////////////////// // Обработчики асинхронных диалогов +&НаКлиенте +Процедура ПолучателиРассылкиНажатиеЗавершение(Результат, Параметр) Экспорт + Если Результат = Неопределено Тогда + Возврат; + КонецЕсли; + + Объект.ВидПочтовогоАдресаПолучателей = Результат.ВидПочтовогоАдресаПолучателей; + Объект.Получатели.Очистить(); + Для Каждого Элемент Из Результат.Получатели Цикл + НоваяСтрока = Объект.Получатели.Добавить(); + НоваяСтрока.Получатель = Элемент.Получатель; + НоваяСтрока.Исключен = Элемент.Исключен; + КонецЦикла; + + СформироватьПредставлениеПолучателей(); +КонецПроцедуры + &НаКлиенте Процедура ТипПолучателейРассылкиОбработкаВыбораЗавершение(Ответ, ДополнительныеПараметры) Экспорт Если Ответ = КодВозвратаДиалога.Да Тогда @@ -1476,6 +1550,7 @@ ТипПолучателейРассылки = ДополнительныеПараметры.ВыбранноеЗначение; Модифицированность = Истина; ТипПолучателейРассылкиПриИзменении(Неопределено); + СформироватьПредставлениеПолучателей(); КонецЕсли; КонецПроцедуры @@ -1726,49 +1801,6 @@ СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(ЭтотОбъект, Результат); КонецПроцедуры -&НаКлиенте -Процедура ДобавитьПеретащитьПолучателя(ПолучательИлиНаборПолучателей) - Если ПодборПользователейИлиГрупп(ПолучательИлиНаборПолучателей) Тогда - - КоличествоПолучателей = Объект.Получатели.Количество(); - Для н = 1 По КоличествоПолучателей Цикл - ИндексПолучателя = КоличествоПолучателей - н; - - СтрокаПолучатель = Объект.Получатели.Получить(ИндексПолучателя); - - ИндексВМассиве = ПолучательИлиНаборПолучателей.Найти(СтрокаПолучатель.Получатель); - Если ИндексВМассиве = Неопределено Тогда - Объект.Получатели.Удалить(СтрокаПолучатель); - Иначе - ПолучательИлиНаборПолучателей.Удалить(ИндексВМассиве); - КонецЕсли; - - КонецЦикла; - - КонецЕсли; - - МассивНовыхСтрок = ВыборПодборПеретаскиваниеВТабличнуюЧасть( - ПолучательИлиНаборПолучателей, - Объект.Получатели, - "Получатель", - Новый Структура("Исключен", Ложь)); - - Если МассивНовыхСтрок.Количество() > 0 Тогда - Если МассивНовыхСтрок.Количество() = 1 Тогда - ЗаголовокОповещения = НСтр("ru = 'Получатель добавлен в рассылку'"); - Иначе - ЗаголовокОповещения = НСтр("ru = 'Получатели добавлены в рассылку'"); - КонецЕсли; - - ТекстОповещения = ""; - Для Каждого СтрокаПолучатель Из МассивНовыхСтрок Цикл - ТекстОповещения = ТекстОповещения + ?(ТекстОповещения = "", "", ", ") + Строка(СтрокаПолучатель.Получатель); - КонецЦикла; - - ПоказатьОповещениеПользователя(ЗаголовокОповещения, , ТекстОповещения, БиблиотекаКартинок.ВыполнитьЗадачу); - КонецЕсли; -КонецПроцедуры - &НаКлиенте Функция ВыборПодборПеретаскиваниеЭлементаВТабличнуюЧасть(ЭлементПодбора, ТабличнаяЧасть, ИмяРеквизита, СтруктураЗаполнения, Уникальность = Истина) ПереданаСтруктура = (ТипЗнч(ЭлементПодбора) = Тип("Структура")); @@ -1825,39 +1857,6 @@ Возврат МассивНовыхСтрок; КонецФункции -&НаКлиенте -Процедура ОткрытьФормуВыбораДляПодбораПолучателей(ФормаИлиЭлементФормы) - Отказ = Ложь; - ПроверитьТипПолучателей(Отказ); - Если Отказ Тогда - Возврат; - КонецЕсли; - - Найденные = ТаблицаТиповПолучателей.НайтиСтроки(Новый Структура("ТипПолучателей", ТипПолучателейРассылки)); - - Если Найденные.Количество() = 1 Тогда - ПараметрыРасширеннойФормыПодбора = ВыбранныеПолучателиРассылки(); - ПараметрыФормыВыбора = Новый Структура; - // Стандартные реквизиты формы выбора (см. Расширение управляемой формы для динамического списка) - ПараметрыФормыВыбора.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.ГруппыИЭлементы); - ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь); - ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина); - ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Истина); - ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина); - // Предполагаемые реквизиты - ПараметрыФормыВыбора.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.Независимый); - ПараметрыФормыВыбора.Вставить("ВыборГрупп", Истина); - ПараметрыФормыВыбора.Вставить("ВыборГруппПользователей", Истина); - ПараметрыФормыВыбора.Вставить("РазрешитьНачалоПеретаскивания", Истина); - // Параметры открытия расширенной формы подбора - // (описание реквизитов см. в форме списка справочника Пользователи) - ПараметрыФормыВыбора.Вставить("РасширенныйПодбор", Истина); - ПараметрыФормыВыбора.Вставить("ПараметрыРасширеннойФормыПодбора", ПараметрыРасширеннойФормыПодбора); - - ОткрытьФорму(Найденные[0].ПутьФормыВыбора, ПараметрыФормыВыбора, ФормаИлиЭлементФормы); - КонецЕсли; -КонецПроцедуры - &НаКлиенте Функция ВыбратьФормат(СсылкаНаОтчет, ОбработчикРезультата) // Для хранения всех форматов, выбранных пользователем, используется табличная часть ФорматыОтчетов. @@ -2023,18 +2022,6 @@ КонецЕсли; КонецПроцедуры -&НаКлиенте -Функция ПодборПользователейИлиГрупп(ПолучательИлиНаборПолучателей) - Если ТипЗнч(ПолучательИлиНаборПолучателей) = Тип("Массив") - И ПолучательИлиНаборПолучателей.Количество() > 0 - И (ТипЗнч(ПолучательИлиНаборПолучателей[0]) = Тип("СправочникСсылка.Пользователи") - Или ТипЗнч(ПолучательИлиНаборПолучателей[0]) = Тип("СправочникСсылка.ГруппыПользователей")) Тогда - Возврат Истина; - Иначе - Возврат Ложь; - КонецЕсли; -КонецФункции - //////////////////////////////////////////////////////////////////////////////// // Клиент, Сервер @@ -2085,11 +2072,21 @@ // Видимость & Доступность Элементы.Родитель.Доступность = НЕ Объект.Личная; - Элементы.НастройкаПолучателей.Видимость = НЕ Объект.Личная; ПереключитьСтраницу(Элементы, "ВидыРассылки", ?(Объект.Личная, "Личная", "ДляПолучателей")); Элементы.ДругиеСпособыДоставки.Видимость = РассылкаОбщая; Элементы.ГруппаИспользоватьЭлектроннуюПочту.Видимость = РассылкаОбщая; + Если Объект.Личная Тогда + Элементы.ПолучателиРассылки.Видимость = Ложь; + Иначе + Элементы.ПолучателиРассылки.Видимость = Истина; + Если НЕ РассылкаОбщая Тогда + Элементы.ПолучателиРассылки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто; + Иначе + Элементы.ПолучателиРассылки.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + КонецЕсли; + КонецЕсли; + // Восстановление параметров Если Объект.ИспользоватьПапку Тогда Форма.ДругойСпособДоставки = "ИспользоватьПапку"; @@ -2133,6 +2130,7 @@ Элементы.ГруппаУчетнаяЗапись.Доступность = Объект.ИспользоватьЭлектроннуюПочту; Элементы.ПараметрыПисьма.Доступность = Объект.ИспользоватьЭлектроннуюПочту; Элементы.ДополнительныеПараметрыРассылкиПоЭлектроннойПочте.Доступность = Объект.ИспользоватьЭлектроннуюПочту; + Элементы.ПолучателиРассылки.Доступность = Объект.ИспользоватьЭлектроннуюПочту; КонецЕсли; Если Изменения = "" @@ -2346,7 +2344,7 @@ РезультатФормирования = РассылкаОтчетов.СформироватьОтчет(ПараметрыЖурнала, ПараметрыОтчета, Получатель); ОтчетСформирован = РезультатФормирования.Сформирован; Если РезультатФормирования.Пустой И НЕ ПараметрыОтчета.ОтправлятьЕслиПустой Тогда - ТекстПредупреждения = НСтр("ru = 'Отчет пустой'"); + ТекстПредупреждения = НСтр("ru = 'Отчет пустой.'"); Иначе Результат.ТабДок = РезультатФормирования.ТабДок; Результат.ВыводОповещения.Использование = Истина; @@ -2643,33 +2641,19 @@ Возврат Результат; КонецФункции -&НаСервере -Функция ВыбранныеПолучателиРассылки() - - ВыбранныеПользователи = Новый ТаблицаЗначений; - ВыбранныеПользователи.Колонки.Добавить("Пользователь"); - ВыбранныеПользователи.Колонки.Добавить("НомерКартинки"); - - ПолучателиРассылки = Объект.Получатели.Выгрузить(, "Получатель"); - - Для каждого Элемент Из ПолучателиРассылки Цикл - - СтрокаВыбранныеПользователи = ВыбранныеПользователи.Добавить(); - СтрокаВыбранныеПользователи.Пользователь = Элемент.Получатель; - - КонецЦикла; - - ЗаголовокФормыПодбора = НСтр("ru = 'Подбор получателей рассылки'"); - ПараметрыРасширеннойФормыПодбора = Новый Структура("ЗаголовокФормыПодбора, ВыбранныеПользователи", - ЗаголовокФормыПодбора, ВыбранныеПользователи); - АдресХранилища = ПоместитьВоВременноеХранилище(ПараметрыРасширеннойФормыПодбора); - Возврат АдресХранилища; - -КонецФункции - //////////////////////////////////////////////////////////////////////////////// // Сервер +&НаСервере +Процедура УстановитьУсловноеОформление() + Инструкция = ВариантыОтчетов.ИнструкцияУсловногоОформления(); + Инструкция.Поля = "НастройкиТекущегоОтчета"; + Инструкция.Отборы.Вставить("НастройкиТекущегоОтчета.Обнаружен", Ложь); + Инструкция.Оформление.Вставить("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет); + Инструкция.Оформление.Вставить("Доступность", Ложь); + ВариантыОтчетов.ДобавитьЭлементУсловногоОформления(ЭтотОбъект, Инструкция); +КонецПроцедуры + &НаСервереБезКонтекста Функция ПолучитьКэш() // Преобразование наименований в значения @@ -2751,8 +2735,11 @@ Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания); Если Задание <> Неопределено Тогда Расписание = Задание.Расписание; + Если Кэш.Перечисления.Периодичности[Объект.ПериодичностьРасписания] <> "Произвольное" Тогда + Расписание.ВремяКонца = '00010101'; + КонецЕсли; КонецЕсли; - КонецЕсли; + КонецЕсли; КонецПроцедуры &НаСервере @@ -2777,7 +2764,7 @@ &НаСервере Процедура ПодключитьКэшНастроекЭлектроннойПочты() - // Подключение кеша типов получателей + // Подключение кэша типов получателей ТаблицаТиповПолучателей.Загрузить(РассылкаОтчетовПовтИсп.ТаблицаТиповПолучателей()); // Заполнение списка выбора типов получателей @@ -2785,7 +2772,6 @@ Элементы.ТипПолучателейРассылки.СписокВыбора.Добавить(СтрокаПолучатель.ТипПолучателей, СтрокаПолучатель.Представление); Если СтрокаПолучатель.ИОМД = Объект.ТипПолучателейРассылки Тогда ТипПолучателейРассылки = СтрокаПолучатель.ТипПолучателей; - ГруппаКонтакнойИнформацииТипаПолучателей = СтрокаПолучатель.ГруппаКИ; Если Объект.ВидПочтовогоАдресаПолучателей.Пустая() И ЗначениеЗаполнено(СтрокаПолучатель.ОсновнойВидКИ) Тогда Объект.ВидПочтовогоАдресаПолучателей = СтрокаПолучатель.ОсновнойВидКИ; КонецЕсли; @@ -2945,7 +2931,8 @@ Иначе СтрокаОтчеты = Объект.Отчеты.Добавить(); СтрокаОтчеты.Отчет = ВариантСсылка; - СтрокаОтчеты.ОтправлятьЕслиПустой = Истина; + СтрокаОтчеты.ОтправлятьЕслиПустой = Ложь; + СтрокаОтчеты.НеОтправлятьПустой = Истина; КонецЕсли; СтрокаОтчеты.ВнесеныИзменения = Истина; diff --git a/SSL/src/Catalogs/РассылкиОтчетов/Help/ru.html b/SSL/src/Catalogs/РассылкиОтчетов/Help/ru.html index 77ff88799..320061ebc 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/Help/ru.html +++ b/SSL/src/Catalogs/РассылкиОтчетов/Help/ru.html @@ -1,26 +1,32 @@ - -

    Рассылки отчетов предназначены для автоматического формирования отчетов и доставки сформированных отчетов получателям.

    -

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

    -

    Реквизиты:

    -

    - - - - - - -
    -
  • Наименование
  • Наименование рассылки или группы рассылок
    -
  • Подготовлена
  • Флажок готовности рассылки к выполнению.
    Не подготовленные рассылки не будут выполнены.
    -
  • Расписание
  • Расписание рассылки, представленное в виде текста.
    -
  • Автор
  • Автор рассылки, от имени которого рассылка будет выполняться по расписанию.
    -
  • Последний запуск
  • Дата и время последнего запуска рассылки.
    -
  • Состояние
  • Результат последнего запуска рассылки.

    Команды:

    -

    - - -
    -
  • Выполнить сейчас
  • Запускает выбранные рассылки и группы рассылок от имени текущего пользователя.
    -
  • События рассылки
  • Показывает записи журнала регистрации выбранной рассылки со времени ее последнего запуска.

     

    -

    См. также: Рассылка отчетов, Общая информация о формах.

    -

     

    \ No newline at end of file + +

    Предназначен для подготовки рассылок с целью автоматического формирования отчетов и доставки сформированных отчетов получателям.

    +

    Открывается по команде Рассылки отчетов из раздела Сервисные подсистемы.

    +

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

    +

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

    +

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

    +

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

    +

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

    +

    В списке выводится:

    +
    • Наименование - полное наименование рассылки или группы рассылок; +
    • Подготовлена - флажок готовности рассылки к выполнению. Неподготовленные рассылки не будут выполнены; +
    • Последний запуск - дата и время последнего запуска рассылки, в этом же поле выводится значок , если рассылка прошла неудачно. +
    • Расписание - расписание рассылки, представленное в виде текста; +
    • С помощью команды Еще (Все действия) - Изменить форму можно вывести дополнительную информацию о рассылках: +
    • Автор - автор рассылки, от имени которого рассылка будет выполняться по расписанию; +
    • Состояние - результат последнего запуска рассылки (принимает значение Выполнена или Не выполнена); +
    • Архивировать - в поле проставляется флажок, если в рассылке установлен флажок Архивировать в ZIP; +
    • Кому - указывается справочник, из которого выбирались получатели рассылки; +
    • Почтовый адрес - если отправлялось по электронной почте, в поле проставляется значение  Электронная почта.

    Ввод рассылки

    +
    • +
      Нажмите Создать, введите необходимые поля.

    Группировка рассылок

    +
    • +
      Нажмите Создать группу, заполните необходимые поля.
      +
    • +
      С помощью мыши перетащите рассылки в нужные группы.

    Запуск рассылок

    +
    • +
      Программа осуществляет рассылку отчетов с помощью регламентного задания в указанное в расписании рассылки время.
      +
    • +
      Нажмите Выполнить сейчас, для того чтобы запустить выбранные рассылки и группы рассылок от имени текущего пользователя в любой момент времени.

    Просмотр событий рассылки

    +

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РассылкиОтчетов/ObjectModule.bsl b/SSL/src/Catalogs/РассылкиОтчетов/ObjectModule.bsl index 7333232ad..b60825e2b 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/ObjectModule.bsl +++ b/SSL/src/Catalogs/РассылкиОтчетов/ObjectModule.bsl @@ -134,15 +134,14 @@ Возврат; КонецЕсли; - // Создание регламентное задание (получение уникального идентификатора) + // Создание регламентного задания - пустышки (для хранения его идентификатора в данных). УстановитьПривилегированныйРежим(Истина); Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(РегламентноеЗадание); Если Задание = Неопределено Тогда Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(Метаданные.РегламентныеЗадания.РассылкаОтчетов); Задание.ИмяПользователя = РассылкаОтчетов.ПолучитьИмяПользователяИБ(Автор); - Задание.Использование = ВыполнятьПоРасписанию; + Задание.Использование = Ложь; Задание.Наименование = ПредставлениеЗаданияПоРассылке(Наименование); - Задание.Расписание = ДополнительныеСвойства.Расписание; Задание.Записать(); РегламентноеЗадание = Задание.УникальныйИдентификатор; @@ -237,7 +236,7 @@ Если ЗаданиеИзменено Тогда Задание.Записать(); - КонецЕсли; + КонецЕсли; КонецЕсли; УстановитьПривилегированныйРежим(Ложь); diff --git a/SSL/src/Catalogs/РассылкиОтчетов/РассылкиОтчетов.mdo b/SSL/src/Catalogs/РассылкиОтчетов/РассылкиОтчетов.mdo index 26777f487..cddc18447 100644 --- a/SSL/src/Catalogs/РассылкиОтчетов/РассылкиОтчетов.mdo +++ b/SSL/src/Catalogs/РассылкиОтчетов/РассылкиОтчетов.mdo @@ -109,6 +109,7 @@ Use + true ru @@ -144,289 +145,6 @@ Catalog.РассылкиОтчетов.Form.ФормаСписка Catalog.РассылкиОтчетов.Form.ФормаСписка Catalog.РассылкиОтчетов.Form.ФормаВыбораГруппы - - Автор - - ru - Автор - - - CatalogRef.Пользователи - - - ru - При выполнении по расписанию отчеты формируются с правами автора рассылки - - - - ShowError - - Index - Use - Use - - - Подготовлена - - ru - Подготовлена - - - Boolean - - - ru - Готовность рассылки к выполнению - - - - true - - true - - Index - Use - - - Личная - - ru - Личная - - - Boolean - - - ru - - - - - - Index - Use - - - Персонализирована - - ru - Персонализирована - - - Boolean - - - ru - - - - - - Use - Use - - - ВыполнятьПоРасписанию - - ru - Выполнять по расписанию - - - Boolean - - - ru - Рассылка будет выполняться автоматически по заданному расписанию - - - - - Index - Use - - - ПериодичностьРасписания - - ru - Периодичность расписания - - - EnumRef.ПериодичностиРасписанийРассылокОтчетов - - - ru - Периодичность, с которой требуется выполнять рассылку по расписанию - - - - ShowError - - Enum.ПериодичностиРасписанийРассылокОтчетов.EmptyRef - - Use - Use - - - РегламентноеЗадание - - ru - Регламентное задание - - - UUID - - - ru - - - - - - Use - - - ИспользоватьПапку - - ru - Использовать папку - - - Boolean - - - ru - Флажок доставки в папку программы - - - - - Use - Use - - - Папка - - ru - Папка - - - CatalogRef.ПапкиФайлов - - - ru - Папка программы для доставки отчетов - - - - ShowError - - Use - - - ИспользоватьСетевойКаталог - - ru - Использовать сетевой каталог - - - Boolean - - - ru - Флажок доставки в сетевой каталог - - - - - Use - Use - - - СетевойКаталогWindows - - ru - Сетевой каталог windows - - - String - - 200 - - - - ru - Сетевой каталог для доставки отчетов (используется серверами кластера под управлением ОС Windows). - - - - ShowError - - Use - - - СетевойКаталогLinux - - ru - Сетевой каталог linux - - - String - - 200 - - - - ru - Сетевой каталог для доставки отчетов (используется серверами кластера под управлением ОС Linux). - - - - ShowError - - Use - - - ИспользоватьFTPРесурс - - ru - Использовать FTP ресурс - - - Boolean - - - ru - Флажок доставки на FTP ресурс - - - - - Use - Use - - - FTPСервер - - ru - Сервер - - - String - - 100 - - - - ru - - - - - ShowError - - Use - Use - FTPКаталог @@ -441,7 +159,7 @@ ru - + Каталог на FTP сервере, в который публикуются отчеты. @@ -450,6 +168,69 @@ Use Use + + FTPЛогин + + ru + Логин + + + String + + 50 + + + + ru + Имя пользователя FTP сервера. + + + + + Use + + + FTPПароль + + ru + Пароль + + + String + + 50 + + + true + + ru + Пароль FTP сервера. + + + + + Use + + + FTPПассивноеСоединение + + ru + Пассивное соединение + + + Boolean + + + ru + Если флажок установлен то при соединении по FTP сервер открывает порт и ожидает подключения клиента. +Рекомендуется включать, когда клиент не может принять входящее TCP-соединение. Например, если входящие соединения блокируются сетевым экраном. + + + + + Use + Use + FTPПорт @@ -480,287 +261,50 @@ Use - - FTPЛогин + + FTPСервер ru - Логин + Сервер String - 50 + 100 ru - - - - - - Use - - - FTPПароль - - ru - Пароль - - - String - - 50 - - - true - - ru - - - - - - Use - - - FTPПассивноеСоединение - - ru - Пассивное соединение - - - Boolean - - - ru - - - - - - Use - Use - - - ИспользоватьЭлектроннуюПочту - - ru - Отправлять по электронной почте - - - Boolean - - - ru - Флажок доставки по электронной почте - - - - true - - true - - Use - Use - - - ТолькоУведомить - - ru - Отправлять только уведомления (не присоединять сформированные отчеты) - - - Boolean - - - ru - "Да" - отчеты будут опубликованы, а в письмах будет указан только адрес их публикации. -"Нет" - отчеты будут присоединены к письмам как вложения. - - - - - Use - Use - - - УчетнаяЗапись - - ru - От - - - CatalogRef.УчетныеЗаписиЭлектроннойПочты - - - ru - Учетная запись отправителя + FTP Сервер. ShowError - Use - DontUse - - Use - - - ПисьмоВФорматеHTML - - ru - Письмо в формате HTML - - - Boolean - - - ru - - - - - true - - true - - Use - - - ТекстПисьмаВФорматеHTML - - ru - Текст письма в формате HTML - - - String - - - - ru - - - - - - Use - - - КартинкиПисьмаВФорматеHTML - - ru - Картинки письма в формате HTML - - - ValueStorage - - - ru - - - - - - Use - - - ТекстПисьма - - ru - Текст письма - - - String - - - - ru - - - - Use Use - - ТемаПисьма + + Автор ru - Тема + Автор - String - + CatalogRef.Пользователи ru - - - - - - Use - Use - - - ТипПолучателейРассылки - - ru - Кому - - - CatalogRef.ИдентификаторыОбъектовМетаданных - - - ru - - - - - - Use - - - ВидПочтовогоАдресаПолучателей - - ru - Почтовый адрес - - - CatalogRef.ВидыКонтактнойИнформации - - - ru - Вид почтового адреса получателей рассылки + При выполнении по расписанию отчеты формируются с правами автора рассылки ShowError - Use - DontUse + Index Use Use - - СкрытыеКопии - - ru - Отправлять письма получателям через скрытые копии - - - Boolean - - - ru - Если "Да", то получатели не увидят других получателей письма (увидят только себя). - - - - - Use - АдресОтвета @@ -804,6 +348,47 @@ Use + + ВидПочтовогоАдресаПолучателей + + ru + Почтовый адрес + + + CatalogRef.ВидыКонтактнойИнформации + + + ru + Вид почтового адреса получателей рассылки + + + + ShowError + Use + DontUse + + Use + Use + + + ВыполнятьПоРасписанию + + ru + Выполнять по расписанию + + + Boolean + + + ru + Рассылка будет выполняться автоматически по заданному расписанию + + + + + Index + Use + ИмяАрхива @@ -826,6 +411,141 @@ Use Use + + ИспользоватьFTPРесурс + + ru + Использовать FTP ресурс + + + Boolean + + + ru + Флажок доставки на FTP ресурс + + + + + Use + Use + + + ИспользоватьПапку + + ru + Использовать папку + + + Boolean + + + ru + Флажок доставки в папку программы + + + + + Use + Use + + + ИспользоватьСетевойКаталог + + ru + Использовать сетевой каталог + + + Boolean + + + ru + Флажок доставки в сетевой каталог + + + + + Use + Use + + + ИспользоватьЭлектроннуюПочту + + ru + Отправлять по электронной почте: + + + Boolean + + + ru + Флажок доставки по электронной почте + + + + true + + true + + Use + Use + + + КартинкиПисьмаВФорматеHTML + + ru + Картинки письма в формате HTML + + + ValueStorage + + + ru + Структура картинок, которые выводятся в теле письма. + + + + + Use + + + Личная + + ru + Личная + + + Boolean + + + ru + Если флажок установлен, то рассылка отчетов доступна только автору и администратору программы. + + + + + Index + Use + + + Папка + + ru + Папка + + + CatalogRef.ПапкиФайлов + + + ru + Папка программы для доставки отчетов + + + + ShowError + + Use + ПарольАрхива @@ -848,6 +568,288 @@ Use + + ПериодичностьРасписания + + ru + Периодичность расписания + + + EnumRef.ПериодичностиРасписанийРассылокОтчетов + + + ru + Периодичность, с которой требуется выполнять рассылку по расписанию + + + + ShowError + + Enum.ПериодичностиРасписанийРассылокОтчетов.EmptyRef + + Use + Use + + + Персонализирована + + ru + Персонализирована + + + Boolean + + + ru + Если флажок установлен, то рассыла работает в режиме "Свой отчет для каждого получателя". + + + + + Use + Use + + + ПисьмоВФорматеHTML + + ru + Письмо в формате HTML + + + Boolean + + + ru + Если флажок установлен, то в теле письма можно использовать оформление текста и картинки. + + + + true + + true + + Use + + + Подготовлена + + ru + Подготовлена + + + Boolean + + + ru + Готовность рассылки к выполнению + + + + true + + true + + Index + Use + + + РегламентноеЗадание + + ru + Регламентное задание + + + UUID + + + ru + Идентификатор регламентного задания, которое будет запускать эту рассылку отчетов. + + + + + Use + + + СетевойКаталогLinux + + ru + Сетевой каталог linux + + + String + + 200 + + + + ru + Сетевой каталог для доставки отчетов (используется серверами кластера под управлением ОС Linux). + + + + ShowError + + Use + + + СетевойКаталогWindows + + ru + Сетевой каталог windows + + + String + + 200 + + + + ru + Сетевой каталог для доставки отчетов (используется серверами кластера под управлением ОС Windows). + + + + ShowError + + Use + + + СкрытыеКопии + + ru + Отправлять письма через скрытые копии + + + Boolean + + + ru + Если флажок установлен, то получатели не увидят других получателей письма (увидят только себя). + + + + + Use + + + ТекстПисьма + + ru + Текст письма + + + String + + + + ru + Текст письма рассылки отчетов. + + + + + Use + Use + + + ТекстПисьмаВФорматеHTML + + ru + Текст письма в формате HTML + + + String + + + + ru + Тело письма рассылки отчетов с возможностью форматирования текста и вставки картинок. + + + + + Use + + + ТемаПисьма + + ru + Тема + + + String + + + + ru + Тема письма рассылки отчетов. + + + + + Use + Use + + + ТипПолучателейРассылки + + ru + Кому + + + CatalogRef.ИдентификаторыОбъектовМетаданных + + + ru + Тип получателей рассылки отчетов. + + + + + Use + + + ТолькоУведомить + + ru + Отправлять только уведомления + + + Boolean + + + ru + Если флажок установлен, то отчеты будут опубликованы, а в письмах будет указан только адрес их публикации. +Если флажок снят, то отчеты будут присоединены к письмам как вложения. + + + + + Use + Use + + + УчетнаяЗапись + + ru + От + + + CatalogRef.УчетныеЗаписиЭлектроннойПочты + + + ru + Учетная запись отправителя + + + + ShowError + Use + DontUse + + Use + @@ -892,14 +894,14 @@ ОтправлятьЕслиПустой ru - Отправлять, если пустой + Отправлять пустой Boolean ru - Отправлять результат формирования отчета даже если он не содержит данных. + Отправлять отчет даже если он не содержит данных. @@ -1063,6 +1065,20 @@ PersonalComputer MobileDevice + + ПолучателиРассылки + + ru + Получатели рассылки + + + + ru + + + PersonalComputer + MobileDevice + ФормаВыбораГруппы diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Form.form index 40492de5c..50fe1e3ed 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Form.form @@ -1,5 +1,70 @@ + + КоманднаяПанель + 26 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + ГруппаПользовательскихНастроек + 28 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + Список 1 @@ -241,10 +306,10 @@ СписокСтрокаПоиска - 26 + 30 СписокСтрокаПоискаРасширеннаяПодсказка - 28 + 32 Label true true @@ -254,7 +319,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 27 + 31 true Список @@ -264,10 +329,10 @@ СписокСостояниеПросмотра - 29 + 33 СписокСостояниеПросмотраРасширеннаяПодсказка - 31 + 35 Label true true @@ -277,7 +342,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 30 + 34 true ViewStatusAddition @@ -288,10 +353,10 @@ СписокУправлениеПоиском - 32 + 36 СписокУправлениеПоискомРасширеннаяПодсказка - 34 + 38 Label true true @@ -301,7 +366,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 33 + 37 true SearchControlAddition @@ -361,6 +426,7 @@ true true + ГруппаПользовательскихНастроек
    @@ -406,6 +472,8 @@ Normal + None + false ФормаКоманднаяПанель -1 diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..a5b74474d --- /dev/null +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,16 @@ + +

    Предназначен для выбора роли исполнителя.

    +

    Открывается по кнопке Выбрать из поля Роль исполнителя бизнес-процессов и окон подбора ролей исполнителей.

    +

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

    +

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

    +

    Список ролей поставляется в составе программы, но может быть расширен при необходимости.

    +

    Роли, на которые не назначено ни одного исполнителя, выделяются красным. Не следует допускать таких ситуаций, так как это может привести к возникновению задач, не исполненных в срок. Для контроля таких задач предназначен отчет Зависшие задачи.

    +

    В списке выводится:

    +
    • Наименование - полное наименование роли; +
    • Краткое представление - сокращенное наименование роли для удобства использования. По умолчанию в это поле автоматически копируется Код; +
    • Код - проставляется автоматически. +
    • Комментарий - описание роли, выводится в нижней части списка.

    Выбор роли исполнителя

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

    Ввод новой роли

    +
    • Нажмите Создать, заполните необходимые поля.

    См. также: 

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Module.bsl b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Module.bsl index ef4f388a0..c84f0ad99 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Module.bsl +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаВыбора/Module.bsl @@ -10,6 +10,5 @@ Если Параметры.Свойство("ТолькоПростыеРоли", ТолькоПростыеРоли) И ТолькоПростыеРоли = Истина Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ВнешняяРоль", Истина, , , Истина); - КонецЕсли; - + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Form.form index 81eb2cfa4..bca21f0d7 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаСписка/Form.form @@ -1,5 +1,70 @@ + + ГруппаПользовательскихНастроек + 30 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 32 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -297,7 +362,6 @@ LabelField Enter true - true Left true @@ -341,10 +405,10 @@
    СписокСтрокаПоиска - 30 + 34 СписокСтрокаПоискаРасширеннаяПодсказка - 32 + 36 Label true true @@ -354,7 +418,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 31 + 35 true Список @@ -364,10 +428,10 @@ СписокСостояниеПросмотра - 33 + 37 СписокСостояниеПросмотраРасширеннаяПодсказка - 35 + 39 Label true true @@ -377,7 +441,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 34 + 38 true ViewStatusAddition @@ -388,10 +452,10 @@ СписокУправлениеПоиском - 36 + 40 СписокУправлениеПоискомРасширеннаяПодсказка - 38 + 42 Label true true @@ -401,7 +465,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 37 + 41 true SearchControlAddition @@ -459,8 +523,11 @@ true true + ГруппаПользовательскихНастроек + None + false ФормаКоманднаяПанель -1 diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Form.form index 59c4fddb8..1f8c81945 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Form.form @@ -190,7 +190,7 @@ 28 <key>ru</key> - <value>Внешняя роль, исполнители которой определены в другой информационной базе:</value> + <value>Внешняя роль, исполнители которой определены в другой программе:</value> true true @@ -315,6 +315,10 @@ ИспользуетсяБезКонтекстаДругихИзмеренийАдресации 5 + + <key>ru</key> + <value>Роль может назначаться исполнителям без указания уточняющих объектов</value> + true true @@ -350,32 +354,72 @@ true + + ИспользуетсяВКонтекстеДругихИзмеренийАдресации + 7 + + <key>ru</key> + <value>Роль назначается исполнителям с обязательным уточнением</value> + + true + true + + true + + + Объект.ИспользуетсяСОбъектамиАдресации + + Right + + ru + Роль может назначаться исполнителям с указанием определенных объектов адресации. + + Button + + OnChange + ИспользуетсяВКонтекстеДругихИзмеренийАдресацииПриИзменении + + + ИспользуетсяВКонтекстеДругихИзмеренийАдресацииExtendedTooltip + 50 + + <key>ru</key> + <value>В ряде случаев, роли исполнителя бывает недостаточно, чтобы точно определить круг исполнителей задач. +Для этого можно указать уточняющие основные и дополнительные объекты адресации.</value> + + Label + true + true + + Left + + + + ИспользуетсяВКонтекстеДругихИзмеренийАдресацииКонтекстноеМеню + 8 + true + + CheckBoxField + Enter + true + Left + true + + ГруппаАдресацииДополнительно 38 - - ИспользуетсяВКонтекстеДругихИзмеренийАдресации - 7 + + Пояснение + 36 true true true - - Объект.ИспользуетсяСОбъектамиАдресации - - Right - - ru - Роль может назначаться исполнителям с указанием определенных объектов адресации. - - - OnChange - ИспользуетсяВКонтекстеДругихИзмеренийАдресацииПриИзменении - - ИспользуетсяВКонтекстеДругихИзмеренийАдресацииExtendedTooltip - 50 + ПояснениеExtendedTooltip + 54 Label true true @@ -384,16 +428,19 @@ - ИспользуетсяВКонтекстеДругихИзмеренийАдресацииКонтекстноеМеню - 8 + ПояснениеКонтекстноеМеню + 37 true - CheckBoxField - Enter - true - Left - true - + Label + true + true + + Style.ПоясняющийТекст + + + Left + ГруппаТипыОбъектовАдресации @@ -480,44 +527,6 @@ Normal - - Пояснение - 36 - - <key>ru</key> - <value>В ряде случаев, роли исполнителя бывает недостаточно, чтобы точно определить круг исполнителей задач. -Для этого можно указать уточняющие основные и дополнительные объекты адресации.</value> - - true - true - - true - - - ПояснениеExtendedTooltip - 54 - Label - true - true - - Left - - - - ПояснениеКонтекстноеМеню - 37 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - true true @@ -564,9 +573,7 @@
    UsualGroup - Vertical Auto - NormalSeparation true true Auto @@ -596,7 +603,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..2752e7726 --- /dev/null +++ b/SSL/src/Catalogs/РолиИсполнителей/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,17 @@ + +

    Описание свойств роли исполнителя.

    +

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

    +

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

    +

    Список ролей поставляется в составе программы, но может быть расширен при необходимости.

    +

    Сведения о роли исполнителя

    +
    • В поле Наименование напишите полное наименование роли; +
    • Код - проставляется автоматически. +
    • В поле Краткое представление напишите сокращенное наименование роли для удобства использования. По умолчанию в это поле автоматически копируется Код.

    Адресация задач исполнителям

    +
    • Включите соответствующий флажок, если Роль может назначаться исполнителям без указания уточняющих объектов; +
    • Для того чтобы выбрать объекты адресации, включите флажок Роль назначается исполнителям с обязательным уточнением. +
      • В поле Основные объекты адресации выберите из списка значение Все объекты адресации или конкретный объект адресации задач. +
      • Поле Дополнительные объекты адресации заполняется аналогично.
    • В поле Комментарий напишите дополнительные сведения о роли исполнителя.

    Исполнители роли

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

    См. также:

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РолиИсполнителей/Help/ru.html b/SSL/src/Catalogs/РолиИсполнителей/Help/ru.html index 4ddf38d4d..24632ac55 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/Help/ru.html +++ b/SSL/src/Catalogs/РолиИсполнителей/Help/ru.html @@ -1,28 +1,35 @@ - -

    Роли исполнителей могут использоваться бизнес-процессами для ролевой маршрутизации задач. В этом случае поручение выдается не персонально исполнителю, а некоторой роли (например, "Старший по залу"), а соответствие пользователей ролям задается в списке "Роли и исполнители" и используется программой для доставки поручений конкретным пользователям. В определенных случаях, роли исполнителя бывает недостаточно, чтобы точно определить исполнителей. Тогда необходимо указывать основной и дополнительный объекты адресации.

    -

    Роли, на которые не назначено ни одного исполнителя, подсвечиваются красным цветом.

    -

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

    -

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

    -

    + +

    Предназначен для управления ролями исполнителей.

    +

    Открывается по команде Роли исполнителей в разделе Бизнес-процессы и задачи.

    +

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

    +

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

    +

    Список ролей поставляется в составе программы, но может быть расширен при необходимости.

    +

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

    +

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

    +

    Предопределенная роль Координатор выполнения задач может использоваться для получения уведомлений о просроченных и зависших задачах по всем или выбранным объектам адресации. По умолчанию, пользователи, назначенные на роль Координатор выполнения задач, получают уведомления по всем таким задачам, адресованным любым исполнителям. Если же требуется отслеживать просроченные и зависшие задачи только по определенным объектам адресации, то необходимо назначить себя на роль Координатор выполнения задач только по выбранным объектам адресации.

    +

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

    +

    В списке выводится:

    +
    • Наименование - полное наименование роли; +
    • Краткое представление - сокращенное наименование роли для удобства использования. По умолчанию в это поле автоматически копируется Код; +
    • Код - проставляется автоматически.

    Пример использования ролей

    - + - + - + -
    Роль исполнителя Основной объект адресации
    (тип, значение)
    Дополнительный объект адресации
    (тип, значение)
    ПользовательПояснение
    Координатор выполнения задачПояснение
    Координатор выполнения задач - - Федоров К.Федоров К. получает уведомления по всем просроченным и зависшим задачам, кроме тех, которые поступают Иванову И. и Петрову А.
    Координатор выполнения задачФедоров К. получает уведомления по всем просроченным и зависшим задачам, кроме тех, которые поступают Иванову И. и Петрову А.
    Координатор выполнения задач Структурное подразделение,
    Отдел бухгалтерии
    - Иванов И.Федоров К. получает уведомления по всем просроченным и зависшим задачам по структурному поздразделению "Отдел бухгалтерии", кроме тех, которые поступают Петрову А.*
    Координатор выполнения задачФедоров К. получает уведомления по всем просроченным и зависшим задачам по структурному подразделению "Отдел бухгалтерии", кроме тех, которые поступают Петрову А.*
    Координатор выполнения задач Структурное подразделение,
    Отдел бухгалтерии
    Проект,
    Проект по внедрению системы бухучета
    Петров А.Петров А. получает уведомления по всем просроченным и зависшим задачам по структурному поздразделению "Отдел бухгалтерии" и проекту "Проект по внедрению системы бухучета".*

     

    -

    * если исключить Иванова И. и Петрова А. из роли "Координатор выполнения задач", то Федоров К. будет получать уведомления также и по их объектам адресации.

    -

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

    -

    См. также: 

    - \ No newline at end of file +Петров А. получает уведомления по всем просроченным и зависшим задачам по структурному подразделению "Отдел бухгалтерии" и проекту "Проект по внедрению системы бухучета".*

     

    +

    * если исключить Иванова И. и Петрова А. из роли Координатор выполнения задач, то Федоров К. будет получать уведомления также и по их объектам адресации.

    +

    Ввод новой роли

    +
    • Нажмите Создать, заполните необходимые поля.

    См. также: 

    + \ No newline at end of file diff --git a/SSL/src/Catalogs/РолиИсполнителей/РолиИсполнителей.mdo b/SSL/src/Catalogs/РолиИсполнителей/РолиИсполнителей.mdo index 611d57937..b41a54752 100644 --- a/SSL/src/Catalogs/РолиИсполнителей/РолиИсполнителей.mdo +++ b/SSL/src/Catalogs/РолиИсполнителей/РолиИсполнителей.mdo @@ -320,6 +320,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice @@ -338,6 +343,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Form.form deleted file mode 100644 index c3cc0d311..000000000 --- a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Form.form +++ /dev/null @@ -1,30 +0,0 @@ - - - None - false - - ФормаКоманднаяПанель - -1 - Left - true - - - OnCreateAtServer - ПриСозданииНаСервере - - DontBlock - true - true - true - Vertical - true - true - true - UseIfNecessary - auto - true - - - - - diff --git a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Module.bsl deleted file mode 100644 index 7ba88b9bd..000000000 --- a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаСписка/Module.bsl +++ /dev/null @@ -1,15 +0,0 @@ - -#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - ПрисоединенныеФайлы.ВызватьИсключениеОткрытияФормы(ЭтотОбъект); - -КонецПроцедуры - -#КонецОбласти diff --git a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Form.form deleted file mode 100644 index 15a72967d..000000000 --- a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Form.form +++ /dev/null @@ -1,66 +0,0 @@ - - - - ФормаКоманднаяПанель - -1 - Left - - - OnCreateAtServer - ПриСозданииНаСервере - - LockOwner - true - true - true - Vertical - true - true - true - UseIfNecessary - auto - true - - Ключ - - <key>ru</key> - <value>Ключ</value> - - 1 - - AnyRef - - - true - - - true - - - - ПерейтиКФормеФайла1 - - <key>ru</key> - <value>Перейти к форме файла1</value> - - 1 - - ru - Перейти к форме файла1 - - - true - - - - ПерейтиКФормеФайла - - - Auto - Auto - - - - - - diff --git a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Module.bsl deleted file mode 100644 index 37494d69d..000000000 --- a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/Forms/ФормаЭлемента/Module.bsl +++ /dev/null @@ -1,24 +0,0 @@ - -#Область ОбработчикиСобытийФормы -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - ПрисоединенныеФайлы.ПриСозданииНаСервереПрисоединенныйФайл(ЭтотОбъект); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиКомандФормы -&НаКлиенте -Процедура ПерейтиКФормеФайла(Команда) - - ПрисоединенныеФайлыКлиент.ПерейтиКФормеПрисоединенногоФайла(ЭтотОбъект); - -КонецПроцедуры - -#КонецОбласти diff --git a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/СообщениеSMSПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/СообщениеSMSПрисоединенныеФайлы.mdo index 854ddc61a..72f39eebc 100644 --- a/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/СообщениеSMSПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/СообщениеSMSПрисоединенныеФайлы/СообщениеSMSПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ - Use + DontUse Managed Use @@ -109,16 +109,12 @@ AsDescription InDialog BothWays - Catalog.СообщениеSMSПрисоединенныеФайлы.Form.ФормаЭлемента - Catalog.СообщениеSMSПрисоединенныеФайлы.Form.ФормаСписка - Catalog.СообщениеSMSПрисоединенныеФайлы.Form.ФормаСписка Автор ru Автор - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -183,7 +179,6 @@ ru Дата создания - Дата добавления файла в базу Date @@ -226,7 +221,6 @@ ru Изменил - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -250,7 +244,6 @@ ru Индекс картинки - Индекс иконки, соответствующей расширению файла, для показа в списке Number @@ -274,7 +267,6 @@ ru Описание - Описание файла String @@ -314,7 +306,6 @@ ru Путь к файлу - Дополнительный путь к файлу на диске (в случае если ТипХраненияФайла - на диске) String @@ -335,7 +326,6 @@ ru Размер - Размер файла Number @@ -426,7 +416,6 @@ ru Текст - Текст, извлеченный из файла - для полнотекстового поиска ValueStorage @@ -446,7 +435,6 @@ ru Тип хранения файла - Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске EnumRef.ТипыХраненияФайлов @@ -466,7 +454,6 @@ ru Том - Ссылка на том (в случае если ТипХраненияФайла - на диске) CatalogRef.ТомаХраненияФайлов @@ -486,7 +473,6 @@ ru Файл хранилище - Служебное поле для обмена файлами в РИБ ValueStorage @@ -602,7 +588,6 @@ ru Отпечаток - Отпечаток сертификата String @@ -658,7 +643,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage @@ -739,7 +723,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage @@ -753,22 +736,4 @@ Use - - ФормаСписка - - ru - Форма списка - - PersonalComputer - MobileDevice - - - ФормаЭлемента - - ru - Форма элемента - - PersonalComputer - MobileDevice - diff --git a/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Form.form b/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Form.form index c89a80223..5d509baca 100644 --- a/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Form.form +++ b/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Form.form @@ -54,8 +54,10 @@ Left true + 12 true true + false true true true @@ -94,6 +96,7 @@ Left true + 5 true true true @@ -134,6 +137,7 @@ Left true + 10 true true true @@ -174,6 +178,7 @@ Left true + 10 true true true @@ -771,7 +776,7 @@ ПриСозданииНаСервере 100 - 32 + 12 LockOwner true true diff --git a/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Help/ru.html b/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Help/ru.html index d67c0b1eb..bdcceca18 100644 --- a/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Help/ru.html +++ b/SSL/src/Catalogs/СтраныМира/Forms/Классификатор/Help/ru.html @@ -1,15 +1,15 @@ +

    Общероссийский классификатор стран мира (ОКСМ)

    -

    Общероссийский классификатор стран мира (ОКСМ) ходит в состав Единой системы классификации и кодирования технико-экономической и социальной информации (ЕСКК) в Российской Федерации.

    +

    Общероссийский классификатор стран мира (ОКСМ) входит в состав Единой системы классификации и кодирования технико-экономической и социальной информации (ЕСКК) в Российской Федерации.

    ОКСМ гармонизирован с Международным стандартом ИСО 3166-97 «Коды для представления наименований стран», разработанным Международной организацией по стандартизации (ИСО), и Межгосударственным классификатором стран мира MK (ИСО 3166) 004-97.

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

    В отличие от стандартов ISO 3166 и ГОСТ 7.67, в ОКСМ, согласно приказу [1] Ростехрегулирования, с 1 января 2009 года входят республики Абхазия и Южная Осетия, которые признаны Россией [2].

    @@ -18,9 +18,14 @@ SUP {
  • наименований,
  • буквенной идентификации.
  • Блок цифровой идентификации содержит трёхзначный цифровой код страны мира, построенный с использованием порядкового метода кодирования.

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

    -

    Блок буквенной идентификации стран мира содержит двухзначный (альфа-2) и трёхзначный (альфа-3) буквенные коды, знаками которых являются буквы латинского алфавита. Эти коды преднахназначены для идентификации государств и зависимых территорий, основных административных образований внутри государств, согласно ГОСТ 7.67 и ISO 3166.

    -

    Цифровой код имеет приоретет перед буквенными кодами, заключающийся в том, что на него не влияют изменения в наименованиях стран мира, которые могут повлечь за собой изменения кодов альфа-2 и альфа-3

    -

    Примечания:

    +

    Блок буквенной идентификации стран мира содержит двухзначный (альфа-2) и трёхзначный (альфа-3) буквенные коды, знаками которых являются буквы латинского алфавита. Эти коды предназначены для идентификации государств и зависимых территорий, основных административных образований внутри государств согласно ГОСТ 7.67 и ISO 3166.

    +

    Цифровой код имеет приоритет перед буквенными кодами, заключающийся в том, что на него не влияют изменения в наименованиях стран мира, которые могут повлечь за собой изменения кодов альфа-2 и альфа-3.

    +

    Выбор страны

    +
    • Выделите страну, нажмите Выбрать.

    См. также:

    +

    +

    +

    Примечания:

    1. Изменение 8/2008 ОКСМ. Принято и введено в действие Приказом Федерального агентства по техническому регулированию и метрологии от 03.12.2008 N 352-ст. Дата введения — 01.01.2009 ↩
    2. Указ Президента Российской Федерации от 26.08.2008 № 1260 «О признании Республики Абхазия» ↩
      \ No newline at end of file diff --git a/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Form.form index fe43b7d6a..20313d194 100644 --- a/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Form.form @@ -1,5 +1,41 @@ + + ГруппаПользовательскихНастроек + 36 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 37 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + Список 1 @@ -45,8 +81,10 @@ Left true + 12 true true + false @@ -81,6 +119,7 @@ Left true + 5 true true @@ -117,6 +156,7 @@ Left true + 10 true true @@ -153,6 +193,7 @@ Left true + 10 true true @@ -411,10 +452,10 @@ СписокСтрокаПоиска - 36 + 38 СписокСтрокаПоискаРасширеннаяПодсказка - 38 + 40 Label true true @@ -424,7 +465,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 37 + 39 true Список @@ -434,10 +475,10 @@ СписокСостояниеПросмотра - 39 + 41 СписокСостояниеПросмотраРасширеннаяПодсказка - 41 + 43 Label true true @@ -447,7 +488,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 40 + 42 true ViewStatusAddition @@ -458,10 +499,10 @@ СписокУправлениеПоиском - 42 + 44 СписокУправлениеПоискомРасширеннаяПодсказка - 44 + 46 Label true true @@ -471,7 +512,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 43 + 45 true SearchControlAddition @@ -530,6 +571,7 @@ true true + ГруппаПользовательскихНастроек
      None diff --git a/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Module.bsl index f953934dc..b7633f080 100644 --- a/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/СтраныМира/Forms/ФормаСписка/Module.bsl @@ -28,7 +28,7 @@ Элементы.СписокВыбрать.КнопкаПоУмолчанию = РежимВыбора; Элементы.СписокВыбратьИзКлассификатора.Видимость = (РежимВыбора И Не ТолькоДанныеКлассификатора); - Элементы.СписокКлассификатор.Видимость = Не Элементы.СписокВыбратьИзКлассификатора.Видимость; + Элементы.СписокКлассификатор.Видимость = МожноДобавлятьВСправочник; // По флагам определяем режим Если РежимВыбора Тогда diff --git a/SSL/src/Catalogs/СтраныМира/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/СтраныМира/Forms/ФормаЭлемента/Form.form index ea369d7a1..027ff6833 100644 --- a/SSL/src/Catalogs/СтраныМира/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/СтраныМира/Forms/ФормаЭлемента/Form.form @@ -280,6 +280,7 @@ OnCreateAtServer ПриСозданииНаСервере + 50 LockOwner true true diff --git a/SSL/src/Catalogs/СтраныМира/Help/ru.html b/SSL/src/Catalogs/СтраныМира/Help/ru.html index 84bce8ece..d568debd0 100644 --- a/SSL/src/Catalogs/СтраныМира/Help/ru.html +++ b/SSL/src/Catalogs/СтраныМира/Help/ru.html @@ -1,16 +1,26 @@ -

      Справочник стран мира

      -

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

      -

      Справочник может быть заполнен как вручную, так и по данным общероссийского классификатор стран мира (ОКСМ)

      -

      Поле "Код" содержит трёхзначный цифровой код страны мира, позволяющий однозначно идентифицировать страну согласно ОКСМ. Для стран, таможенных союзов и прочих данных, не относящихся к классификатору стран (например Евросоюз), в это поле рекомендуется вводить "--"

      -

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

      -

      Поля "Код Альфа-2" и "Код Альфа-3" содержат двухзначный (альфа-2) и трёхзначный (альфа-3) коды для идентификации государств и зависимых территорий, основных административных образований внутри государств, согласно ГОСТ 7.67 и ISO 3166.

      \ No newline at end of file + +

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

      +

      Открывается по команде Страны мира на панели навигации раздела Справочники. В списке можно хранить только несколько необходимых для работы стран.

      +

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

      +

      В списке выводится информация:

      +
      • Поля Наименование и Полное наименование предназначены для хранения соответственно краткого и полного официального наименования страны мира. Для представления страны, в том числе и при печати, будет использовано по умолчанию краткое наименование. Отсутствие в позиции списка полного наименования страны мира означает его совпадение с кратким наименованием. +
      • +
        Поле Код содержит трёхзначный цифровой код страны мира, позволяющий однозначно идентифицировать страну согласно ОКСМ. Для стран, таможенных союзов и прочих данных, не относящихся к классификатору стран (например, Евросоюз), в это поле рекомендуется вводить "--".
        +
      • +
        Поля Код Альфа-2 и Код Альфа-3 содержат двухзначный (альфа-2) и трёхзначный (альфа-3) коды для идентификации государств и зависимых территорий, основных административных образований внутри государств, согласно ГОСТ 7.67 и ISO 3166.

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

      +

      Ввод вручную

      +

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

      +
      • Для того чтобы добавить новую страну в список стран, нажмите  Создать. +
      • Не рекомендуется вводить вручную страны, имеющиеся в классификаторе, так как ручной ввод увеличивает возможность ошибок. +
      • Программа предлагает выбрать страну из классификатора. Подтвердите свой выбор, в ответ на вопрос программы нажав кнопку Да. +
      • Для того чтобы ввести страну вручную, например, "Евросоюз", нажмите  Нет. Заполните необходимые поля. Вместо цифрового кода автоматически предлагается значение "--", так как это значение используется в печатных формах для стран, отсутствующих в классификаторе (см., например, Письмо Минфина России от 10.02.12 № 03-07-09/06).

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/СтраныМира/ManagerModule.bsl b/SSL/src/Catalogs/СтраныМира/ManagerModule.bsl index d60791bcf..dc5f60444 100644 --- a/SSL/src/Catalogs/СтраныМира/ManagerModule.bsl +++ b/SSL/src/Catalogs/СтраныМира/ManagerModule.bsl @@ -9,10 +9,14 @@ // Наименование - Строка - наименование страны. Если не указано, то поиск по наименованию не производится // // Возвращаемое значение: -// Структура - содержит поля "Ссылка", "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3". -// Если страна не найдена в справочнике, но найдена в классфикаторе, то поле "Ссылка" не заполнено -// -// Если страна не найдена ни в адресе, ни в классификаторе, то возвращается значение Неопределено +// Структура - поля: +// * Код - Строка - реквизит найденной страны +// * Наименование - Строка - реквизит найденной страны +// * НаименованиеПолное - Строка - реквизит найденной страны +// * КодАльфа2 - Строка - реквизит найденной страны +// * КодАльфа3 - Строка - реквизит найденной страны +// * Ссылка - СправочникаСсылка.СтраныМира - реквизит найденной страны +// Неопределено - страна не найдена // Функция ДанныеСтраныМира(Знач КодСтраны = Неопределено, Знач Наименование = Неопределено) Экспорт Если КодСтраны=Неопределено И Наименование=Неопределено Тогда @@ -70,8 +74,13 @@ // КодСтраны - Строка, Число - код ОКСМ страны // // Возвращаемое значение: -// Структура, Неопределено - в случае успеха - структура с полями "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3". -// В случае отсуствия страны в классфикаторе - Неопределено +// Структура - поля: +// * Код - Строка - реквизит найденной страны +// * Наименование - Строка - реквизит найденной страны +// * НаименованиеПолное - Строка - реквизит найденной страны +// * КодАльфа2 - Строка - реквизит найденной страны +// * КодАльфа3 - Строка - реквизит найденной страны +// Неопределено - страна не найдена // Функция ДанныеКлассификатораСтранМираПоКоду(Знач КодСтраны) Экспорт @@ -93,8 +102,13 @@ // Наименование - Строка - наименование страны // // Возвращаемое значение: -// Структура, Неопределено - в случае успеха - структура с полями "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3". -// В случае отсуствия страны в классфикаторе - Неопределено +// Структура - поля: +// * Код - Строка - реквизит найденной страны +// * Наименование - Строка - реквизит найденной страны +// * НаименованиеПолное - Строка - реквизит найденной страны +// * КодАльфа2 - Строка - реквизит найденной страны +// * КодАльфа3 - Строка - реквизит найденной страны +// Неопределено - страна не найдена // Функция ДанныеКлассификатораСтранМираПоНаименованию(Знач Наименование) Экспорт ДанныеКлассификатора = ТаблицаКлассификатора(); @@ -114,7 +128,7 @@ // // Параметры: // Добавлять - Булево - если Истина, то добавляются страны, которые есть в классфикаторе, -// но отсутствуют в справочнике стран мира. +// но отсутствуют в справочнике стран мира. // Процедура ОбновитьСтраныМираПоКлассификатору(Знач Добавлять = Ложь) Экспорт ВсеОшибки = ""; @@ -172,11 +186,12 @@ // Создает или возвращает существующую ссылку по данным классификатора // // Параметры: -// Отбор - Структура - содержит поле Код для поиска страны в классфикаторе -// Данные - Структура - для заполнения оставшихся полей создаваемого объекта. +// Отбор - Структура - содержит поле: +// * Код - Строка - для поиска страны в классфикаторе +// Данные - Структура - для заполнения одноименных оставшихся полей создаваемого объекта. // // Возвращаемое значение: -// СправочникСсылка - ссылка на созданый элемент +// СправочникСсылка.СтраныМира - ссылка на созданый элемент // Функция СсылкаПоДаннымКлассификатора(Знач Отбор, Знач ДополнительныеДанные = Неопределено) Экспорт @@ -216,10 +231,10 @@ // // Возвращаемое значение: // Массив - содержит структуры с полями: -// Имя - Строка - имя реквизита поиска -// ШаблонПредставления - Строка - шаблон для формирования значения представления по именам реквизитов, -// например: "%1.Наменование (%1.Код)". Здесь "Наименование" и "Код" - имена реквизитов, -// "%1" - заполнитель для передачи псевдонима таблицы +// * Имя - Строка - имя реквизита поиска +// * ШаблонПредставления - Строка - шаблон для формирования значения представления по именам реквизитов, +// например: "%1.Наменование (%1.Код)". Здесь "Наименование" и "Код" - имена реквизитов, +// "%1" - заполнитель для передачи псевдонима таблицы // Функция ПоляПоиска() Экспорт Результат = Новый Массив; @@ -261,11 +276,11 @@ // // Возвращаемое значение: // ТаблицаЗначений - данные классифкатора с колонками: -// Код - Строка(3, Переменная), -// Наименование - Строка(60, Переменная), -// НаименованиеПолное - Строка(100, Переменная), -// КодАльфа2 - Строка(2, Переменная), -// КодАльфа3 - Строка(3, Переменная) +// * Код - Строка - данные страны +// * Наименование - Строка - данные страны +// * НаименованиеПолное - Строка - данные страны +// * КодАльфа2 - Строка - данные страны +// * КодАльфа3 - Строка - данные страны // // Таблица значений проиндексирована по полям "Код", "Наименование" // @@ -502,6 +517,18 @@ КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Т.к. данный справочник реализует свой метод загрузки данные из макета +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + + #КонецЕсли #КонецОбласти diff --git a/SSL/src/Catalogs/СтраныМира/ObjectModule.bsl b/SSL/src/Catalogs/СтраныМира/ObjectModule.bsl index 6efd87684..b4e8b4c8e 100644 --- a/SSL/src/Catalogs/СтраныМира/ObjectModule.bsl +++ b/SSL/src/Catalogs/СтраныМира/ObjectModule.bsl @@ -1,10 +1,19 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ПрограммныйИнтерфейс -// // Контролирует уникальность элемента в базе -// Возвращает структуру - описание элемента, существующего в базе +// +// Возвращаемое значение: +// Неопределено - нет ошибок +// Структура - описание элемента, существующего в базе. Поля: +// * ОписаниеОшибки - Строка - текст ошибки +// * Код - Строка - реквизит уже существующего элемента +// * Наименование - Строка - реквизит уже существующего элемента +// * НаименованиеПолное - Строка - реквизит уже существующего элемента +// * КодАльфа2 - Строка - реквизит уже существующего элемента +// * КодАльфа3 - Строка - реквизит уже существующего элемента +// * Ссылка - СправочникаСсылка.СтраныМира - реквизит уже существующего элемента // Функция СуществующийЭлемент() Экспорт Результат = Неопределено; @@ -32,7 +41,7 @@ | Справочник.СтраныМира |ГДЕ | Код=&Код - | И Ссылка<>&Ссылка + | И Ссылка <> &Ссылка |"); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("Код", КодПоиска); diff --git a/SSL/src/Catalogs/СтроковыеКонтактыВзаимодействий/ManagerModule.bsl b/SSL/src/Catalogs/СтроковыеКонтактыВзаимодействий/ManagerModule.bsl index 971060863..6df2b8312 100644 --- a/SSL/src/Catalogs/СтроковыеКонтактыВзаимодействий/ManagerModule.bsl +++ b/SSL/src/Catalogs/СтроковыеКонтактыВзаимодействий/ManagerModule.bsl @@ -15,6 +15,16 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаСписка/Form.form index 810b9d13e..9bc6473c5 100644 --- a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаСписка/Form.form @@ -1,5 +1,91 @@ + + ГруппаПользовательскихНастроек + 22 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 24 + + ФормаВключитьОтключитьРегламентноеЗадание + 12 + true + true + + true + + + ФормаВключитьОтключитьРегламентноеЗаданиеExtendedTooltip + 14 + Label + true + true + + Left + + + Form.Command.ВключитьОтключитьРегламентноеЗадание + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + КоманднаяПанельРасширеннаяПодсказка + 25 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -148,10 +234,10 @@ СписокСтрокаПоиска - 22 + 26 СписокСтрокаПоискаРасширеннаяПодсказка - 24 + 28 Label true true @@ -161,7 +247,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 23 + 27 true Список @@ -171,10 +257,10 @@ СписокСостояниеПросмотра - 25 + 29 СписокСостояниеПросмотраРасширеннаяПодсказка - 27 + 31 Label true true @@ -184,7 +270,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 26 + 30 true ViewStatusAddition @@ -195,10 +281,10 @@ СписокУправлениеПоиском - 28 + 32 СписокУправлениеПоискомРасширеннаяПодсказка - 30 + 34 Label true true @@ -208,7 +294,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 29 + 33 true SearchControlAddition @@ -291,39 +377,13 @@ true true + ГруппаПользовательскихНастроек
      ФормаКоманднаяПанель -1 - - ФормаВключитьОтключитьРегламентноеЗадание - 12 - true - true - - true - - - ФормаВключитьОтключитьРегламентноеЗаданиеExtendedTooltip - 14 - Label - true - true - - Left - - - Form.Command.ВключитьОтключитьРегламентноеЗадание - Normal - Auto - true - true - UserCmds - Auto - Left - true DontBlock true diff --git a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Form.form index 2d2c5ba9c..bc50f30d9 100644 --- a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Form.form @@ -807,7 +807,7 @@ OnCreateAtServer ПриСозданииНаСервере - LockOwner + DontBlock true true true diff --git a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Help/ru.html index 07be766fe..c7adb3a8d 100644 --- a/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/СценарииОбменовДанными/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ - +

      Основное назначение сценария - это выполнение синхронизации данных автоматически по заданному расписанию. Сценарий необходим для задания расписания и порядка отправки и получения данных.

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

      Настройка сценария синхронизации

      @@ -12,4 +12,5 @@
    3. Напишите Комментарий - краткое описание сценария.
    4. Выполнение сценария

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

      См. также:

      -

      Работа с формами

      \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/Catalogs/СценарииОбменовДанными/Help/ru.html b/SSL/src/Catalogs/СценарииОбменовДанными/Help/ru.html index 9001b1c9f..9b6efa70f 100644 --- a/SSL/src/Catalogs/СценарииОбменовДанными/Help/ru.html +++ b/SSL/src/Catalogs/СценарииОбменовДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

      Предназначен для настройки и хранения сценариев синхронизации данных.

      Открыть список можно из раздела Синхронизация данных по соответствующей команде. Также можно открыть список сценариев из списка Синхронизация данных по соответствующей команде меню Все действия.

      В списке выводится:

      diff --git a/SSL/src/Catalogs/СценарииОбменовДанными/СценарииОбменовДанными.mdo b/SSL/src/Catalogs/СценарииОбменовДанными/СценарииОбменовДанными.mdo index 4645115dd..5d77c4bb6 100644 --- a/SSL/src/Catalogs/СценарииОбменовДанными/СценарииОбменовДанными.mdo +++ b/SSL/src/Catalogs/СценарииОбменовДанными/СценарииОбменовДанными.mdo @@ -100,6 +100,7 @@ Use + true ru diff --git a/SSL/src/Catalogs/ТелефонныйЗвонокПрисоединенныеФайлы/ТелефонныйЗвонокПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/ТелефонныйЗвонокПрисоединенныеФайлы/ТелефонныйЗвонокПрисоединенныеФайлы.mdo index 2684162e1..cc680d404 100644 --- a/SSL/src/Catalogs/ТелефонныйЗвонокПрисоединенныеФайлы/ТелефонныйЗвонокПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/ТелефонныйЗвонокПрисоединенныеФайлы/ТелефонныйЗвонокПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ - Use + DontUse Managed Use @@ -115,7 +115,6 @@ ru Автор - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -180,7 +179,6 @@ ru Дата создания - Дата добавления файла в базу Date @@ -223,7 +221,6 @@ ru Изменил - Автор - пользователь, добавивший файл CatalogRef.Пользователи @@ -247,7 +244,6 @@ ru Индекс картинки - Индекс иконки, соответствующей расширению файла, для показа в списке Number @@ -271,7 +267,6 @@ ru Описание - Описание файла String @@ -312,7 +307,6 @@ ru Путь к файлу - Дополнительный путь к файлу на диске (в случае если тип хранения файла - на диске) String @@ -424,7 +418,6 @@ ru Текст - Текст, извлеченный из файла - для полнотекстового поиска ValueStorage @@ -444,7 +437,6 @@ ru Тип хранения файла - Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске EnumRef.ТипыХраненияФайлов @@ -464,7 +456,6 @@ ru Том - Ссылка на том (в случае если тип хранения файла - на диске) CatalogRef.ТомаХраненияФайлов @@ -484,7 +475,6 @@ ru Файл хранилище - Служебное поле для обмена файлами в РИБ ValueStorage @@ -600,7 +590,6 @@ ru Отпечаток - Отпечаток сертификата String @@ -656,7 +645,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage @@ -737,7 +725,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Form.form index 7b39ac1c5..3014f3699 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Form.form @@ -1,5 +1,227 @@ + + ГруппаПользовательскихНастроек + 62 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 63 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 64 + + ФормаСоздать + 48 + true + true + + true + + + ФормаСоздатьРасширеннаяПодсказка + 49 + Label + true + true + + Left + + + Form.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 50 + true + true + + true + + + ФормаСкопироватьРасширеннаяПодсказка + 51 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменить + 52 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУстановкаПометкиУдаления + 28 + true + true + + true + + + ФормаУстановкаПометкиУдаленияРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + Form.Command.УстановкаПометкиУдаления + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаСтандартныеКоманды + 46 + true + true + + true + + + <key>ru</key> + <value>Форма стандартные команды</value> + + + ru + Форма стандартные команды + + + ФормаСтандартныеКомандыРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + + Form + + + + ФормаСправка + 54 + true + true + + true + + + ФормаСправкаРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + CommandBar + + Left + + Список 1 @@ -14,98 +236,99 @@ true false None + Delete SetDeletionMark - - Наименование - 4 + + ВертикальнаяГруппа1 + 56 + + СписокНаименование + 4 + true + true + + true + + + Список.Description + + true + + СписокНаименованиеРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + + + + СписокКомментарий + 10 + true + true + + true + + + Список.Комментарий + + + СписокКомментарийРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + + СписокКомментарийКонтекстноеМеню + 11 + true + + LabelField + Enter + true + Left + true + + 25 + true + 1 + true + + true true true - - Список.Description - - true - - НаименованиеExtendedTooltip - 19 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ПорядокЗаполнения - 6 - true - true - - true - - - Список.ПорядокЗаполнения - - - ПорядокЗаполненияExtendedTooltip - 20 - Label - true - true - - Left - - - - ПорядокЗаполненияКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - МаксимальныйРазмер - 12 <key>ru</key> - <value>Максимальный размер (Мб)</value> + <value>Вертикальная группа 1</value> - true - true - - true - - - Список.МаксимальныйРазмер - - МаксимальныйРазмерExtendedTooltip - 21 + ВертикальнаяГруппа1РасширеннаяПодсказка + 57 Label true true @@ -113,39 +336,102 @@ Left
      - - МаксимальныйРазмерКонтекстноеМеню - 13 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true - - ПолныйПутьWindows - 14 + + ВертикальнаяГруппа2 + 58 + + СписокПорядокЗаполнения + 6 + true + true + + true + + + Список.ПорядокЗаполнения + + + СписокПорядокЗаполненияРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + + СписокПорядокЗаполненияКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + + + + СписокМаксимальныйРазмер + 12 + true + true + + true + + + Список.МаксимальныйРазмер + + + СписокМаксимальныйРазмерРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + + СписокМаксимальныйРазмерКонтекстноеМеню + 13 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + + + true + true + + true + <key>ru</key> - <value>Полный путь Microsoft Windows</value> + <value>Вертикальная группа 2</value> - true - true - - true - - - Список.ПолныйПутьWindows - - ПолныйПутьWindowsExtendedTooltip - 22 + ВертикальнаяГруппа2РасширеннаяПодсказка + 59 Label true true @@ -153,39 +439,110 @@ Left
      - - ПолныйПутьWindowsКонтекстноеМеню - 15 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true - - ПолныйПутьLinux - 16 + + ВертикальнаяГруппа3 + 60 + + СписокПолныйПутьWindows + 14 + + <key>ru</key> + <value>Полный путь Microsoft Windows</value> + + true + true + + true + + + Список.ПолныйПутьWindows + + + СписокПолныйПутьWindowsРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + + СписокПолныйПутьWindowsКонтекстноеМеню + 15 + true + + LabelField + Enter + true + Left + true + + 45 + true + true + + + + СписокПолныйПутьLinux + 16 + + <key>ru</key> + <value>Полный путь Linux</value> + + true + true + + true + + + Список.ПолныйПутьLinux + + + СписокПолныйПутьLinuxРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + + СписокПолныйПутьLinuxКонтекстноеМеню + 17 + true + + LabelField + Enter + true + Left + true + + 45 + true + true + + + true + true + + true + <key>ru</key> - <value>Полный путь Linux</value> + <value>Вертикальная группа 3</value> - true - true - - true - - - Список.ПолныйПутьLinux - - ПолныйПутьLinuxExtendedTooltip - 23 + ВертикальнаяГруппа3РасширеннаяПодсказка + 61 Label true true @@ -193,60 +550,15 @@ Left - - ПолныйПутьLinuxКонтекстноеМеню - 17 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true - Комментарий - 10 - true - true - - true - - - Список.Комментарий - - - КомментарийExtendedTooltip - 24 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - 1 - true - - - - Ссылка + СписокСсылка 25 true true @@ -255,7 +567,7 @@ Список.Ref - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 27 Label true @@ -265,7 +577,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 26 true @@ -275,6 +587,7 @@ Left true + 1 true true @@ -287,10 +600,10 @@ СписокСтрокаПоиска - 46 + 66 СписокСтрокаПоискаРасширеннаяПодсказка - 48 + 68 Label true true @@ -300,7 +613,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 47 + 67 true Список @@ -310,10 +623,10 @@ СписокСостояниеПросмотра - 49 + 69 СписокСостояниеПросмотраРасширеннаяПодсказка - 51 + 71 Label true true @@ -323,7 +636,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 50 + 70 true ViewStatusAddition @@ -334,10 +647,10 @@ СписокУправлениеПоиском - 52 + 72 СписокУправлениеПоискомРасширеннаяПодсказка - 54 + 74 Label true true @@ -347,7 +660,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 53 + 73 true SearchControlAddition @@ -406,249 +719,21 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаСоздать - 30 - true - true - - true - - - ФормаСоздатьРасширеннаяПодсказка - 31 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСкопировать - 32 - true - true - - true - - - ФормаСкопироватьРасширеннаяПодсказка - 33 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - ФормаИзменить - 34 - true - true - - true - - - ФормаИзменитьРасширеннаяПодсказка - 35 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СписокУстановкаПометкиУдаления - 28 - true - true - - true - - - СписокУстановкаПометкиУдаленияРасширеннаяПодсказка - 29 - Label - true - true - - Left - - - Form.Command.УстановкаПометкиУдаления - Normal - Auto - true - true - UserCmds - Auto - - - ФормаНайти - 36 - true - true - - true - - - ФормаНайтиРасширеннаяПодсказка - 37 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОтменитьПоиск - 38 - true - true - - true - - - ФормаОтменитьПоискРасширеннаяПодсказка - 39 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - - ФормаНастройкаСписка - 40 - true - true - - true - - - ФормаНастройкаСпискаРасширеннаяПодсказка - 41 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - ФормаВывестиСписок - 42 - true - true - - true - - - ФормаВывестиСписокРасширеннаяПодсказка - 43 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОбновить - 44 - true - true - - true - - - ФормаОбновитьРасширеннаяПодсказка - 45 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - Left + + OnCreateAtServer + ПриСозданииНаСервере + Delete SetDeletionMark + 100 DontBlock true true diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Module.bsl index 9a1f4689d..be14f09ff 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаСписка/Module.bsl @@ -1,4 +1,17 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ФормаУстановкаПометкиУдаления.ТолькоВоВсехДействиях = Ложь; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + #Область ОбработчикиКомандФормы &НаКлиенте diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Form.form index 6d5ec3392..340647d0a 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Form.form @@ -119,31 +119,328 @@ - ГруппаПути - 11 - - ПолныйПутьWindows - 5 - - <key>ru</key> - <value>Для сервера 1С:Предприятия под управлением Microsoft Windows, (вида "\\servername\resource")</value> - + Свойства + 42 + + СвойстваГлавное + 44 + + ГруппаПути + 11 + + ПолныйПутьWindows + 5 + + <key>ru</key> + <value>Полный путь для сервера 1С:Предприятия под управлением Microsoft Windows</value> + + true + true + + true + + + Объект.ПолныйПутьWindows + + Top + + OnChange + ПолныйПутьWindowsПриИзменении + + + ПолныйПутьWindowsExtendedTooltip + 29 + Label + true + true + + Left + + + + ПолныйПутьWindowsКонтекстноеМеню + 6 + true + + InputField + + ru + Меняя путь тома, вы потеряете возможность доступа к уже созданным на этом томе файлам + + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + ru + \\servername\resource + + + + + ПолныйПутьLinux + 23 + + <key>ru</key> + <value>Полный путь для сервера 1С:Предприятия под управлением Linux</value> + + true + true + + true + + + Объект.ПолныйПутьLinux + + Top + + OnChange + ПолныйПутьLinuxПриИзменении + + + ПолныйПутьLinuxExtendedTooltip + 30 + Label + true + true + + Left + + + + ПолныйПутьLinuxКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа пути</value> + + + ГруппаПутиExtendedTooltip + 28 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + Порядок + 7 + true + true + + true + + + Объект.ПорядокЗаполнения + + + ПорядокExtendedTooltip + 31 + Label + true + true + + Left + + + + ПорядокКонтекстноеМеню + 8 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + ГруппаМаксимальныйРазмер + 19 + + МаксимальныйРазмер + 17 + true + true + + true + + + Объект.МаксимальныйРазмер + + + МаксимальныйРазмерExtendedTooltip + 33 + Label + true + true + + Left + + + + МаксимальныйРазмерКонтекстноеМеню + 18 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + ТекущийРазмер + 20 + true + true + + true + + + ТекущийРазмер + + + ru + Текущий размер всех файлов в томе в мегабайтах. + + + ТекущийРазмерExtendedTooltip + 34 + Label + true + true + + Left + + + + ТекущийРазмерКонтекстноеМеню + 21 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа максимальный размер</value> + + + ru + Группа максимальный размер + + + ГруппаМаксимальныйРазмерExtendedTooltip + 32 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + true true true - - Объект.ПолныйПутьWindows - - Top - - OnChange - ПолныйПутьWindowsПриИзменении - + + <key>ru</key> + <value>Главное</value> + - ПолныйПутьWindowsExtendedTooltip - 29 + СвойстваГлавноеРасширеннаяПодсказка + 45 Label true true @@ -151,53 +448,71 @@ Left - - ПолныйПутьWindowsКонтекстноеМеню - 6 - true - - InputField - - ru - Меняя путь тома, вы потеряете возможность доступа к уже созданным на этом томе файлам - - Auto - true - Left - true - - true - true - true - true - true - true - Normal + Page + + Vertical + auto - - ПолныйПутьLinux - 23 - - <key>ru</key> - <value>Для сервера 1С:Предприятия под управлением Linux</value> - + + СвойстваКомментарий + 46 + + Комментарий + 13 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 35 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 14 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + true + Normal + + true true true - - Объект.ПолныйПутьLinux - - Top - - OnChange - ПолныйПутьLinuxПриИзменении - + + <key>ru</key> + <value>Комментарий</value> + - ПолныйПутьLinuxExtendedTooltip - 30 + СвойстваКомментарийРасширеннаяПодсказка + 47 Label true true @@ -205,24 +520,10 @@ Left - - ПолныйПутьLinuxКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal + Page + + Vertical + auto true @@ -232,15 +533,11 @@ <key>ru</key> - <value>Полный путь</value> + <value>Свойства</value> - - ru - Группа пути - - ГруппаПутиExtendedTooltip - 28 + СвойстваРасширеннаяПодсказка + 43 Label true true @@ -248,224 +545,12 @@ Left - UsualGroup - - Vertical - Auto - StrongSeparation - true - true - auto - Auto + Pages + + TabsOnTop Auto - - Порядок - 7 - true - true - - true - - - Объект.ПорядокЗаполнения - - - ПорядокExtendedTooltip - 31 - Label - true - true - - Left - - - - ПорядокКонтекстноеМеню - 8 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ГруппаМаксимальныйРазмер - 19 - - МаксимальныйРазмер - 17 - - <key>ru</key> - <value>Максимальный размер, Мб</value> - - true - true - - true - - - Объект.МаксимальныйРазмер - - - МаксимальныйРазмерExtendedTooltip - 33 - Label - true - true - - Left - - - - МаксимальныйРазмерКонтекстноеМеню - 18 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ТекущийРазмер - 20 - true - true - - true - - - ТекущийРазмер - - - ТекущийРазмерExtendedTooltip - 34 - Label - true - true - - Left - - - - ТекущийРазмерКонтекстноеМеню - 21 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа максимальный размер</value> - - - ru - Группа максимальный размер - - - ГруппаМаксимальныйРазмерExtendedTooltip - 32 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Комментарий - 13 - true - true - - true - - - Объект.Комментарий - - - КомментарийExtendedTooltip - 35 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - ФормаКоманднаяПанель -1 @@ -568,7 +653,8 @@ ОбработкаПроверкиЗаполненияНаСервере WriteAndClose - LockOwner + 60 + DontBlock true true true @@ -598,7 +684,7 @@ ТекущийРазмер <key>ru</key> - <value>Текущий размер, Мб</value> + <value>Текущий размер, МБ</value> 2 diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Help/ru.html index 272e60bfc..2cc9118af 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/Forms/ФормаЭлемента/Help/ru.html @@ -1,3 +1,24 @@ - -

      Если сервер 1С:Предприятия работает под Linux, то путь к тому
       хранения файлов можно указать только локальный, например /home/path.
       Чтобы использовать UNC путь, нужно сделать на него ссылку.  Для этого
       под правами администратора сделайте следующее:
       
       mkdir folder
        --- вместо folder напишите имя каталога. например в каталоге /home
       делаем mkdir shared - создаст каталог shared с полным путем  /home/shared.
       
       
       mount -t cifs //server/share folder -o //domain/user, password=pwd
         - где //server/share - UNC путь к другому компьютеру , folder - путь
       каталога на Linux компьютере, например \home\shared, //domain/user - имя
       домена/пользователя, если нужно, pwd - пароль пользователя (если
       нужно).
       Если имя и пароль не нужны, команда выглядит так:
       mount -t cifs //server/share folder

      -

      После этого в пути к тому указываем folder, например /home/shared

      \ No newline at end of file + +

      Описание свойств тома хранения файлов.

      +

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

      +

      Для каждого тома необходимо указать:

      +
      • Наименование - полное наименование тома для хранения файлов; +
      • Код - заполняется автоматически; +
      • Полный путь +
        • Для сервера 1С:Предприятия под управлением Microsoft Windows - напишите путь к каталогу тома для сервера под управлением Microsoft Windows в формате UNC - \\Имя компьютера\Наименование папки\Наименование файла\;

      или

      +
        • Для сервера 1С:Предприятия под управлением Linux - напишите путь к каталогу для сервера под управлением Linux;
      • Порядок заполнения - введите целое число, по умолчанию равно 1. Заполнение томов осуществляется по порядку заполнения (по возрастанию) до полного заполнения тома. Эту особенность можно использовать, например, для временного отключения тома путем увеличения ему порядка заполнения. +
      • Максимальный размер -  можно указать максимальный размер всех файлов на томе (квота тома). Если суммарный размер файлов в томе превышает установленную квоту, то будет использован следующий по порядку том. Если ни на одном из доступных томов не будет достаточно места для размещения файла, то информация об этом будет записана в журнал регистрации и будет выдано сообщение об ошибке. Если квота установлена равной нулю, то при размещении файлов в томе она не проверяется;  +
      • Текущий размер, Мб - проставляется программой автоматически по мере наполнения тома, показывает, насколько том заполнен; +
      • В поле Комментарий напишите подробную информацию о томе.

      Особенности заполнения поля Полный путь для Linux

      +
      • Если сервер 1С:Предприятия работает под Linux, то путь к тому хранения файлов можно указать только локальный, например /home/path. Для того чтобы использовать UNC путь, нужно сделать на него ссылку.  Для этого под правами администратора сделайте следующее: +
        • выполните команду вида mkdir folder, где вместо "folder" напишите имя своего каталога. Например, в каталоге /home выполните команду mkdir shared - будет создан каталог shared с полным путем /home/shared. +
        • выполните команду вида  mount -t cifs //server/share folder -o //domain/user, password=pwd, где
             - где //server/share - UNC путь к другому компьютеру , folder - путь к каталогу на Linux компьютере, например \home\shared, //domain/user - имя домена/пользователя, если необходимо, pwd - пароль пользователя (если необходимо). +
        •  Если имя и пароль не нужны, команда выглядит так:  mount -t cifs //server/share folder.
      • После этого в пути к тому указываем folder, например /home/shared.

      Просмотр списка файлов в томе

      +
      • В каждом томе файлы хранятся в подкаталогах. На каждую дату создания версии файла создается свой подкаталог. Все файлы хранятся с оригинальным именем и расширением, между ними добавляется номер версии, например "Приказ.2.txt". +
      • Для того чтобы просмотреть список файлов в томе, выполните команду Файлы в томе на панели навигации тома. 

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/Help/ru.html b/SSL/src/Catalogs/ТомаХраненияФайлов/Help/ru.html index 9875e0137..9e684f798 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/Help/ru.html +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/Help/ru.html @@ -1,13 +1,25 @@ - -

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

      -

      Для каждого тома необходимо указать его наименование, порядок заполнения и UNC-путь к каталогу тома для сервера под управлением Microsoft Windows и/или путь к каталогу для сервера под управлением Linux.

      -

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

      -

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

      -

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

      -

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

      -

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

      -

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

      -

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

      -

      + +

      Предназначен для управления томами хранения файлов.

      +

      Используется в том случае, если установлен режим хранения файлов В томах на диске. Для этого в разделе Администрирование - Настройки работы с файлами включите флажок Хранить файлы в томах на диске,  после этого в разделах Администрирование - Настройки работы с файлами и Органайзер становится доступной команда Тома хранения файлов, по которой открывается список.

      +

      В списке выводится:

      +
      • Наименование - наименование тома хранения файлов; +
      • Порядок заполнения - целое число. Заполнение томов осуществляется по порядку заполнения по возрастанию до полного заполнения тома; +
      • Максимальный размер - можно указать максимальный размер всех файлов в томе (квота тома). Если квота установлена равной нулю, то при размещении файлов в томе она не проверяется. При установленном ненулевом значении Максимальный размер, если суммарный размер файлов в томе уже превышает установленную квоту, то будет использован следующий по порядку заполнения том. Если ни в одном из доступных томов не будет достаточно места для размещения файла, то информация об этом записывается в журнал регистрации и выводится сообщение об ошибке;  +
      • Полный путь Microsoft Windows - путь к каталогу тома для сервера под управлением Microsoft Windows в формате UNC: \\Имя компьютера\Наименование папки\Наименование файла\; +
      • Полный путь Linux - путь к каталогу для сервера под управлением Linux; +
      • Комментарий - подробная информация о томе.

      Ввод тома хранения файлов

      +
      • Нажмите  Создать, заполните необходимые поля.

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

      +

      Работа с томами хранения файлов

      +
      • При создании нового тома автоматически проверяется доступ к указанному в поле Полный путь каталогу, в случае ошибки выводится соответствующее сообщение.  +
      • Заполнение томов осуществляется по порядку (по возрастанию) до полного заполнения тома. Эту особенность можно использовать для временного отключения тома путем увеличения ему порядка заполнения. +
      • Уже созданному тому нельзя поменять пути. +
      • Созданный том нельзя удалить до тех пор, пока на него ссылаются какие-либо версии файлов. +
      • Ошибки доступа к томам помещаются в журнал регистрации и могут быть просмотрены администратором программы. +
      • В каждом томе файлы хранятся в подкаталогах по дате так, что на каждый день создается свой подкаталог. Все файлы в томах хранятся с оригинальным именем и расширением, между которыми добавляется номер версии, например "Приказ.1.txt". +
      • После переключения режима хранения файлов (например, в значение В томах на диске) все ранее накопленные файлы не перемещаются в тома - только вновь добавленные файлы будут размещаться в соответствии с настройкой. Для того чтобы перенести ранее накопленные файлы из информационной базы в тома, воспользуйтесь командой Перенос файлов в тома панели действий в разделе Органайзер. +
      • Если используется синхронизация данных между программой-источником и программой-приемником и при этом в программе-источнике используется хранение файлов в томах на дисках, то в процессе создания начального образа необходимо будет создать архивный файл с томами хранимых файлов. +
      • В процессе получения начального образа в программу-приемник необходимо будет указать и расположение архивного файла с томами хранимых файлов. Для получения файлов в томах из архива выполните команду Разместить файлы начального образа панели действий раздела Органайзер.

      -
      Примечание
      Для использования томов, расположенных на сетевых дисках сервер 1С:Предприятия 8 нужно запускать от лица доменного пользователя вида domain1\user1, имеющего права доступа к тому, указанному в виде UNC пути. Этот пользователь должен входить в группу Users локального компьютера,  иметь права "Run as service" и "Run as batch job" и права на каталоги, в которых сервер 1С:Предприятия 8 хранит служебные файлы - журнал регистрации, каталог временных файлов и пр.

      \ No newline at end of file +Примечание
      Для использования томов, расположенных на сетевых дисках, сервер 1С:Предприятия 8 нужно запускать от лица доменного пользователя вида domain1\user1, имеющего права доступа к тому, указанному в виде UNC пути. Этот пользователь должен входить в группу Users локального компьютера,  иметь права "Run as service" и "Run as batch job" и права на каталоги, в которых сервер 1С:Предприятия 8 хранит служебные файлы - журнал регистрации, каталог временных файлов и пр.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/ManagerModule.bsl b/SSL/src/Catalogs/ТомаХраненияФайлов/ManagerModule.bsl index 78290d3aa..2e5d1ce45 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/ManagerModule.bsl +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/ManagerModule.bsl @@ -14,6 +14,16 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git a/SSL/src/Catalogs/ТомаХраненияФайлов/ТомаХраненияФайлов.mdo b/SSL/src/Catalogs/ТомаХраненияФайлов/ТомаХраненияФайлов.mdo index 500f151ad..0b52e8350 100644 --- a/SSL/src/Catalogs/ТомаХраненияФайлов/ТомаХраненияФайлов.mdo +++ b/SSL/src/Catalogs/ТомаХраненияФайлов/ТомаХраненияФайлов.mdo @@ -133,7 +133,6 @@ ru Комментарий - Описание тома String @@ -153,9 +152,8 @@ МаксимальныйРазмер ru - Максимальный размер + Предел, МБ - Максимальный размер файлов на томе, в Мб Number @@ -164,7 +162,7 @@ ru - Максимальный размер файлов на томе, в Мб + Максимальный размер всех файлов в томе в мегабайтах. @@ -218,9 +216,8 @@ ПорядокЗаполнения ru - Порядок заполнения + Порядок - Определяет порядок заполнения томов - начинаем с наименьшего Number @@ -230,7 +227,8 @@ ru - Определяет порядок заполнения томов - начинаем с наименьшего + Порядок заполнения томов файлами, +начиная с наименьшего значения. diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ПомощникНастройкиУчетнойЗаписи/Module.bsl b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ПомощникНастройкиУчетнойЗаписи/Module.bsl index a8f0c8928..d91705f74 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ПомощникНастройкиУчетнойЗаписи/Module.bsl +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ПомощникНастройкиУчетнойЗаписи/Module.bsl @@ -489,16 +489,17 @@ ПроверкаЗавершиласьСОшибками = Ложь; - СообщениеСервераИсходящейПочты = ""; - Если ИспользоватьДляОтправки Тогда - СообщениеСервераИсходящейПочты = ПроверитьПодключениеКСерверуИсходящейПочты(); - КонецЕсли; - СообщениеСервераВходящейПочты = ""; Если ИспользоватьДляПолучения Тогда СообщениеСервераВходящейПочты = ПроверитьПодключениеКСерверуВходящейПочты(); КонецЕсли; + СообщениеСервераИсходящейПочты = ""; + Если ИспользоватьДляОтправки Тогда + СообщениеСервераИсходящейПочты = ПроверитьПодключениеКСерверуИсходящейПочты(); + КонецЕсли; + + ТекстОшибки = ""; Если Не ПустаяСтрока(СообщениеСервераИсходящейПочты) Тогда ТекстОшибки = НСтр("ru = 'Не удалось подключиться к серверу исходящей почты:'" + Символы.ПС) + СообщениеСервераИсходящейПочты + Символы.ПС; @@ -548,7 +549,7 @@ Функция ИнтернетПочтовыйПрофиль(ДляПолучения = Ложь) Профиль = Новый ИнтернетПочтовыйПрофиль; - Если ДляПолучения Тогда + Если ДляПолучения Или ТребуетсяВходНаСерверПередОтправкой Тогда Если Протокол = "IMAP" Тогда Профиль.АдресСервераIMAP = СерверВходящейПочты; Профиль.ИспользоватьSSLIMAP = ИспользоватьЗащищенноеСоединениеДляВходящейПочты; @@ -564,7 +565,9 @@ Профиль.ПортPOP3 = ПортСервераВходящейПочты; Профиль.ТолькоЗащищеннаяАутентификацияPOP3 = ИспользоватьБезопасныйВходНаСерверВходящейПочты; КонецЕсли; - Иначе + КонецЕсли; + + Если Не ДляПолучения Тогда Профиль.POP3ПередSMTP = ТребуетсяВходНаСерверПередОтправкой; Профиль.АдресСервераSMTP = СерверИсходящейПочты; Профиль.ИспользоватьSSLSMTP = ИспользоватьЗащищенноеСоединениеДляИсходящейПочты; diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаСписка/Form.form index 38c96ae23..2f5a6e199 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаСписка/Form.form @@ -1,5 +1,103 @@ + + ГруппаПользовательскихНастроек + 27 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 29 + + ФормаСправочникУчетныеЗаписиЭлектроннойПочтыПроверитьУчетнуюЗапись + 22 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ФормаСправочникУчетныеЗаписиЭлектроннойПочтыПроверитьУчетнуюЗаписьРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + Catalog.УчетныеЗаписиЭлектроннойПочты.Command.ПроверитьУчетнуюЗапись + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -182,10 +280,10 @@
      СписокСтрокаПоиска - 27 + 31 СписокСтрокаПоискаРасширеннаяПодсказка - 29 + 33 Label true true @@ -195,7 +293,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 28 + 32 true Список @@ -205,10 +303,10 @@ СписокСостояниеПросмотра - 30 + 34 СписокСостояниеПросмотраРасширеннаяПодсказка - 32 + 36 Label true true @@ -218,7 +316,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 31 + 35 true ViewStatusAddition @@ -229,10 +327,10 @@ СписокУправлениеПоиском - 33 + 37 СписокУправлениеПоискомРасширеннаяПодсказка - 35 + 39 Label true true @@ -242,7 +340,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 34 + 38 true SearchControlAddition @@ -299,43 +397,13 @@ true true + ГруппаПользовательскихНастроек
      Форма_КоманднаяПанель -1 - - ФормаСправочникУчетныеЗаписиЭлектроннойПочтыПроверитьУчетнуюЗапись - 22 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ФормаСправочникУчетныеЗаписиЭлектроннойПочтыПроверитьУчетнуюЗаписьРасширеннаяПодсказка - 23 - Label - true - true - - Left - - - Catalog.УчетныеЗаписиЭлектроннойПочты.Command.ПроверитьУчетнуюЗапись - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left - true DontBlock true diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Form.form index 5fe7982aa..759b345f9 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Form.form @@ -1240,6 +1240,10 @@ Объект.ОставлятьКопииСообщенийНаСервере Right + + OnChange + ОставлятьКопииПисемНаСервереПриИзменении + ОставлятьКопииПисемНаСервереРасширеннаяПодсказка 132 @@ -1263,26 +1267,27 @@
      - УдалятьПисьмаССервера - 141 + НастройкаПериодаХраненияПисем + 214 - УдалятьПисьмаССервераЧерез - 133 - - <key>ru</key> - <value>Удалять письма с сервера через</value> - + УдалятьПисьмаССервера + 216 true true true - Объект.ПериодХраненияСообщенийНаСервере + УдалятьПисьмаССервера + Right + + OnChange + УдалятьПисьмаССервераПриИзменении + - УдалятьПисьмаССервераЧерезРасширеннаяПодсказка - 135 + УдалятьПисьмаССервераРасширеннаяПодсказка + 218 Label true true @@ -1291,8 +1296,42 @@ - УдалятьПисьмаССервераЧерезКонтекстноеМеню - 134 + УдалятьПисьмаССервераКонтекстноеМеню + 217 + true + + CheckBoxField + Enter + true + Left + true + + + + ПериодХраненияСообщенийНаСервере + 219 + true + true + + true + + + Объект.ПериодХраненияСообщенийНаСервере + + None + + ПериодХраненияСообщенийНаСервереРасширеннаяПодсказка + 221 + Label + true + true + + Left + + + + ПериодХраненияСообщенийНаСервереКонтекстноеМеню + 220 true InputField @@ -1316,7 +1355,7 @@ НадписьДней - 146 + 222 <key>ru</key> <value>дней</value> @@ -1328,7 +1367,7 @@ </userVisible> <extendedTooltip> <name>НадписьДнейРасширеннаяПодсказка</name> - <id>148</id> + <id>224</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -1338,7 +1377,7 @@ </extendedTooltip> <contextMenu> <name>НадписьДнейКонтекстноеМеню</name> - <id>147</id> + <id>223</id> <autoFill>true</autoFill> </contextMenu> <type>Label</type> @@ -1355,15 +1394,15 @@ </userVisible> <title> <key>ru</key> - <value>Удалять письма с сервера</value> + <value>Настройка периода хранения писем</value> ru - Удалять письма с сервера + Настройка периода хранения писем - УдалятьПисьмаССервераРасширеннаяПодсказка - 142 + НастройкаПериодаХраненияПисемРасширеннаяПодсказка + 215 Label true true @@ -1743,6 +1782,10 @@ Left + + OnOpen + ПриОткрытии + BeforeClose ПередЗакрытием @@ -1779,6 +1822,24 @@
      true
      true + + УдалятьПисьмаССервера + + <key>ru</key> + <value>Удалять письма с сервера через:</value> + + 2 + + Boolean + + + true + + + true + + true + ЗаписатьИЗакрыть diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html index ded21a7f4..ff3e3780d 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Описание свойств учетной записи электронной почты</p> <p>При вводе учетной записи большинство параметров проставляется программой по умолчанию в зависимости от настроек почтовых серверов учетной записи электронной почты.</p> <p>Для системных <a href="Catalog.УчетныеЗаписиЭлектроннойПочты/Help">учетных записей</a> рекомендуется запомнить пароль, для того чтобы программа могла рассылать сообщения от такой учетной записи без участия пользователя. Тем не менее, решение о хранении паролей в информационной базе принимается в каждом случае индивидуально.</p> diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Module.bsl index 15edcdc71..947ca003c 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Forms/ФормаЭлемента/Module.bsl @@ -21,6 +21,11 @@ Объект.ИспользоватьДляПолучения = Истина; КонецЕсли; + УдалятьПисьмаССервера = Объект.ПериодХраненияСообщенийНаСервере > 0; + Если Не УдалятьПисьмаССервера Тогда + Объект.ПериодХраненияСообщенийНаСервере = 10; + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -32,6 +37,10 @@ &НаКлиенте Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + Если Не УдалятьПисьмаССервера Тогда + Объект.ПериодХраненияСообщенийНаСервере = 0; + КонецЕсли; + Если РазрешенияПолучены <> Истина Тогда Если Не ПроверитьЗаполнение() Тогда Отказ = Истина; @@ -58,50 +67,10 @@ КонецПроцедуры &НаКлиенте -Процедура ПолучениеРазрешенийЗавершение(Результат, ПараметрыЗаписи) Экспорт - - Если Результат = КодВозвратаДиалога.ОК Тогда - РазрешенияПолучены = Истина; - Записать(ПараметрыЗаписи); - КонецЕсли; - +Процедура ПриОткрытии(Отказ) + УстановитьДоступностьЭлементов(); КонецПроцедуры -&НаСервере -Функция СоздатьЗапросНаИспользованиеВнешнихРесурсов() - - Возврат РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов( - Разрешения(), Объект.Ссылка); - -КонецФункции - -&НаСервере -Функция Разрешения() - - Результат = Новый Массив; - - Если Объект.ИспользоватьДляОтправки Тогда - Результат.Добавить( - РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса( - "SMTP", - Объект.СерверИсходящейПочты, - Объект.ПортСервераИсходящейПочты, - НСтр("ru = 'Электронная почта.'"))); - КонецЕсли; - - Если Объект.ИспользоватьДляПолучения Тогда - Результат.Добавить( - РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса( - Объект.ПротоколВходящейПочты, - Объект.СерверВходящейПочты, - Объект.ПортСервераВходящейПочты, - НСтр("ru = 'Электронная почта.'"))); - КонецЕсли; - - Возврат Результат; - -КонецФункции - #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы @@ -149,6 +118,16 @@ УстановитьПортВходящейПочты(); КонецПроцедуры +&НаКлиенте +Процедура ОставлятьКопииПисемНаСервереПриИзменении(Элемент) + УстановитьДоступностьЭлементов(); +КонецПроцедуры + +&НаКлиенте +Процедура УдалятьПисьмаССервераПриИзменении(Элемент) + УстановитьДоступностьЭлементов(); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -195,4 +174,55 @@ Записать(Новый Структура("ЗаписатьИЗакрыть")); КонецПроцедуры +&НаКлиенте +Процедура УстановитьДоступностьЭлементов() + Элементы.НастройкаПериодаХраненияПисем.Доступность = Объект.ОставлятьКопииСообщенийНаСервере; + Элементы.ПериодХраненияСообщенийНаСервере.Доступность = УдалятьПисьмаССервера; +КонецПроцедуры + +&НаКлиенте +Процедура ПолучениеРазрешенийЗавершение(Результат, ПараметрыЗаписи) Экспорт + + Если Результат = КодВозвратаДиалога.ОК Тогда + РазрешенияПолучены = Истина; + Записать(ПараметрыЗаписи); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция СоздатьЗапросНаИспользованиеВнешнихРесурсов() + + Возврат РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов( + Разрешения(), Объект.Ссылка); + +КонецФункции + +&НаСервере +Функция Разрешения() + + Результат = Новый Массив; + + Если Объект.ИспользоватьДляОтправки Тогда + Результат.Добавить( + РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса( + "SMTP", + Объект.СерверИсходящейПочты, + Объект.ПортСервераИсходящейПочты, + НСтр("ru = 'Электронная почта.'"))); + КонецЕсли; + + Если Объект.ИспользоватьДляПолучения Тогда + Результат.Добавить( + РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса( + Объект.ПротоколВходящейПочты, + Объект.СерверВходящейПочты, + Объект.ПортСервераВходящейПочты, + НСтр("ru = 'Электронная почта.'"))); + КонецЕсли; + + Возврат Результат; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Help/ru.html b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Help/ru.html index 287b0c069..48b57f6e9 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Help/ru.html +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/Help/ru.html @@ -1,6 +1,6 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Предназначен для ведения учетных записей электронной почты, которые используются для получения и отправки электронных сообщений.</p> -<p>Список можно открыть соответствующей командой в разделе <strong>Настройка и администрирование - Органайзер</strong>. </p> +<p>Список можно открыть соответствующей командой в разделе <strong>Администрирование - Органайзер</strong>. </p> <p>В списке выводится:</p> <ul><li><strong>Наименование</strong> учетной записи; </li><li><strong>Имя пользователя</strong> - указывается имя отправителя писем, оно может отличаться от имени <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a> в программе; diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/ObjectModule.bsl b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/ObjectModule.bsl index c58db2c9c..a8df44ce1 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/ObjectModule.bsl +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/ObjectModule.bsl @@ -8,7 +8,7 @@ ИмяПользователя = НСтр("ru = '1С:Предприятие'"); ИспользоватьДляПолучения = Ложь; - ИспользоватьДляОтправки = Истина; + ИспользоватьДляОтправки = Ложь; ОставлятьКопииСообщенийНаСервере = Ложь; ПериодХраненияСообщенийНаСервере = 0; ВремяОжидания = 30; diff --git a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/УчетныеЗаписиЭлектроннойПочты.mdo b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/УчетныеЗаписиЭлектроннойПочты.mdo index f2377fe0a..1d52722ce 100644 --- a/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/УчетныеЗаписиЭлектроннойПочты.mdo +++ b/SSL/src/Catalogs/УчетныеЗаписиЭлектроннойПочты/УчетныеЗаписиЭлектроннойПочты.mdo @@ -96,6 +96,7 @@ <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> <createOnInput>Use</createOnInput> + <includeHelpInContents>true</includeHelpInContents> <help> <pages> <lang>ru</lang> @@ -332,7 +333,6 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:StringValue"/> - <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> <attributes uuid="144d5498-bb61-4bec-bef3-85a5a4aec3d5"> @@ -355,7 +355,6 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> <fillValue xsi:type="core:StringValue"/> - <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> <attributes uuid="9328da5c-4689-4a60-8136-ae9eac46ab38"> diff --git a/SSL/src/Catalogs/Файлы/Forms/ВопросПриИмпортеФайлов/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ВопросПриИмпортеФайлов/Help/ru.html index 0436fd042..46dd7ca45 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ВопросПриИмпортеФайлов/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ВопросПриИмпортеФайлов/Help/ru.html @@ -1,7 +1,7 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Программа выводит список файлов, которые невозможно загрузить в программу, так как они превышают максимальный размер.</p> -<p>В программу можно загрузить несколько файлов.</p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>В программу можно загрузить одновременно <a href="Catalog.Файлы.Form.ФормаИмпортаФайлов/Help">несколько выбранных файлов</a> или<a href="Catalog.Файлы.Form.ФормаИмпортаПапки/Help"> несколько папок с файлами</a> с диска на компьютере. Для этого необходимо выполнить соответствующие команды в <a href="Catalog.Файлы/Help">списке файлов</a>. </p> +<p>Если один или несколько выбранных файлов превышают предельно допустимый размер, то программа выводит предупреждение со списком файлов, которые невозможно загрузить.</p> <p>Нажмите <strong>Продолжить</strong>, для того чтобы:</p> -<ul><li>загрузить остальные файлы из перечисленных в списке для загрузки, которые проходят по размеру; -</li><li>получить отчет об ошибках с перечнем файлов, по которым импорт не состоялся. </li></ul><p>Нажмите <strong>Отмена</strong> для возврата в программу без продолжения попыток. Если в списке для загрузки было перечислено несколько файлов и другие файлы удовлетворяли условиям, они также не будут загружены в программу.</p> -<p>Предельно допустимый размера файлов можно увеличить в настройках программы. Для этого в разделе <strong>Администрирование - Настройки работы с файлами</strong> укажите <strong>Максимальный размер файла</strong>. По умолчанию равен 50 Мб.</p></body></html> \ No newline at end of file +<ul><li>загрузить остальные файлы, перечисленные в списке для загрузки, которые проходят по размеру; +</li><li>получить отчет об ошибках с перечнем файлов, по которым импорт не состоялся. </li></ul><p>Нажмите <strong>Отмена</strong> для возврата в программу без продолжения попыток. Если планировалось загрузить несколько файлов и другие файлы удовлетворяли условиям, они также не будут загружены в программу.</p> +<p>Предельно допустимый размер файлов можно увеличить в настройках программы. Для этого в разделе <strong>Администрирование - Настройки работы с файлами</strong> укажите <strong>Максимальный размер файла</strong>. По умолчанию равен 50 Мб.</p></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Form.form b/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Form.form index ed5ac3e5c..d252758ed 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Form.form @@ -254,7 +254,7 @@ <event>OnCreateAtServer</event> <name>ПриСозданииНаСервере</name> </handlers> - <height>25</height> + <height>15</height> <windowOpeningMode>LockOwner</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> <autoTitle>true</autoTitle> diff --git a/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Help/ru.html index f046f8d3b..01d908f12 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ВыборКодировки/Help/ru.html @@ -1,19 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p> <style>A:link { - COLOR: #006699; TEXT-DECORATION: none + TEXT-DECORATION: none; COLOR: #006699 } A:visited { - COLOR: #006699; TEXT-DECORATION: none + TEXT-DECORATION: none; COLOR: #006699 } A:hover { - COLOR: #006699; TEXT-DECORATION: underline + TEXT-DECORATION: underline; COLOR: #006699 } H2 { - BORDER-BOTTOM: sienna 1px solid; PADDING-BOTTOM: 2px; FONT-FAMILY: Verdana; COLOR: #a3611f; FONT-SIZE: 130%; FONT-WEIGHT: normal + FONT-SIZE: 130%; FONT-FAMILY: Verdana; BORDER-BOTTOM: sienna 1px solid; FONT-WEIGHT: normal; COLOR: #a3611f; PADDING-BOTTOM: 2px } H3 { - MARGIN-TOP: 5px; FONT-SIZE: 120% + FONT-SIZE: 120%; MARGIN-TOP: 5px } P.Usual { MARGIN-TOP: 10px @@ -23,19 +23,17 @@ UL { } </style></p> <p><a name="Top"></a></p> -<p class="Usual">Кодировка – это числовая схема, где каждому текстовому знаку соответствует определенное числовое значение. Разные языки обычно состоят из разных наборов знаков, поэтому существует много разных стандартов кодировки. То, что отображается на экране в виде текста, на самом деле хранится в текстовом файле как числовое значение. Компьютер, используя стандарт кодировки, преобразует эти числовые значения и показывает пользователю готовый текст.</p> -<p class="Usual"> </p> -<h3>Как изменить кодировку текстового файла</h3> -<p class="Usual">Чтобы изменить кодировку текстового файла: </p> -<ol><li>Выполните команду <strong>Изменить кодировку</strong> меню <strong>Все действия</strong> -</li><li>Выберите кодировку из списка -</li><li>Если нужная кодировка отсутствует, снимите флаг с поля <strong>Показывать только основные кодировки</strong> -</li><li>Будет сформирован список всех известных кодировок -</li><li>Выберите нужную кодировку из списка -</li><li>Нажмите <strong>ОК</strong>, чтобы сохранить настройку </li></ol><p class="Usual">Если после открытия файла вместо текста вы увидели набор незнакомых знаков, измените кодировку. Основными кодировками для работы с текстовыми файлами на русском языке являются:</p> -<ul><li>IBM866 (Кириллица Dos) -</li><li>KOI8-R (Кириллица KOI8-R) -</li><li>Windows-1251 (Кириллица Windows </li></ul><p> </p> -<h3>Общие сведения</h3> -<p class="Usual">Чтобы избежать проблем, связанных с кодированием и раскодированием файлов, можно сохранять файлы в кодировке Юникод. Юникод включает наборы знаков для большинства языков, которые в наши дни используются на компьютерах.</p> -<p class="Usual"><strong>См. также:</strong> <a href="Catalog.Файлы/Help">Файлы</a>, <a href="Catalog.Файлы.Form.Файлы/Help">Хранилище файлов</a></p></body></html> \ No newline at end of file +<p>Кодировка – это числовая схема, где каждому текстовому знаку соответствует определенное числовое значение. Разные языки обычно состоят из разных наборов знаков, поэтому существует много разных стандартов кодировки. То, что отображается на экране в виде текста, на самом деле хранится в текстовом файле как числовое значение. Компьютер, используя стандарт кодировки, преобразует эти числовые значения и показывает пользователю готовый текст.</p> +<p>Выбор кодировки текстового файла производится по соответствующей команде при <a href="Catalog.Файлы.Form.ФормаИмпортаФайлов/Help"><u><font color="#0000ff">загрузке файла</font></u></a> (<a href="Catalog.Файлы.Form.ФормаИмпортаПапки/Help"><u><font color="#0000ff">загрузке папки</font></u></a>) с диска в <a href="Catalog.Файлы.Form.Файлы/Help"><u><font color="#0000ff">список файлов</font></u></a>. Для загрузки файла или папки предназначены соответствующие команды контекстного меню списка по правой кнопке мыши. </p> +<p>Также можно <strong>Изменить кодировку</strong> уже существующего файла во встроенном <a href="Catalog.Файлы.Form.РедактированиеТекстовогоФайла/Help"><u><font color="#0000ff">текстовом редакторе программы</font></u></a> по соответствующей команде меню <strong>Все действия</strong>.</p> +<h3>Выбор кодировки текстового файла</h3> +<ul><li>Выберите кодировку из списка; +</li><li>Если нужная кодировка отсутствует, снимите флажок <strong>Показывать только основные кодировки</strong>; +<ul><li>Будет сформирован список всех известных кодировок; +</li><li>Выберите нужную кодировку из списка всех кодировок; </li></ul></li><li>Нажмите <strong>Выбрать</strong>, для того чтобы сохранить настройку. </li></ul><p>Если после открытия файла вместо текста вы увидели набор незнакомых знаков, измените кодировку. Основными кодировками для работы с текстовыми файлами на русском языке являются:</p> +<ul><li>IBM866 (Кириллица Dos); +</li><li>KOI8-R (Кириллица KOI8-R); +</li><li>Windows-1251 (Кириллица Windows. </li></ul><h3>Общие сведения</h3> +<p>Для того чтобы избежать проблем, связанных с кодированием и раскодированием файлов, можно сохранять файлы в кодировке Юникод. Юникод включает наборы знаков для большинства языков, которые в наши дни используются на компьютерах.</p> +<h3>См. также:</h3> +<ul><li><a href="Catalog.Файлы/Help"><u><font color="#0000ff">Общие сведения о файлах</font></u></a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ВыборСохраненияШифрованногоФайла/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ВыборСохраненияШифрованногоФайла/Help/ru.html index ee1e14ce5..c72e4ad36 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ВыборСохраненияШифрованногоФайла/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ВыборСохраненияШифрованногоФайла/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>В форме выбирается способ сохранения шифрованного файла при выполнении команды "<strong>Сохранить как</strong>".</p> <p>Если выбран режим сохранения "<strong>Сохранить шифрованный файл</strong>", то файл просто сохраняется нерасшифрованным.</p> <p>Если выбран режим "<strong>Расшифровать и сохранить</strong>", то файл при сохранении расшифровывается. В этом случае требуется ввести пароль для расшифровки.</p> diff --git a/SSL/src/Catalogs/Файлы/Forms/ВыборУстройстваСканирования/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ВыборУстройстваСканирования/Help/ru.html new file mode 100644 index 000000000..b02f921d2 --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ВыборУстройстваСканирования/Help/ru.html @@ -0,0 +1,4 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для выбора устройства <a href="Catalog.Файлы.Form.НастройкаСканирования/Help">сканирования</a>.</p> +<p>Устройство сканирования должно быть подключено к компьютеру. Выберите наименование устройства из  программе имеется список возможных устройств сканирования, она предлагает выбрать из выпадающего списка.</p> +<p>Нажмите кнопку <strong>Выбрать</strong>, для того чтобы подтвердить свой выбор.</p></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Form.form b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Form.form index d7bc3338e..668568115 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Form.form @@ -75,79 +75,27 @@ <items xsi:type="form:FormGroup"> <name>ГруппаНастройки</name> <id>24</id> - <items xsi:type="form:FormField"> - <name>ИмяУстройства</name> - <id>4</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>ИмяУстройства</segments> - </dataPath> - <handlers> - <event>OnChange</event> - <name>ИмяУстройстваПриИзменении</name> - </handlers> - <extendedTooltip> - <name>ИмяУстройстваExtendedTooltip</name> - <id>56</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>ИмяУстройстваКонтекстноеМеню</name> - <id>5</id> - <autoFill>true</autoFill> - </contextMenu> - <type>InputField</type> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:InputFieldExtInfo"> - <handlers> - <event>ChoiceProcessing</event> - <name>ИмяУстройстваОбработкаВыбора</name> - </handlers> - <width>35</width> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <horizontalStretch>false</horizontalStretch> - <wrap>true</wrap> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <textSize>Normal</textSize> - </extInfo> - </items> <items xsi:type="form:FormGroup"> - <name>ГруппаPDF</name> - <id>36</id> + <name>Группа1</name> + <id>81</id> <items xsi:type="form:FormField"> - <name>ИспользоватьImageMagickДляПреобразованияВPDF</name> - <id>26</id> + <name>ИмяУстройства</name> + <id>4</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>ИспользоватьImageMagickДляПреобразованияВPDF</segments> + <segments>ИмяУстройства</segments> </dataPath> - <titleLocation>Right</titleLocation> <handlers> <event>OnChange</event> - <name>ИспользоватьImageMagickДляПреобразованияВPDFПриИзменении</name> + <name>ИмяУстройстваПриИзменении</name> </handlers> <extendedTooltip> - <name>ИспользоватьImageMagickДляПреобразованияВPDFExtendedTooltip</name> - <id>58</id> + <name>ИмяУстройстваExtendedTooltip</name> + <id>56</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -156,42 +104,8 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ИспользоватьImageMagickДляПреобразованияВPDFКонтекстноеМеню</name> - <id>27</id> - <autoFill>true</autoFill> - </contextMenu> - <type>CheckBoxField</type> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:CheckBoxFieldExtInfo"/> - </items> - <items xsi:type="form:FormField"> - <name>ПутьКПрограммеКонвертации</name> - <id>34</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>ПутьКПрограммеКонвертации</segments> - </dataPath> - <titleLocation>Top</titleLocation> - <extendedTooltip> - <name>ПутьКПрограммеКонвертацииExtendedTooltip</name> - <id>59</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>ПутьКПрограммеКонвертацииКонтекстноеМеню</name> - <id>35</id> + <name>ИмяУстройстваКонтекстноеМеню</name> + <id>5</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> @@ -201,76 +115,42 @@ <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> <handlers> - <event>StartChoice</event> - <name>ПутьКПрограммеКонвертацииНачалоВыбора</name> + <event>ChoiceProcessing</event> + <name>ИмяУстройстваОбработкаВыбора</name> </handlers> + <width>35</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> <wrap>true</wrap> - <choiceButton>true</choiceButton> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> <textSize>Normal</textSize> </extInfo> </items> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <title> - <key>ru</key> - <value>Группа PDF</value> - - - ru - Группа PDF - - - ГруппаPDFExtendedTooltip - 57 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - -
      - - ГруппаФорматХраненияОдиночный - 37 - ГруппаФорматаХранения - 44 + ГруппаPDF + 36 - ФорматХраненияОдностраничный - 42 + ИспользоватьImageMagickДляПреобразованияВPDF + 26 true true true - ФорматХраненияОдностраничный + ИспользоватьImageMagickДляПреобразованияВPDF + Right OnChange - ФорматХраненияОдностраничныйПриИзменении + ИспользоватьImageMagickДляПреобразованияВPDFПриИзменении - ФорматХраненияОдностраничныйExtendedTooltip - 62 + ИспользоватьImageMagickДляПреобразованияВPDFExtendedTooltip + 58 Label true true @@ -279,8 +159,401 @@ - ФорматХраненияОдностраничныйКонтекстноеМеню - 43 + ИспользоватьImageMagickДляПреобразованияВPDFКонтекстноеМеню + 27 + true + + CheckBoxField + Enter + true + Left + true + + + + ПутьКПрограммеКонвертации + 34 + true + true + + true + + + ПутьКПрограммеКонвертации + + Top + + ПутьКПрограммеКонвертацииExtendedTooltip + 59 + Label + true + true + + Left + + + + ПутьКПрограммеКонвертацииКонтекстноеМеню + 35 + true + + InputField + Enter + true + Left + true + + + StartChoice + ПутьКПрограммеКонвертацииНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа PDF</value> + + + ru + Группа PDF + + + ГруппаPDFExtendedTooltip + 57 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаФорматХраненияОдиночный + 37 + + ГруппаФорматаХранения + 44 + + ФорматХраненияОдностраничный + 42 + true + true + + true + + + ФорматХраненияОдностраничный + + + OnChange + ФорматХраненияОдностраничныйПриИзменении + + + ФорматХраненияОдностраничныйExtendedTooltip + 62 + Label + true + true + + Left + + + + ФорматХраненияОдностраничныйКонтекстноеМеню + 43 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + + + ДекорацияФорматХраненияОдностраничный + 45 + + <key>ru</key> + <value>(для хранения)</value> + + true + true + + true + + + ДекорацияФорматХраненияОдностраничныйExtendedTooltip + 63 + Label + true + true + + Left + + + + ДекорацияФорматХраненияОдностраничныйКонтекстноеМеню + 46 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа формата хранения</value> + + + ru + Группа формата хранения + + + ГруппаФорматаХраненияExtendedTooltip + 61 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаФорматаСканирования + 47 + + ФорматСканированногоИзображения + 18 + true + true + + true + + + ФорматСканированногоИзображения + + + OnChange + ФорматСканированногоИзображенияПриИзменении + + + ФорматСканированногоИзображенияExtendedTooltip + 65 + Label + true + true + + Left + + + + ФорматСканированногоИзображенияКонтекстноеМеню + 19 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + + + ДекорацияФорматСканированногоИзображения + 48 + + <key>ru</key> + <value>(для сканирования)</value> + + true + true + + true + + + ДекорацияФорматСканированногоИзображенияExtendedTooltip + 66 + Label + true + true + + Left + + + + ДекорацияФорматСканированногоИзображенияКонтекстноеМеню + 49 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа формата сканирования</value> + + + ru + Группа формата сканирования + + + ГруппаФорматаСканированияExtendedTooltip + 64 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + КачествоJPG + 30 + true + true + + true + + + КачествоJPG + + + КачествоJPGExtendedTooltip + 67 + Label + true + true + + Left + + + + КачествоJPGКонтекстноеМеню + 31 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + + + + СжатиеTIFF + 32 + true + true + + true + + + СжатиеTIFF + + + СжатиеTIFFExtendedTooltip + 68 + Label + true + true + + Left + + + + СжатиеTIFFКонтекстноеМеню + 33 true InputField @@ -301,40 +574,6 @@ 9 - - ДекорацияФорматХраненияОдностраничный - 45 - - <key>ru</key> - <value>(для хранения)</value> - - true - true - - true - - - ДекорацияФорматХраненияОдностраничныйExtendedTooltip - 63 - Label - true - true - - Left - - - - ДекорацияФорматХраненияОдностраничныйКонтекстноеМеню - 46 - true - - Label - true - true - - Left - - true true @@ -342,15 +581,16 @@ <key>ru</key> - <value>Группа формата хранения</value> + <value>Для одностраничных изображений</value> ru - Группа формата хранения + Группа формат хранения одиночный + true - ГруппаФорматаХраненияExtendedTooltip - 61 + ГруппаФорматХраненияОдиночныйExtendedTooltip + 60 Label true true @@ -360,34 +600,61 @@ UsualGroup + Vertical Auto + WeakSeparation true true + auto Auto Auto + true + true + + true + + + Группа1РасширеннаяПодсказка + 82 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + Группа2 + 83 - ГруппаФорматаСканирования - 47 + ГруппаФорматХраненияМногостраничный + 39 - ФорматСканированногоИзображения - 18 + ФорматХраненияМногостраничный + 40 true true true - ФорматСканированногоИзображения + ФорматХраненияМногостраничный - - OnChange - ФорматСканированногоИзображенияПриИзменении - - ФорматСканированногоИзображенияExtendedTooltip - 65 + ФорматХраненияМногостраничныйExtendedTooltip + 70 Label true true @@ -396,8 +663,8 @@ - ФорматСканированногоИзображенияКонтекстноеМеню - 19 + ФорматХраненияМногостраничныйКонтекстноеМеню + 41 true InputField @@ -418,40 +685,6 @@ 9 - - ДекорацияФорматСканированногоИзображения - 48 - - <key>ru</key> - <value>(для сканирования)</value> - - true - true - - true - - - ДекорацияФорматСканированногоИзображенияExtendedTooltip - 66 - Label - true - true - - Left - - - - ДекорацияФорматСканированногоИзображенияКонтекстноеМеню - 49 - true - - Label - true - true - - Left - - true true @@ -459,15 +692,16 @@ <key>ru</key> - <value>Группа формата сканирования</value> + <value>Для многостраничных изображений</value> ru - Группа формата сканирования + Группа формат хранения многостраничный + true - ГруппаФорматаСканированияExtendedTooltip - 64 + ГруппаФорматХраненияМногостраничныйExtendedTooltip + 69 Label true true @@ -477,326 +711,307 @@ UsualGroup + Vertical Auto + WeakSeparation true true + auto Auto Auto - - КачествоJPG - 30 + + ГруппаПараметрыСканирования + 38 + + Разрешение + 14 + true + true + + true + + + Разрешение + + + РазрешениеExtendedTooltip + 72 + Label + true + true + + Left + + + + РазрешениеКонтекстноеМеню + 15 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + Цветность + 16 + true + true + + true + + + Цветность + + + ЦветностьExtendedTooltip + 73 + Label + true + true + + Left + + + + ЦветностьКонтекстноеМеню + 17 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + Поворот + 20 + + <key>ru</key> + <value>Поворот</value> + + true + true + + true + + + Поворот + + + ПоворотExtendedTooltip + 74 + Label + true + true + + Left + + + + ПоворотКонтекстноеМеню + 21 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + РазмерБумаги + 22 + true + true + + true + + + РазмерБумаги + + + РазмерБумагиExtendedTooltip + 75 + Label + true + true + + Left + + + + РазмерБумагиКонтекстноеМеню + 23 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + ДвустороннееСканирование + 28 + true + true + + true + + + ДвустороннееСканирование + + Right + + ДвустороннееСканированиеExtendedTooltip + 76 + Label + true + true + + Left + + + + ДвустороннееСканированиеКонтекстноеМеню + 29 + true + + CheckBoxField + Enter + true + Left + true + + + + ПоказыватьДиалогСканера + 1 + true + true + + true + + + ПоказыватьДиалогСканера + + Right + + ПоказыватьДиалогСканераExtendedTooltip + 77 + Label + true + true + + Left + + + + ПоказыватьДиалогСканераКонтекстноеМеню + 2 + true + + CheckBoxField + Enter + true + Left + true + + + + УстановитьСтандартныеНастройки + 25 + true + true + + true + + false + + УстановитьСтандартныеНастройкиExtendedTooltip + 78 + Label + true + true + + Left + + + UsualButton + Form.Command.УстановитьСтандартныеНастройки + Normal + Auto + true + true + UserCmds + Auto + true true true - - КачествоJPG - - - КачествоJPGExtendedTooltip - 67 - Label - true - true - - Left - - - - КачествоJPGКонтекстноеМеню - 31 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - - СжатиеTIFF - 32 - true - true - - true - - - СжатиеTIFF - - - СжатиеTIFFExtendedTooltip - 68 - Label - true - true - - Left - - - - СжатиеTIFFКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - 9 - - - true - true - - true - - - <key>ru</key> - <value>Для одностраничных изображений</value> - - - ru - Группа формат хранения одиночный - - true - - ГруппаФорматХраненияОдиночныйExtendedTooltip - 60 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - StrongSeparation - true - true - auto - Auto - Auto - - - - ГруппаФорматХраненияМногостраничный - 39 - - ФорматХраненияМногостраничный - 40 - true - true - - true - - - ФорматХраненияМногостраничный - - - ФорматХраненияМногостраничныйExtendedTooltip - 70 - Label - true - true - - Left - - - - ФорматХраненияМногостраничныйКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - 9 - - - true - true - - true - - - <key>ru</key> - <value>Для многостраничных изображений</value> - - - ru - Группа формат хранения многостраничный - - true - - ГруппаФорматХраненияМногостраничныйExtendedTooltip - 69 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - StrongSeparation - true - true - auto - Auto - Auto - - - - ГруппаПараметрыСканирования - 38 - - Разрешение - 14 - true - true - - true - - - Разрешение - - - РазрешениеExtendedTooltip - 72 - Label - true - true - - Left - - - - РазрешениеКонтекстноеМеню - 15 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - Цветность - 16 - true - true - - true - - - Цветность - - - ЦветностьExtendedTooltip - 73 - Label - true - true - - Left - - - - ЦветностьКонтекстноеМеню - 17 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - Поворот - 20 <key>ru</key> - <value>Поворот</value> + <value>Параметры сканирования</value> - true - true - - true - - - Поворот - + + ru + Группа параметры сканирования + - ПоворотExtendedTooltip - 74 + ГруппаПараметрыСканированияExtendedTooltip + 71 Label true true @@ -804,183 +1019,26 @@ Left - - ПоворотКонтекстноеМеню - 21 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto - - РазмерБумаги - 22 - true - true - - true - - - РазмерБумаги - - - РазмерБумагиExtendedTooltip - 75 - Label - true - true - - Left - - - - РазмерБумагиКонтекстноеМеню - 23 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - ДвустороннееСканирование - 28 - true - true - - true - - - ДвустороннееСканирование - - Right - - ДвустороннееСканированиеExtendedTooltip - 76 - Label - true - true - - Left - - - - ДвустороннееСканированиеКонтекстноеМеню - 29 - true - - CheckBoxField - Enter - true - Left - true - - - - ПоказыватьДиалогСканера - 1 - true - true - - true - - - ПоказыватьДиалогСканера - - Right - - ПоказыватьДиалогСканераExtendedTooltip - 77 - Label - true - true - - Left - - - - ПоказыватьДиалогСканераКонтекстноеМеню - 2 - true - - CheckBoxField - Enter - true - Left - true - - - - УстановитьСтандартныеНастройки - 25 - true - true - - true - - false - - УстановитьСтандартныеНастройкиExtendedTooltip - 78 - Label - true - true - - Left - - - UsualButton - Form.Command.УстановитьСтандартныеНастройки - Normal - Auto - true - true - UserCmds - Auto - true true true - - <key>ru</key> - <value>Параметры сканирования</value> - - - ru - Группа параметры сканирования - - ГруппаПараметрыСканированияExtendedTooltip - 71 + Группа2РасширеннаяПодсказка + 84 Label true true @@ -992,10 +1050,8 @@ Vertical Auto - StrongSeparation true true - auto Auto Auto @@ -1025,7 +1081,6 @@ UsualGroup - Vertical Auto NormalSeparation true diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Help/ru.html index f7d79d28a..50f809231 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Help/ru.html @@ -1,22 +1,31 @@ - -

      В форме выполняется настройка сканирования. Форма открывается из формы персональных настроек.

      -

      Установить компоненту сканирования - устанавливает компоненту сканирования. Если на Вашем компьютере нет сканера, устанавливать компоненту не нужно. Если компонента уже установлена, то вместо этой кнопки отображается версия установленной компоненты.

      -

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

      -

      Использовать ImageMagick для преобразования в PDF - если установлена, то преобразует отсканированные изображения в pdf с помощью программы ImageMagick (на клиентском компьютере, где находится сканер, должны быть установлены бесплатные программы ImageMagick (используйте вариант: Win32 dynamic at 8 bits-per-pixel) и Ghostscript).

      -

      Путь к программе преобразования в PDF - путь к исполняемому файлу программы ImageMagick (по умолчанию "convert.exe"). Если это имя конфликтует с другими программами, нужно указать полный путь, вида C:\Program Files\ImageMagick-6.6.3-Q8\convert.exe.

      -

      Формат одностраничного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF, PDF) для помещения в информационную базу.

      -

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

      -

      Тип сканированного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF) для изображений, которые будут получены со сканера. Опция доступна, если формат одностраничного изображения - PDF.

      -

      Качество - если выбран формат JPG, то можно настроить его качество (100 - максимальное качество и максимальный размер,  1 - минимальное качество и минимальный размер.). По умолчанию - 100.

      -

      Сжатие - если выбран формат TIF, можно настроить сжатие. Возможные варианты: LZW, RLE, CCITT3, CCITT4, Без сжатия. По умолчанию: Без сжатия.

      -

      Разрешение - позволяет выбрать разрешение сканирования (DPI). Список доступных разрешений зависит от выбранного сканера.

      -

      Цветность - выбор цветности изображений, которые будут получены со сканера (Монохромное, Градации Серого, Цветное).

      -

      Поворот изображения - позволяет выбрать один из вариантов поворота изображений после сканирования. Для некоторых моделей сканеров это свойство недоступно.

      -

      Размер бумаги - позволяет выбрать размер бумаги, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно.

      -

      Двустороннее сканирование - если установлено, будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно.

      -

      Показывать диалог сканера - если Истина, перед сканированием будет показан диалог для расширенной настройки сканирования (например, выбор области сканирования на листе бумаги).

      -

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

      + +

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

      +

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

      +

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

      +

      Компонента сканирования

      +
      • Перед настройкой сканирования нажмите Установить компоненту сканирования. +
      • Если на Вашем компьютере нет сканера, устанавливать компоненту не нужно. +
      • Если компонента уже установлена, то вместо этой кнопки отображается Версия установленной компоненты сканирования.

      Имя сканера

      +

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

      +

      Возможность преобразования в PDF

      +
      • Включите флажок, для того чтобы Использовать ImageMagick для преобразования в PDF. В этом случае отсканированные изображения можно преобразовать в формат PDF с помощью программы ImageMagick. На клиентском компьютере, к которому подключен сканер, должны быть установлены бесплатные программы ImageMagick (используйте вариант Win32 dynamic at 8 bits-per-pixel) и Ghostscript. +
      • Укажите Путь к программе преобразования в PDF - путь к исполняемому файлу программы ImageMagick (по умолчанию "convert.exe"). Если это имя конфликтует с другими программами, с помощью кнопки Выбрать нужно указать полный путь вида "C:\Program Files\ImageMagick-6.6.3-Q8\convert.exe".

      Параметры изображений

      +
      • +
        Формат одностраничного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF, PDF) для помещения файла в информационную базу. Если флажок Использовать ImageMagick для преобразования в PDF включен, то в списке становится доступным также формат PDF (в этом случае можно выбрать PDF для хранения, остальные форматы - для сканирования).
        +
        • Качество - если выбран формат JPG, то можно настроить его качество (100 - максимальное качество и максимальный размер, 1 - минимальное качество и минимальный размер). По умолчанию - 100. +
        • Сжатие - если выбран формат TIF, можно настроить сжатие. Возможные варианты: LZW, RLE, CCITT3, CCITT4, Без сжатия. По умолчанию: Без сжатия. +
        • Тип сканированного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF) для изображений, которые будут получены со сканера. Опция доступна, если выбран формат одностраничного изображения PDF. В этом случае формат PDF используется для хранения.
      • Формат многостраничного изображения - параметр становится доступным, если флажок Использовать ImageMagick для преобразования в PDF включен. Позволяет выбрать один из поддерживаемых форматов (TIF, PDF) для помещения многостраничного файла в информационную базу. Применяется, когда при работе с Помощником сканирования для нескольких отсканированных изображений выбрана команда Принять все как один файл.

      Параметры сканирования

      +

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

      +
      • Выберите Разрешение сканирования (DPI). Список доступных разрешений зависит от выбранного сканера. +
      • Выберите Цветность изображений, которые будут получены со сканера (Монохромное, Градации Серого, Цветное). Зависит от возможностей сканера. +
      • Выберите один из вариантов Поворота изображения после сканирования. Для некоторых моделей сканеров это свойство недоступно. +
      • Выберите Размер бумаги, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно. +
      • Включите флажок Двустороннее сканирование. В этом случае будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно.

      Диалог сканера

      +

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

      +

      Установка параметров по умолчанию

      +

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

      -

      Примечание: при работе под управлением ОС Windows Server 2008,  для использования сканера вам нужно установить компоненту Возможности рабочего стола (Desktop Experience).

      \ No newline at end of file +

      Примечание: при работе под управлением ОС Windows Server 2008  для использования сканера вам нужно установить компоненту Возможности рабочего стола (Desktop Experience).

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Module.bsl index 363e7825b..e10a6a5ec 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканирования/Module.bsl @@ -115,7 +115,10 @@ Элементы.ФорматСканированногоИзображения.Заголовок = НСтр("ru = 'Формат'"); Иначе Элементы.ФорматСканированногоИзображения.Заголовок = НСтр("ru = 'Тип'"); - КонецЕсли; + КонецЕсли; + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, + "ГруппаФорматХраненияОдиночный,ГруппаФорматХраненияМногостраничный,ГруппаПараметрыСканирования"); КонецПроцедуры diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Form.form b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Form.form index f349adbaf..71d992c77 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Form.form @@ -5,74 +5,352 @@ Настройка сканирования - ГруппаФорматХраненияОдиночный - 30 + Группа1 + 69 - ГруппаФорматаХранения - 31 - - ФорматХраненияОдностраничный - 32 + Группа2 + 71 + + ГруппаФорматХраненияОдиночный + 30 + + ГруппаФорматаХранения + 31 + + ФорматХраненияОдностраничный + 32 + true + true + + true + + + ФорматХраненияОдностраничный + + + OnChange + ФорматХраненияОдностраничныйПриИзменении + + + ФорматХраненияОдностраничныйExtendedTooltip + 53 + Label + true + true + + Left + + + + ФорматХраненияОдностраничныйКонтекстноеМеню + 33 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + + + ДекорацияФорматХраненияОдностраничный + 34 + + <key>ru</key> + <value>(для хранения)</value> + + true + true + + true + + + ДекорацияФорматХраненияОдностраничныйExtendedTooltip + 54 + Label + true + true + + Left + + + + ДекорацияФорматХраненияОдностраничныйКонтекстноеМеню + 35 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа формата хранения</value> + + + ru + Группа формата хранения + + + ГруппаФорматаХраненияExtendedTooltip + 52 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаФорматаСканирования + 36 + + ФорматСканированногоИзображения + 37 + true + true + + true + + + ФорматСканированногоИзображения + + + OnChange + ФорматСканированногоИзображенияПриИзменении + + + ФорматСканированногоИзображенияExtendedTooltip + 56 + Label + true + true + + Left + + + + ФорматСканированногоИзображенияКонтекстноеМеню + 38 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + + + ДекорацияФорматСканированногоИзображения + 39 + + <key>ru</key> + <value>(для сканирования)</value> + + true + true + + true + + + ДекорацияФорматСканированногоИзображенияExtendedTooltip + 57 + Label + true + true + + Left + + + + ДекорацияФорматСканированногоИзображенияКонтекстноеМеню + 40 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа формата сканирования</value> + + + ru + Группа формата сканирования + + + ГруппаФорматаСканированияExtendedTooltip + 55 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + КачествоJPG + 41 + true + true + + true + + + КачествоJPG + + + КачествоJPGExtendedTooltip + 58 + Label + true + true + + Left + + + + КачествоJPGКонтекстноеМеню + 42 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + + + + СжатиеTIFF + 43 + true + true + + true + + + СжатиеTIFF + + + СжатиеTIFFExtendedTooltip + 59 + Label + true + true + + Left + + + + СжатиеTIFFКонтекстноеМеню + 44 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + true true true - - ФорматХраненияОдностраничный - - - OnChange - ФорматХраненияОдностраничныйПриИзменении - - - ФорматХраненияОдностраничныйExtendedTooltip - 53 - Label - true - true - - Left - - - - ФорматХраненияОдностраничныйКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - 9 - - - - ДекорацияФорматХраненияОдностраничный - 34 <key>ru</key> - <value>(для хранения)</value> + <value>Для одностраничных изображений</value> - true - true - - true - + + ru + Группа формат хранения одиночный + + true - ДекорацияФорматХраненияОдностраничныйExtendedTooltip - 54 + ГруппаФорматХраненияОдиночныйExtendedTooltip + 51 Label true true @@ -80,16 +358,99 @@ Left
      - - ДекорацияФорматХраненияОдностраничныйКонтекстноеМеню - 35 - true - - Label - true - true - - Left + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto + +
      + + ГруппаФорматХраненияМногостраничный + 45 + + ФорматХраненияМногостраничный + 46 + true + true + + true + + + ФорматХраненияМногостраничный + + + ФорматХраненияМногостраничныйExtendedTooltip + 61 + Label + true + true + + Left + + + + ФорматХраненияМногостраничныйКонтекстноеМеню + 47 + true + + InputField + Enter + true + Left + true + + 9 + true + true + false + true + true + true + true + Normal + 9 + + + true + true + + true + + + <key>ru</key> + <value>Для многостраничных изображений</value> + + + ru + Группа формат хранения многостраничный + + true + + ГруппаФорматХраненияМногостраничныйExtendedTooltip + 60 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto true @@ -97,17 +458,9 @@ true - - <key>ru</key> - <value>Группа формата хранения</value> - - - ru - Группа формата хранения - - ГруппаФорматаХраненияExtendedTooltip - 52 + Группа2РасширеннаяПодсказка + 72 Label true true @@ -117,6 +470,7 @@ UsualGroup + Vertical Auto true true @@ -125,26 +479,22 @@
      - ГруппаФорматаСканирования - 36 + ГруппаПараметрыСканирования + 24 - ФорматСканированногоИзображения - 37 + Разрешение + 14 true true true - ФорматСканированногоИзображения + Разрешение - - OnChange - ФорматСканированногоИзображенияПриИзменении - - ФорматСканированногоИзображенияExtendedTooltip - 56 + РазрешениеExtendedTooltip + 63 Label true true @@ -153,8 +503,8 @@ - ФорматСканированногоИзображенияКонтекстноеМеню - 38 + РазрешениеКонтекстноеМеню + 15 true InputField @@ -163,7 +513,7 @@ Left true - 9 + 13 true true false @@ -172,24 +522,22 @@ true true Normal - 9 - - ДекорацияФорматСканированногоИзображения - 39 - - <key>ru</key> - <value>(для сканирования)</value> - + + Цветность + 16 true true true + + Цветность + - ДекорацияФорматСканированногоИзображенияExtendedTooltip - 57 + ЦветностьExtendedTooltip + 64 Label true true @@ -198,17 +546,185 @@ - ДекорацияФорматСканированногоИзображенияКонтекстноеМеню - 40 + ЦветностьКонтекстноеМеню + 17 true - Label - true - true - - Left + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + Поворот + 20 + + <key>ru</key> + <value>Поворот изображения</value> + + true + true + + true + + + Поворот + + + ПоворотExtendedTooltip + 65 + Label + true + true + + Left + + + + ПоворотКонтекстноеМеню + 21 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + РазмерБумаги + 22 + true + true + + true + + + РазмерБумаги + + + РазмерБумагиExtendedTooltip + 66 + Label + true + true + + Left + + + + РазмерБумагиКонтекстноеМеню + 23 + true + + InputField + Enter + true + Left + true + + 13 + true + true + false + true + true + true + true + Normal + + + + ДвустороннееСканирование + 28 + true + true + + true + + + ДвустороннееСканирование + + Right + + ДвустороннееСканированиеExtendedTooltip + 67 + Label + true + true + + Left + + + + ДвустороннееСканированиеКонтекстноеМеню + 29 + true + + CheckBoxField + Enter + true + Left + true + + + + ПоказыватьДиалогСканера + 1 + true + true + + true + + + ПоказыватьДиалогСканера + + Right + + ПоказыватьДиалогСканераExtendedTooltip + 68 + Label + true + true + + Left + + + + ПоказыватьДиалогСканераКонтекстноеМеню + 2 + true + + CheckBoxField + Enter + true + Left + true + + true true @@ -216,15 +732,16 @@ <key>ru</key> - <value>Группа формата сканирования</value> + <value>Параметры сканирования</value> ru - Группа формата сканирования + Группа параметры сканирования + true - ГруппаФорматаСканированияExtendedTooltip - 55 + ГруппаПараметрыСканированияExtendedTooltip + 62 Label true true @@ -234,117 +751,24 @@ UsualGroup + Vertical Auto + WeakSeparation true true + auto Auto Auto - - КачествоJPG - 41 - true - true - - true - - - КачествоJPG - - - КачествоJPGExtendedTooltip - 58 - Label - true - true - - Left - - - - КачествоJPGКонтекстноеМеню - 42 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - - СжатиеTIFF - 43 - true - true - - true - - - СжатиеTIFF - - - СжатиеTIFFExtendedTooltip - 59 - Label - true - true - - Left - - - - СжатиеTIFFКонтекстноеМеню - 44 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - 9 - - true true true - - <key>ru</key> - <value>Для одностраничных изображений</value> - - - ru - Группа формат хранения одиночный - - true - ГруппаФорматХраненияОдиночныйExtendedTooltip - 51 + Группа1РасширеннаяПодсказка + 70 Label true true @@ -354,378 +778,9 @@ UsualGroup - Vertical Auto - StrongSeparation true true - auto - Auto - Auto - - - - ГруппаФорматХраненияМногостраничный - 45 - - ФорматХраненияМногостраничный - 46 - true - true - - true - - - ФорматХраненияМногостраничный - - - ФорматХраненияМногостраничныйExtendedTooltip - 61 - Label - true - true - - Left - - - - ФорматХраненияМногостраничныйКонтекстноеМеню - 47 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - 9 - - - true - true - - true - - - <key>ru</key> - <value>Для многостраничных изображений</value> - - - ru - Группа формат хранения многостраничный - - true - - ГруппаФорматХраненияМногостраничныйExtendedTooltip - 60 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - StrongSeparation - true - true - auto - Auto - Auto - - - - ГруппаПараметрыСканирования - 24 - - Разрешение - 14 - true - true - - true - - - Разрешение - - - РазрешениеExtendedTooltip - 63 - Label - true - true - - Left - - - - РазрешениеКонтекстноеМеню - 15 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - Цветность - 16 - true - true - - true - - - Цветность - - - ЦветностьExtendedTooltip - 64 - Label - true - true - - Left - - - - ЦветностьКонтекстноеМеню - 17 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - Поворот - 20 - - <key>ru</key> - <value>Поворот изображения</value> - - true - true - - true - - - Поворот - - - ПоворотExtendedTooltip - 65 - Label - true - true - - Left - - - - ПоворотКонтекстноеМеню - 21 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - РазмерБумаги - 22 - true - true - - true - - - РазмерБумаги - - - РазмерБумагиExtendedTooltip - 66 - Label - true - true - - Left - - - - РазмерБумагиКонтекстноеМеню - 23 - true - - InputField - Enter - true - Left - true - - 13 - true - true - false - true - true - true - true - Normal - - - - ДвустороннееСканирование - 28 - true - true - - true - - - ДвустороннееСканирование - - Right - - ДвустороннееСканированиеExtendedTooltip - 67 - Label - true - true - - Left - - - - ДвустороннееСканированиеКонтекстноеМеню - 29 - true - - CheckBoxField - Enter - true - Left - true - - - - ПоказыватьДиалогСканера - 1 - true - true - - true - - - ПоказыватьДиалогСканера - - Right - - ПоказыватьДиалогСканераExtendedTooltip - 68 - Label - true - true - - Left - - - - ПоказыватьДиалогСканераКонтекстноеМеню - 2 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Параметры сканирования</value> - - - ru - Группа параметры сканирования - - true - - ГруппаПараметрыСканированияExtendedTooltip - 62 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - StrongSeparation - true - true - auto Auto Auto diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Help/ru.html index 1d92bf343..3671bfb1e 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Help/ru.html @@ -1,13 +1,16 @@ - -

      В форме выполняется настройка сканирования на данный сеанс сканирования (эти настройки не будут сохранены). Форма открывается из формы сканирования.

      -

      Формат одностраничного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF, PDF) для помещения в информационную базу.

      -

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

      -

      Тип сканированного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF) для изображений, которые будут получены со сканера. Опция доступна, если формат одностраничного изображения - PDF.

      -

      Качество - если выбран формат JPG, то можно настроить его качество (100 - максимальное качество и максимальный размер,  1 - минимальное качество и минимальный размер.). По умолчанию - 100.

      -

      Сжатие - если выбран формат TIF, можно настроить сжатие. Возможные варианты: LZW, RLE, CCITT3, CCITT4, Без сжатия. По умолчанию: Без сжатия.

      -

      Разрешение - позволяет выбрать разрешение сканирования (DPI). Список доступных разрешений зависит от выбранного сканера.

      -

      Цветность - выбор цветности изображений, которые будут получены со сканера (Монохромное, Градации Серого, Цветное).

      -

      Поворот изображения - позволяет выбрать один из вариантов поворота изображений после сканирования. Для некоторых моделей сканеров это свойство недоступно.

      -

      Размер бумаги - позволяет выбрать размер бумаги, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно.

      -

      Двустороннее сканирование - если установлено, будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно.

      -

      Показывать диалог сканера - если Истина, перед сканированием будет показан диалог для расширенной настройки сканирования (например, выбор области сканирования на листе бумаги).

      \ No newline at end of file + +

      Предназначена для настройки на данный сеанс сканирования (эти настройки не будут сохранены). Открывается из Помощника сканирования по команде Настройка.

      +

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

      +

      Параметры изображений

      +
      • Формат одностраничного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF, PDF) для помещения в информационную базу. +
      • Формат многостраничного изображения - позволяет выбрать один из поддерживаемых форматов (TIF, PDF) для помещения в информационную базу. Применяется когда выбрана команда Принять все как один файл. +
        • Тип сканированного изображения - позволяет выбрать один из поддерживаемых форматов (BMP, JPG, GIF, PNG, TIF) для изображений, которые будут получены со сканера. Опция доступна, если формат одностраничного изображения - PDF. +
        • Качество - если выбран формат JPG, то можно настроить его качество (100 - максимальное качество и максимальный размер,  1 - минимальное качество и минимальный размер.). По умолчанию - 100. +
        • Сжатие - если выбран формат TIF, можно настроить сжатие. Возможные варианты: LZW, RLE, CCITT3, CCITT4, Без сжатия. По умолчанию: Без сжатия.

      Параметры сканирования

      +
      • Разрешение - позволяет выбрать разрешение сканирования (DPI). Список доступных разрешений зависит от выбранного сканера. +
      • Цветность - выбор цветности изображений, которые будут получены со сканера (Монохромное, Градации Серого, Цветное). +
      • Поворот изображения - позволяет выбрать один из вариантов поворота изображений после сканирования. Для некоторых моделей сканеров это свойство недоступно. +
      • Размер бумаги - позволяет выбрать размер бумаги, которая помещена в сканер. Для некоторых моделей сканеров это свойство недоступно. +
      • Двустороннее сканирование - если установлено, будут отсканированы обе стороны бумаги. Для некоторых моделей сканеров это свойство недоступно. +
      • Показывать диалог сканера - если флажок включен, перед сканированием будет показан диалог для расширенной настройки сканирования (например, выбор области сканирования на листе бумаги).

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Module.bsl index b6cfcffc7..47eed1ebc 100644 --- a/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/НастройкаСканированияНаСеанс/Module.bsl @@ -68,6 +68,9 @@ Элементы.ФорматСканированногоИзображения.Заголовок = НСтр("ru = 'Тип'"); КонецЕсли; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, + "ГруппаФорматХраненияОдиночный,ГруппаФорматХраненияМногостраничный,ГруппаПараметрыСканирования"); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Form.form b/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Form.form index 79a8a8cd0..51929fefa 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Form.form @@ -127,14 +127,11 @@ Form.Command.Записать Normal - PictureAndText + Auto 35 true true UserCmds - - StdPicture.Write - Auto
      @@ -407,7 +404,7 @@ ПриСозданииНаСервере 80 - 25 + 15 DontBlock true true @@ -668,11 +665,15 @@ true Ctrl+S + + StdPicture.Write + Записать + Text Auto Auto @@ -698,7 +699,7 @@ Редактировать - TextPicture + Text Auto Auto @@ -742,11 +743,15 @@ true + + StdPicture.WriteAndClose + ЗаписатьИЗакрыть + Text Auto Auto diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Help/ru.html index 2e25c76c0..fe2c2c71f 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/РедактированиеТекстовогоФайла/Help/ru.html @@ -1,19 +1,19 @@ - +

      -

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

      -

      Содержание:

      -

      Как открыть файл во встроенном редакторе текстовых файлов

      -

      Как открыть файл в стандартной программе

      -

      Как изменить кодировку текста

      -

      Общие сведения

      -

      -

      Как открыть файл во встроенном редакторе текстовых файлов

      -

      По умолчанию во встроенном редакторе открываются текстовые файлы с расширением txt, ini, xml. Вы можете дополнить список расширений файлов в персональных настройках программы. Для этого:

      -
      1. Перейдите в раздел Настройка и администрирование. -
      2. Выполните команду Персональные настройки командной панели. -
      3. В персональных настройках программы перейдите на закладку Работа с файлами. -
      4. Введите расширения файлов в колонке Расширение. -
      5. Нажмите ОК, чтобы сохранить настройку.
      -
      -

      -

      В начало

      +

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

      +

      Открывается из списка Файлы по команде Открыть или Редактировать файл, в случае если в персональных настройках программы имеется соответствующая настройка.

      +

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

      +

      -

      Как открыть файл в стандартной программе

      -

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

      -
      1. Перейдите в раздел Настройка и администрирование. -
      2. Выполните команду Персональные настройки панели действий. -
      3. В персональных настройках программы перейдите на закладку Работа с файлами. -
      4. В колонке Способ открытия выберите пункт Во внешнем приложении. -
      5. Нажмите ОК, чтобы сохранить настройку.
      -
      -

      -

      В начало

      -

      -

      Изменение кодировки текстового файла

      -

      Текстовые файлы могут быть сохранены в разных кодировках. Основными кодировками для работы с текстовыми файлами на русском языке являются:

      -
      • IBM866 (Кириллица DOS), -
      • KOI8-R (Кириллица KOI8-R), -
      • Windows-1251 (Кириллица Windows.

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

      -

      Чтобы изменить кодировку текстового файла, выполните следующие действия:

      -
      1. Откройте файл во встроенном редакторе текстовых файлов. -
      2. Выполните команду Изменить кодировку в меню Все действия. -
      3. Выберите кодировку из списка. -
      4. Если нужная кодировка отсутствует, снимите флажок Показывать только основные кодировки. -
      5. Выберите нужную кодировку из списка. -
      6. Нажмите ОК, чтобы сохранить настройку
      -
      -

      -

      В начало

      +

      -

      Общие сведения

      -

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

      -

      См. также: Файлы, Хранилище файлов, Персональные настройки

      - -
      -

      -

      В начало

      \ No newline at end of file +

      Редактирование файла

      +
      • +
        +
        Если файл открыт в режиме просмотра, кнопки Записать и закрыть и Записать недоступны. Нажмите Редактировать, для того чтобы изменить файл.
        +
      • +
        +
        Принцип работы встроенного редактора текстовых файлов такой же, как и у внешнего приложения. Файл копируется на локальный компьютер и помечается как занятый в информационной базе. До тех пор пока вы не нажмете Все действия - Закончить редактирование, созданная версия файла не будет доступна другим пользователям. 
        +
      • После окончания редактирования файла нажмите Все действия - Закончить редактирование, для того чтобы снять с него пометку занятости для редактирования. В зависимости от настроек команда также сохраняет версию файла или обновляет файл в хранилище. По умолчанию создается новая версия файла. Для изменения настройки при создании версии снимите соответствующий флажок.

      Просмотр задач

      +

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

      +

      Просмотр карточки файла

      +

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

      +

      Сравнение версий

      +

      Нажмите Все действия - Показать отличия, для того чтобы произвести сравнение версий файлов. Если программа для сравнения версий не была выбрана заранее в персональных настройках программы (вкладка Работа с файлами), предлагается ее выбрать. Доступны Microsoft Word или OpenOffice.org Writer.

      +

      Сохранение файла

      +

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

      +

      Открытие файла в стандартной программе

      +
      • Нажмите Все действия - Открыть стандартным приложением, для того чтобы перейти во внешнее приложение (Блокнот Windows) для редактирования файла. +
      • Если необходимо, чтобы текстовые файлы c определенными расширениями по умолчанию открывались во внешнем приложении, внесите изменения в персональные настройки программы. Для этого: +
        • В персональных настройках программы перейдите на закладку Работа с файлами. +
        • Измените Настройки открытия файлов. В колонке Способ открытия выберите Стандартным приложением.

      Изменение кодировки текстового файла

      +

      Текстовые файлы могут быть сохранены в разных кодировках. Основными кодировками для работы с текстовыми файлами на русском языке являются:

      +
      • +
        IBM866 (Кириллица DOS),
        +
      • +
        KOI8-R (Кириллица KOI8-R),
        +
      • +
        Windows-1251 (Кириллица Windows.

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

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Attributes/СписокФайлов/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Attributes/Список/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Attributes/СписокФайлов/ExtInfo/ListSettings.dcss rename to SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Attributes/Список/ExtInfo/ListSettings.dcss diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Form.form b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Form.form index 41f0dd5ca..c8626e8b7 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Form.form @@ -5,10 +5,44 @@ Редактируемые файлы - ОсновнаяКоманднаяПанель - 1 + ГруппаПользовательскихНастроек + 125 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 126 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 127 - ОткрытьФайл + ФормаОткрыть 53 true true @@ -17,7 +51,7 @@ false - ОткрытьФайлExtendedTooltip + ФормаОткрытьРасширеннаяПодсказка 74 Label true @@ -35,7 +69,7 @@ Auto - ЗакончитьРедактирование + ФормаЗакончитьРедактирование 52 true true @@ -44,7 +78,7 @@ false - ЗакончитьРедактированиеExtendedTooltip + ФормаЗакончитьРедактированиеРасширеннаяПодсказка 75 Label true @@ -55,14 +89,13 @@ Form.Command.ЗакончитьРедактирование Normal - Auto true true UserCmds Auto - Изменить + ФормаИзменить 20 <key>ru</key> @@ -75,7 +108,7 @@ </userVisible> <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>ИзменитьExtendedTooltip</name> + <name>ФормаИзменитьРасширеннаяПодсказка</name> <id>76</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -86,7 +119,6 @@ </extendedTooltip> <commandName>Form.Item.Список.StandardCommand.Change</commandName> <buttonImportance>Normal</buttonImportance> - <representation>PictureAndText</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> @@ -100,15 +132,20 @@ <color>Style.BorderColor</color> </borderColor> <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> </items> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> + <title> + <key>ru</key> + <value>Командная панель</value> + - ОсновнаяКоманднаяПанельExtendedTooltip - 73 + КоманднаяПанельРасширеннаяПодсказка + 128 Label true true @@ -130,7 +167,7 @@ true - СписокФайлов + Список true false @@ -139,7 +176,7 @@ Группа 26 - Картинка + СписокИндексКартинки 7 true true @@ -147,11 +184,11 @@ true - СписокФайлов.ИндексКартинки + Список.ИндексКартинки None - КартинкаExtendedTooltip + СписокИндексКартинкиРасширеннаяПодсказка 89 Label true @@ -161,7 +198,7 @@ - КартинкаКонтекстноеМеню + СписокИндексКартинкиКонтекстноеМеню 3 true @@ -187,7 +224,7 @@ - Наименование + СписокНаименование 9 <key>ru</key> @@ -199,11 +236,11 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.Description</segments> + <segments>Список.Description</segments> </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаименованиеExtendedTooltip</name> + <name>СписокНаименованиеРасширеннаяПодсказка</name> <id>90</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -213,31 +250,25 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>НаименованиеКонтекстноеМеню</name> + <name>СписокНаименованиеКонтекстноеМеню</name> <id>4</id> <autoFill>true</autoFill> </contextMenu> - <type>InputField</type> + <type>LabelField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> - <extInfo xsi:type="form:InputFieldExtInfo"> + <extInfo xsi:type="form:LabelFieldExtInfo"> <width>8</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <borderColor xsi:type="core:ColorRef"> - <color>Style.BorderColor</color> - </borderColor> - <textSize>Normal</textSize> </extInfo> </items> <items xsi:type="form:FormField"> - <name>Описание</name> + <name>СписокОписание</name> <id>13</id> <visible>true</visible> <enabled>true</enabled> @@ -245,10 +276,10 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.Описание</segments> + <segments>Список.Описание</segments> </dataPath> <extendedTooltip> - <name>ОписаниеExtendedTooltip</name> + <name>СписокОписаниеРасширеннаяПодсказка</name> <id>91</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -258,27 +289,21 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ОписаниеКонтекстноеМеню</name> + <name>СписокОписаниеКонтекстноеМеню</name> <id>14</id> <autoFill>true</autoFill> </contextMenu> - <type>InputField</type> + <type>LabelField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> - <extInfo xsi:type="form:InputFieldExtInfo"> + <extInfo xsi:type="form:LabelFieldExtInfo"> <width>1</width> <autoMaxWidth>true</autoMaxWidth> <height>1</height> <autoMaxHeight>true</autoMaxHeight> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <borderColor xsi:type="core:ColorRef"> - <color>Style.BorderColor</color> - </borderColor> - <textSize>Normal</textSize> </extInfo> </items> <visible>true</visible> @@ -304,22 +329,18 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ВладелецФайла</name> + <name>СписокВладелецФайла</name> <id>64</id> - <title> - <key>ru</key> - <value>Где лежит</value> - true true true - СписокФайлов.ВладелецФайла + Список.ВладелецФайла - ВладелецФайлаExtendedTooltip + СписокВладелецФайлаРасширеннаяПодсказка 92 Label true @@ -329,7 +350,7 @@ - ВладелецФайлаКонтекстноеМеню + СписокВладелецФайлаКонтекстноеМеню 65 true @@ -345,11 +366,11 @@ - ТекущаяВерсияРазмер + СписокТекущаяВерсияРазмер 61 <key>ru</key> - <value>Размер (Кб)</value> + <value>Размер (КБ)</value> true true @@ -357,14 +378,14 @@ true - СписокФайлов.Размер + Список.ТекущаяВерсияРазмер ru - Размер текущей версии + Размер данных версии файла. - ТекущаяВерсияРазмерExtendedTooltip + СписокТекущаяВерсияРазмерРасширеннаяПодсказка 93 Label true @@ -374,7 +395,7 @@ - ТекущаяВерсияРазмерКонтекстноеМеню + СписокТекущаяВерсияРазмерКонтекстноеМеню 62 true @@ -394,16 +415,16 @@ - Ссылка + СписокСсылка 98 true true - СписокФайлов.Ref + Список.Ref - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 100 Label true @@ -413,7 +434,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 99 true @@ -423,8 +444,10 @@ Left true + 1 true true + false None @@ -448,10 +471,10 @@ СписокСтрокаПоиска - 101 + 129 СписокСтрокаПоискаРасширеннаяПодсказка - 103 + 131 Label true true @@ -461,7 +484,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 102 + 130 true Список @@ -471,10 +494,10 @@ СписокСостояниеПросмотра - 104 + 132 СписокСостояниеПросмотраРасширеннаяПодсказка - 106 + 134 Label true true @@ -484,7 +507,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 105 + 133 true ViewStatusAddition @@ -495,10 +518,10 @@ СписокУправлениеПоиском - 107 + 135 СписокУправлениеПоискомРасширеннаяПодсказка - 109 + 137 Label true true @@ -508,7 +531,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 108 + 136 true SearchControlAddition @@ -531,146 +554,11 @@ СписокКонтекстноеМеню 2 - КонтекстноеМенюСписокОткрытьФайл - 54 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьФайлExtendedTooltip - 77 - Label - true - true - - Left - - - Form.Command.ОткрытьФайл - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗакончитьРедактирование - 55 - true - true - - true - - false - - КонтекстноеМенюСписокЗакончитьРедактированиеExtendedTooltip - 78 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьИзменения - 57 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьИзмененияExtendedTooltip - 79 - Label - true - true - - Left - - - Form.Command.СохранитьИзменения - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОткрытьКаталогФайла - 58 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьКаталогФайлаExtendedTooltip - 80 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьКак - 59 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьКакExtendedTooltip - 81 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОсвободить - 56 + СписокКонтекстноеМенюИзменить + 109 <key>ru</key> - <value>Отменить редактирование</value> + <value>Открыть карточку</value> true true @@ -679,8 +567,8 @@ false - КонтекстноеМенюСписокОсвободитьExtendedTooltip - 82 + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 110 Label true true @@ -688,26 +576,118 @@ Left - Form.Command.Освободить + Form.Item.Список.StandardCommand.Change Normal - Auto + PictureAndText true true UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + Auto + InCommandBarAndInAdditionalSubmenu - - КонтекстноеМенюСписокОбновитьИзФайлаНаДиске - 63 + + СписокКонтекстноеМенюГруппаКомандОсновные + 111 + + СписокКонтекстноеМенюОткрыть + 54 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьРасширеннаяПодсказка + 77 + Label + true + true + + Left + + + Form.Command.ОткрытьФайл + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьИзменения + 57 + true + true + + false + + СписокКонтекстноеМенюСохранитьИзмененияРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + Form.Command.СохранитьИзменения + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗакончитьРедактирование + 55 + true + true + + true + + false + + СписокКонтекстноеМенюЗакончитьРедактированиеРасширеннаяПодсказка + 78 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + true true true - false + + <key>ru</key> + <value>Группа</value> + - КонтекстноеМенюСписокОбновитьИзФайлаНаДискеExtendedTooltip - 83 + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 112 Label true true @@ -715,19 +695,307 @@ Left - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto + - ОбщиеКоманды + СписокКонтекстноеМенюГруппаКомандДополнительные + 121 + + СписокКонтекстноеМенюСохранитьКак + 59 + true + true + + true + + false + + СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка + 81 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОсвободить + 56 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОбновитьИзФайлаНаДиске + 63 + true + true + + true + + false + + СписокКонтекстноеМенюОбновитьИзФайлаНаДискеРасширеннаяПодсказка + 83 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьКаталогФайла + 58 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьКаталогФайлаРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд дополнительные</value> + + + ru + Список контекстное меню группа команд дополнительные + + + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка + 122 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаКомандДополнительно 60 - ВывестиСписок + СписокКонтекстноеМенюОбновить + 113 + true + true + + true + + + СписокКонтекстноеМенюОбновитьРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаНастройка + 101 + + СписокКонтекстноеМенюНастройкаСписка + 105 + true + true + + true + + + СписокКонтекстноеМенюНастройкаСпискаРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗагрузитьНастройкиДинамическогоСписка + 115 + true + true + + true + + + СписокКонтекстноеМенюЗагрузитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 116 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.LoadDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьНастройкиДинамическогоСписка + 117 + true + true + + true + + + СписокКонтекстноеМенюСохранитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 118 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SaveDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСтандартныеНастройкиДинамическогоСписка + 119 + true + true + + true + + + СписокКонтекстноеМенюСтандартныеНастройкиДинамическогоСпискаРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.DynamicListStandardSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройка</value> + + + СписокКонтекстноеМенюГруппаНастройкаРасширеннаяПодсказка + 102 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюВывестиСписок 24 true true @@ -736,7 +1004,7 @@ false - ВывестиСписокExtendedTooltip + СписокКонтекстноеМенюВывестиСписокРасширеннаяПодсказка 85 Label true @@ -764,20 +1032,16 @@ InAdditionalSubmenu - ОбщаяКоманда_ДополнительныеСведения - 41 + СписокКонтекстноеМенюИзменитьФорму + 103 true true true - - Items.Список.CurrentData.Ref - - false - ОбщаяКоманда_ДополнительныеСведенияExtendedTooltip - 86 + СписокКонтекстноеМенюИзменитьФормуРасширеннаяПодсказка + 104 Label true true @@ -785,7 +1049,7 @@ Left - CommonCommand.ДополнительныеСведенияКоманднаяПанель + Form.StandardCommand.CustomizeForm Normal Auto true @@ -800,14 +1064,10 @@ <key>ru</key> - <value>Общие команды</value> + <value>Дополнительно</value> - - ru - Общие команды - - ОбщиеКомандыExtendedTooltip + СписокКонтекстноеМенюГруппаКомандДополнительноРасширеннаяПодсказка 84 Label true @@ -816,7 +1076,66 @@ Left - + Popup + + Auto + Normal + + + + СписокКонтекстноеМенюОбщаяКомандаДополнительныеСведенияКоманднаяПанель + 123 + true + true + + true + + + Items.Список.CurrentData.ВладелецФайла + + + СписокКонтекстноеМенюОбщаяКомандаДополнительныеСведенияКоманднаяПанельРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + CommonCommand.ДополнительныеСведенияКоманднаяПанель + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюКопироватьВБуферОбмена + 107 + true + true + + true + + + СписокКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка + 108 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto true @@ -857,6 +1176,7 @@ true true + ГруппаПользовательскихНастроек @@ -994,6 +1314,7 @@ OnCreateAtServer ПриСозданииНаСервере + 8 LockOwner true true @@ -1005,10 +1326,10 @@ auto true - СписокФайлов + Список <key>ru</key> - <value>Список файлов</value> + <value>Список</value> 1 @@ -1021,19 +1342,22 @@ true - СписокФайлов.АвторТекущейВерсии + Список.Автор - СписокФайлов.Ref + Список.АвторТекущейВерсии - СписокФайлов.Автор + Список.Ref - СписокФайлов.Редактирует + Список.Редактирует - СписокФайлов.ХранитьВерсии + Список.ТекущаяВерсияАвтор + + + Список.ХранитьВерсии
      true
      @@ -1046,8 +1370,8 @@ Файлы.Ссылка, Файлы.ХранитьВерсии, Файлы.ВладелецФайла, - Файлы.ТекущаяВерсияРазмер/1024 КАК Размер, - Файлы.ТекущаяВерсияАвтор КАК Автор + Файлы.ТекущаяВерсияРазмер / 1024 КАК ТекущаяВерсияРазмер, + Файлы.ТекущаяВерсияАвтор КАК ТекущаяВерсияАвтор ИЗ Справочник.Файлы КАК Файлы ГДЕ @@ -1099,7 +1423,7 @@ ОткрытьФайл <key>ru</key> - <value>Открыть файл</value> + <value>Просмотреть</value> 1 @@ -1118,7 +1442,7 @@ ОткрытьФайл - TextPicture + Text Auto Auto diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Help/ru.html index f6c97bb31..1aecfe0c6 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Help/ru.html @@ -1,3 +1,13 @@ - -

      В этом списке отображаются только файлы, занятые Вами для редактирования.

      -

      См. также: Общая информация о файлах, Общая информация о формах.

      \ No newline at end of file + +

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

      +

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

      +

      В списке выводятся сведения:

      +
      • Файл - наименование файла +
      • Где лежит - папка, в которой находится файл или объект, к которому присоединен файл.

      Доступные действия:

      +
      • Открыть файл - Открыть файл для просмотра; +
      • Закончить редактирование - сохраняет версию файла и освобождает файл для других пользователей. +
      • Открыть карточку - открыть для просмотра сведения о файле.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Module.bsl index ae9a3049a..c2f55ed7b 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/РедактируемыеФайлы/Module.bsl @@ -13,11 +13,11 @@ КонецЕсли; Пользователь = Пользователи.ТекущийПользователь(); - СписокФайлов.Параметры.УстановитьЗначениеПараметра("Редактирует", Пользователь); + Список.Параметры.УстановитьЗначениеПараметра("Редактирует", Пользователь); ПоказыватьКолонкуРазмер = РаботаСФайламиСлужебныйВызовСервера.ПолучитьПоказыватьКолонкуРазмер(); Если ПоказыватьКолонкуРазмер = Ложь Тогда - Элементы.ТекущаяВерсияРазмер.Видимость = Ложь; + Элементы.СписокТекущаяВерсияРазмер.Видимость = Ложь; КонецЕсли; ЗавершениеРаботыПрограммы = Неопределено; @@ -26,8 +26,8 @@ Если Ответ = Истина тогда Элементы.ПоказыватьЗанятыеФайлыПриЗавершенииРаботы.Видимость = Ответ; Элементы.ГруппаКоманднойПанели.Видимость = Ответ; - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; ПоказыватьЗанятыеФайлыПриЗавершенииРаботы = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( "НастройкиПрограммы", @@ -77,19 +77,19 @@ &НаКлиенте Процедура ЗакончитьРедактирование(Команда) - СтрокаТаблицы = Элементы.Список.ТекущиеДанные; - Если СтрокаТаблицы = Неопределено Тогда + ТекущиеДанные = Элементы.Список.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда Возврат; КонецЕсли; РаботаСФайламиСлужебныйКлиент.ЗакончитьРедактированиеСОповещением( Неопределено, - СтрокаТаблицы.Ссылка, + ТекущиеДанные.Ссылка, УникальныйИдентификатор, - СтрокаТаблицы.ХранитьВерсии, + ТекущиеДанные.ХранитьВерсии, Истина, // РедактируетТекущийПользователь - СтрокаТаблицы.Редактирует, - СтрокаТаблицы.Автор); + ТекущиеДанные.Редактирует, + ТекущиеДанные.ТекущаяВерсияАвтор); КонецПроцедуры @@ -208,19 +208,19 @@ &НаКлиенте Процедура УстановитьДоступностьКоманд(Доступность) - Элементы.ЗакончитьРедактирование.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокЗакончитьРедактирование.Доступность = Доступность; + Элементы.ФормаЗакончитьРедактирование.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюЗакончитьРедактирование.Доступность = Доступность; - Элементы.ОткрытьФайл.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОткрытьФайл.Доступность = Доступность; + Элементы.ФормаОткрыть.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюОткрыть.Доступность = Доступность; - Элементы.Изменить.Доступность = Доступность; + Элементы.ФормаИзменить.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокСохранитьИзменения.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОткрытьКаталогФайла.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокСохранитьКак.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОсвободить.Доступность = Доступность; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОбновитьИзФайлаНаДиске.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюСохранитьИзменения.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюОткрытьКаталогФайла.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюСохранитьКак.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Доступность; + Элементы.СписокКонтекстноеМенюОбновитьИзФайлаНаДиске.Доступность = Доступность; КонецПроцедуры Функция ОписаниеНастройки(Объект, Настойка, Значение) diff --git a/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Form.form b/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Form.form index 466a18c5c..dfee15eb0 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Form.form @@ -36,7 +36,7 @@ 4 true - 2 + 3 true false false @@ -82,7 +82,7 @@ 65 true - 2 + 3 true false @@ -113,7 +113,6 @@ UsualGroup Auto - StrongSeparation true true Auto diff --git a/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Help/ru.html new file mode 100644 index 000000000..008f99f48 --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/РежимСозданияФайлаДляСохранитьКак/Help/ru.html @@ -0,0 +1,6 @@ + +

      Предназначена для выбора режима сохранения файла.

      +

      Программа указывает путь к файлу в рабочем каталоге.

      +

      С помощью переключателя выберите режим сохранения файла:

      +
      • На основе файла в рабочем каталоге (рекомендуется). +
      • На основе файла в хранилище файлов.

      Нажмите Сохранить файл.

      \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Form.form b/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Form.form index 62b2b02e0..383563e62 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Form.form @@ -255,6 +255,7 @@ 50 true + 10 true true true @@ -377,7 +378,7 @@ Left true - 50 + 75 true 2 true @@ -631,8 +632,6 @@ OnClose ПриЗакрытии - 90 - 30 LockOwner true true diff --git a/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Help/ru.html index d08ceeee6..be7c0bae7 100644 --- a/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/РезультатСканирования/Help/ru.html @@ -1,9 +1,13 @@ - -

      Помощник сканирования

      -

      В этой форме вы можете отсканировать одно или несколько изображений.

      -

      Доступны следующие команды:

      -

      Принять - создает Файл на основании изображения (доступна, если отсканировано одно изображение).

      -

      Пересканировать - удаляет текущее изображение и сканирует заново.

      -

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

      -

      Принять все как отдельные файлы - создает отдельный Файл на основании каждого из изображений (доступна, если отсканировано два и более изображений).

      -

      Настройка - вызывает диалог настроек сканирования на сеанс. Ранее отсканированные изображения не удаляются.

      \ No newline at end of file + +

      В этом окне вы можете отсканировать одно или несколько изображений.

      +

      Сканирование изображений производится по команде Создать файл - Со сканера в списке Файлы (Присоединенные файлы).

      +

      Работа с отсканированными изображениями

      +

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

      +
      • Сканировать еще - выполните эту команду, если необходимо отсканировать сразу несколько документов. +
      • Пересканировать - удаляет текущее изображение и сканирует заново. +
      • Принять - создает файл на основании изображения (команда доступна, если отсканировано одно изображение). Автоматически создается карточка файла и выводится на экран, окно помощника закрывается. +
      • Принять все как один файл - команда становится доступной, если отсканировано два и более изображения, создает многостраничный файл (TIF или PDF) на основании всех изображений. Автоматически создается карточка файла и выводится на экран, окно помощника закрывается. +
      • Принять все как отдельные файлы - команда становится доступной, если отсканировано два и более изображения, создает отдельный файл на основании каждого из изображений. Автоматически создаются карточки файла, окно помощника закрывается. +
      • Отмена - отказаться от продолжения сканирования и выйти без сохранения отсканированных изображений. +
      • Настройка - выполните эту команду, для того чтобы в этом сеансе сканирования изменить параметры сканирования, установленные в персональных настройках программы. Установите параметры на этот сеанс и нажмите кнопку ОК. Ранее отсканированные изображения не удаляются.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Attributes/Группы/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Attributes/Список/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Attributes/Группы/ExtInfo/ListSettings.dcss rename to SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Attributes/Список/ExtInfo/ListSettings.dcss diff --git a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Form.form b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Form.form index 1a5205c00..1bb829057 100644 --- a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Form.form @@ -1,10 +1,44 @@ + + ГруппаПользовательскихНастроек + 111 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 112 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + КоманднаяПанель - 1 + 113 - ОткрытьФайл + ФормаОткрытьФайл 53 true true @@ -13,7 +47,7 @@ false - ОткрытьФайлExtendedTooltip + ФормаОткрытьФайлРасширеннаяПодсказка 75 Label true @@ -31,7 +65,7 @@ Auto - ЗакончитьРедактирование + ФормаЗакончитьРедактирование 52 true true @@ -40,7 +74,7 @@ false - ЗакончитьРедактированиеExtendedTooltip + ФормаЗакончитьРедактированиеРасширеннаяПодсказка 76 Label true @@ -51,14 +85,13 @@ Form.Command.ЗакончитьРедактирование Normal - Auto true true UserCmds Auto - Изменить + ФормаИзменить 20 <key>ru</key> @@ -71,7 +104,7 @@ </userVisible> <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>ИзменитьExtendedTooltip</name> + <name>ФормаИзменитьРасширеннаяПодсказка</name> <id>77</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -106,13 +139,9 @@ <key>ru</key> <value>Командная панель</value> - - ru - Командная панель - - КоманднаяПанельExtendedTooltip - 74 + КоманднаяПанельРасширеннаяПодсказка + 114 Label true true @@ -171,7 +200,7 @@ true - СписокФайлов + Список true false @@ -180,7 +209,7 @@ Группа 26 - Картинка + СписокИндексКартинки 7 true true @@ -188,11 +217,11 @@ true - СписокФайлов.ИндексКартинки + Список.ИндексКартинки None - КартинкаExtendedTooltip + СписокИндексКартинкиРасширеннаяПодсказка 91 Label true @@ -202,7 +231,7 @@
      - КартинкаКонтекстноеМеню + СписокИндексКартинкиКонтекстноеМеню 3 true @@ -228,7 +257,7 @@
      - Наименование + СписокНаименование 9 <key>ru</key> @@ -240,11 +269,11 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.Description</segments> + <segments>Список.Description</segments> </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаименованиеExtendedTooltip</name> + <name>СписокНаименованиеРасширеннаяПодсказка</name> <id>92</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -254,18 +283,70 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>НаименованиеКонтекстноеМеню</name> + <name>СписокНаименованиеКонтекстноеМеню</name> <id>4</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> - <width>40</width> + <width>20</width> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <borderColor xsi:type="core:ColorRef"> + <color>Style.BorderColor</color> + </borderColor> + <textSize>Normal</textSize> + </extInfo> + </items> + <items xsi:type="form:FormField"> + <name>СписокОписание</name> + <id>13</id> + <title> + <key>ru</key> + <value>Описание</value> + + true + true + + true + + + Список.Описание + + None + + СписокОписаниеРасширеннаяПодсказка + 93 + Label + true + true + + Left + + + + СписокОписаниеКонтекстноеМеню + 14 + true + + InputField + Enter + true + true + Left + true + Left + + 15 true true true @@ -300,61 +381,16 @@ - Описание - 13 - true - true - - true - - - СписокФайлов.Описание - - - ОписаниеExtendedTooltip - 93 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - Left - - true - 1 - true - true - true - true - - Style.BorderColor - - Normal - - - - Ссылка + СписокСсылка 100 true true - СписокФайлов.Ref + Список.Ref - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 102 Label true @@ -364,7 +400,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 101 true @@ -374,6 +410,7 @@ Left true + 1 true true @@ -395,10 +432,10 @@ СписокСтрокаПоиска - 104 + 116 СписокСтрокаПоискаРасширеннаяПодсказка - 106 + 118 Label true true @@ -408,7 +445,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 105 + 117 true Список @@ -418,10 +455,10 @@ СписокСостояниеПросмотра - 107 + 119 СписокСостояниеПросмотраРасширеннаяПодсказка - 109 + 121 Label true true @@ -431,7 +468,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 108 + 120 true ViewStatusAddition @@ -442,10 +479,10 @@ СписокУправлениеПоиском - 110 + 122 СписокУправлениеПоискомРасширеннаяПодсказка - 112 + 124 Label true true @@ -455,7 +492,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 111 + 123 true SearchControlAddition @@ -477,157 +514,100 @@ СписокКонтекстноеМеню 2 - - КонтекстноеМенюСписокОткрытьФайл - 54 + + СписокКонтекстноеМенюГруппаКомандОсновные + 105 + + СписокКонтекстноеМенюОткрытьФайл + 54 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьФайлРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + Form.Command.ОткрытьФайл + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьИзменения + 57 + true + true + + false + + СписокКонтекстноеМенюСохранитьИзмененияРасширеннаяПодсказка + 81 + Label + true + true + + Left + + + Form.Command.СохранитьИзменения + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗакончитьРедактирование + 55 + true + true + + true + + false + + СписокКонтекстноеМенюЗакончитьРедактированиеРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + true true true - false - - КонтекстноеМенюСписокОткрытьФайлExtendedTooltip - 79 - Label - true - true - - Left - - - Form.Command.ОткрытьФайл - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗакончитьРедактирование - 55 - true - true - - true - - false - - КонтекстноеМенюСписокЗакончитьРедактированиеExtendedTooltip - 80 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьИзменения - 57 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьИзмененияExtendedTooltip - 81 - Label - true - true - - Left - - - Form.Command.СохранитьИзменения - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОткрытьКаталогФайла - 58 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьКаталогФайлаExtendedTooltip - 82 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьКак - 59 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьКакExtendedTooltip - 83 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОсвободить - 56 <key>ru</key> - <value>Отменить редактирование</value> + <value>Список контекстное меню группа команд основные</value> - true - true - - true - - false - КонтекстноеМенюСписокОсвободитьExtendedTooltip - 84 + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 106 Label true true @@ -635,46 +615,149 @@ Left - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОбновитьИзФайлаНаДиске - 63 - true - true - - true - - false - - КонтекстноеМенюСписокОбновитьИзФайлаНаДискеExtendedTooltip - 85 - Label - true - true - - Left - - - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto + - ОбщиеКоманды + СписокКонтекстноеМенюГруппаКомандДополнительные + 103 + + СписокКонтекстноеМенюСохранитьКак + 59 + true + true + + true + + false + + СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка + 83 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОсвободить + 56 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка + 84 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОбновитьИзФайлаНаДиске + 63 + true + true + + true + + false + + СписокКонтекстноеМенюОбновитьИзФайлаНаДискеРасширеннаяПодсказка + 85 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьКаталогФайла + 58 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьКаталогФайлаРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд дополнительные</value> + + + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка + 104 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаКомандДополнительно 60 - ВывестиСписок + СписокКонтекстноеМенюВывестиСписок 24 true true @@ -683,7 +766,7 @@ false - ВывестиСписокExtendedTooltip + СписокКонтекстноеМенюВывестиСписокРасширеннаяПодсказка 87 Label true @@ -711,20 +794,16 @@ InAdditionalSubmenu - ОбщаяКоманда_ДополнительныеСведения - 41 + СписокКонтекстноеМенюИзменитьФорму + 107 true true true - - Items.Список.CurrentData.Ref - - false - ОбщаяКоманда_ДополнительныеСведенияExtendedTooltip - 88 + СписокКонтекстноеМенюИзменитьФормуРасширеннаяПодсказка + 108 Label true true @@ -732,7 +811,7 @@ Left - CommonCommand.ДополнительныеСведенияКоманднаяПанель + Form.StandardCommand.CustomizeForm Normal Auto true @@ -747,14 +826,10 @@ <key>ru</key> - <value>Общие команды</value> + <value>Список контекстное меню группа команд дополнительно</value> - - ru - Общие команды - - ОбщиеКомандыExtendedTooltip + СписокКонтекстноеМенюГруппаКомандДополнительноРасширеннаяПодсказка 86 Label true @@ -765,13 +840,68 @@ + + СписокКонтекстноеМенюОбщаяКомандаДополнительныеСведенияПанельНавигации + 41 + true + true + + true + + + Items.Список.CurrentData.Ref + + false + + СписокКонтекстноеМенюОбщаяКомандаДополнительныеСведенияПанельНавигацииРасширеннаяПодсказка + 88 + Label + true + true + + Left + + + CommonCommand.ДополнительныеСведенияКоманднаяПанель + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюКопироватьВБуферОбмена + 109 + true + true + + true + + + СписокКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + true + 8 true - 8 true MultiRow -
      true
      1 1 AutoUse @@ -800,6 +930,7 @@ true true + ГруппаПользовательскихНастроек
      @@ -1024,10 +1155,10 @@ auto true - СписокФайлов + Список <key>ru</key> - <value>Список файлов</value> + <value>Список</value> 1 @@ -1040,13 +1171,13 @@ true - СписокФайлов.Ref + Список.Ref - СписокФайлов.Редактирует + Список.Редактирует - СписокФайлов.ХранитьВерсии + Список.ХранитьВерсии
      true
      @@ -1128,7 +1259,7 @@ ОткрытьФайл <key>ru</key> - <value>Открыть файл</value> + <value>Просмотреть</value> 1 @@ -1146,7 +1277,7 @@ ОткрытьФайл - TextPicture + Text Auto Auto @@ -1241,9 +1372,6 @@ true - - CommonPicture.Папка - ОткрытьКаталогФайла diff --git a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Help/ru.html index f6c97bb31..51991ace8 100644 --- a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Help/ru.html @@ -1,3 +1,11 @@ - -

      В этом списке отображаются только файлы, занятые Вами для редактирования.

      -

      См. также: Общая информация о файлах, Общая информация о формах.

      \ No newline at end of file + +

      В этом списке при завершении работы отображаются файлы, занятые Вами для редактирования.

      +

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

      +

      В списке выводятся сведения:

      +
      • Наименование - наименование файла; +
      • Описание - подробные сведения о файле (из карточки файла).

      Доступные действия:

      +
      • Открыть файл - открывает файл внешним приложением для редактирования. Также можно открыть файл двойным щелчком мыши или с помощью клавиши Enter. +
      • Закончить редактирование - сохраняет версию файла и освобождает файл для других пользователей. +
      • Открыть карточку - открыть для просмотра сведения о файле.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Module.bsl index f862f8b12..ace74cf64 100644 --- a/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/СписокЗанятыхСВопросом/Module.bsl @@ -24,12 +24,12 @@ Если ЗначениеЗаполнено(Параметры.ВладелецФайла) Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - СписокФайлов, "ВладелецФайла", Параметры.ВладелецФайла); + Список, "ВладелецФайла", Параметры.ВладелецФайла); КонецЕсли; Если ЗначениеЗаполнено(Параметры.Редактирует) Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - СписокФайлов, "Редактирует", Параметры.Редактирует); + Список, "Редактирует", Параметры.Редактирует); КонецЕсли; ЗавершениеРаботыПрограммы = Неопределено; @@ -38,7 +38,7 @@ Если Ответ = Истина тогда Элементы.ПоказыватьЗанятыеФайлыПриЗавершенииРаботы.Видимость = Ответ; РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс; - КонецЕсли; + КонецЕсли; КонецЕсли; ПоказыватьЗанятыеФайлыПриЗавершенииРаботы = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( diff --git a/SSL/src/Catalogs/Файлы/Forms/Файлы/Form.form b/SSL/src/Catalogs/Файлы/Forms/Файлы/Form.form index cb749b0d0..1459fd950 100644 --- a/SSL/src/Catalogs/Файлы/Forms/Файлы/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/Файлы/Form.form @@ -5,2422 +5,21 @@ Файлы - Группа1 - 145 - - Группа2 - 146 - - Группа - 29 - - Папки - 24 - true - true - - true - - - Папки - - false - None - ListSettings - OutputList - - Папка - 27 - - <key>ru</key> - <value>Папки</value> - - true - true - - true - - - Папки.Description - - - ПапкаExtendedTooltip - 184 - Label - true - true - - Left - - - - ПапкаКонтекстноеМеню - 28 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ПапкиСсылка - 262 - true - true - - - Папки.Ref - - - ПапкиСсылкаРасширеннаяПодсказка - 264 - Label - true - true - - Left - - - - ПапкиСсылкаКонтекстноеМеню - 263 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - ПапкиКоманднаяПанель - 26 - Left - true - - - DragCheck - ПапкиПроверкаПеретаскивания - - - OnActivateRow - ПапкиПриАктивизацииСтроки - - - Drag - ПапкиПеретаскивание - - - ПапкиСтрокаПоиска - 265 - - ПапкиСтрокаПоискаРасширеннаяПодсказка - 267 - Label - true - true - - Left - - - - ПапкиСтрокаПоискаКонтекстноеМеню - 266 - true - - Папки - - true - - - - ПапкиСостояниеПросмотра - 268 - - ПапкиСостояниеПросмотраРасширеннаяПодсказка - 270 - Label - true - true - - Left - - - - ПапкиСостояниеПросмотраКонтекстноеМеню - 269 - true - - ViewStatusAddition - Папки - - true - - - - ПапкиУправлениеПоиском - 271 - - ПапкиУправлениеПоискомРасширеннаяПодсказка - 273 - Label - true - true - - Left - - - - ПапкиУправлениеПоискомКонтекстноеМеню - 272 - true - - SearchControlAddition - Папки - - true - - - - ПапкиExtendedTooltip - 183 - Label - true - true - - Left - - - - ПапкиКонтекстноеМеню - 25 - - ПапкиКонтекстноеМенюСоздатьПапку - 140 - - <key>ru</key> - <value>Создать новую папку</value> - - true - true - - true - - - ПапкиКонтекстноеМенюСоздатьПапкуРасширеннаяПодсказка - 176 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.Create - Normal - Auto - true - true - UserCmds - - StdPicture.CreateFolder - - Auto - - - ПапкиКонтекстноеМенюИзменитьПапку - 248 - true - true - - true - - - ПапкиКонтекстноеМенюИзменитьПапкуРасширеннаяПодсказка - 249 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюСкопироватьПапку - 250 - true - true - - true - - - ПапкиКонтекстноеМенюСкопироватьПапкуРасширеннаяПодсказка - 251 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиУстановитьПометкуУдаленияПапки - 234 - true - true - - true - - - ПапкиУстановитьПометкуУдаленияПапкиРасширеннаяПодсказка - 235 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюСтандартные - 139 - - ПапкиКонтекстноеМенюПеренестиЭлемент - 252 - true - true - - true - - - ПапкиКонтекстноеМенюПеренестиЭлементРасширеннаяПодсказка - 253 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.MoveItem - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиУровеньВверх - 254 - true - true - - true - - - ПапкиУровеньВверхРасширеннаяПодсказка - 255 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.LevelUp - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиУровеньВниз - 256 - true - true - - true - - - ПапкиУровеньВнизРасширеннаяПодсказка - 257 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.LevelDown - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиНайти - 258 - true - true - - true - - - ПапкиНайтиРасширеннаяПодсказка - 259 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиОтменитьПоиск - 260 - true - true - - true - - - ПапкиОтменитьПоискРасширеннаяПодсказка - 261 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Папки контекстное меню стандартные</value> - - - ru - Папки контекстное меню стандартные - - - ПапкиКонтекстноеМенюСтандартныеExtendedTooltip - 177 - Label - true - true - - Left - - - - Item.Папки - - - - ПапкиКонтекстноеМенюКопироватьВБуферОбмена - 141 - true - true - - true - - - ПапкиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 178 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаИмпорт - 114 - - КонтекстноеМенюПапкиИмпортФайлов - 63 - true - true - - true - - false - - КонтекстноеМенюПапкиИмпортФайловExtendedTooltip - 180 - Label - true - true - - Left - - - Form.Command.ИмпортФайлов - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюПапкиИмпортПапки - 82 - true - true - - true - - false - - КонтекстноеМенюПапкиИмпортПапкиExtendedTooltip - 181 - Label - true - true - - Left - - - Form.Command.ИмпортПапки - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюПапкиЭкспортПапки - 64 - true - true - - true - - false - - КонтекстноеМенюПапкиЭкспортПапкиExtendedTooltip - 182 - Label - true - true - - Left - - - Form.Command.ЭкспортПапки - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа импорт</value> - - - ru - Группа импорт - - - ГруппаИмпортExtendedTooltip - 179 - Label - true - true - - Left - - - - - - Tree - true - true - 10 - true - true - 4 - true - MultiRow - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - Auto - Auto - ExpandTopLevel - true - true - true - true - - Папки.ИндексКартинки - - - CommonPicture.Папки - - - Style.BorderColor - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true - - - - Список - 6 - true - true - - true - - - Список - - true - false - None - Delete - ListSettings - OutputList - Refresh - - ПодписанЭП - 117 - - <key>ru</key> - <value>Подписан ЭП</value> - - true - true - - true - - - Список.ПодписанЭП - - None - - ru - Подписан ЭП - - - ПодписанЭПРасширеннаяПодсказка - 209 - Label - true - true - - Left - - - - ПодписанЭПКонтекстноеМеню - 118 - true - - PictureField - Enter - true - - CommonPicture.ПодписанЭП - - Left - true - - true - true - true - true - - CommonPicture.ПодписанЭП - - - - 1 - - - - - Зашифрован - 121 - - <key>ru</key> - <value>Зашифрован</value> - - true - true - - true - - - Список.Зашифрован - - None - - ru - Зашифрован - - - ЗашифрованExtendedTooltip - 210 - Label - true - true - - Left - - - - ЗашифрованКонтекстноеМеню - 122 - true - - PictureField - Enter - true - - CommonPicture.Зашифрован - - Left - true - - true - true - true - true - - CommonPicture.Зашифрован - - - - 1 - - - - - КартинкаИНаименование - 30 - - Картинка - 7 - true - true - - true - - - Список.ИндексКартинки - - - КартинкаExtendedTooltip - 212 - Label - true - true - - Left - - - - КартинкаКонтекстноеМеню - 5 - true - - PictureField - Enter - Left - true - Left - - 2 - true - 1 - true - true - true - - CommonPicture.КоллекцияПиктограммФайлов - - - 1 - - - - - Наименование - 9 - - <key>ru</key> - <value>Наименование</value> - - true - true - - true - - - Список.Description - - true - - НаименованиеExtendedTooltip - 213 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 12 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal - - - true - true - - true - - - КартинкаИНаименованиеExtendedTooltip - 211 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - Описание - 8 - true - true - - true - - - Список.Описание - - - ОписаниеExtendedTooltip - 214 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 13 - true - - InputField - Enter - true - Left - true - Left - - true - 1 - true - true - true - true - - Style.BorderColor - - Normal - - - - Редактирует - 18 - true - true - - true - - - Список.Редактирует - - - РедактируетExtendedTooltip - 215 - Label - true - true - - Left - - - - РедактируетКонтекстноеМеню - 19 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ТекущаяВерсияКод - 31 - - <key>ru</key> - <value>Версия</value> - - true - true - - true - - - Список.ТекущаяВерсияНомерВерсии - - - ru - Номер версии - - - ТекущаяВерсияКодExtendedTooltip - 216 - Label - true - true - - Left - - - - ТекущаяВерсияКодКонтекстноеМеню - 32 - true - - InputField - Enter - true - Left - true - - 4 - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ТекущаяВерсияДатаСоздания - 14 - - <key>ru</key> - <value>Дата</value> - - true - true - - true - - - Список.ТекущаяВерсияДатаСоздания - - - ru - Дата добавления версии файла в базу. - - - ТекущаяВерсияДатаСозданияExtendedTooltip - 217 - Label - true - true - - Left - - - - ТекущаяВерсияДатаСозданияКонтекстноеМеню - 15 - true - - InputField - Enter - true - Left - true - Left - - 8 - true - true - - ru - ДЛФ=Д - - - ru - ДЛФ=Д - - true - true - true - - Style.BorderColor - - Normal - - - - ТекущаяВерсияАвтор - 55 - - <key>ru</key> - <value>Отредактировал</value> - - true - true - - true - - - Список.ТекущаяВерсияАвтор - - - ТекущаяВерсияАвторExtendedTooltip - 218 - Label - true - true - - Left - - - - ТекущаяВерсияАвторКонтекстноеМеню - 56 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ТекущаяВерсияРазмер - 88 - - <key>ru</key> - <value>Размер (Кб)</value> - - true - true - - true - - - Список.Размер - - - ru - Размер данных версии файла. - - - ТекущаяВерсияРазмерExtendedTooltip - 219 - Label - true - true - - Left - - - - ТекущаяВерсияРазмерКонтекстноеМеню - 89 - true - - LabelField - Enter - true - Left - true - - true - true - - ru - ЧЦ=10; ЧН=0 - - - - - Автор - 20 - - <key>ru</key> - <value>Автор</value> - - true - true - - true - - - Список.Автор - - - АвторExtendedTooltip - 220 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 21 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ХранитьВерсии - 59 - true - true - - - Список.ХранитьВерсии - - - ХранитьВерсииExtendedTooltip - 221 - Label - true - true - - Left - - - - ХранитьВерсииКонтекстноеМеню - 60 - true - - CheckBoxField - Enter - true - Left - true - - - - РедактируетТекущийПользователь - 61 - true - true - - - Список.РедактируетТекущийПользователь - - - РедактируетТекущийПользовательExtendedTooltip - 222 - Label - true - true - - Left - - - - РедактируетТекущийПользовательКонтекстноеМеню - 62 - true - - CheckBoxField - Enter - true - Left - true - - - - ТекущаяВерсияДатаМодификацииФайла - 143 - - <key>ru</key> - <value>Данные от</value> - - true - true - - - Список.ТекущаяВерсияДатаМодификацииФайла - - - ТекущаяВерсияДатаМодификацииФайлаExtendedTooltip - 224 - Label - true - true - - Left - - - - ТекущаяВерсияДатаМодификацииФайлаКонтекстноеМеню - 144 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Ссылка - 115 - true - true - - - Список.Ref - - - СсылкаExtendedTooltip - 223 - Label - true - true - - Left - - - - СсылкаКонтекстноеМеню - 116 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 23 - Left - true - - - DragCheck - СписокПроверкаПеретаскивания - - - Selection - СписокВыбор - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - Drag - СписокПеретаскивание - - - BeforeRowChange - СписокПередНачаломИзменения - - - СписокСтрокаПоиска - 284 - - СписокСтрокаПоискаРасширеннаяПодсказка - 286 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 285 - true - - Список - - true - - - - СписокСостояниеПросмотра - 287 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 289 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 288 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 290 - - СписокУправлениеПоискомРасширеннаяПодсказка - 292 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 291 - true - - SearchControlAddition - Список - - true - - - - СписокExtendedTooltip - 208 - Label - true - true - - Left - - - - СписокКонтекстноеМеню - 4 - - КонтекстноеМенюСписокСоздатьФайл - 96 - true - true - - true - - false - - КонтекстноеМенюСписокСоздатьФайлРасширеннаяПодсказка - 185 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюИзменитьФайл - 242 - true - true - - true - - - СписокКонтекстноеМенюИзменитьФайлРасширеннаяПодсказка - 243 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюСкопироватьФайл - 244 - true - true - - true - - - СписокКонтекстноеМенюСкопироватьФайлРасширеннаяПодсказка - 245 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюУстановитьПометкуУдаленияФайла - 246 - true - true - - true - - - СписокКонтекстноеМенюУстановитьПометкуУдаленияФайлаРасширеннаяПодсказка - 247 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаСтандартныхКоманд - 95 - true - true - - true - - - <key>ru</key> - <value>Группа стандартных команд</value> - - - ru - Группа стандартных команд - - - ГруппаСтандартныхКомандExtendedTooltip - 186 - Label - true - true - - Left - - - - Item.Список - - - - КонтекстноеМенюСписокОткрытьФайл - 65 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьФайлExtendedTooltip - 187 - Label - true - true - - Left - - - Form.Command.ОткрытьФайл - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокРедактировать - 66 - true - true - - true - - false - - КонтекстноеМенюСписокРедактироватьExtendedTooltip - 188 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗакончитьРедактирование - 67 - true - true - - true - - false - - КонтекстноеМенюСписокЗакончитьРедактированиеExtendedTooltip - 189 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗанять - 68 - true - true - - true - - false - - КонтекстноеМенюСписокЗанятьExtendedTooltip - 190 - Label - true - true - - Left - - - Form.Command.Занять - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьИзменения - 70 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьИзмененияExtendedTooltip - 191 - Label - true - true - - Left - - - Form.Command.СохранитьИзменения - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОткрытьКаталогФайла - 71 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьКаталогФайлаExtendedTooltip - 192 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьКак - 72 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьКакExtendedTooltip - 193 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОсвободить - 69 - - <key>ru</key> - <value>Отменить редактирование</value> - - true - true - - true - - false - - КонтекстноеМенюСписокОсвободитьExtendedTooltip - 194 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокПеренестиВПапку - 83 - true - true - - true - - false - - КонтекстноеМенюСписокПеренестиВПапкуРасширеннаяПодсказка - 195 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОбновитьИзФайлаНаДиске - 91 - true - true - - true - - false - - КонтекстноеМенюСписокОбновитьИзФайлаНаДискеExtendedTooltip - 196 - Label - true - true - - Left - - - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаКомандИмпорта - 94 - - КонтекстноеМенюСписокИмпортФайлов - 93 - true - true - - true - - false - - КонтекстноеМенюСписокИмпортФайловExtendedTooltip - 198 - Label - true - true - - Left - - - Form.Command.ИмпортФайлов - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокИмпортПапки - 92 - true - true - - true - - false - - КонтекстноеМенюСписокИмпортПапкиExtendedTooltip - 199 - Label - true - true - - Left - - - Form.Command.ИмпортПапки - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа команд импорта</value> - - - ru - Группа команд импорта - - - ГруппаКомандИмпортаExtendedTooltip - 197 - Label - true - true - - Left - - - - - - ФормаЭПИШифрованиеКонтекстное - 130 - - ФормаГруппаЭПКонтекст - 131 - - ФормаПодписатьКонтекст - 132 - true - true - - true - - - ФормаПодписатьКонтекстExtendedTooltip - 202 - Label - true - true - - Left - - - Form.Command.Подписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьПодписьИзФайлаКонтекст - 134 - true - true - - true - - - ФормаДобавитьПодписьИзФайлаКонтекстРасширеннаяПодсказка - 203 - Label - true - true - - Left - - - Form.Command.ДобавитьПодписьИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСПодписьюКонтекст - 135 - true - true - - true - - - ФормаСохранитьВместеСПодписьюКонтекстРасширеннаяПодсказка - 204 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСПодписью - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>ЭП</value> - - - ru - Форма группа ЭП - - - ФормаГруппаЭПКонтекстРасширеннаяПодсказка - 201 - Label - true - true - - Left - - - - - - ФормаГруппаШифрованиеКонтекст - 136 - - ФормаЗашифроватьКонтекст - 137 - true - true - - true - - - ФормаЗашифроватьКонтекстExtendedTooltip - 206 - Label - true - true - - Left - - - Form.Command.Зашифровать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаРасшифроватьКонтекст - 138 - true - true - - true - - - ФормаРасшифроватьКонтекстExtendedTooltip - 207 - Label - true - true - - Left - - - Form.Command.Расшифровать - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Шифрование</value> - - - ru - Форма группа шифрование - - - ФормаГруппаШифрованиеКонтекстExtendedTooltip - 205 - Label - true - true - - Left - - - - - true - true - - true - - - <key>ru</key> - <value>ЭП и шифрование</value> - - - ru - Форма ЭПИШифрование - - - ФормаЭПИШифрованиеКонтекстноеРасширеннаяПодсказка - 200 - Label - true - true - - Left - - - Popup - - Auto - Normal - - - - Tree - true - true - 48 - true - true - 10 - true - MultiRow -
      true
      - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - true - true - - Style.BorderColor - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - -
      - true - true - - true - - - ГруппаExtendedTooltip - 175 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - -
      - - ГруппаПоиск - 53 - - Поиск - 51 - - <key>ru</key> - <value>Быстрый поиск файлов и папок</value> - - true - true - - true - - - СтрокаПоиска - - - OnChange - ПоискПриИзменении - - - ПоискExtendedTooltip - 226 - Label - true - true - - Left - - - - ПоискКонтекстноеМеню - 52 - true - - InputField - Enter - true - Left - true - - true - true - false - true - true - true - Normal - - - - Найти - 54 - true - true - - true - - false - - НайтиExtendedTooltip - 227 - Label - true - true - - Left - - - UsualButton - Form.Command.Найти - Normal - Auto - true - true - UserCmds - Auto - - true - true - - - ru - Группа поиск - - false - - ГруппаПоискExtendedTooltip - 225 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - Группа2ExtendedTooltip - 174 - Label - true - true - - Left - - - Page - - Vertical - auto - -
      + ГруппаПользовательскихНастроек + 349 true true true + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - Группа1ExtendedTooltip - 173 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 350 Label true true @@ -2428,19 +27,25 @@ Left
      - Pages - + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto Auto
      - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 353 - ГруппаСоздать + ФормаПодменюСоздать 228 - СоздатьФайл + ФормаСоздатьИзФайла 87 true true @@ -2449,7 +54,7 @@ false - СоздатьФайлExtendedTooltip + ФормаСоздатьИзФайлаРасширеннаяПодсказка 148 Label true @@ -2467,7 +72,7 @@ Auto - СоздатьФайлИзШаблона + ФормаСоздатьИзШаблона 230 true true @@ -2475,7 +80,7 @@ true - СоздатьФайлИзШаблонаРасширеннаяПодсказка + ФормаСоздатьИзШаблонаРасширеннаяПодсказка 231 Label true @@ -2493,7 +98,7 @@ Auto - СоздатьФайлСоСканера + ФормаСоздатьСоСканера 232 true true @@ -2501,7 +106,7 @@ true - СоздатьФайлСоСканераРасширеннаяПодсказка + ФормаСоздатьСоСканераРасширеннаяПодсказка 233 Label true @@ -2532,7 +137,7 @@ Создать файл - ГруппаСоздатьРасширеннаяПодсказка + ФормаПодменюСоздатьРасширеннаяПодсказка 229 Label true @@ -2546,13 +151,16 @@ StdPicture.CreateListItem - Auto Normal - СоздатьПапку + ФормаСоздатьПапку 86 + + <key>ru</key> + <value>Создать папку</value> + true true @@ -2560,7 +168,7 @@ false - СоздатьПапкуРасширеннаяПодсказка + ФормаСоздатьПапкуРасширеннаяПодсказка 149 Label true @@ -2580,11 +188,69 @@ Auto + + ФормаИзменить + 238 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 239 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ФормаПеренестиВПапку + 84 + true + true + + true + + false + + ФормаПеренестиВПапкуРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + Form.Command.ПеренестиВПапку + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + - ГруппаКомандФайлов - 74 + ФормаГруппаКомандОсновные + 302 - ОткрытьФайл + ФормаОткрыть 73 true true @@ -2593,7 +259,7 @@ false - ОткрытьФайлExtendedTooltip + ФормаОткрытьРасширеннаяПодсказка 151 Label true @@ -2604,77 +270,20 @@ Form.Command.ОткрытьФайл Normal - Picture true true UserCmds Auto - Редактировать - 75 - true - true - - true - - false - - РедактироватьExtendedTooltip - 152 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - PictureAndText - true - true - UserCmds - Auto - - - ЗакончитьРедактирование - 76 - true - true - - true - - false - - ЗакончитьРедактированиеExtendedTooltip - 153 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - PictureAndText - true - true - UserCmds - Auto - - - Занять + ФормаЗанять 77 true true - - true - + false - ЗанятьExtendedTooltip + ФормаЗанятьРасширеннаяПодсказка 154 Label true @@ -2693,8 +302,8 @@ InAdditionalSubmenu - ОткрытьКаталогФайла - 80 + ФормаРедактировать + 75 true true @@ -2702,8 +311,8 @@ false - ОткрытьКаталогФайлаExtendedTooltip - 155 + ФормаРедактироватьРасширеннаяПодсказка + 152 Label true true @@ -2711,58 +320,22 @@ Left - Form.Command.ОткрытьКаталогФайла + Form.Command.Редактировать Normal - Auto true true UserCmds Auto - InAdditionalSubmenu - Освободить - 78 - - <key>ru</key> - <value>Отменить редактирование</value> - - true - true - - true - - false - - ОсвободитьExtendedTooltip - 156 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СохранитьИзменения + ФормаСохранитьИзменения 79 true true - - true - + false - СохранитьИзмененияExtendedTooltip + ФормаСохранитьИзмененияРасширеннаяПодсказка 157 Label true @@ -2781,8 +354,8 @@ InAdditionalSubmenu - СохранитьКак - 81 + ФормаЗакончитьРедактирование + 76 true true @@ -2790,8 +363,8 @@ false - СохранитьКакExtendedTooltip - 158 + ФормаЗакончитьРедактированиеРасширеннаяПодсказка + 153 Label true true @@ -2799,70 +372,13 @@ Left - Form.Command.СохранитьКак + Form.Command.ЗакончитьРедактирование Normal - Auto + Picture true true UserCmds Auto - InAdditionalSubmenu - - - ПеренестиВПапку - 84 - true - true - - true - - false - - ПеренестиВПапкуРасширеннаяПодсказка - 159 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОбновитьИзФайлаНаДиске - 90 - true - true - - true - - false - - ОбновитьИзФайлаНаДискеExtendedTooltip - 160 - Label - true - true - - Left - - - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu true true @@ -2871,15 +387,11 @@ <key>ru</key> - <value>Группа команд файлов</value> + <value>Форма группа команд основные</value> - - ru - Группа команд файлов - - ГруппаКомандФайловExtendedTooltip - 150 + ФормаГруппаКомандОсновныеРасширеннаяПодсказка + 303 Label true true @@ -2890,105 +402,50 @@ - ФормаЭПИШифрование + ФормаГлобальныеКоманды + 323 + true + true + + true + + + <key>ru</key> + <value>Форма глобальные команды</value> + + + ru + Форма глобальные команды + + None + + ФормаГлобальныеКомандыРасширеннаяПодсказка + 324 + Label + true + true + + Left + + + + FormCommandPanelGlobalCommands + + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрование 129 - - ФормаГруппаЭП - 119 - - ФормаПодписать - 120 - true - true - - true - - - ФормаПодписатьExtendedTooltip - 163 - Label - true - true - - Left - - - Form.Command.Подписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьПодписьИзФайла - 127 - true - true - - true - - - ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка - 164 - Label - true - true - - Left - - - Form.Command.ДобавитьПодписьИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСПодписью - 128 - true - true - - true - - - ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка - 165 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСПодписью - Normal - Auto - true - true - UserCmds - Auto - + + ФормаПодписать + 120 true true true - - <key>ru</key> - <value>ЭП</value> - - - ru - Форма группа ЭП - - ФормаГруппаЭПРасширеннаяПодсказка - 162 + ФормаПодписатьExtendedTooltip + 163 Label true true @@ -2996,10 +453,68 @@ Left - + Form.Command.Подписать + Normal + Auto + true + true + UserCmds + Auto + + + ФормаДобавитьПодписьИзФайла + 127 + true + true + + true + + + ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + Form.Command.ДобавитьПодписьИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьВместеСПодписью + 128 + true + true + + true + + + ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка + 165 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСПодписью + Normal + Auto + true + true + UserCmds + Auto - ФормаГруппаШифрование + ФормаГруппаКомандШифрование 124 ФормаЗашифровать @@ -3062,12 +577,8 @@ ru Шифрование - - ru - Форма группа шифрование - - ФормаГруппаШифрованиеExtendedTooltip + ФормаГруппаКомандШифрованиеРасширеннаяПодсказка 166 Label true @@ -3085,14 +596,14 @@ <key>ru</key> - <value>ЭП и шифрование</value> + <value>Электронная подпись и шифрование</value> ru - Форма ЭПИШифрование + Электронная подпись и шифрование - ФормаЭПИШифрованиеРасширеннаяПодсказка + ФормаГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка 161 Label true @@ -3103,103 +614,30 @@ Popup - Auto + + CommonPicture.ПодписанЗашифрованЗаголовок + + Picture Normal - - ФормаСкопироватьФайл - 236 - true - true - - true - - - ФормаСкопироватьФайлРасширеннаяПодсказка - 237 - Label - true - true - - Left - - - Form.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - ФормаИзменитьФайл - 238 - true - true - - true - - - ФормаИзменитьФайлРасширеннаяПодсказка - 239 - Label - true - true - - Left - - - Form.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ФормаУстановитьПометкуУдаленияФайла - 240 - true - true - - true - - - ФормаУстановитьПометкуУдаленияФайлаРасширеннаяПодсказка - 241 - Label - true - true - - Left - - - Form.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - ГруппаКомандФормы - 85 + ФормаГруппаКомандДополнительные + 304 - ИспользоватьИерархию - 99 - true + ФормаИзменить82 + 327 + + <key>ru</key> + <value>Открыть карточку</value> + true true - false - ИспользоватьИерархиюExtendedTooltip - 170 + ФормаИзменить82РасширеннаяПодсказка + 328 Label true true @@ -3207,18 +645,313 @@ Left - Form.Command.ИспользоватьИерархию + Form.StandardCommand.Change Normal - Picture + Auto true true UserCmds - true - - CommonPicture.ИерархическийСписок - Auto + + ФормаСкопировать + 236 + true + true + + true + + + ФормаСкопироватьРасширеннаяПодсказка + 237 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУстановитьПометкуУдаления + 240 + true + true + + true + + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 241 + Label + true + true + + Left + + + Form.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьКак + 81 + true + true + + true + + false + + ФормаСохранитьКакРасширеннаяПодсказка + 158 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОсвободить + 78 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + ФормаОсвободитьРасширеннаяПодсказка + 156 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОбновитьИзФайлаНаДиске + 90 + true + true + + true + + false + + ФормаОбновитьИзФайлаНаДискеРасширеннаяПодсказка + 160 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОткрытьКаталогФайла + 80 + true + true + + true + + false + + ФормаОткрытьКаталогФайлаРасширеннаяПодсказка + 155 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаИмпортФайлов + 347 + true + true + + true + + false + + ФормаИмпортФайловРасширеннаяПодсказка + 348 + Label + true + true + + Left + + + Form.Command.ИмпортФайлов + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд дополнительные</value> + + + ФормаГруппаКомандДополнительныеРасширеннаяПодсказка + 305 + Label + true + true + + Left + + + + + + ФормаГруппаКомандПоиска + 321 + + ФормаНайти + 317 + true + + true + + + ФормаНайтиРасширеннаяПодсказка + 318 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОтменитьПоиск + 319 + true + + true + + + ФормаОтменитьПоискРасширеннаяПодсказка + 320 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд поиска</value> + + + ru + Форма группа команд поиска + + None + + ФормаГруппаКомандПоискаРасширеннаяПодсказка + 322 + Label + true + true + + Left + + + + + + ФормаГруппаДополнительно + 315 ФормаОбновитьСписок 142 @@ -3246,6 +979,222 @@ Auto InAdditionalSubmenu + + ФормаИспользоватьИерархию + 99 + true + true + + true + + false + + ФормаИспользоватьИерархиюРасширеннаяПодсказка + 170 + Label + true + true + + Left + + + Form.Command.ИспользоватьИерархию + Normal + Picture + true + true + UserCmds + true + + CommonPicture.ИерархическийСписок + + Auto + InAdditionalSubmenu + + + ФормаГруппаНастройкаСписка + 329 + + ФормаНастройкаСписка + 331 + true + true + + true + + + ФормаНастройкаСпискаРасширеннаяПодсказка + 332 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗагрузитьНастройкиДинамическогоСписка + 333 + true + true + + true + + + ФормаЗагрузитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 334 + Label + true + true + + Left + + + Form.StandardCommand.LoadDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьНастройкиДинамическогоСписка + 335 + true + true + + true + + + ФормаСохранитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 336 + Label + true + true + + Left + + + Form.StandardCommand.SaveDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСтандартныеНастройкиДинамическогоСписка + 337 + true + true + + true + + + ФормаСтандартныеНастройкиДинамическогоСпискаРасширеннаяПодсказка + 338 + Label + true + true + + Left + + + Form.StandardCommand.DynamicListStandardSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа настройка списка</value> + + + ru + Форма группа настройка списка + + + ФормаГруппаНастройкаСпискаРасширеннаяПодсказка + 330 + Label + true + true + + Left + + + + + + ФормаВывестиСписок + 339 + true + true + + true + + + ФормаВывестиСписокРасширеннаяПодсказка + 340 + Label + true + true + + Left + + + Form.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменитьФорму + 341 + true + true + + true + + + ФормаИзменитьФормуРасширеннаяПодсказка + 342 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + true true @@ -3253,15 +1202,16 @@ <key>ru</key> - <value>Группа команд формы</value> + <value>Дополнительно</value> ru - Группа команд формы + Форма группа дополнительно + None - ГруппаКомандФормыExtendedTooltip - 169 + ФормаГруппаДополнительноРасширеннаяПодсказка + 316 Label true true @@ -3269,8 +1219,10 @@ Left - - Form + Popup + + Auto + Normal @@ -3299,6 +1251,2311 @@ UserCmds Auto + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 354 + Label + true + true + + Left + + + CommandBar + + Left + + + + ГруппаПапкиИФайлы + 29 + + Папки + 24 + true + true + + true + + + Папки + + false + None + Delete + ListSettings + OutputList + + ПапкиНаименование + 27 + + <key>ru</key> + <value>Папки</value> + + true + true + + true + + + Папки.Description + + + ПапкиНаименованиеРасширеннаяПодсказка + 184 + Label + true + true + + Left + + + + ПапкиНаименованиеКонтекстноеМеню + 28 + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + Normal + + + + ПапкиСсылка + 262 + true + true + + + Папки.Ref + + + ПапкиСсылкаРасширеннаяПодсказка + 264 + Label + true + true + + Left + + + + ПапкиСсылкаКонтекстноеМеню + 263 + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + ПапкиКоманднаяПанель + 26 + Left + true + + + DragCheck + ПапкиПроверкаПеретаскивания + + + OnActivateRow + ПапкиПриАктивизацииСтроки + + + Drag + ПапкиПеретаскивание + + + ПапкиСтрокаПоиска + 355 + + ПапкиСтрокаПоискаРасширеннаяПодсказка + 357 + Label + true + true + + Left + + + + ПапкиСтрокаПоискаКонтекстноеМеню + 356 + true + + Папки + + true + + + + ПапкиСостояниеПросмотра + 358 + + ПапкиСостояниеПросмотраРасширеннаяПодсказка + 360 + Label + true + true + + Left + + + + ПапкиСостояниеПросмотраКонтекстноеМеню + 359 + true + + ViewStatusAddition + Папки + + true + + + + ПапкиУправлениеПоиском + 361 + + ПапкиУправлениеПоискомРасширеннаяПодсказка + 363 + Label + true + true + + Left + + + + ПапкиУправлениеПоискомКонтекстноеМеню + 362 + true + + SearchControlAddition + Папки + + true + + + + ПапкиExtendedTooltip + 183 + Label + true + true + + Left + + + + ПапкиКонтекстноеМеню + 25 + + ПапкиКонтекстноеМенюСоздать + 140 + + <key>ru</key> + <value>Создать новую папку</value> + + true + true + + true + + + ПапкиКонтекстноеМенюСоздатьРасширеннаяПодсказка + 176 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Create + Normal + Auto + true + true + UserCmds + + StdPicture.CreateFolder + + Auto + + + ПапкиКонтекстноеМенюИзменить + 248 + true + true + + true + + + ПапкиКонтекстноеМенюИзменитьРасширеннаяПодсказка + 249 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюСкопировать + 250 + true + true + + true + + + ПапкиКонтекстноеМенюСкопироватьРасширеннаяПодсказка + 251 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюУстановитьПометкуУдаления + 234 + true + true + + true + + + ПапкиКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка + 235 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюСтандартные + 139 + + ПапкиКонтекстноеМенюПеренестиЭлемент + 252 + true + true + + true + + + ПапкиКонтекстноеМенюПеренестиЭлементРасширеннаяПодсказка + 253 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.MoveItem + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюУровеньВверх + 254 + true + true + + true + + + ПапкиКонтекстноеМенюУровеньВверхРасширеннаяПодсказка + 255 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.LevelUp + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюУровеньВниз + 256 + true + true + + true + + + ПапкиКонтекстноеМенюУровеньВнизРасширеннаяПодсказка + 257 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.LevelDown + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюНайти + 258 + true + true + + true + + + ПапкиКонтекстноеМенюНайтиРасширеннаяПодсказка + 259 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюОтменитьПоиск + 260 + true + true + + true + + + ПапкиКонтекстноеМенюОтменитьПоискРасширеннаяПодсказка + 261 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Папки контекстное меню стандартные</value> + + + ru + Папки контекстное меню стандартные + + + ПапкиКонтекстноеМенюСтандартныеExtendedTooltip + 177 + Label + true + true + + Left + + + + Item.Папки + + + + ПапкиКонтекстноеМенюГруппаИмпорт + 114 + + ПапкиКонтекстноеМенюИмпортПапки + 82 + true + true + + true + + false + + ПапкиКонтекстноеМенюИмпортПапкиРасширеннаяПодсказка + 181 + Label + true + true + + Left + + + Form.Command.ИмпортПапки + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюЭкспортПапки + 64 + true + true + + true + + false + + ПапкиКонтекстноеМенюЭкспортПапкиРасширеннаяПодсказка + 182 + Label + true + true + + Left + + + Form.Command.ЭкспортПапки + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Папки контекстное меню группа импорт</value> + + + ПапкиКонтекстноеМенюГруппаИмпортРасширеннаяПодсказка + 179 + Label + true + true + + Left + + + + + + ПапкиКонтекстноеМенюКопироватьВБуферОбмена + 141 + true + true + + true + + + ПапкиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip + 178 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + Tree + true + true + 17 + true + 10 + true + 4 + true + MultiRow + 1 + 1 + AutoUse + true + true + false + false + false + Auto + Auto + ExpandTopLevel + true + true + true + true + + Папки.ИндексКартинки + + + CommonPicture.Папки + + + Style.BorderColor + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + + + + Список + 6 + true + true + + true + + + Список + + true + false + None + Delete + ListSettings + OutputList + Refresh + + СписокНомерКартинкиПодписанЗашифрован + 117 + true + true + + true + + + Список.НомерКартинкиПодписанЗашифрован + + None + + ru + Наличие электронной подписи или шифрования + + + СписокНомерКартинкиПодписанЗашифрованРасширеннаяПодсказка + 209 + Label + true + true + + Left + + + + СписокНомерКартинкиПодписанЗашифрованКонтекстноеМеню + 118 + true + + PictureField + Enter + true + + CommonPicture.ПодписанЗашифрованЗаголовок + + Left + true + + 2 + true + true + true + + CommonPicture.ПодписанЗашифрованСостояния + + + + 1 + + + + + СписокГруппаИмяКартинкаОписание + 310 + + СписокИндексКартинки + 7 + true + true + + true + + + Список.ИндексКартинки + + + СписокИндексКартинкиРасширеннаяПодсказка + 212 + Label + true + true + + Left + + + + СписокИндексКартинкиКонтекстноеМеню + 5 + true + + PictureField + Enter + Left + true + Left + + 2 + true + 1 + true + true + + CommonPicture.КоллекцияПиктограммФайлов + + + 1 + + + + + СписокНаименование + 9 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + Список.Description + + true + + ru + Имя файла (без расширения) + + + СписокНаименованиеРасширеннаяПодсказка + 213 + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 12 + true + + InputField + Enter + true + Left + true + Left + + 20 + true + true + true + true + true + + Style.BorderColor + + Normal + + + + СписокОписание + 269 + + <key>ru</key> + <value>Описание</value> + + true + true + + true + + + Список.Описание + + + ru + Краткое описание файла + + + СписокОписаниеРасширеннаяПодсказка + 271 + Label + true + true + + Left + + + + СписокОписаниеКонтекстноеМеню + 270 + true + + InputField + true + Enter + true + Left + true + + 5 + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Список группа имя картинка описание</value> + + + ru + Список группа имя картинка описание + + None + + СписокГруппаИмяКартинкаОписаниеРасширеннаяПодсказка + 311 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СписокВажныеРеквизиты + 277 + + СписокАвтор + 279 + + <key>ru</key> + <value>Автор</value> + + true + true + + true + + + Список.Автор + + + ru + Пользователь, который добавил файл в список. + + + СписокАвторРасширеннаяПодсказка + 281 + Label + true + true + + Left + + + + СписокАвторКонтекстноеМеню + 280 + true + + InputField + true + Enter + true + Left + true + + 15 + true + true + false + true + true + true + true + Normal + + + + СписокТекущаяВерсияДатаМодификацииФайла + 143 + + <key>ru</key> + <value>Дата изменения</value> + + true + true + + true + + + Список.ТекущаяВерсияДатаМодификацииФайла + + + ru + Дата изменения данных файла (местное время) + + + СписокТекущаяВерсияДатаМодификацииФайлаРасширеннаяПодсказка + 224 + Label + true + true + + Left + + + + СписокТекущаяВерсияДатаМодификацииФайлаКонтекстноеМеню + 144 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + + true + true + + true + + + <key>ru</key> + <value>Список важные реквизиты</value> + + + ru + Список важные реквизиты + + None + + СписокВажныеРеквизитыРасширеннаяПодсказка + 278 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + СписокТекущаяВерсияРазмер + 88 + + <key>ru</key> + <value>Размер (КБ)</value> + + true + true + + true + + + Список.ТекущаяВерсияРазмер + + + ru + Размер данных версии файла. + + + СписокТекущаяВерсияРазмерРасширеннаяПодсказка + 219 + Label + true + true + + Left + + + + СписокТекущаяВерсияРазмерКонтекстноеМеню + 89 + true + + LabelField + true + Enter + true + Left + true + + 10 + true + true + false + + ru + ЧЦ=10; ЧН=0 + + + + + СписокДатаСоздания + 282 + + <key>ru</key> + <value>Дата создания</value> + + true + true + + + Список.ДатаСоздания + + + ru + Дата добавления файла в список. + + + СписокДатаСозданияРасширеннаяПодсказка + 284 + Label + true + true + + Left + + + + СписокДатаСозданияКонтекстноеМеню + 283 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + + + СписокРедактирует + 272 + + <key>ru</key> + <value>Редактирует</value> + + true + true + + + Список.Редактирует + + + ru + Пользователь, который занял файл для редактирования. + + + СписокРедактируетРасширеннаяПодсказка + 274 + Label + true + true + + Left + + + + СписокРедактируетКонтекстноеМеню + 273 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияАвтор + 287 + + <key>ru</key> + <value>Отредактировал</value> + + true + true + + + Список.ТекущаяВерсияАвтор + + + ru + Пользователь, который отредактировал файл последним. + + + СписокТекущаяВерсияАвторРасширеннаяПодсказка + 289 + Label + true + true + + Left + + + + СписокТекущаяВерсияАвторКонтекстноеМеню + 288 + true + + LabelField + true + Enter + true + Left + true + + true + true + + + + СписокТекущаяВерсияДатаСоздания + 290 + + <key>ru</key> + <value>Дата редактирования</value> + + true + true + + + Список.ТекущаяВерсияДатаСоздания + + + ru + Дата, когда было закончено последнее редактирование файла. + + + СписокТекущаяВерсияДатаСозданияРасширеннаяПодсказка + 292 + Label + true + true + + Left + + + + СписокТекущаяВерсияДатаСозданияКонтекстноеМеню + 291 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + + + СписокСсылка + 115 + true + true + + + Список.Ref + + + СписокСсылкаРасширеннаяПодсказка + 223 + Label + true + true + + Left + + + + СписокСсылкаКонтекстноеМеню + 116 + true + + LabelField + true + Enter + true + Left + true + + 1 + true + true + + + None + + СписокКоманднаяПанель + 23 + Left + true + + + DragCheck + СписокПроверкаПеретаскивания + + + Selection + СписокВыбор + + + BeforeAddRow + СписокПередНачаломДобавления + + + OnActivateRow + СписокПриАктивизацииСтроки + + + Drag + СписокПеретаскивание + + + BeforeRowChange + СписокПередНачаломИзменения + + + СписокСтрокаПоиска + 374 + + СписокСтрокаПоискаРасширеннаяПодсказка + 376 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 375 + true + + Список + + true + + + + СписокСостояниеПросмотра + 377 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 379 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 378 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 380 + + СписокУправлениеПоискомРасширеннаяПодсказка + 382 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 381 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 208 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 4 + + СписокКонтекстноеМенюСоздать + 96 + true + true + + true + + false + + СписокКонтекстноеМенюСоздатьРасширеннаяПодсказка + 185 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменить + 242 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 243 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюПеренестиВПапку + 83 + true + true + + true + + false + + СписокКонтекстноеМенюПеренестиВПапкуРасширеннаяПодсказка + 195 + Label + true + true + + Left + + + Form.Command.ПеренестиВПапку + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандОсновные + 306 + + СписокКонтекстноеМенюОткрыть + 65 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьРасширеннаяПодсказка + 187 + Label + true + true + + Left + + + Form.Command.ОткрытьФайл + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗанять + 68 + true + true + + false + + СписокКонтекстноеМенюЗанятьРасширеннаяПодсказка + 190 + Label + true + true + + Left + + + Form.Command.Занять + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюРедактировать + 66 + true + true + + true + + false + + СписокКонтекстноеМенюРедактироватьРасширеннаяПодсказка + 188 + Label + true + true + + Left + + + Form.Command.Редактировать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьИзменения + 70 + true + true + + false + + СписокКонтекстноеМенюСохранитьИзмененияРасширеннаяПодсказка + 191 + Label + true + true + + Left + + + Form.Command.СохранитьИзменения + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗакончитьРедактирование + 67 + true + true + + true + + false + + СписокКонтекстноеМенюЗакончитьРедактированиеРасширеннаяПодсказка + 189 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд основные</value> + + + ru + Список контекстное меню группа команд основные + + + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 307 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрование + 130 + + СписокКонтекстноеМенюПодписать + 132 + true + true + + true + + + СписокКонтекстноеМенюПодписатьРасширеннаяПодсказка + 202 + Label + true + true + + Left + + + Form.Command.Подписать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюДобавитьПодписьИзФайла + 134 + true + true + + true + + + СписокКонтекстноеМенюДобавитьПодписьИзФайлаРасширеннаяПодсказка + 203 + Label + true + true + + Left + + + Form.Command.ДобавитьПодписьИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьВместеСПодписью + 135 + true + true + + true + + + СписокКонтекстноеМенюСохранитьВместеСПодписьюРасширеннаяПодсказка + 204 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСПодписью + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандШифрование + 136 + + СписокКонтекстноеМенюЗашифровать + 137 + true + true + + true + + + СписокКонтекстноеМенюЗашифроватьРасширеннаяПодсказка + 206 + Label + true + true + + Left + + + Form.Command.Зашифровать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюРасшифровать + 138 + true + true + + true + + + СписокКонтекстноеМенюРасшифроватьРасширеннаяПодсказка + 207 + Label + true + true + + Left + + + Form.Command.Расшифровать + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Шифрование</value> + + + ru + Форма группа шифрование + + + СписокКонтекстноеМенюГруппаКомандШифрованиеРасширеннаяПодсказка + 205 + Label + true + true + + Left + + + + + true + true + + true + + + <key>ru</key> + <value>Электронная подпись и шифрование</value> + + + ru + Электронная подпись и шифрование + + + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка + 200 + Label + true + true + + Left + + + Popup + + + CommonPicture.ПодписанЗашифрованЗаголовок + + Auto + Normal + + + + СписокКонтекстноеМенюГруппаКомандДополнительные + 308 + + СписокКонтекстноеМенюСкопировать + 244 + true + true + + true + + + СписокКонтекстноеМенюСкопироватьРасширеннаяПодсказка + 245 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюУстановитьПометкуУдаления + 246 + true + true + + true + + + СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка + 247 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьКак + 72 + true + true + + true + + false + + СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка + 193 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОсвободить + 69 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка + 194 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОбновитьИзФайлаНаДиске + 91 + true + true + + true + + false + + СписокКонтекстноеМенюОбновитьИзФайлаНаДискеРасширеннаяПодсказка + 196 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьКаталогФайла + 71 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьКаталогФайлаРасширеннаяПодсказка + 192 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд дополнительные</value> + + + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка + 309 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаИмпорт + 343 + + СписокКонтекстноеМенюИмпортФайлов + 345 + true + true + + true + + false + + СписокКонтекстноеМенюИмпортФайловРасширеннаяПодсказка + 346 + Label + true + true + + Left + + + Form.Command.ИмпортФайлов + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа импорт</value> + + + СписокКонтекстноеМенюГруппаИмпортРасширеннаяПодсказка + 344 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаСтандартныхКоманд + 95 + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа стандартных команд</value> + + + СписокКонтекстноеМенюГруппаСтандартныхКомандРасширеннаяПодсказка + 186 + Label + true + true + + Left + + + + Item.Список + + + + Tree + true + true + 55 + true + true + 6 + true + MultiRow +
      true
      + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + true + + Style.BorderColor + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + ГруппаПользовательскихНастроек + +
      + true + true + + true + + + <key>ru</key> + <value>Группа папки и файлы</value> + + 8 + + ГруппаПапкиИФайлыРасширеннаяПодсказка + 175 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + +
      + + ГруппаПоиск + 53 + + Поиск + 51 + + <key>ru</key> + <value>Быстрый поиск файлов и папок</value> + + true + true + + true + + + СтрокаПоиска + + + OnChange + ПоискПриИзменении + + + ПоискExtendedTooltip + 226 + Label + true + true + + Left + + + + ПоискКонтекстноеМеню + 52 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + Normal + + + + Найти + 54 + true + true + + true + + false + + НайтиExtendedTooltip + 227 + Label + true + true + + Left + + + UsualButton + Form.Command.Найти + Normal + Auto + true + true + UserCmds + Auto + + true + true + + + ru + Группа поиск + + false + + ГруппаПоискExtendedTooltip + 225 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ФормаКоманднаяПанель + -1 Left @@ -3326,7 +3583,9 @@ ПриЗагрузкеДанныхИзНастроекНаСервере Create + Delete Refresh + 90 DontBlock Use true @@ -3393,7 +3652,7 @@ Файлы.Редактирует, Файлы.ДатаСоздания, Файлы.ТекущаяВерсияНомерВерсии, - ВЫРАЗИТЬ(Файлы.ТекущаяВерсияРазмер / 1024 КАК ЧИСЛО(10, 0)) КАК Размер, + ВЫРАЗИТЬ(Файлы.ТекущаяВерсияРазмер / 1024 КАК ЧИСЛО(10, 0)) КАК ТекущаяВерсияРазмер, Файлы.Автор, Файлы.ТекущаяВерсияДатаСоздания, ВЫБОР @@ -3415,6 +3674,15 @@ КОНЕЦ КАК РедактируетТекущийПользователь, Файлы.ПодписанЭП, Файлы.Зашифрован, + ВЫБОР + КОГДА Файлы.ПодписанЭП И Файлы.Зашифрован + ТОГДА 2 + КОГДА Файлы.Зашифрован + ТОГДА 1 + КОГДА Файлы.ПодписанЭП + ТОГДА 0 + ИНАЧЕ -1 + КОНЕЦ КАК НомерКартинкиПодписанЗашифрован, Файлы.ТекущаяВерсияДатаМодификацииФайла, КодировкиВерсийФайлов.Кодировка ИЗ @@ -3467,10 +3735,11 @@ ПапкиФайлов.Ответственный, ПапкиФайлов.ДатаСоздания, ПапкиФайлов.Представление, - Выбор - Когда ПометкаУдаления = Истина Тогда 1 - Иначе 0 - Конец как ИндексКартинки + ВЫБОР + КОГДА ПапкиФайлов.ПометкаУдаления = ИСТИНА + ТОГДА 1 + ИНАЧЕ 0 + КОНЕЦ КАК ИндексКартинки ИЗ Справочник.ПапкиФайлов КАК ПапкиФайлов Catalog.ПапкиФайлов @@ -3711,7 +3980,7 @@ СоздатьФайл <key>ru</key> - <value>Из файла на диске...</value> + <value>Из файла на диске ...</value> 3 @@ -4203,7 +4472,7 @@ СоздатьФайлИзШаблона <key>ru</key> - <value>Из шаблона...</value> + <value>По шаблону...</value> 24 diff --git a/SSL/src/Catalogs/Файлы/Forms/Файлы/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/Файлы/Help/ru.html index 412ef70f7..680641adf 100644 --- a/SSL/src/Catalogs/Файлы/Forms/Файлы/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/Файлы/Help/ru.html @@ -1,8 +1,12 @@ - -

      Предназначен для управления файлами.

      -

      В программе существует возможность хранить файлы в программе без привязки к конкретному объекту.

      -

      Список открывается по команде Файлы в разделе Органайзер. 

      -

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

      + +

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

      +

      Открывается по команде Файлы в разделе Органайзер. 

      +

      Работа со списком организована аналогично работе в Проводнике Windows.

      +

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

      +

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

      +

      Для работы с реквизитами файла (автор, наименование, описание и т.д.) используется карточка (Открыть карточку), а для работы с самим файлом ( Открыть или  Редактировать файл) - соответствующее приложение, установленное на компьютере.

      +

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

      +

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

      В списке выводится:

      •  - подписан ЭП.
      •  - зашифрован. @@ -14,24 +18,62 @@
      • Отредактировал - пользователь, который добавил версию файла.
      • Автор - пользователь, который добавил файл.

      С помощью команды Изменить форму можно добавить дополнительные поля, например:

      • -
        Данные от - дата изменения данных версии файла (местное время).
        +
        Дата изменения - дата изменения данных версии файла (местное время).
      • -
        Текущая версия - код текущей версии и т.д.

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

      -

      Управление просмотром списка файлов

      +
      Текущая версия - код текущей версии и т.д.

      Добавление файлов

      +

      Для добавления нового файла в программу:

      +
      • +
        Выберите нужную папку; 
        +
      • +
        Нажмите  Создать (клавишу Insert);
        +
      • +
        Выберите способ создания: 
        +
        • +
          Из файла на диске
          +
          • +
            Для того чтобы прикрепить к объекту или поместить в папку уже имеющийся на компьютере файл, укажите путь к файлу на диске, нажмите кнопку Открыть.
            +
          • +
            После этого программа сохранит файл, автоматически создаст и откроет Карточку файла.
        • +
          Из шаблона
          +
          • +
            Выделите шаблон файла в списке выбора, затем нажмите кнопку Выбрать.
            +
          • +
            Программой будет автоматически создана и открыта Карточка файла.
        • +
          Со сканера 
          +
          • +
            Вариант создания файла Со сканера становится доступным, если к компьютеру подключен сканер (более подробно см. документацию к сканеру) и на компьютере подключена компонента для работы со сканером. Также необходимо настроить сканирование.
            +
          • +
            Если все условия соблюдены и настройки выполнены, можно получить файл со сканера.
            +
          • +
            Для этого необходимо  следовать инструкциям Помощника сканирования.
            +
          • +
            После того как документ отсканирован, выполните команду Принять, после этого файлу автоматически присваивается код и создается карточка файла, которая выводится на экран. В поле Наименование также автоматически проставляется код. Отредактируйте нужные поля, нажмите Записать и закрыть, для того чтобы сохранить карточку файла.

      Шаблоны файлов

      +
      • Программа поставляется с предопределенной папкой Шаблоны файлов. В папке можно разместить файлы, которые будут использоваться при создании новых файлов в качестве шаблона. Например, в эту папку можно поместить файл-заготовку с текстом договора и в дальнейшем использовать его при создании договоров для конкретных контрагентов. +
      • Для того чтобы поместить в папку новый шаблон, откройте папку Шаблоны файлов, нажмите Создать, с помощью переключателя выберите Из файла на диске. Затем выберите нужный файл. +
      • Программа автоматически создает и выводит на просмотр карточку файла. Заполните описание шаблона, поле Папка по умолчанию заполнено - Шаблоны файлов.

      Управление просмотром списка файлов

      С помощью кнопки  Использовать иерархию можно изменить вид списка и увидеть все файлы, находящиеся в разных папках, в одном списке.

      Размещение файлов в папках

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

      Права доступа к папкам

      +
      • В списке можно  Создать необходимое количество папок и хранить в них файлы, непривязанные к конкретным объектам программы. +
        • Создать папку можно также с помощью соответствующей команды меню Все действия или контекстного меню по правой кнопке мыши. +
        • Заполните необходимые поля.
      • Файлы можно перемещать в различные папки списка с помощью перетаскивания мышью. Также для выделенных файлов можно воспользоваться командой Все действия - Перенести в папку. +
      • С помощью мыши можно также перетаскивать папки, подчиняя их друг другу.

      Права доступа к папкам

      • Папкам можно назначать различные права доступа. -
        • Права доступа к папкам файлов настраиваются администратором программы или пользователем, имеющим право на управление правами той или иной папки.

      Загрузка файлов и папок

      -
      • Для загрузки файлов с жесткого диска используйте загрузку файлов или загрузку папок. -
      • С помощью команды контекстного меню по правой кнопке мыши Загрузить файлы можно в одной из папок списка файлы с жесткого или сетевого диска. -
      • Для того чтобы поместить папку с жесткого или сетевого диска в одну из папок списка Файлы, выполните команду контекстного меню по правой кнопке мыши Загрузить папку.

      Выгрузка папок

      +
      • Права доступа к папкам файлов настраиваются администратором программы или пользователем, имеющим право на управление правами той или иной папки.

      Загрузка файлов

      +
      • С помощью команды контекстного меню по правой кнопке мыши Загрузить файлы можно разместить в одной из папок списка файлы с жесткого или сетевого диска. +
      • В открывшемся Проводнике Windows укажите путь к файлу, нажмите Открыть. +
      • Заполните необходимые для загрузки сведения.

      Загрузка папок

      +
      • +
        Для того чтобы поместить папку с жесткого или сетевого диска в одну из папок списка Файлы, выберите папку, выполните команду контекстного меню по правой кнопке мыши Загрузить папку.
        +
      • +
        В открывшемся Проводнике Windows укажите путь к папке, нажмите Выбор папки.
        +
      • +
        Заполните необходимые для загрузки сведения.

      Загрузка файлов и папок с помощью перетаскивания мышью

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

      Выгрузка папок

      Команда Сохранить папку (расположена в контекстном меню папки) позволяет скопировать выбранную папку с файлами на жесткий диск. При этом копируются только активные версии файлов.

      -

      Шаблоны файлов

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

      См. также:

      - \ No newline at end of file +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/Файлы/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/Файлы/Module.bsl index 5745c93ad..1f08e3850 100644 --- a/SSL/src/Catalogs/Файлы/Forms/Файлы/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/Файлы/Module.bsl @@ -4,6 +4,9 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + УсловноеОформление.Элементы.Очистить(); + РаботаСФайламиСлужебныйВызовСервера.ЗаполнитьУсловноеОформлениеСпискаФайлов(Список); + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -32,38 +35,42 @@ КонецЕсли; Элементы.Папки.ТекущаяСтрока = ПапкаПриОткрытии; - + Список.Параметры.УстановитьЗначениеПараметра( "Владелец", ПапкаПриОткрытии); Список.Параметры.УстановитьЗначениеПараметра( "ТекущийПользователь", Пользователи.ТекущийПользователь()); - - РаботаСФайламиСлужебныйВызовСервера.ЗаполнитьУсловноеОформлениеСпискаФайлов(Список); ПоказыватьКолонкуРазмер = РаботаСФайламиСлужебныйВызовСервера.ПолучитьПоказыватьКолонкуРазмер(); Если ПоказыватьКолонкуРазмер = Ложь Тогда - Элементы.ТекущаяВерсияРазмер.Видимость = Ложь; + Элементы.СписокТекущаяВерсияРазмер.Видимость = Ложь; КонецЕсли; ИспользоватьИерархию = Истина; УстановитьИерархию(ИспользоватьИерархию); Если РаботаСФайламиСлужебныйВызовСервера.ПолучитьИспользоватьЭлектронныеПодписиИШифрование() = Ложь Тогда - Элементы.ПодписанЭП.Видимость = Ложь; - Элементы.Зашифрован.Видимость = Ложь; + Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь; КонецЕсли; ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока)); + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ФормаИзменить.Видимость = Ложь; + Элементы.ФормаИзменить82.Видимость = Истина; + КонецЕсли; + КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) - Элементы.СоздатьФайлСоСканера.Видимость = РаботаСФайламиСлужебныйКлиент.ДоступнаКомандаСканировать(); + + Элементы.ФормаСоздатьСоСканера.Видимость = РаботаСФайламиСлужебныйКлиент.ДоступнаКомандаСканировать(); Если ОбщегоНазначенияКлиентПовтИсп.ЭтоВебКлиентПодMacOS() Тогда - Элементы.ФормаЭПИШифрование.Видимость = Ложь; - Элементы.ФормаЭПИШифрованиеКонтекстное.Видимость = Ложь; - КонецЕсли; + Элементы.ФормаГруппаКомандЭлектроннаяПодписьИШифрование.Видимость = Ложь; + Элементы.СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрование.Видимость = Ложь; + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -254,47 +261,50 @@ Если Элементы.Папки.ТекущаяСтрока <> ТекущаяПапка Тогда ТекущаяПапка = Элементы.Папки.ТекущаяСтрока; ЗаполнитьЗначенияСвойств(ЭтотОбъект, НастройкиПравПапки(Элементы.Папки.ТекущаяСтрока)); - Элементы.СоздатьПапку.Доступность = ИзменениеПапок; - Элементы.ПапкиКонтекстноеМенюСоздатьПапку.Доступность = ИзменениеПапок; - Элементы.ПапкиКонтекстноеМенюСкопироватьПапку.Доступность = ИзменениеПапок; - Элементы.ПапкиУстановитьПометкуУдаленияПапки.Доступность = ИзменениеПапок; + Элементы.ФормаСоздатьПапку.Доступность = ИзменениеПапок; + Элементы.ПапкиКонтекстноеМенюСоздать.Доступность = ИзменениеПапок; + Элементы.ПапкиКонтекстноеМенюСкопировать.Доступность = ИзменениеПапок; + Элементы.ПапкиКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ИзменениеПапок; Элементы.ПапкиКонтекстноеМенюПеренестиЭлемент.Доступность = ИзменениеПапок; КонецЕсли; Если Элементы.Папки.ТекущаяСтрока = Неопределено Или Элементы.Папки.ТекущаяСтрока.Пустая() Тогда - Элементы.ГруппаСоздать.Доступность = Ложь; - Элементы.СоздатьФайл.Доступность = Ложь; - Элементы.СоздатьФайлИзШаблона.Доступность = Ложь; - Элементы.СоздатьФайлСоСканера.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокСоздатьФайл.Доступность = Ложь; - Элементы.ФормаСкопироватьФайл.Доступность = Ложь; - Элементы.СписокКонтекстноеМенюСкопироватьФайл.Доступность = Ложь; + Элементы.ФормаПодменюСоздать.Доступность = Ложь; - Элементы.ФормаУстановитьПометкуУдаленияФайла.Доступность = Ложь; - Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаленияФайла.Доступность = Ложь; + Элементы.ФормаСоздатьИзФайла.Доступность = Ложь; + Элементы.ФормаСоздатьИзШаблона.Доступность = Ложь; + Элементы.ФормаСоздатьСоСканера.Доступность = Ложь; - Элементы.КонтекстноеМенюПапкиИмпортФайлов.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокИмпортФайлов.Доступность = Ложь; - Элементы.КонтекстноеМенюПапкиИмпортПапки.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокИмпортПапки.Доступность = Ложь; + Элементы.ФормаСкопировать.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюСкопировать.Доступность = Ложь; + + Элементы.ФормаУстановитьПометкуУдаления.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = Ложь; + + Элементы.СписокКонтекстноеМенюСоздать.Доступность = Ложь; + + Элементы.ФормаИмпортФайлов.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюИмпортФайлов.Доступность = Ложь; + + Элементы.ПапкиКонтекстноеМенюИмпортПапки.Доступность = Ложь; Иначе - Элементы.ГруппаСоздать.Доступность = ДобавлениеФайлов; - Элементы.СоздатьФайл.Доступность = ДобавлениеФайлов; - Элементы.СоздатьФайлИзШаблона.Доступность = ДобавлениеФайлов; - Элементы.СоздатьФайлСоСканера.Доступность = ДобавлениеФайлов; - Элементы.КонтекстноеМенюСписокСоздатьФайл.Доступность = ДобавлениеФайлов; + Элементы.ФормаПодменюСоздать.Доступность = ДобавлениеФайлов; + Элементы.ФормаСоздатьИзФайла.Доступность = ДобавлениеФайлов; + Элементы.ФормаСоздатьИзШаблона.Доступность = ДобавлениеФайлов; + Элементы.ФормаСоздатьСоСканера.Доступность = ДобавлениеФайлов; + Элементы.СписокКонтекстноеМенюСоздать.Доступность = ДобавлениеФайлов; - Элементы.ФормаСкопироватьФайл.Доступность = ДобавлениеФайлов; - Элементы.СписокКонтекстноеМенюСкопироватьФайл.Доступность = ДобавлениеФайлов; + Элементы.ФормаСкопировать.Доступность = ДобавлениеФайлов; + Элементы.СписокКонтекстноеМенюСкопировать.Доступность = ДобавлениеФайлов; - Элементы.ФормаУстановитьПометкуУдаленияФайла.Доступность = ПометкаУдаленияФайлов; - Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаленияФайла.Доступность = ПометкаУдаленияФайлов; + Элементы.ФормаУстановитьПометкуУдаления.Доступность = ПометкаУдаленияФайлов; + Элементы.СписокКонтекстноеМенюУстановитьПометкуУдаления.Доступность = ПометкаУдаленияФайлов; - Элементы.КонтекстноеМенюПапкиИмпортФайлов.Доступность = ДобавлениеФайлов; - Элементы.КонтекстноеМенюСписокИмпортФайлов.Доступность = ДобавлениеФайлов; - Элементы.КонтекстноеМенюПапкиИмпортПапки.Доступность = ДобавлениеФайлов; - Элементы.КонтекстноеМенюСписокИмпортПапки.Доступность = ДобавлениеФайлов; + Элементы.ФормаИмпортФайлов.Доступность = ДобавлениеФайлов; + Элементы.СписокКонтекстноеМенюИмпортФайлов.Доступность = ДобавлениеФайлов; + + Элементы.ПапкиКонтекстноеМенюИмпортПапки.Доступность = ДобавлениеФайлов; КонецЕсли; Если Элементы.Папки.ТекущаяСтрока <> Неопределено Тогда @@ -495,8 +505,8 @@ Если Выборка.Следующий() Тогда НайденнаяПапка = Выборка.Ссылка; Найдено = Истина; - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; Если Не Найдено Тогда Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 @@ -510,8 +520,8 @@ Если Выборка.Следующий() Тогда НайденнаяПапка = Выборка.Ссылка; Найдено = Истина; - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; Если НайденныйФайл <> Неопределено Тогда Элементы.Папки.ТекущаяСтрока = НайденныйФайл.ВладелецФайла; @@ -523,7 +533,7 @@ Если НайденнаяПапка <> Неопределено Тогда Элементы.Папки.ТекущаяСтрока = НайденнаяПапка; Возврат "НайденаПапка"; - КонецЕсли; + КонецЕсли; Возврат "НичегоНеНайдено"; КонецФункции @@ -634,7 +644,7 @@ Если ТипЗнч(Элементы.Список.ТекущаяСтрока) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Возврат Ложь; - КонецЕсли; + КонецЕсли; Возврат Истина; @@ -801,7 +811,8 @@ Возврат; КонецЕсли; - ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаИРабочийКаталог(Элементы.Список.ТекущаяСтрока); + ДанныеФайла = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаИРабочийКаталог( + Элементы.Список.ТекущаяСтрока); ПараметрыОбработчика = Новый Структура; ПараметрыОбработчика.Вставить("ДанныеФайла", ДанныеФайла); @@ -894,9 +905,9 @@ Если ТекущийЭлемент = Элементы.Папки Тогда Элементы.Папки.Обновить(); - Иначе + Иначе Элементы.Список.Обновить(); - КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -1183,12 +1194,16 @@ &НаКлиенте Процедура УстановитьДоступностьФайловыхКоманд(Результат = Неопределено, ПараметрыВыполнения = Неопределено) Экспорт - Если Элементы.Список.ТекущиеДанные <> Неопределено + ТекущиеДанные = Элементы.Список.ТекущиеДанные; + + Если ТекущиеДанные <> Неопределено И ТипЗнч(Элементы.Список.ТекущаяСтрока) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда - - УстановитьДоступностьКоманд(Элементы.Список.ТекущиеДанные.РедактируетТекущийПользователь, - Элементы.Список.ТекущиеДанные.Редактирует, Элементы.Список.ТекущиеДанные.ПодписанЭП, - Элементы.Список.ТекущиеДанные.Зашифрован); + + УстановитьДоступностьКоманд( + ТекущиеДанные.РедактируетТекущийПользователь, + ТекущиеДанные.Редактирует, + ТекущиеДанные.ПодписанЭП, + ТекущиеДанные.Зашифрован); Иначе СделатьКомандыНедоступными(); КонецЕсли; @@ -1198,50 +1213,50 @@ &НаКлиенте Процедура СделатьКомандыНедоступными() - Элементы.ЗакончитьРедактирование.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокЗакончитьРедактирование.Доступность = Ложь; + Элементы.ФормаЗакончитьРедактирование.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюЗакончитьРедактирование.Доступность = Ложь; - Элементы.СохранитьИзменения.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокСохранитьИзменения.Доступность = Ложь; + Элементы.ФормаСохранитьИзменения.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюСохранитьИзменения.Доступность = Ложь; - Элементы.Освободить.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокОсвободить.Доступность = Ложь; + Элементы.ФормаОсвободить.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Ложь; - Элементы.Занять.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокЗанять.Доступность = Ложь; + Элементы.ФормаЗанять.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюЗанять.Доступность = Ложь; - Элементы.Редактировать.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокРедактировать.Доступность = Ложь; + Элементы.ФормаРедактировать.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюРедактировать.Доступность = Ложь; - Элементы.ПеренестиВПапку.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокПеренестиВПапку.Доступность = Ложь; + Элементы.ФормаПеренестиВПапку.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюПеренестиВПапку.Доступность = Ложь; Элементы.ФормаПодписать.Доступность = Ложь; - Элементы.ФормаПодписатьКонтекст.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюПодписать.Доступность = Ложь; Элементы.ФормаСохранитьВместеСПодписью.Доступность = Ложь; - Элементы.ФормаСохранитьВместеСПодписьюКонтекст.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюСохранитьВместеСПодписью.Доступность = Ложь; Элементы.ФормаЗашифровать.Доступность = Ложь; - Элементы.ФормаЗашифроватьКонтекст.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюЗашифровать.Доступность = Ложь; Элементы.ФормаРасшифровать.Доступность = Ложь; - Элементы.ФормаРасшифроватьКонтекст.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюРасшифровать.Доступность = Ложь; Элементы.ФормаДобавитьПодписьИзФайла.Доступность = Ложь; - Элементы.ФормаДобавитьПодписьИзФайлаКонтекст.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюДобавитьПодписьИзФайла.Доступность = Ложь; - Элементы.ОбновитьИзФайлаНаДиске.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокОбновитьИзФайлаНаДиске.Доступность = Ложь; + Элементы.ФормаОбновитьИзФайлаНаДиске.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюОбновитьИзФайлаНаДиске.Доступность = Ложь; - Элементы.СохранитьКак.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокСохранитьКак.Доступность = Ложь; + Элементы.ФормаСохранитьКак.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюСохранитьКак.Доступность = Ложь; - Элементы.ОткрытьКаталогФайла.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокОткрытьКаталогФайла.Доступность = Ложь; + Элементы.ФормаОткрытьКаталогФайла.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюОткрытьКаталогФайла.Доступность = Ложь; - Элементы.ОткрытьФайл.Доступность = Ложь; - Элементы.КонтекстноеМенюСписокОткрытьФайл.Доступность = Ложь; + Элементы.ФормаОткрыть.Доступность = Ложь; + Элементы.СписокКонтекстноеМенюОткрыть.Доступность = Ложь; КонецПроцедуры @@ -1250,50 +1265,50 @@ РедактируетДругой = Не Редактирует.Пустая() И НЕ РедактируетТекущийПользователь; - Элементы.ЗакончитьРедактирование.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; - Элементы.КонтекстноеМенюСписокЗакончитьРедактирование.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; + Элементы.ФормаЗакончитьРедактирование.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; + Элементы.СписокКонтекстноеМенюЗакончитьРедактирование.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; - Элементы.СохранитьИзменения.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; - Элементы.КонтекстноеМенюСписокСохранитьИзменения.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; + Элементы.ФормаСохранитьИзменения.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; + Элементы.СписокКонтекстноеМенюСохранитьИзменения.Доступность = ИзменениеФайлов И РедактируетТекущийПользователь; - Элементы.Освободить.Доступность = ИзменениеФайлов И Не Редактирует.Пустая(); - Элементы.КонтекстноеМенюСписокОсвободить.Доступность = ИзменениеФайлов И Не Редактирует.Пустая(); + Элементы.ФормаОсвободить.Доступность = ИзменениеФайлов И Не Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = ИзменениеФайлов И Не Редактирует.Пустая(); - Элементы.Занять.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ ПодписанЭП; - Элементы.КонтекстноеМенюСписокЗанять.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ ПодписанЭП; + Элементы.ФормаЗанять.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ ПодписанЭП; + Элементы.СписокКонтекстноеМенюЗанять.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ ПодписанЭП; - Элементы.Редактировать.Доступность = ИзменениеФайлов И НЕ ПодписанЭП И НЕ РедактируетДругой; - Элементы.КонтекстноеМенюСписокРедактировать.Доступность = ИзменениеФайлов И НЕ ПодписанЭП И НЕ РедактируетДругой; + Элементы.ФормаРедактировать.Доступность = ИзменениеФайлов И НЕ ПодписанЭП И НЕ РедактируетДругой; + Элементы.СписокКонтекстноеМенюРедактировать.Доступность = ИзменениеФайлов И НЕ ПодписанЭП И НЕ РедактируетДругой; - Элементы.ПеренестиВПапку.Доступность = ИзменениеФайлов И НЕ ПодписанЭП; - Элементы.КонтекстноеМенюСписокПеренестиВПапку.Доступность = ИзменениеФайлов И НЕ ПодписанЭП; + Элементы.ФормаПеренестиВПапку.Доступность = ИзменениеФайлов И НЕ ПодписанЭП; + Элементы.СписокКонтекстноеМенюПеренестиВПапку.Доступность = ИзменениеФайлов И НЕ ПодписанЭП; Элементы.ФормаПодписать.Доступность = ИзменениеФайлов И Редактирует.Пустая(); - Элементы.ФормаПодписатьКонтекст.Доступность = ИзменениеФайлов И Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюПодписать.Доступность = ИзменениеФайлов И Редактирует.Пустая(); Элементы.ФормаСохранитьВместеСПодписью.Доступность = ПодписанЭП; - Элементы.ФормаСохранитьВместеСПодписьюКонтекст.Доступность = ПодписанЭП; + Элементы.СписокКонтекстноеМенюСохранитьВместеСПодписью.Доступность = ПодписанЭП; Элементы.ФормаЗашифровать.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ Зашифрован; - Элементы.ФормаЗашифроватьКонтекст.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ Зашифрован; + Элементы.СписокКонтекстноеМенюЗашифровать.Доступность = ИзменениеФайлов И Редактирует.Пустая() И НЕ Зашифрован; Элементы.ФормаРасшифровать.Доступность = ИзменениеФайлов И Зашифрован; - Элементы.ФормаРасшифроватьКонтекст.Доступность = ИзменениеФайлов И Зашифрован; + Элементы.СписокКонтекстноеМенюРасшифровать.Доступность = ИзменениеФайлов И Зашифрован; Элементы.ФормаДобавитьПодписьИзФайла.Доступность = ИзменениеФайлов И Редактирует.Пустая(); - Элементы.ФормаДобавитьПодписьИзФайлаКонтекст.Доступность = ИзменениеФайлов И Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюДобавитьПодписьИзФайла.Доступность = ИзменениеФайлов И Редактирует.Пустая(); - Элементы.ОбновитьИзФайлаНаДиске.Доступность = ИзменениеФайлов И Не ПодписанЭП; - Элементы.КонтекстноеМенюСписокОбновитьИзФайлаНаДиске.Доступность = ИзменениеФайлов И Не ПодписанЭП; + Элементы.ФормаОбновитьИзФайлаНаДиске.Доступность = ИзменениеФайлов И Не ПодписанЭП; + Элементы.СписокКонтекстноеМенюОбновитьИзФайлаНаДиске.Доступность = ИзменениеФайлов И Не ПодписанЭП; - Элементы.СохранитьКак.Доступность = Истина; - Элементы.КонтекстноеМенюСписокСохранитьКак.Доступность = Истина; + Элементы.ФормаСохранитьКак.Доступность = Истина; + Элементы.СписокКонтекстноеМенюСохранитьКак.Доступность = Истина; - Элементы.ОткрытьКаталогФайла.Доступность = Истина; - Элементы.КонтекстноеМенюСписокОткрытьКаталогФайла.Доступность = Истина; + Элементы.ФормаОткрытьКаталогФайла.Доступность = Истина; + Элементы.СписокКонтекстноеМенюОткрытьКаталогФайла.Доступность = Истина; - Элементы.ОткрытьФайл.Доступность = Истина; - Элементы.КонтекстноеМенюСписокОткрытьФайл.Доступность = Истина; + Элементы.ФормаОткрыть.Доступность = Истина; + Элементы.СписокКонтекстноеМенюОткрыть.Доступность = Истина; КонецПроцедуры @@ -1304,7 +1319,7 @@ Возврат; КонецЕсли; - Элементы.ИспользоватьИерархию.Пометка = Отметка; + Элементы.ФормаИспользоватьИерархию.Пометка = Отметка; Если Отметка = Истина Тогда Элементы.Папки.Видимость = Истина; Иначе diff --git a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Form.form index 7d9f35ef5..3e743f0b4 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Form.form @@ -1,134 +1,8 @@ - ОсновнаяКоманднаяПанель + КоманднаяПанель 1 - - УдалитьИзЛокальногоКэшаФайлов - 12 - true - true - - true - - false - - УдалитьИзЛокальногоКэшаФайловExtendedTooltip - 30 - Label - true - true - - Left - - - Form.Command.УдалитьИзЛокальногоКэшаФайлов - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - Auto - - - ЗакончитьРедактирование - 25 - true - true - - true - - false - - ЗакончитьРедактированиеExtendedTooltip - 31 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - Освободить - 13 - true - true - - true - - false - - ОсвободитьExtendedTooltip - 32 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - Auto - - - ОткрытьКаталогФайла - 20 - true - true - - true - - false - - ОткрытьКаталогФайлаExtendedTooltip - 33 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - ФормаОткрытьКарточку 26 @@ -149,6 +23,208 @@ Form.Command.ОткрытьКарточку Normal + Picture + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаУдалитьИзЛокальногоКэшаФайлов + 12 + true + true + + true + + false + + ФормаУдалитьИзЛокальногоКэшаФайловРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + Form.Command.УдалитьИзЛокальногоКэшаФайлов + Normal + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + Auto + + + ФормаЗакончитьРедактирование + 25 + true + true + + true + + false + + ФормаЗакончитьРедактированиеРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + true + true + UserCmds + Auto + + + ФормаОтменитьПоиск + 56 + true + true + + true + + + ФормаОтменитьПоискРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + + ФормаНайти + 54 + true + true + + true + + + ФормаНайтиРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОсвободить + 13 + true + true + + true + + false + + ФормаОсвободитьРасширеннаяПодсказка + 32 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + Auto + + + ФормаОткрытьКаталогФайла + 20 + true + true + + true + + false + + ФормаОткрытьКаталогФайлаРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + + + ФормаВывестиСписок + 58 + true + true + + true + + + ФормаВывестиСписокРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.OutputList + Normal Auto true true @@ -160,8 +236,12 @@ true + + <key>ru</key> + <value>Командная панель</value> + - ОсновнаяКоманднаяПанельExtendedTooltip + КоманднаяПанельРасширеннаяПодсказка 29 Label true @@ -177,7 +257,7 @@ - СписокФайлов + Список 2 true true @@ -185,26 +265,64 @@ true - СписокФайлов + Список false None Add - CancelSearch Copy - CopyToClipboard EndEdit - Find MoveDown MoveUp - OutputList SortListAsc SortListDesc + + СписокНаРедактирование + 17 + true + true + + true + + + Список.НаРедактирование + + None + + ru + Файл занят для редактирования + + + СписокНаРедактированиеРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + + СписокНаРедактированиеКонтекстноеМеню + 18 + true + + CheckBoxField + true + Enter + true + + CommonPicture.РедактироватьФайл + + Left + true + + - ИмяИКартинка + СписокГруппаИмяИКартинка 19 - Картинка + СписокИндексКартинки 4 true true @@ -212,11 +330,11 @@ true - СписокФайлов.ИндексКартинки + Список.ИндексКартинки None - КартинкаExtendedTooltip + СписокИндексКартинкиРасширеннаяПодсказка 43 Label true @@ -226,7 +344,7 @@ - КартинкаКонтекстноеМеню + СписокИндексКартинкиКонтекстноеМеню 5 true @@ -252,7 +370,7 @@ - ИмяФайла + СписокИмяФайла 6 <key>ru</key> @@ -264,10 +382,10 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.ИмяФайла</segments> + <segments>Список.ИмяФайла</segments> </dataPath> <extendedTooltip> - <name>ИмяФайлаExtendedTooltip</name> + <name>СписокИмяФайлаРасширеннаяПодсказка</name> <id>44</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -277,17 +395,19 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ИмяФайлаКонтекстноеМеню</name> + <name>СписокИмяФайлаКонтекстноеМеню</name> <id>7</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>40</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <chooseType>true</chooseType> @@ -305,14 +425,10 @@ </userVisible> <title> <key>ru</key> - <value>Имя и картинка</value> + <value>Список группа имя и картинка</value> - - ru - Имя и картинка - - ИмяИКартинкаExtendedTooltip + СписокГруппаИмяИКартинкаРасширеннаяПодсказка 42 Label true @@ -329,11 +445,11 @@ - Размер + СписокРазмер 8 <key>ru</key> - <value>Размер (Кб)</value> + <value>Размер (КБ)</value> true true @@ -341,10 +457,10 @@ true - СписокФайлов.Размер + Список.Размер - РазмерExtendedTooltip + СписокРазмерРасширеннаяПодсказка 45 Label true @@ -354,7 +470,7 @@ - РазмерКонтекстноеМеню + СписокРазмерКонтекстноеМеню 9 true @@ -366,6 +482,7 @@ true Left + 12 true true true @@ -378,7 +495,7 @@ - ДатаИзмененияФайла + СписокДатаИзменения 10 <key>ru</key> @@ -390,10 +507,14 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.ДатаИзмененияФайла</segments> + <segments>Список.ДатаИзменения</segments> </dataPath> + <toolTip> + <key>ru</key> + <value>Дата изменения данных файла (местное время)</value> + </toolTip> <extendedTooltip> - <name>ДатаИзмененияФайлаExtendedTooltip</name> + <name>СписокДатаИзмененияРасширеннаяПодсказка</name> <id>46</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -403,7 +524,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ДатаИзмененияФайлаКонтекстноеМеню</name> + <name>СписокДатаИзмененияКонтекстноеМеню</name> <id>11</id> <autoFill>true</autoFill> </contextMenu> @@ -414,8 +535,10 @@ <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> @@ -426,41 +549,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>НаРедактирование</name> - <id>17</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.НаРедактирование</segments> - </dataPath> - <extendedTooltip> - <name>НаРедактированиеExtendedTooltip</name> - <id>47</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>НаРедактированиеКонтекстноеМеню</name> - <id>18</id> - <autoFill>true</autoFill> - </contextMenu> - <type>CheckBoxField</type> - <readOnly>true</readOnly> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:CheckBoxFieldExtInfo"/> - </items> - <items xsi:type="form:FormField"> - <name>СписокФайловСсылкаФайл</name> + <name>СписокФайл</name> <id>48</id> <title> <key>ru</key> @@ -470,10 +559,10 @@ <enabled>true</enabled> <userVisible/> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.Файл</segments> + <segments>Список.Файл</segments> </dataPath> <extendedTooltip> - <name>СписокФайловСсылкаФайлРасширеннаяПодсказка</name> + <name>СписокФайлРасширеннаяПодсказка</name> <id>50</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -483,7 +572,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловСсылкаФайлКонтекстноеМеню</name> + <name>СписокФайлКонтекстноеМеню</name> <id>49</id> <autoFill>true</autoFill> </contextMenu> @@ -493,6 +582,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>1</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <wrap>true</wrap> @@ -503,7 +593,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>СписокФайловСсылкаВерсия</name> + <name>СписокВерсия</name> <id>51</id> <title> <key>ru</key> @@ -513,10 +603,10 @@ <enabled>true</enabled> <userVisible/> <dataPath xsi:type="form:DataPath"> - <segments>СписокФайлов.Версия</segments> + <segments>Список.Версия</segments> </dataPath> <extendedTooltip> - <name>СписокФайловСсылкаВерсияРасширеннаяПодсказка</name> + <name>СписокВерсияРасширеннаяПодсказка</name> <id>53</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -526,7 +616,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловСсылкаВерсияКонтекстноеМеню</name> + <name>СписокВерсияКонтекстноеМеню</name> <id>52</id> <autoFill>true</autoFill> </contextMenu> @@ -536,6 +626,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>1</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <wrap>true</wrap> @@ -547,29 +638,29 @@ </items> <commandBarLocation>None</commandBarLocation> <autoCommandBar> - <name>СписокФайловКоманднаяПанель</name> + <name>СписокКоманднаяПанель</name> <id>16</id> <horizontalAlign>Left</horizontalAlign> <autoFill>true</autoFill> </autoCommandBar> <handlers> <event>BeforeDeleteRow</event> - <name>СписокФайловПередУдалением</name> + <name>СписокПередУдалением</name> </handlers> <handlers> <event>OnActivateRow</event> - <name>СписокФайловПриАктивизацииСтроки</name> + <name>СписокПриАктивизацииСтроки</name> </handlers> <handlers> <event>BeforeRowChange</event> - <name>СписокФайловПередНачаломИзменения</name> + <name>СписокПередНачаломИзменения</name> </handlers> <searchStringAddition> - <name>СписокФайловСтрокаПоиска</name> - <id>54</id> + <name>СписокСтрокаПоиска</name> + <id>75</id> <extendedTooltip> - <name>СписокФайловСтрокаПоискаРасширеннаяПодсказка</name> - <id>56</id> + <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> + <id>77</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -578,21 +669,21 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловСтрокаПоискаКонтекстноеМеню</name> - <id>55</id> + <name>СписокСтрокаПоискаКонтекстноеМеню</name> + <id>76</id> <autoFill>true</autoFill> </contextMenu> - <source>СписокФайлов</source> + <source>Список</source> <extInfo xsi:type="form:SearchStringAdditionExtInfo"> <autoMaxWidth>true</autoMaxWidth> </extInfo> </searchStringAddition> <viewStatusAddition> - <name>СписокФайловСостояниеПросмотра</name> - <id>57</id> + <name>СписокСостояниеПросмотра</name> + <id>78</id> <extendedTooltip> - <name>СписокФайловСостояниеПросмотраРасширеннаяПодсказка</name> - <id>59</id> + <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> + <id>80</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -601,22 +692,22 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловСостояниеПросмотраКонтекстноеМеню</name> - <id>58</id> + <name>СписокСостояниеПросмотраКонтекстноеМеню</name> + <id>79</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> - <source>СписокФайлов</source> + <source>Список</source> <extInfo xsi:type="form:ViewStatusAdditionExtInfo"> <autoMaxWidth>true</autoMaxWidth> </extInfo> </viewStatusAddition> <searchControlAddition> - <name>СписокФайловУправлениеПоиском</name> - <id>60</id> + <name>СписокУправлениеПоиском</name> + <id>81</id> <extendedTooltip> - <name>СписокФайловУправлениеПоискомРасширеннаяПодсказка</name> - <id>62</id> + <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> + <id>83</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -625,18 +716,18 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловУправлениеПоискомКонтекстноеМеню</name> - <id>61</id> + <name>СписокУправлениеПоискомКонтекстноеМеню</name> + <id>82</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> - <source>СписокФайлов</source> + <source>Список</source> <extInfo xsi:type="form:SearchControlAdditionExtInfo"> <autoMaxWidth>true</autoMaxWidth> </extInfo> </searchControlAddition> <extendedTooltip> - <name>СписокФайловExtendedTooltip</name> + <name>СписокРасширеннаяПодсказка</name> <id>41</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -646,118 +737,10 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СписокФайловКонтекстноеМеню</name> + <name>СписокКонтекстноеМеню</name> <id>3</id> <items xsi:type="form:Button"> - <name>КонтекстноеМенюСписокФайловУдалитьИзЛокальногоКэшаФайлов</name> - <id>21</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>КонтекстноеМенюСписокФайловУдалитьИзЛокальногоКэшаФайловExtendedTooltip</name> - <id>35</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.УдалитьИзЛокальногоКэшаФайлов</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> - <items xsi:type="form:Button"> - <name>КонтекстноеМенюСписокФайловЗакончитьРедактирование</name> - <id>24</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>КонтекстноеМенюСписокФайловЗакончитьРедактированиеExtendedTooltip</name> - <id>36</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.ЗакончитьРедактирование</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> - <items xsi:type="form:Button"> - <name>КонтекстноеМенюСписокФайловОсвободить</name> - <id>22</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>КонтекстноеМенюСписокФайловОсвободитьExtendedTooltip</name> - <id>37</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.Освободить</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> - <items xsi:type="form:Button"> - <name>КонтекстноеМенюСписокФайловОткрытьКаталогФайла</name> - <id>23</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>КонтекстноеМенюСписокФайловОткрытьКаталогФайлаExtendedTooltip</name> - <id>38</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.ОткрытьКаталогФайла</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> - <items xsi:type="form:Button"> - <name>СписокФайловКонтекстноеМенюОткрытьКарточку</name> + <name>СписокКонтекстноеМенюОткрытьКарточку</name> <id>27</id> <visible>true</visible> <enabled>true</enabled> @@ -765,7 +748,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>СписокФайловКонтекстноеМенюОткрытьКарточкуExtendedTooltip</name> + <name>СписокКонтекстноеМенюОткрытьКарточкуРасширеннаяПодсказка</name> <id>39</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -783,7 +766,167 @@ <representationInContextMenu>Auto</representationInContextMenu> </items> <items xsi:type="form:Button"> - <name>СписокФайловКонтекстноеМенюВыделитьВсе</name> + <name>СписокКонтекстноеМенюУдалитьИзЛокальногоКэшаФайлов</name> + <id>21</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <skipOnInput>false</skipOnInput> + <extendedTooltip> + <name>СписокКонтекстноеМенюУдалитьИзЛокальногоКэшаФайловРасширеннаяПодсказка</name> + <id>35</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.УдалитьИзЛокальногоКэшаФайлов</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюЗакончитьРедактирование</name> + <id>24</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <skipOnInput>false</skipOnInput> + <extendedTooltip> + <name>СписокКонтекстноеМенюЗакончитьРедактированиеРасширеннаяПодсказка</name> + <id>36</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.ЗакончитьРедактирование</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюНайти</name> + <id>71</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СписокКонтекстноеМенюНайтиРасширеннаяПодсказка</name> + <id>72</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.Список.StandardCommand.Find</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюОтменитьПоиск</name> + <id>73</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СписокКонтекстноеМенюОтменитьПоискРасширеннаяПодсказка</name> + <id>74</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.Список.StandardCommand.CancelSearch</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюОсвободить</name> + <id>22</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <skipOnInput>false</skipOnInput> + <extendedTooltip> + <name>СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка</name> + <id>37</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.Освободить</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюОткрытьКаталогФайла</name> + <id>23</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <skipOnInput>false</skipOnInput> + <extendedTooltip> + <name>СписокКонтекстноеМенюОткрытьКаталогФайлаРасширеннаяПодсказка</name> + <id>38</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.ОткрытьКаталогФайла</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюВыделитьВсе</name> <id>28</id> <visible>true</visible> <enabled>true</enabled> @@ -791,7 +934,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>СписокФайловКонтекстноеМенюВыделитьВсеExtendedTooltip</name> + <name>СписокКонтекстноеМенюВыделитьВсеРасширеннаяПодсказка</name> <id>40</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -800,7 +943,33 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Item.СписокФайлов.StandardCommand.SelectAll</commandName> + <commandName>Form.Item.Список.StandardCommand.SelectAll</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>СписокКонтекстноеМенюКопироватьВБуферОбмена</name> + <id>60</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СписокКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка</name> + <id>61</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.Список.StandardCommand.CopyToClipboard</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> @@ -855,6 +1024,8 @@ <event>OnCreateAtServer</event> <name>ПриСозданииНаСервере</name> </handlers> + <width>85</width> + <height>10</height> <windowOpeningMode>LockOwner</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> <autoTitle>true</autoTitle> @@ -867,10 +1038,10 @@ <showTitle>auto</showTitle> <showCloseButton>true</showCloseButton> <attributes> - <name>СписокФайлов</name> + <name>Список</name> <title> <key>ru</key> - <value>Список файлов</value> + <value>Список</value> 1 @@ -919,10 +1090,10 @@ - ДатаИзмененияФайла + ДатаИзменения <key>ru</key> - <value>Дата изменения файла</value> + <value>Дата изменения</value> 3 diff --git a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Help/ru.html index 58f9bee1d..50938e204 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Help/ru.html @@ -1,5 +1,16 @@ - -

      Файлы в основном рабочем каталоге

      -

      Основной рабочий каталог - специальный каталог на Вашем компьютере в котором система размещает просматриваемые и редактируемые Вами файлы.

      -

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

      -

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

      \ No newline at end of file + +

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

      +

      Вызывается из персональных настроек программы (закладка Работа с файлами) по команде Настройка основного рабочего каталога - Открыть список файлов.

      +

      В списке выводится:

      +
      • Файл - наименование файла; +
      • Размер (Кб); +
      • Дата изменения; +
      • На редактирование - флажок включен, если файл редактируется.

      С помощью команды Все действия - Изменить форму можно добавить в список дополнительные поля.

      +

      Доступные действия

      +
      • Для удаления ненужных файлов из рабочего каталога нажмите Удалить. При этом будут удалены только те файлы, в которые Вами не вносились какие-либо изменения. +
      • Для того чтобы освободить занятые Вами файлы, используйте команду Отменить редактирование. +
      • Для того чтобы сохранить изменения в файле и освободить его для других пользователей, нажмите Закончить редактирование. +
      • Нажмите Открыть каталог файла, для того чтобы просмотреть папку, в которой хранится редактируемый файл. +
      • Нажмите , для того чтобы открыть карточку файла.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Module.bsl index 2b35511ae..08b3a6736 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФайлыВОсновномРабочемКаталоге/Module.bsl @@ -8,53 +8,53 @@ Возврат; КонецЕсли; - ЗаполнитьСписокФайлов(); + ЗаполнитьСписок(); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) - ЗаполнитьСписокФайловВФорме(); + ЗаполнитьСписокВФорме(); КонецПроцедуры #КонецОбласти -#Область ОбработчикиСобытийЭлементовТаблицыФормыСписокФайлов +#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок &НаКлиенте -Процедура СписокФайловПриАктивизацииСтроки(Элемент) +Процедура СписокПриАктивизацииСтроки(Элемент) - Если Элементы.СписокФайлов.ТекущиеДанные = Неопределено Тогда + Если Элементы.Список.ТекущиеДанные = Неопределено Тогда ДоступностьКоманд = Ложь; Иначе ДоступностьКоманд = Истина; КонецЕсли; - Элементы.УдалитьИзЛокальногоКэшаФайлов.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСписокФайловУдалитьИзЛокальногоКэшаФайлов.Доступность = ДоступностьКоманд; + Элементы.ФормаУдалитьИзЛокальногоКэшаФайлов.Доступность = ДоступностьКоманд; + Элементы.СписокКонтекстноеМенюУдалитьИзЛокальногоКэшаФайлов.Доступность = ДоступностьКоманд; - Элементы.ЗакончитьРедактирование.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСписокФайловЗакончитьРедактирование.Доступность = ДоступностьКоманд; + Элементы.ФормаЗакончитьРедактирование.Доступность = ДоступностьКоманд; + Элементы.СписокКонтекстноеМенюЗакончитьРедактирование.Доступность = ДоступностьКоманд; - Элементы.Освободить.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСписокФайловОсвободить.Доступность = ДоступностьКоманд; + Элементы.ФормаОсвободить.Доступность = ДоступностьКоманд; + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = ДоступностьКоманд; - Элементы.ОткрытьКаталогФайла.Доступность = ДоступностьКоманд; - Элементы.КонтекстноеМенюСписокФайловОткрытьКаталогФайла.Доступность = ДоступностьКоманд; + Элементы.ФормаОткрытьКаталогФайла.Доступность = ДоступностьКоманд; + Элементы.СписокКонтекстноеМенюОткрытьКаталогФайла.Доступность = ДоступностьКоманд; Элементы.ФормаОткрытьКарточку.Доступность = ДоступностьКоманд; - Элементы.СписокФайловКонтекстноеМенюОткрытьКарточку.Доступность = ДоступностьКоманд; + Элементы.СписокКонтекстноеМенюОткрытьКарточку.Доступность = ДоступностьКоманд; КонецПроцедуры &НаКлиенте -Процедура СписокФайловПередНачаломИзменения(Элемент, Отказ) +Процедура СписокПередНачаломИзменения(Элемент, Отказ) Отказ = Истина; ОткрытьКарточкуВыполнить(); КонецПроцедуры &НаКлиенте -Процедура СписокФайловПередУдалением(Элемент, Отказ) +Процедура СписокПередУдалением(Элемент, Отказ) Отказ = Истина; УдалитьИзЛокальногоКэшаФайловВыполнить(); КонецПроцедуры @@ -71,7 +71,7 @@ &НаКлиенте Процедура ЗакончитьРедактирование(Команда) - СтрокаТаблицы = Элементы.СписокФайлов.ТекущиеДанные; + СтрокаТаблицы = Элементы.Список.ТекущиеДанные; Если СтрокаТаблицы = Неопределено Тогда Возврат; КонецЕсли; @@ -98,7 +98,7 @@ &НаКлиенте Процедура ОткрытьКаталогФайлаВыполнить() - СтрокаТаблицы = Элементы.СписокФайлов.ТекущиеДанные; + СтрокаТаблицы = Элементы.Список.ТекущиеДанные; Если СтрокаТаблицы = Неопределено Тогда Возврат; КонецЕсли; @@ -118,8 +118,8 @@ &НаКлиенте Процедура ЗакончитьРедактированиеЗавершение(Результат, ПараметрыВыполнения) Экспорт - ЗаполнитьСписокФайлов(); - ЗаполнитьСписокФайловВФорме(); + ЗаполнитьСписок(); + ЗаполнитьСписокВФорме(); КонецПроцедуры @@ -129,8 +129,8 @@ ПараметрыВыполнения = Новый Структура; ПараметрыВыполнения.Вставить("МассивСсылок", Новый Массив); - Для Каждого Элемент Из Элементы.СписокФайлов.ВыделенныеСтроки Цикл - ДанныеСтроки = Элементы.СписокФайлов.ДанныеСтроки(Элемент); + Для Каждого Элемент Из Элементы.Список.ВыделенныеСтроки Цикл + ДанныеСтроки = Элементы.Список.ДанныеСтроки(Элемент); Ссылка = ДанныеСтроки.Версия; ПараметрыВыполнения.МассивСсылок.Добавить(Ссылка); КонецЦикла; @@ -170,8 +170,8 @@ КонецЕсли; КонецЦикла; - ЗаполнитьСписокФайлов(); - ЗаполнитьСписокФайловВФорме(); + ЗаполнитьСписок(); + ЗаполнитьСписокВФорме(); КонецПроцедуры @@ -185,25 +185,25 @@ КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьСписокФайловВФорме() +Процедура ЗаполнитьСписокВФорме() РабочийКаталогПользователя = ФайловыеФункцииСлужебныйКлиент.РабочийКаталогПользователя(); - СписокФайлов.Очистить(); + Список.Очистить(); Для Каждого Строка Из СписокЗначенийФайловВРегистре Цикл ПолныйПуть = РабочийКаталогПользователя + Строка.Значение.ЧастичныйПуть; Файл = Новый Файл(ПолныйПуть); Если Файл.Существует() Тогда - НоваяСтрока = СписокФайлов.Добавить(); - НоваяСтрока.ДатаИзмененияФайла = МестноеВремя(Строка.Значение.ДатаМодификацииУниверсальная); - НоваяСтрока.ИмяФайла = Строка.Значение.ПолноеНаименование; - НоваяСтрока.ИндексКартинки = Строка.Значение.ИндексКартинки; - НоваяСтрока.Размер = Формат(Строка.Значение.Размер / 1024, "ЧЦ=10; ЧН=0"); // в КБ - НоваяСтрока.Версия = Строка.Значение.Ссылка; - НоваяСтрока.Редактирует = Строка.Значение.Редактирует; - НоваяСтрока.НаРедактирование = ЗначениеЗаполнено(Строка.Значение.Редактирует); + НоваяСтрока = Список.Добавить(); + НоваяСтрока.ДатаИзменения = МестноеВремя(Строка.Значение.ДатаМодификацииУниверсальная); + НоваяСтрока.ИмяФайла = Строка.Значение.ПолноеНаименование; + НоваяСтрока.ИндексКартинки = Строка.Значение.ИндексКартинки; + НоваяСтрока.Размер = Формат(Строка.Значение.Размер / 1024, "ЧЦ=10; ЧН=0"); // в КБ + НоваяСтрока.Версия = Строка.Значение.Ссылка; + НоваяСтрока.Редактирует = Строка.Значение.Редактирует; + НоваяСтрока.НаРедактирование = ЗначениеЗаполнено(Строка.Значение.Редактирует); КонецЕсли; КонецЦикла; @@ -212,13 +212,13 @@ &НаКлиенте Процедура УдалитьПоСсылке(СсылкаДляУдаления) - КоличествоЭлементов = СписокФайлов.Количество(); + КоличествоЭлементов = Список.Количество(); Для Номер = 0 По КоличествоЭлементов - 1 Цикл - Строка = СписокФайлов[Номер]; + Строка = Список[Номер]; Ссылка = Строка.Версия; Если Ссылка = СсылкаДляУдаления Тогда - СписокФайлов.Удалить(Номер); + Список.Удалить(Номер); Возврат; КонецЕсли; КонецЦикла; @@ -226,12 +226,12 @@ КонецПроцедуры &НаСервере -Процедура ЗаполнитьСписокФайлов() +Процедура ЗаполнитьСписок() - СписокФайловВРегистре = СписокФайловВРегистре(); + СписокВРегистре = СписокВРегистре(); СписокЗначенийФайловВРегистре.Очистить(); - Для Каждого Строка Из СписокФайловВРегистре Цикл + Для Каждого Строка Из СписокВРегистре Цикл СписокЗначенийФайловВРегистре.Добавить(Строка); КонецЦикла; @@ -255,8 +255,8 @@ ПараметрыВыполнения = Новый Структура; ПараметрыВыполнения.Вставить("МассивСсылок", Новый Массив); - Для Каждого НомерЦикла Из Элементы.СписокФайлов.ВыделенныеСтроки Цикл - ДанныеСтроки = Элементы.СписокФайлов.ДанныеСтроки(НомерЦикла); + Для Каждого НомерЦикла Из Элементы.Список.ВыделенныеСтроки Цикл + ДанныеСтроки = Элементы.Список.ДанныеСтроки(НомерЦикла); ПараметрыВыполнения.МассивСсылок.Добавить(ДанныеСтроки.Версия); КонецЦикла; @@ -280,7 +280,7 @@ ПараметрыВыполнения.Ссылка = ПараметрыВыполнения.МассивСсылок[Индекс]; Если ФайлЗанят(ПараметрыВыполнения.Ссылка) Тогда - Строки = СписокФайлов.НайтиСтроки(Новый Структура("Версия", ПараметрыВыполнения.Ссылка)); + Строки = Список.НайтиСтроки(Новый Структура("Версия", ПараметрыВыполнения.Ссылка)); Строки[0].НаРедактирование = Истина; ПараметрыВыполнения.ЕстьЗанятыеФайлы = Истина; ПараметрыВыполнения.АсинхронныйДиалог.Открыт = Ложь; @@ -315,7 +315,7 @@ |занятые для редактирования.'")); КонецЕсли; - Элементы.СписокФайлов.Обновить(); + Элементы.Список.Обновить(); КонецПроцедуры @@ -342,7 +342,7 @@ &НаКлиенте Процедура ОткрытьКарточкуВыполнить() - СтрокаТаблицы = Элементы.СписокФайлов.ТекущиеДанные; + СтрокаТаблицы = Элементы.Список.ТекущиеДанные; Если СтрокаТаблицы = Неопределено Тогда Возврат; КонецЕсли; @@ -353,7 +353,7 @@ КонецПроцедуры &НаСервере -Функция СписокФайловВРегистре() +Функция СписокВРегистре() УстановитьПривилегированныйРежим(Истина); diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВозвратаФайла/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаВозвратаФайла/Help/ru.html index c85b1d932..89fb726f6 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВозвратаФайла/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВозвратаФайла/Help/ru.html @@ -1,5 +1,15 @@ - -

      При выполнении команд "Сохранить изменения" или "Закончить редактирование" можно указать краткий комментарий, характеризующий внесенные Вами изменения в файл.

      -

      Если флажок "Создать новую версию" не установлен, то при обновлении в хранилище новая версия запишется поверх предыдущей.

      -

      См. также: Общая информация о файлах, Общая информация о формах.

      -

       

      \ No newline at end of file + +

      Предназначена для сохранения версии файла.

      +

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

      +

      Сохранение версии

      +
      • +
        Программа выводит имя сохраняемого файла под заголовком окна.
        +
      • +
        В поле Комментарий к версии можно написать краткий комментарий, характеризующий внесенные Вами изменения в файл. 
        +
      • +
        Если флажок Создать новую версию не установлен, то при обновлении в хранилище новая версия запишется поверх предыдущей. Рекомендуется создавать версии, т.к. в случае порчи файла при редактировании можно вернуться к более ранней неиспорченной версии. По умолчанию флажок включен. Изменить настройку можно с помощью флажка Хранить версии в карточке файла или при загрузке файлов (папок).
        +
      • +
        Для подтверждения нажмите Сохранить.

      Просмотреть список версий файла можно по соответствующей команде на панели навигации карточки файла.

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Attributes/Группы/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Attributes/Папки/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Attributes/Группы/ExtInfo/ListSettings.dcss rename to SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Attributes/Папки/ExtInfo/ListSettings.dcss diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Form.form index 20b5f6edd..a7b642212 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Form.form @@ -5,8 +5,42 @@ Выбор файла - ОсновнаяКоманднаяПанель - 18 + ГруппаПользовательскихНастроек + 85 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 86 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 83 Выбрать 35 @@ -54,7 +88,6 @@ Form.Command.ДобавитьФайл Normal - Auto true true UserCmds @@ -63,6 +96,10 @@ Изменить 33 + + <key>ru</key> + <value>Открыть карточку</value> + true true @@ -87,6 +124,58 @@ UserCmds Auto + + ИзменитьФорму + 69 + true + true + + true + + + ИзменитьФормуРасширеннаяПодсказка + 70 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + + Обновить + 81 + true + true + + true + + + ОбновитьРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + Form.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + Справка 30 @@ -121,15 +210,11 @@ <key>ru</key> - <value>Основная командная панель</value> + <value>Командная панель</value> - - ru - Основная командная панель - - ОсновнаяКоманднаяПанельExtendedTooltip - 45 + КоманднаяПанельРасширеннаяПодсказка + 84 Label true true @@ -154,7 +239,7 @@ true - Группы + Папки false None @@ -162,7 +247,7 @@ КартинкаИНаименованиеПапок 36 - ИндексКартинки + ПапкиИндексКартинки 37 true true @@ -170,10 +255,10 @@ true - Группы.ИндексКартинки + Папки.ИндексКартинки - ИндексКартинкиExtendedTooltip + ПапкиИндексКартинкиРасширеннаяПодсказка 52 Label true @@ -183,7 +268,7 @@ - ИндексКартинкиКонтекстноеМеню + ПапкиИндексКартинкиКонтекстноеМеню 38 true @@ -207,7 +292,7 @@ - Папка + ПапкиНаименование 14 <key>ru</key> @@ -219,10 +304,10 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>Группы.Description</segments> + <segments>Папки.Description</segments> </dataPath> <extendedTooltip> - <name>ПапкаExtendedTooltip</name> + <name>ПапкиНаименованиеРасширеннаяПодсказка</name> <id>53</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -232,7 +317,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПапкаКонтекстноеМеню</name> + <name>ПапкиНаименованиеКонтекстноеМеню</name> <id>15</id> <autoFill>true</autoFill> </contextMenu> @@ -243,6 +328,7 @@ <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>10</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <chooseType>true</chooseType> @@ -291,7 +377,7 @@ <enabled>true</enabled> <userVisible/> <dataPath xsi:type="form:DataPath"> - <segments>Группы.Ref</segments> + <segments>Папки.Ref</segments> </dataPath> <extendedTooltip> <name>ПапкиСсылкаРасширеннаяПодсказка</name> @@ -314,6 +400,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:LabelFieldExtInfo"> + <width>1</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> </extInfo> @@ -327,14 +414,14 @@ </autoCommandBar> <handlers> <event>OnActivateRow</event> - <name>ГруппыПриАктивизацииСтроки</name> + <name>ПапкиПриАктивизацииСтроки</name> </handlers> <searchStringAddition> <name>ПапкиСтрокаПоиска</name> - <id>69</id> + <id>87</id> <extendedTooltip> <name>ПапкиСтрокаПоискаРасширеннаяПодсказка</name> - <id>71</id> + <id>89</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -344,7 +431,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиСтрокаПоискаКонтекстноеМеню</name> - <id>70</id> + <id>88</id> <autoFill>true</autoFill> </contextMenu> <source>Папки</source> @@ -354,10 +441,10 @@ </searchStringAddition> <viewStatusAddition> <name>ПапкиСостояниеПросмотра</name> - <id>72</id> + <id>90</id> <extendedTooltip> <name>ПапкиСостояниеПросмотраРасширеннаяПодсказка</name> - <id>74</id> + <id>92</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -367,7 +454,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиСостояниеПросмотраКонтекстноеМеню</name> - <id>73</id> + <id>91</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -378,10 +465,10 @@ </viewStatusAddition> <searchControlAddition> <name>ПапкиУправлениеПоиском</name> - <id>75</id> + <id>93</id> <extendedTooltip> <name>ПапкиУправлениеПоискомРасширеннаяПодсказка</name> - <id>77</id> + <id>95</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -391,7 +478,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиУправлениеПоискомКонтекстноеМеню</name> - <id>76</id> + <id>94</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -419,14 +506,13 @@ <readOnly>true</readOnly> <changeRowSet>true</changeRowSet> <changeRowOrder>true</changeRowOrder> - <width>24</width> + <width>23</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <autoMaxRowsCount>true</autoMaxRowsCount> <rowSelectionMode>Row</rowSelectionMode> <headerHeight>1</headerHeight> <footerHeight>1</footerHeight> - <horizontalScrollBar>AutoUse</horizontalScrollBar> <verticalScrollBar>AutoUse</verticalScrollBar> <horizontalLines>true</horizontalLines> <verticalLines>true</verticalLines> @@ -471,27 +557,23 @@ <skipOnInput>false</skipOnInput> <titleLocation>None</titleLocation> <items xsi:type="form:FormField"> - <name>ПодписанЭП</name> + <name>СписокНомерКартинкиПодписанЗашифрован</name> <id>41</id> - <title> - <key>ru</key> - <value>Подписан ЭП</value> - true true true - Список.ПодписанЭП + Список.НомерКартинкиПодписанЗашифрован None ru - Подписан ЭП + Наличие электронной подписи или шифрования - ПодписанЭПРасширеннаяПодсказка + СписокНомерКартинкиПодписанЗашифрованРасширеннаяПодсказка 55 Label true @@ -501,7 +583,7 @@ - ПодписанЭПКонтекстноеМеню + СписокНомерКартинкиПодписанЗашифрованКонтекстноеМеню 42 true @@ -509,74 +591,18 @@ Enter true - CommonPicture.ПодписанЭП + CommonPicture.ПодписанЗашифрованЗаголовок Left true + 2 true true true true - CommonPicture.ПодписанЭП - - - - 1 - - - - - Зашифрован - 43 - - <key>ru</key> - <value>Зашифрован</value> - - true - true - - true - - - Список.Зашифрован - - None - - ru - Зашифрован - - - ЗашифрованExtendedTooltip - 56 - Label - true - true - - Left - - - - ЗашифрованКонтекстноеМеню - 44 - true - - PictureField - Enter - true - - CommonPicture.Зашифрован - - Left - true - - true - true - true - true - - CommonPicture.Зашифрован + CommonPicture.ПодписанЗашифрованСостояния @@ -585,10 +611,10 @@ - КартинкаИНаименование + СписокГруппаКартинкаИНаименование 34 - Картинка + СписокИндексКартинки 25 true true @@ -600,7 +626,7 @@ None - КартинкаExtendedTooltip + СписокИндексКартинкиРасширеннаяПодсказка 58 Label true @@ -610,7 +636,7 @@ - КартинкаКонтекстноеМеню + СписокИндексКартинкиКонтекстноеМеню 26 true @@ -636,7 +662,7 @@ - Наименование + СписокНаименование 5 <key>ru</key> @@ -652,7 +678,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаименованиеExtendedTooltip</name> + <name>СписокНаименованиеРасширеннаяПодсказка</name> <id>59</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -662,17 +688,19 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>НаименованиеКонтекстноеМеню</name> + <name>СписокНаименованиеКонтекстноеМеню</name> <id>6</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <chooseType>true</chooseType> @@ -684,6 +712,51 @@ <textSize>Normal</textSize> </extInfo> </items> + <items xsi:type="form:FormField"> + <name>СписокОписание</name> + <id>31</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Список.Описание</segments> + </dataPath> + <titleLocation>None</titleLocation> + <extendedTooltip> + <name>СписокОписаниеРасширеннаяПодсказка</name> + <id>60</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>СписокОписаниеКонтекстноеМеню</name> + <id>32</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> + <autoMaxWidth>true</autoMaxWidth> + <height>1</height> + <autoMaxHeight>true</autoMaxHeight> + <multiLine>false</multiLine> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -691,14 +764,10 @@ </userVisible> <title> <key>ru</key> - <value>Картинка и наименование</value> + <value>Список группа картинка и наименование</value> - - ru - Картинка и наименование - - КартинкаИНаименованиеExtendedTooltip + СписокГруппаКартинкаИНаименованиеРасширеннаяПодсказка 57 Label true @@ -715,49 +784,7 @@ - Описание - 31 - true - true - - true - - - Список.Описание - - - ОписаниеExtendedTooltip - 60 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 32 - true - - InputField - Enter - true - Left - true - - true - 1 - true - false - true - true - true - Normal - - - - Автор + СписокАвтор 21 true true @@ -768,7 +795,7 @@ Список.Автор - АвторExtendedTooltip + СписокАвторРасширеннаяПодсказка 61 Label true @@ -778,7 +805,7 @@ - АвторКонтекстноеМеню + СписокАвторКонтекстноеМеню 22 true @@ -789,8 +816,10 @@ true Left + 15 true true + false true true true @@ -801,7 +830,7 @@ - ДатаСоздания + СписокДатаСоздания 23 true true @@ -812,7 +841,7 @@ Список.ДатаСоздания - ДатаСозданияExtendedTooltip + СписокДатаСозданияРасширеннаяПодсказка 62 Label true @@ -822,7 +851,7 @@ - ДатаСозданияКонтекстноеМеню + СписокДатаСозданияКонтекстноеМеню 24 true @@ -833,8 +862,10 @@ true Left + 15 true true + false true true true @@ -845,7 +876,7 @@ - Ссылка + СписокСсылка 39 true true @@ -854,7 +885,7 @@ Список.Ref - СсылкаExtendedTooltip + СписокСсылкаРасширеннаяПодсказка 63 Label true @@ -864,7 +895,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 40 true @@ -874,6 +905,7 @@ Left true + 1 true true @@ -887,10 +919,10 @@
      СписокСтрокаПоиска - 89 + 107 СписокСтрокаПоискаРасширеннаяПодсказка - 91 + 109 Label true true @@ -900,7 +932,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 90 + 108 true Список @@ -910,10 +942,10 @@ СписокСостояниеПросмотра - 92 + 110 СписокСостояниеПросмотраРасширеннаяПодсказка - 94 + 112 Label true true @@ -923,7 +955,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 93 + 111 true ViewStatusAddition @@ -934,10 +966,10 @@ СписокУправлениеПоиском - 95 + 113 СписокУправлениеПоискомРасширеннаяПодсказка - 97 + 115 Label true true @@ -947,7 +979,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 96 + 114 true SearchControlAddition @@ -969,13 +1001,120 @@ СписокКонтекстноеМеню 3 - true + + СписокКонтекстноеМенюВыбрать + 71 + true + true + + true + + + СписокКонтекстноеМенюВыбратьРасширеннаяПодсказка + 72 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Choose + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменить + 75 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 76 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюНайти + 77 + true + true + + true + + + СписокКонтекстноеМенюНайтиРасширеннаяПодсказка + 78 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОтменитьПоиск + 79 + true + true + + true + + + СписокКонтекстноеМенюОтменитьПоискРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + HierarchicalList true true true - 48 + 67 true true true @@ -1009,6 +1148,7 @@ true + ГруппаПользовательскихНастроек
      true @@ -1016,10 +1156,7 @@ true - - ru - Группа списки - + 10 ГруппаСпискиExtendedTooltip 49 @@ -1035,7 +1172,6 @@ Auto true true - LeftNarrowest Auto Auto @@ -1084,6 +1220,9 @@ Список.ПодписанЭП + + Список.ТекущаяВерсияРасширение +
      true
      ВЫБРАТЬ @@ -1102,7 +1241,18 @@ Файлы.ПолноеНаименование, Файлы.ВладелецФайла, Файлы.ПодписанЭП, - Файлы.Зашифрован + Файлы.Зашифрован, + ВЫБОР + КОГДА Файлы.ПодписанЭП + И Файлы.Зашифрован + ТОГДА 2 + КОГДА Файлы.Зашифрован + ТОГДА 1 + КОГДА Файлы.ПодписанЭП + ТОГДА 0 + ИНАЧЕ -1 + КОНЕЦ КАК НомерКартинкиПодписанЗашифрован, + Файлы.ТекущаяВерсияРасширение ИЗ Справочник.Файлы КАК Файлы ГДЕ @@ -1117,10 +1267,10 @@ - Группы + Папки <key>ru</key> - <value>Группы</value> + <value>Папки</value> 2 @@ -1133,7 +1283,7 @@ true - Группы.Ref + Папки.Ref ВЫБРАТЬ @@ -1165,13 +1315,9 @@ ДобавитьФайл <key>ru</key> - <value>Добавить файл</value> + <value>Создать файл</value> 1 - - ru - Добавить файл - true diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Help/ru.html index c36b164fa..283d0bfbc 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Help/ru.html @@ -1 +1,23 @@ -Форма выбора \ No newline at end of file + +

      Предназначен для выбора шаблона файла. Выбор осуществляется из папки Шаблоны файлов.

      +

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

      +

      Открывается из списков Файлы или Присоединенные файлы по команде Создать - Из шаблона.

      +

      Список состоит из двух частей: слева папка Шаблоны файлов, справа - список шаблонов файлов, которые в ней находятся. Список состоит из колонок:

      +
      • +
         - подписан ЭП;
        +
      • +
         - зашифрован;
        +
      • +
        Наименование - имя файла.

      Создание файла из шаблона

      +
      • +
        Выделите нужный шаблон в списке, нажмите Выбрать. Также можно воспользоваться двойным щелчком мыши.
        +
      • +

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

      Добавление шаблона файлов

      +
      • Для того чтобы поместить в папку Шаблоны новый шаблон, нажмите  Создать, с помощью переключателя выберите Из файла на диске. Затем выберите нужный файл. +
      • Программа автоматически создает и выводит на просмотр карточку файла. Заполните описание шаблона, поле Папка по умолчанию заполнено - Шаблоны файлов.

      Просмотр сведений о файле

      +

      Нажмите , для того чтобы просмотреть карточку файла.

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Module.bsl index 7f5a185e7..6562ffdfe 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбора/Module.bsl @@ -23,7 +23,7 @@ Если Параметры.Свойство("ВыборШаблона") И Параметры.ВыборШаблона Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Группы, "Ссылка", Справочники.ПапкиФайлов.Шаблоны, + Папки, "Ссылка", Справочники.ПапкиФайлов.Шаблоны, ВидСравненияКомпоновкиДанных.ВИерархии, , Истина); Элементы.Папки.ТекущаяСтрока = Справочники.ПапкиФайлов.Шаблоны; @@ -39,8 +39,7 @@ КонецЕсли; Если РаботаСФайламиСлужебныйВызовСервера.ПолучитьИспользоватьЭлектронныеПодписиИШифрование() = Ложь Тогда - Элементы.ПодписанЭП.Видимость = Ложь; - Элементы.Зашифрован.Видимость = Ложь; + Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь; КонецЕсли; КонецПроцедуры @@ -73,7 +72,7 @@ #Область ОбработчикиСобытийЭлементовТаблицыФормыПапки &НаКлиенте -Процедура ГруппыПриАктивизацииСтроки(Элемент) +Процедура ПапкиПриАктивизацииСтроки(Элемент) ПодключитьОбработчикОжидания("ОбработкаОжидания", 0.2, Истина); КонецПроцедуры @@ -102,7 +101,7 @@ Если Элементы.Папки.ТекущаяСтрока <> Неопределено Тогда Список.Параметры.УстановитьЗначениеПараметра("Владелец", Элементы.Папки.ТекущаяСтрока); - КонецЕсли; + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Form.form index 364cbadb0..4abdc7b93 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Form.form @@ -187,7 +187,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -329,7 +329,7 @@ OnCreateAtServer ПриСозданииНаСервере - 43 + 45 LockOwner true true diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Help/ru.html index df9c1c9a9..5d97ebfdb 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаВыбораРежимаОткрытия/Help/ru.html @@ -1,10 +1,27 @@ - -

      Для открытия файла используйте:

      -
      • клавишу Enter  -
      • двойной щелчок левой кнопкой мыши -
      • команду "Открыть файл"

       

      -

      Варианты открытия файла:

      -

      - - -
      Только для просмотраФайл не будет помечен как занятый Вами для редактирования и откроется внешним приложением в режиме "только просмотр"
      Для редактированияФайл будет помечен как занятый Вами для редактирования и откроется внешним приложением с возможностью внесения и сохранения изменений

      См. также: Общая информация о файлах.

      \ No newline at end of file + +

      Предназначена для выбора режима открытия файла.

      +

      Для открытия файла в списке файлов используйте:

      +
      • клавишу Enter - требуется выбор режима открытия файла, если не было иных настроек;  +
      • двойной щелчок левой кнопкой мыши - так же, как и в предыдущем случае; +
      • Кнопку  Открыть файл; +
      • Команду  Редактировать (F4).

      Варианты открытия файла

      +
      • С помощью переключателя выберите режим открытия файла: +
        • Только для просмотра - файл не будет помечен как занятый Вами для редактирования и откроется внешним приложением в режиме "только просмотр". +
        • Для редактирования - файл будет помечен как занятый Вами для редактирования и откроется внешним приложением с возможностью внесения и сохранения изменений.
      • Для подтверждения выбора нажмите Открыть файл.

      Отключение выбора режима открытия

      +
      • +
        Если для текстовых файлов в персональных настройках программы установлен способ открытия Во встроенном редакторе, то выбор режима открытия файла не требуется, редактор открывается сразу и переключение между режимами открытия производится уже в самом редакторе.
        +
      • Если файл был занят для редактирования, то выбора режима открытия файла не требуется, файл открывается в режиме редактирования. +
        +
      • +
        Для того чтобы больше не производить выбор режима открытия, после выбора варианта открытия файла включите флажок Больше не спрашивать.
        +
      • +
        Включить выбор режима можно в персональных настройках программы на закладке Работа с файлами.
        +
      • +
        В персональных настройках программы (закладка Работа с файлами) можно  выбрать Действие при выборе файла:
        +
        • +
          Открывать файл (установка по умолчанию);
          +
          • +
            +
            Включите флажок Выбор режима открытия при выборе файла. По умолчанию флажок включен.
        • +
          Открывать карточку файла - в этом случае по клавише Enter или двойному щелчку мыши открывается карточка файла, выбор режима открытия файла не производится.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаГруповаяОперацияНаПапке/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаГруповаяОперацияНаПапке/Help/ru.html new file mode 100644 index 000000000..9ae112f6f --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаГруповаяОперацияНаПапке/Help/ru.html @@ -0,0 +1 @@ +Предназначена \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаПапки/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаПапки/Help/ru.html index 014a945fa..83896c1e5 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаПапки/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаПапки/Help/ru.html @@ -1,10 +1,23 @@ - -

      Загрузка папки

      -

      Для загрузки папки с жесткого или сетевого диска просто перетащите его мышкой в нужную папку файлов системы или выполните следующие действия:

      -
      1. -
        Выберите папку
        + +

        Предназначена для загрузки папки с диска на компьютере.

        +

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

        +

        Заполните необходимые для загрузки папки сведения:

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

       

      -

      См. также: Общая информация о формах.

      \ No newline at end of file +
      Напишите Описание для создаваемых файлов;
      +
    5. +
      Включите флажок, для того чтобы Хранить версии (рекомендуется, по умолчанию флажок включен);
      +
    6. +
      Для текстовых файлов можно Выбрать кодировку из списка.
      +
    7. +
      Для подтверждения нажмите Загрузить папку. Если выбранная для загрузки папка пуста, то программа выводит сообщение "Нет файлов для добавления".
    8. Также можно использовать перетаскивание мышью для загрузки папки с жесткого или сетевого диска - просто перетащите папку мышкой из Проводника Windows в нужную папку списка файлов программы.
      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Form.form index f07784129..b03ff39a5 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Form.form @@ -363,7 +363,7 @@ 50 true true - 8 + 6 true MultiRow 1 @@ -535,7 +535,7 @@ Left true - 3 + 2 true true true diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Help/ru.html index 328598b4e..5bd45b1c0 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаИмпортаФайлов/Help/ru.html @@ -1,4 +1,21 @@ - -

      Загрузка файлов

      -

      Для загрузки файлов с жесткого или сетевого диска просто перетащите их мышкой в нужную папку системы или используйте команду "Загрузить файлы" контекстного меню папки.

      -

      См. также: Загрузка папки.

      \ No newline at end of file + +

      Предназначена для загрузки файлов с диска на компьютере.

      +

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

      +

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

      +

      Заполните необходимые для загрузки файлов сведения:

      +
      • В поле Папка автоматически проставляется выбранная папка в списке файлов, в которую будет загружены файлы с диска на компьютере. При необходимости можно  выбрать другую папку; +
      • +
        Для экономии места на диске включите флажок Удалять файлы после добавления (по умолчанию выключен);
        +
      • +
        Напишите Описание для создаваемых файлов;
        +
      • +
        Включите флажок, для того чтобы Хранить версии (рекомендуется, по умолчанию флажок включен);
        +
      • +
        Для текстовых файлов можно Выбрать кодировку из списка.
        +
      • +
        Для подтверждения нажмите Загрузить файл.
      Также можно использовать перетаскивание мышью для загрузки файлов с жесткого или сетевого диска - просто перетащите файлы мышкой из Проводника Windows в нужную папку списка файлов программы.
      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаНового/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаНового/Help/ru.html index 1c043c60d..ce0f32b22 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаНового/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаНового/Help/ru.html @@ -1,6 +1,11 @@ - -

      Варианты создания нового файла:

      - - -
      Из шаблонаНовый файл будет создан на основе выбранного шаблона 
      Из файлаНовый файл будет создан из существующего на локальном или сетевом диске файла

       

      -

      См. также: Общая информация о файлах, Общая информация о формах.

      \ No newline at end of file + +

      Предназначена для выбора способа создания нового файла.

      +

      Выводится по кнопке Insert или команде Создать контекстного меню по правой кнопке мыши из списка файлов или списка присоединенных файлов.

      +

      Способы создания нового файла

      +

      Выберите с помощью переключателя:

      +
      • Из шаблона -  новый файл будет создан на основе выбранного шаблона; +
      • Из файла на диске - новый файл будет создан из существующего на локальном или сетевом диске файла; +
      • Со сканера - предусмотрена возможность создать новый файл, получив графический файл со сканера (этот вариант доступен, если к компьютеру подключен сканер). Для загрузки файлов со сканера необходимо также настроить сканирование.

      Нажмите кнопку Создать для перехода к добавлению файла.

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаОтчета/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаОтчета/Help/ru.html new file mode 100644 index 000000000..b7110f4e7 --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаОтчета/Help/ru.html @@ -0,0 +1,6 @@ + +

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

      +

      В отчете выводится список файлов, который включает:

      +
      • Полный путь к файлам, которые не удалось загрузить. +
      • Суть ошибки, например, "Размер файла <"Наименование">(2 Мб) превышает максимально допустимый размер файла (1Мб)".

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Form.form index d498b9106..f057e1c79 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Form.form @@ -336,6 +336,7 @@ true true true + 6 true true MultiRow @@ -507,6 +508,7 @@ Left true + 2 true true true diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Help/ru.html new file mode 100644 index 000000000..4c80420d5 --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаПеретаскивания/Help/ru.html @@ -0,0 +1,33 @@ + +

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

      +

      Загрузка файлов и папок с помощью перетаскивания мышью

      +
      • +
        Если нужно загрузить один или несколько файлов (папок), можно использовать перетаскивание мышью - просто перетащите файл (папку) или несколько выбранных файлов (папок) мышкой из Проводника Windows в нужную папку списка файлов программы.
        +
      • +
        Один файл сразу помещается в список файлов, автоматически создается карточка файла.
        +
      • +
        +
        При перетаскивании нескольких файлов, папки или нескольких папок необходимо заполнить сведения:
        +
        • +
          +
          Файлы, которые перетаскивались мышью для загрузки, выводятся в виде списка. Папки, которые перетаскивались мышью для загрузки, выводятся в виде дерева. При этом можно раскрыть каждую папку и просмотреть файлы, которые в нее входят.
          +
          • +
            +
            С помощью флажков можно указать папки и файлы, которые будут загружены в программу.
        • В поле Папка автоматически проставляется выбранная папка в списке файлов, в которую будет загружены файлы с диска на компьютере. При необходимости можно  выбрать из списка другую папку; +
        • +
          Для экономии места на диске включите флажок Удалять файлы после добавления (по умолчанию выключен);
          +
        • +
          Напишите Описание для создаваемых файлов;
          +
        • +
          Включите флажок, для того чтобы Хранить версии (рекомендуется, по умолчанию флажок включен);
          +
        • +
          Для текстовых файлов можно Выбрать кодировку из списка.
      • +
        Для подтверждения нажмите Загрузить файлы.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Attributes/Список/ExtInfo/ListSettings.dcss b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Attributes/Папки/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Attributes/Список/ExtInfo/ListSettings.dcss rename to SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Attributes/Папки/ExtInfo/ListSettings.dcss diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Form.form index d9ee61695..2b7ee5a31 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Form.form @@ -4,6 +4,121 @@ ru Подбор файлов + + ГруппаПользовательскихНастроек + 61 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 63 + + Выбрать + 39 + true + true + + true + + false + + ВыбратьExtendedTooltip + 43 + Label + true + true + + Left + + + Form.StandardCommand.Choose + Auto + true + true + true + UserCmds + Auto + + + Справка + 40 + true + true + + true + + false + + СправкаExtendedTooltip + 44 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + CommandBar + + Left + + ГруппаСписки 29 @@ -16,7 +131,7 @@ true - Группы + Папки false None @@ -24,7 +139,7 @@ КартинкаИНаименованиеПапок 36 - ИндексКартинки + ПапкиИндексКартинки 37 true true @@ -32,10 +147,10 @@ true - Группы.ИндексКартинки + Папки.ИндексКартинки - ИндексКартинкиExtendedTooltip + ПапкиИндексКартинкиРасширеннаяПодсказка 48 Label true @@ -45,7 +160,7 @@
      - ИндексКартинкиКонтекстноеМеню + ПапкиИндексКартинкиКонтекстноеМеню 38 true @@ -69,7 +184,7 @@ - Папка + ПапкиНаименование 14 <key>ru</key> @@ -81,10 +196,10 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>Группы.Description</segments> + <segments>Папки.Description</segments> </dataPath> <extendedTooltip> - <name>ПапкаExtendedTooltip</name> + <name>ПапкиНаименованиеРасширеннаяПодсказка</name> <id>49</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -94,7 +209,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПапкаКонтекстноеМеню</name> + <name>ПапкиНаименованиеКонтекстноеМеню</name> <id>15</id> <autoFill>true</autoFill> </contextMenu> @@ -153,7 +268,7 @@ <enabled>true</enabled> <userVisible/> <dataPath xsi:type="form:DataPath"> - <segments>Группы.Ref</segments> + <segments>Папки.Ref</segments> </dataPath> <extendedTooltip> <name>ПапкиСсылкаРасширеннаяПодсказка</name> @@ -189,14 +304,14 @@ </autoCommandBar> <handlers> <event>OnActivateRow</event> - <name>ГруппыПриАктивизацииСтроки</name> + <name>ПапкиПриАктивизацииСтроки</name> </handlers> <searchStringAddition> <name>ПапкиСтрокаПоиска</name> - <id>61</id> + <id>65</id> <extendedTooltip> <name>ПапкиСтрокаПоискаРасширеннаяПодсказка</name> - <id>63</id> + <id>67</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -206,7 +321,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиСтрокаПоискаКонтекстноеМеню</name> - <id>62</id> + <id>66</id> <autoFill>true</autoFill> </contextMenu> <source>Папки</source> @@ -216,10 +331,10 @@ </searchStringAddition> <viewStatusAddition> <name>ПапкиСостояниеПросмотра</name> - <id>64</id> + <id>68</id> <extendedTooltip> <name>ПапкиСостояниеПросмотраРасширеннаяПодсказка</name> - <id>66</id> + <id>70</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -229,7 +344,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиСостояниеПросмотраКонтекстноеМеню</name> - <id>65</id> + <id>69</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -240,10 +355,10 @@ </viewStatusAddition> <searchControlAddition> <name>ПапкиУправлениеПоиском</name> - <id>67</id> + <id>71</id> <extendedTooltip> <name>ПапкиУправлениеПоискомРасширеннаяПодсказка</name> - <id>69</id> + <id>73</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -253,7 +368,7 @@ </extendedTooltip> <contextMenu> <name>ПапкиУправлениеПоискомКонтекстноеМеню</name> - <id>68</id> + <id>72</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -281,7 +396,7 @@ <readOnly>true</readOnly> <changeRowSet>true</changeRowSet> <changeRowOrder>true</changeRowOrder> - <width>24</width> + <width>22</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <autoMaxRowsCount>true</autoMaxRowsCount> @@ -336,7 +451,7 @@ <name>КартинкаИНаименование</name> <id>34</id> <items xsi:type="form:FormField"> - <name>Картинка</name> + <name>СписокИндексКартинки</name> <id>25</id> <visible>true</visible> <enabled>true</enabled> @@ -348,7 +463,7 @@ </dataPath> <titleLocation>None</titleLocation> <extendedTooltip> - <name>КартинкаExtendedTooltip</name> + <name>СписокИндексКартинкиРасширеннаяПодсказка</name> <id>52</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -358,7 +473,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>КартинкаКонтекстноеМеню</name> + <name>СписокИндексКартинкиКонтекстноеМеню</name> <id>26</id> <autoFill>true</autoFill> </contextMenu> @@ -384,7 +499,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Наименование</name> + <name>СписокНаименование</name> <id>5</id> <title> <key>ru</key> @@ -400,7 +515,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаименованиеExtendedTooltip</name> + <name>СписокНаименованиеРасширеннаяПодсказка</name> <id>53</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -410,17 +525,19 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>НаименованиеКонтекстноеМеню</name> + <name>СписокНаименованиеКонтекстноеМеню</name> <id>6</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>20</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <chooseType>true</chooseType> @@ -432,6 +549,50 @@ <textSize>Normal</textSize> </extInfo> </items> + <items xsi:type="form:FormField"> + <name>СписокОписание</name> + <id>31</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Список.Описание</segments> + </dataPath> + <titleLocation>None</titleLocation> + <extendedTooltip> + <name>СписокОписаниеРасширеннаяПодсказка</name> + <id>54</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>СписокОписаниеКонтекстноеМеню</name> + <id>32</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <editMode>Enter</editMode> + <autoCellHeight>true</autoCellHeight> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <multiLine>false</multiLine> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -463,49 +624,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Описание</name> - <id>31</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>Список.Описание</segments> - </dataPath> - <extendedTooltip> - <name>ОписаниеExtendedTooltip</name> - <id>54</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>ОписаниеКонтекстноеМеню</name> - <id>32</id> - <autoFill>true</autoFill> - </contextMenu> - <type>InputField</type> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:InputFieldExtInfo"> - <autoMaxWidth>true</autoMaxWidth> - <height>1</height> - <autoMaxHeight>true</autoMaxHeight> - <multiLine>false</multiLine> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <textSize>Normal</textSize> - </extInfo> - </items> - <items xsi:type="form:FormField"> - <name>Автор</name> + <name>СписокАвтор</name> <id>21</id> <visible>true</visible> <enabled>true</enabled> @@ -516,7 +635,7 @@ <segments>Список.Автор</segments> </dataPath> <extendedTooltip> - <name>АвторExtendedTooltip</name> + <name>СписокАвторРасширеннаяПодсказка</name> <id>55</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -526,7 +645,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>АвторКонтекстноеМеню</name> + <name>СписокАвторКонтекстноеМеню</name> <id>22</id> <autoFill>true</autoFill> </contextMenu> @@ -537,8 +656,10 @@ <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>14</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> @@ -549,7 +670,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ДатаСоздания</name> + <name>СписокДатаСоздания</name> <id>23</id> <visible>true</visible> <enabled>true</enabled> @@ -560,7 +681,7 @@ <segments>Список.ДатаСоздания</segments> </dataPath> <extendedTooltip> - <name>ДатаСозданияExtendedTooltip</name> + <name>СписокДатаСозданияРасширеннаяПодсказка</name> <id>56</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -570,7 +691,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ДатаСозданияКонтекстноеМеню</name> + <name>СписокДатаСозданияКонтекстноеМеню</name> <id>24</id> <autoFill>true</autoFill> </contextMenu> @@ -581,8 +702,10 @@ <showInFooter>true</showInFooter> <footerHorizontalAlign>Left</footerHorizontalAlign> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> @@ -593,7 +716,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Ссылка</name> + <name>СписокСсылка</name> <id>41</id> <visible>true</visible> <enabled>true</enabled> @@ -602,7 +725,7 @@ <segments>Список.Ref</segments> </dataPath> <extendedTooltip> - <name>СсылкаExtendedTooltip</name> + <name>СписокСсылкаРасширеннаяПодсказка</name> <id>57</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -612,7 +735,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>СсылкаКонтекстноеМеню</name> + <name>СписокСсылкаКонтекстноеМеню</name> <id>42</id> <autoFill>true</autoFill> </contextMenu> @@ -622,6 +745,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:LabelFieldExtInfo"> + <width>1</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> </extInfo> @@ -639,10 +763,10 @@ </handlers> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>81</id> + <id>85</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>83</id> + <id>87</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -652,7 +776,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>82</id> + <id>86</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -662,10 +786,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>84</id> + <id>88</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>86</id> + <id>90</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -675,7 +799,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>85</id> + <id>89</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -686,10 +810,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>87</id> + <id>91</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>89</id> + <id>93</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -699,7 +823,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>88</id> + <id>92</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -721,13 +845,12 @@ <contextMenu> <name>СписокКонтекстноеМеню</name> <id>3</id> - <autoFill>true</autoFill> </contextMenu> <representation>HierarchicalList</representation> <readOnly>true</readOnly> <changeRowSet>true</changeRowSet> <changeRowOrder>true</changeRowOrder> - <width>48</width> + <width>65</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <autoMaxRowsCount>true</autoMaxRowsCount> @@ -761,6 +884,7 @@ </period> <topLevelParent xsi:type="core:UndefinedValue"/> <allowGettingCurrentRowURL>true</allowGettingCurrentRowURL> + <userSettingsGroup>ГруппаПользовательскихНастроек</userSettingsGroup> </extInfo> </items> <visible>true</visible> @@ -772,6 +896,7 @@ <key>ru</key> <value>Группа списки</value> </toolTip> + <height>10</height> <extendedTooltip> <name>ГруппаСпискиExtendedTooltip</name> <id>45</id> @@ -787,7 +912,6 @@ <behavior>Auto</behavior> <showLeftMargin>true</showLeftMargin> <united>true</united> - <slaveItemsWidth>LeftNarrowest</slaveItemsWidth> <throughAlign>Auto</throughAlign> <currentRowUse>Auto</currentRowUse> </extInfo> @@ -795,60 +919,6 @@ <autoCommandBar> <name>ФормаКоманднаяПанель</name> <id>-1</id> - <items xsi:type="form:Button"> - <name>Выбрать</name> - <id>39</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>ВыбратьExtendedTooltip</name> - <id>43</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.StandardCommand.Choose</commandName> - <representation>Auto</representation> - <defaultButton>true</defaultButton> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> - <items xsi:type="form:Button"> - <name>Справка</name> - <id>40</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <skipOnInput>false</skipOnInput> - <extendedTooltip> - <name>СправкаExtendedTooltip</name> - <id>44</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.StandardCommand.Help</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - </items> <horizontalAlign>Left</horizontalAlign> </autoCommandBar> <handlers> @@ -922,10 +992,10 @@ </extInfo> </attributes> <attributes> - <name>Группы</name> + <name>Папки</name> <title> <key>ru</key> - <value>Группы</value> + <value>Папки</value> 2 @@ -938,7 +1008,7 @@ true - Группы.Ref + Папки.Ref ВЫБРАТЬ diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Help/ru.html new file mode 100644 index 000000000..ee8e1cd2f --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Help/ru.html @@ -0,0 +1,16 @@ + +

      Предназначена для подбора файлов.

      +

      Список состоит из двух частей: слева список папок , справа - список файлов в выбранной папке. Список состоит из колонок:

      +
      • +
        Наименование - имя файла;
        +
      • +
        Описание - подробные сведения о файле;
        +
      • +
        Автор - пользователь, который добавил файл в программу;
        +
      • +
        Дата создания - дата и время добавленя файла в программу.

      Выделите в списке несколько файлов, нажмите Выбрать.

      +

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Module.bsl index ca9397070..be809df5e 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаПодбора/Module.bsl @@ -23,7 +23,7 @@ Если Параметры.Свойство("ВыборШаблона") И Параметры.ВыборШаблона Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Группы, "Ссылка", Справочники.ПапкиФайлов.Шаблоны, + Папки, "Ссылка", Справочники.ПапкиФайлов.Шаблоны, ВидСравненияКомпоновкиДанных.ВИерархии, , Истина); Элементы.Папки.ТекущаяСтрока = Справочники.ПапкиФайлов.Шаблоны; @@ -41,7 +41,7 @@ #Область ОбработчикиСобытийЭлементовТаблицыФормыПапки &НаКлиенте -Процедура ГруппыПриАктивизацииСтроки(Элемент) +Процедура ПапкиПриАктивизацииСтроки(Элемент) ПодключитьОбработчикОжидания("ОбработкаОжидания", 0.2, Истина); КонецПроцедуры @@ -71,7 +71,7 @@ Если Элементы.Папки.ТекущаяСтрока <> Неопределено Тогда Список.Параметры.УстановитьЗначениеПараметра("Владелец", Элементы.Папки.ТекущаяСтрока); - КонецЕсли; + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Form.form index 2b681f9e1..ac01b7821 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Form.form @@ -4,828 +4,22 @@ ru Все файлы - - Список - 10 + + ГруппаПользовательскихНастроек + 138 true true true - - Список - - false - None - Copy - Create - - ПодписанЭП - 86 - - <key>ru</key> - <value>Подписан ЭП</value> - - true - true - - true - - - Список.ПодписанЭП - - None - - ru - Подписан ЭП - - - ПодписанЭПРасширеннаяПодсказка - 101 - Label - true - true - - Left - - - - ПодписанЭПКонтекстноеМеню - 87 - true - - PictureField - Enter - true - - CommonPicture.ПодписанЭП - - Left - true - - true - true - true - true - - CommonPicture.ПодписанЭП - - - - 1 - - - - - Зашифрован - 88 - - <key>ru</key> - <value>Зашифрован</value> - - true - true - - true - - - Список.Зашифрован - - None - - ru - Зашифрован - - - ЗашифрованExtendedTooltip - 102 - Label - true - true - - Left - - - - ЗашифрованКонтекстноеМеню - 89 - true - - PictureField - Enter - true - - CommonPicture.Зашифрован - - Left - true - - true - true - true - true - - CommonPicture.Зашифрован - - - - 1 - - - - - КартинкаИНаименование - 45 - - Картинка - 25 - true - true - - true - - - Список.ИндексКартинки - - - КартинкаExtendedTooltip - 104 - Label - true - true - - Left - - - - КартинкаКонтекстноеМеню - 26 - true - - PictureField - Enter - Left - true - Left - - 2 - true - 1 - true - true - true - - CommonPicture.КоллекцияПиктограммФайлов - - - 1 - - - - - Наименование - 17 - - <key>ru</key> - <value>Наименование</value> - - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 105 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 18 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - - КартинкаИНаименованиеExtendedTooltip - 103 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - ВладелецФайла - 70 - true - true - - true - - - Список.ВладелецФайла - - - ВладелецФайлаExtendedTooltip - 106 - Label - true - true - - Left - - - - ВладелецФайлаКонтекстноеМеню - 71 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Автор - 21 - true - true - - true - - - Список.Автор - - - АвторExtendedTooltip - 107 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 22 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДатаСоздания - 23 - - <key>ru</key> - <value>Создан</value> - - true - true - - true - - - Список.ДатаСоздания - - - ДатаСозданияExtendedTooltip - 108 - Label - true - true - - Left - - - - ДатаСозданияКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ТекущаяВерсияРасширение - 72 - - <key>ru</key> - <value>Расширение</value> - - true - true - - true - - - Список.ТекущаяВерсияРасширение - - - ТекущаяВерсияРасширениеExtendedTooltip - 109 - Label - true - true - - Left - - - - ТекущаяВерсияРасширениеКонтекстноеМеню - 73 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ТекущаяВерсияРазмер - 39 - - <key>ru</key> - <value>Размер (Кб)</value> - - true - true - - true - - - Список.ТекущаяВерсияРазмер - - - ru - Размер данных версии файла. - - - ТекущаяВерсияРазмерExtendedTooltip - 110 - Label - true - true - - Left - - - - ТекущаяВерсияРазмерКонтекстноеМеню - 40 - true - - InputField - Enter - true - Left - true - - true - true - - ru - ЧЦ=10; ЧН=0 - - - ru - ЧЦ=10; ЧН=0 - - true - true - true - Normal - - - - Редактирует - 29 - true - true - - true - - - Список.Редактирует - - - РедактируетExtendedTooltip - 111 - Label - true - true - - Left - - - - РедактируетКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Описание - 27 - true - true - - - Список.Описание - - - ОписаниеExtendedTooltip - 112 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 28 - true - - InputField - Enter - true - Left - true - - true - 1 - true - true - true - true - Normal - - - - ТекущаяВерсияНомерВерсии - 78 - - <key>ru</key> - <value>Версия</value> - - true - true - - - Список.ТекущаяВерсияНомерВерсии - - - ТекущаяВерсияНомерВерсииExtendedTooltip - 113 - Label - true - true - - Left - - - - ТекущаяВерсияНомерВерсииКонтекстноеМеню - 79 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ТекущаяВерсияАвтор - 35 - - <key>ru</key> - <value>Отредактировал</value> - - true - true - - - Список.ТекущаяВерсияАвтор - - - ТекущаяВерсияАвторExtendedTooltip - 114 - Label - true - true - - Left - - - - ТекущаяВерсияАвторКонтекстноеМеню - 36 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ТекущаяВерсияТом - 74 - - <key>ru</key> - <value>Том</value> - - true - true - - - Список.ТекущаяВерсияТом - - - ТекущаяВерсияТомExtendedTooltip - 115 - Label - true - true - - Left - - - - ТекущаяВерсияТомКонтекстноеМеню - 75 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ТекущаяВерсияПутьКФайлу - 76 - - <key>ru</key> - <value>Путь к файлу на томе</value> - - true - true - - - Список.ТекущаяВерсияПутьКФайлу - - - ТекущаяВерсияПутьКФайлуExtendedTooltip - 116 - Label - true - true - - Left - - - - ТекущаяВерсияПутьКФайлуКонтекстноеМеню - 77 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Ссылка - 84 - true - true - - - Список.Ref - - - СсылкаExtendedTooltip - 117 - Label - true - true - - Left - - - - СсылкаКонтекстноеМеню - 85 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 12 - Left - true - - - Selection - СписокВыбор - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - СписокСтрокаПоиска - 118 - - СписокСтрокаПоискаРасширеннаяПодсказка - 120 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 119 - true - - Список - - true - - - - СписокСостояниеПросмотра - 121 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 123 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 122 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 124 - - СписокУправлениеПоискомРасширеннаяПодсказка - 126 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 125 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 100 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 139 Label true true @@ -833,133 +27,55 @@ Left
      - - СписокКонтекстноеМеню - 11 - - КонтекстноеМенюСписокПросмотреть - 80 - true - true - - true - - false - - КонтекстноеМенюСписокПросмотретьExtendedTooltip - 97 - Label - true - true - - Left - - - Form.Command.Просмотреть - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОсвободить - 83 - true - true - - true - - false - - КонтекстноеМенюСписокОсвободитьExtendedTooltip - 98 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьКак - 81 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьКакExtendedTooltip - 99 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - true - - HierarchicalList - true - true - true - true - true - MultiRow -
      true
      - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - true - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
      - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 140 + + ФормаИзменить + 118 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 119 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + - ГруппаКомандФайлов + ФормаГруппаКомандОсновные 67 - Просмотреть + ФормаПросмотреть 69 true true @@ -968,7 +84,7 @@ false - ПросмотретьExtendedTooltip + ФормаПросмотретьРасширеннаяПодсказка 92 Label true @@ -979,14 +95,13 @@ Form.Command.Просмотреть Normal - Auto true true UserCmds Auto - Освободить + ФормаОсвободить 82 true true @@ -995,7 +110,7 @@ false - ОсвободитьExtendedTooltip + ФормаОсвободитьРасширеннаяПодсказка 93 Label true @@ -1006,6 +121,85 @@ Form.Command.Освободить Normal + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд основные</value> + + + ФормаГруппаКомандОсновныеРасширеннаяПодсказка + 91 + Label + true + true + + Left + + + + + + ФормаГлобальныеКоманды + 122 + true + true + + true + + + <key>ru</key> + <value>Форма глобальные команды</value> + + + ФормаГлобальныеКомандыРасширеннаяПодсказка + 123 + Label + true + true + + Left + + + + FormCommandPanelGlobalCommands + + + + ФормаГруппаКомандДополнительные + 132 + + ФормаИзменить82 + 126 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + ФормаИзменить82РасширеннаяПодсказка + 127 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal Auto true true @@ -1013,7 +207,33 @@ Auto - СохранитьКак + ФормаУстановитьПометкуУдаления + 128 + true + true + + true + + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 129 + Label + true + true + + Left + + + Form.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьКак 59 <key>ru</key> @@ -1026,7 +246,7 @@ </userVisible> <skipOnInput>false</skipOnInput> <extendedTooltip> - <name>СохранитьКакExtendedTooltip</name> + <name>ФормаСохранитьКакРасширеннаяПодсказка</name> <id>94</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -1051,15 +271,11 @@ </userVisible> <title> <key>ru</key> - <value>Группа команд файлов</value> + <value>Форма группа команд дополнительные</value> - - ru - Группа команд файлов - - ГруппаКомандФайловExtendedTooltip - 91 + ФормаГруппаКомандДополнительныеРасширеннаяПодсказка + 133 Label true true @@ -1070,7 +286,7 @@ - ГруппаКомандФормы + ФормаСтандартныеКоманды 68 true true @@ -1079,14 +295,10 @@ <key>ru</key> - <value>Группа команд формы</value> + <value>Форма стандартные команды</value> - - ru - Группа команд формы - - ГруппаКомандФормыExtendedTooltip + ФормаСтандартныеКомандыРасширеннаяПодсказка 95 Label true @@ -1125,6 +337,1065 @@ UserCmds Auto + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + CommandBar + + Left + + + + Список + 10 + true + true + + true + + + Список + + false + None + Copy + Create + Delete + + СписокНомерКартинкиПодписанЗашифрован + 86 + true + true + + true + + + Список.НомерКартинкиПодписанЗашифрован + + None + + ru + Наличие электронной подписи или шифрования + + + СписокНомерКартинкиПодписанЗашифрованРасширеннаяПодсказка + 101 + Label + true + true + + Left + + + + СписокНомерКартинкиПодписанЗашифрованКонтекстноеМеню + 87 + true + + PictureField + Enter + true + + CommonPicture.ПодписанЗашифрованЗаголовок + + Left + true + + 2 + true + true + true + true + + CommonPicture.ПодписанЗашифрованСостояния + + + + 1 + + + + + СписокКартинкаИНаименование + 45 + + СписокИндексКартинки + 25 + true + true + + true + + + Список.ИндексКартинки + + + СписокИндексКартинкиРасширеннаяПодсказка + 104 + Label + true + true + + Left + + + + СписокИндексКартинкиКонтекстноеМеню + 26 + true + + PictureField + Enter + Left + true + Left + + 2 + true + 1 + true + true + true + + CommonPicture.КоллекцияПиктограммФайлов + + + 1 + + + + + СписокНаименование + 17 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + Список.Description + + + СписокНаименованиеРасширеннаяПодсказка + 105 + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 18 + true + + InputField + Enter + true + true + Left + true + + 20 + true + true + true + true + true + Normal + + + + СписокОписание + 27 + true + true + + + Список.Описание + + None + + СписокОписаниеРасширеннаяПодсказка + 112 + Label + true + true + + Left + + + + СписокОписаниеКонтекстноеМеню + 28 + true + + InputField + Enter + true + true + Left + true + + 15 + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Список картинка и наименование</value> + + + СписокКартинкаИНаименованиеРасширеннаяПодсказка + 103 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СписокВладелецФайла + 70 + true + true + + true + + + Список.ВладелецФайла + + + СписокВладелецФайлаРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + + СписокВладелецФайлаКонтекстноеМеню + 71 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокАвтор + 21 + true + true + + true + + + Список.Автор + + + СписокАвторРасширеннаяПодсказка + 107 + Label + true + true + + Left + + + + СписокАвторКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + СписокДатаСоздания + 23 + + <key>ru</key> + <value>Дата создания</value> + + true + true + + true + + + Список.ДатаСоздания + + + СписокДатаСозданияРасширеннаяПодсказка + 108 + Label + true + true + + Left + + + + СписокДатаСозданияКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияРазмер + 39 + + <key>ru</key> + <value>Размер (КБ)</value> + + true + true + + true + + + Список.ТекущаяВерсияРазмер + + + ru + Размер данных версии файла. + + + СписокТекущаяВерсияРазмерРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + + СписокТекущаяВерсияРазмерКонтекстноеМеню + 40 + true + + InputField + Enter + true + Left + true + + 10 + true + true + false + + ru + ЧЦ=10; ЧН=0 + + + ru + ЧЦ=10; ЧН=0 + + true + true + true + Normal + + + + СписокТекущаяВерсияРасширение + 72 + + <key>ru</key> + <value>Расширение</value> + + true + true + + + Список.ТекущаяВерсияРасширение + + + СписокТекущаяВерсияРасширениеРасширеннаяПодсказка + 109 + Label + true + true + + Left + + + + СписокТекущаяВерсияРасширениеКонтекстноеМеню + 73 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокРедактирует + 29 + true + true + + + Список.Редактирует + + + СписокРедактируетРасширеннаяПодсказка + 111 + Label + true + true + + Left + + + + СписокРедактируетКонтекстноеМеню + 30 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияНомерВерсии + 78 + + <key>ru</key> + <value>Версия</value> + + true + true + + + Список.ТекущаяВерсияНомерВерсии + + + СписокТекущаяВерсияНомерВерсииРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + СписокТекущаяВерсияНомерВерсииКонтекстноеМеню + 79 + true + + LabelField + Enter + true + Left + true + + 7 + true + true + + + + СписокТекущаяВерсияАвтор + 35 + + <key>ru</key> + <value>Отредактировал</value> + + true + true + + + Список.ТекущаяВерсияАвтор + + + СписокТекущаяВерсияАвторРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + + СписокТекущаяВерсияАвторКонтекстноеМеню + 36 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияТом + 74 + + <key>ru</key> + <value>Том</value> + + true + true + + + Список.ТекущаяВерсияТом + + + СписокТекущаяВерсияТомРасширеннаяПодсказка + 115 + Label + true + true + + Left + + + + СписокТекущаяВерсияТомКонтекстноеМеню + 75 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокТекущаяВерсияПутьКФайлу + 76 + + <key>ru</key> + <value>Путь к файлу на томе</value> + + true + true + + + Список.ТекущаяВерсияПутьКФайлу + + + СписокТекущаяВерсияПутьКФайлуРасширеннаяПодсказка + 116 + Label + true + true + + Left + + + + СписокТекущаяВерсияПутьКФайлуКонтекстноеМеню + 77 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокСсылка + 84 + true + true + + + Список.Ref + + + СписокСсылкаРасширеннаяПодсказка + 117 + Label + true + true + + Left + + + + СписокСсылкаКонтекстноеМеню + 85 + true + + LabelField + Enter + true + Left + true + + 1 + true + true + + + None + + СписокКоманднаяПанель + 12 + Left + true + + + Selection + СписокВыбор + + + BeforeAddRow + СписокПередНачаломДобавления + + + OnActivateRow + СписокПриАктивизацииСтроки + + + СписокСтрокаПоиска + 142 + + СписокСтрокаПоискаРасширеннаяПодсказка + 144 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 143 + true + + Список + + true + + + + СписокСостояниеПросмотра + 145 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 147 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 146 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 148 + + СписокУправлениеПоискомРасширеннаяПодсказка + 150 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 149 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 100 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 11 + + СписокКонтекстноеМенюИзменить + 120 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 121 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандОсновные + 134 + + СписокКонтекстноеМенюПросмотреть + 80 + true + true + + true + + false + + СписокКонтекстноеМенюПросмотретьРасширеннаяПодсказка + 97 + Label + true + true + + Left + + + Form.Command.Просмотреть + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОсвободить + 83 + true + true + + true + + false + + СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка + 98 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд основные</value> + + + ru + Список контекстное меню группа команд основные + + + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 135 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаКомандДополнительные + 136 + + СписокКонтекстноеМенюУстановитьПометкуУдаления + 130 + true + true + + true + + + СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка + 131 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьКак + 81 + true + true + + true + + false + + СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка + 99 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд дополнительные</value> + + + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка + 137 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюСтандартныеКоманды + 124 + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню стандартные команды</value> + + + СписокКонтекстноеМенюСтандартныеКомандыРасширеннаяПодсказка + 125 + Label + true + true + + Left + + + + Item.Список + + + + HierarchicalList + true + true + true + 10 + true + true + MultiRow +
      true
      + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + ГруппаПользовательскихНастроек + +
      + + ФормаКоманднаяПанель + -1 Left @@ -1205,7 +1476,17 @@ Файлы.ТекущаяВерсияТом, Файлы.ТекущаяВерсияПутьКФайлу, Файлы.ПодписанЭП, - Файлы.Зашифрован + Файлы.Зашифрован, + ВЫБОР + КОГДА Файлы.ПодписанЭП + И Файлы.Зашифрован + ТОГДА 2 + КОГДА Файлы.Зашифрован + ТОГДА 1 + КОГДА Файлы.ПодписанЭП + ТОГДА 0 + ИНАЧЕ -1 + КОНЕЦ КАК НомерКартинкиПодписанЗашифрован ИЗ Справочник.Файлы КАК Файлы Catalog.Файлы diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..fc1fe65e1 --- /dev/null +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,32 @@ + +

      Список предназначен для управления файлами программы.

      +

      В списке выводятся сведения:

      +
      •  - подписан ЭП; +
      •  - зашифрован; +
      • Наименование - полное наименование файла. Значок рядом с наименованием указывает тип файла; +
      • Владелец - папка списка файлов или объект программы, к которому присоединен файл; +
      • Автор - пользователь, который добавил файл; +
      • Создан - время и дата добавления файла в базу; +
      • Расширение - расширение файла; +
      • Размер (Кб) - размер файла; +
      • Редактирует - пользователь, который занял файл для редактирования; +
      • Описание - подробное описание файла; +
      • Версия - номер версии файла; +
      • Отредактировал - пользователь, который добавил версию файла. +
      • Том - том на диске, в котором хранятся файлы; +
      • Путь к файлу на томе; +
      • Дата - дата добавления версии файла в базу.

      Доступные действия:

      +
      • +
        Просмотреть - Открыть файл внешним приложением для просмотра;
        +
      • +
        Отменить редактирование - снять с файла пометку занятости для редактирования;
        +
      • +
         Изменить - открыть карточку файла;
        +
      • +
        Сохранить как - сохранить файл в указанный каталог на жестком или сетевом диске.
        +
      • +
        Удалить (Shift + Del) - удалить файл окончательно.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Module.bsl index 0102e9aec..01789cf85 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСписка/Module.bsl @@ -14,9 +14,13 @@ РаботаСФайламиСлужебныйВызовСервера.ЗаполнитьУсловноеОформлениеСпискаФайлов(Список); Если РаботаСФайламиСлужебныйВызовСервера.ПолучитьИспользоватьЭлектронныеПодписиИШифрование() = Ложь Тогда - Элементы.ПодписанЭП.Видимость = Ложь; - Элементы.Зашифрован.Видимость = Ложь; - КонецЕсли; + Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь; + КонецЕсли; + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ФормаИзменить.Видимость = Ложь; + Элементы.ФормаИзменить82.Видимость = Истина; + КонецЕсли; КонецПроцедуры @@ -155,17 +159,19 @@ Если ТипЗнч(Элементы.Список.ТекущаяСтрока) <> Тип("СтрокаГруппировкиДинамическогоСписка") Тогда - УстановитьДоступностьКоманд(Элементы.Список.ТекущиеДанные.РедактируетТекущийПользователь, - Элементы.Список.ТекущиеДанные.Редактирует); - КонецЕсли; - - КонецЕсли; + УстановитьДоступностьКоманд(Элементы.Список.ТекущиеДанные.РедактируетТекущийПользователь, + Элементы.Список.ТекущиеДанные.Редактирует); + КонецЕсли; + КонецЕсли; + КонецПроцедуры &НаКлиенте Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует) - Элементы.Освободить.Доступность = Не Редактирует.Пустая(); - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОсвободить.Доступность = Не Редактирует.Пустая(); + + Элементы.ФормаОсвободить.Доступность = Не Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Не Редактирует.Пустая(); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Form.form index a4d4e64d9..ea6f5614c 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Form.form @@ -4,738 +4,22 @@ ru Файлы - - Список - 10 + + ГруппаПользовательскихНастроек + 227 true true true - - Список - - false - None - - ПодписанЭП - 91 - - <key>ru</key> - <value>Подписан ЭП</value> - - true - true - - true - - - Список.ПодписанЭП - - None - - ru - Подписан ЭП - - - ПодписанЭПРасширеннаяПодсказка - 161 - Label - true - true - - Left - - - - ПодписанЭПКонтекстноеМеню - 92 - true - - PictureField - Enter - true - - CommonPicture.ПодписанЭП - - Left - true - - true - true - true - true - - CommonPicture.ПодписанЭП - - - - 1 - - - - - Зашифрован - 93 - - <key>ru</key> - <value>Зашифрован</value> - - true - true - - true - - - Список.Зашифрован - - None - - ru - Зашифрован - - - ЗашифрованExtendedTooltip - 162 - Label - true - true - - Left - - - - ЗашифрованКонтекстноеМеню - 94 - true - - PictureField - Enter - true - - CommonPicture.Зашифрован - - Left - true - - true - true - true - true - - CommonPicture.Зашифрован - - - - 1 - - - - - КартинкаИНаименование - 45 - - Картинка - 25 - true - true - - true - - - Список.ИндексКартинки - - - КартинкаExtendedTooltip - 164 - Label - true - true - - Left - - - - КартинкаКонтекстноеМеню - 26 - true - - PictureField - Enter - Left - true - Left - - 2 - true - 1 - true - true - true - - CommonPicture.КоллекцияПиктограммФайлов - - - 1 - - - - - Наименование - 17 - - <key>ru</key> - <value>Наименование</value> - - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 165 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 18 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - - КартинкаИНаименованиеExtendedTooltip - 163 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - Описание - 27 - true - true - - true - - - Список.Описание - - - ОписаниеExtendedTooltip - 166 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 28 - true - - InputField - Enter - true - Left - true - - true - 1 - true - true - true - true - Normal - - - - ДатаСоздания - 23 - - <key>ru</key> - <value>Создан</value> - - true - true - - true - - - Список.ДатаСоздания - - - ДатаСозданияExtendedTooltip - 167 - Label - true - true - - Left - - - - ДатаСозданияКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Автор - 21 - true - true - - true - - - Список.Автор - - - АвторExtendedTooltip - 168 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 22 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Редактирует - 29 - true - true - - - Список.Редактирует - - - РедактируетExtendedTooltip - 169 - Label - true - true - - Left - - - - РедактируетКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ТекущаяВерсияРазмер - 39 - - <key>ru</key> - <value>Размер (Кб)</value> - - true - true - - - Список.ТекущаяВерсияРазмер - - - ru - Размер данных версии файла. - - - ТекущаяВерсияРазмерExtendedTooltip - 170 - Label - true - true - - Left - - - - ТекущаяВерсияРазмерКонтекстноеМеню - 40 - true - - LabelField - Enter - true - Left - true - - true - true - - ru - ЧЦ=10; ЧН=0 - - - - - ТекущаяВерсияАвтор - 35 - - <key>ru</key> - <value>Отредактировал</value> - - true - true - - - Список.ТекущаяВерсияАвтор - - - ТекущаяВерсияАвторExtendedTooltip - 171 - Label - true - true - - Left - - - - ТекущаяВерсияАвторКонтекстноеМеню - 36 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ТекущаяВерсияДатаСоздания - 37 - - <key>ru</key> - <value>Отредактирован</value> - - true - true - - - Список.ТекущаяВерсияДатаСоздания - - - ТекущаяВерсияДатаСозданияExtendedTooltip - 172 - Label - true - true - - Left - - - - ТекущаяВерсияДатаСозданияКонтекстноеМеню - 38 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ХранитьВерсии - 63 - true - true - - - Список.ХранитьВерсии - - - ХранитьВерсииExtendedTooltip - 173 - Label - true - true - - Left - - - - ХранитьВерсииКонтекстноеМеню - 64 - true - - CheckBoxField - Enter - true - Left - true - - - - РедактируетТекущийПользователь - 65 - true - true - - - Список.РедактируетТекущийПользователь - - - РедактируетТекущийПользовательExtendedTooltip - 174 - Label - true - true - - Left - - - - РедактируетТекущийПользовательКонтекстноеМеню - 66 - true - - CheckBoxField - Enter - true - Left - true - - - - Ссылка - 89 - true - true - - - Список.Ref - - - СсылкаExtendedTooltip - 175 - Label - true - true - - Left - - - - СсылкаКонтекстноеМеню - 90 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 12 - Left - true - - - DragCheck - СписокПроверкаПеретаскивания - - - Selection - СписокВыбор - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - Drag - СписокПеретаскивание - - - СписокСтрокаПоиска - 182 - - СписокСтрокаПоискаРасширеннаяПодсказка - 184 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 183 - true - - Список - - true - - - - СписокСостояниеПросмотра - 185 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 187 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 186 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 188 - - СписокУправлениеПоискомРасширеннаяПодсказка - 190 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 189 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 160 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 228 Label true true @@ -743,546 +27,25 @@ Left - - СписокКонтекстноеМеню - 11 - - КонтекстноеМенюСписокОткрытьФайл - 78 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьФайлExtendedTooltip - 142 - Label - true - true - - Left - - - Form.Command.ОткрытьФайл - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокРедактировать - 79 - true - true - - true - - false - - КонтекстноеМенюСписокРедактироватьExtendedTooltip - 143 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗакончитьРедактирование - 80 - true - true - - true - - false - - КонтекстноеМенюСписокЗакончитьРедактированиеExtendedTooltip - 144 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокЗанять - 81 - true - true - - true - - false - - КонтекстноеМенюСписокЗанятьExtendedTooltip - 145 - Label - true - true - - Left - - - Form.Command.Занять - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьИзменения - 82 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьИзмененияExtendedTooltip - 146 - Label - true - true - - Left - - - Form.Command.СохранитьИзменения - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОткрытьКаталогФайла - 83 - true - true - - true - - false - - КонтекстноеМенюСписокОткрытьКаталогФайлаExtendedTooltip - 147 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокСохранитьКак - 84 - true - true - - true - - false - - КонтекстноеМенюСписокСохранитьКакExtendedTooltip - 148 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюСписокОсвободить - 85 - - <key>ru</key> - <value>Отменить редактирование</value> - - true - true - - true - - false - - КонтекстноеМенюСписокОсвободитьExtendedTooltip - 149 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаКомандИмпорта - 86 - - КонтекстноеМенюСписокИмпортФайлов - 87 - true - true - - true - - false - - КонтекстноеМенюСписокИмпортФайловExtendedTooltip - 151 - Label - true - true - - Left - - - Form.Command.ИмпортФайлов - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа команд импорта</value> - - - ru - Группа команд импорта - - - ГруппаКомандИмпортаExtendedTooltip - 150 - Label - true - true - - Left - - - - - - ФормаЭПИШифрованиеКонтекстное - 104 - - ФормаГруппаЭПКонтекст - 105 - - ФормаПодписатьКонтекст - 106 - true - true - - true - - - ФормаПодписатьКонтекстExtendedTooltip - 154 - Label - true - true - - Left - - - Form.Command.Подписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьПодписьИзФайлаКонтекст - 108 - true - true - - true - - - ФормаДобавитьПодписьИзФайлаКонтекстРасширеннаяПодсказка - 155 - Label - true - true - - Left - - - Form.Command.ДобавитьПодписьИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСПодписьюКонтекст - 109 - true - true - - true - - - ФормаСохранитьВместеСПодписьюКонтекстРасширеннаяПодсказка - 156 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСПодписью - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>ЭП</value> - - - ru - Форма группа ЭП - - - ФормаГруппаЭПКонтекстРасширеннаяПодсказка - 153 - Label - true - true - - Left - - - - - - ФормаГруппаШифрованиеКонтекст - 110 - - ФормаЗашифроватьКонтекст - 111 - true - true - - true - - - ФормаЗашифроватьКонтекстExtendedTooltip - 158 - Label - true - true - - Left - - - Form.Command.Зашифровать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаРасшифроватьКонтекст - 112 - true - true - - true - - - ФормаРасшифроватьКонтекстExtendedTooltip - 159 - Label - true - true - - Left - - - Form.Command.Расшифровать - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Шифрование</value> - - - ru - Форма группа шифрование - - - ФормаГруппаШифрованиеКонтекстExtendedTooltip - 157 - Label - true - true - - Left - - - - - true - true - - true - - - <key>ru</key> - <value>ЭП и шифрование</value> - - - ru - Форма ЭПИШифрование - - - ФормаЭПИШифрованиеКонтекстноеРасширеннаяПодсказка - 152 - Label - true - true - - Left - - - Popup - - Auto - Normal - - - true - - HierarchicalList - true - true - true - true - true - MultiRow -
      true
      - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - true - true - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
      - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 229 - ГруппаСоздать + ФормаПодменюСоздать 176 - СоздатьФайл + ФормаСоздатьИзФайла 47 true true @@ -1291,7 +54,7 @@ false - СоздатьФайлExtendedTooltip + ФормаСоздатьИзФайлаРасширеннаяПодсказка 114 Label true @@ -1309,7 +72,7 @@ Auto - СоздатьФайлИзШаблона + ФормаСоздатьИзШаблона 178 true true @@ -1317,7 +80,7 @@ true - СоздатьФайлИзШаблонаРасширеннаяПодсказка + ФормаСоздатьИзШаблонаРасширеннаяПодсказка 179 Label true @@ -1335,7 +98,7 @@ Auto - СоздатьФайлСоСканера + ФормаСоздатьСоСканера 180 true true @@ -1343,7 +106,7 @@ true - СоздатьФайлСоСканераРасширеннаяПодсказка + ФормаСоздатьСоСканераРасширеннаяПодсказка 181 Label true @@ -1369,8 +132,12 @@ ru Создать + + ru + Создать файл + - ГруппаСоздатьРасширеннаяПодсказка + ФормаПодменюСоздатьРасширеннаяПодсказка 177 Label true @@ -1384,15 +151,45 @@ StdPicture.CreateListItem - Auto Normal + + ФормаИзменить + 49 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + false + + ФормаИзменитьРасширеннаяПодсказка + 133 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + - ГруппаКомандФайлов - 77 + ФормаГруппаКомандОсновные + 187 - ОткрытьФайл + ФормаОткрыть 73 true true @@ -1401,7 +198,7 @@ false - ОткрытьФайлExtendedTooltip + ФормаОткрытьРасширеннаяПодсказка 115 Label true @@ -1412,77 +209,20 @@ Form.Command.ОткрытьФайл Normal - Auto true true UserCmds Auto - Редактировать - 74 - true - true - - true - - false - - РедактироватьExtendedTooltip - 116 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - Auto - true - true - UserCmds - Auto - - - ЗакончитьРедактирование - 67 - true - true - - true - - false - - ЗакончитьРедактированиеExtendedTooltip - 117 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - Занять + ФормаЗанять 68 true true - - true - + false - ЗанятьExtendedTooltip + ФормаЗанятьРасширеннаяПодсказка 118 Label true @@ -1501,8 +241,8 @@ InAdditionalSubmenu - ОткрытьКаталогФайла - 72 + ФормаРедактировать + 74 true true @@ -1510,8 +250,8 @@ false - ОткрытьКаталогФайлаExtendedTooltip - 119 + ФормаРедактироватьРасширеннаяПодсказка + 116 Label true true @@ -1519,58 +259,22 @@ Left - Form.Command.ОткрытьКаталогФайла + Form.Command.Редактировать Normal - Auto true true UserCmds Auto - InAdditionalSubmenu - Освободить - 71 - - <key>ru</key> - <value>Отменить редактирование</value> - - true - true - - true - - false - - ОсвободитьExtendedTooltip - 120 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СохранитьИзменения + ФормаСохранитьИзменения 75 true true - - true - + false - СохранитьИзмененияExtendedTooltip + ФормаСохранитьИзмененияРасширеннаяПодсказка 121 Label true @@ -1589,8 +293,8 @@ InAdditionalSubmenu - СохранитьКак - 76 + ФормаЗакончитьРедактирование + 67 true true @@ -1598,8 +302,8 @@ false - СохранитьКакExtendedTooltip - 122 + ФормаЗакончитьРедактированиеРасширеннаяПодсказка + 117 Label true true @@ -1607,42 +311,13 @@ Left - Form.Command.СохранитьКак + Form.Command.ЗакончитьРедактирование Normal - Auto + Picture true true UserCmds Auto - InAdditionalSubmenu - - - ИмпортФайлов - 88 - true - true - - true - - false - - ИмпортФайловExtendedTooltip - 123 - Label - true - true - - Left - - - Form.Command.ИмпортФайлов - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu true true @@ -1651,15 +326,11 @@ <key>ru</key> - <value>Группа команд файлов</value> + <value>Форма группа команд основные</value> - - ru - Группа команд файлов - - ГруппаКомандФайловExtendedTooltip - 113 + ФормаГруппаКомандОсновныеРасширеннаяПодсказка + 188 Label true true @@ -1670,105 +341,46 @@ - ФормаЭПИШифрование + ФормаГлобальныеКоманды + 185 + true + true + + true + + + <key>ru</key> + <value>Форма глобальные команды</value> + + None + + ФормаГлобальныеКомандыРасширеннаяПодсказка + 186 + Label + true + true + + Left + + + + FormCommandPanelGlobalCommands + + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрование 103 - - ФормаГруппаЭП - 95 - - ФормаПодписать - 101 - true - true - - true - - - ФормаПодписатьExtendedTooltip - 126 - Label - true - true - - Left - - - Form.Command.Подписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьПодписьИзФайла - 99 - true - true - - true - - - ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка - 127 - Label - true - true - - Left - - - Form.Command.ДобавитьПодписьИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСПодписью - 102 - true - true - - true - - - ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка - 128 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСПодписью - Normal - Auto - true - true - UserCmds - Auto - + + ФормаПодписать + 101 true true true - - <key>ru</key> - <value>ЭП</value> - - - ru - Форма группа ЭП - - ФормаГруппаЭПРасширеннаяПодсказка - 125 + ФормаПодписатьExtendedTooltip + 126 Label true true @@ -1776,10 +388,68 @@ Left - + Form.Command.Подписать + Normal + Auto + true + true + UserCmds + Auto + + + ФормаДобавитьПодписьИзФайла + 99 + true + true + + true + + + ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + Form.Command.ДобавитьПодписьИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьВместеСПодписью + 102 + true + true + + true + + + ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка + 128 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСПодписью + Normal + Auto + true + true + UserCmds + Auto - ФормаГруппаШифрование + ФормаГруппаКомандШифрование 96 ФормаЗашифровать @@ -1842,12 +512,8 @@ ru Шифрование - - ru - Форма группа шифрование - - ФормаГруппаШифрованиеExtendedTooltip + ФормаГруппаКомандШифрованиеРасширеннаяПодсказка 129 Label true @@ -1865,14 +531,14 @@ <key>ru</key> - <value>ЭП и шифрование</value> + <value>Электронная подпись и шифрование</value> ru - Форма ЭПИШифрование + Электронная подпись и шифрование - ФормаЭПИШифрованиеРасширеннаяПодсказка + ФормаГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка 124 Label true @@ -1882,261 +548,487 @@ Popup + + + CommonPicture.ПодписанЗашифрованЗаголовок + + Picture + Normal + + + + ФормаГруппаКомандДополнительные + 77 + + ФормаИзменить82 + 191 + + <key>ru</key> + <value>Открыть карточку</value> + + true + + true + + + ФормаИзменить82РасширеннаяПодсказка + 192 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 50 + true + true + + true + + false + + ФормаСкопироватьРасширеннаяПодсказка + 132 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУстановитьПометкуУдаления + 51 + true + true + + true + + false + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 134 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьКак + 76 + true + true + + true + + false + + ФормаСохранитьКакРасширеннаяПодсказка + 122 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОсвободить + 71 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + ФормаОсвободитьРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОткрытьКаталогФайла + 72 + true + true + + true + + false + + ФормаОткрытьКаталогФайлаРасширеннаяПодсказка + 119 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаИмпортФайлов + 88 + true + true + + true + + false + + ФормаИмпортФайловРасширеннаяПодсказка + 123 + Label + true + true + + Left + + + Form.Command.ИмпортФайлов + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд дополнительные</value> + + + ru + Форма группа команд дополнительные + + + ФормаГруппаКомандДополнительныеРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + + + ФормаГруппаДополнительно + 193 + + ФормаОбновитьСписок + 195 + true + true + + true + + + ФормаОбновитьСписокExtendedTooltip + 196 + Label + true + true + + Left + + + Form.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаГруппаНастройкаСписка + 199 + + ФормаНастройкаСписка + 201 + true + true + + true + + + ФормаНастройкаСпискаРасширеннаяПодсказка + 202 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗагрузитьНастройкиДинамическогоСписка + 203 + true + true + + true + + + ФормаЗагрузитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 204 + Label + true + true + + Left + + + Form.StandardCommand.LoadDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьНастройкиДинамическогоСписка + 205 + true + true + + true + + + ФормаСохранитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 206 + Label + true + true + + Left + + + Form.StandardCommand.SaveDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСтандартныеНастройкиДинамическогоСписка + 207 + true + true + + true + + + ФормаСтандартныеНастройкиДинамическогоСпискаРасширеннаяПодсказка + 208 + Label + true + true + + Left + + + Form.StandardCommand.DynamicListStandardSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа настройка списка</value> + + + ru + Форма группа настройка списка + + + ФормаГруппаНастройкаСпискаРасширеннаяПодсказка + 200 + Label + true + true + + Left + + + + + + ФормаВывестиСписок + 209 + true + true + + true + + + ФормаВывестиСписокРасширеннаяПодсказка + 210 + Label + true + true + + Left + + + Form.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменитьФорму + 211 + true + true + + true + + + ФормаИзменитьФормуРасширеннаяПодсказка + 212 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Форма группа дополнительно + + None + + ФормаГруппаДополнительноРасширеннаяПодсказка + 194 + Label + true + true + + Left + + + Popup Auto Normal - Скопировать - 50 - true - true - - true - - false - - СкопироватьExtendedTooltip - 132 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - - Изменить - 49 - true - true - - true - - false - - ИзменитьExtendedTooltip - 133 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ПометитьНаУдаление_СнятьПометку - 51 - true - true - - true - - false - - ПометитьНаУдаление_СнятьПометкуExtendedTooltip - 134 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - - Найти - 52 - true - true - - true - - false - - НайтиExtendedTooltip - 135 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтменитьПоиск - 53 - true - true - - true - - false - - ОтменитьПоискExtendedTooltip - 136 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - НастройкаОтображенияДанных - 54 - true - true - - true - - false - - НастройкаОтображенияДанныхExtendedTooltip - 137 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ВывестиСписок - 55 - true - true - - true - - false - - ВывестиСписокExtendedTooltip - 138 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - Обновить - 56 - true - true - - true - - false - - ОбновитьExtendedTooltip - 139 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ИзменитьФорму - 60 - true - true - - true - - false - - ИзменитьФормуExtendedTooltip - 140 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - - - Справка + ФормаСправка 57 true true @@ -2145,7 +1037,7 @@ false - СправкаExtendedTooltip + ФормаСправкаРасширеннаяПодсказка 141 Label true @@ -2162,6 +1054,1435 @@ UserCmds Auto + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 230 + Label + true + true + + Left + + + CommandBar + + Left + + + + Список + 10 + true + true + + true + + + Список + + false + None + + СписокНомерКартинкиПодписанЗашифрован + 91 + true + true + + true + + + Список.НомерКартинкиПодписанЗашифрован + + None + + ru + Наличие электронной подписи или шифрования + + + СписокНомерКартинкиПодписанЗашифрованРасширеннаяПодсказка + 161 + Label + true + true + + Left + + + + СписокНомерКартинкиПодписанЗашифрованКонтекстноеМеню + 92 + true + + PictureField + Enter + true + + CommonPicture.ПодписанЗашифрованЗаголовок + + Left + true + + 2 + true + true + true + true + + CommonPicture.ПодписанЗашифрованСостояния + + + + 1 + + + + + СпискоГруппаКартинкаИНаименование + 45 + + СписокИндексКартинки + 25 + true + true + + true + + + Список.ИндексКартинки + + + СписокИндексКартинкиРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + + СписокИндексКартинкиКонтекстноеМеню + 26 + true + + PictureField + Enter + Left + true + Left + + 2 + true + 1 + true + true + true + + CommonPicture.КоллекцияПиктограммФайлов + + + 1 + + + + + СписокНаименование + 17 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + Список.Description + + + СписокНаименованиеРасширеннаяПодсказка + 165 + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 18 + true + + InputField + Enter + true + true + Left + true + + 20 + true + true + true + true + true + Normal + + + + СписокОписание + 27 + true + true + + true + + + Список.Описание + + None + + СписокОписаниеРасширеннаяПодсказка + 166 + Label + true + true + + Left + + + + СписокОписаниеКонтекстноеМеню + 28 + true + + InputField + Enter + true + true + Left + true + + 15 + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Списко группа картинка и наименование</value> + + + СпискоГруппаКартинкаИНаименованиеРасширеннаяПодсказка + 163 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СписокАвтор + 21 + true + true + + true + + + Список.Автор + + + СписокАвторРасширеннаяПодсказка + 168 + Label + true + true + + Left + + + + СписокАвторКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияДатаМодификацииФайла + 182 + + <key>ru</key> + <value>Дата изменения</value> + + true + true + + true + + + Список.ТекущаяВерсияДатаМодификацииФайла + + + ru + Дата изменения данных файла (местное время) + + + СписокТекущаяВерсияДатаМодификацииФайлаРасширеннаяПодсказка + 184 + Label + true + true + + Left + + + + СписокТекущаяВерсияДатаМодификацииФайлаКонтекстноеМеню + 183 + true + + LabelField + Enter + true + Left + true + + 15 + true + true + false + + + + СписокТекущаяВерсияРазмер + 39 + + <key>ru</key> + <value>Размер (Кб)</value> + + true + true + + true + + + Список.ТекущаяВерсияРазмер + + + ru + Размер данных версии файла. + + + СписокТекущаяВерсияРазмерРасширеннаяПодсказка + 170 + Label + true + true + + Left + + + + СписокТекущаяВерсияРазмерКонтекстноеМеню + 40 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + false + + ru + ЧЦ=10; ЧН=0 + + + + + СписокДатаСоздания + 23 + + <key>ru</key> + <value>Дата создания</value> + + true + true + + + Список.ДатаСоздания + + + СписокДатаСозданияРасширеннаяПодсказка + 167 + Label + true + true + + Left + + + + СписокДатаСозданияКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + + 15 + true + true + false + true + true + true + Normal + + + + СписокРедактирует + 29 + true + true + + + Список.Редактирует + + + СписокРедактируетРасширеннаяПодсказка + 169 + Label + true + true + + Left + + + + СписокРедактируетКонтекстноеМеню + 30 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияАвтор + 35 + + <key>ru</key> + <value>Отредактировал</value> + + true + true + + + Список.ТекущаяВерсияАвтор + + + СписокТекущаяВерсияАвторРасширеннаяПодсказка + 171 + Label + true + true + + Left + + + + СписокТекущаяВерсияАвторКонтекстноеМеню + 36 + true + + InputField + Enter + true + Left + true + + 17 + true + true + true + true + true + Normal + + + + СписокТекущаяВерсияДатаСоздания + 37 + + <key>ru</key> + <value>Дата редактирования</value> + + true + true + + + Список.ТекущаяВерсияДатаСоздания + + + СписокТекущаяВерсияДатаСозданияРасширеннаяПодсказка + 172 + Label + true + true + + Left + + + + СписокТекущаяВерсияДатаСозданияКонтекстноеМеню + 38 + true + + InputField + Enter + true + Left + true + + 15 + true + true + false + true + true + true + Normal + + + + СписокХранитьВерсии + 63 + true + true + + + Список.ХранитьВерсии + + + СписокХранитьВерсииРасширеннаяПодсказка + 173 + Label + true + true + + Left + + + + СписокХранитьВерсииКонтекстноеМеню + 64 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокРедактируетТекущийПользователь + 65 + true + true + + + Список.РедактируетТекущийПользователь + + None + + ru + Редактирует текущий пользователь + + + СписокРедактируетТекущийПользовательРасширеннаяПодсказка + 174 + Label + true + true + + Left + + + + СписокРедактируетТекущийПользовательКонтекстноеМеню + 66 + true + + CheckBoxField + Enter + true + + CommonPicture.РедактироватьФайл + + Left + true + + + + СписокСсылка + 89 + true + true + + + Список.Ref + + + СписокСсылкаРасширеннаяПодсказка + 175 + Label + true + true + + Left + + + + СписокСсылкаКонтекстноеМеню + 90 + true + + LabelField + Enter + true + Left + true + + 1 + true + true + + + None + + СписокКоманднаяПанель + 12 + Left + true + + + DragCheck + СписокПроверкаПеретаскивания + + + Selection + СписокВыбор + + + BeforeAddRow + СписокПередНачаломДобавления + + + OnActivateRow + СписокПриАктивизацииСтроки + + + Drag + СписокПеретаскивание + + + СписокСтрокаПоиска + 231 + + СписокСтрокаПоискаРасширеннаяПодсказка + 233 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 232 + true + + Список + + true + + + + СписокСостояниеПросмотра + 234 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 236 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 235 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 237 + + СписокУправлениеПоискомРасширеннаяПодсказка + 239 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 238 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 160 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 11 + + СписокКонтекстноеМенюСоздать + 215 + true + true + + true + + + СписокКонтекстноеМенюСоздатьРасширеннаяПодсказка + 216 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменить + 217 + + <key>ru</key> + <value>Открыть карточку</value> + + true + true + + true + + + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 218 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандОсновные + 213 + + СписокКонтекстноеМенюОткрыть + 78 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьРасширеннаяПодсказка + 142 + Label + true + true + + Left + + + Form.Command.ОткрытьФайл + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗанять + 81 + true + true + + false + + СписокКонтекстноеМенюЗанятьРасширеннаяПодсказка + 145 + Label + true + true + + Left + + + Form.Command.Занять + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюРедактировать + 79 + true + true + + true + + false + + СписокКонтекстноеМенюРедактироватьРасширеннаяПодсказка + 143 + Label + true + true + + Left + + + Form.Command.Редактировать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьИзменения + 82 + true + true + + false + + СписокКонтекстноеМенюСохранитьИзмененияРасширеннаяПодсказка + 146 + Label + true + true + + Left + + + Form.Command.СохранитьИзменения + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюЗакончитьРедактирование + 80 + true + true + + true + + false + + СписокКонтекстноеМенюЗакончитьРедактированиеРасширеннаяПодсказка + 144 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд основные</value> + + + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 214 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрование + 104 + + СписокКонтекстноеМенюПодписать + 106 + true + true + + true + + + СписокКонтекстноеМенюПодписатьРасширеннаяПодсказка + 154 + Label + true + true + + Left + + + Form.Command.Подписать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюДобавитьПодписьИзФайла + 108 + true + true + + true + + + СписокКонтекстноеМенюДобавитьПодписьИзФайлаРасширеннаяПодсказка + 155 + Label + true + true + + Left + + + Form.Command.ДобавитьПодписьИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьВместеСПодписью + 109 + true + true + + true + + + СписокКонтекстноеМенюСохранитьВместеСПодписьюРасширеннаяПодсказка + 156 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСПодписью + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандШифрование + 110 + + СписокКонтекстноеМенюЗашифровать + 111 + true + true + + true + + + СписокКонтекстноеМенюЗашифроватьРасширеннаяПодсказка + 158 + Label + true + true + + Left + + + Form.Command.Зашифровать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюРасшифровать + 112 + true + true + + true + + + СписокКонтекстноеМенюРасшифроватьРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + Form.Command.Расшифровать + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Шифрование</value> + + + СписокКонтекстноеМенюГруппаКомандШифрованиеРасширеннаяПодсказка + 157 + Label + true + true + + Left + + + + + true + true + + true + + + <key>ru</key> + <value>Электронная подпись и шифрование</value> + + + ru + Электронная подпись и шифрование + + + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка + 152 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + + СписокКонтекстноеМенюГруппаКомандДополнительные + 219 + + СписокКонтекстноеМенюСкопировать + 221 + true + true + + true + + + СписокКонтекстноеМенюСкопироватьРасширеннаяПодсказка + 222 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюУстановитьПометкуУдаления + 223 + true + true + + true + + + СписокКонтекстноеМенюУстановитьПометкуУдаленияРасширеннаяПодсказка + 224 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьКак + 84 + true + true + + true + + false + + СписокКонтекстноеМенюСохранитьКакРасширеннаяПодсказка + 148 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОсвободить + 85 + + <key>ru</key> + <value>Отменить редактирование</value> + + true + true + + true + + false + + СписокКонтекстноеМенюОсвободитьРасширеннаяПодсказка + 149 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьКаталогФайла + 83 + true + true + + true + + false + + СписокКонтекстноеМенюОткрытьКаталогФайлаРасширеннаяПодсказка + 147 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИмпортФайлов + 87 + true + true + + true + + false + + СписокКонтекстноеМенюИмпортФайловРасширеннаяПодсказка + 151 + Label + true + true + + Left + + + Form.Command.ИмпортФайлов + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд дополнительные</value> + + + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка + 220 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюГруппаСтандартныхКоманд + 225 + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа стандартных команд</value> + + + СписокКонтекстноеМенюГруппаСтандартныхКомандРасширеннаяПодсказка + 226 + Label + true + true + + Left + + + + Item.Список + + + + HierarchicalList + true + true + true + 10 + true + true + MultiRow +
      true
      + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + true + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + ГруппаПользовательскихНастроек + +
      + + ФормаКоманднаяПанель + -1 Left @@ -2240,6 +2561,7 @@ Файлы.Описание, Файлы.Ссылка, Файлы.ТекущаяВерсияАвтор, + Файлы.ТекущаяВерсияДатаМодификацииФайла, Файлы.ПометкаУдаления, Файлы.ХранитьВерсии, ВЫБОР @@ -2248,7 +2570,17 @@ ИНАЧЕ ЛОЖЬ КОНЕЦ КАК РедактируетТекущийПользователь, Файлы.Зашифрован, - Файлы.ПодписанЭП + Файлы.ПодписанЭП, + ВЫБОР + КОГДА Файлы.ПодписанЭП + И Файлы.Зашифрован + ТОГДА 2 + КОГДА Файлы.Зашифрован + ТОГДА 1 + КОГДА Файлы.ПодписанЭП + ТОГДА 0 + ИНАЧЕ -1 + КОНЕЦ КАК НомерКартинкиПодписанЗашифрован ИЗ Справочник.Файлы КАК Файлы ГДЕ diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Help/ru.html index a384cdf46..358a912ec 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Help/ru.html @@ -1,18 +1,21 @@ - -

      Работа  с файлами

      +

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

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

      +

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

      В списке выводится:

      •  - подписан ЭП.
      •  - зашифрован.
      • Наименование - полное наименование файла. Значок рядом с наименованием указывает тип файла.
      • Описание - подробное описание файла. -
      • Данные от - дата изменения данных версии файла (местное время); +
      • Дата изменения - дата изменения данных версии файла (местное время);
      • Автор - пользователь, который добавил версию файла;
      • -
        Размер (байт) - размер данных версии файла;

      С помощью команды Все действия - Изменить форму можно добавить сведения:

      +
      Размер (КБ) - размер данных версии файла;

      С помощью команды Все действия - Изменить форму можно добавить сведения:

      • Расширение - формат файла, рядом значок, который также показывает формат;
        -
      • Редактирует - пользователь, который занял файл для редактирования и т.д. 

      См. также:

      +
    9. Редактирует - пользователь, который занял файл для редактирования и т.д. 
    10. Загрузка файлов

      +
      • С помощью команды Все действия - Загрузить файлы можно разместить в списке файлы с жесткого или сетевого диска. +
        • В открывшемся Проводнике Windows укажите путь к файлу, нажмите Открыть. +
        • Заполните необходимые для загрузки сведения.
      • Также можно перетащить один или несколько файлов из Проводника Windows с помощью мыши. Если был добавлен один файл, автоматически создается и открывается карточка файла. При добавлении нескольких файлов карточки файлов автоматически создаются, но не открываются.

      См. также:

      \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Module.bsl index 782814818..47047c365 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаСпискаПрисоединенныхФайлов/Module.bsl @@ -21,20 +21,26 @@ РаботаСФайламиСлужебныйВызовСервера.ЗаполнитьУсловноеОформлениеСпискаФайлов(Список); Если РаботаСФайламиСлужебныйВызовСервера.ПолучитьИспользоватьЭлектронныеПодписиИШифрование() = Ложь Тогда - Элементы.ПодписанЭП.Видимость = Ложь; - Элементы.Зашифрован.Видимость = Ложь; + Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь; КонецЕсли; ПоказыватьКолонкуРазмер = РаботаСФайламиСлужебныйВызовСервера.ПолучитьПоказыватьКолонкуРазмер(); Если ПоказыватьКолонкуРазмер = Ложь Тогда - Элементы.ТекущаяВерсияРазмер.Видимость = Ложь; + Элементы.СписокТекущаяВерсияРазмер.Видимость = Ложь; + КонецЕсли; + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ФормаИзменить.Видимость = Ложь; + Элементы.ФормаИзменить82.Видимость = Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) - Элементы.СоздатьФайлСоСканера.Видимость = РаботаСФайламиСлужебныйКлиент.ДоступнаКомандаСканировать(); + + Элементы.ФормаСоздатьСоСканера.Видимость = РаботаСФайламиСлужебныйКлиент.ДоступнаКомандаСканировать(); + КонецПроцедуры &НаКлиенте @@ -651,32 +657,32 @@ &НаКлиенте Процедура УстановитьДоступностьКоманд(РедактируетТекущийПользователь, Редактирует, ПодписанЭП, Зашифрован) - Элементы.ЗакончитьРедактирование.Доступность = РедактируетТекущийПользователь; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокЗакончитьРедактирование.Доступность = РедактируетТекущийПользователь; + Элементы.ФормаЗакончитьРедактирование.Доступность = РедактируетТекущийПользователь; + Элементы.СписокКонтекстноеМенюЗакончитьРедактирование.Доступность = РедактируетТекущийПользователь; - Элементы.СохранитьИзменения.Доступность = РедактируетТекущийПользователь; - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокСохранитьИзменения.Доступность = РедактируетТекущийПользователь; + Элементы.ФормаСохранитьИзменения.Доступность = РедактируетТекущийПользователь; + Элементы.СписокКонтекстноеМенюСохранитьИзменения.Доступность = РедактируетТекущийПользователь; - Элементы.Освободить.Доступность = Не Редактирует.Пустая(); - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокОсвободить.Доступность = Не Редактирует.Пустая(); + Элементы.ФормаОсвободить.Доступность = Не Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюОсвободить.Доступность = Не Редактирует.Пустая(); - Элементы.Занять.Доступность = Редактирует.Пустая() И НЕ (ПодписанЭП ИЛИ Зашифрован); - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокЗанять.Доступность = Редактирует.Пустая() И НЕ (ПодписанЭП ИЛИ Зашифрован); + Элементы.ФормаЗанять.Доступность = Редактирует.Пустая() И НЕ (ПодписанЭП ИЛИ Зашифрован); + Элементы.СписокКонтекстноеМенюЗанять.Доступность = Редактирует.Пустая() И НЕ (ПодписанЭП ИЛИ Зашифрован); - Элементы.Редактировать.Доступность = НЕ (ПодписанЭП ИЛИ Зашифрован); - Элементы.СписокКонтекстноеМеню.ПодчиненныеЭлементы.КонтекстноеМенюСписокРедактировать.Доступность = НЕ (ПодписанЭП ИЛИ Зашифрован); + Элементы.ФормаРедактировать.Доступность = НЕ (ПодписанЭП ИЛИ Зашифрован); + Элементы.СписокКонтекстноеМенюРедактировать.Доступность = НЕ (ПодписанЭП ИЛИ Зашифрован); Элементы.ФормаПодписать.Доступность = Редактирует.Пустая(); - Элементы.ФормаПодписатьКонтекст.Доступность = Редактирует.Пустая(); + Элементы.СписокКонтекстноеМенюПодписать.Доступность = Редактирует.Пустая(); Элементы.ФормаСохранитьВместеСПодписью.Доступность = ПодписанЭП; - Элементы.ФормаСохранитьВместеСПодписьюКонтекст.Доступность = ПодписанЭП; + Элементы.СписокКонтекстноеМенюСохранитьВместеСПодписью.Доступность = ПодписанЭП; Элементы.ФормаЗашифровать.Доступность = Редактирует.Пустая() И НЕ Зашифрован; - Элементы.ФормаЗашифроватьКонтекст.Доступность = Редактирует.Пустая() И НЕ Зашифрован; + Элементы.СписокКонтекстноеМенюЗашифровать.Доступность = Редактирует.Пустая() И НЕ Зашифрован; Элементы.ФормаРасшифровать.Доступность = Зашифрован; - Элементы.ФормаРасшифроватьКонтекст.Доступность = Зашифрован; + Элементы.СписокКонтекстноеМенюРасшифровать.Доступность = Зашифрован; КонецПроцедуры diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаЭкспортаПапки/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаЭкспортаПапки/Help/ru.html index b31b34415..5cb39dd3e 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаЭкспортаПапки/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаЭкспортаПапки/Help/ru.html @@ -1,3 +1,10 @@ - -

      Сохранение папки

      -

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

      \ No newline at end of file + +

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

      +

      Вызывается из списка файлов по команде контекстного меню папки по правой кнопке мыши Сохранить папку.

      +

      Сохранение папки

      +
      • +
         Выберите на компьютере каталог,  в который будет копироваться папка.
        +
      • +
        Нажмите Сохранить папку.

      См. также:

      + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Form.form index ec6bef828..ed141fee4 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Form.form @@ -97,7 +97,7 @@ Left true - 3 + 2 true true true @@ -146,7 +146,7 @@ ГруппаКоманды 136 - ОткрытьФайл + ФормаОткрыть 137 true true @@ -155,7 +155,7 @@ false - ОткрытьФайлExtendedTooltip + ФормаОткрытьРасширеннаяПодсказка 246 Label true @@ -174,7 +174,7 @@ Auto - Редактировать + ФормаРедактировать 138 true true @@ -183,7 +183,7 @@ false - РедактироватьExtendedTooltip + ФормаРедактироватьРасширеннаяПодсказка 247 Label true @@ -202,7 +202,7 @@ Auto - ЗакончитьРедактирование + ФормаЗакончитьРедактирование 139 true true @@ -211,7 +211,7 @@ false - ЗакончитьРедактированиеExtendedTooltip + ФормаЗакончитьРедактированиеРасширеннаяПодсказка 248 Label true @@ -230,7 +230,7 @@ Auto - СохранитьИзменения + ФормаСохранитьИзменения 142 true true @@ -239,7 +239,7 @@ false - СохранитьИзмененияExtendedTooltip + ФормаСохранитьИзмененияРасширеннаяПодсказка 249 Label true @@ -258,35 +258,7 @@ Auto - ОткрытьКаталогФайла - 143 - true - true - - true - - false - - ОткрытьКаталогФайлаExtendedTooltip - 250 - Label - true - true - - Left - - - UsualButton - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - - - СохранитьКак + ФормаСохранитьКак 144 true true @@ -295,7 +267,7 @@ false - СохранитьКакExtendedTooltip + ФормаСохранитьКакРасширеннаяПодсказка 251 Label true @@ -690,6 +662,41 @@ Normal
      + + ХранитьВерсии + 134 + true + true + + true + + + Объект.ХранитьВерсии + + Right + + ХранитьВерсииExtendedTooltip + 274 + Label + true + true + + Left + + + + ХранитьВерсииКонтекстноеМеню + 135 + true + + CheckBoxField + Enter + true + Left + true + Left + + true true @@ -717,7 +724,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto @@ -875,7 +882,7 @@ 216 <key>ru</key> - <value>Данные от</value> + <value>Изменена</value> true true @@ -1192,41 +1199,6 @@ Auto
      - - ХранитьВерсии - 134 - true - true - - true - - - Объект.ХранитьВерсии - - Right - - ХранитьВерсииExtendedTooltip - 274 - Label - true - true - - Left - - - - ХранитьВерсииКонтекстноеМеню - 135 - true - - CheckBoxField - Enter - true - Left - true - Left - - Кодировка 228 @@ -1290,7 +1262,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto @@ -1327,7 +1299,7 @@ - ГруппаЭП + ГруппаЭлектронныеПодписи 189 ТаблицаПодписей @@ -1672,10 +1644,10 @@
      ТаблицаПодписейСтрокаПоиска - 309 + 317 ТаблицаПодписейСтрокаПоискаРасширеннаяПодсказка - 311 + 319 Label true true @@ -1685,7 +1657,7 @@ ТаблицаПодписейСтрокаПоискаКонтекстноеМеню - 310 + 318 true ТаблицаПодписей @@ -1695,10 +1667,10 @@ ТаблицаПодписейСостояниеПросмотра - 312 + 320 ТаблицаПодписейСостояниеПросмотраРасширеннаяПодсказка - 314 + 322 Label true true @@ -1708,7 +1680,7 @@ ТаблицаПодписейСостояниеПросмотраКонтекстноеМеню - 313 + 321 true ViewStatusAddition @@ -1719,10 +1691,10 @@ ТаблицаПодписейУправлениеПоиском - 315 + 323 ТаблицаПодписейУправлениеПоискомРасширеннаяПодсказка - 317 + 325 Label true true @@ -1732,7 +1704,7 @@ ТаблицаПодписейУправлениеПоискомКонтекстноеМеню - 316 + 324 true SearchControlAddition @@ -1790,14 +1762,14 @@ <key>ru</key> - <value>ЭП</value> + <value>Электронные подписи</value> ru - Группа ЭП + Электронные подписи - ГруппаЭПРасширеннаяПодсказка + ГруппаЭлектронныеПодписиРасширеннаяПодсказка 276 Label true @@ -1907,10 +1879,10 @@ СертификатыШифрованияСтрокаПоиска - 330 + 338 СертификатыШифрованияСтрокаПоискаРасширеннаяПодсказка - 332 + 340 Label true true @@ -1920,7 +1892,7 @@ СертификатыШифрованияСтрокаПоискаКонтекстноеМеню - 331 + 339 true СертификатыШифрования @@ -1930,10 +1902,10 @@ СертификатыШифрованияСостояниеПросмотра - 333 + 341 СертификатыШифрованияСостояниеПросмотраРасширеннаяПодсказка - 335 + 343 Label true true @@ -1943,7 +1915,7 @@ СертификатыШифрованияСостояниеПросмотраКонтекстноеМеню - 334 + 342 true ViewStatusAddition @@ -1954,10 +1926,10 @@ СертификатыШифрованияУправлениеПоиском - 336 + 344 СертификатыШифрованияУправлениеПоискомРасширеннаяПодсказка - 338 + 346 Label true true @@ -1967,7 +1939,7 @@ СертификатыШифрованияУправлениеПоискомКонтекстноеМеню - 337 + 345 true SearchControlAddition @@ -2024,12 +1996,9 @@ <key>ru</key> - <value>Зашифрован для</value> + <value>Разрешено расшифровывать</value> - - ru - Группа шифрование - + None ГруппаШифрованиеExtendedTooltip 288 @@ -2079,35 +2048,7 @@ ФормаКоманднаяПанель -1 - ОтменитьРедактирование - 141 - true - true - - true - - false - - ОтменитьРедактированиеExtendedTooltip - 230 - Label - true - true - - Left - - - Form.Command.ОтменитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - Занять + ФормаЗанять 140 true true @@ -2116,7 +2057,7 @@ false - ЗанятьExtendedTooltip + ФормаЗанятьРасширеннаяПодсказка 231 Label true @@ -2134,18 +2075,26 @@ Auto InAdditionalSubmenu - - ОбновитьИзФайлаНаДиске - 146 + + ФормаГлобальныеКоманды + 296 true true true - false + + <key>ru</key> + <value>Форма глобальные команды</value> + + + ru + Форма глобальные команды + + None - ОбновитьИзФайлаНаДискеExtendedTooltip - 232 + ФормаГлобальныеКомандыРасширеннаяПодсказка + 297 Label true true @@ -2153,115 +2102,24 @@ Left - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu + + FormCommandPanelGlobalCommands + - ФормаЭПИШифрование + ФормаГруппаКомандЭлектроннаяПодписьИШифрование 155 - - ФормаГруппаЭП - 147 - - ФормаПодписать - 148 - true - true - - true - - - ФормаПодписатьExtendedTooltip - 235 - Label - true - true - - Left - - - Form.Command.Подписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьПодписьИзФайла - 152 - true - true - - true - - - ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка - 236 - Label - true - true - - Left - - - Form.Command.ДобавитьПодписьИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСПодписью - 154 - true - true - - true - - - ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка - 237 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСПодписью - Normal - Auto - true - true - UserCmds - Auto - + + ФормаПодписать + 148 true true true - - <key>ru</key> - <value>ЭП</value> - - - ru - Форма группа ЭП - - ФормаГруппаЭПРасширеннаяПодсказка - 234 + ФормаПодписатьExtendedTooltip + 235 Label true true @@ -2269,10 +2127,71 @@ Left - + Form.Command.Подписать + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаДобавитьПодписьИзФайла + 152 + true + true + + true + + + ФормаДобавитьПодписьИзФайлаРасширеннаяПодсказка + 236 + Label + true + true + + Left + + + Form.Command.ДобавитьПодписьИзФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаСохранитьВместеСПодписью + 154 + true + true + + true + + + ФормаСохранитьВместеСПодписьюРасширеннаяПодсказка + 237 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСПодписью + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu - ФормаГруппаШифрование + ФормаГруппаКомандШифрование 149 ФормаЗашифровать @@ -2299,6 +2218,7 @@ true UserCmds Auto + InAdditionalSubmenu ФормаРасшифровать @@ -2325,6 +2245,7 @@ true UserCmds Auto + InAdditionalSubmenu true true @@ -2335,12 +2256,8 @@ ru Шифрование - - ru - Форма группа шифрование - - ФормаГруппаШифрованиеExtendedTooltip + ФормаГруппаКомандШифрованиеРасширеннаяПодсказка 238 Label true @@ -2358,14 +2275,14 @@ <key>ru</key> - <value>ЭП и шифрование</value> + <value>Электронная подпись и шифрование</value> ru - Форма ЭПИШифрование + Электронная подпись и шифрование - ФормаЭПИШифрованиеРасширеннаяПодсказка + ФормаГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка 233 Label true @@ -2376,10 +2293,178 @@ Popup - Auto + + CommonPicture.ПодписанЗашифрованЗаголовок + + Picture Normal + + ФормаДополнительныеКоманды + 298 + + ФормаСкопировать + 294 + true + true + + true + + + ФормаСкопироватьРасширеннаяПодсказка + 295 + Label + true + true + + Left + + + Form.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + + ФормаУстановитьПометкуУдаления + 292 + true + true + + true + + + ФормаУстановитьПометкуУдаленияРасширеннаяПодсказка + 293 + Label + true + true + + Left + + + Form.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОтменитьРедактирование + 141 + true + true + + true + + false + + ФормаОтменитьРедактированиеРасширеннаяПодсказка + 230 + Label + true + true + + Left + + + Form.Command.ОтменитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОбновитьИзФайлаНаДиске + 146 + true + true + + true + + false + + ФормаОбновитьИзФайлаНаДискеРасширеннаяПодсказка + 232 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОткрытьКаталогФайла + 143 + true + true + + true + + false + + ФормаОткрытьКаталогФайлаРасширеннаяПодсказка + 250 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма дополнительные команды</value> + + + ru + Форма дополнительные команды + + None + + ФормаДополнительныеКомандыРасширеннаяПодсказка + 299 + Label + true + true + + Left + + + + Left true
      @@ -2403,6 +2488,7 @@ FillCheckProcessingAtServer ОбработкаПроверкиЗаполненияНаСервере + Delete 70 DontBlock true @@ -3194,9 +3280,6 @@ true - - CommonPicture.Папка - ОткрытьКаталогФайла diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Help/ru.html index 761ff71c8..95e11e6b6 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Help/ru.html @@ -1,34 +1,44 @@ - -

      Для открытия карточки файла используйте клавишу F2 или кнопку  Изменить командной панели списка файлов. Карточку можно также открыть из полнотекстового поиска или из отчетов.

      -

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

      + +

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

      +

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

      Сведения о файле

      -
      • Наименование - полное наименование файла. Значок рядом с наименованием указывает тип файла. +
        • Наименование - полное наименование файла.
        • Описание - подробное описание файла. +
        • Создан - время и дата добавления файла в базу.
        • Автор - пользователь, который добавил файл.
        • Редактирует - пользователь, который занял файл для редактирования. -
        • Дата - дата добавления версии файла в базу. -
        • Отредактировал - пользователь, который добавил версию файла. -
        • Папка - папка, в которой сохранен файл. С помощью кнопки  можно выбрать другую папку. +
        • с - дата и время начала редактирования файла. +
        • Папка - папка, в которой сохранен файл. С помощью кнопки  можно выбрать другую папку.
        • Код - код файла.

        Текущая версия

        • Номер - номер версии файла. -
        • Автор - пользователь, который добавил версию файла; -
        • Создана - дата добавления версии файла в базу; -
        • Данные от - дата изменения данных версии файла (местное время);
        -
      • -
        Размер (байт) - размер данных версии файла;
        -
      • -
        Расширение - формат файла, рядом значок, который также показывает формат;
        -
      • -
        Кодировка - кодировка файла, выбирается при сохранении версии. Можно выбрать кодировку По умолчанию.
        -

          ЭП

          -

          На вкладке размещаются сведения об электронной подписи файла

          -

          Зашифрован для

          +
        • Автор - пользователь, который добавил версию файла. +
        • Создана - дата добавления версии файла в базу. +
        • Дата изменения - дата изменения данных версии файла (местное время).
        • -
          На вкладке размещаются сведения о шифровании файла.

        Из карточки файла можно перейти к просмотру и редактированию связанных с файлом сведений:

        +
        Размер (байт) - размер данных версии файла.
        +
      • +
        Расширение - формат файла, рядом значок, который также показывает формат.
      • Хранение версий

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

        При использовании ЭП и шифрования становятся доступными вкладки:

        +

        Электронные подписи

        +

        На вкладке размещаются сведения об электронной подписи файла:

        +
        • Автор подписи - пользователь, который подписал файл; +
        • Дата подписи - дата подписания файла; +
        • Комментарий - напишите дополнительные сведения о подписи; +
        • Статус - истинность подписи.

        С помощью соответствующих команд можно:

        +
        • Подписать файл; +
        • Открыть подпись - открыть окно с основными свойствами сертификата ЭП выделенного файла: кому и кем выдан, назначение и срок действия сертификата, на основе которого создана подпись; +
        • Проверить, изменялся ли кем-либо подписанный файл, с помощью одного или всех сертификатов ЭП. Для этого выделите одну или несколько подписей. Если ЭП хранимого файла не соответствует какому-либо сертификату ЭП, то такая ЭП  после проверки будет выделена в списке красным цветом, а в колонке Статус у такой ЭП будет указано Не верна; +
        • Проверить все - проверить все подписи; +
        • Сохранить ЭП в файл на диск; +
        • Удалить у файла ЭП.

        Зашифрован для

        +
        • +
          На вкладке размещаются сведения о шифровании файла:
          +
        • +
          В списке на этой вкладке отображаются сертификаты, с помощью которых зашифрован файл. Двойным щелчком мыши или с помощью соответствующей команды можно Открыть сертификат ЭП и просмотреть его основные свойства: кому и кем выдан, назначение и срок действия сертификата.

        Из карточки файла можно перейти к просмотру и редактированию связанных с файлом сведений:

        См. также:

        -

         

        \ No newline at end of file +
      • задачи.
      • См. также:

        + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Module.bsl index 950178f82..920b1fe85 100644 --- a/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/Файлы/Forms/ФормаЭлемента/Module.bsl @@ -125,6 +125,12 @@ КонецЕсли; КонецЕсли; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп( + ЭтотОбъект, "ГруппаСведения"); + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп( + ЭтотОбъект, "ГруппаВерсия"); + КонецПроцедуры &НаКлиенте @@ -1058,17 +1064,20 @@ ДоступныДействияСФайлом = Не Объект.ТекущаяВерсия.Пустая() И Не Объект.Ссылка.Пустая(); Элементы.ХранитьВерсии.Доступность = ДоступныДействияСФайлом И Не Объект.ПометкаУдаления; - Элементы.ОтменитьРедактирование.Доступность = Не Объект.Редактирует.Пустая(); - Элементы.ОткрытьКаталогФайла.Доступность = ДоступныДействияСФайлом; - Элементы.СохранитьКак.Доступность = ДоступныДействияСФайлом; - Элементы.Редактировать.Доступность = НЕ Объект.ПодписанЭП; - Элементы.ЗакончитьРедактирование.Доступность = Не Объект.Редактирует.Пустая(); + Элементы.ФормаОтменитьРедактирование.Доступность = Не Объект.Редактирует.Пустая(); + Элементы.ФормаОткрытьКаталогФайла.Доступность = ДоступныДействияСФайлом; + Элементы.ФормаСохранитьКак.Доступность = ДоступныДействияСФайлом; + + Элементы.ФормаРедактировать.Доступность = НЕ Объект.ПодписанЭП; + Элементы.ФормаЗакончитьРедактирование.Доступность = Не Объект.Редактирует.Пустая(); + Элементы.ПолноеНаименование.ТолькоПросмотр = НЕ Объект.Редактирует.Пустая(); - Элементы.Занять.Доступность = Объект.Редактирует.Пустая() И (ДоступныДействияСФайлом) И НЕ Объект.ПодписанЭП; - Элементы.СохранитьИзменения.Доступность = Не Объект.Редактирует.Пустая(); - Элементы.ОбновитьИзФайлаНаДиске.Доступность = ДоступныДействияСФайлом И НЕ Объект.ПодписанЭП; + Элементы.ФормаЗанять.Доступность = Объект.Редактирует.Пустая() И (ДоступныДействияСФайлом) И НЕ Объект.ПодписанЭП; + Элементы.ФормаСохранитьИзменения.Доступность = Не Объект.Редактирует.Пустая(); + + Элементы.ФормаОбновитьИзФайлаНаДиске.Доступность = ДоступныДействияСФайлом И НЕ Объект.ПодписанЭП; Элементы.ФормаПодписать.Доступность = (ДоступныДействияСФайлом И Объект.Редактирует.Пустая()) ИЛИ НЕ ДоступныДействияСФайлом; Элементы.ФормаЗашифровать.Доступность = (ДоступныДействияСФайлом И Объект.Редактирует.Пустая() И НЕ Объект.Зашифрован) ИЛИ НЕ ДоступныДействияСФайлом; @@ -1109,13 +1118,12 @@ КонецЦикла; КонецЕсли; - Если СертификатыШифрования.Количество() = 0 Тогда - ТекстЗаголовка = НСтр("ru = 'Зашифрован для'"); - Иначе - ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Зашифрован для (%1)'"), - Формат(СертификатыШифрования.Количество(), "ЧГ=")); + ТекстЗаголовка = НСтр("ru = 'Разрешено расшифровывать'"); + + Если СертификатыШифрования.Количество() <> 0 Тогда + ТекстЗаголовка =ТекстЗаголовка + " (" + Формат(СертификатыШифрования.Количество(), "ЧГ=") + ")"; КонецЕсли; + Элементы.ГруппаШифрование.Заголовок = ТекстЗаголовка; КонецПроцедуры @@ -1172,13 +1180,13 @@ КонецЕсли; Если ТаблицаПодписей.Количество() = 0 Тогда - ТекстЗаголовка = НСтр("ru = 'ЭП'"); + ТекстЗаголовка = НСтр("ru = 'Электронные подписи'"); Иначе ТекстЗаголовка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'ЭП (%1)'"), + НСтр("ru = 'Электронные подписи (%1)'"), Формат(ТаблицаПодписей.Количество(), "ЧГ=")); КонецЕсли; - Элементы.ГруппаЭП.Заголовок = ТекстЗаголовка; + Элементы.ГруппаЭлектронныеПодписи.Заголовок = ТекстЗаголовка; КонецПроцедуры @@ -1190,31 +1198,31 @@ ПапкаРодитель = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Ссылка, "ВладелецФайла"); Если ЗначениеЗаполнено(ПапкаРодитель) Тогда - + ПолныйПуть = ""; Пока ЗначениеЗаполнено(ПапкаРодитель) Цикл Если Не ПустаяСтрока(ПолныйПуть) Тогда ПолныйПуть = "\" + ПолныйПуть; - КонецЕсли; + КонецЕсли; ПолныйПуть = Строка(ПапкаРодитель) + ПолныйПуть; ПапкаРодитель = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПапкаРодитель, "Родитель"); Если Не ЗначениеЗаполнено(ПапкаРодитель) Тогда Прервать; - КонецЕсли; + КонецЕсли; КонецЦикла; - + Элементы.Владелец.Подсказка = ПолныйПуть; - КонецЕсли; - - КонецЕсли; + КонецЕсли; + + КонецЕсли; -КонецПроцедуры +КонецПроцедуры &НаКлиенте Процедура ОткрытьФайлВыполнить() diff --git a/SSL/src/Catalogs/Файлы/Help/ru.html b/SSL/src/Catalogs/Файлы/Help/ru.html index 5a59c95dd..cc3b485d4 100644 --- a/SSL/src/Catalogs/Файлы/Help/ru.html +++ b/SSL/src/Catalogs/Файлы/Help/ru.html @@ -1,54 +1,60 @@ - +

        -

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

        -

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

        -

        Создание файлов

        -

        -

        Для создания нового файла

        -
        • Откройте список файлов; -
        • Выберите нужную папку;  -
        • Нажмите клавишу Insert или используйте команду  Создать; -
        • Выберите способ создания:  -
          • из шаблона -
          • из файла на диске -
          • Со сканера

         

        -

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

        -

        Из шаблона

        -

        Выберите соответствующее положение переключателя.

        -

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

        -

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

        -

        Из имеющегося файла на диске

        -

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

        -

        После этого программа сохранит файл и откроет для заполнения Карточку файла.

        -

        Получение файла со сканера

        -

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

        -

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

        -

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

        -

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

        +

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

        +

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

        Работа с файлами

        -

        Для работы с файлами используйте команды, расположенные на командной панели или в подменю "Все действия" в списке файлов или карточке файла: 

        +

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

        - - - + + + + + + - - - - - - - - - - - -
        Команда Описание
         Редактировать (F4)Помечает файл как занятый для редактирования и открывает его внешним приложением.
         Закончить редактированиеОбновляет файл в хранилище и снимает с него пометку занятости для редактирования 
         Сохранить версиюОписание
         Создать (Insert)Добавляет новый файл в программу. Возможные способы создания файла: из шаблона, из файла на диске, со сканера.
         Открыть (Просмотреть)Открывает файл внешним приложением для просмотра или редактирования, в зависимости от того, помечен ли файл как занятый текущим пользователем для редактирования.
         Редактировать (F4)Помечает файл как занятый для редактирования и открывает его внешним приложением.
        Клавиша Enter (двойной щелчок мыши)По умолчанию необходимо выбрать, как открыть файл - для просмотра или для редактирования. Действие настраивается в персональных настройках программы на закладке Работа с файлами.
         Закончить редактированиеОбновляет файл в хранилище и снимает с него пометку занятости для редактирования. 
         Сохранить изменения Сохраняет версию редактируемого файла в хранилище, но оставляет его занятым текущим пользователем для редактирования
         Занять Помечает файл в хранилище как занятый текущим пользователем для редактирования, но не открывает внешнее приложение. Приступить непосредственно к редактированию можно будет позже.
         Отменить редактированиеСнимает с файла пометку занятости для редактирования
         ОткрытьОткрывает файл внешним приложением для просмотра или редактирования, в зависимости от того, помечен ли файл как занятый текущим пользователем для редактирования.
         Сохранить какСохраняет файл файл в указанный каталог на жестком или сетевом диске 
         Обновить из файла на дискеОбновляет файл в информационной базе выбранным файлом на жестком диске.
         ПодписатьОткрывает диалог для выбора сертификата и установки подписи.
        Добавить ЭП из файлаДобавляет выбранный файл подписи к подписям файла
        Сохранить вместе с ЭПСохраняет файл в указанный каталог на жестком или сетевом диске, а также сохраняет подписи файла - все или выбранные, в зависимости от настройки "Действия при сохранении с ЭП"
        Открыть подписьОткрывает форму для просмотра информации о подписи: кому выдан сертификат, кто установил подпись, дату установки подписи, комментарий к подписи
        ПроверитьПроверяет истинность выделенных подписей
        Проверить всеПроверяет истинность всех подписей
        СохранитьСохраняет выбранную подпись в файл
        УдалитьУдаляет выделенные подписи

         

        -

        Примечание: Если файл зашифрован, полнотекстовый поиск по его содержимому не работает.

        -

        См. также:

        -
        -

        Версии файлов
        Загрузка файлов
        Загрузка папок 
        Сохранение папки
        Папки
        Общая информация о формах

        \ No newline at end of file +Снимает с файла пометку занятости для редактирования. Изменить +Открыть карточку файла, в которой хранятся сведения о файле. Сохранить как +Сохраняет файл в указанный каталог на жестком или сетевом диске.Открыть каталог файла +Открыть папку в Проводнике Windows, в которой находится файл. Обновить из файла на диске +Обновляет файл в информационной базе выбранным файлом на жестком диске. При этом программа проверяет даты файлов, при попытке заменить файл старой версией выводится предупреждение, действие не выполняется. Подписать +Создает ЭП для файла. Перед созданием ЭП программа предлагает выбрать сертификат ЭП из имеющихся на компьютере. Выбор сертификата можно сделать и во время персональных настроек программы. Подписанный файл становится недоступным для редактирования и отображается в списках со значком . Подписанный файл можно скопировать, при этом программа задаст вопрос - копировать файл с подписью или без.Добавить ЭП из файла +Добавляет выбранный файл подписи к подписям файла. Команду можно использовать, например, если подпись (файл подписи) была получена позже, чем подписанный файл.Сохранить вместе с ЭП +Сохраняет файл в указанный каталог на жестком или сетевом диске, а также сохраняет подписи файла - все или выбранные, в зависимости от настройки Действия при сохранении с ЭП. Команду можно использовать, например, если необходимо передать подписанный файл другому лицу. Зашифровать +Шифрование файла. В отличие от подписания могут использоваться несколько сертификатов, например, если необходимо зашифровать файл для нескольких пользователей. Выберите нужные из списка с помощью флажков. Зашифрованный файл в списках отображается со значком . В отличие от подписания пароль к закрытому ключу в процессе шифрования вводить не нужно. Зашифрованный файл доступен для редактирования. Шифруются все версии файла. Для зашифрованных файлов не работает полнотекстовый поиск. Зашифрованный файл можно скопировать. При этом новый, скопированный файл останется зашифрованным. Зашифрованный файл нельзя подписать.  Подписанный файл зашифровать можно, при этом перед проверкой ЭП у зашифрованного файла программа запросит пароль для предварительной расшифровки файла.Расшифровать +По команде происходит расшифровка файла. Для расшифровки нужно ввести пароль к закрытому ключу.

        Примечание: Если файл зашифрован, полнотекстовый поиск по его содержимому не работает.

        +

        Добавление файлов

        +

        Для добавления нового файла в программу:

        +
        • +
          Нажмите  Создать (клавишу Insert);
          +
        • +
          Выберите способ создания: 
          +
          • +
            Из файла на диске
            +
            • +
              Для того чтобы прикрепить к объекту или поместить в папку уже имеющийся на компьютере файл, укажите путь к файлу на диске, нажмите кнопку Открыть.
              +
            • +
              После этого программа сохранит файл, автоматически создаст и откроет Карточку файла.
          • +
            Из шаблона
            +
            • +
              Выделите шаблон файла в списке выбора, затем нажмите кнопку Выбрать.
              +
            • +
              Программой будет автоматически создана и открыта Карточка файла.
          • +
            Со сканера 
            +
            • +
              Вариант создания файла Со сканера становится доступным, если к компьютеру подключен сканер (более подробно см. документацию к сканеру) и на компьютере подключена компонента для работы со сканером. Также необходимо настроить сканирование.
              +
            • +
              Если все условия соблюдены и настройки выполнены, можно получить файл со сканера.
              +
            • +
              Для этого необходимо  следовать инструкциям Помощника сканирования.
              +
            • +
              После того как документ отсканирован, выполните команду Принять, после этого файлу автоматически присваивается код и создается карточка файла, которая выводится на экран. В поле Наименование также автоматически проставляется код. Отредактируйте нужные поля, нажмите Записать и закрыть, для того чтобы сохранить карточку файла.

          См. также:

          + \ No newline at end of file diff --git a/SSL/src/Catalogs/Файлы/ObjectModule.bsl b/SSL/src/Catalogs/Файлы/ObjectModule.bsl index 6dcd399f0..59a1313bd 100644 --- a/SSL/src/Catalogs/Файлы/ObjectModule.bsl +++ b/SSL/src/Catalogs/Файлы/ObjectModule.bsl @@ -16,6 +16,11 @@ Если Не ЗначениеЗаполнено(ВладелецФайла) Тогда + ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не заполнен владелец в файле + |""%1"".'"), + Наименование); + Если ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда ЗаписьЖурналаРегистрации( @@ -24,12 +29,9 @@ УровеньЖурналаРегистрации.Ошибка, , Ссылка, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Не заполнен владелец в файле - |""%1"".'"), - Строка(Ссылка))); + ОписаниеОшибки); Иначе - ВызватьИсключение НСтр("ru = 'Нельзя записать файл, если не указан владелец файла.'"); + ВызватьИсключение ОписаниеОшибки; КонецЕсли; КонецЕсли; diff --git a/SSL/src/Catalogs/Файлы/Файлы.mdo b/SSL/src/Catalogs/Файлы/Файлы.mdo index cf510a94c..04df66129 100644 --- a/SSL/src/Catalogs/Файлы/Файлы.mdo +++ b/SSL/src/Catalogs/Файлы/Файлы.mdo @@ -139,7 +139,7 @@ -1 -1 - Use + DontUse true @@ -172,13 +172,12 @@ ru Автор - Автор - пользователь, добавивший файл CatalogRef.Пользователи ru - Пользователь, который добавил файл. + Пользователь, который добавил файл @@ -196,16 +195,15 @@ ВладелецФайла ru - Владелец + Размещение - Владелец файла BusinessProcessRef.Задание CatalogRef.ПапкиФайлов ru - Владелец файла + Место размещения файла (папка или другой объект) @@ -237,7 +235,7 @@ ru - Дата заема на редактирование. + Дата заема на редактирование @@ -251,14 +249,13 @@ ru Дата создания - Дата добавления файла в базу Date ru - Дата добавления файла в базу. + Дата добавления файла в базу @@ -275,7 +272,6 @@ ru Зашифрован - Файл зашифрован Boolean @@ -296,7 +292,6 @@ ru Индекс картинки - Индекс иконки, соответствующей расширению файла, для показа в списке Number @@ -305,7 +300,7 @@ ru - Индекс иконки, соответствующей расширению файла, для показа в списке + Тип файла @@ -320,7 +315,6 @@ ru Описание - Описание файла String @@ -342,7 +336,6 @@ ru Подписан ЭП - Файл подписан ЭП Boolean @@ -363,7 +356,6 @@ ru Полное наименование - Полное наименование (длиной до 256 символов) String @@ -391,13 +383,12 @@ ru Редактирует - Пользователь, занявший файл для редактирования CatalogRef.Пользователи ru - Пользователь, который занял файл для редактирования. + Пользователь, который занял файл для редактирования @@ -416,7 +407,6 @@ ru Текст - Текст, извлеченный из файла - для полнотекстового поиска ValueStorage @@ -436,7 +426,6 @@ ru Текущая версия - Активная версия CatalogRef.ВерсииФайлов @@ -461,13 +450,12 @@ ru Текущая версия автор - Автор - пользователь, создавший версию CatalogRef.Пользователи ru - Пользователь, который добавил версию файла. + Пользователь, который добавил версию файла @@ -484,14 +472,13 @@ ru Текущая версия дата модификации файла - Дата модификации файла - в локальном времени Date ru - Дата изменения данных версии файла (местное время). + Дата изменения данных версии файла (местное время) @@ -504,14 +491,13 @@ ru Текущая версия дата создания - Дата создания версии Date ru - Дата добавления версии файла в базу. + Дата добавления версии файла в базу @@ -527,7 +513,6 @@ ru Текущая версия код - Текущая версия код String @@ -536,7 +521,7 @@ ru - Код версии файла. + Код версии файла @@ -549,7 +534,6 @@ ru Текущая версия номер версии - Номер версии Number @@ -558,7 +542,7 @@ ru - Номер версии файла. + Номер версии файла @@ -571,7 +555,6 @@ ru Текущая версия путь к файлу - Дополнительный путь к файлу на диске (в случае если ТипХраненияФайла - на диске) String @@ -591,7 +574,6 @@ ru Текущая версия размер - Размер файла версии Number @@ -600,7 +582,7 @@ ru - Размер данных версии файла. + Размер данных версии файла @@ -616,7 +598,6 @@ ru Текущая версия расширение - Расширение файла версии String @@ -625,7 +606,7 @@ ru - Расширение версии файла. + Расширение версии файла @@ -639,7 +620,6 @@ ru Текущая версия том - Ссылка на том (в случае если ТипХраненияФайла - на диске) CatalogRef.ТомаХраненияФайлов @@ -659,7 +639,6 @@ ru Хранить версии - Хранить версии - если Ложь, у файла всегда одна версия - активная Boolean @@ -826,7 +805,6 @@ ru Сертификат - Двоичные данные сертификата ValueStorage @@ -897,6 +875,11 @@ ru Выбор устройства сканирования + + + ru + + PersonalComputer MobileDevice @@ -972,6 +955,11 @@ ru Режим создания файла для сохранить как + + + ru + + PersonalComputer MobileDevice @@ -1111,6 +1099,11 @@ ru Форма груповая операция на папке + + + ru + + PersonalComputer MobileDevice @@ -1120,6 +1113,7 @@ ru Импорт каталога + true ru @@ -1172,6 +1166,11 @@ ru Форма отчета + + + ru + + PersonalComputer MobileDevice @@ -1181,6 +1180,11 @@ ru Форма перетаскивания + + + ru + + PersonalComputer MobileDevice @@ -1190,6 +1194,11 @@ ru Форма подбора + + + ru + + PersonalComputer MobileDevice @@ -1199,6 +1208,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Form.form b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Form.form index 26d504269..78c4c8869 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 14 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -128,10 +163,10 @@ СписокСтрокаПоиска - 14 + 16 СписокСтрокаПоискаРасширеннаяПодсказка - 16 + 18 Label true true @@ -141,7 +176,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 15 + 17 true Список @@ -151,10 +186,10 @@ СписокСостояниеПросмотра - 17 + 19 СписокСостояниеПросмотраРасширеннаяПодсказка - 19 + 21 Label true true @@ -164,7 +199,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 18 + 20 true ViewStatusAddition @@ -175,10 +210,10 @@ СписокУправлениеПоиском - 20 + 22 СписокУправлениеПоискомРасширеннаяПодсказка - 22 + 24 Label true true @@ -188,7 +223,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 21 + 23 true SearchControlAddition @@ -250,6 +285,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..a99fcde66 --- /dev/null +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,13 @@ + +

          Предназначен для выбора шаблонов анкеты.

          +

          Открывается при выборе шаблона анкет из документа Назначение опросов.

          +

          В списке выводится Наименование шаблона и его Код, который автоматически присваивается программой.

          +

          Выбор шаблона анкеты

          +
          • Выделите шаблон анкеты, нажмите Выбрать. +
          • Также можно воспользоваться двойным щелчком мыши.

          Ввод шаблона анкеты

          +

          Нажмите Создать, заполните необходимые поля.

          +

          Группировка шаблонов

          +
          • Шаблоны можно группировать. Для этого введите необходимое количество групп. +
          • Нажмите Создать группу, введите Наименование. Группу можно подчинить одной из существующих. Для этого в поле Родитель укажите группу из списка. +
          • Перетащите шаблоны в соответствующие группы или в группах введите шаблоны.

          См. также:

          + \ No newline at end of file diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Form.form b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Form.form index 632dd6957..73e204a9a 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Form.form +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Form.form @@ -2,7 +2,7 @@ <key>ru</key> - <value>Помощник создания табличного вопроса</value> + <value>Редактирование табличного вопроса</value> Формулировка @@ -52,159 +52,34 @@ Normal - - ИнформацияШапка - 128 - true - true - - true - - - ИнформацияШапка - - None - - ИнформацияШапкаExtendedTooltip - 148 - Label - true - true - - Left - - - - ИнформацияШапкаКонтекстноеМеню - 129 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - 9.0 - true - false - false - false - - - - Страницы - 1 + ГруппаОсновныеСтраницы + 208 - СтраницаТипТабличногоВопроса - 2 - - ТипТабличногоВопроса - 3 - true - true - - true - - - ТипТабличногоВопроса - - None - - OnChange - ТипТабличногоВопросаПриИзменении - - - ТипТабличногоВопросаExtendedTooltip - 151 - Label - true - true - - Left - - - - ТипТабличногоВопросаКонтекстноеМеню - 4 - true - - RadioButtonField - Enter - true - Left - true - - 1 - 1 - Vertical - - + Страницы + 1 - СтраницыТипТабличногоВопросаКартинки - 79 - - СтраницаКартинкаСоставной - 80 - - КартинкаСоставной - 81 - - <key>ru</key> - <value>Картинка составной</value> - - true - true - - true - - - КартинкаСоставнойExtendedTooltip - 154 - Label - true - true - - Left - - - - КартинкаСоставнойКонтекстноеМеню - 82 - true - - true - true - true - true - false - - - CommonPicture.ПревьюТабличногоВопросаСоставной - - - + СтраницаТипТабличногоВопроса + 2 + + ТипТабличногоВопроса + 3 true true true - - <key>ru</key> - <value>Страница картинка составной</value> - - - ru - Страница картинка составной - + + ТипТабличногоВопроса + + None + + OnChange + ТипТабличногоВопросаПриИзменении + - СтраницаКартинкаСоставнойExtendedTooltip - 153 + ТипТабличногоВопросаExtendedTooltip + 151 Label true true @@ -212,30 +87,82 @@ Left - Page - - Vertical - auto + + ТипТабличногоВопросаКонтекстноеМеню + 4 + true + + RadioButtonField + Enter + true + Left + true + + 1 + 1 + Vertical - СтраницаКартинкаОтветыВСтроках - 83 - - КартинкаОтветыВСтроках - 84 - - <key>ru</key> - <value>Картинка ответы в строках</value> - + СтраницыТипТабличногоВопросаКартинки + 79 + + СтраницаКартинкаСоставной + 80 + + КартинкаСоставной + 81 + + <key>ru</key> + <value>Картинка составной</value> + + true + true + + true + + + КартинкаСоставнойExtendedTooltip + 154 + Label + true + true + + Left + + + + КартинкаСоставнойКонтекстноеМеню + 82 + true + + true + true + true + true + false + + + CommonPicture.ПревьюТабличногоВопросаСоставной + + + true true true + + <key>ru</key> + <value>Страница картинка составной</value> + + + ru + Страница картинка составной + - КартинкаОтветыВСтрокахExtendedTooltip - 156 + СтраницаКартинкаСоставнойExtendedTooltip + 153 Label true true @@ -243,20 +170,284 @@ Left - - КартинкаОтветыВСтрокахКонтекстноеМеню - 85 - true - - true - true - true - true - false - - - CommonPicture.ПревьюТабличногоВопросаОтветыВСтроках - + Page + + Vertical + auto + + + + СтраницаКартинкаОтветыВСтроках + 83 + + КартинкаОтветыВСтроках + 84 + + <key>ru</key> + <value>Картинка ответы в строках</value> + + true + true + + true + + + КартинкаОтветыВСтрокахExtendedTooltip + 156 + Label + true + true + + Left + + + + КартинкаОтветыВСтрокахКонтекстноеМеню + 85 + true + + true + true + true + true + false + + + CommonPicture.ПревьюТабличногоВопросаОтветыВСтроках + + + + true + true + + true + + + <key>ru</key> + <value>Страница картинка ответы в строках</value> + + + ru + Страница картинка ответы в строках + + + СтраницаКартинкаОтветыВСтрокахExtendedTooltip + 155 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКартинкаОтветыВКолонках + 86 + + КартинкаОтветыВКолонках + 87 + + <key>ru</key> + <value>Картинка ответы в колонках</value> + + true + true + + true + + + КартинкаОтветыВКолонкахExtendedTooltip + 158 + Label + true + true + + Left + + + + КартинкаОтветыВКолонкахКонтекстноеМеню + 88 + true + + true + true + true + true + false + + + CommonPicture.ПревьюТабличногоВопросаОтветыВКолонках + + + + true + true + + true + + + <key>ru</key> + <value>Страница картинка ответы в колонках</value> + + + ru + Страница картинка ответы в колонках + + + СтраницаКартинкаОтветыВКолонкахExtendedTooltip + 157 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКартинкаОтветыВСтрокахИКолонках + 89 + + КартинкаОтветыВСтрокахИКолонках + 90 + + <key>ru</key> + <value>Картинка ответы в строках и колонках</value> + + true + true + + true + + + КартинкаОтветыВСтрокахИКолонкахExtendedTooltip + 160 + Label + true + true + + Left + + + + КартинкаОтветыВСтрокахИКолонкахКонтекстноеМеню + 91 + true + + true + true + true + true + false + + + CommonPicture.ПревьюТабличногоВопросаОтветыСтрокиИКолонки + + + + true + true + + true + + + <key>ru</key> + <value>Страница картинка ответы в строках и колонках</value> + + + ru + Страница картинка ответы в строках и колонках + + + СтраницаКартинкаОтветыВСтрокахИКолонкахExtendedTooltip + 159 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКартинкаПустая + 92 + + КартинкаПустая + 93 + + <key>ru</key> + <value>Картинка пустая</value> + + true + true + + true + + + КартинкаПустаяExtendedTooltip + 162 + Label + true + true + + Left + + + + КартинкаПустаяКонтекстноеМеню + 94 + true + + true + true + false + + + true + true + + true + + + <key>ru</key> + <value>Страница картинка пустая</value> + + + ru + Страница картинка пустая + + + СтраницаКартинкаПустаяExtendedTooltip + 161 + Label + true + true + + Left + + + Page + + Vertical + auto true @@ -266,15 +457,15 @@ <key>ru</key> - <value>Страница картинка ответы в строках</value> + <value>Страницы тип табличного вопроса картинки</value> ru - Страница картинка ответы в строках + Страницы тип табличного вопроса картинки - СтраницаКартинкаОтветыВСтрокахExtendedTooltip - 155 + СтраницыТипТабличногоВопросаКартинкиExtendedTooltip + 152 Label true true @@ -282,214 +473,9 @@ Left - Page - - Vertical - auto - - - - СтраницаКартинкаОтветыВКолонках - 86 - - КартинкаОтветыВКолонках - 87 - - <key>ru</key> - <value>Картинка ответы в колонках</value> - - true - true - - true - - - КартинкаОтветыВКолонкахExtendedTooltip - 158 - Label - true - true - - Left - - - - КартинкаОтветыВКолонкахКонтекстноеМеню - 88 - true - - true - true - true - true - false - - - CommonPicture.ПревьюТабличногоВопросаОтветыВКолонках - - - - true - true - - true - - - <key>ru</key> - <value>Страница картинка ответы в колонках</value> - - - ru - Страница картинка ответы в колонках - - - СтраницаКартинкаОтветыВКолонкахExtendedTooltip - 157 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКартинкаОтветыВСтрокахИКолонках - 89 - - КартинкаОтветыВСтрокахИКолонках - 90 - - <key>ru</key> - <value>Картинка ответы в строках и колонках</value> - - true - true - - true - - - КартинкаОтветыВСтрокахИКолонкахExtendedTooltip - 160 - Label - true - true - - Left - - - - КартинкаОтветыВСтрокахИКолонкахКонтекстноеМеню - 91 - true - - true - true - true - true - false - - - CommonPicture.ПревьюТабличногоВопросаОтветыСтрокиИКолонки - - - - true - true - - true - - - <key>ru</key> - <value>Страница картинка ответы в строках и колонках</value> - - - ru - Страница картинка ответы в строках и колонках - - - СтраницаКартинкаОтветыВСтрокахИКолонкахExtendedTooltip - 159 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКартинкаПустая - 92 - - КартинкаПустая - 93 - - <key>ru</key> - <value>Картинка пустая</value> - - true - true - - true - - - КартинкаПустаяExtendedTooltip - 162 - Label - true - true - - Left - - - - КартинкаПустаяКонтекстноеМеню - 94 - true - - true - true - false - - - true - true - - true - - - <key>ru</key> - <value>Страница картинка пустая</value> - - - ru - Страница картинка пустая - - - СтраницаКартинкаПустаяExtendedTooltip - 161 - Label - true - true - - Left - - - Page - - Vertical - auto + Pages + + Auto true @@ -499,15 +485,15 @@ <key>ru</key> - <value>Страницы тип табличного вопроса картинки</value> + <value>Страница тип табличного вопроса</value> ru - Страницы тип табличного вопроса картинки + Страница тип табличного вопроса - СтраницыТипТабличногоВопросаКартинкиExtendedTooltip - 152 + СтраницаТипТабличногоВопросаExtendedTooltip + 150 Label true true @@ -515,51 +501,924 @@ Left - Pages - - Auto + Page + + auto - true - true - - true - - - <key>ru</key> - <value>Страница тип табличного вопроса</value> - - - ru - Страница тип табличного вопроса - - - СтраницаТипТабличногоВопросаExtendedTooltip - 150 - Label - true - true - - Left - - - Page - - auto - - - - СтраницаПредопределенныеОтветыВСтрокахИКолонках - 13 - ГруппаОбщаяОтветыВСтрокахИКолонках - 67 + СтраницаПредопределенныеОтветыВСтрокахИКолонках + 13 - ГруппаСоставКолонокОтветыВСтрокахИКолонках - 20 + ГруппаОбщаяОтветыВСтрокахИКолонках + 67 + + ГруппаСоставКолонокОтветыВСтрокахИКолонках + 20 + + ВопросКолонкаОтветыСтрокахИКолонках + 14 + true + true + + true + + + ПредставлениеВопросаДляКолонок + + None + + ВопросКолонкаОтветыСтрокахИКолонкахExtendedTooltip + 166 + Label + true + true + + Left + + + + ВопросКолонкаОтветыСтрокахИКолонкахКонтекстноеМеню + 15 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ОтветыКолонкиОтветыВСтрокахИКолонках + 22 + true + true + + true + + + Ответы + + false + None + + ОтветыКолонкиОтветыВСтрокахИКолонкахОтвет + 117 + true + true + + true + + + Ответы.Ответ + + + ОтветыКолонкиОтветыВСтрокахИКолонкахОтветExtendedTooltip + 169 + Label + true + true + + Left + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахОтветКонтекстноеМеню + 118 + true + + InputField + Auto + true + Left + true + + + StartChoice + ОтветыКолонкиОтветыВСтрокахИКолонкахОтветНачалоВыбора + + true + true + true + true + true + true + Normal + + + ВопросДляКолонок + + + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахКоманднаяПанель + 24 + + ЗаполнитьКолонкиВариантыОтветовОтветыСтрокахИКолонках + 145 + true + true + + true + + false + + ЗаполнитьКолонкиВариантыОтветовОтветыСтрокахИКолонкахExtendedTooltip + 167 + Label + true + true + + Left + + + Form.Command.ЗаполнитьВариантыОтветовОтветыКолонки + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + Left + true + + + BeforeAddRow + ОтветыКолонкиОтветыВСтрокахИКолонкахПередНачаломДобавления + + + OnChange + ОтветыКолонкиОтветыВСтрокахИКолонкахПриИзменении + + + ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоиска + 213 + + ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоискаРасширеннаяПодсказка + 215 + Label + true + true + + Left + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоискаКонтекстноеМеню + 214 + true + + ОтветыКолонкиОтветыВСтрокахИКолонках + + true + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотра + 216 + + ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотраРасширеннаяПодсказка + 218 + Label + true + true + + Left + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотраКонтекстноеМеню + 217 + true + + ViewStatusAddition + ОтветыКолонкиОтветыВСтрокахИКолонках + + true + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоиском + 219 + + ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоискомРасширеннаяПодсказка + 221 + Label + true + true + + Left + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоискомКонтекстноеМеню + 220 + true + + SearchControlAddition + ОтветыКолонкиОтветыВСтрокахИКолонках + + true + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахExtendedTooltip + 168 + Label + true + true + + Left + + + + ОтветыКолонкиОтветыВСтрокахИКолонкахКонтекстноеМеню + 23 + true + + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + Auto + Auto + true + true + true + true + None + None + None + true + + + true + true + + true + + + <key>ru</key> + <value>Состав колонок</value> + + + ru + Группа состав колонок ответы в строках и колонках + + + ГруппаСоставКолонокОтветыВСтрокахИКолонкахExtendedTooltip + 165 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаСоставСтрокОтветыВСтрокахИКолонках + 21 + + ВопросСтрокаОтветыВСтрокахИКолонках + 16 + + <key>ru</key> + <value>Вопрос для строк</value> + + true + true + + true + + + ПредставлениеВопросаДляСтрок + + None + + ВопросСтрокаОтветыВСтрокахИКолонкахExtendedTooltip + 171 + Label + true + true + + Left + + + + ВопросСтрокаОтветыВСтрокахИКолонкахКонтекстноеМеню + 17 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ОтветыСтрокиОтветыВСтрокахИКолонках + 27 + true + true + + true + + + Ответы + + false + None + + ОтветыСтрокиОтветыВСтрокахИКолонкахОтвет + 121 + true + true + + true + + + Ответы.Ответ + + + ОтветыСтрокиОтветыВСтрокахИКолонкахОтветExtendedTooltip + 174 + Label + true + true + + Left + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахОтветКонтекстноеМеню + 122 + true + + InputField + Auto + true + Left + true + + + StartChoice + ОтветыСтрокиОтветыВСтрокахИКолонкахОтветНачалоВыбора + + true + true + true + true + true + true + Normal + + + ВопросДляСтрок + + + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахКоманднаяПанель + 29 + + ЗаполнитьСтрокиВариантыОтветовОтветыСтрокиИКолонки + 146 + true + true + + true + + false + + ЗаполнитьСтрокиВариантыОтветовОтветыСтрокиИКолонкиExtendedTooltip + 172 + Label + true + true + + Left + + + Form.Command.ЗаполнитьВариантыОтветовОтветыСтроки + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + Left + true + + + BeforeAddRow + ОтветыСтрокиОтветыВСтрокахИКолонкахПередНачаломДобавления + + + OnChange + ОтветыСтрокиОтветыВСтрокахИКолонкахПриИзменении + + + ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоиска + 232 + + ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоискаРасширеннаяПодсказка + 234 + Label + true + true + + Left + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоискаКонтекстноеМеню + 233 + true + + ОтветыСтрокиОтветыВСтрокахИКолонках + + true + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотра + 235 + + ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотраРасширеннаяПодсказка + 237 + Label + true + true + + Left + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотраКонтекстноеМеню + 236 + true + + ViewStatusAddition + ОтветыСтрокиОтветыВСтрокахИКолонках + + true + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоиском + 238 + + ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоискомРасширеннаяПодсказка + 240 + Label + true + true + + Left + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоискомКонтекстноеМеню + 239 + true + + SearchControlAddition + ОтветыСтрокиОтветыВСтрокахИКолонках + + true + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахExtendedTooltip + 173 + Label + true + true + + Left + + + + ОтветыСтрокиОтветыВСтрокахИКолонкахКонтекстноеМеню + 28 + true + + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + Auto + Auto + true + true + true + true + None + None + None + true + + + true + true + + true + + + <key>ru</key> + <value>Состав строк</value> + + + ru + Группа состав строк ответы в строках и колонках + + + ГруппаСоставСтрокОтветыВСтрокахИКолонкахExtendedTooltip + 170 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа общая ответы в строках и колонках</value> + + + ru + Группа общая ответы в строках и колонках + + + ГруппаОбщаяОтветыВСтрокахИКолонкахExtendedTooltip + 164 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + ru + Страница предопределенные ответы в строках и колонках + + + СтраницаПредопределенныеОтветыВСтрокахИКолонкахExtendedTooltip + 163 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаВопросы + 34 + + ГруппаВопросы + 68 + + Вопросы + 136 + true + true + + true + + + Вопросы + + false + None + + ВопросыВопрос + 139 + + <key>ru</key> + <value>Вопрос</value> + + true + true + + true + + + Вопросы.ЭлементарныйВопрос + + + OnChange + ВопросыПриИзменении + + + ВопросыВопросExtendedTooltip + 178 + Label + true + true + + Left + + + + ВопросыВопросКонтекстноеМеню + 140 + true + + InputField + Auto + true + Left + true + + + ChoiceProcessing + ВопросыВопросОбработкаВыбора + + true + true + true + false + true + Items + true + true + true + Normal + + + + ВопросыКоманднаяПанель + 138 + Left + true + + + OnChange + ВопросыПриИзменении + + + ВопросыСтрокаПоиска + 250 + + ВопросыСтрокаПоискаРасширеннаяПодсказка + 252 + Label + true + true + + Left + + + + ВопросыСтрокаПоискаКонтекстноеМеню + 251 + true + + Вопросы + + true + + + + ВопросыСостояниеПросмотра + 253 + + ВопросыСостояниеПросмотраРасширеннаяПодсказка + 255 + Label + true + true + + Left + + + + ВопросыСостояниеПросмотраКонтекстноеМеню + 254 + true + + ViewStatusAddition + Вопросы + + true + + + + ВопросыУправлениеПоиском + 256 + + ВопросыУправлениеПоискомРасширеннаяПодсказка + 258 + Label + true + true + + Left + + + + ВопросыУправлениеПоискомКонтекстноеМеню + 257 + true + + SearchControlAddition + Вопросы + + true + + + + ВопросыExtendedTooltip + 177 + Label + true + true + + Left + + + + ВопросыКонтекстноеМеню + 137 + true + + true + true + true + true + true + MultiRow +
          true
          + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + true + true + None + None + None + true + +
          + true + true + + true + + + <key>ru</key> + <value>Вопросы:</value> + + + ru + Группа вопросы + + true + + ГруппаВопросыExtendedTooltip + 176 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + +
          + true + true + + true + + + <key>ru</key> + <value>Страница вопросы</value> + + + СтраницаВопросыExtendedTooltip + 175 + Label + true + true + + Left + + + Page + + auto + +
          + + СтраницаПредопределенныеОтветыВКолонках + 33 + + ГруппаСоставКолонокОтветыВКолонках + 47 - ВопросКолонкаОтветыСтрокахИКолонках - 14 + ВопросКолонкаОтветыВКолонках + 40 true true @@ -570,8 +1429,8 @@ None - ВопросКолонкаОтветыСтрокахИКолонкахExtendedTooltip - 166 + ВопросКолонкаОтветыВКолонкахExtendedTooltip + 181 Label true true @@ -580,8 +1439,8 @@ - ВопросКолонкаОтветыСтрокахИКолонкахКонтекстноеМеню - 15 + ВопросКолонкаОтветыВКолонкахКонтекстноеМеню + 41 true LabelField @@ -595,8 +1454,8 @@ - ОтветыКолонкиОтветыВСтрокахИКолонках - 22 + ОтветыКолонкиОтветыВКолонках + 42 true true @@ -608,8 +1467,8 @@ false None - ОтветыКолонкиОтветыВСтрокахИКолонкахОтвет - 117 + ОтветыКолонкиОтветыВКолонкахОтвет + 113 true true @@ -619,8 +1478,8 @@ Ответы.Ответ - ОтветыКолонкиОтветыВСтрокахИКолонкахОтветExtendedTooltip - 169 + ОтветыКолонкиОтветыВКолонкахОтветExtendedTooltip + 184 Label true true @@ -629,8 +1488,8 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахОтветКонтекстноеМеню - 118 + ОтветыКолонкиОтветыВКолонкахОтветКонтекстноеМеню + 114 true InputField @@ -641,7 +1500,7 @@ StartChoice - ОтветыКолонкиОтветыВСтрокахИКолонкахОтветНачалоВыбора + ОтветыКолонкиОтветыВКолонкахОтветНачалоВыбора true true @@ -658,11 +1517,11 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахКоманднаяПанель - 24 + ОтветыКолонкиОтветыВКолонкахКоманднаяПанель + 44 - ЗаполнитьКолонкиВариантыОтветовОтветыСтрокахИКолонках - 145 + ЗаполнитьВариантыОтветовОтветыКолонки + 144 true true @@ -670,8 +1529,8 @@ false - ЗаполнитьКолонкиВариантыОтветовОтветыСтрокахИКолонкахExtendedTooltip - 167 + ЗаполнитьВариантыОтветовОтветыКолонкиExtendedTooltip + 182 Label true true @@ -693,18 +1552,18 @@ BeforeAddRow - ОтветыКолонкиОтветыВСтрокахИКолонкахПередНачаломДобавления + ОтветыКолонкиОтветыВКолонкахПередНачаломДобавления OnChange - ОтветыКолонкиОтветыВСтрокахИКолонкахПриИзменении + ОтветыКолонкиОтветыВКолонкахПриИзменении - ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоиска - 212 + ОтветыКолонкиОтветыВКолонкахСтрокаПоиска + 269 - ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоискаРасширеннаяПодсказка - 214 + ОтветыКолонкиОтветыВКолонкахСтрокаПоискаРасширеннаяПодсказка + 271 Label true true @@ -713,21 +1572,21 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахСтрокаПоискаКонтекстноеМеню - 213 + ОтветыКолонкиОтветыВКолонкахСтрокаПоискаКонтекстноеМеню + 270 true - ОтветыКолонкиОтветыВСтрокахИКолонках + ОтветыКолонкиОтветыВКолонках true - ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотра - 215 + ОтветыКолонкиОтветыВКолонкахСостояниеПросмотра + 272 - ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотраРасширеннаяПодсказка - 217 + ОтветыКолонкиОтветыВКолонкахСостояниеПросмотраРасширеннаяПодсказка + 274 Label true true @@ -736,22 +1595,22 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахСостояниеПросмотраКонтекстноеМеню - 216 + ОтветыКолонкиОтветыВКолонкахСостояниеПросмотраКонтекстноеМеню + 273 true ViewStatusAddition - ОтветыКолонкиОтветыВСтрокахИКолонках + ОтветыКолонкиОтветыВКолонках true - ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоиском - 218 + ОтветыКолонкиОтветыВКолонкахУправлениеПоиском + 275 - ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоискомРасширеннаяПодсказка - 220 + ОтветыКолонкиОтветыВКолонкахУправлениеПоискомРасширеннаяПодсказка + 277 Label true true @@ -760,19 +1619,19 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахУправлениеПоискомКонтекстноеМеню - 219 + ОтветыКолонкиОтветыВКолонкахУправлениеПоискомКонтекстноеМеню + 276 true SearchControlAddition - ОтветыКолонкиОтветыВСтрокахИКолонках + ОтветыКолонкиОтветыВКолонках true - ОтветыКолонкиОтветыВСтрокахИКолонкахExtendedTooltip - 168 + ОтветыКолонкиОтветыВКолонкахExtendedTooltip + 183 Label true true @@ -781,8 +1640,8 @@ - ОтветыКолонкиОтветыВСтрокахИКолонкахКонтекстноеМеню - 23 + ОтветыКолонкиОтветыВКолонкахКонтекстноеМеню + 43 true true @@ -800,7 +1659,6 @@ false false false - true Auto Auto true @@ -813,6 +1671,46 @@ true + + ВопросДляКолонок + 125 + true + + true + + + ВопросДляКолонок + + + ВопросДляКолонокExtendedTooltip + 185 + Label + true + true + + Left + + + + ВопросДляКолонокКонтекстноеМеню + 126 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + true true @@ -824,11 +1722,11 @@ ru - Группа состав колонок ответы в строках и колонках + Группа состав колонок ответы в колонках - ГруппаСоставКолонокОтветыВСтрокахИКолонкахExtendedTooltip - 165 + ГруппаСоставКолонокОтветыВКолонкахExtendedTooltip + 180 Label true true @@ -840,24 +1738,49 @@ Vertical Auto - WeakSeparation true true - auto Auto Auto + true + true + + true + + + <key>ru</key> + <value>Страница предопределенные ответы в колонках</value> + + + ru + Страница предопределенные ответы в колонках + + + СтраницаПредопределенныеОтветыВКолонкахExtendedTooltip + 179 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаПредопределенныеОтветыВСтроках + 32 - ГруппаСоставСтрокОтветыВСтрокахИКолонках - 21 + ГруппаСоставСтрокОтветыВСтроках + 53 - ВопросСтрокаОтветыВСтрокахИКолонках - 16 - - <key>ru</key> - <value>Вопрос для строк</value> - + ВопросСтрокаОтветыВСтроках + 59 true true @@ -868,8 +1791,8 @@ None - ВопросСтрокаОтветыВСтрокахИКолонкахExtendedTooltip - 171 + ВопросСтрокаОтветыВСтрокахExtendedTooltip + 188 Label true true @@ -878,8 +1801,8 @@ - ВопросСтрокаОтветыВСтрокахИКолонкахКонтекстноеМеню - 17 + ВопросСтрокаОтветыВСтрокахКонтекстноеМеню + 60 true LabelField @@ -893,8 +1816,8 @@ - ОтветыСтрокиОтветыВСтрокахИКолонках - 27 + ОтветыСтрокиОтветыВСтроках + 54 true true @@ -906,8 +1829,8 @@ false None - ОтветыСтрокиОтветыВСтрокахИКолонкахОтвет - 121 + ОтветыСтрокиОтветыВСтрокахОтвет + 107 true true @@ -917,8 +1840,8 @@ Ответы.Ответ - ОтветыСтрокиОтветыВСтрокахИКолонкахОтветExtendedTooltip - 174 + ОтветыСтрокиОтветыВСтрокахОтветExtendedTooltip + 191 Label true true @@ -927,8 +1850,8 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахОтветКонтекстноеМеню - 122 + ОтветыСтрокиОтветыВСтрокахОтветКонтекстноеМеню + 108 true InputField @@ -939,12 +1862,16 @@ StartChoice - ОтветыСтрокиОтветыВСтрокахИКолонкахОтветНачалоВыбора + ОтветыСтрокиОтветыВСтрокахОтветНачалоВыбора true true true - true + false + true + ShowInInputField + false + false true true Normal @@ -956,11 +1883,11 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахКоманднаяПанель - 29 + ОтветыСтрокиОтветыВСтрокахКоманднаяПанель + 56 - ЗаполнитьСтрокиВариантыОтветовОтветыСтрокиИКолонки - 146 + ЗаполнитьВариантыОтветовОтветыСтроки + 143 true true @@ -968,8 +1895,8 @@ false - ЗаполнитьСтрокиВариантыОтветовОтветыСтрокиИКолонкиExtendedTooltip - 172 + ЗаполнитьВариантыОтветовОтветыСтрокиExtendedTooltip + 189 Label true true @@ -991,18 +1918,18 @@ BeforeAddRow - ОтветыСтрокиОтветыВСтрокахИКолонкахПередНачаломДобавления + ОтветыСтрокиОтветыВСтрокахПередНачаломДобавления OnChange - ОтветыСтрокиОтветыВСтрокахИКолонкахПриИзменении + ОтветыСтрокиОтветыВСтрокахПриИзменении - ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоиска - 231 + ОтветыСтрокиОтветыВСтрокахСтрокаПоиска + 289 - ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоискаРасширеннаяПодсказка - 233 + ОтветыСтрокиОтветыВСтрокахСтрокаПоискаРасширеннаяПодсказка + 291 Label true true @@ -1011,21 +1938,21 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахСтрокаПоискаКонтекстноеМеню - 232 + ОтветыСтрокиОтветыВСтрокахСтрокаПоискаКонтекстноеМеню + 290 true - ОтветыСтрокиОтветыВСтрокахИКолонках + ОтветыСтрокиОтветыВСтроках true - ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотра - 234 + ОтветыСтрокиОтветыВСтрокахСостояниеПросмотра + 292 - ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотраРасширеннаяПодсказка - 236 + ОтветыСтрокиОтветыВСтрокахСостояниеПросмотраРасширеннаяПодсказка + 294 Label true true @@ -1034,22 +1961,22 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахСостояниеПросмотраКонтекстноеМеню - 235 + ОтветыСтрокиОтветыВСтрокахСостояниеПросмотраКонтекстноеМеню + 293 true ViewStatusAddition - ОтветыСтрокиОтветыВСтрокахИКолонках + ОтветыСтрокиОтветыВСтроках true - ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоиском - 237 + ОтветыСтрокиОтветыВСтрокахУправлениеПоиском + 295 - ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоискомРасширеннаяПодсказка - 239 + ОтветыСтрокиОтветыВСтрокахУправлениеПоискомРасширеннаяПодсказка + 297 Label true true @@ -1058,19 +1985,19 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахУправлениеПоискомКонтекстноеМеню - 238 + ОтветыСтрокиОтветыВСтрокахУправлениеПоискомКонтекстноеМеню + 296 true SearchControlAddition - ОтветыСтрокиОтветыВСтрокахИКолонках + ОтветыСтрокиОтветыВСтроках true - ОтветыСтрокиОтветыВСтрокахИКолонкахExtendedTooltip - 173 + ОтветыСтрокиОтветыВСтрокахExtendedTooltip + 190 Label true true @@ -1079,8 +2006,8 @@ - ОтветыСтрокиОтветыВСтрокахИКолонкахКонтекстноеМеню - 28 + ОтветыСтрокиОтветыВСтрокахКонтекстноеМеню + 55 true true @@ -1097,7 +2024,6 @@ true false false - false true Auto Auto @@ -1111,6 +2037,46 @@ true + + ВопросДляСтрок + 123 + true + + true + + + ВопросДляСтрок + + + ВопросДляСтрокExtendedTooltip + 192 + Label + true + true + + Left + + + + ВопросДляСтрокКонтекстноеМеню + 124 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + true true @@ -1118,15 +2084,15 @@ <key>ru</key> - <value>Состав строк</value> + <value>Состав строк:</value> ru - Группа состав строк ответы в строках и колонках + Группа состав строк ответы в строках - ГруппаСоставСтрокОтветыВСтрокахИКолонкахExtendedTooltip - 170 + ГруппаСоставСтрокОтветыВСтрокахExtendedTooltip + 187 Label true true @@ -1138,10 +2104,8 @@ Vertical Auto - WeakSeparation true true - auto Auto Auto @@ -1153,15 +2117,15 @@ <key>ru</key> - <value>Группа общая ответы в строках и колонках</value> + <value>Состав строк:</value> ru - Группа общая ответы в строках и колонках + Страница предопределенные ответы в строках - ГруппаОбщаяОтветыВСтрокахИКолонкахExtendedTooltip - 164 + СтраницаПредопределенныеОтветыВСтрокахExtendedTooltip + 186 Label true true @@ -1169,131 +2133,40 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + auto - true - true - - true - - - ru - Страница предопределенные ответы в строках и колонках - - - СтраницаПредопределенныеОтветыВСтрокахИКолонкахExtendedTooltip - 163 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаВопросы - 34 - ГруппаВопросы - 68 + СтраницаРезультирующаяТаблица + 70 - Вопросы - 136 + РезультирующаяТаблица + 76 true true true - Вопросы + РезультирующаяТаблица false None - - ВопросыВопрос - 139 - - <key>ru</key> - <value>Вопрос</value> - - true - true - - true - - - Вопросы.ЭлементарныйВопрос - - - OnChange - ВопросыПриИзменении - - - ВопросыВопросExtendedTooltip - 178 - Label - true - true - - Left - - - - ВопросыВопросКонтекстноеМеню - 140 - true - - InputField - Auto - true - Left - true - - - ChoiceProcessing - ВопросыВопросОбработкаВыбора - - true - true - true - false - true - Items - true - true - true - Normal - - + None - ВопросыКоманднаяПанель - 138 + РезультирующаяТаблицаКоманднаяПанель + 78 Left true - - OnChange - ВопросыПриИзменении - - ВопросыСтрокаПоиска - 249 + РезультирующаяТаблицаСтрокаПоиска + 308 - ВопросыСтрокаПоискаРасширеннаяПодсказка - 251 + РезультирующаяТаблицаСтрокаПоискаРасширеннаяПодсказка + 310 Label true true @@ -1302,21 +2175,21 @@ - ВопросыСтрокаПоискаКонтекстноеМеню - 250 + РезультирующаяТаблицаСтрокаПоискаКонтекстноеМеню + 309 true - Вопросы + РезультирующаяТаблица true - ВопросыСостояниеПросмотра - 252 + РезультирующаяТаблицаСостояниеПросмотра + 311 - ВопросыСостояниеПросмотраРасширеннаяПодсказка - 254 + РезультирующаяТаблицаСостояниеПросмотраРасширеннаяПодсказка + 313 Label true true @@ -1325,22 +2198,22 @@ - ВопросыСостояниеПросмотраКонтекстноеМеню - 253 + РезультирующаяТаблицаСостояниеПросмотраКонтекстноеМеню + 312 true ViewStatusAddition - Вопросы + РезультирующаяТаблица true - ВопросыУправлениеПоиском - 255 + РезультирующаяТаблицаУправлениеПоиском + 314 - ВопросыУправлениеПоискомРасширеннаяПодсказка - 257 + РезультирующаяТаблицаУправлениеПоискомРасширеннаяПодсказка + 316 Label true true @@ -1349,19 +2222,19 @@ - ВопросыУправлениеПоискомКонтекстноеМеню - 256 + РезультирующаяТаблицаУправлениеПоискомКонтекстноеМеню + 315 true SearchControlAddition - Вопросы + РезультирующаяТаблица true - ВопросыExtendedTooltip - 177 + РезультирующаяТаблицаExtendedTooltip + 194 Label true true @@ -1370,10 +2243,11 @@ - ВопросыКонтекстноеМеню - 137 + РезультирующаяТаблицаКонтекстноеМеню + 77 true + true true true true @@ -1408,16 +2282,15 @@ <key>ru</key> - <value>Вопросы:</value> + <value>Страница результирующая таблица</value> ru - Группа вопросы + Страница результирующая таблица - true - ГруппаВопросыExtendedTooltip - 176 + СтраницаРезультирующаяТаблицаExtendedTooltip + 193 Label true true @@ -1425,16 +2298,10 @@ Left - UsualGroup - + Page + Vertical - Auto - WeakSeparation - true - true auto - Auto - Auto true @@ -1444,376 +2311,16 @@ <key>ru</key> - <value>Страница вопросы</value> - - - СтраницаВопросыExtendedTooltip - 175 - Label - true - true - - Left - - - Page - - auto - - - - СтраницаПредопределенныеОтветыВКолонках - 33 - - ГруппаСоставКолонокОтветыВКолонках - 47 - - ВопросКолонкаОтветыВКолонках - 40 - true - true - - true - - - ПредставлениеВопросаДляКолонок - - None - - ВопросКолонкаОтветыВКолонкахExtendedTooltip - 181 - Label - true - true - - Left - - - - ВопросКолонкаОтветыВКолонкахКонтекстноеМеню - 41 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ОтветыКолонкиОтветыВКолонках - 42 - true - true - - true - - - Ответы - - false - None - - ОтветыКолонкиОтветыВКолонкахОтвет - 113 - true - true - - true - - - Ответы.Ответ - - - ОтветыКолонкиОтветыВКолонкахОтветExtendedTooltip - 184 - Label - true - true - - Left - - - - ОтветыКолонкиОтветыВКолонкахОтветКонтекстноеМеню - 114 - true - - InputField - Auto - true - Left - true - - - StartChoice - ОтветыКолонкиОтветыВКолонкахОтветНачалоВыбора - - true - true - true - true - true - true - Normal - - - ВопросДляКолонок - - - - - - ОтветыКолонкиОтветыВКолонкахКоманднаяПанель - 44 - - ЗаполнитьВариантыОтветовОтветыКолонки - 144 - true - true - - true - - false - - ЗаполнитьВариантыОтветовОтветыКолонкиExtendedTooltip - 182 - Label - true - true - - Left - - - Form.Command.ЗаполнитьВариантыОтветовОтветыКолонки - Normal - Picture - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - Left - true - - - BeforeAddRow - ОтветыКолонкиОтветыВКолонкахПередНачаломДобавления - - - OnChange - ОтветыКолонкиОтветыВКолонкахПриИзменении - - - ОтветыКолонкиОтветыВКолонкахСтрокаПоиска - 268 - - ОтветыКолонкиОтветыВКолонкахСтрокаПоискаРасширеннаяПодсказка - 270 - Label - true - true - - Left - - - - ОтветыКолонкиОтветыВКолонкахСтрокаПоискаКонтекстноеМеню - 269 - true - - ОтветыКолонкиОтветыВКолонках - - true - - - - ОтветыКолонкиОтветыВКолонкахСостояниеПросмотра - 271 - - ОтветыКолонкиОтветыВКолонкахСостояниеПросмотраРасширеннаяПодсказка - 273 - Label - true - true - - Left - - - - ОтветыКолонкиОтветыВКолонкахСостояниеПросмотраКонтекстноеМеню - 272 - true - - ViewStatusAddition - ОтветыКолонкиОтветыВКолонках - - true - - - - ОтветыКолонкиОтветыВКолонкахУправлениеПоиском - 274 - - ОтветыКолонкиОтветыВКолонкахУправлениеПоискомРасширеннаяПодсказка - 276 - Label - true - true - - Left - - - - ОтветыКолонкиОтветыВКолонкахУправлениеПоискомКонтекстноеМеню - 275 - true - - SearchControlAddition - ОтветыКолонкиОтветыВКолонках - - true - - - - ОтветыКолонкиОтветыВКолонкахExtendedTooltip - 183 - Label - true - true - - Left - - - - ОтветыКолонкиОтветыВКолонкахКонтекстноеМеню - 43 - true - - true - true - true - true - true - MultiRow - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - true - true - None - None - None - true - - - - ВопросДляКолонок - 125 - true - - true - - - ВопросДляКолонок - - - ВопросДляКолонокExtendedTooltip - 185 - Label - true - true - - Left - - - - ВопросДляКолонокКонтекстноеМеню - 126 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Состав колонок</value> - - - ru - Группа состав колонок ответы в колонках - - - ГруппаСоставКолонокОтветыВКолонкахExtendedTooltip - 180 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - auto - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Страница предопределенные ответы в колонках</value> + <value>Страницы</value> ru - Страница предопределенные ответы в колонках + Страницы + false - СтраницаПредопределенныеОтветыВКолонкахExtendedTooltip - 179 + СтраницыExtendedTooltip + 149 Label true true @@ -1821,540 +2328,9 @@ Left - Page - - auto - - - - СтраницаПредопределенныеОтветыВСтроках - 32 - - ГруппаСоставСтрокОтветыВСтроках - 53 - - ВопросСтрокаОтветыВСтроках - 59 - true - true - - true - - - ПредставлениеВопросаДляСтрок - - None - - ВопросСтрокаОтветыВСтрокахExtendedTooltip - 188 - Label - true - true - - Left - - - - ВопросСтрокаОтветыВСтрокахКонтекстноеМеню - 60 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ОтветыСтрокиОтветыВСтроках - 54 - true - true - - true - - - Ответы - - false - None - - ОтветыСтрокиОтветыВСтрокахОтвет - 107 - true - true - - true - - - Ответы.Ответ - - - ОтветыСтрокиОтветыВСтрокахОтветExtendedTooltip - 191 - Label - true - true - - Left - - - - ОтветыСтрокиОтветыВСтрокахОтветКонтекстноеМеню - 108 - true - - InputField - Auto - true - Left - true - - - StartChoice - ОтветыСтрокиОтветыВСтрокахОтветНачалоВыбора - - true - true - true - true - true - true - Normal - - - ВопросДляСтрок - - - - - - ОтветыСтрокиОтветыВСтрокахКоманднаяПанель - 56 - - ЗаполнитьВариантыОтветовОтветыСтроки - 143 - true - true - - true - - false - - ЗаполнитьВариантыОтветовОтветыСтрокиExtendedTooltip - 189 - Label - true - true - - Left - - - Form.Command.ЗаполнитьВариантыОтветовОтветыСтроки - Normal - Picture - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - Left - true - - - BeforeAddRow - ОтветыСтрокиОтветыВСтрокахПередНачаломДобавления - - - OnChange - ОтветыСтрокиОтветыВСтрокахПриИзменении - - - ОтветыСтрокиОтветыВСтрокахСтрокаПоиска - 288 - - ОтветыСтрокиОтветыВСтрокахСтрокаПоискаРасширеннаяПодсказка - 290 - Label - true - true - - Left - - - - ОтветыСтрокиОтветыВСтрокахСтрокаПоискаКонтекстноеМеню - 289 - true - - ОтветыСтрокиОтветыВСтроках - - true - - - - ОтветыСтрокиОтветыВСтрокахСостояниеПросмотра - 291 - - ОтветыСтрокиОтветыВСтрокахСостояниеПросмотраРасширеннаяПодсказка - 293 - Label - true - true - - Left - - - - ОтветыСтрокиОтветыВСтрокахСостояниеПросмотраКонтекстноеМеню - 292 - true - - ViewStatusAddition - ОтветыСтрокиОтветыВСтроках - - true - - - - ОтветыСтрокиОтветыВСтрокахУправлениеПоиском - 294 - - ОтветыСтрокиОтветыВСтрокахУправлениеПоискомРасширеннаяПодсказка - 296 - Label - true - true - - Left - - - - ОтветыСтрокиОтветыВСтрокахУправлениеПоискомКонтекстноеМеню - 295 - true - - SearchControlAddition - ОтветыСтрокиОтветыВСтроках - - true - - - - ОтветыСтрокиОтветыВСтрокахExtendedTooltip - 190 - Label - true - true - - Left - - - - ОтветыСтрокиОтветыВСтрокахКонтекстноеМеню - 55 - true - - true - true - true - true - true - MultiRow - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - true - true - None - None - None - true - - - - ВопросДляСтрок - 123 - true - - true - - - ВопросДляСтрок - - - ВопросДляСтрокExtendedTooltip - 192 - Label - true - true - - Left - - - - ВопросДляСтрокКонтекстноеМеню - 124 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Состав строк:</value> - - - ru - Группа состав строк ответы в строках - - - ГруппаСоставСтрокОтветыВСтрокахExtendedTooltip - 187 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - auto - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Состав строк:</value> - - - ru - Страница предопределенные ответы в строках - - - СтраницаПредопределенныеОтветыВСтрокахExtendedTooltip - 186 - Label - true - true - - Left - - - Page - - auto - - - - СтраницаРезультирующаяТаблица - 70 - - РезультирующаяТаблица - 76 - true - true - - true - - - РезультирующаяТаблица - - false - None - None - - РезультирующаяТаблицаКоманднаяПанель - 78 - Left - true - - - РезультирующаяТаблицаСтрокаПоиска - 307 - - РезультирующаяТаблицаСтрокаПоискаРасширеннаяПодсказка - 309 - Label - true - true - - Left - - - - РезультирующаяТаблицаСтрокаПоискаКонтекстноеМеню - 308 - true - - РезультирующаяТаблица - - true - - - - РезультирующаяТаблицаСостояниеПросмотра - 310 - - РезультирующаяТаблицаСостояниеПросмотраРасширеннаяПодсказка - 312 - Label - true - true - - Left - - - - РезультирующаяТаблицаСостояниеПросмотраКонтекстноеМеню - 311 - true - - ViewStatusAddition - РезультирующаяТаблица - - true - - - - РезультирующаяТаблицаУправлениеПоиском - 313 - - РезультирующаяТаблицаУправлениеПоискомРасширеннаяПодсказка - 315 - Label - true - true - - Left - - - - РезультирующаяТаблицаУправлениеПоискомКонтекстноеМеню - 314 - true - - SearchControlAddition - РезультирующаяТаблица - - true - - - - РезультирующаяТаблицаExtendedTooltip - 194 - Label - true - true - - Left - - - - РезультирующаяТаблицаКонтекстноеМеню - 77 - true - - true - true - true - true - true - true - MultiRow -
          true
          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - true - true - None - None - None - true - -
          - true - true - - true - - - <key>ru</key> - <value>Страница результирующая таблица</value> - - - ru - Страница результирующая таблица - - - СтраницаРезультирующаяТаблицаExtendedTooltip - 193 - Label - true - true - - Left - - - Page - - Vertical - auto + Pages + + Auto
          true @@ -2362,18 +2338,13 @@ true - - <key>ru</key> - <value>Страницы</value> - ru - Страницы + Группа основные страницы - false - СтраницыExtendedTooltip - 149 + ГруппаОсновныеСтраницыРасширеннаяПодсказка + 209 Label true true @@ -2381,8 +2352,15 @@ Left - Pages - + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto Auto
          @@ -2423,52 +2401,14 @@ true System.DefaultGUIFont - 9.0 - true + 10.0 + false false false false
          - - СтраницыПодвал - 202 - true - true - - true - - - <key>ru</key> - <value>Страницы подвал</value> - - - ru - Страницы подвал - - - СтраницыПодвалРасширеннаяПодсказка - 203 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - auto - Auto - Auto - - ГруппаКнопки 10 @@ -2477,7 +2417,7 @@ 127 <key>ru</key> - <value><Назад</value> + <value>< Назад</value> true true @@ -2499,11 +2439,9 @@ Form.Command.ПредыдущаяСтраница Normal true + 1 true UserCmds - - Style.FormBackColor - Style.FormBackColor @@ -2534,6 +2472,7 @@ Label true + 1 true true false @@ -2549,7 +2488,7 @@ 12 <key>ru</key> - <value>Далее></value> + <value>Далее ></value> true true @@ -2649,6 +2588,7 @@ ru Группа далее + 1 ГруппаДалееРасширеннаяПодсказка 205 @@ -2674,6 +2614,7 @@ Группа кнопки true + false ГруппаКнопкиExtendedTooltip 196 @@ -2687,10 +2628,8 @@ UsualGroup Auto - WeakSeparation true true - auto Auto Auto diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Help/ru.html b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Help/ru.html index 57cb7681a..9818d7a56 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Help/ru.html +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Help/ru.html @@ -1,20 +1,76 @@ - -

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

          -

           

          -

          На первой странице мастера необходимо выбрать тип табличного вопроса. Табличные вопросы могут быть четырех типов:

          -

           

          -
          • Составной табличный вопрос -
          • Табличный вопрос с предопределенными ответами в колонках -
          • Табличный вопрос с предопределенными ответами в строках -
          • Табличный вопрос с предопределенными ответами в строках и колонках

           

          -

          Составной табличный вопрос:

          -

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

          -

           

          -

          Табличный вопрос с предопределенными ответами в строках:

          -

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

          -

           

          -

          Табличный вопрос с предопределенными ответами в колонках:

          -

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

          -

           

          -

          Табличный вопрос с предопределенными ответами в строках и колонках:

          -

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

          \ No newline at end of file + +

          Мастер предназначен для ввода и редактирования табличных вопросов анкеты.

          +

          Открывается по команде Добавить - табличный вопрос из шаблона анкеты.

          +

          Выбор типа табличного вопроса

          +

          Составной табличный вопрос

          +
          • +
            Для составного табличного вопроса задается состав вопросов. Заданные вопросы будут отображаться в качестве заголовков колонок таблицы.
            +
          • +
            Респондент, отвечающий на вопросы анкеты, сможет добавить произвольное количество строк в таблицу при ответе.
            +
          • +
            С помощью команды Добавить выберите необходимое количество вопросов из списка.
            +
          • +
            Нажмите Далее для просмотра получившейся таблицы.

          Табличный вопрос с предопределенными ответами в строках

          +
          • +
            Для данного типа табличного вопроса на второй странице помощника задается состав вопросов.
            +
          • +
            Нажмите Добавить, выберите как минимум два вопроса из списка.
          • +
            Заданные вопросы будут отображаться в качестве заголовков колонок таблицы в анкете респондента.
            +
          • Число строк в таблице фиксировано, при ответе респондент не сможет добавить или удалить строки из таблицы. Количество строк таблицы будет равно количеству предопределенных ответов. +
          • +
             Для первого вопроса на третьей странице помощника задайте предопределенные ответы, которые будут отображаться в строках первой колонки таблицы. Нажмите Добавить. Для добавления воспользуйтесь одним из способов:
            +
            • +
              Напишите варианты ответов для первого вопроса вручную.
              +
            • +
              Если был выбран вопрос типа Выбор одного или нескольких вариантов ответа из предложенных, то для того чтобы быстро перечислить возможные варианты ответов для первого введенного вопроса, можно воспользоваться кнопкой Заполнить варианты ответов.

          Табличный вопрос с предопределенными ответами в колонках

          +
          • +
            Этот тип табличного вопроса является вариантом предыдущего.
            +
          • +
            Для данного типа табличного вопроса задается состав вопросов. Заданные вопросы будут выведены в строках первой колонки таблицы. С помощью кнопки Добавить введите как минимум два вопроса.
            +
          • +
            +
            На третьей странице помощника составитель анкеты указывает предопределенные ответы на первый вопрос для колонок таблицы. Для этого нажмите Добавить. Для добавления воспользуйтесь одним из способов:
            +
            • +
              Напишите варианты ответов для первого вопроса вручную.
            • +
              Если был выбран вопрос типа Выбор одного или нескольких вариантов ответа из предложенных, то для того чтобы быстро перечислить все варианты, выбрав их из первого введенного вопроса, можно воспользоваться кнопкой Заполнить варианты ответов. 
          • Данные предопределенные ответы будут отображаться в качестве заголовков колонок таблицы. При ответе респондент не сможет добавить или удалить строки из таблицы. Количество строк таблицы будет равно количеству вопросов, уменьшенному на один (ответы на первый вопрос - это заголовки колонок, при этом первый вопрос в таблице не отображается).

          Табличный вопрос с предопределенными ответами в строках и колонках

          +
          • +
            Для данного типа табличного вопроса задается три вопроса. Нажмите Добавить, выберите вопросы из списка.
            +
          • +
            На третьей странице помощника необходимо задать предопределенные ответы на первые два вопроса.
            +
            • +
              Предопределенные ответы на первый вопрос будут отражаться в качестве заголовков строк таблицы.
              +
            • +
              Предопределенные ответы на второй вопрос будут отражаться в качестве заголовков колонок.
          • +
            Ответы на третий вопрос респондент должен будет указывать в ячейках таблицы.
            +
          • +
            Нажмите кнопку Добавить. Для добавления предопределенных вариантов ответов на первые два вопроса воспользуйтесь одним из способов:
            +
            • +
              Напишите варианты ответов вручную.
              +
            • Если были заранее созданы вопросы типа Выбор одного или нескольких вариантов ответа из предложенных, то для того чтобы быстро перечислить все ответы, можно воспользоваться кнопкой Заполнить варианты ответов. 
          +
          • +
            При ответе респондент не сможет добавить или удалить строки из таблицы. Количество строк таблицы будет равно количеству предопределенных ответов на первый вопрос.

            Просмотр готового табличного вопроса

            +
            • +
              На последней странице помощника для просмотра выводится таблица в том виде, в каком она будет выглядеть в анкете респондента. Если необходимо поменять состав вопросов или их расположение в таблице, можно вернуться на предыдущие шаги с помощью кнопки Назад.
              +
            • +
              Нажмите Готово для окончания редактирования.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Module.bsl b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Module.bsl index 86474cbf5..487382031 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Module.bsl +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаМастераТабличныхВопросов/Module.bsl @@ -20,13 +20,20 @@ Для каждого ЭлементМетаданных Из Метаданные.Перечисления.ТипыТабличныхВопросов.ЗначенияПеречисления Цикл Элементы.ТипТабличногоВопроса.СписокВыбора.Добавить(Перечисления.ТипыТабличныхВопросов[ЭлементМетаданных.Имя],ЭлементМетаданных.Синоним); КонецЦикла; - - //Установим первую страницу - Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаТипТабличногоВопроса; - + //Примем параметры формы владельца ОбработатьПараметрыФормыВладельца(); + //Установим страницу + Если Параметры.ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПустаяСсылка() Тогда + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаТипТабличногоВопроса; + Иначе + СформироватьРезультирующуюТаблицу(); + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаРезультирующаяТаблица; + КонецЕсли; + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, "ГруппаОсновныеСтраницы"); + КонецПроцедуры #КонецОбласти @@ -298,6 +305,8 @@ КонецЕсли; КонецЕсли; + Элементы.ГруппаОсновныеСтраницы.Заголовок = ИнформацияШапка; + КонецПроцедуры // Управляет доступностью реквизитов формы @@ -445,11 +454,11 @@ СтандартнаяОбработка = ЛОЖЬ; - МассивОтбора = Новый Массив; - МассивОтбора.Добавить(АнкетированиеКлиент.СоздатьСтруктуруПараметраОтбора(Тип("ЭлементОтбораКомпоновкиДанных"),"Владелец",ВидСравненияКомпоновкиДанных.Равно,ЭтотОбъект[Элемент.СвязьПоТипу.ПутьКДанным])); - МассивОтбора.Добавить(АнкетированиеКлиент.СоздатьСтруктуруПараметраОтбора(Тип("ЭлементОтбораКомпоновкиДанных"),"ПометкаУдаления",ВидСравненияКомпоновкиДанных.Равно,ЛОЖЬ)); + ПараметрыОтбора = Новый Структура; + ПараметрыОтбора.Вставить("Владелец", ЭтотОбъект[Элемент.СвязьПоТипу.ПутьКДанным]); + ПараметрыОтбора.Вставить("ПометкаУдаления", Ложь); - ОткрытьФорму("Справочник.ВариантыОтветовАнкет.Форма.ФормаВыбора",Новый Структура("МассивОтбора",МассивОтбора),Элемент); + ОткрытьФорму("Справочник.ВариантыОтветовАнкет.Форма.ФормаВыбора",Новый Структура("Отбор",ПараметрыОтбора),Элемент); КонецЕсли; @@ -610,19 +619,66 @@ Элементы.ОтветыКолонкиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок); Элементы.ОтветыСтрокиОтветыВСтрокахИКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок); + УстановитьСвязиПараметровВыбораОтветовИВопросов(); ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда Элементы.ОтветыСтрокиОтветыВСтроках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляСтрок); + УстановитьСвязиПараметровВыбораОтветовИВопросов(); ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда Элементы.ОтветыКолонкиОтветыВКолонках.ОтборСтрок = Новый ФиксированнаяСтруктура("ЭлементарныйВопрос",ВопросДляКолонок); + УстановитьСвязиПараметровВыбораОтветовИВопросов(); КонецЕсли; + КонецПроцедуры +&НаСервере +Процедура УстановитьСвязиПараметровВыбораОтветовИВопросов() + + Если ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках") Тогда + + УстановитьСвязьПараметраВыбораОтветаИВопроса("ОтветыКолонкиОтветыВСтрокахИКолонкахОтвет", "ВопросДляКолонок"); + УстановитьСвязьПараметраВыбораОтветаИВопроса("ОтветыСтрокиОтветыВСтрокахИКолонкахОтвет", "ВопросДляСтрок"); + + ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках") Тогда + + УстановитьСвязьПараметраВыбораОтветаИВопроса("ОтветыСтрокиОтветыВСтрокахОтвет", "ВопросДляСтрок"); + + ИначеЕсли ТипТабличногоВопроса = ПредопределенноеЗначение("Перечисление.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках") Тогда + + УстановитьСвязьПараметраВыбораОтветаИВопроса("ОтветыКолонкиОтветыВКолонкахОтвет", "ВопросДляКолонок"); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьСвязьПараметраВыбораОтветаИВопроса(ИмяПоляОтвета, ИмяРеквизитаВопрос) + + НайденныеВопросы = Вопросы.НайтиСтроки(Новый Структура("ЭлементарныйВопрос", ЭтотОбъект[ИмяРеквизитаВопрос])); + Если НайденныеВопросы.Количество() > 0 Тогда + НайденныйВопрос = НайденныеВопросы[0]; + Если НайденныйВопрос.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.ОдинВариантИз + ИЛИ НайденныйВопрос.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.НесколькоВариантовИз Тогда + МассивПараметровВыбора = Новый Массив; + СвязьПараметраВыбора = Новый СвязьПараметраВыбора("Отбор.Владелец", ИмяРеквизитаВопрос, РежимИзмененияСвязанногоЗначения.Очищать); + МассивПараметровВыбора.Добавить(СвязьПараметраВыбора); + СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивПараметровВыбора); + Элементы[ИмяПоляОтвета].СвязиПараметровВыбора = СвязиПараметровВыбора; + Иначе + Элементы[ИмяПоляОтвета].СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый Массив); + КонецЕсли; + Иначе + Элементы[ИмяПоляОтвета].СвязиПараметровВыбора = Новый ФиксированныйМассив(Новый Массив); + КонецЕсли; + +КонецПроцедуры + + // Вызывается при изменении элементов форма, связанных с таблицей ответов // Параметры // Элемент - ТаблицаФормы - ЭлементКоторыйВызвал изменение diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Form.form b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Form.form index f9db9666e..eded30927 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Form.form +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Form.form @@ -4,20 +4,114 @@ ru Вопрос шаблона анкеты - - ЭлементарныйВопрос - 3 + + ГруппаЭлементарныйОбязательный + 5 + + ЭлементарныйВопрос + 3 + true + true + + true + + + ЭлементарныйВопрос + + + ЭлементарныйВопросExtendedTooltip + 15 + Label + true + true + + Left + + + + ЭлементарныйВопросКонтекстноеМеню + 4 + true + + InputField + true + Enter + true + Left + true + + + StartChoice + ЭлементарныйВопросНачалоВыбора + + + ChoiceProcessing + ЭлементарныйВопросОбработкаВыбора + + 37 + true + true + false + true + Items + true + true + true + true + Normal + + + + Обязательный + 6 + true + true + + true + + + Обязательный + + Right + + ОбязательныйExtendedTooltip + 18 + Label + true + true + + Left + + + + ОбязательныйКонтекстноеМеню + 7 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - ЭлементарныйВопрос - + + <key>ru</key> + <value>Группа элементарный обязательный</value> + + + ru + Группа элементарный обязательный + + false - ЭлементарныйВопросExtendedTooltip - 15 + ГруппаЭлементарныйОбязательныйРасширеннаяПодсказка + 17 Label true true @@ -25,35 +119,13 @@ Left - - ЭлементарныйВопросКонтекстноеМеню - 4 - true - - InputField - true - Enter - true - Left - true - - - StartChoice - ЭлементарныйВопросНачалоВыбора - - - ChoiceProcessing - ЭлементарныйВопросОбработкаВыбора - - true - true - true - Items - true - true - true - true - Normal + UsualGroup + + Auto + true + true + Auto + Auto @@ -99,105 +171,21 @@ Normal - - ГруппаВысотаОбязательный - 5 - - Обязательный - 6 - true - true - - true - - - Обязательный - - Right - - ОбязательныйExtendedTooltip - 18 - Label - true - true - - Left - - - - ОбязательныйКонтекстноеМеню - 7 - true - - CheckBoxField - Enter - true - Left - true - - - - ВысотаЭлементаФормулировкиВопроса - 13 - true - true - - true - - - ВысотаЭлементаФормулировкиВопроса - - - ru - О - высота устанавливается автоматически, значение отличное от нуля задает высоту элемента в явном виде - - - ВысотаЭлементаФормулировкиВопросаExtendedTooltip - 19 - Label - true - true - - Left - - - - ВысотаЭлементаФормулировкиВопросаКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - + + Заметки + 24 true true true - - <key>ru</key> - <value>Группа высота обязательный</value> - - - ru - Группа высота обязательный - - false + + Заметки + + Left - ГруппаВысотаОбязательныйExtendedTooltip - 17 + ЗаметкиРасширеннаяПодсказка + 26 Label true true @@ -205,13 +193,31 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ЗаметкиКонтекстноеМеню + 25 + true + + InputField + Enter + true + Left + true + + + StartChoice + ЗаметкиНачалоВыбора + + true + true + false + true + true + true + true + true + true + Normal @@ -455,18 +461,15 @@ - ВысотаЭлементаФормулировкиВопроса + Заметки <key>ru</key> - <value>Высота элемента формулировки вопроса</value> + <value>Заметки</value> - 7 + 6 - Number - - 2 - true - + String + true @@ -474,6 +477,7 @@ true + true ПеренестиВШаблон diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Help/ru.html b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Help/ru.html new file mode 100644 index 000000000..7d15507a4 --- /dev/null +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Help/ru.html @@ -0,0 +1,10 @@ + +

            Предназначена для ввода простого вопроса в шаблон анкеты.

            +

            Открывается по команде Добавить - простой вопрос из шаблона анкеты.

            +

            Ввод простого вопроса в шаблон анкеты

            +
            • В поле Элементарный вопрос выберите вопрос из ранее подготовленного списка вопросов для анкетирования, после выбора вопроса в этом поле отражается его наименование. Можно создать вопрос в списке выбора, если нужного вопроса не нашлось. +
            • Поле Формулировка после выборе вопроса для анкетирования автоматически заполняется текстом формулировки вопроса. Здесь же можно изменить формулировку вопроса, которая будет видна респондентам в анкетах этого шаблона. +
            • Если флажок Обязательный установлен, то респондент не сможет завершить анкетирование, не ответив на этот вопрос. +
            • Напишите Заметки по поводу вопроса - уточняющую информацию, которая будет выводиться в нижней части шаблона анкеты.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Module.bsl b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Module.bsl index 47cd91ea6..7bebb684a 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Module.bsl +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаПростыхВопросов/Module.bsl @@ -11,7 +11,7 @@ ЗаполнитьЗначенияСвойств(ЭтотОбъект,Параметры); Если ТипСтрокиДерева = "Раздел" Тогда - Элементы.ГруппаВысотаОбязательный.Видимость = Ложь; + Элементы.Обязательный.Видимость = Ложь; Элементы.ЭлементарныйВопрос.Видимость = Ложь; Элементы.Формулировка.Заголовок = НСтр("ru = 'Имя раздела'"); Заголовок = НСтр("ru = 'Раздел шаблона анкеты'"); @@ -65,6 +65,14 @@ КонецПроцедуры +&НаКлиенте +Процедура ЗаметкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + ОповещениеОЗакрытии = Новый ОписаниеОповещения("РедактированиеЗаметкиПриЗакрытии", ЭтотОбъект); + ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(ОповещениеОЗакрытии, Элемент.ТекстРедактирования, НСтр("ru = 'Заметки'")); + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -102,10 +110,10 @@ Функция СформироватьСтруктуруПараметровДляПередачиВладельцу() СтруктураВозврата = Новый Структура; - СтруктураВозврата.Вставить("Обязательный",Обязательный); - СтруктураВозврата.Вставить("Формулировка",Формулировка); - СтруктураВозврата.Вставить("ЭлементарныйВопрос",ЭлементарныйВопрос); - СтруктураВозврата.Вставить("ВысотаЭлементаФормулировкиВопроса",ВысотаЭлементаФормулировкиВопроса); + СтруктураВозврата.Вставить("Обязательный", Обязательный); + СтруктураВозврата.Вставить("Формулировка", Формулировка); + СтруктураВозврата.Вставить("ЭлементарныйВопрос", ЭлементарныйВопрос); + СтруктураВозврата.Вставить("Заметки", Заметки); Возврат СтруктураВозврата; @@ -134,4 +142,14 @@ КонецФункции +&НаКлиенте +Процедура РедактированиеЗаметкиПриЗакрытии(ТекстВозврата, ДополнительныеПараметры) Экспорт + + Если Заметки <> ТекстВозврата Тогда + Заметки = ТекстВозврата; + Модифицированность = Истина; + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Form.form b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Form.form index aadc2e013..19e058a8f 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Form.form +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 14 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -133,10 +168,10 @@ СписокСтрокаПоиска - 14 + 16 СписокСтрокаПоискаРасширеннаяПодсказка - 16 + 18 Label true true @@ -146,7 +181,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 15 + 17 true Список @@ -156,10 +191,10 @@ СписокСостояниеПросмотра - 17 + 19 СписокСостояниеПросмотраРасширеннаяПодсказка - 19 + 21 Label true true @@ -169,7 +204,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 18 + 20 true ViewStatusAddition @@ -180,10 +215,10 @@ СписокУправлениеПоиском - 20 + 22 СписокУправлениеПоискомРасширеннаяПодсказка - 22 + 24 Label true true @@ -193,7 +228,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 21 + 23 true SearchControlAddition @@ -254,6 +289,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Module.bsl b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Module.bsl index fba8a80c3..d4dfe5939 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаСписка/Module.bsl @@ -62,8 +62,7 @@ | Ответ, | НомерСтроки | ), - | ВопросыШаблонаАнкеты.Формулировка, - | ВопросыШаблонаАнкеты.ВысотаЭлементаФормулировкиВопроса + | ВопросыШаблонаАнкеты.Формулировка |ИЗ | Справочник.ВопросыШаблонаАнкеты КАК ВопросыШаблонаАнкеты |ГДЕ @@ -115,7 +114,7 @@ СсылкаНового = Справочники.ВопросыШаблонаАнкеты.ПолучитьСсылку(); НовыйЭлемент.УстановитьСсылкуНового(СсылкаНового); - ЗаполнитьЗначенияСвойств(НовыйЭлемент,Выборка,,"Владелец,Родитель,СоставТабличногоВопроса,ПредопределенныеОтветы,Код,РодительВопрос,ВысотаЭлементаФормулировкиВопроса"); + ЗаполнитьЗначенияСвойств(НовыйЭлемент,Выборка,,"Владелец,Родитель,СоставТабличногоВопроса,ПредопределенныеОтветы,Код,РодительВопрос"); СоставТабличногоВопроса = Выборка.СоставТабличногоВопроса.Выгрузить(); СоставТабличногоВопроса.Сортировать("НомерСтроки Возр"); НовыйЭлемент.СоставТабличногоВопроса.Загрузить(СоставТабличногоВопроса); diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Form.form b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Form.form index d344fc533..6410a1e86 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Form.form @@ -272,51 +272,6 @@ ДеревоАнкеты 7 - - ИнформацияДерево - 70 - true - true - - true - - - ИнформацияДерево - - None - - ИнформацияДеревоExtendedTooltip - 88 - Label - true - true - - Left - - - - ИнформацияДеревоКонтекстноеМеню - 71 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - 9.0 - true - false - false - false - - - ФормаДереваАнкеты 15 @@ -366,6 +321,7 @@ Left true + 4 true true true @@ -380,7 +336,7 @@ 23 <key>ru</key> - <value>Вопросы:</value> + <value>Вопрос</value> true true @@ -413,6 +369,7 @@ true true + true false true true @@ -504,6 +461,7 @@ ДеревоАнкеты.Обязательный + None ДеревоАнкетыОбязательныйExtendedTooltip 111 @@ -522,11 +480,16 @@ InputField Auto true + + CommonPicture.ВосклицательныйЗнакСерый + Left true + 4 true true + true true true true @@ -534,19 +497,20 @@ - ДеревоАнкетыЗаметки - 75 + ФормаДереваАнкетыЕстьЗаметки + 115 true true true - ДеревоАнкеты.Заметки + ДеревоАнкеты.ЕстьЗаметки + None - ДеревоАнкетыЗаметкиExtendedTooltip - 112 + ФормаДереваАнкетыЕстьЗаметкиРасширеннаяПодсказка + 117 Label true true @@ -555,40 +519,179 @@ - ДеревоАнкетыЗаметкиКонтекстноеМеню - 76 + ФормаДереваАнкетыЕстьЗаметкиКонтекстноеМеню + 116 true - InputField + PictureField Auto true + + CommonPicture.Комментарий + Left true - + + 3 true true - true - true - true - true - Normal + true + true + + CommonPicture.Комментарий + + + + 1 + ФормаДереваАнкетыКоманднаяПанель 17 - - ФормаДереваАнкетыДобавить - 68 + + ФормаДереваАнкетыПодменюДобавить + 113 + + ДеревоАнкетыКоманднаяПанельДобавитьРаздел + 29 + + <key>ru</key> + <value>раздел</value> + + true + true + + true + + false + + ДеревоАнкетыКоманднаяПанельДобавитьРазделExtendedTooltip + 98 + Label + true + true + + Left + + + Form.Command.ДобавитьРаздел + Normal + Auto + true + true + UserCmds + Auto + + + ДеревоАнкетыКоманднаяПанельДобавитьВопрос + 30 + + <key>ru</key> + <value>простой вопрос</value> + + true + true + + true + + false + + ДеревоАнкетыКоманднаяПанельДобавитьВопросExtendedTooltip + 99 + Label + true + true + + Left + + + Form.Command.ДобавитьПростойВопрос + Normal + Auto + true + true + UserCmds + Auto + + + ДеревоАнкетыКоманднаяПанельДобавитьТабличныйВопрос + 64 + + <key>ru</key> + <value>табличный вопрос</value> + + true + true + + true + + false + + ДеревоАнкетыКоманднаяПанельДобавитьТабличныйВопросExtendedTooltip + 100 + Label + true + true + + Left + + + Form.Command.ДобавитьТабличныйВопрос + Normal + Auto + true + true + UserCmds + Auto + + + ДеревоАнкетыКоманднаяПанельДобавитьВопросСУсловием + 63 + + <key>ru</key> + <value>вопрос c условием</value> + + true + true + + true + + false + + ДеревоАнкетыКоманднаяПанельДобавитьВопросСУсловиемExtendedTooltip + 101 + Label + true + true + + Left + + + Form.Command.ДобавитьВопросСУсловием + Normal + Auto + true + true + UserCmds + Auto + true true true - false + + <key>ru</key> + <value>Добавить</value> + + + ru + Форма дерева анкеты подменю добавить + - ФормаДереваАнкетыДобавитьExtendedTooltip - 97 + ФормаДереваАнкетыПодменюДобавитьРасширеннаяПодсказка + 114 Label true true @@ -596,121 +699,11 @@ Left - Form.Item.ФормаДереваАнкеты.StandardCommand.Add - Normal - Picture - true - true - UserCmds - Auto - - - ДеревоАнкетыКоманднаяПанельДобавитьРаздел - 29 - true - true - - true - - false - - ДеревоАнкетыКоманднаяПанельДобавитьРазделExtendedTooltip - 98 - Label - true - true - - Left - - - Form.Command.ДобавитьРаздел - Normal - Auto - true - true - UserCmds - Auto - - - ДеревоАнкетыКоманднаяПанельДобавитьВопрос - 30 - true - true - - true - - false - - ДеревоАнкетыКоманднаяПанельДобавитьВопросExtendedTooltip - 99 - Label - true - true - - Left - - - Form.Command.ДобавитьПростойВопрос - Normal - Auto - true - true - UserCmds - Auto - - - ДеревоАнкетыКоманднаяПанельДобавитьТабличныйВопрос - 64 - true - true - - true - - false - - ДеревоАнкетыКоманднаяПанельДобавитьТабличныйВопросExtendedTooltip - 100 - Label - true - true - - Left - - - Form.Command.ДобавитьТабличныйВопрос - Normal - Auto - true - true - UserCmds - Auto - - - ДеревоАнкетыКоманднаяПанельДобавитьВопросСУсловием - 63 - true - true - - true - - false - - ДеревоАнкетыКоманднаяПанельДобавитьВопросСУсловиемExtendedTooltip - 101 - Label - true - true - - Left - - - Form.Command.ДобавитьВопросСУсловием - Normal - Auto - true - true - UserCmds - Auto + Popup + + Auto + Normal + ДеревоАнкетыКоманднаяПанельРедактировать @@ -864,10 +857,10 @@ ФормаДереваАнкетыСтрокаПоиска - 125 + 123 ФормаДереваАнкетыСтрокаПоискаРасширеннаяПодсказка - 127 + 125 Label true true @@ -877,7 +870,7 @@ ФормаДереваАнкетыСтрокаПоискаКонтекстноеМеню - 126 + 124 true ФормаДереваАнкеты @@ -887,10 +880,10 @@ ФормаДереваАнкетыСостояниеПросмотра - 128 + 126 ФормаДереваАнкетыСостояниеПросмотраРасширеннаяПодсказка - 130 + 128 Label true true @@ -900,7 +893,7 @@ ФормаДереваАнкетыСостояниеПросмотраКонтекстноеМеню - 129 + 127 true ViewStatusAddition @@ -911,10 +904,10 @@ ФормаДереваАнкетыУправлениеПоиском - 131 + 129 ФормаДереваАнкетыУправлениеПоискомРасширеннаяПодсказка - 133 + 131 Label true true @@ -924,7 +917,7 @@ ФормаДереваАнкетыУправлениеПоискомКонтекстноеМеню - 132 + 130 true SearchControlAddition @@ -1208,290 +1201,25 @@ None true - - СтраницыИнформация - 43 - - СтраницаИнформация - 48 - - Информация - 52 - true - true - - true - - - Информация - - None - - ИнформацияExtendedTooltip - 115 - Label - true - true - - Left - - - - ИнформацияКонтекстноеМеню - 53 - true - - LabelField - true - Enter - true - Left - true - - true - 3 - true - - System.DefaultGUIFont - MS Shell Dlg - 10.0 - true - false - false - false - - - - true - true - - true - - - ru - Страница информация - - - СтраницаИнформацияExtendedTooltip - 114 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаПустаяТаблица - 57 - - ПустаяТаблица - 58 - true - true - - true - - - ПустаяТаблица - - false - None - - ПустаяТаблицаПустаяКолонка - 61 - true - true - - true - - - ПустаяТаблица.ПустаяКолонка - - - ПустаяТаблицаПустаяКолонкаExtendedTooltip - 118 - Label - true - true - - Left - - - - ПустаяТаблицаПустаяКолонкаКонтекстноеМеню - 62 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ПустаяТаблицаКоманднаяПанель - 60 - Left - true - - - ПустаяТаблицаСтрокаПоиска - 148 - - ПустаяТаблицаСтрокаПоискаРасширеннаяПодсказка - 150 - Label - true - true - - Left - - - - ПустаяТаблицаСтрокаПоискаКонтекстноеМеню - 149 - true - - ПустаяТаблица - - true - - - - ПустаяТаблицаСостояниеПросмотра - 151 - - ПустаяТаблицаСостояниеПросмотраРасширеннаяПодсказка - 153 - Label - true - true - - Left - - - - ПустаяТаблицаСостояниеПросмотраКонтекстноеМеню - 152 - true - - ViewStatusAddition - ПустаяТаблица - - true - - - - ПустаяТаблицаУправлениеПоиском - 154 - - ПустаяТаблицаУправлениеПоискомРасширеннаяПодсказка - 156 - Label - true - true - - Left - - - - ПустаяТаблицаУправлениеПоискомКонтекстноеМеню - 155 - true - - SearchControlAddition - ПустаяТаблица - - true - - - - ПустаяТаблицаExtendedTooltip - 117 - Label - true - true - - Left - - - - ПустаяТаблицаКонтекстноеМеню - 59 - true - - true - true - true - true - true - MultiRow -
            true
            - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - true - true - None - None - None - true - -
            - true - true - - true - - - СтраницаПустаяТаблицаExtendedTooltip - 116 - Label - true - true - - Left - - - Page - - Vertical - auto - -
            + + ДеревоАнкетыЗаметки + 75 true true true + + Items.ФормаДереваАнкеты.CurrentData.Заметки + + Left + + OnChange + ДеревоАнкетыЗаметкиПриИзменении + - СтраницыИнформацияExtendedTooltip - 113 + ДеревоАнкетыЗаметкиExtendedTooltip + 112 Label true true @@ -1499,9 +1227,32 @@ Left - Pages - - Auto + + ДеревоАнкетыЗаметкиКонтекстноеМеню + 76 + true + + InputField + Auto + true + Left + true + + + StartChoice + ДеревоАнкетыЗаметкиНачалоВыбора + + true + 2 + true + false + true + true + true + true + true + true + Normal true @@ -1511,7 +1262,7 @@ <key>ru</key> - <value>Вопросы анкеты</value> + <value>Вопросы</value> ru @@ -1631,7 +1382,7 @@ ПриСозданииНаСервере Copy - LockOwner + DontBlock true true true @@ -2063,27 +1814,6 @@ true - - ВысотаЭлементаФормулировкиВопроса - - <key>ru</key> - <value>Высота элемента формулировки вопроса</value> - - 22 - - Number - - 2 - true - - - - true - - - true - - Заметки @@ -2102,6 +1832,23 @@ <common>true</common> </edit> </columns> + <columns> + <name>ЕстьЗаметки</name> + <title> + <key>ru</key> + <value>Есть заметки</value> + + 24 + + Boolean + + + true + + + true + + ДеревоАнкеты.СоставТабличногоВопроса @@ -2204,57 +1951,6 @@ - - Информация - 4 - - String - - 300 - - - - true - - - true - - - - ПустаяТаблица - - <key>ru</key> - <value>Пустая таблица</value> - - 5 - - ValueTable - - - true - - - true - - - ПустаяКолонка - - <key>ru</key> - <value>Пустая колонка</value> - - 1 - - String - - - - true - - - true - - - ИнформацияДерево diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..2294ae438 --- /dev/null +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для подготовки шаблона <a href="Document.Анкета.Form.ФормаДокумента/Help">анкеты</a>.</p> +<p>Подготовка анкет осуществляется в два этапа. Вначале необходимо подготовить <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования/Help">вопросы</a>, из которых будет состоять предполагаемая анкета. Затем, используя подготовленные вопросы, нужно составить шаблон анкеты. В дальнейшем по этому шаблону программа автоматически создает анкету в тот момент, когда респондент начинает ее заполнять.</p> +<p>Укажите <strong>Наименование</strong> шаблона. Поле <strong>Наименование</strong> отображается в <a href="Catalog.ШаблоныАнкет/Help">списке шаблонов</a>.</p> +<p>Шаблон анкеты состоит из двух вкладок - <strong>Заголовки</strong> и <strong>Вопросы</strong>.</p> +<h3>Заголовки</h3> +<ul><li>Укажите <strong>Заголовок</strong>, который будет отображаться в анкете при ее заполнении респондентом. +</li><li> +<div>Анкета может состоять из нескольких разделов, при этом два раздела, <strong>Вступление</strong> и <strong>Заключение</strong>, являются обязательными и присутствуют в любой анкете.</div> +</li><li> +<div>Напишите <strong>Вступление</strong>. В этом разделе можно поприветствовать респондента, объяснить ему особенности заполнения анкеты. Текст будет показан респонденту в начале анкетирования.</div> +</li><li> +<div>Напишите <strong>Заключение</strong>. В этом разделе можно поблагодарить респондента за заполненную анкету. Текст будет показан респонденту при завершении анкетирования.</div></li></ul><h3>Вопросы</h3> +<ul><li>В любой анкете содержится как минимум один раздел с вопросами. +</li><li>Сформируйте список вопросов анкеты. Список вопросов состоит из колонок: +<ul><li><strong>Вопрос</strong> - выводится наименование разделов и вопросов анкеты; +</li><li><strong><img src="CommonPicture.ВосклицательныйЗнакСерый"></img> Обязательный</strong> - выводится <strong>Да</strong>, если у вопроса установлен флажок <strong>Обязательный</strong>, <strong>Нет</strong> - если не установлен; +</li><li><strong><img src="CommonPicture.Комментарий" width="16" height="16"></img> Заметки</strong> - выводится <img src="CommonPicture.Комментарий"></img>, если введены дополнительные сведения о вопросе. Для того чтобы просмотреть заметки в нижней части списка, выделите вопрос.</li></ul></li><li>По соответствующей кнопке можно <strong>Добавить</strong> новый элемент в анкету (также можно воспользоваться контекстным меню по правой кнопке мыши). Выберите <strong>Тип элемента</strong>: +<ul><li><strong>Раздел</strong> +<ul><li>Задайте <strong>Имя раздела</strong>. В поле <strong>Заметки</strong> напишите уточняющую информацию о разделе, которая будет отображаться в нижней части шаблона или анкеты. Необходимо добавить хотя бы один раздел. Для того чтобы добавить раздел, также можно нажать <strong>Ctrl+F9</strong>. </li></ul></li><li><a href="#1">Простой вопрос</a>; +</li><li><a href="#2">Табличный вопрос</a>; +</li><li><a href="#3">Вопрос с условием</a>. </li></ul></li><li> +<div>Если анкета состоит из большого количества вопросов, то для удобства работы респондента с анкетой рекомендуется сгруппировать вопросы по нескольким разделам. Для комфортной работы респондента с анкетой рекомендуется включать в раздел не более 10-15 вопросов.</div> +</li><li> +<div>С помощью кнопок <img src="StdPicture.MoveUp"></img> <strong>Переместить вверх</strong> и <img src="StdPicture.MoveDown"></img> <strong>Переместить вниз</strong> можно установить порядок следования вопросов в разделе и самих разделов в анкете. Порядком следования можно управлять при помощи перетаскивания мышью разделов и вопросов. При помощи перетаскивания мышью можно переносить вопросы из раздела в раздел. </div> +</li><li> +<div>При удалении раздела вместе с ним удаляются вопросы, входящие в него.</div></li></ul><h3>Просмотр анкеты</h3> +<ul><li> +<div>При выборе в разделах шаблона анкеты табличного вопроса можно увидеть его внешний вид в нижней части шаблона. Для того чтобы получить представление о том, каким образом будет выглядеть вся анкета при заполнении ее респондентом, можно воспользоваться командой <strong>Форма заполнения</strong>.</div></li></ul><h3>Сохранение шаблона анкеты</h3> +<ul><li>Если работу над шаблоном планируется продолжить, нажмите <strong>Записать и закрыть</strong>.</li></ul><h3>Запрет редактирования шаблона</h3> +<ul><li>После того как список вопросов в шаблоне анкеты окончательно сформирован, можно запретить возможность его редактирования в дальнейшем. Для этого нажмите <strong>Закончить редактирование</strong>. +</li><li>Если по шаблону анкеты программой была создана хотя бы одна анкета, то шаблон анкеты автоматически становится недоступным для редактирования. Для корректного анализа ответов на анкеты в отчетах необходимо, чтобы шаблон анкеты остался неизменным, так как анализ данных производится для всех анкет, в которых указано, что они заполнены по данному шаблону.</li></ul><h3><a name="#1">Простой вопрос</a></h3> +<ul><li>Нажмите <strong>Добавить - Простой вопрос</strong>, для того чтобы подобрать в шаблон вопрос из списка <strong>Вопросы для анкетирования</strong>. Также можно использовать сочетание клавиш <strong>Shift+F6</strong>. +</li><li>Заполните следующие поля, для того чтобы создать <strong>Вопрос шаблона анкеты</strong>: +<ul><li>В поле <strong>Элементарный вопрос</strong> выберите вопрос из ранее подготовленного списка вопросов для анкетирования. В этом поле отражается наименование <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования.Form.ФормаЭлемента/Help">вопроса</a>. Можно создать вопрос в <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования.Form.ФормаВыбора/Help">списке выбора</a>, если нужного вопроса не нашлось. +</li><li>Поле <strong>Формулировка</strong> автоматически заполняется текстом формулировки вопроса после выбора вопроса для анкетирования. Здесь же можно изменить формулировку вопроса, которая будет видна респондентам в анкетах этого шаблона. +</li><li><strong>Обязательный</strong> - если флажок установлен, то респондент не сможет завершить анкетирование, не ответив на этот вопрос. +</li><li>В поле <strong>Заметки</strong> напишите по поводу вопроса уточняющую информацию, которая будет выводиться в нижней части анкеты.</li></ul></li></ul><h3><a name="#2">Табличный вопрос</a></h3> +<ul><li>В таблицах удобно вводить однотипные структурированные данные. Например, сведения о составе семьи удобно поместить в таблицу. В столбцах будут вопросы о членах семьи, в строках будут перечислены по порядку члены семьи и их характеристики будут размещены в порядке вопросов таблицы. +</li><li>Команда <strong>Добавить - Табличный вопрос</strong> открывает <a href="Catalog.ШаблоныАнкет.Form.ФормаМастераТабличныхВопросов/Help">Помощник табличных вопросов</a>. Следуйте инструкциям помощника, для того чтобы ввести табличный вопрос.</li></ul><h3>В<a name="#3">опрос</a> с условием</h3> +<ul><li>Существуют ситуации, когда респонденту нет смысла задавать вопрос, если не выполняется какое-либо условие. Например, нет смысла задавать вопросы респонденту о том, как часто он пользуется автосервисом и автомобильной мойкой, если у респондента нет автомобиля. +</li><li>В таком случае при составлении шаблона анкеты можно создать вопрос с условием, например, о наличии у респондента автомобиля и дополнительно перечислить подчиненные вопросы, например, об автосервисе и автомойке. +</li><li>При положительном ответе на вопрос с условием респонденту будет также предложено ответить и на подчиненные вопросы. В противном случае подчиненные вопросы останутся недоступными. +</li><li>Для создания вопросов с условием можно воспользоваться командой <strong>Добавить - Вопрос с условием</strong>, также можно воспользоваться сочетанием клавиш <strong>Shift+F8</strong>. Вопросами с условием могут быть только вопросы типа <strong>Булево</strong> (<strong>Да/Нет</strong>). +</li><li>К каждому вопросу с условием необходимо добавить один или несколько подчиненных вопросов с помощью команд <strong>Добавить - Простой вопрос</strong>, <strong>Добавить - Табличный вопрос</strong>. При этом подчиненные вопросы выводятся под своим родительским условным вопросом.</li></ul><h3>См. также:</h3> +<ul><li> +<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Module.bsl b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Module.bsl index abfaa9c79..7cba82c0a 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/Catalogs/ШаблоныАнкет/Forms/ФормаЭлемента/Module.bsl @@ -52,14 +52,12 @@ Если ИмяСобытия = "ОкончаниеРедактированияПараметровТабличногоВопроса" Тогда ОбработатьРезультатРаботыМастераТабличныхВопросов(ТекущиеДанные,Параметр,Элементы.ФормаДереваАнкеты.ТекущаяСтрока); - ОбновитьИнформациюТабличныйВопрос(ТекущиеДанные); Модифицированность = Истина; ИначеЕсли ИмяСобытия = "ОкончаниеРедактированияПараметровСтрокиШаблонаАнкеты" Тогда ЗаполнитьЗначенияСвойств(ТекущиеДанные,Параметр); Модифицированность = Истина; - Информация = СформироватьСтрокуФормулировкиДляПревью(ТекущиеДанные); Если ТекущиеДанные.ТипСтроки <> "Вопрос" Тогда ТекущиеДанные.Обязательный = Неопределено; @@ -134,14 +132,6 @@ Возврат; КонецЕсли; - СтраницаПревьюТабличногоВопроса = Элементы.Найти("Страница_ПревьюТабличногоВопроса_" + СтрЗаменить(Строка(ТекущиеДанные.КлючСтроки),"-","_")); - Если СтраницаПревьюТабличногоВопроса <> Неопределено Тогда - Элементы.СтраницыИнформация.ТекущаяСтраница = СтраницаПревьюТабличногоВопроса; - Иначе - Информация = СформироватьСтрокуФормулировкиДляПревью(ТекущиеДанные); - Элементы.СтраницыИнформация.ТекущаяСтраница = Элементы.СтраницаИнформация; - КонецЕсли; - КонецПроцедуры &НаКлиенте @@ -321,10 +311,10 @@ Отказ = Истина; СписокВыбора = Новый СписокЗначений; - СписокВыбора.Добавить(НСтр("ru = 'Раздел'")); - СписокВыбора.Добавить(НСтр("ru = 'Простой вопрос'")); - СписокВыбора.Добавить(НСтр("ru = 'Условный вопрос'")); - СписокВыбора.Добавить(НСтр("ru = 'Табличный вопрос'")); + СписокВыбора.Добавить("Раздел"); + СписокВыбора.Добавить("Простой вопрос"); + СписокВыбора.Добавить("Условный вопрос"); + СписокВыбора.Добавить("Табличный вопрос"); ОбработчикОповещенияОЗакрытии = Новый ОписаниеОповещения("ВыборТипаДобавляемогоЭлементаПриЗавершении", ЭтотОбъект); СписокВыбора.ПоказатьВыборЭлемента(ОбработчикОповещенияОЗакрытии, НСтр("ru = 'Выберите тип добавляемого элемента.'"),СписокВыбора[0]); @@ -352,31 +342,42 @@ Возврат; КонецЕсли; - Если (Поле.Имя = "ДеревоАнкетыЗаметки") И (ТекущиеДанные.ТипСтроки <> "Корень") Тогда + Если ТекущиеДанные.ТипСтроки = "Корень" Тогда + Отказ = Истина; + Возврат; + ИначеЕсли ТекущиеДанные.ТипСтроки = "Раздел" + ИЛИ (ТекущиеДанные.ТипСтроки = "Вопрос" И ТекущиеДанные.ТипВопроса <> ПредопределенноеЗначение("Перечисление.ТипыВопросовШаблонаАнкеты.Табличный") ) Тогда + + ОткрытьФормуПростыхВопросов(ТекущиеДанные); + + ИначеЕсли ТекущиеДанные.ТипСтроки = "Вопрос" И ТекущиеДанные.ТипВопроса = ПредопределенноеЗначение("Перечисление.ТипыВопросовШаблонаАнкеты.Табличный") Тогда + + ОткрытьФормуМастераТабличныхВопросов(ТекущиеДанные); - ДополнительныеПараметры = Новый Структура("СтрокаРедактирования", ВыбраннаяСтрока); - ОбработчикОповещения = Новый ОписаниеОповещения("РедактированиеЗаметокПриОкончании", ЭтотОбъект, ДополнительныеПараметры); - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(ОбработчикОповещения, - Элемент.ДанныеСтроки(ВыбраннаяСтрока).Заметки, - Нстр("ru='Заметки'")); - Иначе - Если ТекущиеДанные.ТипСтроки = "Корень" Тогда - Отказ = Истина; - Возврат; - ИначеЕсли ТекущиеДанные.ТипСтроки = "Раздел" - ИЛИ (ТекущиеДанные.ТипСтроки = "Вопрос" И ТекущиеДанные.ТипВопроса <> ПредопределенноеЗначение("Перечисление.ТипыВопросовШаблонаАнкеты.Табличный") ) Тогда - - ОткрытьФормуПростыхВопросов(ТекущиеДанные); - - ИначеЕсли ТекущиеДанные.ТипСтроки = "Вопрос" И ТекущиеДанные.ТипВопроса = ПредопределенноеЗначение("Перечисление.ТипыВопросовШаблонаАнкеты.Табличный") Тогда - - ОткрытьФормуМастераТабличныхВопросов(ТекущиеДанные); - - КонецЕсли; КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура ДеревоАнкетыЗаметкиПриИзменении(Элемент) + + ТекущиеДанные = Элементы.ФормаДереваАнкеты.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + ТекущиеДанные.ЕстьЗаметки = Не ПустаяСтрока(ТекущиеДанные.ЕстьЗаметки); + +КонецПроцедуры + +&НаКлиенте +Процедура ДеревоАнкетыЗаметкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + ОповещениеОЗакрытии = Новый ОписаниеОповещения("РедактированиеЗаметкиПриЗакрытии", ЭтотОбъект); + ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(ОповещениеОЗакрытии, Элемент.ТекстРедактирования, НСтр("ru = 'Заметки'")); + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -576,13 +577,13 @@ &НаСервере Процедура ЗаписатьДеревоШаблонаАнкеты(СтрокаДереваРодитель,УровеньРекурсии,СправочникРодитель = Неопределено) - Счётчик = 0; + Счетчик = 0; //запишем новые Для каждого СтрокаДерева Из СтрокаДереваРодитель.Строки Цикл - Счётчик = Счётчик + 1; - СпрСсылка = ДобавитьЭлементСправочникаВопросШаблонаАнкеты(СтрокаДерева,?(УровеньРекурсии = 1,Счётчик,Неопределено),СправочникРодитель); + Счетчик = Счетчик + 1; + СпрСсылка = ДобавитьЭлементСправочникаВопросШаблонаАнкеты(СтрокаДерева,?(УровеньРекурсии = 1,Счетчик,Неопределено),СправочникРодитель); Если СтрокаДерева.Строки.Количество() > 0 Тогда Если СтрокаДерева.ТипСтроки = "Раздел" Тогда @@ -615,7 +616,6 @@ СпрОбъект.РодительВопрос = ?(ВопросРодитель = Неопределено, Справочники.ВопросыШаблонаАнкеты.ПустаяСсылка(),ВопросРодитель); ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(СтрокаДерева.СоставТабличногоВопроса,СпрОбъект.СоставТабличногоВопроса); ОбщегоНазначенияКлиентСервер.ДополнитьТаблицу(СтрокаДерева.ПредопределенныеОтветы,СпрОбъект.ПредопределенныеОтветы); - СпрОбъект.ВысотаЭлементаФормулировкиВопроса = СтрокаДерева.ВысотаЭлементаФормулировкиВопроса; КонецЕсли; @@ -667,58 +667,10 @@ ЗаполнитьЗначенияСвойств(ТекущиеДанные.ПредопределенныеОтветы.Добавить(),Ответ); КонецЦикла; - ОбработатьПревьюТабличногоВопроса(ТекущаяСтрока); УстановитьУсловноеОформлениеФормы(); КонецПроцедуры -&НаСервере -Процедура ОбработатьПревьюТабличногоВопроса(ТекущаяСтрока) - - ДанныеДереваАнкеты = ДеревоАнкеты.НайтиПоИдентификатору(ТекущаяСтрока); - Если ДанныеДереваАнкеты = Неопределено Тогда - Возврат; - КонецЕсли; - - ДобавитьСтраницуПревьюТабличногоВопроса(ДанныеДереваАнкеты.ТипТабличногоВопроса, - ДанныеДереваАнкеты.СоставТабличногоВопроса.Выгрузить(), - ДанныеДереваАнкеты.ПредопределенныеОтветы.Выгрузить(), - ДанныеДереваАнкеты.КлючСтроки); - -КонецПроцедуры - -&НаСервере -Процедура ДобавитьСтраницуПревьюТабличногоВопроса(ТипТабличногоВопроса,СоставТабличногоВопроса,ПредопределенныеОтветы,КлючСтроки) - - ДобавляемыеРеквизиты = Новый Массив; - ИмяТаблицы = "ПревьюТабличногоВопроса_" + СтрЗаменить(Строка(КлючСтроки),"-","_"); - - Если Элементы.Найти("Страница_" + ИмяТаблицы) = Неопределено Тогда - - ЭлементСтраница = Элементы.Добавить("Страница_" + ИмяТаблицы,Тип("ГруппаФормы"),Элементы.СтраницыИнформация); - ЭлементСтраница.Вид = ВидГруппыФормы.Страница; - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяТаблицы,Новый ОписаниеТипов("ТаблицаЗначений"))); - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Формулировка_" + ИмяТаблицы,Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(150)))); - - ИзменитьРеквизиты(ДобавляемыеРеквизиты); - - Элемент = Элементы.Добавить("Формулировка_" + ИмяТаблицы,Тип("ПолеФормы"),ЭлементСтраница); - Элемент.ПутьКДанным = "Формулировка_" + ИмяТаблицы; - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - Элемент.Шрифт = Новый Шрифт("MS Shell Dlg",10,Истина); - - Элемент = Элементы.Добавить(ИмяТаблицы,Тип("ТаблицаФормы"),ЭлементСтраница); - Элемент.ТолькоПросмотр = Истина; - Элемент.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; - Элемент.ПутьКДанным = ИмяТаблицы; - - КонецЕсли; - - Анкетирование.ОбновитьПревьюТабличныйВопрос(СоставТабличногоВопроса,ПредопределенныеОтветы,ТипТабличногоВопроса,ЭтотОбъект,ИмяТаблицы,КлючСтроки); - -КонецПроцедуры - //Устанавливает условное оформление формы &НаСервере Процедура УстановитьУсловноеОформлениеФормы(); @@ -822,31 +774,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ОбновитьИнформациюТабличныйВопрос(ТекущиеДанные) - - СтрокаКлюч = СтрЗаменить(Строка(ТекущиеДанные.КлючСтроки),"-","_"); - ИмяТаблицы = "ПревьюТабличногоВопроса_" + СтрокаКлюч; - ИмяРеквизита = "Формулировка_" + ИмяТаблицы; - ЭтотОбъект[ИмяРеквизита] = СформироватьСтрокуФормулировкиДляПревью(ТекущиеДанные); - -КонецПроцедуры - -// Формирует строку с представлением вопроса для отображения в страницах превью -// -// Параметры -// ТекущиеДанные - ДанныеФормыЭлементДерева - данные строки дерева -// -// Возвращаемое значение: -// Строка - возвращаемая строка -// -&НаКлиенте -Функция СформироватьСтрокуФормулировкиДляПревью(ТекущиеДанные) - - Возврат ТекущиеДанные.ПолныйКод + " " + ТекущиеДанные.Формулировка; - -КонецФункции - &НаКлиенте Процедура ОпределитьДоступностьДереваШаблона() @@ -866,12 +793,6 @@ Элементы.ДеревоАнкетыКонтекстноеМенюДобавитьВопросСУсловием.Доступность = НЕ НедоступностьРедактирования; Элементы.ДеревоАнкетыКонтекстноеМенюДобавитьТабличныйВопрос.Доступность = НЕ НедоступностьРедактирования; - Если НовыйЭлемент Тогда - ИнформацияДерево = НСтр("ru = 'Для редактирования вопросов необходимо записать шаблон анкеты'"); - Иначе - ИнформацияДерево = НСтр("ru = 'Дерево редактирования вопросов шаблона анкеты'"); - КонецЕсли; - КонецПроцедуры &НаКлиенте @@ -907,7 +828,7 @@ СтруктураПараметры.Вставить("ЗакрыватьПриВыборе",Истина); СтруктураПараметры.Вставить("ЗакрыватьПриЗакрытииВладельца",Истина); СтруктураПараметры.Вставить("ТолькоПросмотр",Ложь); - СтруктураПараметры.Вставить("ВысотаЭлементаФормулировкиВопроса",ТекущиеДанные.ВысотаЭлементаФормулировкиВопроса); + СтруктураПараметры.Вставить("Заметки", ТекущиеДанные.Заметки); ОткрытьФорму("Справочник.ШаблоныАнкет.Форма.ФормаПростыхВопросов",СтруктураПараметры,ЭтотОбъект); @@ -962,19 +883,19 @@ Если НЕ ВыбранныйЭлемент = Неопределено Тогда - Если ВыбранныйЭлемент.Значение = НСтр("ru = 'Раздел'") Тогда + Если ВыбранныйЭлемент.Значение = "Раздел" Тогда ДобавитьРаздел(Команды.ДобавитьРаздел); - ИначеЕсли ВыбранныйЭлемент.Значение = НСтр("ru = 'Простой вопрос'") Тогда + ИначеЕсли ВыбранныйЭлемент.Значение = "Простой вопрос" Тогда ДобавитьПростойВопрос(Команды.ДобавитьПростойВопрос) - ИначеЕсли ВыбранныйЭлемент.Значение = НСтр("ru = 'Условный вопрос'") Тогда + ИначеЕсли ВыбранныйЭлемент.Значение = "Условный вопрос" Тогда ДобавитьВопросСУсловием(Команды.ДобавитьВопросСУсловием) - ИначеЕсли ВыбранныйЭлемент.Значение = НСтр("ru = 'Табличный вопрос'") Тогда + ИначеЕсли ВыбранныйЭлемент.Значение = "Табличный вопрос" Тогда ДобавитьТабличныйВопрос(Команды.ДобавитьТабличныйВопрос); @@ -1005,15 +926,17 @@ КонецПроцедуры &НаКлиенте -Процедура РедактированиеЗаметокПриОкончании(ИзмененныйТекст, ДополнительныеПараметры) Экспорт - - ДанныеСтроки = Элементы.ФормаДереваАнкеты.ДанныеСтроки(ДополнительныеПараметры.СтрокаРедактирования); +Процедура РедактированиеЗаметкиПриЗакрытии(ТекстВозврата, ДополнительныеПараметры) Экспорт - Если ДанныеСтроки.Заметки <> ИзмененныйТекст Тогда - ДанныеСтроки.Заметки = ИзмененныйТекст; - Модифицированность = Истина; + ТекущиеДанные = Элементы.ФормаДереваАнкеты.ТекущиеДанные; + Если ТекущиеДанные <> Неопределено Тогда + Если ТекущиеДанные.Заметки <> ТекстВозврата Тогда + ТекущиеДанные.Заметки = ТекстВозврата; + ТекущиеДанные.ЕстьЗаметки = Не ПустаяСтрока(ТекущиеДанные.Заметки); + Модифицированность = Истина; + КонецЕсли; КонецЕсли; - + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Catalogs/ШаблоныАнкет/Help/ru.html b/SSL/src/Catalogs/ШаблоныАнкет/Help/ru.html new file mode 100644 index 000000000..83904c587 --- /dev/null +++ b/SSL/src/Catalogs/ШаблоныАнкет/Help/ru.html @@ -0,0 +1,13 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для управления шаблонами <a href="Document.Анкета.Form.ФормаДокумента/Help">анкеты</a>.</p> +<p>Открывается по команде <strong>Шаблоны анкет</strong> раздела <strong>Анкетирование</strong>.</p> +<p>В списке выводится <strong>Наименование</strong> шаблона и его <strong>Код</strong>, который автоматически присваивается программой.</p> +<h3>Ввод шаблона анкеты</h3> +<p>Нажмите <strong>Создать</strong>, заполните необходимые <a href="Catalog.ШаблоныАнкет.Form.ФормаЭлемента/Help">поля</a>.</p> +<h3>Группировка шаблонов</h3> +<ul><li>Шаблоны можно группировать. Для этого введите необходимое количество групп. +</li><li>Нажмите <strong>Создать группу</strong>, введите <strong>Наименование</strong>. Группу можно подчинить одной из существующих. Для этого в поле <strong>Родитель </strong>укажите группу из списка. +</li><li>Перетащите шаблоны в соответствующие группы или в группах введите шаблоны.</li></ul><h3>Выбор шаблона анкеты</h3> +<ul><li>Выделите шаблон анкеты, нажмите <strong>Выбрать</strong>. +</li><li>Также можно воспользоваться двойным щелчком мыши.</li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Catalogs/ШаблоныАнкет/ШаблоныАнкет.mdo b/SSL/src/Catalogs/ШаблоныАнкет/ШаблоныАнкет.mdo index 76fc7a13a..ab703a082 100644 --- a/SSL/src/Catalogs/ШаблоныАнкет/ШаблоныАнкет.mdo +++ b/SSL/src/Catalogs/ШаблоныАнкет/ШаблоныАнкет.mdo @@ -107,6 +107,11 @@ <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> <createOnInput>Use</createOnInput> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <dataLockControlMode>Managed</dataLockControlMode> <fullTextSearch>Use</fullTextSearch> <objectPresentation> @@ -215,6 +220,11 @@ <key>ru</key> <value>Форма элемента</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -247,6 +257,11 @@ <key>ru</key> <value>Форма простых вопросов</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -256,6 +271,11 @@ <key>ru</key> <value>Форма выбора</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> diff --git a/SSL/src/Catalogs/ШаблоныЗаданийОчереди/ManagerModule.bsl b/SSL/src/Catalogs/ШаблоныЗаданийОчереди/ManagerModule.bsl new file mode 100644 index 000000000..65ca5a2a3 --- /dev/null +++ b/SSL/src/Catalogs/ШаблоныЗаданийОчереди/ManagerModule.bsl @@ -0,0 +1,17 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +//////////////////////////////////////////////////////////////////////////////// +// Загрузка данных из файла + +// Запрещает загрузку данных в этот справочник из подсистемы "ЗагрузкаДанныхИзФайла" +// Пакетная загрузка данных в этот справочник небезопасна +// +Функция ИспользоватьЗагрузкуДанныхИзФайла() Экспорт + Возврат Ложь; +КонецФункции + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Catalogs/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.mdo index acc963cec..1e0242aef 100644 --- a/SSL/src/Catalogs/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы/ЭлектронноеПисьмоВходящееПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> - <createOnInput>Use</createOnInput> + <createOnInput>DontUse</createOnInput> <dataLockControlMode>Managed</dataLockControlMode> <fullTextSearch>Use</fullTextSearch> <objectPresentation> @@ -115,7 +115,6 @@ <key>ru</key> <value>Автор</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -180,7 +179,6 @@ <key>ru</key> <value>Дата создания</value> </synonym> - <comment>Дата добавления файла в базу</comment> <type> <types>Date</types> <dateQualifiers/> @@ -223,7 +221,6 @@ <key>ru</key> <value>Изменил</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -247,7 +244,6 @@ <key>ru</key> <value>Индекс картинки</value> </synonym> - <comment>Индекс иконки, соответствующей расширению файла, для показа в списке</comment> <type> <types>Number</types> <numberQualifiers> @@ -271,7 +267,6 @@ <key>ru</key> <value>Описание</value> </synonym> - <comment>Описание файла</comment> <type> <types>String</types> <stringQualifiers/> @@ -312,7 +307,6 @@ <key>ru</key> <value>Путь к файлу</value> </synonym> - <comment>Дополнительный путь к файлу на диске (в случае если тип хранения файла - на диске)</comment> <type> <types>String</types> <stringQualifiers/> @@ -333,7 +327,6 @@ <key>ru</key> <value>Размер</value> </synonym> - <comment>Размер файла</comment> <type> <types>Number</types> <numberQualifiers> @@ -424,7 +417,6 @@ <key>ru</key> <value>Текст</value> </synonym> - <comment>Текст, извлеченный из файла - для полнотекстового поиска</comment> <type> <types>ValueStorage</types> </type> @@ -444,7 +436,6 @@ <key>ru</key> <value>Тип хранения файла</value> </synonym> - <comment>Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске</comment> <type> <types>EnumRef.ТипыХраненияФайлов</types> </type> @@ -464,7 +455,6 @@ <key>ru</key> <value>Том</value> </synonym> - <comment>Ссылка на том (в случае если тип хранения файла - на диске)</comment> <type> <types>CatalogRef.ТомаХраненияФайлов</types> </type> @@ -484,7 +474,6 @@ <key>ru</key> <value>Файл хранилище</value> </synonym> - <comment>Служебное поле для обмена файлами в РИБ</comment> <type> <types>ValueStorage</types> </type> @@ -621,7 +610,6 @@ <key>ru</key> <value>Отпечаток</value> </synonym> - <comment>Отпечаток сертификата</comment> <type> <types>String</types> <stringQualifiers> @@ -677,7 +665,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> @@ -758,7 +745,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> diff --git a/SSL/src/Catalogs/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.mdo b/SSL/src/Catalogs/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.mdo index e8dd616dd..279a4f6dc 100644 --- a/SSL/src/Catalogs/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.mdo +++ b/SSL/src/Catalogs/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы/ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы.mdo @@ -94,7 +94,7 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> - <createOnInput>Use</createOnInput> + <createOnInput>DontUse</createOnInput> <dataLockControlMode>Managed</dataLockControlMode> <fullTextSearch>Use</fullTextSearch> <objectPresentation> @@ -115,7 +115,6 @@ <key>ru</key> <value>Автор</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -180,7 +179,6 @@ <key>ru</key> <value>Дата создания</value> </synonym> - <comment>Дата добавления файла в базу</comment> <type> <types>Date</types> <dateQualifiers/> @@ -223,7 +221,6 @@ <key>ru</key> <value>Изменил</value> </synonym> - <comment>Автор - пользователь, добавивший файл</comment> <type> <types>CatalogRef.Пользователи</types> </type> @@ -247,7 +244,6 @@ <key>ru</key> <value>Индекс картинки</value> </synonym> - <comment>Индекс иконки, соответствующей расширению файла, для показа в списке</comment> <type> <types>Number</types> <numberQualifiers> @@ -271,7 +267,6 @@ <key>ru</key> <value>Описание</value> </synonym> - <comment>Описание файла</comment> <type> <types>String</types> <stringQualifiers/> @@ -311,7 +306,6 @@ <key>ru</key> <value>Путь к файлу</value> </synonym> - <comment>Дополнительный путь к файлу на диске (в случае если тип хранения файла - на диске)</comment> <type> <types>String</types> <stringQualifiers/> @@ -332,7 +326,6 @@ <key>ru</key> <value>Размер</value> </synonym> - <comment>Размер файла</comment> <type> <types>Number</types> <numberQualifiers> @@ -423,7 +416,6 @@ <key>ru</key> <value>Текст</value> </synonym> - <comment>Текст, извлеченный из файла - для полнотекстового поиска</comment> <type> <types>ValueStorage</types> </type> @@ -443,7 +435,6 @@ <key>ru</key> <value>Тип хранения файла</value> </synonym> - <comment>Где хранятся файлы - в базе как ХранилищеЗначения или в каталоге на диске</comment> <type> <types>EnumRef.ТипыХраненияФайлов</types> </type> @@ -463,7 +454,6 @@ <key>ru</key> <value>Том</value> </synonym> - <comment>Ссылка на том (в случае если тип хранения файла - на диске)</comment> <type> <types>CatalogRef.ТомаХраненияФайлов</types> </type> @@ -483,7 +473,6 @@ <key>ru</key> <value>Файл хранилище</value> </synonym> - <comment>Служебное поле для обмена файлами в РИБ</comment> <type> <types>ValueStorage</types> </type> @@ -620,7 +609,6 @@ <key>ru</key> <value>Отпечаток</value> </synonym> - <comment>Отпечаток сертификата</comment> <type> <types>String</types> <stringQualifiers> @@ -676,7 +664,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> @@ -757,7 +744,6 @@ <key>ru</key> <value>Сертификат</value> </synonym> - <comment>Двоичные данные сертификата</comment> <type> <types>ValueStorage</types> </type> diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Form.form index cb50e8a06..77bf4b01c 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Form.form @@ -48,8 +48,10 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:LabelFieldExtInfo"> + <width>10</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> </extInfo> </items> <items xsi:type="form:FormField"> @@ -86,6 +88,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:LabelFieldExtInfo"> + <width>30</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> </extInfo> diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..6ffe3031b --- /dev/null +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,17 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для выбора <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования/Help">вопросов</a>.</p> +<p>Открывается при выборе вопроса по команде <strong>Добавить - простой вопрос</strong> в <a href="Catalog.ШаблоныАнкет.Form.ФормаЭлемента/Help">шаблоне анкеты</a> или в <a href="Catalog.ШаблоныАнкет.Form.ФормаМастераТабличныхВопросов/Help">Помощнике создания табличных вопросов</a>.</p> +<p>Одним из важных этапов подготовки <a href="Document.Анкета.Form.ФормаСписка/Help">анкет</a> является составление вопросов. </p> +<p>В общем списке содержатся вопросы, которые могут быть включены в любую <a href="Document.Анкета.Form.ФормаДокумента/Help">анкету</a>. Эти вопросы называются элементарными, т.к. могут использоваться в качестве элементов более сложных конструкций.</p> +<p>В списке выводится:</p> +<ul><li><strong>Код</strong> - проставляется автоматически; +</li><li><strong>Наименование</strong> - краткое наименование вопроса. </li></ul><h3>Выбор вопроса</h3> +<ul><li> +<div>Выделите вопрос, нажмите <strong>Выбрать</strong>.</div> +</li><li> +<p>Также можно выбирать вопросы двойным щелчком мыши.</p></li></ul><h3>Ввод нового вопроса</h3> +<ul><li>Для того чтобы добавить в список отсутствующий вопрос, нажмите <strong>Создать</strong>, заполните необходимые <a href="ChartOfCharacteristicTypes.ВопросыДляАнкетирования.Form.ФормаЭлемента/Help">поля</a>.</li></ul><h3>Группировка вопросов</h3> +<ul><li>Вопросы в списке можно группировать, например, по темам анкет. +</li><li>Нажмите <strong>Создать группу</strong>, введите <strong>Наименование группы</strong>. Можно подчинить эту группу одной из имеющихся. Для этого в поле <strong>Родитель</strong> выберите группу из списка. +</li><li>Введите необходимое количество групп. Перетащите вопросы в соответствующие группы или введите вопросы в выбранную группу.</li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаСписка/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаСписка/Form.form index ba38324ed..59faf6f2a 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаСписка/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>17</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible/> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + +
            Список 1 @@ -48,8 +83,10 @@ Left true + 8 true true + false @@ -86,8 +123,10 @@ Left true + 20 true true + false @@ -124,8 +163,10 @@ Left true + 30 true true + false @@ -170,10 +211,10 @@
            СписокСтрокаПоиска - 17 + 19 СписокСтрокаПоискаРасширеннаяПодсказка - 19 + 21 Label true true @@ -183,7 +224,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 18 + 20 true Список @@ -193,10 +234,10 @@ СписокСостояниеПросмотра - 20 + 22 СписокСостояниеПросмотраРасширеннаяПодсказка - 22 + 24 Label true true @@ -206,7 +247,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 21 + 23 true ViewStatusAddition @@ -217,10 +258,10 @@ СписокУправлениеПоиском - 23 + 25 СписокУправлениеПоискомРасширеннаяПодсказка - 25 + 27 Label true true @@ -230,7 +271,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 24 + 26 true SearchControlAddition @@ -291,6 +332,7 @@ true true + ГруппаПользовательскихНастроек
            diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Form.form index 2be1aac6d..5a05cac81 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Form.form @@ -39,8 +39,10 @@ Left true + 44 true true + false true true true @@ -80,8 +82,10 @@ Left true + 11 true true + false true true true @@ -149,8 +153,10 @@ Left true + 43 true true + false true true true @@ -169,6 +175,7 @@ Объект.Формулировка + Left ПредставлениеExtendedTooltip 97 @@ -190,15 +197,122 @@ Left true + + StartChoice + ПредставлениеНачалоВыбора + + 61 true + 2 true + false + false true + true + true true true true Normal
            + + ТипОтвета + 9 + true + true + + true + + + ТипОтвета + + + OnChange + ТипОтветаПриИзменении + + + ТипОтветаExtendedTooltip + 102 + Label + true + true + + Left + + + + ТипОтветаКонтекстноеМеню + 10 + true + + InputField + true + Auto + true + Left + true + + 43 + true + true + false + true + true + false + ShowInInputField + false + false + false + false + true + true + true + true + + Style.ФонУправляющегоПоля + + Normal + 43 + + + + ТипЗаполнение + 19 + true + true + + true + + + <key>ru</key> + <value>Тип заполнение</value> + + + ru + Тип заполнение + + 72 + false + + ТипЗаполнениеExtendedTooltip + 101 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + Комментарий 18 @@ -272,8 +386,10 @@ Left true + 40 true true + false true true true @@ -290,6 +406,8 @@ ru Комментарий + 72 + false КомментарийExtendedTooltip 98 @@ -309,121 +427,6 @@ Auto - - ТипЗаполнение - 19 - - ТипОтвета - 9 - true - true - - true - - - ТипОтвета - - - OnChange - ТипОтветаПриИзменении - - - ТипОтветаExtendedTooltip - 102 - Label - true - true - - Left - - - - ТипОтветаКонтекстноеМеню - 10 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - true - true - Normal - - - - ЗаполнятьАвтоматически - 15 - true - - true - - - Объект.ЗаполнятьАвтоматически - - - ЗаполнятьАвтоматическиExtendedTooltip - 103 - Label - true - true - - Left - - - - ЗаполнятьАвтоматическиКонтекстноеМеню - 16 - true - - CheckBoxField - Auto - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Тип заполнение</value> - - - ru - Тип заполнение - - - ТипЗаполнениеExtendedTooltip - 101 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - ЗависимыеПараметры 20 @@ -818,12 +821,14 @@ Left true + 72 true true + false System.DefaultGUIFont - 9.0 - true + 10.0 + false false false false @@ -913,9 +918,7 @@ 89 true true - - true - + ВариантыОтветов.РеквизитДопУпорядочивания @@ -940,8 +943,10 @@ Left true + 3 true true + false @@ -980,8 +985,10 @@ Left true + 20 true true + true true true true @@ -1000,6 +1007,7 @@ ВариантыОтветов.ТребуетОткрытогоОтвета + None ТребуетОткрытогоОтветаExtendedTooltip 125 @@ -1018,6 +1026,9 @@ CheckBoxField Auto true + + CommonPicture.Комментарий + Left true @@ -1136,10 +1147,10 @@ ТаблицаВариантыОтветовСтрокаПоиска - 147 + 146 ТаблицаВариантыОтветовСтрокаПоискаРасширеннаяПодсказка - 149 + 148 Label true true @@ -1149,7 +1160,7 @@ ТаблицаВариантыОтветовСтрокаПоискаКонтекстноеМеню - 148 + 147 true ТаблицаВариантыОтветов @@ -1159,10 +1170,10 @@ ТаблицаВариантыОтветовСостояниеПросмотра - 150 + 149 ТаблицаВариантыОтветовСостояниеПросмотраРасширеннаяПодсказка - 152 + 151 Label true true @@ -1172,7 +1183,7 @@ ТаблицаВариантыОтветовСостояниеПросмотраКонтекстноеМеню - 151 + 150 true ViewStatusAddition @@ -1183,10 +1194,10 @@ ТаблицаВариантыОтветовУправлениеПоиском - 153 + 152 ТаблицаВариантыОтветовУправлениеПоискомРасширеннаяПодсказка - 155 + 154 Label true true @@ -1196,7 +1207,7 @@ ТаблицаВариантыОтветовУправлениеПоискомКонтекстноеМеню - 154 + 153 true SearchControlAddition @@ -1222,8 +1233,10 @@ true true + 72 true true + 8 true Row
            true
            @@ -1235,7 +1248,6 @@ true Auto Auto - true true true @@ -1285,38 +1297,6 @@ auto
            - - ЗначениеИнформационнойБазы - 48 - true - true - - true - - - <key>ru</key> - <value>Значение информационной базы</value> - - - ru - Значение информационной базы - - - ЗначениеИнформационнойБазыExtendedTooltip - 126 - Label - true - true - - Left - - - Page - - Vertical - auto - - Пустая 51 @@ -1344,8 +1324,10 @@ true Label + 77 true true + false false Left @@ -1364,6 +1346,8 @@ ru Пустая + 72 + false ПустаяExtendedTooltip 127 @@ -1393,6 +1377,8 @@ ru Зависимые параметры + 72 + false ЗависимыеПараметрыExtendedTooltip 104 @@ -1422,7 +1408,7 @@ OnCreateAtServer ПриСозданииНаСервере - LockOwner + DontBlock true true true diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..289d2346a --- /dev/null +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,24 @@ + +

            Предназначена для ввода вопроса.

            +

            Одним из важных этапов подготовки анкет является составление вопросов.

            +

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

            +

            Ввод вопроса

            +
            • В поле Наименование введите краткое представление вопроса, которое выводится при подборе вопросов в шаблоны анкет. +
            • Для того чтобы поместить вопрос в одну из групп, в поле Родитель выберите группу из списка. +
            • В поле Формулировка можно ввести развернутый текст вопроса, который будет затем выведен в соответствующее поле шаблона анкеты. По умолчанию, текст автоматически подставляется из поля Наименование. +
            • Содержание и формы ответов респондента зависят от значения поля Тип ответа, которое может быть одним из следующих: +
              • Строка - в этом случае от респондента требуется ввести ответ в виде текстовой строки, +
                • В поле Длина строки задайте ограничение по количеству символов строки. Поле является обязательным.
              • Текст - ответ вводится респондентов в текстовом поле длиной до 1024 символов. Длинный ответ можно ввести в отдельном окне. +
              • Число - при ответе на вопрос этого типа респондент вводит число. +
                • В поле Длина задайте количество знаков числа. Поле является обязательным. +
                • В поле Точность задайте количество знаков после запятой. По умолчанию равна 0.  +
                • Можно задать Минимальное и Максимальное значение числа. При попытке ввода респондентом числа, которое не удовлетворяет ограничению, указанного в полях Минимальное значение и Максимальное значение, будет выдано предупреждение о вводе некорректных данных. +
                • Включите флажок Агрегировать сумму в отчетах, для того чтобы в отчете Анализ опроса выводилась общая сумму по всем анкетам, в которых заполнен ответ на этот вопрос.
              • Дата - при ответе на вопрос этого типа респондент вводит дату. +
              • Булево - респонденту доступен выбор одного из двух значений: Да или Нет. +
              • Выбор одного варианта ответа из предложенных - с помощью этого типа ответа можно предложить респонденту выбрать один из вариантов ответа с помощью переключателей. Возможные варианты ответов составитель может задать в списке. +
              • Выбор нескольких вариантов ответа из предложенных - респондент может отметить произвольное количество вариантов ответа с помощью флажков. Возможные варианты ответов составитель может задать в списке. +
                • Если в списке у варианта ответа установить флажок Требует открытого ответа, то респонденту будет предложено дать развернутый ответ в текстовом поле рядом с вариантом ответа, прокомментировав таким образом свой выбор.
              • Помимо перечисленных типов ответов, также имеется возможность выбрать в качестве типа ответа один из некоторых списков программы. В этом случае респондент будет выбирать в качестве ответа на вопрос элемент списка программы.
            • Установка флажка Требуется комментарий на этапе подготовки вопроса позволит респонденту при заполнении анкеты в текстовом поле рядом с ответом разъяснить свой ответ. +
              • В случае установки флажка в поле Пояснение комментария нужно указать текст, который будет выводиться перед текстовым полем разъяснения респондента. Поле является обязательным. +
              • Флажок Требуется комментарий недоступен при выборе типа ответа Текст и Выбор нескольких вариантов ответа из предложенных. В ответе типа Текст и так можно дать развернутый ответ. Для ответа типа Выбор нескольких вариантов ответа из предложенных при необходимости предусмотрен вывод поля с комментарием для каждого варианта ответа.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Module.bsl b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Module.bsl index 951a81653..3344629de 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Forms/ФормаЭлемента/Module.bsl @@ -147,6 +147,14 @@ КонецПроцедуры +&НаКлиенте +Процедура ПредставлениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + ОповещениеОЗакрытии = Новый ОписаниеОповещения("РедактированиеФормулировкиПриЗакрытии", ЭтотОбъект); + ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(ОповещениеОЗакрытии, Элемент.ТекстРедактирования, НСтр("ru = 'Формулировка'")); + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -229,7 +237,6 @@ Объект.ПояснениеКомментария = ""; КонецЕсли; ДоступностьНеобходимостьПояснениеКомментария(); - Элементы.ЗаполнятьАвтоматически.Видимость = Объект.Предопределенный; Если Объект.ТипОтвета = ПредопределенноеЗначение("Перечисление.ТипыОтветовНаВопрос.Строка") Тогда @@ -372,4 +379,15 @@ КонецПроцедуры +&НаКлиенте +Процедура РедактированиеФормулировкиПриЗакрытии(ТекстВозврата, ДополнительныеПараметры) Экспорт + + Если Объект.Формулировка <> ТекстВозврата Тогда + Объект.Формулировка = ТекстВозврата; + Модифицированность = Истина; + КонецЕсли; + +КонецПроцедуры + + #КонецОбласти diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Help/ru.html new file mode 100644 index 000000000..cbc01257b --- /dev/null +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/Help/ru.html @@ -0,0 +1,14 @@ + +

            Подготовка вопросов для анкетирования.

            +

            Открывается по команде Вопросы для анкетирования в разделе Анкетирование.

            +

            Одним из важных этапов подготовки анкет является составление вопросов.

            +

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

            +

            В списке выводится:

            +
            • Код - проставляется автоматически; +
            • Наименование - краткое наименование вопроса; +
            • Формулировка - полная формулировка вопроса.

            Ввод нового вопроса

            +
            • Нажмите Создать, заполните необходимые поля.

            Группировка вопросов

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

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/ВопросыДляАнкетирования.mdo b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/ВопросыДляАнкетирования.mdo index 9a6047fba..82dbdbd1f 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/ВопросыДляАнкетирования.mdo +++ b/SSL/src/ChartsOfCharacteristicTypes/ВопросыДляАнкетирования/ВопросыДляАнкетирования.mdo @@ -107,6 +107,11 @@ DontUse + + + ru + + Managed Use @@ -374,6 +379,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice @@ -383,6 +393,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..d8359090c --- /dev/null +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,14 @@ + +

            Список предназначен для выбора дополнительных реквизитов (сведений).

            +

            Открывается из списка Наборы дополнительных реквизитов (сведений) с помощью команд Добавить - По образцу или Добавить - Общее (Общий).

            +

            Добавление по образцу

            +

            Можно использовать ранее введенные дополнительные реквизиты и сведения из других наборов, добавлять реквизиты с общим списком значений сразу для нескольких однотипных реквизитов (например, Цвет двери по образцу реквизита Цвет). Список значений в этом случае используется из реквизита-образца. Удобно выполнять централизованную настройку списка значений сразу для нескольких однотипных реквизитов.

            +
            • Выделите уже существующий дополнительный реквизит (сведение).  +
            • Нажмите кнопку Выбрать. +
            • Также можно воспользоваться двойным щелчком мыши. +
            • Тип и все значения выбранного в качестве образца дополнительного реквизита (сведения) будут скопированы в новый элемент.

            Добавление общих дополнительных реквизитов (сведений)

            +

            Общий реквизит входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов общие реквизиты группируются и выводятся как один реквизит в одной колонке или поле. Например, с помощью общего реквизита Цвет можно отобрать всю желтую одежду и обувь.

            +
            • Выделите уже существующий дополнительный реквизит (сведение). Если в списке нет нужного реквизита, нажмите Создать. Заполните необходимые поля. +
            • Нажмите кнопку Выбрать. +
            • Также можно воспользоваться двойным щелчком мыши.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Module.bsl b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Module.bsl index 1e0980561..c4b58d480 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Module.bsl +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаВыбора/Module.bsl @@ -18,7 +18,7 @@ // Отбор не помеченных на удаление. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, , , Истина, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); Если Параметры.ВыборОбщегоСвойства Тогда @@ -80,7 +80,6 @@ ЭлементГруппировкиДанных = ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); ЭлементГруппировкиДанных.Поле = Новый ПолеКомпоновкиДанных("НаборСвойствГруппировка"); ЭлементГруппировкиДанных.Использование = Истина; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаСписка/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаСписка/Form.form index 528660ef4..9f595f839 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаСписка/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаСписка/Form.form @@ -1,5 +1,73 @@ + + ГруппаПользовательскихНастроек + 16 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 14 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -146,10 +214,10 @@
            СписокСтрокаПоиска - 14 + 18 СписокСтрокаПоискаРасширеннаяПодсказка - 16 + 20 Label true true @@ -159,7 +227,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 15 + 19 true Список @@ -169,10 +237,10 @@ СписокСостояниеПросмотра - 17 + 21 СписокСостояниеПросмотраРасширеннаяПодсказка - 19 + 23 Label true true @@ -182,7 +250,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 18 + 22 true ViewStatusAddition @@ -193,10 +261,10 @@ СписокУправлениеПоиском - 20 + 24 СписокУправлениеПоискомРасширеннаяПодсказка - 22 + 26 Label true true @@ -206,7 +274,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 21 + 25 true SearchControlAddition @@ -266,13 +334,13 @@ true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form index d41a4faa8..169e86977 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Form.form @@ -1,62 +1,28 @@ - ГоризонтальнаяГруппа2 - 78 - - ВертикальнаяГруппа3 - 79 - - Декорация3 - 81 - - <key>ru</key> - <value>Наименование (заголовок):</value> - - true - true - - true - - - ru - Краткое представление свойства, которое -выводится в формах редактирования его значения. - - - Декорация3ExtendedTooltip - 116 - Label - true - true - - Left - - - - Декорация3КонтекстноеМеню - 82 - true - - Label - true - true - - Left - - + ГруппаНаименованиеРеквизита + 79 + + ДекорацияНаименование + 81 + + <key>ru</key> + <value>Наименование:</value> + true true true - + <toolTip> <key>ru</key> - <value>Вертикальная группа 3</value> - + Краткое представление свойства, которое +выводится в формах редактирования его значения. + - ВертикальнаяГруппа3ExtendedTooltip - 115 + ДекорацияНаименованиеРасширеннаяПодсказка + 116 Label true true @@ -64,165 +30,34 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + ДекорацияНаименованиеКонтекстноеМеню + 82 + true + + Label + true + true + + Left - - ВертикальнаяГруппа4 - 80 - - Заголовок - 1 - true - true - - true - - - Объект.Заголовок - - true - None - - ЗаголовокExtendedTooltip - 118 - Label - true - true - - Left - - - - ЗаголовокКонтекстноеМеню - 2 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ЭтоДополнительноеСведение - 20 - true - - true - - - ЭтоДополнительноеСведение - - None - - OnChange - ЭтоДополнительноеСведениеПриИзменении - - - ЭтоДополнительноеСведениеExtendedTooltip - 119 - Label - true - true - - Left - - - - ЭтоДополнительноеСведениеКонтекстноеМеню - 21 - true - - RadioButtonField - Enter - true - Left - true - - 2 - - - ru - Дополнительный реквизит - - - 0 - - - - - ru - Дополнительное сведение - - - 1 - - - Vertical - - - - ЗаполнятьОбязательно - 54 - true - true - - true - - - Объект.ЗаполнятьОбязательно - - Right - - ЗаполнятьОбязательноExtendedTooltip - 120 - Label - true - true - - Left - - - - ЗаполнятьОбязательноКонтекстноеМеню - 55 - true - - CheckBoxField - Enter - true - Left - true - - + + Заголовок + 1 true true true - - <key>ru</key> - <value>Вертикальная группа 4</value> - + + Объект.Заголовок + + true + None - ВертикальнаяГруппа4ExtendedTooltip - 117 + ЗаголовокExtendedTooltip + 118 Label true true @@ -230,28 +65,125 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + ЗаголовокКонтекстноеМеню + 2 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + ЭтоДополнительноеСведение + 20 + true + + true + + + ЭтоДополнительноеСведение + + None + + OnChange + ЭтоДополнительноеСведениеПриИзменении + + + ЭтоДополнительноеСведениеExtendedTooltip + 119 + Label + true + true + + Left + + + + ЭтоДополнительноеСведениеКонтекстноеМеню + 21 + true + + RadioButtonField + Enter + true + Left + true + + 2 + + + ru + Дополнительный реквизит + + + 0 + + + + + ru + Дополнительное сведение + + + 1 + + + Vertical + + + + ЗаполнятьОбязательно + 54 + true + true + + true + + + Объект.ЗаполнятьОбязательно + + Right + + ЗаполнятьОбязательноExtendedTooltip + 120 + Label + true + true + + Left + + + + ЗаполнятьОбязательноКонтекстноеМеню + 55 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - <key>ru</key> - <value>Горизонтальная группа 2</value> - - ГоризонтальнаяГруппа2ExtendedTooltip - 114 + ГруппаНаименованиеРеквизитаРасширеннаяПодсказка + 115 Label true true @@ -269,80 +201,48 @@ - ГоризонтальнаяГруппа1 - 71 + Страницы + 167 - ВертикальнаяГруппа1 - 72 - - Декорация1 - 74 - - <key>ru</key> - <value>Тип значения:</value> - - true - true - - true - - - Декорация1ExtendedTooltip - 123 + ГлавнаяСтраница + 169 + + ТипЗначенияРеквизита + 43 + + ДекорацияТипЗначения + 74 + + <key>ru</key> + <value>Тип значения:</value> + + true + true + + true + + + ДекорацияТипЗначенияРасширеннаяПодсказка + 123 + Label + true + true + + Left + + + + ДекорацияТипЗначенияКонтекстноеМеню + 75 + true + Label true true Left - - - Декорация1КонтекстноеМеню - 75 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Вертикальная группа 1</value> - - - ВертикальнаяГруппа1ExtendedTooltip - 122 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ВертикальнаяГруппа2 - 73 - - ТипЗначенияФормат - 43 + ТипЗначения 5 @@ -355,6 +255,11 @@ Объект.ValueType None + + ru + В реквизите будут указываться данные выбранного типа. Например, текст, дата, число и т.п. + + Button OnChange ТипЗначенияПриИзменении @@ -422,10 +327,10 @@ <key>ru</key> - <value>Тип значения формат</value> + <value>Тип значения реквизита</value> - ТипЗначенияФорматExtendedTooltip + ТипЗначенияРеквизитаРасширеннаяПодсказка 125 Label true @@ -443,361 +348,27 @@ Auto - - Декорация2 - 76 - - <key>ru</key> - <value>В реквизите будут указываться данные выбранного типа. Например, текст, дата, число и т.п.</value> - - true - true - - true - - - Декорация2ExtendedTooltip - 128 - Label - true - true - - Left - - - - Декорация2КонтекстноеМеню - 77 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Вертикальная группа 2</value> - - - ВертикальнаяГруппа2ExtendedTooltip - 124 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Горизонтальная группа 1</value> - - - ГоризонтальнаяГруппа1ExtendedTooltip - 121 - Label - true - true - - Left - - - UsualGroup - - Auto - WeakSeparation - true - true - Auto - Auto - - - - ГруппаМногострочность - 38 - - ГруппаМногострочноеПолеВводаНастройки - 46 - - МногострочноеПолеВвода - 39 - true - true - - true - - - МногострочноеПолеВвода - - Right - - МногострочноеПолеВводаExtendedTooltip - 131 - Label - true - true - - Left - - - - МногострочноеПолеВводаКонтекстноеМеню - 40 - true - - CheckBoxField - Enter - true - Left - true - - - - МногострочноеПолеВводаЧисло - 41 - - <key>ru</key> - <value> строк</value> - - true - true - - true - - - МногострочноеПолеВводаЧисло - - Right - - OnChange - МногострочноеПолеВводаЧислоПриИзменении - - - МногострочноеПолеВводаЧислоExtendedTooltip - 132 - Label - true - true - - Left - - - - МногострочноеПолеВводаЧислоКонтекстноеМеню - 42 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - - 1 - - - 10 - - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа многострочное поле ввода настройки</value> - - - ГруппаМногострочноеПолеВводаНастройкиExtendedTooltip - 130 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа многострочность</value> - - - ГруппаМногострочностьExtendedTooltip - 129 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ДополнительныеЗначения - 56 - - Значения - 57 - true - true - - true - - - Значения - - None - Copy - Delete - - ЗначенияНаименование - 60 - true - true - - true - - - Значения.Description - - - ЗначенияНаименованиеExtendedTooltip - 148 - Label - true - true - - Left - - - - ЗначенияНаименованиеКонтекстноеМеню - 61 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ЗначенияВес - 83 - true - true - - true - - - Значения.Вес - - - ЗначенияВесExtendedTooltip - 149 - Label - true - true - - Left - - - - ЗначенияВесКонтекстноеМеню - 84 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ЗначенияКоманднаяПанель - 59 + + ГруппаМногострочность + 38 - ЗначенияКоманднаяПанельРедактирования - 108 - - ЗначенияСоздать - 62 + ГруппаМногострочноеПолеВводаНастройки + 46 + + МногострочноеПолеВвода + 39 true true true + + МногострочноеПолеВвода + + Right - ЗначенияСоздатьExtendedTooltip - 141 + МногострочноеПолеВводаExtendedTooltip + 131 Label true true @@ -805,385 +376,41 @@ Left - Form.Item.Значения.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto + + МногострочноеПолеВводаКонтекстноеМеню + 40 + true + + CheckBoxField + Enter + true + Left + true + - - ЗначенияСоздатьГруппу - 68 - true - true - - true - - - ЗначенияСоздатьГруппуExtendedTooltip - 142 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.CreateFolder - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияИзменить - 64 - true - true - - true - - - ЗначенияИзменитьExtendedTooltip - 143 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияУстановитьПометкуУдаления - 65 - true - true - - true - - - ЗначенияУстановитьПометкуУдаленияExtendedTooltip - 144 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Значения командная панель редактирования</value> - - - ЗначенияКоманднаяПанельРедактированияExtendedTooltip - 140 - Label - true - true - - Left - - - - - - ЗначенияНайти - 66 - true - true - - true - - - ЗначенияНайтиExtendedTooltip - 145 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияОтменитьПоиск - 67 - true - true - - true - - - ЗначенияОтменитьПоискExtendedTooltip - 146 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - Left - - - BeforeAddRow - ЗначенияПередНачаломДобавления - - - BeforeRowChange - ЗначенияПередНачаломИзменения - - - OnChange - ЗначенияПриИзменении - - - ЗначенияСтрокаПоиска - 169 - - ЗначенияСтрокаПоискаРасширеннаяПодсказка - 171 - Label - true - true - - Left - - - - ЗначенияСтрокаПоискаКонтекстноеМеню - 170 - true - - Значения - - true - - - - ЗначенияСостояниеПросмотра - 172 - - ЗначенияСостояниеПросмотраРасширеннаяПодсказка - 174 - Label - true - true - - Left - - - - ЗначенияСостояниеПросмотраКонтекстноеМеню - 173 - true - - ViewStatusAddition - Значения - - true - - - - ЗначенияУправлениеПоиском - 175 - - ЗначенияУправлениеПоискомРасширеннаяПодсказка - 177 - Label - true - true - - Left - - - - ЗначенияУправлениеПоискомКонтекстноеМеню - 176 - true - - SearchControlAddition - Значения - - true - - - - ЗначенияExtendedTooltip - 147 - Label - true - true - - Left - - - - ЗначенияКонтекстноеМеню - 58 - - ЗначенияКонтекстноеМенюРедактирования - 109 - - ЗначенияСоздать1 - 110 - true - true - - true - - - ЗначенияСоздать1ExtendedTooltip - 135 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.Create - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияСоздатьГруппу1 - 111 - true - true - - true - - - ЗначенияСоздатьГруппу1ExtendedTooltip - 136 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.CreateFolder - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияИзменить1 - 112 - true - true - - true - - - ЗначенияИзменить1ExtendedTooltip - 137 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияУстановитьПометкуУдаления1 - 113 - true - true - - true - - - ЗначенияУстановитьПометкуУдаления1ExtendedTooltip - 138 - Label - true - true - - Left - - - Form.Item.Значения.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияКонтекстноеМенюСтандартныеКоманды - 86 - true - true - - true - + + МногострочноеПолеВводаЧисло + 41 <key>ru</key> - <value>Значения контекстное меню стандартные команды</value> + <value> строк</value> + true + true + + true + + + МногострочноеПолеВводаЧисло + + Right + + OnChange + МногострочноеПолеВводаЧислоПриИзменении + - ЗначенияКонтекстноеМенюСтандартныеКомандыExtendedTooltip - 139 + МногострочноеПолеВводаЧислоExtendedTooltip + 132 Label true true @@ -1191,8 +418,31 @@ Left - - Item.Значения + + МногострочноеПолеВводаЧислоКонтекстноеМеню + 42 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + 1 + + + 10 + + Normal true @@ -1202,11 +452,11 @@ <key>ru</key> - <value>Значения контекстное меню редактирования</value> + <value>Группа многострочное поле ввода настройки</value> - ЗначенияКонтекстноеМенюРедактированияExtendedTooltip - 134 + ГруппаМногострочноеПолеВводаНастройкиExtendedTooltip + 130 Label true true @@ -1214,108 +464,27 @@ Left - + UsualGroup + + Auto + true + true + Auto + Auto + - - HierarchicalList - true - true - true - 9 - true - true - MultiRow -
            true
            - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - true - true - - Значения.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true - -
            - - ДополнительныеЗначенияСВесом - 69 - true - true - - true - - - Объект.ДополнительныеЗначенияСВесом - - Right - - OnChange - ДополнительныеЗначенияСВесомПриИзменении - - - ДополнительныеЗначенияСВесомExtendedTooltip - 150 - Label - true - true - - Left - - - - ДополнительныеЗначенияСВесомКонтекстноеМеню - 70 - true - - CheckBoxField - Enter - true - Left - true - - - - УточнениеСпискаЗначений - 89 - - УточнениеСпискаЗначенийКомментарий - 87 + true + true + + true + <key>ru</key> - <value>Список значений общий с реквизитом "Цвет" набора "Номенклатура (сумки)" </value> + <value>Группа многострочность</value> - true - true - - true - - - ru - Переход к редактированию списка значений. - - УточнениеСпискаЗначенийКомментарийExtendedTooltip - 152 + ГруппаМногострочностьExtendedTooltip + 129 Label true true @@ -1323,34 +492,735 @@ Left - - УточнениеСпискаЗначенийКомментарийКонтекстноеМеню - 88 - true - - Label - true - true - - - Click - УточнениеСпискаЗначенийКомментарийНажатие - - true - Left + UsualGroup + + Vertical + Auto + true + true + Auto + Auto - - УточнениеСпискаЗначенийИзменить - 105 + + ДополнительныеЗначения + 56 + + Значения + 57 + true + true + + true + + + Значения + + None + Copy + Delete + + ЗначенияНаименование + 60 + true + true + + true + + + Значения.Description + + + ЗначенияНаименованиеExtendedTooltip + 148 + Label + true + true + + Left + + + + ЗначенияНаименованиеКонтекстноеМеню + 61 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ЗначенияВес + 83 + true + true + + true + + + Значения.Вес + + + ЗначенияВесExtendedTooltip + 149 + Label + true + true + + Left + + + + ЗначенияВесКонтекстноеМеню + 84 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ЗначенияКоманднаяПанель + 59 + + ЗначенияКоманднаяПанельРедактирования + 108 + + ЗначенияСоздать + 62 + true + true + + true + + + ЗначенияСоздатьExtendedTooltip + 141 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияСоздатьГруппу + 68 + true + true + + true + + + ЗначенияСоздатьГруппуExtendedTooltip + 142 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.CreateFolder + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияИзменить + 64 + true + true + + true + + + ЗначенияИзменитьExtendedTooltip + 143 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияУстановитьПометкуУдаления + 65 + true + true + + true + + + ЗначенияУстановитьПометкуУдаленияExtendedTooltip + 144 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Значения командная панель редактирования</value> + + + ЗначенияКоманднаяПанельРедактированияExtendedTooltip + 140 + Label + true + true + + Left + + + + + + ЗначенияНайти + 66 + true + true + + true + + + ЗначенияНайтиExtendedTooltip + 145 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияОтменитьПоиск + 67 + true + true + + true + + + ЗначенияОтменитьПоискExtendedTooltip + 146 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + Left + + + BeforeAddRow + ЗначенияПередНачаломДобавления + + + BeforeRowChange + ЗначенияПередНачаломИзменения + + + OnChange + ЗначенияПриИзменении + + + ЗначенияСтрокаПоиска + 179 + + ЗначенияСтрокаПоискаРасширеннаяПодсказка + 181 + Label + true + true + + Left + + + + ЗначенияСтрокаПоискаКонтекстноеМеню + 180 + true + + Значения + + true + + + + ЗначенияСостояниеПросмотра + 182 + + ЗначенияСостояниеПросмотраРасширеннаяПодсказка + 184 + Label + true + true + + Left + + + + ЗначенияСостояниеПросмотраКонтекстноеМеню + 183 + true + + ViewStatusAddition + Значения + + true + + + + ЗначенияУправлениеПоиском + 185 + + ЗначенияУправлениеПоискомРасширеннаяПодсказка + 187 + Label + true + true + + Left + + + + ЗначенияУправлениеПоискомКонтекстноеМеню + 186 + true + + SearchControlAddition + Значения + + true + + + + ЗначенияExtendedTooltip + 147 + Label + true + true + + Left + + + + ЗначенияКонтекстноеМеню + 58 + + ЗначенияКонтекстноеМенюРедактирования + 109 + + ЗначенияСоздатьКонтекстноеМеню + 110 + true + true + + true + + + ЗначенияСоздатьКонтекстноеМенюРасширеннаяПодсказка + 135 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.Create + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияСоздатьГруппуКонтекстноеМеню + 111 + true + true + + true + + + ЗначенияСоздатьГруппуКонтекстноеМенюРасширеннаяПодсказка + 136 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.CreateFolder + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияИзменитьКонтекстноеМеню + 112 + true + true + + true + + + ЗначенияИзменитьКонтекстноеМенюРасширеннаяПодсказка + 137 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияУстановитьПометкуУдаленияКонтекстноеМеню + 113 + true + true + + true + + + ЗначенияУстановитьПометкуУдаленияКонтекстноеМенюРасширеннаяПодсказка + 138 + Label + true + true + + Left + + + Form.Item.Значения.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + ЗначенияКонтекстноеМенюСтандартныеКоманды + 86 + true + true + + true + + + <key>ru</key> + <value>Значения контекстное меню стандартные команды</value> + + + ЗначенияКонтекстноеМенюСтандартныеКомандыExtendedTooltip + 139 + Label + true + true + + Left + + + + Item.Значения + + + true + true + + true + + + <key>ru</key> + <value>Значения контекстное меню редактирования</value> + + + ЗначенияКонтекстноеМенюРедактированияExtendedTooltip + 134 + Label + true + true + + Left + + + + + + HierarchicalList + true + true + true + 9 + true + true + MultiRow +
            true
            + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + true + + Значения.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + +
            + + ДополнительныеЗначенияСВесом + 69 + true + true + + true + + + Объект.ДополнительныеЗначенияСВесом + + Right + + OnChange + ДополнительныеЗначенияСВесомПриИзменении + + + ДополнительныеЗначенияСВесомExtendedTooltip + 150 + Label + true + true + + Left + + + + ДополнительныеЗначенияСВесомКонтекстноеМеню + 70 + true + + CheckBoxField + Enter + true + Left + true + + + + УточнениеСпискаЗначений + 89 + + УточнениеСпискаЗначенийКомментарий + 87 + + <key>ru</key> + <value>Список значений общий с реквизитом "Цвет" набора "Номенклатура (сумки)" </value> + + true + true + + true + + + ru + Переход к редактированию списка значений. + + + УточнениеСпискаЗначенийКомментарийExtendedTooltip + 152 + Label + true + true + + Left + + + + УточнениеСпискаЗначенийКомментарийКонтекстноеМеню + 88 + true + + Label + true + true + + + Click + УточнениеСпискаЗначенийКомментарийНажатие + + true + Left + + + + УточнениеСпискаЗначенийИзменить + 105 + true + true + + true + + + УточнениеСпискаЗначенийИзменитьExtendedTooltip + 153 + Label + true + true + + Left + + + UsualButton + Form.Command.УточнениеСпискаЗначенийИзменить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Уточнение списка значений</value> + + + ru + Уточнение списка значений + + + УточнениеСпискаЗначенийExtendedTooltip + 151 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + true true true + + <key>ru</key> + <value>Дополнительные значения:</value> + - УточнениеСпискаЗначенийИзменитьExtendedTooltip - 153 + ДополнительныеЗначенияExtendedTooltip + 133 Label true true @@ -1358,14 +1228,319 @@ Left - UsualButton - Form.Command.УточнениеСпискаЗначенийИзменить - Normal - Auto - true - true - UserCmds - Auto + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + +
            + + ОстальныеРеквизиты + 107 + + Подсказка + 30 + + <key>ru</key> + <value>Всплывающая подсказка</value> + + true + true + + true + + + Объект.Подсказка + + + ПодсказкаExtendedTooltip + 155 + Label + true + true + + Left + + + + ПодсказкаКонтекстноеМеню + 31 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ГруппаЗаголовкиФормЗначений + 32 + + ЗаголовокФормыЗначения + 33 + true + true + + true + + + Объект.ЗаголовокФормыЗначения + + + ru + Используется в заголовке формы дополнительного значения свойства. + + + ЗаголовокФормыЗначенияExtendedTooltip + 157 + Label + true + true + + Left + + + + ЗаголовокФормыЗначенияКонтекстноеМеню + 34 + true + + InputField + Enter + true + Left + true + + 20 + true + true + true + true + true + true + Normal + + + + ЗаголовокФормыВыбораЗначения + 35 + true + true + + true + + + Объект.ЗаголовокФормыВыбораЗначения + + + ru + Используется в заголовке формы выбора дополнительного значения свойства. + + + ЗаголовокФормыВыбораЗначенияExtendedTooltip + 158 + Label + true + true + + Left + + + + ЗаголовокФормыВыбораЗначенияКонтекстноеМеню + 36 + true + + InputField + Enter + true + Left + true + + 20 + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа заголовки форм значений</value> + + false + + ГруппаЗаголовкиФормЗначенийExtendedTooltip + 156 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Остальные реквизиты</value> + + + ОстальныеРеквизитыExtendedTooltip + 154 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + УточнениеНаборов + 96 + + УточнениеНаборовКомментарий + 99 + + <key>ru</key> + <value>Общий реквизит входит в набор "Расходный кассовый ордер" </value> + + true + true + + true + + + ru + Переход к набору. + + + УточнениеНаборовКомментарийExtendedTooltip + 161 + Label + true + true + + Left + + + + УточнениеНаборовКомментарийКонтекстноеМеню + 100 + true + + Label + true + true + + + Click + УточнениеНаборовКомментарийНажатие + + true + Left + + + + УточнениеНаборовИзменить + 106 + true + true + + true + + + УточнениеНаборовИзменитьExtendedTooltip + 162 + Label + true + true + + Left + + + UsualButton + Form.Command.УточнениеНаборовИзменить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Уточнение наборов</value> + + + УточнениеНаборовExtendedTooltip + 160 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + true true @@ -1374,15 +1549,15 @@ <key>ru</key> - <value>Уточнение списка значений</value> + <value>Главная</value> ru - Уточнение списка значений + Главная страница - УточнениеСпискаЗначенийExtendedTooltip - 151 + ГлавнаяСтраницаРасширеннаяПодсказка + 170 Label true true @@ -1390,115 +1565,30 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto - -
            - true - true - - true - - - <key>ru</key> - <value>Дополнительные значения:</value> - - - ДополнительныеЗначенияExtendedTooltip - 133 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - auto - Auto - Auto - -
            - - ОстальныеРеквизиты - 107 - - Подсказка - 30 - - <key>ru</key> - <value>Всплывающая подсказка</value> - - true - true - - true - - - Объект.Подсказка - - - ПодсказкаExtendedTooltip - 155 - Label - true - true - - Left - - - - ПодсказкаКонтекстноеМеню - 31 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal + Page + + Vertical + auto - ГруппаЗаголовкиФормЗначений - 32 + СтраницаКомментарий + 171 - ЗаголовокФормыЗначения - 33 + Комментарий + 28 true true true - Объект.ЗаголовокФормыЗначения + Объект.Комментарий - - ru - Используется в заголовке формы дополнительного значения свойства. - + None - ЗаголовокФормыЗначенияExtendedTooltip - 157 + КомментарийExtendedTooltip + 159 Label true true @@ -1507,8 +1597,8 @@ - ЗаголовокФормыЗначенияКонтекстноеМеню - 34 + КомментарийКонтекстноеМеню + 29 true InputField @@ -1517,56 +1607,18 @@ Left true - 20 - true - true - true - true - true - true - Normal - - - - ЗаголовокФормыВыбораЗначения - 35 - true - true - - true - - - Объект.ЗаголовокФормыВыбораЗначения - - - ru - Используется в заголовке формы выбора дополнительного значения свойства. - - - ЗаголовокФормыВыбораЗначенияExtendedTooltip - 158 - Label - true - true - - Left - - - - ЗаголовокФормыВыбораЗначенияКонтекстноеМеню - 36 - true - - InputField - Enter - true - Left - true - - 20 + + Opening + КомментарийОткрытие + true + 2 true + true + true true + true + false true true true @@ -1580,12 +1632,11 @@ <key>ru</key> - <value>Группа заголовки форм значений</value> + <value>Комментарий</value> - false - ГруппаЗаголовкиФормЗначенийExtendedTooltip - 156 + СтраницаКомментарийРасширеннаяПодсказка + 172 Label true true @@ -1593,64 +1644,10 @@ Left - UsualGroup - + Page + Vertical - Auto - true - true - Auto - Auto - - - - Комментарий - 28 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарийExtendedTooltip - 159 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 29 - true - - InputField - Enter - true - Left - true - - - Opening - КомментарийОткрытие - - true - 2 - true - false - true - true - true - true - true - true - Normal + auto true @@ -1660,118 +1657,15 @@ <key>ru</key> - <value>Остальные реквизиты</value> - - - ОстальныеРеквизитыExtendedTooltip - 154 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - - - - УточнениеНаборов - 96 - - УточнениеНаборовКомментарий - 99 - - <key>ru</key> - <value>Общий реквизит входит в набор "Расходный кассовый ордер" </value> - - true - true - - true - - - ru - Переход к набору. - - - УточнениеНаборовКомментарийExtendedTooltip - 161 - Label - true - true - - Left - - - - УточнениеНаборовКомментарийКонтекстноеМеню - 100 - true - - Label - true - true - - - Click - УточнениеНаборовКомментарийНажатие - - true - Left - - - - УточнениеНаборовИзменить - 106 - true - true - - true - - - УточнениеНаборовИзменитьExtendedTooltip - 162 - Label - true - true - - Left - - - UsualButton - Form.Command.УточнениеНаборовИзменить - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Уточнение наборов</value> + <value>Страницы</value> ru - Уточнение наборов + Страницы - УточнениеНаборовExtendedTooltip - 160 + СтраницыРасширеннаяПодсказка + 168 Label true true @@ -1779,13 +1673,9 @@ Left - UsualGroup - - Auto - NormalSeparation - true - true - Auto + Pages + + TabsOnTop Auto @@ -1803,7 +1693,7 @@ OnCreateAtServer ПриСозданииНаСервере
            - LockOwner + DontBlock true true Vertical diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Help/ru.html new file mode 100644 index 000000000..df707ee3d --- /dev/null +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Help/ru.html @@ -0,0 +1,53 @@ + +

            Предназначена для настройки дополнительных реквизитов (сведений).

            +

            Открывается по команде  Добавить или  Создать в списке Дополнительные реквизиты (сведения).

            +

            Заполните необходимые поля:

            +
            • Напишите краткое Наименование свойства, которое будет указываться в окнах объектов программы. +
            • Для того чтобы дополнительный реквизит при заполнении справочников или документов не оставался пустым, включите флажок Заполнять обязательно. Для дополнительных сведений флажок не предусмотрен. +
            • Заполните поля на вкладке Главная: +
              •  Выберите из списка с помощью флажка Тип значения дополнительного реквизита (сведения); +
              • Для того чтобы уточнить формат дополнительных реквизитов типа Число, Дата, Булево, перейдите в Конструктор форматной строки по гиперссылке Формат по умолчанию (для дополнительных сведений не предусмотрено).  +
                • Установите при необходимости значение в поле Язык (Страна), для того чтобы изменить стандартные настройки. +
                • Выберите необходимые параметры для установки форматов. +
                • В строке Пример для наглядности производятся соответствующие этим параметрам изменения. +
                • Для подтверждения выбранных параметров нажмите ОК. +
                • После уточнения формата гиперссылка меняет значение на Формат установлен. +
                • Подробнее о форматах см. ниже.
              • Заполните поле Всплывающая подсказка, для того чтобы объяснить, как заполняется дополнительное сведение или реквизит. Содержимое поля будет выводиться на экран при наведении мыши на поле дополнительного реквизита (сведения).
            • Заполните поле Комментарий, для того чтобы при подборе дополнительного реквизита (сведения) в наборы в нижней части списка выбора выводилось его описание. Для заполнения перейдите на вкладку Комментарий.

            Добавление по образцу

            +

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

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

            Добавление общих дополнительных реквизитов (сведений)

            +
            • Общий дополнительный реквизит (сведение) входит в несколько наборов. Этот вариант подходит для тех случаев, когда общим должен быть не только список значений, но и сам реквизит. В списках и отчетах по элементам различных справочников и документов, общие реквизиты группируются и выводятся как один реквизит, в одной колонке или поле. Вводится по команде Добавить - Общий (Общее). Для того чтобы добавить общий реквизит в несколько наборов, выделите каждый из наборов, выполните команду. +
            • В предлагаемом списке можно выбрать уже существующий общий дополнительный реквизит (общее дополнительное сведение) или Создать. Ввод осуществляется по общим правилам. Заполните необходимые поля. +
            • Заголовок окна содержит пояснение (Общий дополнительный реквизит) или (Общее дополнительное сведение). +
            • В нижней части окна общего дополнительного реквизита (сведения) при размещении в одном или нескольких наборах появляется гиперссылка Общий реквизит (Общее сведение) входит в набор с перечнем наборов. +
            •  С помощью кнопки Изменить (находится рядом с гиперссылкой) можно общий реквизит сделать отдельным реквизитом с собственным списком значений. +
              • В открывшемся окне Изменить настройку дополнительного реквизита (сведения), нажмите переключатель Реквизит со своим списком значений и записать изменения. Список значений будет скопирован с заменой ссылок в документах. +
              • Внимание! Перенастройка дополнительного реквизита (сведения) необратима и может занять длительное время, в зависимости от числа документов, в которых заполнен этот реквизит. Вместо этого можно добавить новый реквизит со своим списком значений и выполнить вручную постепенный переход от использования этого реквизита к новому (очистить значения этого реквизита и заполнить значения нового).

            Типы значений дополнительных реквизитов и сведений

            +

            Тип значения дополнительных реквизитов и сведений меняется исходя из логики использования. Возможны следующие типы дополнительного реквизита или сведения:

            +
            • Строка - Определите Длину строки, выберите параметр Фиксированная или Переменная (если введенная строка получится меньше предполагаемой длины, то количество знаков, отведенное под это значение, будет автоматически уменьшено до фактической). Максимальная длина строки в этом случае 1024 символа. Также можно включить флажок Неограниченная, если планируется вводить большой объем текстовой информации.  +
              • Для дополнительного реквизита типа Строка в программе предлагается возможность сделать поле многострочным. Для этого включите флажок Многострочное поле ввода и введите количество строк.
            • Число - выберите Длину числа и его Точность. По умолчанию программа предлагает длину числа 15 и точность 3. В зависимости от вводимых данных эти цифры могут меняться. Необходимо учитывать, что в количество знаков Длины числа входит количество знаков целой части, и десятичная точка, и количество знаков дробной части. При необходимости включите флажок Неотрицательное. +
              • При вводе дополнительного реквизита типа Число предусмотрена возможность более точного выбора формата числа.  +
                • При вводе значений в поля Длина и Точность в Конструкторе форматной строки число будет округляться до этого количества знаков.  +
                • Можно выбрать Сдвиг.  +
                • Можно поменять Разделитель дробной части (по умолчанию - запятая), определить Разделитель групп (по умолчанию пробел), также определить Группировку. +
                • Можно выбрать Представление нуля, например, для того чтобы напомнить о необходимости ввода значения в это поле. +
                • Также можно указать Представление отрицательных чисел. +
                • При необходимости включите флажок Выводить лидирующие нули. В этом случае при подгонке под указанную Длину числа, если число меньше, будут проставлены нули в разрядах. 
            • Дата - выберите состав даты: Дата, Время или Дата и Время. +
              • Для дополнительных реквизитов можно задать формат даты, для этого перейдите по гиперссылке Формат по умолчанию. Можно выбрать формат dd.mm.yyyy  или yyyy-MM-dd, а также Локальный формат даты (например, 22 мая 2013), задать Представление пустой даты (в незаполненном поле появится предупреждение, например, Нет даты).  
            • Составной тип данных - этот тип значения предоставляет возможность окончательно выбрать тип данных уже при вводе информации в справочник. Включите флажок Составной тип данных, затем включите флажки для типов значений, из которых можно будет выбирать. +
              • Например, дату основания фирмы иногда невозможно указать точно. В этом случае можно предоставить возможность выбора типа данных (Дата или Строка) во время ввода. Если точная дата известна, то можно будет выбрать тип Дата и ввести, если неизвестна, то можно будет ввести дату в виде строки типа "Начало 19 в.". +
              • При этом для всех частей составного типа данных можно произвести их обычные настройки, например, настроить формат даты и определить параметры строки. +
              • При вводе значений дополнительных реквизитов (сведений) составного типа данных сначала предлагается выбрать тип данных.
            • Булево - обычно это значения типа Истина и Ложь, Да или Нет. +
              • Для дополнительных реквизитов в Конструкторе форматной строки можно установить другой формат этих значений. Можно написать Представления значения булево Ложь и булево Истина. В этом случае при вводе вместо обычного Да или Нет для выбора будут предложены значения, введенные при настройке дополнительного реквизита.
            • Дополнительное значение - этот тип данных часто используется, при этом ввод информации сводится к выбору значений из списка. Предлагается программой по умолчанию. Применяется как обычный список значений, так и сгруппированный. С помощью дополнительных реквизитов (сведений) типа Дополнительное значение можно описывать различные свойства объектов программы. +
            • Дополнительное значение (иерархия) - такая структура списков также широко используется, ее называют иерархией элементов. Элементы в таком списке имеют одинаковые свойства, но могут иметь подчиненные элементы. При этом иерархия может быть довольно сложной. +
            • Пользователь - в программе предусмотрена возможность использования значений списка Пользователи в качестве дополнительного реквизита (сведения).

            Особенности ввода дополнительных сведений типа Дополнительное значение или Дополнительное значение (иерархия)

            +
            • Кроме обычных полей доступны: +
              • Значения дополнительно характеризуются весовым коэффициентом - включите флажок, для того чтобы использовать эту возможность. Поле затем можно использовать для анализа в отчетах. Логику использования этого поля необходимо продумывать самостоятельно. Поле не является обязательным. +
              • Заголовок формы значения - введите заголовок окон ввода элементов (окон ввода элементов с иерархией).  +
              • Заголовок формы выбора значения - введите заголовок окон выбора значений (окон выбора значений с иерархией). Применение индивидуальных заголовков для окон ввода дополнительных реквизитов и сведений и выбора значений позволяет сделать процесс ввода более удобным и понятным.
            • После выбора типа данных и заполнения поля Наименование нажмите кнопку Записать. После этого становится доступным для работы список значений. Для ввода значений нажмите Создать. Введите необходимые поля.  +
            • Если данные не были записаны перед выполнением команды Создать, то программа выдает предупреждение. Для перехода к вводу значений нажмите кнопку Записать.

            Изменение формата дополнительных реквизитов и сведений

            +

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

            +

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Module.bsl b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Module.bsl index b78fa24e6..ba6bfcf33 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Module.bsl +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Forms/ФормаЭлемента/Module.bsl @@ -35,6 +35,10 @@ КонецЕсли; КонецЕсли; + Если Объект.Предопределенный И НЕ ЗначениеЗаполнено(Объект.Заголовок) Тогда + Объект.Заголовок = Объект.Наименование; + КонецЕсли; + ЭтоДополнительноеСведение = ?(Объект.ЭтоДополнительноеСведение, 1, 0); ОбновитьСоставЭлементовФормы(); @@ -375,10 +379,9 @@ ПараметрыФормы.Вставить("Ссылка", Объект.Ссылка); ПараметрыФормы.Вставить("ЭтоДополнительныйРеквизит", Объект.ЭтоДополнительноеСведение); - ОткрытьФорму( - "ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Форма.РазблокированиеРеквизитов", - ПараметрыФормы, - ЭтотОбъект); + Оповещение = Новый ОписаниеОповещения("ОбновитьФормуДляРедактирования", ЭтотОбъект); + ОткрытьФорму("ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Форма.РазблокированиеРеквизитов", + ПараметрыФормы, ЭтотОбъект,,,, Оповещение); Иначе ЗапретРедактированияРеквизитовОбъектовКлиент.ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(); КонецЕсли; @@ -389,6 +392,13 @@ #Область СлужебныеПроцедурыИФункции +&НаКлиенте +Процедура ОбновитьФормуДляРедактирования(Результат, Параметр) Экспорт + #Если ВебКлиент Тогда + ОбновитьОтображениеДанных(); + #КонецЕсли +КонецПроцедуры + &НаКлиенте Процедура ПослеОтветаНаВопросКогдаНаименованиеУжеИспользуется(Ответ, ПараметрыЗаписи) Экспорт diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Help/ru.html index 5e6943483..ae42e65b8 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Help/ru.html +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/Help/ru.html @@ -1,6 +1,7 @@ - -

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

            + +

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

            При выборе вида дополнительного свойства нужно руководствоваться следующими соображениями:

            -
            • Дополнительные реквизиты являются неотъемлемой частью «объекта со свойствами». Они хранятся в табличной части объекта и доступны тем же пользователям, которым доступен и сам «объект со свойствами». Дополнительные реквизиты редактируются в форме объекта наряду с его остальными реквизитами. -
            • Дополнительные сведения предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта. Дополнительные сведения, как правило, доступны для просмотра и/или редактирования пользователям, которые не имеют доступа к самому «объекту со свойствами». Дополнительные сведения редактируются в отдельной форме, которую можно открыть из формы «объекта со свойствами».

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

            -

            Для удобства, дополнительные свойства могут быть объединены в группы свойств.

            \ No newline at end of file +
            • Дополнительные реквизиты являются неотъемлемой частью «объекта со свойствами». Они хранятся в табличной части объекта и доступны тем же пользователям, которым доступен и сам «объект со свойствами». Дополнительные реквизиты редактируются в окне объекта наряду с его остальными реквизитами. +
            • Дополнительные сведения предназначены для хранения сведений об объекте, которые не являются неотъемлемой частью объекта. Дополнительные сведения, как правило, доступны для просмотра и/или редактирования пользователям, которые не имеют доступа к самому «объекту со свойствами». Дополнительные сведения редактируются в отдельном окне, которое можно открыть из окна «объекта со свойствами».

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

            +

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ManagerModule.bsl b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ManagerModule.bsl index ca72601e8..34eb4ad2a 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ManagerModule.bsl +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ManagerModule.bsl @@ -40,7 +40,7 @@ #Область СлужебныеПроцедурыИФункции -// Изменяет настройку свойства с общего или общего списка значений +// Изменяет настройку свойства с общего свойства или общего списка значений свойства // на отдельное свойство с отдельным списком значений. // Процедура ИзменитьНастройкуСвойства(Параметры, АдресХранилища) Экспорт @@ -119,44 +119,48 @@ КонецЕсли; ПолноеИмяВладельца = МетаданныеВладельца.ПолноеИмя(); + СоответствиеСсылок = Новый Соответствие; - Если НЕ УправлениеСвойствамиСлужебный.ТипЗначенияСодержитЗначенияСвойств(СвойствоОбъект.ТипЗначения) Тогда + ЕстьДополнительныеЗначения = УправлениеСвойствамиСлужебный.ТипЗначенияСодержитЗначенияСвойств( + СвойствоОбъект.ТипЗначения); + + Если ЕстьДополнительныеЗначения Тогда + + Если СвойствоОбъект.ТипЗначения.СодержитТип(Тип("СправочникСсылка.ЗначенияСвойствОбъектов")) Тогда + ИмяСправочника = "ЗначенияСвойствОбъектов"; + ЭтоГруппа = "Значения.ЭтоГруппа"; + Иначе + ИмяСправочника = "ЗначенияСвойствОбъектовИерархия"; + ЭтоГруппа = "Ложь КАК ЭтоГруппа"; + КонецЕсли; + + Запрос.Текст = + "ВЫБРАТЬ + | Значения.Ссылка КАК Ссылка, + | Значения.Родитель КАК РодительСсылки, + | Значения.ЭтоГруппа, + | Значения.ПометкаУдаления, + | Значения.Наименование, + | Значения.Вес + |ИЗ + | Справочник.ЗначенияСвойствОбъектов КАК Значения + |ГДЕ + | Значения.Владелец = &Владелец + |ИТОГИ ПО + | Ссылка ИЕРАРХИЯ"; + Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗначенияСвойствОбъектов", ИмяСправочника); + Запрос.Текст = СтрЗаменить(Запрос.Текст, "Значения.ЭтоГруппа", ЭтоГруппа); + + Выгрузка = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); + СоздатьГруппыИЗначения(Выгрузка.Строки, СоответствиеСсылок, ИмяСправочника, СвойствоОбъект.Ссылка); + + ИначеЕсли Свойство = СвойствоОбъект.Ссылка Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Ошибка при изменении настройки свойства %1. |Тип значения не содержит дополнительных значений.'"), Свойство); КонецЕсли; - Если СвойствоОбъект.ТипЗначения.СодержитТип(Тип("СправочникСсылка.ЗначенияСвойствОбъектов")) Тогда - ИмяСправочника = "ЗначенияСвойствОбъектов"; - ЭтоГруппа = "Значения.ЭтоГруппа"; - Иначе - ИмяСправочника = "ЗначенияСвойствОбъектовИерархия"; - ЭтоГруппа = "Ложь КАК ЭтоГруппа"; - КонецЕсли; - - Запрос.Текст = - "ВЫБРАТЬ - | Значения.Ссылка КАК Ссылка, - | Значения.Родитель КАК РодительСсылки, - | Значения.ЭтоГруппа, - | Значения.ПометкаУдаления, - | Значения.Наименование, - | Значения.Вес - |ИЗ - | Справочник.ЗначенияСвойствОбъектов КАК Значения - |ГДЕ - | Значения.Владелец = &Владелец - |ИТОГИ ПО - | Ссылка ИЕРАРХИЯ"; - Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЗначенияСвойствОбъектов", ИмяСправочника); - Запрос.Текст = СтрЗаменить(Запрос.Текст, "Значения.ЭтоГруппа", ЭтоГруппа); - - Выгрузка = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); - СоответствиеСсылок = Новый Соответствие; - - СоздатьГруппыИЗначения(Выгрузка.Строки, СоответствиеСсылок, ИмяСправочника, СвойствоОбъект.Ссылка); - Если Свойство <> СвойствоОбъект.Ссылка ИЛИ СоответствиеСсылок.Количество() > 0 Тогда @@ -174,8 +178,10 @@ // объекта (по каждой ссылке) и, если заменяемое общее свойство есть // не только в целевом наборе, тогда добавить новое свойство и значение. // - // Для исходных общих свойств процедура может быть особенно долгой, - // т.к. требует анализа наборов для каждой ссылки (из-за наличия переопределения). + // Для исходных общих свойств, когда у владельцев их значений несколько наборов свойств, + // процедура может быть особенно долгой, т.к. требует анализа наборов для каждого объекта владельца + // из-за наличия переопределения состава наборов в процедуре ЗаполнитьНаборыСвойствОбъекта + // общего модуля УправлениеСвойствамиПереопределяемый. ВладелецСДополнительнымиРеквизитами = Ложь; @@ -187,7 +193,7 @@ Блокировка.Заблокировать(); - ТребуетсяАнализНаборовСсылки = Ложь; + ТребуетсяАнализНаборовКаждогоОбъектаВладельца = Ложь; Если Свойство <> СвойствоОбъект.Ссылка Тогда ИмяПредопределенного = СтрЗаменить(МетаданныеВладельца.ПолноеИмя(), ".", "_"); @@ -199,12 +205,12 @@ Если КорневойНабор <> Неопределено Тогда Если ЗначениеЗаполнено(ОбщегоНазначения.ПолучитьЗначениеРеквизита(КорневойНабор, "ЭтоГруппа")) = Истина Тогда - ТребуетсяАнализНаборовСсылки = Истина; + ТребуетсяАнализНаборовКаждогоОбъектаВладельца = Истина; КонецЕсли; КонецЕсли; КонецЕсли; - Если ТребуетсяАнализНаборовСсылки Тогда + Если ТребуетсяАнализНаборовКаждогоОбъектаВладельца Тогда ЗапросАнализа = Новый Запрос; ЗапросАнализа.УстановитьПараметр("ОбщееСвойство", Свойство); ЗапросАнализа.УстановитьПараметр("НаборНовогоСвойства", СвойствоОбъект.НаборСвойств); @@ -220,43 +226,68 @@ КонецЕсли; Запрос = Новый Запрос; - Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; - ТаблицаЗначений = Новый ТаблицаЗначений; - ТаблицаЗначений.Колонки.Добавить("Значение", Новый ОписаниеТипов( - "СправочникСсылка." + ИмяСправочника)); - - Для каждого КлючИЗначение Из СоответствиеСсылок Цикл - ТаблицаЗначений.Добавить().Значение = КлючИЗначение.Ключ; - КонецЦикла; - - Запрос.УстановитьПараметр("ТаблицаЗначений", ТаблицаЗначений); - - Запрос.Текст = - "ВЫБРАТЬ - | ТаблицаЗначений.Значение КАК Значение - |ПОМЕСТИТЬ СтарыеЗначения - |ИЗ - | &ТаблицаЗначений КАК ТаблицаЗначений - | - |ИНДЕКСИРОВАТЬ ПО - | Значение"; - Запрос.Выполнить(); + Если Свойство = СвойствоОбъект.Ссылка Тогда + // Если свойство не менялось (уже отдельное), а общий только список дополнительных значений, + // тогда требуется замена только дополнительных значений. + Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; + + ТаблицаЗначений = Новый ТаблицаЗначений; + ТаблицаЗначений.Колонки.Добавить("Значение", Новый ОписаниеТипов( + "СправочникСсылка." + ИмяСправочника)); + + Для каждого КлючИЗначение Из СоответствиеСсылок Цикл + ТаблицаЗначений.Добавить().Значение = КлючИЗначение.Ключ; + КонецЦикла; + + Запрос.УстановитьПараметр("ТаблицаЗначений", ТаблицаЗначений); + + Запрос.Текст = + "ВЫБРАТЬ + | ТаблицаЗначений.Значение КАК Значение + |ПОМЕСТИТЬ СтарыеЗначения + |ИЗ + | &ТаблицаЗначений КАК ТаблицаЗначений + | + |ИНДЕКСИРОВАТЬ ПО + | Значение"; + Запрос.Выполнить(); + КонецЕсли; Запрос.УстановитьПараметр("Свойство", Свойство); + ТипыДополнительныхЗначений = Новый Соответствие; + ТипыДополнительныхЗначений.Вставить(Тип("СправочникСсылка.ЗначенияСвойствОбъектов"), Истина); + ТипыДополнительныхЗначений.Вставить(Тип("СправочникСсылка.ЗначенияСвойствОбъектовИерархия"), Истина); // Замена дополнительных сведений. - Запрос.Текст = - "ВЫБРАТЬ ПЕРВЫЕ 1000 - | ДополнительныеСведения.Объект - |ИЗ - | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтарыеЗначения КАК СтарыеЗначения - | ПО (ТИПЗНАЧЕНИЯ(ДополнительныеСведения.Объект) = ТИП(Справочник.ЗначенияСвойствОбъектов)) - | И (НЕ ДополнительныеСведения.Объект В (&ОбработанныеОбъекты)) - | И (ДополнительныеСведения.Свойство = &Свойство) - | И ДополнительныеСведения.Значение = СтарыеЗначения.Значение"; + Если Свойство = СвойствоОбъект.Ссылка Тогда + // Если свойство не менялось (уже отдельное), а общий только список дополнительных значений, + // тогда требуется замена только дополнительных значений. + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1000 + | ДополнительныеСведения.Объект + |ИЗ + | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтарыеЗначения КАК СтарыеЗначения + | ПО (ТИПЗНАЧЕНИЯ(ДополнительныеСведения.Объект) = ТИП(Справочник.ЗначенияСвойствОбъектов)) + | И (НЕ ДополнительныеСведения.Объект В (&ОбработанныеОбъекты)) + | И (ДополнительныеСведения.Свойство = &Свойство) + | И ДополнительныеСведения.Значение = СтарыеЗначения.Значение"; + Иначе + // Если свойство меняется (общее свойство становится отдельным и дополнительные значения копируются), + // тогда требуется замена свойства и дополнительных значений. + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1000 + | ДополнительныеСведения.Объект + |ИЗ + | РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения + |ГДЕ + | ТИПЗНАЧЕНИЯ(ДополнительныеСведения.Объект) = ТИП(Справочник.ЗначенияСвойствОбъектов) + | И НЕ ДополнительныеСведения.Объект В (&ОбработанныеОбъекты) + | И ДополнительныеСведения.Свойство = &Свойство"; + КонецЕсли; + Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.ЗначенияСвойствОбъектов", ПолноеИмяВладельца); НаборСтаройЗаписи = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей(); @@ -273,7 +304,7 @@ КонецЕсли; Пока Выборка.Следующий() Цикл Заменить = Истина; - Если ТребуетсяАнализНаборовСсылки Тогда + Если ТребуетсяАнализНаборовКаждогоОбъектаВладельца Тогда ЗапросАнализа.УстановитьПараметр("ВсеНаборыОбъекта", УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта( Выборка.Объект).ВыгрузитьКолонку("Набор")); @@ -285,7 +316,12 @@ Если НаборСтаройЗаписи.Количество() > 0 Тогда НаборНовойЗаписи[0].Объект = Выборка.Объект; НаборНовойЗаписи[0].Свойство = СвойствоОбъект.Ссылка; - НаборНовойЗаписи[0].Значение = СоответствиеСсылок[НаборСтаройЗаписи[0].Значение]; + Значение = НаборСтаройЗаписи[0].Значение; + Если ТипыДополнительныхЗначений[ТипЗнч(Значение)] = Неопределено Тогда + НаборНовойЗаписи[0].Значение = Значение; + Иначе + НаборНовойЗаписи[0].Значение = СоответствиеСсылок[Значение]; + КонецЕсли; НаборНовойЗаписи.Отбор.Объект.Установить(Выборка.Объект); НаборНовойЗаписи.Отбор.Свойство.Установить(НаборНовойЗаписи[0].Свойство); Если Заменить Тогда @@ -305,7 +341,7 @@ Если ВладелецСДополнительнымиРеквизитами Тогда - Если ТребуетсяАнализНаборовСсылки Тогда + Если ТребуетсяАнализНаборовКаждогоОбъектаВладельца Тогда ЗапросАнализа = Новый Запрос; ЗапросАнализа.УстановитьПараметр("ОбщееСвойство", Свойство); ЗапросАнализа.УстановитьПараметр("НаборНовогоСвойства", СвойствоОбъект.НаборСвойств); @@ -320,15 +356,30 @@ | И НаборыСвойств.Свойство = &ОбщееСвойство"; КонецЕсли; - Запрос.Текст = - "ВЫБРАТЬ ПЕРВЫЕ 1000 - | ТекущаяТаблица.Ссылка КАК Ссылка - |ИЗ - | ИмяТаблицы КАК ТекущаяТаблица - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтарыеЗначения КАК СтарыеЗначения - | ПО (НЕ ТекущаяТаблица.Ссылка В (&ОбработанныеОбъекты)) - | И (ТекущаяТаблица.Свойство = &Свойство) - | И ТекущаяТаблица.Значение = СтарыеЗначения.Значение"; + Если Свойство = СвойствоОбъект.Ссылка Тогда + // Если свойство не менялось (уже отдельное), а общий только список дополнительных значений, + // тогда требуется замена только дополнительных значений. + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1000 + | ТекущаяТаблица.Ссылка КАК Ссылка + |ИЗ + | ИмяТаблицы КАК ТекущаяТаблица + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СтарыеЗначения КАК СтарыеЗначения + | ПО (НЕ ТекущаяТаблица.Ссылка В (&ОбработанныеОбъекты)) + | И (ТекущаяТаблица.Свойство = &Свойство) + | И ТекущаяТаблица.Значение = СтарыеЗначения.Значение"; + Иначе + // Если свойство меняется (общее свойство становится отдельным и дополнительные значения копируются), + // тогда требуется замена свойства и дополнительных значений. + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1000 + | ТекущаяТаблица.Ссылка КАК Ссылка + |ИЗ + | ИмяТаблицы КАК ТекущаяТаблица + |ГДЕ + | НЕ ТекущаяТаблица.Ссылка В (&ОбработанныеОбъекты) + | И ТекущаяТаблица.Свойство = &Свойство"; + КонецЕсли; Запрос.Текст = СтрЗаменить(Запрос.Текст, "ИмяТаблицы", ПолноеИмяВладельца + ".ДополнительныеРеквизиты"); ОбработанныеОбъекты = Новый Массив; @@ -342,7 +393,7 @@ Пока Выборка.Следующий() Цикл ТекущийОбъект = Выборка.Ссылка.ПолучитьОбъект(); Заменить = Истина; - Если ТребуетсяАнализНаборовСсылки Тогда + Если ТребуетсяАнализНаборовКаждогоОбъектаВладельца Тогда ЗапросАнализа.УстановитьПараметр("ВсеНаборыОбъекта", УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта( Выборка.Ссылка).ВыгрузитьКолонку("Набор")); @@ -350,17 +401,21 @@ КонецЕсли; Для каждого Строка Из ТекущийОбъект.ДополнительныеРеквизиты Цикл Если Строка.Свойство = Свойство Тогда + Значение = Строка.Значение; + Если ТипыДополнительныхЗначений[ТипЗнч(Значение)] <> Неопределено Тогда + Значение = СоответствиеСсылок[Значение]; + КонецЕсли; Если Заменить Тогда Если Строка.Свойство <> СвойствоОбъект.Ссылка Тогда Строка.Свойство = СвойствоОбъект.Ссылка; КонецЕсли; - Если Строка.Значение <> СоответствиеСсылок[Строка.Значение] Тогда - Строка.Значение = СоответствиеСсылок[Строка.Значение]; + Если Строка.Значение <> Значение Тогда + Строка.Значение = Значение; КонецЕсли; Иначе НоваяСтрока = ТекущийОбъект.ДополнительныеРеквизиты.Добавить(); НоваяСтрока.Свойство = СвойствоОбъект.Ссылка; - НоваяСтрока.Значение = СоответствиеСсылок[Строка.Значение]; + НоваяСтрока.Значение = Значение; ОбработанныеОбъекты.Добавить(ТекущийОбъект.Ссылка); Прервать; КонецЕсли; @@ -374,7 +429,9 @@ КонецЦикла; КонецЕсли; - Запрос.МенеджерВременныхТаблиц.Закрыть(); + Если Свойство = СвойствоОбъект.Ссылка Тогда + Запрос.МенеджерВременныхТаблиц.Закрыть(); + КонецЕсли; КонецЕсли; ЗафиксироватьТранзакцию(); diff --git a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ДополнительныеРеквизитыИСведения.mdo b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ДополнительныеРеквизитыИСведения.mdo index 42dee893a..5c80ddbac 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ДополнительныеРеквизитыИСведения.mdo +++ b/SSL/src/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения/ДополнительныеРеквизитыИСведения.mdo @@ -123,8 +123,8 @@ Number CatalogRef.Пользователи - 15 - 3 + 17 + 5 1024 @@ -207,7 +207,7 @@ ЗаполнятьОбязательно ru - Реквизит заполнять обязательно + Заполнять обязательно Boolean @@ -428,6 +428,11 @@ ru Форма элемента + + + ru + + PersonalComputer MobileDevice @@ -446,6 +451,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаСписка/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаСписка/Form.form index 9441b5e3b..580ff43ef 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаСписка/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаСписка/Form.form @@ -1,5 +1,70 @@ + + ГруппаПользовательскихНастроек + 16 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 18 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -152,10 +217,10 @@ СписокСтрокаПоиска - 16 + 20 СписокСтрокаПоискаРасширеннаяПодсказка - 18 + 22 Label true true @@ -165,7 +230,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 17 + 21 true Список @@ -175,10 +240,10 @@ СписокСостояниеПросмотра - 19 + 23 СписокСостояниеПросмотраРасширеннаяПодсказка - 21 + 25 Label true true @@ -188,7 +253,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 20 + 24 true ViewStatusAddition @@ -199,10 +264,10 @@ СписокУправлениеПоиском - 22 + 26 СписокУправлениеПоискомРасширеннаяПодсказка - 24 + 28 Label true true @@ -212,7 +277,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 23 + 27 true SearchControlAddition @@ -268,8 +333,11 @@ true + ГруппаПользовательскихНастроек + None + false Форма_КоманднаяПанель -1 diff --git a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаЭлемента/Form.form b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаЭлемента/Form.form index 0a5478780..f8c728b8c 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаЭлемента/Form.form +++ b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Forms/ФормаЭлемента/Form.form @@ -12,7 +12,7 @@ Объект.Description - НаименованиеExtendedTooltip + НаименованиеРасширеннаяПодсказка 7 Label true @@ -52,7 +52,7 @@ Объект.ValueType - ТипЗначенияExtendedTooltip + ТипЗначенияРасширеннаяПодсказка 8 Label true diff --git a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Help/ru.html b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Help/ru.html index 2ade5bf3a..09b608251 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Help/ru.html +++ b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/Help/ru.html @@ -1,3 +1,10 @@ - -

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

            -

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

            \ No newline at end of file + +

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

            +

            Открывается по соответствующей команде раздела Бизнес-процессы и задачи.

            +

            В списке выводится:

            +
            • Наименование - полное наименование объекта адресации; +
            • Тип значения - тип значения объекта адресации.

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

            +

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

            +

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

            +

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/ОбъектыАдресацииЗадач.mdo b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/ОбъектыАдресацииЗадач.mdo index ed8d38914..21f7469c8 100644 --- a/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/ОбъектыАдресацииЗадач.mdo +++ b/SSL/src/ChartsOfCharacteristicTypes/ОбъектыАдресацииЗадач/ОбъектыАдресацииЗадач.mdo @@ -103,6 +103,7 @@ DontUse + true ru diff --git a/SSL/src/CommandGroups/Взаимодействия/Взаимодействия.mdo b/SSL/src/CommandGroups/Взаимодействия/Взаимодействия.mdo index c2dd08ee8..70adf9480 100644 --- a/SSL/src/CommandGroups/Взаимодействия/Взаимодействия.mdo +++ b/SSL/src/CommandGroups/Взаимодействия/Взаимодействия.mdo @@ -1,13 +1,10 @@ - + Взаимодействия ru Взаимодействия Auto - - StdPicture.AddListItem - FormCommandBar diff --git a/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo b/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo index 836ceae01..17f197e02 100644 --- a/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo +++ b/SSL/src/CommonAttributes/ОбластьДанныхОсновныеДанные/ОбластьДанныхОсновныеДанные.mdo @@ -284,10 +284,6 @@ Catalog.ПроизводственныеКалендари DontUse - - Catalog.СтраныМира - Use - ScheduledJob.ОбновлениеАгрегатов DontUse @@ -496,10 +492,6 @@ Constant.ХранитьФайлыВТомахНаДиске DontUse - - Constant.ПараметрыБазовойФункциональности - DontUse - Constant.СведенияОбОбновленииИБ DontUse diff --git a/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/CommandModule.bsl b/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/CommandModule.bsl new file mode 100644 index 000000000..cc9488ffe --- /dev/null +++ b/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/CommandModule.bsl @@ -0,0 +1,14 @@ +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок( + ПараметрКоманды, + ПараметрыВыполненияКоманды, + ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка(), + "Администрирование"); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/ДополнительныеОбработкиАдминистрирование.mdo b/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/ДополнительныеОбработкиАдминистрирование.mdo new file mode 100644 index 000000000..7aa7ebcda --- /dev/null +++ b/SSL/src/CommonCommands/ДополнительныеОбработкиАдминистрирование/ДополнительныеОбработкиАдминистрирование.mdo @@ -0,0 +1,10 @@ + + + ДополнительныеОбработкиАдминистрирование + + ru + Дополнительные обработки + + ActionsPanelTools + Auto + diff --git a/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/CommandModule.bsl b/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/CommandModule.bsl new file mode 100644 index 000000000..7446e5ca9 --- /dev/null +++ b/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/CommandModule.bsl @@ -0,0 +1,14 @@ +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок( + ПараметрКоманды, + ПараметрыВыполненияКоманды, + ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет(), + "Администрирование"); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/ДополнительныеОтчетыАдминистрирование.mdo b/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/ДополнительныеОтчетыАдминистрирование.mdo new file mode 100644 index 000000000..fe302b21a --- /dev/null +++ b/SSL/src/CommonCommands/ДополнительныеОтчетыАдминистрирование/ДополнительныеОтчетыАдминистрирование.mdo @@ -0,0 +1,10 @@ + + + ДополнительныеОтчетыАдминистрирование + + ru + Дополнительные отчеты + + ActionsPanelReports + Auto + diff --git a/SSL/src/CommonCommands/Напомнить/CommandModule.bsl b/SSL/src/CommonCommands/Напомнить/CommandModule.bsl index 18185ac11..b4638836c 100644 --- a/SSL/src/CommonCommands/Напомнить/CommandModule.bsl +++ b/SSL/src/CommonCommands/Напомнить/CommandModule.bsl @@ -1,5 +1,4 @@ -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ +#Область ОбработчикиСобытий &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) @@ -14,6 +13,8 @@ КонецПроцедуры +#КонецОбласти + #Область СлужебныеПроцедурыИФункции &НаСервере diff --git a/SSL/src/CommonCommands/НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты/CommandModule.bsl b/SSL/src/CommonCommands/НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты/CommandModule.bsl index cb31174c5..c7ac819d0 100644 --- a/SSL/src/CommonCommands/НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты/CommandModule.bsl +++ b/SSL/src/CommonCommands/НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты/CommandModule.bsl @@ -1,5 +1,4 @@ -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ +#Область ОбработчикиСобытий &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) @@ -13,6 +12,8 @@ КонецПроцедуры +#КонецОбласти + #Область СлужебныеПроцедурыИФункции &НаСервере diff --git a/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/CommandModule.bsl b/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/CommandModule.bsl new file mode 100644 index 000000000..2df10b0c2 --- /dev/null +++ b/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/CommandModule.bsl @@ -0,0 +1,14 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ОбменДаннымиКлиент.ЗагрузитьПравилаСинхронизацииДанных(ИмяПланаОбмена(ПараметрКоманды)); + +КонецПроцедуры + +&НаСервере +Функция ИмяПланаОбмена(Знач УзелИнформационнойБазы) + + Возврат ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы); + +КонецФункции diff --git a/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/ОткрытьПравилаСинхронизацииДанных.mdo b/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/ОткрытьПравилаСинхронизацииДанных.mdo new file mode 100644 index 000000000..852595704 --- /dev/null +++ b/SSL/src/CommonCommands/ОткрытьПравилаСинхронизацииДанных/ОткрытьПравилаСинхронизацииДанных.mdo @@ -0,0 +1,17 @@ + + + ОткрытьПравилаСинхронизацииДанных + + ru + Загрузить комплект правил + + FormCommandBarImportant + PictureAndText + + ru + Загрузить комплект правил синхронизации данных + + + StdPicture.LoadReportSettings + + diff --git a/SSL/src/CommonCommands/ОткрытьСценарииОбменовДанными/ОткрытьСценарииОбменовДанными.mdo b/SSL/src/CommonCommands/ОткрытьСценарииОбменовДанными/ОткрытьСценарииОбменовДанными.mdo index 9a887f0a3..ec04062f3 100644 --- a/SSL/src/CommonCommands/ОткрытьСценарииОбменовДанными/ОткрытьСценарииОбменовДанными.mdo +++ b/SSL/src/CommonCommands/ОткрытьСценарииОбменовДанными/ОткрытьСценарииОбменовДанными.mdo @@ -3,7 +3,7 @@ ОткрытьСценарииОбменовДанными ru - Сценарии синхронизации данных + Сценарии синхронизации FormNavigationPanelImportant Auto diff --git a/SSL/src/CommonCommands/ПанельОтчетовАдминистрирование/CommandModule.bsl b/SSL/src/CommonCommands/ПанельОтчетовАдминистрирование/CommandModule.bsl index 29629b8d2..575ae499a 100644 --- a/SSL/src/CommonCommands/ПанельОтчетовАдминистрирование/CommandModule.bsl +++ b/SSL/src/CommonCommands/ПанельОтчетовАдминистрирование/CommandModule.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытий &НаКлиенте diff --git a/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных.mdo b/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных.mdo index 75f3fba5d..3e31cec4a 100644 --- a/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных.mdo +++ b/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных/ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных.mdo @@ -3,13 +3,17 @@ ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных ru - События отправки данных + События отправки FormNavigationPanelGoTo ExchangePlanRef.ОбменСообщениями PictureAndText + + ru + События отправки данных + StdPicture.EventLog diff --git a/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных.mdo b/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных.mdo index c89b837a0..43c4a6519 100644 --- a/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных.mdo +++ b/SSL/src/CommonCommands/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных/ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных.mdo @@ -3,13 +3,17 @@ ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных ru - События получения данных + События получения FormNavigationPanelGoTo ExchangePlanRef.ОбменСообщениями PictureAndText + + ru + События получения данных + StdPicture.EventLog diff --git a/SSL/src/CommonCommands/СоздатьРезервнуюКопию/CommandModule.bsl b/SSL/src/CommonCommands/СоздатьРезервнуюКопию/CommandModule.bsl index 4d5183afa..532b227ac 100644 --- a/SSL/src/CommonCommands/СоздатьРезервнуюКопию/CommandModule.bsl +++ b/SSL/src/CommonCommands/СоздатьРезервнуюКопию/CommandModule.bsl @@ -1,6 +1,5 @@ -//////////////////////////////////////////////////////////////////////////////// -// ОБРАБОТЧИКИ СОБЫТИЙ +#Область ОбработчикиСобытий &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) @@ -9,6 +8,4 @@ КонецПроцедуры -#Область СлужебныеПроцедурыИФункции - #КонецОбласти diff --git a/SSL/src/CommonCommands/УстановитьРасширениеРаботыСФайлами/УстановитьРасширениеРаботыСФайлами.mdo b/SSL/src/CommonCommands/УстановитьРасширениеРаботыСФайлами/УстановитьРасширениеРаботыСФайлами.mdo index b45cbc1fc..2688317bb 100644 --- a/SSL/src/CommonCommands/УстановитьРасширениеРаботыСФайлами/УстановитьРасширениеРаботыСФайлами.mdo +++ b/SSL/src/CommonCommands/УстановитьРасширениеРаботыСФайлами/УстановитьРасширениеРаботыСФайлами.mdo @@ -3,12 +3,12 @@ УстановитьРасширениеРаботыСФайлами ru - Установить расширение работы с файлами в Веб-клиенте + Установить расширение для веб-клиента 1С:Предприятие ActionsPanelTools Auto ru - установить расширение работы с файлами в Веб-клиенте + расширение для веб-клиента 1С:Предприятие diff --git a/SSL/src/CommonForms/АвтономнаяРабота/Form.form b/SSL/src/CommonForms/АвтономнаяРабота/Form.form index 36e0e1d60..402431b61 100644 --- a/SSL/src/CommonForms/АвтономнаяРабота/Form.form +++ b/SSL/src/CommonForms/АвтономнаяРабота/Form.form @@ -860,7 +860,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/CommonForms/АвтономнаяРаботаВМоделиСервиса/Form.form b/SSL/src/CommonForms/АвтономнаяРаботаВМоделиСервиса/Form.form index bb78d77a2..7edc24a55 100644 --- a/SSL/src/CommonForms/АвтономнаяРаботаВМоделиСервиса/Form.form +++ b/SSL/src/CommonForms/АвтономнаяРаботаВМоделиСервиса/Form.form @@ -792,7 +792,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -2086,7 +2086,7 @@ ПерейтиККонфликтам <key>ru</key> - <value>Проблем нет</value> + <value>Предупреждений нет</value> 9 diff --git a/SSL/src/CommonForms/АдреснаяКнига/Help/ru.html b/SSL/src/CommonForms/АдреснаяКнига/Help/ru.html new file mode 100644 index 000000000..a607402cf --- /dev/null +++ b/SSL/src/CommonForms/АдреснаяКнига/Help/ru.html @@ -0,0 +1,23 @@ + +

            В адресной книге можно выполнить поиск и подбор контактов для исходящих электронных писем.

            +

            Для удобства работы с контактами программа формирует единую адресную книгу на основании контактной информации.

            +

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

            +

            Состоит из двух частей:

            +
            • Левая часть содержит набор вкладок для выбора контактов: +
                • Поиск контактов - если контактов много, то на вкладке можно осуществить поиск нужного контакта в программе по нескольким признакам: +
                    • По адресу электронной почты (По email); +
                    • По доменному имени почтового сервера;  +
                    • По строке, входящей в наименование контакта. Для поиска контактов по строке используется полнотекстовый поиск программы (в этом случае поиск осуществляется по всем реквизитам контактов); +
                    • В нижней части окна поиска выводится информация об актуальности индекса полнотекстового поиска и кнопка Обновить, которая становится активной, если индекс неактуален. +
                    • по начальным символам наименования контакта (Начинается с).
                  • Выберите способ поиска, напишите выражение для поиска и нажмите кнопку Найти. Будут подобраны контакты, удовлетворяющие условию.
                • Пользователи - подбор контакта из списка пользователей программы. +
                  • Вкладки могут включать и другие списки, например, список партнеров. +
                  • Если в списке много элементов, можно использовать команду Найти. Можно работать со списком и использовать его возможности, вводить элементы.
                • Контакты по предмету - вкладка становится доступной, если в исходящем электронном письме заполнено поле Предмет. Программа автоматически подбирает контакты, связанные с предметом. Данная вкладка содержит список контактов, которые фигурируют в самом предмете, а также во всех документах взаимодействий, где этот предмет указан.
              • Двойной щелчок мыши по нужному контакту добавит запись о нем в правую часть адресной книги. Также можно использовать стрелки ">" и "<" или "<<" для добавления или удаления контактов.
            • Правая часть содержит список контактов для добавления в исходящее электронное письмо.  +
              • Список состоит из колонок:  +
                • В колонке Группа можно изменить поле письма, в которое будут добавлены контакты (Кому, Копии, Скрытые, Получатели ответа). По умолчанию установлена группа Кому. +
                • В колонке Адрес проставляется адрес электронной почты добавленного контакта. Если адреса электронной почты в программе нет, можно добавить его в этой колонке. +
                • В колонке Представление проставляется наименование контакта.
              • С помощью контекстного меню правой части адресной книги нужные контакты можно Найти в списке, Найти по адресу, Найти по представлению, Установить адрес контакта (поиск осуществляется в левой части адресной книги), а также разместить адреса в нужные группы.
            • Если контакт не найден в программе, то его можно Добавить в список вручную, указав адрес электронной почты и представление контакта. Добавить строку в список можно также клавишей Ins. +
            • С помощью соответствующих команд меню Все действия (в интерфейсе Такси Еще) можно  Удалить контакт из списка или поменять контакты местами.

            Добавление контактов в исходящее электронное письмо

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

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/CommonForms/АдреснаяКнига/Module.bsl b/SSL/src/CommonForms/АдреснаяКнига/Module.bsl index c7731e89a..f155e7ce9 100644 --- a/SSL/src/CommonForms/АдреснаяКнига/Module.bsl +++ b/SSL/src/CommonForms/АдреснаяКнига/Module.bsl @@ -595,7 +595,7 @@ Результат = ВзаимодействияВызовСервера.ПолучитьНаименованиеИАдресаЭлектроннойПочтыКонтакта(ТекущиеДанные.Ссылка); Если Результат <> Неопределено И Результат.Адреса.Количество() > 0 Тогда - СписокАдресов = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(Результат.Адреса, ";"); + СписокАдресов = СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(Результат.Адреса.ВыгрузитьЗначения(), ";"); Иначе СписокАдресов = ""; КонецЕсли; diff --git a/SSL/src/CommonForms/АдреснаяКнига/АдреснаяКнига.mdo b/SSL/src/CommonForms/АдреснаяКнига/АдреснаяКнига.mdo index 9c20ff89b..cf1c217a4 100644 --- a/SSL/src/CommonForms/АдреснаяКнига/АдреснаяКнига.mdo +++ b/SSL/src/CommonForms/АдреснаяКнига/АдреснаяКнига.mdo @@ -5,6 +5,11 @@ ru Адресная книга + + + ru + + PersonalComputer MobileDevice true diff --git a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Form.form b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Form.form similarity index 59% rename from SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Form.form rename to SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Form.form index 3627f359c..0ab2dda12 100644 --- a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Form.form +++ b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Form.form @@ -2,11 +2,11 @@ <key>ru</key> - <value>Файлы</value> + <value>Выбранные объекты</value> Список - 4 + 1 true true @@ -16,20 +16,94 @@ Список None - - СписокНаименование - 27 + Change + Copy + EndEdit + + СписокГруппа1 + 37 + + СписокПометка + 12 + true + true + + true + + + Список.Check + + + СписокПометкаРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + + СписокПометкаКонтекстноеМеню + 13 + true + + CheckBoxField + Auto + true + Left + true + + + + СписокЗначение + 30 + true + true + + true + + + Список.Value + + + СписокЗначениеРасширеннаяПодсказка + 32 + Label + true + true + + Left + + + + СписокЗначениеКонтекстноеМеню + 31 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + true true true - - Список.Наименование - - СписокНаименованиеРасширеннаяПодсказка - 29 + СписокГруппа1РасширеннаяПодсказка + 38 Label true true @@ -37,76 +111,37 @@ Left
            - - СписокНаименованиеКонтекстноеМеню - 28 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СписокСсылка - 21 - true - true - - - Список.Ссылка - - - СписокСсылкаРасширеннаяПодсказка - 23 - Label - true - true - - Left - - - - СписокСсылкаКонтекстноеМеню - 22 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + InCell + auto + true None СписокКоманднаяПанель - 6 + 3 Left - true - ValueChoice - СписокВыборЗначения + BeforeAddRow + СписокПередНачаломДобавления - Selection - СписокВыбор + BeforeDeleteRow + СписокПередУдалением + + + ChoiceProcessing + СписокОбработкаВыбора СписокСтрокаПоиска - 30 + 45 СписокСтрокаПоискаРасширеннаяПодсказка - 32 + 47 Label true true @@ -116,7 +151,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 31 + 46 true Список @@ -126,10 +161,10 @@ СписокСостояниеПросмотра - 33 + 48 СписокСостояниеПросмотраРасширеннаяПодсказка - 35 + 50 Label true true @@ -139,7 +174,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 34 + 49 true ViewStatusAddition @@ -150,10 +185,10 @@ СписокУправлениеПоиском - 36 + 51 СписокУправлениеПоискомРасширеннаяПодсказка - 38 + 53 Label true true @@ -163,7 +198,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 37 + 52 true SearchControlAddition @@ -173,8 +208,8 @@ - СписокExtendedTooltip - 20 + СписокРасширеннаяПодсказка + 4 Label true true @@ -184,18 +219,18 @@ СписокКонтекстноеМеню - 5 + 2 - СписокКонтекстноеМенюВыбрать - 9 + СписокКонтекстноеМенюДобавить + 35 true true true - СписокКонтекстноеМенюВыбратьExtendedTooltip - 16 + СписокКонтекстноеМенюДобавитьРасширеннаяПодсказка + 36 Label true true @@ -203,85 +238,7 @@ Left - Form.Item.Список.StandardCommand.Choose - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюНайти - 7 - true - true - - true - - - СписокКонтекстноеМенюНайтиExtendedTooltip - 17 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюОтменитьПоиск - 8 - true - true - - true - - - СписокКонтекстноеМенюОтменитьПоискExtendedTooltip - 18 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюВывестиСписок - 10 - true - true - - true - - - СписокКонтекстноеМенюВывестиСписокExtendedTooltip - 19 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.OutputList + Form.Item.Список.StandardCommand.Add Normal Auto true @@ -289,9 +246,8 @@ UserCmds Auto + true - HierarchicalList - true true true true @@ -304,45 +260,36 @@ AutoUse true true + false + false + false + true Auto Auto true true - Список.ИндексКартинки + Список.Picture - - CommonPicture.КоллекцияПиктограммФайлов - None None None true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true - - - ФормаКоманднаяПанель - -1 + + Группа1 + 24 - ФормаСтандартнаяКомандаВыбрать - 3 + КомандаОК + 26 true true true - ФормаСтандартнаяКомандаВыбратьExtendedTooltip - 12 + КомандаОКРасширеннаяПодсказка + 27 Label true true @@ -350,7 +297,7 @@ Left - Form.Command.СтандартнаяКомандаВыбрать + Form.Command.ЗавершитьРедактирование Auto true true @@ -359,16 +306,16 @@ Auto - ФормаСтандартнаяКомандаСвойстваОбъекта - 1 + ФормаОтмена + 28 true true true - ФормаСтандартнаяКомандаСвойстваОбъектаExtendedTooltip - 13 + ФормаОтменаРасширеннаяПодсказка + 29 Label true true @@ -376,7 +323,56 @@ Left - Form.Command.СтандартнаяКомандаСвойстваОбъекта + Form.StandardCommand.Cancel + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа1РасширеннаяПодсказка + 25 + Label + true + true + + Left + + + CommandBar + + Right + + + + ФормаКоманднаяПанель + -1 + + СписокПодбор + 22 + true + true + + true + + + СписокПодборРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Pickup Normal Auto true @@ -385,16 +381,16 @@ Auto - ФормаСправка - 2 + СписокВставитьИзБуфераОбмена + 33 true true true - ФормаСправкаExtendedTooltip - 14 + СписокВставитьИзБуфераОбменаРасширеннаяПодсказка + 34 Label true true @@ -402,7 +398,7 @@ Left - Form.StandardCommand.Help + Form.Command.ВставитьИзБуфераОбмена Normal Auto true @@ -411,16 +407,16 @@ Auto - ФормаИзменитьФорму - 11 + СписокДобавить + 10 true true true - ФормаИзменитьФормуExtendedTooltip - 15 + СписокДобавитьРасширеннаяПодсказка + 11 Label true true @@ -428,29 +424,133 @@ Left - Form.StandardCommand.CustomizeForm + Form.Item.Список.StandardCommand.Add Normal Auto true true UserCmds Auto + InAdditionalSubmenu + + + ФормаГруппа1 + 43 + + СписокУстановитьФлажки + 18 + true + true + + true + + + СписокУстановитьФлажкиРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + СписокСнятьФлажки + 20 + true + true + + true + + + СписокСнятьФлажкиРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.UncheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + ФормаГруппа1РасширеннаяПодсказка + 44 + Label + true + true + + Left + + + + + + КоманднаяПанельСписка + 8 + true + true + + true + + + <key>ru</key> + <value>Командная панель списка</value> + + + ru + Командная панель списка + + + КоманднаяПанельСпискаРасширеннаяПодсказка + 9 + Label + true + true + + Left + + + + Item.Список + Left + true OnCreateAtServer ПриСозданииНаСервере - 50 - LockOwner + DontBlock true true Vertical true true true - UseIfNecessary auto true @@ -461,7 +561,7 @@ 1 - DynamicList + ValueList true @@ -469,46 +569,17 @@ true - - Список.Ссылка - -
            true
            - - ВЫБРАТЬ - ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) КАК Ссылка, - ВЫРАЗИТЬ("" КАК Строка(150)) КАК Наименование, - 1 КАК ИндексКартинки - - true - true - true - true + +
            - ВладелецФайлов + ОграничиватьВыборУказаннымиЗначениями <key>ru</key> - <value>Владелец файлов</value> + <value>Ограничивать выбор указанными значениями</value> 2 - - AnyRef - - - true - - - true - - - - ЗакрыватьПриВыборе - - <key>ru</key> - <value>Закрывать при выборе</value> - - 3 Boolean @@ -519,73 +590,73 @@ true - - СтандартнаяКомандаСвойстваОбъекта + + ПредставлениеПоля <key>ru</key> - <value>Свойства файла</value> + <value>Представление поля</value> - 2 - - ru - Свойства файла - - + 3 + + String + + + true - - F2 - - StdPicture.Properties - - - - СтандартнаяКомандаСвойстваОбъекта - - - Auto - Auto - + + + true + + - СтандартнаяКомандаВыбрать + ЗавершитьРедактирование <key>ru</key> - <value>Выбрать</value> + <value>ОК</value> 1 ru - Выбрать значение + Завершить редактирование + + + true + + + + ЗавершитьРедактирование + + + Auto + Auto + + + ВставитьИзБуфераОбмена + + <key>ru</key> + <value>Вставить из буфера обмена...</value> + + 2 + + ru + Вставить из буфера обмена true - StdPicture.ChooseValue + CommonPicture.ЗаполнитьФорму - СтандартнаяКомандаВыбрать + ВставитьИзБуфераОбмена - TextPicture Auto Auto - - ВладелецФайла - - AnyRef - - - - ЗакрыватьПриВыборе - - Boolean - - -
            diff --git a/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Module.bsl b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Module.bsl new file mode 100644 index 000000000..8ba5878f4 --- /dev/null +++ b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/Module.bsl @@ -0,0 +1,146 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Параметры.Свойство("ПредставлениеПоля", ПредставлениеПоля); + Заголовок = НСтр("ru = 'Список выбранных'") + " (" + ПредставлениеПоля + ")"; + + Список.ТипЗначения = Параметры.ОписаниеТипов; + + Для Каждого Значение Из Параметры.ЗначенияДляВыбора Цикл + ДобавитьУникальноеЗначениеВСписок(Список, Значение, Неопределено, Ложь); + КонецЦикла; + + Для Каждого ЭлементПрототип Из Параметры.Отмеченные Цикл + ЗначениеВСКД = ЭлементПрототип.Значение; + Если ТипЗнч(ЗначениеВСКД) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(ЗначениеВСКД); + ЗначениеВФорме = Новый ОписаниеТипов(МассивТипов); + Иначе + ЗначениеВФорме = ЗначениеВСКД; + КонецЕсли; + ДобавитьУникальноеЗначениеВСписок(Список, ЗначениеВФорме, Неопределено, Истина); + КонецЦикла; + + Параметры.Свойство("ОграничиватьВыборУказаннымиЗначениями", ОграничиватьВыборУказаннымиЗначениями); + + Если ОграничиватьВыборУказаннымиЗначениями Тогда + Элементы.Список.ИзменятьСоставСтрок = Ложь; + Элементы.СписокПодбор.Видимость = Ложь; + Элементы.СписокДобавить.Видимость = Ложь; + Элементы.СписокВставитьИзБуфераОбмена.Видимость = Ложь; + Элементы.СписокКонтекстноеМенюДобавить.Видимость = Ложь; + Элементы.СписокЗначение.ТолькоПросмотр = Истина; + КонецЕсли; + + Если Параметры.Свойство("ПараметрыВыбора") И Параметры.ПараметрыВыбора <> Неопределено Тогда + Элементы.СписокЗначение.ПараметрыВыбора = Новый ФиксированныйМассив(Параметры.ПараметрыВыбора); + КонецЕсли; + + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла") Тогда + Элементы.СписокВставитьИзБуфераОбмена.Видимость = Ложь; + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок + +&НаКлиенте +Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Если ОграничиватьВыборУказаннымиЗначениями Тогда + Отказ = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СписокПередУдалением(Элемент, Отказ) + Если ОграничиватьВыборУказаннымиЗначениями Тогда + Отказ = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СписокОбработкаВыбора(Элемент, РезультатВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + // Добавление выбранных элементов с контролем уникальности. + Если ТипЗнч(РезультатВыбора) = Тип("Массив") Тогда + Для Каждого Значение Из РезультатВыбора Цикл + ДобавитьУникальноеЗначениеВСписок(Список, Значение, Неопределено, Истина); + КонецЦикла; + Иначе + ДобавитьУникальноеЗначениеВСписок(Список, РезультатВыбора, Неопределено, Истина); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ЗавершитьРедактирование(Команда) + Если МодальныйРежим + Или РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс + Или ВладелецФормы = Неопределено Тогда + Закрыть(Список); + Иначе + ОповеститьОВыборе(Список); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВставитьИзБуфераОбмена(Команда) + ПараметрыПоиска = Новый Структура; + ПараметрыПоиска.Вставить("ОписаниеТипов", Список.ТипЗначения); + ПараметрыПоиска.Вставить("ПараметрыВыбора", Элементы.СписокЗначение.ПараметрыВыбора); + ПараметрыПоиска.Вставить("ПредставлениеПоля", ПредставлениеПоля); + ПараметрыПоиска.Вставить("Сценарий", "ПоискСсылок"); + + ПараметрыВыполнения = Новый Структура; + Обработчик = Новый ОписаниеОповещения("ВставитьИзБуфераОбменаЗавершение", ЭтотОбъект, ПараметрыВыполнения); + + МодульЗагрузкаДанныхИзФайлаКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЗагрузкаДанныхИзФайлаКлиент"); + МодульЗагрузкаДанныхИзФайлаКлиент.ПоказатьФормуЗаполненияСсылок(ПараметрыПоиска, Обработчик); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ВставитьИзБуфераОбменаЗавершение(НайденныеОбъекты, ПараметрыВыполнения) Экспорт + Если НайденныеОбъекты = Неопределено Тогда + Возврат; + КонецЕсли; + Для Каждого Значение Из НайденныеОбъекты Цикл + ДобавитьУникальноеЗначениеВСписок(Список, Значение, Неопределено, Истина); + КонецЦикла; +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ДобавитьУникальноеЗначениеВСписок(СписокЗначений, Значение, Представление, Использование) + Если Не ЗначениеЗаполнено(Значение) Тогда + Возврат Неопределено; + КонецЕсли; + ЭлементСписка = СписокЗначений.НайтиПоЗначению(Значение); + Если ЭлементСписка = Неопределено Тогда + ЭлементСписка = СписокЗначений.Добавить(); + ЭлементСписка.Значение = Значение; + КонецЕсли; + Если ЗначениеЗаполнено(Представление) Тогда + ЭлементСписка.Представление = Представление; + ИначеЕсли Не ЗначениеЗаполнено(ЭлементСписка.Представление) Тогда + ЭлементСписка.Представление = Строка(Значение); + КонецЕсли; + Если Использование И Не ЭлементСписка.Пометка Тогда + ЭлементСписка.Пометка = Истина; + КонецЕсли; + Возврат ЭлементСписка; +КонецФункции + +#КонецОбласти diff --git a/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/ВводЗначенийСпискомСФлажками.mdo b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/ВводЗначенийСпискомСФлажками.mdo new file mode 100644 index 000000000..5105c262a --- /dev/null +++ b/SSL/src/CommonForms/ВводЗначенийСпискомСФлажками/ВводЗначенийСпискомСФлажками.mdo @@ -0,0 +1,10 @@ + + + ВводЗначенийСпискомСФлажками + + ru + Ввод значений списком с флажками + + PersonalComputer + MobileDevice + diff --git a/SSL/src/CommonForms/ВводПароляСОписаниями/Help/ru.html b/SSL/src/CommonForms/ВводПароляСОписаниями/Help/ru.html index 0fe3d2d29..8967b631c 100644 --- a/SSL/src/CommonForms/ВводПароляСОписаниями/Help/ru.html +++ b/SSL/src/CommonForms/ВводПароляСОписаниями/Help/ru.html @@ -1,7 +1,10 @@ - -

            В форме вводится пароль при расшифровке файла.

            -

            В поле описания ("Файл зашифроован для:") указывается, для каких персональных сертификатов электронной подписи (ЭП) зашифрован файл.

            -

             

            -

            См. также:

            -
            -

            Настройка ЭП и шифрования
            Персональные настройки ЭП

            \ No newline at end of file + +

            Предназначена для ввода пароля при расшифровке файла.

            +

            Открывается по команде ЭП и шифрование - Расшифровать (Все действия - ЭП и шифрование - Расшифровать) в списке файлов (присоединенных файлов), списке присоединенных файлов или карточке файла (карточке присоединенного файла).

            +

            Выводятся сведения:

            +
          • В поле Файл указывается наименование файла, недоступно для редактирования. +
          • В поле Файл зашифрован для указывается, для каких персональных сертификатов электронной подписи (ЭП) зашифрован файл, недоступно для редактирования. +

            Расшифровка файла

            +
            • В поле Пароль введите пароль для расшифровки файла, для подтверждения нажмите ОК.

            См. также:

            +
          • \ No newline at end of file diff --git a/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Form.form b/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Form.form index 253ef3653..0f148849c 100644 --- a/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Form.form +++ b/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Form.form @@ -9,7 +9,7 @@ 6 <key>ru</key> - <value>Для удобной работы с программой предлагается установить расширение работы с файлами. + <value>Для удобной работы с программой предлагается установить расширение для веб-клиента 1С:Предприятие. Установить?</value> true @@ -147,6 +147,7 @@ Retry SaveValues Yes + 70 LockOwner true true @@ -183,7 +184,7 @@ 1 ru - Установить расширение работы с файлами и продолжить + Установить расширение для веб-клиента 1С:Предприятие и продолжить true @@ -205,7 +206,7 @@ 2 ru - Продолжить без установки расширения работы с файлами + Продолжить без установки расширения для веб-клиента 1С:Предприятие true diff --git a/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Module.bsl b/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Module.bsl index b118d60ed..0f1a19ad0 100644 --- a/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Module.bsl +++ b/SSL/src/CommonForms/ВопросОбУстановкеРасширенияРаботыСФайлами/Module.bsl @@ -15,7 +15,7 @@ ИначеЕсли Не Параметры.ВозможноПродолжениеБезУстановки Тогда Элементы.ДекорацияПояснение.Заголовок = - НСтр("ru = 'Для выполнения действия требуется установить расширение работы с файлами. + НСтр("ru = 'Для выполнения действия требуется установить расширение для веб-клиента 1С:Предприятие. |Установить?'"); КонецЕсли; diff --git a/SSL/src/CommonForms/ВосстановлениеСвязиСГлавнымУзлом/Help/ru.html b/SSL/src/CommonForms/ВосстановлениеСвязиСГлавнымУзлом/Help/ru.html index 4476b5c9d..2cb0543fe 100644 --- a/SSL/src/CommonForms/ВосстановлениеСвязиСГлавнымУзлом/Help/ru.html +++ b/SSL/src/CommonForms/ВосстановлениеСвязиСГлавнымУзлом/Help/ru.html @@ -1,5 +1,5 @@ - +

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

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

            -

            См. также статью на ИТС Восстановление работоспособности распределенной информационной базы (БСП).

            +

            См. также статью на ИТС Восстановление работоспособности распределенной информационной базы (БСП).

             

            \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборДаты/Help/ru.html b/SSL/src/CommonForms/ВыборДаты/Help/ru.html new file mode 100644 index 000000000..e46de611d --- /dev/null +++ b/SSL/src/CommonForms/ВыборДаты/Help/ru.html @@ -0,0 +1,6 @@ + +

            Предназначен для выбора даты переноса праздничного дня производственного календаря.

            +

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

            +

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

            +

            Открывается по команде Перенести день в производственном календаре.

            +

            Выберите дату переноса, нажмите ОК.

            \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборДаты/ВыборДаты.mdo b/SSL/src/CommonForms/ВыборДаты/ВыборДаты.mdo index 532c910fb..dec3301d2 100644 --- a/SSL/src/CommonForms/ВыборДаты/ВыборДаты.mdo +++ b/SSL/src/CommonForms/ВыборДаты/ВыборДаты.mdo @@ -5,6 +5,11 @@ ru Выбор даты + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/CommonForms/ВыборДействияПриОбнаруженииОтличийФайла/Form.form b/SSL/src/CommonForms/ВыборДействияПриОбнаруженииОтличийФайла/Form.form index bfbb728e5..87406cfbe 100644 --- a/SSL/src/CommonForms/ВыборДействияПриОбнаруженииОтличийФайла/Form.form +++ b/SSL/src/CommonForms/ВыборДействияПриОбнаруженииОтличийФайла/Form.form @@ -108,7 +108,6 @@ UsualGroup Auto - StrongSeparation true true Auto @@ -413,7 +412,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto @@ -538,7 +537,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto diff --git a/SSL/src/CommonForms/ВыборИсполнителяБизнесПроцесса/Help/ru.html b/SSL/src/CommonForms/ВыборИсполнителяБизнесПроцесса/Help/ru.html index c66ff36f1..d04a4e22b 100644 --- a/SSL/src/CommonForms/ВыборИсполнителяБизнесПроцесса/Help/ru.html +++ b/SSL/src/CommonForms/ВыборИсполнителяБизнесПроцесса/Help/ru.html @@ -1,4 +1,20 @@ - -

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

            + +

            Предназначен для выбора исполнителя бизнес-процесса (например, Задания).

            +

            Открывается из бизнес-процесса по кнопке выбора в поле Исполнитель. 

            +

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

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

            -

            См. также: Общая информация о формах.

            \ No newline at end of file +

            Пользователи

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

            Роли исполнителей

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

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборКонтакта/Help/ru.html b/SSL/src/CommonForms/ВыборКонтакта/Help/ru.html new file mode 100644 index 000000000..fa276e977 --- /dev/null +++ b/SSL/src/CommonForms/ВыборКонтакта/Help/ru.html @@ -0,0 +1,19 @@ + +

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

            +

            Поле Контакт всегда присутствует во всех документах взаимодействий, однако представление контактов в документах различается:

            +
            • В документах Встреча и Запланированное взаимодействие присутствует список участников, в который необходимо добавить все контакты, которые будут участвовать в запланированном мероприятии или встрече. +
            • В документе Сообщение SMS присутствует список адресатов, в который необходимо добавить контакты для рассылки сообщения. +
            • В документе Телефонный звонок присутствует поле Контакт абонента. 

            Окно Выбор контактов открывается при заполнении поля Контакт документа взаимодействий.

            +

            Содержит вкладки:

            +
            • Поиск контактов  - поиск контактов в программе по нескольким признакам: +
                • По адресу электронной почты (По e-mail); +
                • По доменному имени почтового сервера; +
                • По телефону; +
                • По строке, входящей в наименование контакта. +
                  • Для поиска контактов по строке используется полнотекстовый поиск программы, в этом случае поиск осуществляется по всем реквизитам контактов. +
                  • В нижней части окна поиска выводится информация об актуальности индекса полнотекстового поиска и кнопка Обновить, которая становится активной, если индекс неактуален.
                • по начальным символам наименования контакта (Начинается с). 
              • Выберите способ поиска, напишите выражение для поиска и нажмите кнопку Найти. Будут подобраны контакты, удовлетворяющие условию.
            • Пользователи - подбор контакта из списка пользователей программы. +
              • Вкладки могут включать и другие списки, например, список партнеров. +
              • Если в списке много элементов, используйте команду Найти. Можно работать со списком и использовать его возможности, вводить элементы.
            • Контакты по предмету - вкладка становится доступной, если в документе взаимодействий заполнено поле Предмет. Программа автоматически подбирает контакты, связанные с предметом. Данная вкладка содержит список контактов, которые фигурируют в самом предмете, а также во всех документах взаимодействий, где этот предмет указан.

            Добавление контактов в документы взаимодействий

            +
            • Двойной щелчок по контакту добавляет его в документ взаимодействия. Также можно использовать кнопку Выбрать. +
            • Для одновременного добавления нескольких контактов из списка выделите их и нажмите кнопку Выбрать.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборКонтакта/ВыборКонтакта.mdo b/SSL/src/CommonForms/ВыборКонтакта/ВыборКонтакта.mdo index 81fc10aef..89e75f3bf 100644 --- a/SSL/src/CommonForms/ВыборКонтакта/ВыборКонтакта.mdo +++ b/SSL/src/CommonForms/ВыборКонтакта/ВыборКонтакта.mdo @@ -5,6 +5,11 @@ ru Выбор контакта + + + ru + + PersonalComputer MobileDevice true diff --git a/SSL/src/CommonForms/ВыборОбъектовМетаданных/Help/ru.html b/SSL/src/CommonForms/ВыборОбъектовМетаданных/Help/ru.html index eece5e111..477ed903b 100644 --- a/SSL/src/CommonForms/ВыборОбъектовМетаданных/Help/ru.html +++ b/SSL/src/CommonForms/ВыборОбъектовМетаданных/Help/ru.html @@ -1,4 +1,4 @@ - +

            Предназначен для выбора объектов программы.

            Вызывается из других объектов программы по команде Выбрать или по соответствующей гиперссылке.

            Список объектов программы представляет собой дерево, сгруппирован по типам объектов программы.

            diff --git a/SSL/src/CommonForms/ВыборПодписей/Form.form b/SSL/src/CommonForms/ВыборПодписей/Form.form index 677275e47..37d45d975 100644 --- a/SSL/src/CommonForms/ВыборПодписей/Form.form +++ b/SSL/src/CommonForms/ВыборПодписей/Form.form @@ -90,6 +90,7 @@ Left true + 25 true true true @@ -172,6 +173,7 @@ Left true + 10 true true true @@ -397,7 +399,7 @@ OnCreateAtServer ПриСозданииНаСервере - 60 + 80 LockOwner true true diff --git a/SSL/src/CommonForms/ВыборПодписей/Help/ru.html b/SSL/src/CommonForms/ВыборПодписей/Help/ru.html index cd7950c9f..3612782ed 100644 --- a/SSL/src/CommonForms/ВыборПодписей/Help/ru.html +++ b/SSL/src/CommonForms/ВыборПодписей/Help/ru.html @@ -1,9 +1,16 @@ - -

            В форме выбираются подписи, которые требуется сохранять вместе с файлом.

            -

            При выполнении команды "Сохранить с ЭП", если персональная настройка "Действия при сохранении с ЭП" установлена в "Спрашивать", открывается данная форма.

            -

            Установите флажки для подписей, которые надо сохранить вместе с файлом, и нажмите "OK".

            -

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

            -

             

            -

            См. также:

            -
            -

            Настройка ЭП и шифрования
            Персональные настройки ЭП

            \ No newline at end of file + +

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

            +

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

            +

            В списке выводится:

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

            Установите флажки для подписей, которые надо сохранить вместе с файлом, и нажмите OK.

            +

            Для того чтобы не видеть это окно и всегда сохранять все подписи, включите флажок Больше не спрашивать.

            +

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Help/ru.html b/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Help/ru.html deleted file mode 100644 index 672441a8a..000000000 --- a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Help/ru.html +++ /dev/null @@ -1,9 +0,0 @@ - -

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

            -

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

            -

            В списке отображаются наименования файлов, значки перед наименованием указывают на тип файла.

            -

            Просмотр сведений о файле

            -

            Выбор файла

            -
            • Выделите файл, нажмите Выбрать. Также можно воспользоваться двойным щелчком левой кнопки мыши.

            См. также:

            -

             

            -

             

            \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Module.bsl b/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Module.bsl deleted file mode 100644 index 8b353a6bc..000000000 --- a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/Module.bsl +++ /dev/null @@ -1,115 +0,0 @@ - -#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - ВладелецФайлов = Параметры.ВладелецФайла; - ЗакрыватьПриВыборе = Параметры.ЗакрыватьПриВыборе; - - НастроитьДинамическийСписок(); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок - -&НаКлиенте -Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - ОбработкаВыбораЗначения(); - -КонецПроцедуры - -&НаКлиенте -Процедура СписокВыборЗначения(Элемент, Значение, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - - ОбработкаВыбораЗначения(); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиКомандФормы - -&НаКлиенте -Процедура СтандартнаяКомандаВыбрать(Команда) - - ОбработкаВыбораЗначения(); - -КонецПроцедуры - -&НаКлиенте -Процедура СтандартнаяКомандаСвойстваОбъекта(Команда) - - Если Элементы.Список.ТекущиеДанные = Неопределено Тогда - Возврат - КонецЕсли; - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ПрисоединенныйФайл", Элементы.Список.ТекущиеДанные.Ссылка); - - ОткрытьФорму("ОбщаяФорма.ПрисоединенныйФайл", ПараметрыФормы); - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -&НаКлиенте -Процедура ОбработкаВыбораЗначения() - - Если Элементы.Список.ТекущиеДанные = Неопределено Тогда - Возврат; - КонецЕсли; - - ТекущиеДанные = Элементы.Список.ТекущиеДанные; - - ОповеститьОВыборе(ТекущиеДанные.Ссылка); - -КонецПроцедуры - -&НаСервере -Процедура НастроитьДинамическийСписок() - - Список.ТекстЗапроса = - "ВЫБРАТЬ - | Файлы.Ссылка КАК Ссылка, - | Файлы.Наименование КАК Наименование, - | ВЫБОР - | КОГДА Файлы.ПометкаУдаления = ИСТИНА - | ТОГДА Файлы.ИндексКартинки + 1 - | ИНАЧЕ Файлы.ИндексКартинки - | КОНЕЦ КАК ИндексКартинки - |ИЗ - | &ИмяСправочника КАК Файлы - |ГДЕ - | Файлы.ВладелецФайла = &ВладелецФайлов"; - - ЗаголовокОшибки = НСтр("ru = 'Ошибка при настройке динамического списка выбора присоединенных файлов.'"); - ОкончаниеОшибки = НСтр("ru = 'В этом случае настройка динамического списка невозможна.'"); - - ИмяСправочника = ПрисоединенныеФайлыСлужебный.ИмяСправочникаХраненияФайлов( - ВладелецФайлов, "", ЗаголовокОшибки, Неопределено, ОкончаниеОшибки); - - ПолноеИмяСправочника = "Справочник." + ИмяСправочника; - Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "&ИмяСправочника", ПолноеИмяСправочника); - - Список.ДинамическоеСчитываниеДанных = Истина; - - Список.Параметры.УстановитьЗначениеПараметра("ВладелецФайлов", ВладелецФайлов); - Список.ОсновнаяТаблица = ПолноеИмяСправочника; - -КонецПроцедуры - -#КонецОбласти diff --git a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/ВыборПрисоединенныхФайлов.mdo b/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/ВыборПрисоединенныхФайлов.mdo deleted file mode 100644 index c18afc884..000000000 --- a/SSL/src/CommonForms/ВыборПрисоединенныхФайлов/ВыборПрисоединенныхФайлов.mdo +++ /dev/null @@ -1,15 +0,0 @@ - - - ВыборПрисоединенныхФайлов - - ru - Выбор присоединенных файлов - - - - ru - - - PersonalComputer - MobileDevice - diff --git a/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Form.form b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Form.form index 52601ac20..2e79abb29 100644 --- a/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Form.form +++ b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Form.form @@ -131,7 +131,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto diff --git a/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Help/ru.html b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Help/ru.html new file mode 100644 index 000000000..057823355 --- /dev/null +++ b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/Help/ru.html @@ -0,0 +1,9 @@ + +

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

            +

            Если для хранения файлов используются тома на диске, то вместе с созданием начального образа автоматически будет создан архив с файлами, хранящимися в томах.

            +

            Затем в процессе создания информационной базы подчиненного узла из начального образа в программе-приемнике следует получить файлы из этого архива. Для этого необходимо воспользоваться командой Разместить файлы начального образа в панели действий раздела Органайзер. В последующих итерациях синхронизации данных файлы в томах будут участвовать автоматически.

            +

            В одном из полей укажите Путь к архиву с файлами начального образа: 

            +
            • Для сервера 1С:Предприятия под управлением Microsoft Windows - укажите путь к архиву с помощью кнопки ;

            или

            +
            • Для сервера 1С:Предприятия под управлением Linux - напишите путь к архиву.

            Нажмите Разместить.

            +

            См. также:

            +

            Общая информация о файлах.

            \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/ВыборПутиКАрхивуФайловТомов.mdo b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/ВыборПутиКАрхивуФайловТомов.mdo index 6981d81f4..c8d1ada10 100644 --- a/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/ВыборПутиКАрхивуФайловТомов.mdo +++ b/SSL/src/CommonForms/ВыборПутиКАрхивуФайловТомов/ВыборПутиКАрхивуФайловТомов.mdo @@ -5,6 +5,11 @@ ru Выбор пути к архиву файлов томов + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/CommonForms/ВыборРолиИсполнителя/Form.form b/SSL/src/CommonForms/ВыборРолиИсполнителя/Form.form index 033d0749b..c12ccb751 100644 --- a/SSL/src/CommonForms/ВыборРолиИсполнителя/Form.form +++ b/SSL/src/CommonForms/ВыборРолиИсполнителя/Form.form @@ -1,5 +1,5 @@ - + Роль 3 @@ -11,6 +11,7 @@ Роль + Button OnChange ИсполнительПриИзменении @@ -18,6 +19,10 @@ РольExtendedTooltip 21 + + <key>ru</key> + <value>В ряде случаев, роли исполнителя бывает недостаточно, чтобы точно определить круг исполнителей задач. Для этого можно указать уточняющие основной и дополнительный объекты адресации.</value> + Label true true @@ -47,101 +52,164 @@ Normal
            - - ОсновнойОбъектАдресации - 13 - true - true - - true - - - ОсновнойОбъектАдресации - - - ОсновнойОбъектАдресацииExtendedTooltip - 22 + + ГруппаУточнение + 25 + + Отступ + 29 + true + true + + true + + + ОтступРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + + ОтступКонтекстноеМеню + 30 + true + Label true true Left - - - ОсновнойОбъектАдресацииКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДополнительныйОбъектАдресации - 15 + + + ГруппаОтступ + 27 + + ОсновнойОбъектАдресации + 13 + true + true + + true + + + ОсновнойОбъектАдресации + + Button + + ОсновнойОбъектАдресацииExtendedTooltip + 22 + Label + true + true + + Left + + + + ОсновнойОбъектАдресацииКонтекстноеМеню + 14 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ДополнительныйОбъектАдресации + 15 + true + true + + true + + + ДополнительныйОбъектАдресации + + + ДополнительныйОбъектАдресацииExtendedTooltip + 23 + Label + true + true + + Left + + + + ДополнительныйОбъектАдресацииКонтекстноеМеню + 16 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа отступ</value> + + + ГруппаОтступРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + true true true - - ДополнительныйОбъектАдресации - - - ДополнительныйОбъектАдресацииExtendedTooltip - 23 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 16 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Пояснение - 17 <key>ru</key> - <value>В ряде случаев, роли исполнителя бывает недостаточно, чтобы точно определить круг исполнителей задач. Для этого можно указать уточняющие основной и дополнительный объекты адресации.</value> + <value>Уточнение</value> - true - true - - true - - ПояснениеExtendedTooltip - 24 + ГруппаУточнениеРасширеннаяПодсказка + 26 Label true true @@ -149,19 +217,13 @@ Left
            - - ПояснениеКонтекстноеМеню - 18 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left + UsualGroup + + Auto + true + true + Auto + Auto Bottom diff --git a/SSL/src/CommonForms/ВыборСертификатовШифрования/Form.form b/SSL/src/CommonForms/ВыборСертификатовШифрования/Form.form index b40aa6794..1821211a2 100644 --- a/SSL/src/CommonForms/ВыборСертификатовШифрования/Form.form +++ b/SSL/src/CommonForms/ВыборСертификатовШифрования/Form.form @@ -9,7 +9,7 @@ 3 <key>ru</key> - <value>Сертификаты ЭП</value> + <value>Сертификаты</value> true true @@ -86,10 +86,12 @@ InputField true Auto + true true Left true + 30 true true true @@ -132,6 +134,7 @@ Left true + 15 true true true @@ -174,8 +177,10 @@ Left true + 15 true true + false true true true @@ -188,9 +193,7 @@ 12 true true - - true - + ТаблицаСертификатов.Назначение @@ -216,6 +219,7 @@ Left true + 10 true true true @@ -433,7 +437,7 @@ OnCreateAtServer ПриСозданииНаСервере - 75 + 80 LockOwner true true diff --git a/SSL/src/CommonForms/ВыборСертификатовШифрования/Help/ru.html b/SSL/src/CommonForms/ВыборСертификатовШифрования/Help/ru.html index ecda63a6f..ad09a6d0f 100644 --- a/SSL/src/CommonForms/ВыборСертификатовШифрования/Help/ru.html +++ b/SSL/src/CommonForms/ВыборСертификатовШифрования/Help/ru.html @@ -1,8 +1,18 @@ - -

            Шифрование

            -

            В форме выбираются сертификаты электронной подписи (ЭП) для шифрования файла.

            -

            Для шифрования можно выбрать несколько сертификатов, установив пометки для нужных сертификатов.

            -

             

            -

            См. также:

            -
            -

            Настройка ЭП и шифрования
            Персональные настройки ЭП
            Настройка программы 

            \ No newline at end of file + +

            Предназначен для выбора сертификатов электронной подписи (ЭП) при шифровании файла.

            +

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

            +

            В списке выводится:

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

            Шифрование файла

            +
            • Могут использоваться несколько сертификатов, например, если необходимо зашифровать файл для нескольких пользователей. +
            • Перед шифрованием необходимо включить флажки у сертификатов пользователей, для которых файл будет зашифрован. +
            • Строки с выбранными сертификатами становятся недоступными, выключить флажки уже невозможно при шифровании всех файлов списка. +
            • Для подтверждения выбора нажмите Зашифровать. +
            • Если у файла несколько версий, будут зашифрованы все версии, для шифрования потребуется некоторое время. +
              • Перед шифрованием в этом случае программа выводит сообщение. Для подтверждения нажмите Да.  
            • Использованные для шифрования сертификаты указываются в карточке файла на вкладке Зашифрован для. Команда Зашифровать после этого становится неактивной.

            См. также:

            + \ No newline at end of file diff --git a/SSL/src/CommonForms/ВыборУзловПлановОбмена/Help/ru.html b/SSL/src/CommonForms/ВыборУзловПлановОбмена/Help/ru.html index 27f32d431..028704297 100644 --- a/SSL/src/CommonForms/ВыборУзловПлановОбмена/Help/ru.html +++ b/SSL/src/CommonForms/ВыборУзловПлановОбмена/Help/ru.html @@ -1,4 +1,4 @@ - +

            Предназначен для выбора узлов плана обмена (информационных баз).

            Вызывается по команде Подобрать или Добавить  из других объектов программы, например, при установке Даты запрета загрузки данных.

            В списке выводится:

            diff --git a/SSL/src/CommonForms/ВыборФорматаВложений/Help/ru.html b/SSL/src/CommonForms/ВыборФорматаВложений/Help/ru.html index d5cfbd3b9..95418eff2 100644 --- a/SSL/src/CommonForms/ВыборФорматаВложений/Help/ru.html +++ b/SSL/src/CommonForms/ВыборФорматаВложений/Help/ru.html @@ -1,4 +1,4 @@ - +

            Предназначена для выбора формата вложений при отправке печатных форм по электронной почте.

            Вызывается по команде Отправить.

            • Укажите с помощью флажков, в каком формате (или нескольких форматах) нужно отправить документ. diff --git a/SSL/src/CommonForms/ГруппыПользователей/Form.form b/SSL/src/CommonForms/ГруппыПользователей/Form.form index 57ab7eacd..6ec0f9bde 100644 --- a/SSL/src/CommonForms/ГруппыПользователей/Form.form +++ b/SSL/src/CommonForms/ГруппыПользователей/Form.form @@ -634,7 +634,7 @@ OnCreateAtServer ПриСозданииНаСервере - 50 + 60 LockOwner true true diff --git a/SSL/src/CommonForms/ГруппыПользователей/Help/ru.html b/SSL/src/CommonForms/ГруппыПользователей/Help/ru.html index b99b3a7c3..238716991 100644 --- a/SSL/src/CommonForms/ГруппыПользователей/Help/ru.html +++ b/SSL/src/CommonForms/ГруппыПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

              Предназначен для назначения групп пользователю (внешнему пользователю).

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

              Назначение групп пользователю

              diff --git a/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/Help/ru.html b/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/Help/ru.html new file mode 100644 index 000000000..af856b2a0 --- /dev/null +++ b/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/Help/ru.html @@ -0,0 +1 @@ +Внимание! Идет выполнение дополнительной обработки (отчета). Это может занять какое-то время. Для прерывания нажмите кнопку Отмена. \ No newline at end of file diff --git a/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/ДлительнаяОперацияДополнительныхОтчетовИОбработок.mdo b/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/ДлительнаяОперацияДополнительныхОтчетовИОбработок.mdo index ac7d7c129..03a569a3c 100644 --- a/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/ДлительнаяОперацияДополнительныхОтчетовИОбработок.mdo +++ b/SSL/src/CommonForms/ДлительнаяОперацияДополнительныхОтчетовИОбработок/ДлительнаяОперацияДополнительныхОтчетовИОбработок.mdo @@ -5,6 +5,11 @@ ru Длительная операция дополнительных отчетов и обработок + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Form.form b/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Form.form index 00556d9d2..7c05b7932 100644 --- a/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Form.form +++ b/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Form.form @@ -63,6 +63,7 @@ StartChoice ПодписиПутьКФайлуНачалоВыбора + 40 true true true @@ -105,6 +106,7 @@ Left true + 20 true true true @@ -297,6 +299,7 @@ OnCreateAtServer ПриСозданииНаСервере + 60 LockOwner true true diff --git a/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Help/ru.html b/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Help/ru.html index 8bbc25602..dcc5c9688 100644 --- a/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Help/ru.html +++ b/SSL/src/CommonForms/ДобавлениеПодписиИзФайла/Help/ru.html @@ -1,7 +1,14 @@ - -

              Форма открывается командой "Все действия - ЭП и шифрование - Добавить ЭП из файла" карточки файла.

              -

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

              -

               

              -

              См. также:

              -
              -

              Настройка ЭП и шифрования
              Персональные настройки ЭП

              \ No newline at end of file + +

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

              +

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

              +

              В списке выводится:

              +
              • Файл ЭП - путь к файлу ЭП. +
              • Комментарий - необходимая информация о файле ЭП.

              Добавление ЭП из файла

              +

              Выберите один или несколько файлов с электронными подписями (ЭП).

              +
              • Нажмите  Добавить,  с помощью кнопки  укажите путь к файлу подписи на жестком или сетевом диске. +
              • Напишите Комментарий к подписи.

              Удаление ЭП

              +
              • Нажмите , для того чтобы Удалить файл ЭП из списка.

              См. также:

              + \ No newline at end of file diff --git a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Form.form b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Form.form index f35e7134a..e647f5544 100644 --- a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Form.form +++ b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Form.form @@ -453,7 +453,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true LeftWide @@ -701,7 +701,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Help/ru.html b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Help/ru.html new file mode 100644 index 000000000..03c83b4de --- /dev/null +++ b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Help/ru.html @@ -0,0 +1,12 @@ + +

              Настраиваются для механизмов, которые работают с веб-сервисами.

              +

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

              +

              По умолчанию включен флажок Использовать прокси-сервер по умолчанию для всех протоколов.

              +

              Основные параметры настройки (Адрес сервера и Порт) по умолчанию будут также использованы в качестве дополнительных параметров.

              +

              Настройка дополнительных параметров

              +
              • Для того чтобы указать адреса прокси-серверов для отдельных протоколов, выключите флажок Использовать прокси-сервер по умолчанию для всех протоколов; +
              • В соответствующем поле - HTTP, HTTPS, FTP - откорректируйте имя прокси-сервера, который будет использоваться для каждого протокола; +
              • При необходимости укажите Порт. +
              • В списке Не использовать прокси-сервер для адресов с помощью кнопки Добавить укажите адреса, к которым будет осуществляться прямой доступ. +
              • Для подтверждения введенных параметров нажмите ОК.

              См. также:

              + \ No newline at end of file diff --git a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Module.bsl b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Module.bsl index f6691e445..e36aaf136 100644 --- a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Module.bsl +++ b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/Module.bsl @@ -29,6 +29,8 @@ СтрИсключения.АдресСервера = ЭлементСпискаИсключений.Значение; КонецЦикла; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/ДополнительныеПараметрыПроксиСервера.mdo b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/ДополнительныеПараметрыПроксиСервера.mdo index ce56b3e44..d37d15eae 100644 --- a/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/ДополнительныеПараметрыПроксиСервера.mdo +++ b/SSL/src/CommonForms/ДополнительныеПараметрыПроксиСервера/ДополнительныеПараметрыПроксиСервера.mdo @@ -5,6 +5,11 @@ ru Дополнительные параметры прокси-сервера + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/CommonForms/МастерАнкетыПоРазделам/Form.form b/SSL/src/CommonForms/МастерАнкетыПоРазделам/Form.form index 60407cae2..91ebf62b0 100644 --- a/SSL/src/CommonForms/МастерАнкетыПоРазделам/Form.form +++ b/SSL/src/CommonForms/МастерАнкетыПоРазделам/Form.form @@ -3,12 +3,44 @@ ГруппаКнопкиШапка 69 + + Закрыть + 77 + + <key>ru</key> + <value>Закрыть</value> + + true + true + + true + + false + + ЗакрытьExtendedTooltip + 96 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Close + Auto + true + true + true + UserCmds + Auto + СкрытьПоказатьДеревоРазделов 68 <key>ru</key> - <value>Показать разделы:</value> + <value>Скрыть разделы</value> true true @@ -73,7 +105,7 @@ 72 <key>ru</key> - <value><< Назад</value> + <value>< Назад</value> true true @@ -106,7 +138,7 @@ 73 <key>ru</key> - <value>Далее >></value> + <value>Далее ></value> true true @@ -134,6 +166,34 @@ UserCmds Auto + + ФормаСправка + 95 + true + true + + true + + + ФормаСправкаExtendedTooltip + 97 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Help + Normal + Picture + 3 + true + true + UserCmds + Auto + true true @@ -232,6 +292,7 @@ true true + false true true true @@ -429,7 +490,6 @@ Row 1 1 - UseAlways AutoUse true true @@ -439,7 +499,6 @@ Auto Auto ExpandAllLevels - true true ДеревоРазделов.КодКартинки @@ -461,8 +520,6 @@ ru Группа дерево разделов - 25 - true ГруппаДеревоРазделовExtendedTooltip 104 @@ -484,266 +541,22 @@ - ГруппаСтраницыФормаЗаполнения - 78 + ГруппаОжидание + 79 - СтраницаОжидание - 79 - - ГруппаОжиданиеОтступ - 86 - - ДекорацияОжиданиеОтступ - 88 - true - true - - true - - - ДекорацияОжиданиеОтступExtendedTooltip - 113 - Label - true - true - - Left - - - - ДекорацияОжиданиеОтступКонтекстноеМеню - 89 - true - - Label - true - 5 - true - false - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа ожидание отступ</value> - - - ru - Группа ожидание отступ - - - ГруппаОжиданиеОтступExtendedTooltip - 112 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаОжиданиеЭлементы - 87 - - ДекорацияОжиданиеЭлементы - 80 - - <key>ru</key> - <value>Декорация ожидание элементы</value> - - true - true - - true - - - ДекорацияОжиданиеЭлементыExtendedTooltip - 115 - Label - true - true - - Left - - - - ДекорацияОжиданиеЭлементыКонтекстноеМеню - 81 - true - - 20 - true - true - false - - - - КартинкаДлительныйПроцесс - 82 - true - true - - true - - - КартинкаДлительныйПроцессExtendedTooltip - 116 - Label - true - true - - Left - - - - КартинкаДлительныйПроцессКонтекстноеМеню - 83 - true - - 5 - true - 2 - true - false - false - - - CommonPicture.Информация32 - - - - - НадписьПодождите - 84 - - <key>ru</key> - <value>Подождите пожалуйста…. -Открывается раздел анкеты</value> - - true - true - - true - - - НадписьПодождитеExtendedTooltip - 117 - Label - true - true - - Left - - - - НадписьПодождитеКонтекстноеМеню - 85 - true - - Label - 20 - true - 2 - true - false - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Группа ожидание элементы</value> - - - ru - Группа ожидание элементы - - - ГруппаОжиданиеЭлементыExtendedTooltip - 114 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Страница ожидание</value> - - - ru - Страница ожидание - - false - false - - СтраницаОжиданиеExtendedTooltip - 111 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ГруппаТелоАнкеты - 64 + ГруппаОжиданиеОтступ + 86 - НадписьВступление - 66 + ДекорацияОжиданиеОтступ + 88 true true true - НадписьВступлениеExtendedTooltip - 119 + ДекорацияОжиданиеОтступExtendedTooltip + 113 Label true true @@ -752,14 +565,14 @@
              - НадписьВступлениеКонтекстноеМеню - 67 + ДекорацияОжиданиеОтступКонтекстноеМеню + 89 true Label true + 5 true - true false Left @@ -772,16 +585,15 @@ <key>ru</key> - <value>Группа тело анкеты</value> + <value>Группа ожидание отступ</value> ru - Группа тело анкеты + Группа ожидание отступ - true - ГруппаТелоАнкетыExtendedTooltip - 118 + ГруппаОжиданиеОтступExtendedTooltip + 112 Label true true @@ -789,10 +601,155 @@ Left - Page - + UsualGroup + Vertical - auto + Auto + true + true + Auto + Auto + + + + ГруппаОжиданиеЭлементы + 87 + + ДекорацияОжиданиеЭлементы + 80 + + <key>ru</key> + <value>Декорация ожидание элементы</value> + + true + true + + true + + + ДекорацияОжиданиеЭлементыExtendedTooltip + 115 + Label + true + true + + Left + + + + ДекорацияОжиданиеЭлементыКонтекстноеМеню + 81 + true + + 20 + true + true + false + + + + КартинкаДлительныйПроцесс + 82 + true + true + + true + + + КартинкаДлительныйПроцессExtendedTooltip + 116 + Label + true + true + + Left + + + + КартинкаДлительныйПроцессКонтекстноеМеню + 83 + true + + 5 + true + 2 + true + false + + + CommonPicture.Информация32 + + + + + НадписьПодождите + 84 + + <key>ru</key> + <value>Подождите пожалуйста…. +Открывается раздел анкеты</value> + + true + true + + true + + + НадписьПодождитеExtendedTooltip + 117 + Label + true + true + + Left + + + + НадписьПодождитеКонтекстноеМеню + 85 + true + + Label + 20 + true + 2 + true + false + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Группа ожидание элементы</value> + + + ru + Группа ожидание элементы + + + ГруппаОжиданиеЭлементыExtendedTooltip + 114 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto true @@ -802,11 +759,17 @@ <key>ru</key> - <value>Группа страницы форма заполнения</value> + <value>Группа ожидание</value> + + ru + Группа ожидание + + true + true - ГруппаСтраницыФормаЗаполненияExtendedTooltip - 110 + ГруппаОжиданиеРасширеннаяПодсказка + 111 Label true true @@ -814,8 +777,83 @@ Left - Pages - + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + ГруппаТелоАнкеты + 64 + + НадписьВступление + 66 + true + true + + true + + + НадписьВступлениеExtendedTooltip + 119 + Label + true + true + + Left + + + + НадписьВступлениеКонтекстноеМеню + 67 + true + + Label + true + true + true + false + + Left + + + true + + true + + + <key>ru</key> + <value>Группа тело анкеты</value> + + + ru + Группа тело анкеты + + true + + ГруппаТелоАнкетыExtendedTooltip + 118 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto Auto @@ -892,7 +930,7 @@ 93 <key>ru</key> - <value><< Назад</value> + <value>< Назад</value> true true @@ -925,7 +963,7 @@ 94 <key>ru</key> - <value>Далее >></value> + <value>Далее ></value> true true @@ -975,6 +1013,7 @@ UsualGroup Auto + NormalSeparation true true Auto @@ -986,63 +1025,6 @@ ФормаКоманднаяПанель -1 - - Закрыть - 77 - - <key>ru</key> - <value>Закрыть</value> - - true - true - - true - - false - - ЗакрытьExtendedTooltip - 96 - Label - true - true - - Left - - - Form.StandardCommand.Close - Auto - true - true - true - UserCmds - Auto - - - ФормаСправка - 95 - true - true - - true - - - ФормаСправкаExtendedTooltip - 97 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -1053,7 +1035,7 @@ OnCreateAtServer ПриСозданииНаСервере - LockOwner + DontBlock true true Vertical diff --git a/SSL/src/CommonForms/МастерАнкетыПоРазделам/Module.bsl b/SSL/src/CommonForms/МастерАнкетыПоРазделам/Module.bsl index 5c0ce8f34..5b94630db 100644 --- a/SSL/src/CommonForms/МастерАнкетыПоРазделам/Module.bsl +++ b/SSL/src/CommonForms/МастерАнкетыПоРазделам/Module.bsl @@ -31,7 +31,6 @@ &НаКлиенте Процедура ПриОткрытии(Отказ) - Элементы.ГруппаСтраницыФормаЗаполнения.ТекущаяСтраница = Элементы.ГруппаТелоАнкеты; УправлениеДоступностьюКнопкиНавигацияРазделов(); КонецПроцедуры @@ -121,13 +120,23 @@ Элементы.ПредыдущийРазделПодвал.Видимость = (ТаблицаВопросовРаздела.Количество() > 0); Элементы.СледующийРазделПодвал.Видимость = (ТаблицаВопросовРаздела.Количество() > 0); + ПереключитьВидимостьГруппТелаАнкеты(); + +КонецПроцедуры + +&НаСервере +Процедура ПереключитьВидимостьГруппТелаАнкеты() + + Элементы.ГруппаТелоАнкеты.Видимость = НЕ Элементы.ГруппаТелоАнкеты.Видимость; + Элементы.ГруппаОжидание.Видимость = НЕ Элементы.ГруппаТелоАнкеты.Видимость; + КонецПроцедуры // Начинает процесс построения формы заполнения согласно разделам &НаКлиенте Процедура ВыполнитьПостроениеФормыЗаполнения() - Элементы.ГруппаСтраницыФормаЗаполнения.ТекущаяСтраница = Элементы.СтраницаОжидание; + ПереключитьВидимостьГруппТелаАнкеты(); ПодключитьОбработчикОжидания("ОкончаниеПостроенияФормыЗаполнения",0.1,Истина); КонецПроцедуры @@ -135,13 +144,12 @@ // Заканчивает формирование формы заполнения анкеты &НаКлиенте Процедура ОкончаниеПостроенияФормыЗаполнения() - - ПостроениеФормыСогласноРаздела(); - УправлениеДоступностьюПодчиненныеВопросы(); - Элементы.ГруппаСтраницыФормаЗаполнения.ТекущаяСтраница = Элементы.ГруппаТелоАнкеты; - УправлениеДоступностьюКнопкиНавигацияРазделов(); - - КонецПроцедуры + + ПостроениеФормыСогласноРаздела(); + УправлениеДоступностьюПодчиненныеВопросы(); + УправлениеДоступностьюКнопкиНавигацияРазделов(); + +КонецПроцедуры // Отвечает за доступность кнопок навигации по разделам &НаКлиенте @@ -173,9 +181,7 @@ Процедура ИзменитьВидимостьДеревоРазделов() Элементы.ГруппаДеревоРазделов.Видимость = НЕ Элементы.ГруппаДеревоРазделов.Видимость; - Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = ?(Элементы.ГруппаДеревоРазделов.Видимость, - НСтр("ru = 'Скрыть разделы'"), - НСтр("ru = 'Показать разделы'")); + Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = ?(Элементы.ГруппаДеревоРазделов.Видимость,НСтр("ru = 'Скрыть разделы'"), НСтр("ru = 'Показать разделы'")); Элементы.ДекорацияОжиданиеЭлементы.Ширина = ?(Элементы.ГруппаДеревоРазделов.Видимость,20,45); КонецПроцедуры diff --git a/SSL/src/CommonForms/НастройкаМоихОтчетовИОбработок/Module.bsl b/SSL/src/CommonForms/НастройкаМоихОтчетовИОбработок/Module.bsl index 7b6ae1333..1676d5e4f 100644 --- a/SSL/src/CommonForms/НастройкаМоихОтчетовИОбработок/Module.bsl +++ b/SSL/src/CommonForms/НастройкаМоихОтчетовИОбработок/Module.bsl @@ -166,9 +166,13 @@ Если ЭтоГлобальныеОбработки Тогда Для Каждого СтрокаРазделы Из ДеревоКоманд.Строки Цикл + ПредставлениеРаздела = ДополнительныеОтчетыИОбработки.ПредставлениеРаздела(СтрокаРазделы.Раздел); + Если ПредставлениеРаздела = Неопределено Тогда + Продолжить; + КонецЕсли; СтрокаВерхнегоУровня = КомандыДерево.Строки.Добавить(); СтрокаВерхнегоУровня.Раздел = СтрокаРазделы.Раздел; - СтрокаВерхнегоУровня.Наименование = ДополнительныеОтчетыИОбработки.ПредставлениеРаздела(СтрокаРазделы.Раздел); + СтрокаВерхнегоУровня.Наименование = ПредставлениеРаздела; Если СтрокаВерхнегоУровня.Раздел = ТекущийРаздел Тогда СобственныйИндекс = Индекс; КонецЕсли; diff --git a/SSL/src/CommonForms/НастройкаОсновногоРабочегоКаталога/Help/ru.html b/SSL/src/CommonForms/НастройкаОсновногоРабочегоКаталога/Help/ru.html index 184b6017a..c65685e7a 100644 --- a/SSL/src/CommonForms/НастройкаОсновногоРабочегоКаталога/Help/ru.html +++ b/SSL/src/CommonForms/НастройкаОсновногоРабочегоКаталога/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

              Для перехода к настройке параметров нажмите Настройка основного рабочего каталога в персональных настройках программы (вкладка Работа с файлами).

              diff --git a/SSL/src/CommonForms/НастройкаОтправкиSMS/Form.form b/SSL/src/CommonForms/НастройкаОтправкиSMS/Form.form index 9ab366a7f..2038b67d4 100644 --- a/SSL/src/CommonForms/НастройкаОтправкиSMS/Form.form +++ b/SSL/src/CommonForms/НастройкаОтправкиSMS/Form.form @@ -258,5 +258,10 @@ - + + + AfterWrite + ПослеЗаписи + + diff --git a/SSL/src/CommonForms/НастройкаОтправкиSMS/Help/ru.html b/SSL/src/CommonForms/НастройкаОтправкиSMS/Help/ru.html index 14f44d553..037e38524 100644 --- a/SSL/src/CommonForms/НастройкаОтправкиSMS/Help/ru.html +++ b/SSL/src/CommonForms/НастройкаОтправкиSMS/Help/ru.html @@ -1,5 +1,11 @@ - -

              Для возможности отправки SMS необходимо заключить договор с провайдером на оказание соответствующей услуги.

              -

              Описание услуги «Корпоративные SMS-сервисы» (Билайн)
              Описание услуги «МТС Коммуникатор» (МТС)

              -

              При заключении договора получателю услуги предоставляются идентификационные данные: Логин и Пароль. Их неоходимо указать в соответствующих полях на форме.

              -

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

              \ No newline at end of file + +

              Предназначена для настройки параметров отправки SMS.

              +

              Открывается по команде Настройка отправки SMS раздела Администрирование - Органайзер.

              +

              С помощью SMS можно организовать:

              +
              • Информирование технических специалистов о неполадках баз данных 1С; +
              • Автоматическое подтверждение совершенных клиентом платежей и других операций; +
              • Информирование клиента о событиях: день рождения, дата очередного платежа и прочее; +
              • Массовое оповещение клиентов о товарах, услугах, акциях и специальных предложениях.

              Для возможности отправки SMS необходимо заключить договор с провайдером на оказание соответствующей услуги. Подробности об услуге можно узнать на сайтах провайдеров:

              +

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

              +

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

              \ No newline at end of file diff --git a/SSL/src/CommonForms/НастройкаОтправкиSMS/Module.bsl b/SSL/src/CommonForms/НастройкаОтправкиSMS/Module.bsl index d6ce03de1..18f75ad52 100644 --- a/SSL/src/CommonForms/НастройкаОтправкиSMS/Module.bsl +++ b/SSL/src/CommonForms/НастройкаОтправкиSMS/Module.bsl @@ -1,3 +1,13 @@ +#Область ОбработчикиСобытийФормы + +&НаКлиенте +Процедура ПослеЗаписи(ПараметрыЗаписи) + + Оповестить("Запись_НастройкиОтправкиSMS", ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +#КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы diff --git a/SSL/src/CommonForms/НастройкиКриптографии/Form.form b/SSL/src/CommonForms/НастройкиКриптографии/Form.form index 59aa243d1..551c27465 100644 --- a/SSL/src/CommonForms/НастройкиКриптографии/Form.form +++ b/SSL/src/CommonForms/НастройкиКриптографии/Form.form @@ -506,6 +506,7 @@ true true true + 2 true MultiRow
              true
              diff --git a/SSL/src/CommonForms/НастройкиКриптографии/Help/ru.html b/SSL/src/CommonForms/НастройкиКриптографии/Help/ru.html index f990b9f21..3bffe96c2 100644 --- a/SSL/src/CommonForms/НастройкиКриптографии/Help/ru.html +++ b/SSL/src/CommonForms/НастройкиКриптографии/Help/ru.html @@ -1,20 +1,28 @@ - -

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

              -

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

              -

              - - - - - - - - -
              НастройкаОписание
              Провайдер ЭП -

              Строка, идентифицирующая провайдера ЭП, например: "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider".

              -

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

              -
              • КриптоПро CSP:   "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"  (тип 75), -
              • Signal-COM CSP:  "Signal-COM CPGOST Cryptographic Provider" (тип 75), -
              • ViPNet CSP:    "Infotecs Cryptographic Service Provider" (тип 2), -
              • Microsoft CSP: "Microsoft Enhanced Cryptographic Provider v1.0" (тип 1).

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

              Тип провайдера ЭПЧисло, указывающее тип провайдера ЭП. Например, для криптопровайдеров, поддерживающих ГОСТ Р 34.10-2001 - 75.
              Выполнять проверку ЭП на сервереЕсли настройка установлена, то проверка ЭП выполняется на сервере, иначе - на клиенте.
              Путь модуля криптографии (для сервера 1С:Предприятия под управлением Linux)Путь к модулю криптографии. Имеет смысл, если установлена настройка "Выполнять проверку ЭП на сервере".
              Алгоритм подписиУказывается алгоритм подписи. Выбирается из списка выбора, предоставляемого провайдером ЭП.
              Алгоритм хешированияУказывается алгоритм хеширования. Выбирается из списка выбора, предоставляемого провайдером ЭП.
              Алгоритм шифрованияУказывается алгоритм шифрования. Выбирается из списка выбора, предоставляемого провайдером ЭП.

               

              -

               

              \ No newline at end of file + +

              Настройка параметров для использования средств криптографии: электронной подписи (ЭП) и шифрования.

              +

              Открывается по команде Настройки криптографии раздела Администрирование - Настройки работы с файлами.

              +

              Для работы с криптографией вам потребуется установить стороннюю программу - криптопровайдер.

              +

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

              +

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

              +

              До начала использования ЭП следует определить, какие ЭП будут использоваться в программе: юридически значимые или нет.

              +

              Для юридически значимых ЭП необходимо приобрести специальную программу - криптопровайдер, поддерживающий ГОСТ Р 34.10-2001, например, Крипто Про, и установить его на компьютеры с программой 1С:Предприятие. Кроме того, потребуется заключить договор с удостоверяющим центром - для получения сертификатов.

              +

              Если юридически значимая ЭП не нужна (например, для использования ЭП только внутри предприятия), то можно использовать любой криптопровайдер, например, Microsoft Enhanced Cryptographic Provider v1.0. Указанный криптопровайдер входит в состав ОС Windows и его не нужно приобретать отдельно. Сертификаты можно получить с помощью домена контроллера Windows Server 2003 или 2008 (с помощью утилиты certmgr.msc, выполнив команду All tasks - Request new certificate). Более подробно описание утилиты см. справку к ОС Windows, а также сайт фирмы Microsoft http://technet.microsoft.com/en-us/library/cc754122%28WS.10%29.aspx.

              +

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

              +

              Настройки криптографии

              +
              • Провайдер ЭП - строка, идентифицирующая провайдера ЭП, например: "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider" - идентификатор криптографического провайдера от компании Крипто Про. +
                • Ниже перечислены некоторые наиболее распространенные криптопровайдеры (название, имя и тип криптопровайдера для указания в диалоге настроек криптографии): +
                  • КриптоПро CSP:   "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider"  (тип 75); +
                  • Signal-COM CSP:  "Signal-COM CPGOST Cryptographic Provider" (тип 75); +
                  • ViPNet CSP: "Infotecs Cryptographic Service Provider" (тип 2); +
                  • Microsoft CSP: "Microsoft Enhanced Cryptographic Provider v1.0" (тип 1).
                • Если вашего криптопровайдера нет в этом списке, вам надо связаться с фирмой-производителем криптопровайдера и получить необходимую информацию.
              • Тип провайдера ЭП - число, указывающее тип провайдера ЭП. Например, для криптопровайдеров, поддерживающих ГОСТ Р 34.10-2001, выберите тип 75. +
              • Алгоритм подписи - выберите значение из списка, предоставляемого провайдером ЭП. +
              • Алгоритм хеширования - выберите значение из списка, предоставляемого провайдером ЭП. +
              • Алгоритм шифрования - выберите значение из списка, предоставляемого провайдером ЭП. +
              • Выполнять проверку ЭП на сервере - если флажок установлен, то проверка ЭП выполняется на сервере, иначе - на клиенте. +
              • Путь модуля криптографии (для сервера 1С:Предприятия под управлением Linux) - путь к модулю криптографии для операций с файлами (расшифровка, подписание, проверка подписи, просмотр сертификата). Данная настройка становится доступной, если установлен флажок Выполнять проверку ЭП на сервере. Необходимо заполнить параметры: +
                • Имя компьютера - напишите сетевое имя компьютера; +
                • Путь модуля криптографии - напишите путь к модулю криптографии на этом компьютере; +
                • Комментарий - напишите дополнительные сведения.

              Назначения сертификатов ЭП

              +
              • +
                Для перехода к настройке представлений для кодов назначений сертификатов ЭП воспользуйтесь ссылкой Назначения сертификатов ЭП.

                См. также:

                + \ No newline at end of file diff --git a/SSL/src/CommonForms/НастройкиПравОбъектов/Form.form b/SSL/src/CommonForms/НастройкиПравОбъектов/Form.form index e6b92f3fe..d7d4cf818 100644 --- a/SSL/src/CommonForms/НастройкиПравОбъектов/Form.form +++ b/SSL/src/CommonForms/НастройкиПравОбъектов/Form.form @@ -489,9 +489,6 @@ true true UserCmds - - StdPicture.Write - Auto diff --git a/SSL/src/CommonForms/НастройкиПравОбъектов/Module.bsl b/SSL/src/CommonForms/НастройкиПравОбъектов/Module.bsl index 2a178018b..00724fcc2 100644 --- a/SSL/src/CommonForms/НастройкиПравОбъектов/Module.bsl +++ b/SSL/src/CommonForms/НастройкиПравОбъектов/Module.bsl @@ -562,6 +562,9 @@ Для НомерСтроки = 1 По СтрЧислоСтрок(ОписаниеПрава.Заголовок) Цикл ШиринаЭлемента = Макс(ШиринаЭлемента, СтрДлина(СтрПолучитьСтроку(ОписаниеПрава.Заголовок, НомерСтроки))); КонецЦикла; + Если СтрЧислоСтрок(ОписаниеПрава.Заголовок) = 1 Тогда + ШиринаЭлемента = ШиринаЭлемента + 1; + КонецЕсли; Элемент.Ширина = ШиринаЭлемента; КонецЕсли; diff --git a/SSL/src/CommonForms/ОбменыДанными/Form.form b/SSL/src/CommonForms/ОбменыДанными/Form.form index 391f10c4c..a8466791f 100644 --- a/SSL/src/CommonForms/ОбменыДанными/Form.form +++ b/SSL/src/CommonForms/ОбменыДанными/Form.form @@ -1168,6 +1168,34 @@ UserCmds Auto + + СоставОтправляемыхДанных + 363 + true + true + + true + + + СоставОтправляемыхДанныхExtendedTooltip + 438 + Label + true + true + + Left + + + UsualButton + Form.Command.СоставОтправляемыхДанных + Normal + Picture + 3 + true + true + UserCmds + Auto + ОткрытьРезультатыОднаСинхронизация 359 @@ -1226,6 +1254,33 @@ Left
                + + ЗагрузитьПравилаСинхронизацииДанных + 520 + true + true + + true + + + ЗагрузитьПравилаСинхронизацииДанныхРасширеннаяПодсказка + 521 + Label + true + true + + Left + + + UsualButton + Form.Command.ЗагрузитьПравилаСинхронизацииДанных + Normal + PictureAndText + true + true + UserCmds + Auto + true true @@ -1269,7 +1324,6 @@ Vertical Auto - StrongSeparation true true Auto @@ -1277,26 +1331,192 @@ - ГруппаНастройкиСинхронизации - 260 + Группа9 + 533 - Группа18 - 295 - - Декорация5 - 293 - - <key>ru</key> - <value>Правила синхронизации данных:</value> - + Группа4 + 522 + + Группа6 + 524 + + ГруппаНастройкиСинхронизации + 260 + + Группа18 + 295 + + ИзменитьУзелИнформационнойБазы + 227 + + <key>ru</key> + <value>Настроить...</value> + + true + true + + true + + + ИзменитьУзелИнформационнойБазыExtendedTooltip + 437 + Label + true + true + + Left + + + UsualButton + Form.Command.ИзменитьУзелИнформационнойБазы + Normal + true + true + UserCmds + Auto + + + Декорация5 + 293 + + <key>ru</key> + <value>Правила синхронизации данных:</value> + + true + + true + + + Декорация5ExtendedTooltip + 436 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 294 + true + + Label + 23 + true + true + + Left + + + true + true + + true + + + Группа18ExtendedTooltip + 435 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ОписаниеПравилСинхронизацииДанных + 291 + true + true + + true + + + ОписаниеПравилСинхронизацииДанных + + None + + ОписаниеПравилСинхронизацииДанныхExtendedTooltip + 439 + Label + true + true + + Left + + + + ОписаниеПравилСинхронизацииДанныхКонтекстноеМеню + 292 + true + + InputField + true + Enter + true + Left + true + + true + 6 + true + false + true + true + true + true + true + Normal + + + true + true + + true + + + ГруппаНастройкиСинхронизацииExtendedTooltip + 434 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + true true true + + <key>ru</key> + <value>Правила синхронизации данных</value> + - Декорация5ExtendedTooltip - 436 + Группа6РасширеннаяПодсказка + 525 Label true true @@ -1304,34 +1524,195 @@ Left
                - - Декорация5КонтекстноеМеню - 294 - true - - Label - 23 - true - true - - Left + Page + + Vertical + auto - - ИзменитьУзелИнформационнойБазы - 227 + + СтраницаРасписание + 526 + + ГруппаСценарииСинхронизации + 257 + + Группа19 + 300 + + РасписаниеСинхронизацииДанныхДекорация + 296 + + <key>ru</key> + <value>Расписание синхронизации данных:</value> + + true + + true + + + РасписаниеСинхронизацииДанныхДекорацияExtendedTooltip + 442 + Label + true + true + + Left + + + + РасписаниеСинхронизацииДанныхДекорацияКонтекстноеМеню + 297 + true + + Label + 23 + true + true + + Left + + + + НастроитьСценарииОбменаДанными + 230 + + <key>ru</key> + <value>Настроить...</value> + + true + true + + true + + + НастроитьСценарииОбменаДаннымиExtendedTooltip + 443 + Label + true + true + + Left + + + UsualButton + Form.Command.НастроитьСценарииОбменаДаннымиОдна + Normal + true + true + UserCmds + + StdPicture.ScheduledJob + + Auto + InAdditionalSubmenu + + true + true + + true + + + Группа19ExtendedTooltip + 441 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + РасписаниеСинхронизацииДанных + 298 + true + true + + true + + + РасписаниеСинхронизацииДанных + + None + + РасписаниеСинхронизацииДанныхExtendedTooltip + 444 + Label + true + true + + Left + + + + РасписаниеСинхронизацииДанныхКонтекстноеМеню + 299 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + ГруппаСценарииСинхронизацииExtendedTooltip + 440 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + + true + true + + true + <key>ru</key> - <value>Настроить...</value> + <value>Расписание</value> - true - true - - true - - ИзменитьУзелИнформационнойБазыExtendedTooltip - 437 + СтраницаРасписаниеРасширеннаяПодсказка + 527 Label true true @@ -1339,42 +1720,14 @@ Left - UsualButton - Form.Command.ИзменитьУзелИнформационнойБазы - Normal - PictureAndText - true - true - UserCmds - Auto - - - СоставОтправляемыхДанных - 363 - true - true - - true - - - СоставОтправляемыхДанныхExtendedTooltip - 438 - Label - true - true - - Left - - - UsualButton - Form.Command.СоставОтправляемыхДанных - Normal - Picture - 3 - true - true - UserCmds - Auto + Page + + + StdPicture.ScheduledJob + + Vertical + auto + true true @@ -1382,8 +1735,8 @@ true - Группа18ExtendedTooltip - 435 + Группа4РасширеннаяПодсказка + 523 Label true true @@ -1391,240 +1744,20 @@ Left
                - UsualGroup - - Auto - true - true - Auto + Pages + + TabsOnTop Auto - - ОписаниеПравилСинхронизацииДанных - 291 - true - true - - true - - - ОписаниеПравилСинхронизацииДанных - - None - - ОписаниеПравилСинхронизацииДанныхExtendedTooltip - 439 - Label - true - true - - Left - - - - ОписаниеПравилСинхронизацииДанныхКонтекстноеМеню - 292 - true - - InputField - true - Enter - true - Left - true - - true - 7 - true - false - true - true - true - true - true - Normal - - true true true - ГруппаНастройкиСинхронизацииExtendedTooltip - 434 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - - - - ГруппаСценарииСинхронизации - 257 - - Группа19 - 300 - - РасписаниеСинхронизацииДанныхДекорация - 296 - - <key>ru</key> - <value>Расписание синхронизации данных:</value> - - true - true - - true - - - РасписаниеСинхронизацииДанныхДекорацияExtendedTooltip - 442 - Label - true - true - - Left - - - - РасписаниеСинхронизацииДанныхДекорацияКонтекстноеМеню - 297 - true - - Label - 23 - true - true - - Left - - - - НастроитьСценарииОбменаДанными - 230 - - <key>ru</key> - <value>Настроить...</value> - - true - true - - true - - - НастроитьСценарииОбменаДаннымиExtendedTooltip - 443 - Label - true - true - - Left - - - UsualButton - Form.Command.НастроитьСценарииОбменаДаннымиОдна - Normal - PictureAndText - true - true - UserCmds - - StdPicture.ScheduledJob - - Auto - InAdditionalSubmenu - - true - true - - true - - - Группа19ExtendedTooltip - 441 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - РасписаниеСинхронизацииДанных - 298 - true - true - - true - - - РасписаниеСинхронизацииДанных - - None - - РасписаниеСинхронизацииДанныхExtendedTooltip - 444 - Label - true - true - - Left - - - - РасписаниеСинхронизацииДанныхКонтекстноеМеню - 299 - true - - InputField - true - Enter - true - Left - true - - true - 3 - true - true - true - true - true - true - Normal - - - true - true - - true - - - ГруппаСценарииСинхронизацииExtendedTooltip - 440 + Группа9РасширеннаяПодсказка + 534 Label true true @@ -1722,69 +1855,16 @@ Normal - - УдалитьНастройкуСинхронизации - 365 - true - true - - true - - - УдалитьНастройкуСинхронизацииExtendedTooltip - 447 - Label - true - true - - Left - - - UsualButton - Form.Command.УдалитьНастройкуСинхронизации - Normal - Auto - true - true - UserCmds - Auto - - - Декорация4 - 254 - true - true - - true - - - Декорация4ExtendedTooltip - 448 - Label - true - true - - Left - - - - Декорация4КонтекстноеМеню - 255 - true - - Label - true - true - - Left - - ГруппаНастройкаСинхронизации 303 НастроитьСинхронизациюДанныхОдна 206 + + <key>ru</key> + <value>Настроить еще одну синхронизацию данных</value> + true true @@ -1809,21 +1889,48 @@ UserCmds Auto - - Декорация10 - 301 - - <key>ru</key> - <value>Настроить новую синхронизацию данных.</value> - + + Группа8 + 531 + + УдалитьНастройкуСинхронизации + 365 + + <key>ru</key> + <value>Удалить эту настройку синхронизации</value> + + true + true + + true + + + УдалитьНастройкуСинхронизацииExtendedTooltip + 447 + Label + true + true + + Left + + + UsualButton + Form.Command.УдалитьНастройкуСинхронизации + Normal + Auto + true + true + UserCmds + Auto + true true true - Декорация10ExtendedTooltip - 451 + Группа8РасширеннаяПодсказка + 532 Label true true @@ -1831,16 +1938,14 @@ Left
                - - Декорация10КонтекстноеМеню - 302 - true - - Label - true - true - - Left + UsualGroup + + Vertical + Auto + true + true + Auto + Auto true @@ -1861,7 +1966,7 @@ UsualGroup Auto - WeakSeparation + NormalSeparation true true Auto @@ -2680,6 +2785,32 @@ + + СписокСостоянияУзловЗагрузитьПравилаСинхронизацииДанных + 535 + true + true + + true + + + СписокСостоянияУзловЗагрузитьПравилаСинхронизацииДанныхРасширеннаяПодсказка + 536 + Label + true + true + + Left + + + Form.Command.ЗагрузитьПравилаСинхронизацииДанных + Normal + Auto + true + true + UserCmds + Auto + СписокСостоянияУзловГруппа1 339 @@ -2997,10 +3128,12 @@ Left true + 2 true true true true + AutoSize CommonPicture.СинхронизацияДанныхСостояниеРасписания @@ -3568,10 +3701,10 @@ СписокСостоянияУзловСтрокаПоиска - 524 + 541 СписокСостоянияУзловСтрокаПоискаРасширеннаяПодсказка - 526 + 543 Label true true @@ -3581,7 +3714,7 @@ СписокСостоянияУзловСтрокаПоискаКонтекстноеМеню - 525 + 542 true СписокСостоянияУзлов @@ -3591,10 +3724,10 @@ СписокСостоянияУзловСостояниеПросмотра - 527 + 544 СписокСостоянияУзловСостояниеПросмотраРасширеннаяПодсказка - 529 + 546 Label true true @@ -3604,7 +3737,7 @@ СписокСостоянияУзловСостояниеПросмотраКонтекстноеМеню - 528 + 545 true ViewStatusAddition @@ -3615,10 +3748,10 @@ СписокСостоянияУзловУправлениеПоиском - 530 + 547 СписокСостоянияУзловУправлениеПоискомРасширеннаяПодсказка - 532 + 549 Label true true @@ -3628,7 +3761,7 @@ СписокСостоянияУзловУправлениеПоискомКонтекстноеМеню - 531 + 548 true SearchControlAddition @@ -4688,7 +4821,7 @@ 4 ru - Изменить параметры синхронизации даных + Настроить правила синхронизации даных true @@ -4830,7 +4963,7 @@ 10 ru - Настроить синхронизацию данных с другой программой + Настроить новую синхронизацию данных с другой программой true @@ -4924,10 +5057,6 @@ Подробнее о синхронизации данных с этой программой 12 - - ru - Информация по обмену - true @@ -5001,7 +5130,7 @@ 18 ru - Удалить настройку синхронизации данных + Удалить текущую настройку синхронизации данных @@ -5025,6 +5154,28 @@ Auto Auto + + ЗагрузитьПравилаСинхронизацииДанных + + <key>ru</key> + <value>Загрузить правила...</value> + + 14 + + ru + Загрузить правила синхронизации данных + + + true + + + + ЗагрузитьПравилаСинхронизацииДанных + + + Auto + Auto + diff --git a/SSL/src/CommonForms/ОбменыДанными/Help/ru.html b/SSL/src/CommonForms/ОбменыДанными/Help/ru.html index b08f0e2f6..f4182d36b 100644 --- a/SSL/src/CommonForms/ОбменыДанными/Help/ru.html +++ b/SSL/src/CommonForms/ОбменыДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

                Предназначено для настройки синхронизации данных и хранения существующих настроек синхронизации данных.

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

                 В окне выводится:

                diff --git a/SSL/src/CommonForms/ОбменыДанными/Module.bsl b/SSL/src/CommonForms/ОбменыДанными/Module.bsl index 38ebca6ae..c96f03eb0 100644 --- a/SSL/src/CommonForms/ОбменыДанными/Module.bsl +++ b/SSL/src/CommonForms/ОбменыДанными/Module.bsl @@ -142,52 +142,43 @@ Процедура ВыполнитьОбменДанными(Команда) ОбновитьДанныеМонитора(); - - Если КоличествоСинхронизаций = 1 Тогда - - УзелОбмена = СписокСостоянияУзлов[0].УзелИнформационнойБазы; - АвтоматическаяСинхронизация = (СписокСостоянияУзлов[0].ВариантОбменаДанными = "Синхронизация"); - - Иначе - - ТекущиеДанные = Элементы.СписокСостоянияУзлов.ТекущиеДанные; - - Если ТекущиеДанные = Неопределено Тогда - Возврат; - КонецЕсли; - - УзелОбмена = ТекущиеДанные.УзелИнформационнойБазы; - АвтоматическаяСинхронизация = (ТекущиеДанные.ВариантОбменаДанными = "Синхронизация"); - + + ТекущиеДанные = ?(КоличествоСинхронизаций = 1, СписокСостоянияУзлов[0], Элементы.СписокСостоянияУзлов.ТекущиеДанные); + + Если ТекущиеДанные = Неопределено Тогда + Возврат; КонецЕсли; - ОбменДаннымиКлиент.ВыполнитьОбменДаннымиОбработкаКоманды(УзелОбмена, ЭтотОбъект,, АвтоматическаяСинхронизация); + УзелОбмена = ТекущиеДанные.УзелИнформационнойБазы; + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("УзелОбмена", УзелОбмена); + ДополнительныеПараметры.Вставить("АвтоматическаяСинхронизация", (ТекущиеДанные.ВариантОбменаДанными = "Синхронизация")); + ДополнительныеПараметры.Вставить("ИнтерактивнаяОтправка", Ложь); + + ОписаниеПродолжения = Новый ОписаниеОповещения("ПродолжитьВыполнениеСинхронизации", ЭтотОбъект, ДополнительныеПараметры); + ПроверитьСовместимостьПравилКонвертации(УзелОбмена, ОписаниеПродолжения); КонецПроцедуры &НаКлиенте Процедура ВыполнитьОбменДаннымиИнтерактивно(Команда) - Если КоличествоСинхронизаций = 1 Тогда - - УзелОбмена = СписокСостоянияУзлов[0].УзелИнформационнойБазы; - - Иначе - - ТекущиеДанные = Элементы.СписокСостоянияУзлов.ТекущиеДанные; - - Если ТекущиеДанные = Неопределено Тогда - - Возврат; - - КонецЕсли; - - УзелОбмена = ТекущиеДанные.УзелИнформационнойБазы; - + ТекущиеДанные = ?(КоличествоСинхронизаций = 1, СписокСостоянияУзлов[0], Элементы.СписокСостоянияУзлов.ТекущиеДанные); + + Если ТекущиеДанные = Неопределено Тогда + Возврат; КонецЕсли; - ТекущиеДанные = Элементы.СписокСостоянияУзлов.ТекущиеДанные; - ОбменДаннымиКлиент.ОткрытьПомощникСопоставленияОбъектовОбработкаКоманды(УзелОбмена, ЭтотОбъект); + УзелОбмена = ТекущиеДанные.УзелИнформационнойБазы; + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("УзелОбмена", УзелОбмена); + ДополнительныеПараметры.Вставить("ИнтерактивнаяОтправка", Истина); + + ОписаниеПродолжения = Новый ОписаниеОповещения("ПродолжитьВыполнениеСинхронизации", ЭтотОбъект, ДополнительныеПараметры); + + ПроверитьСовместимостьПравилКонвертации(УзелОбмена, ОписаниеПродолжения); КонецПроцедуры @@ -399,10 +390,47 @@ КонецПроцедуры +&НаКлиенте +Процедура ЗагрузитьПравилаСинхронизацииДанных(Команда) + + ТекущиеДанные = ?(КоличествоСинхронизаций = 1, СписокСостоянияУзлов[0], Элементы.СписокСостоянияУзлов.ТекущиеДанные); + + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + УзелОбмена = ТекущиеДанные.УзелИнформационнойБазы; + СведенияОПланеОбмена = СведенияОПланеОбмена(УзелОбмена); + + Если СведенияОПланеОбмена.ИспользуютсяПравилаКонвертации Тогда + ОбменДаннымиКлиент.ЗагрузитьПравилаСинхронизацииДанных(СведенияОПланеОбмена.ИмяПланаОбмена); + Иначе + + ВидПравил = ПредопределенноеЗначение("Перечисление.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов"); + + Отбор = Новый Структура("ИмяПланаОбмена, ВидПравил", СведенияОПланеОбмена.ИмяПланаОбмена, ВидПравил); + ЗначенияЗаполнения = Новый Структура("ИмяПланаОбмена, ВидПравил", СведенияОПланеОбмена.ИмяПланаОбмена, ВидПравил); + ОбменДаннымиКлиент.ОткрытьФормуЗаписиРегистраСведенийПоОтбору(Отбор, ЗначенияЗаполнения, + "ПравилаДляОбменаДанными", УзелОбмена, "ПравилаРегистрацииОбъектов"); + + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции +&НаСервере +Функция СведенияОПланеОбмена(Знач УзелИнформационнойБазы) + + Результат = Новый Структура("ИмяПланаОбмена,ИспользуютсяПравилаКонвертации"); + Результат.ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы); + Результат.ИспользуютсяПравилаКонвертации = ОбменДаннымиПовтИсп.ЕстьМакетПланаОбмена(Результат.ИмяПланаОбмена, "ПравилаОбмена"); + Возврат Результат; + +КонецФункции + &НаКлиенте Процедура ОбновитьДанныеМонитора() @@ -534,6 +562,9 @@ КонецЕсли; + Элементы.СтраницаРасписание.Картинка = ?(НастроеннаяСинхронизация.РасписаниеНастроено, + БиблиотекаКартинок.РегламентноеЗадание, Новый Картинка); + ЗаголовокФормы = НСтр("ru = 'Синхронизация данных с ""%Программа%""'"); ЗаголовокФормы = СтрЗаменить(ЗаголовокФормы, "%Программа%", НастроеннаяСинхронизация.УзелИнформационнойБазы.Наименование); Заголовок = ЗаголовокФормы; @@ -854,4 +885,171 @@ КонецФункции +&НаКлиенте +Процедура ПродолжитьВыполнениеСинхронизации(Результат, ДополнительныеПараметры) Экспорт + + Если ДополнительныеПараметры.ИнтерактивнаяОтправка Тогда + + ОбменДаннымиКлиент.ОткрытьПомощникСопоставленияОбъектовОбработкаКоманды(ДополнительныеПараметры.УзелОбмена, ЭтотОбъект); + + Иначе + + ОбменДаннымиКлиент.ВыполнитьОбменДаннымиОбработкаКоманды(ДополнительныеПараметры.УзелОбмена, + ЭтотОбъект,, ДополнительныеПараметры.АвтоматическаяСинхронизация); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьСовместимостьПравилКонвертации(Знач ИмяПланаОбмена, ОбработкаПродолжения) + + ОписаниеОшибки = Неопределено; + Если ПравилаКонвертацииСовместимыСТекущейВерсией(ИмяПланаОбмена, ОписаниеОшибки) Тогда + + ВыполнитьОбработкуОповещения(ОбработкаПродолжения); + + Иначе + + Кнопки = Новый СписокЗначений; + Кнопки.Добавить("ПерейтиКЗагрузкеПравил", Нстр("ru = 'Загрузить правила'")); + Если ОписаниеОшибки.ВидОшибки <> "НекорректнаяКонфигурация" Тогда + Кнопки.Добавить("Продолжить", Нстр("ru = 'Продолжить'")); + КонецЕсли; + Кнопки.Добавить("Отмена", Нстр("ru = 'Отмена'")); + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("ОбработкаПродолжения", ОбработкаПродолжения); + ДополнительныеПараметры.Вставить("ИмяПланаОбмена", ИмяПланаОбмена); + Оповещение = Новый ОписаниеОповещения("ПослеПроверкиПравилКонвертацииНаСовместимость", ЭтотОбъект, ДополнительныеПараметры); + + ПараметрыФормы = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю(); + ПараметрыФормы.Картинка = ОписаниеОшибки.Картинка; + ПараметрыФормы.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь; + Если ОписаниеОшибки.ВидОшибки = "НекорректнаяКонфигурация" Тогда + ПараметрыФормы.Заголовок = Нстр("ru = 'Синхронизация данных не может быть выполнена'"); + Иначе + ПараметрыФормы.Заголовок = Нстр("ru = 'Синхронизация данных может быть выполнена некорректно'"); + КонецЕсли; + + СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Оповещение, ОписаниеОшибки.ТекстОшибки, Кнопки, ПараметрыФормы); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПроверкиПравилКонвертацииНаСовместимость(Результат, ДополнительныеПараметры) Экспорт + + Если Результат <> Неопределено Тогда + + Если Результат.Значение = "Продолжить" Тогда + + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаПродолжения); + + ИначеЕсли Результат.Значение = "ПерейтиКЗагрузкеПравил" Тогда + + ОбменДаннымиКлиент.ЗагрузитьПравилаСинхронизацииДанных(ДополнительныеПараметры.ИмяПланаОбмена); + + КонецЕсли; // При "Отмена" ничего не делаем + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ПравилаКонвертацииСовместимыСТекущейВерсией(ИмяПланаОбмена, ОписаниеОшибки) + + ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(ИмяПланаОбмена); + ИнформацияОПравилах = Неопределено; + + Если ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ПредупреждатьОНесоответствииВерсийПравилОбмена") + И ПравилаКонвертацииЗагруженыИзФайла(ИмяПланаОбмена, ИнформацияОПравилах) Тогда + + Если ИнформацияОПравилах.ИмяКонфигурации <> Метаданные.Имя Тогда + + ОписаниеОшибки = Новый Структура; + ОписаниеОшибки.Вставить("ТекстОшибки", Нстр("ru = 'Синхронизация данных не может быть выполнена, так как используются правила, предназначенные для программы ""%1"". Следует использовать правила из конфигурации или загрузить корректный комплект правил из файла.'")); + ОписаниеОшибки.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ОписаниеОшибки.ТекстОшибки, + ИнформацияОПравилах.СинонимКонфигурацииВПравилах); + ОписаниеОшибки.Вставить("ВидОшибки", "НекорректнаяКонфигурация"); + ОписаниеОшибки.Вставить("Картинка", БиблиотекаКартинок.Ошибка32); + Возврат Ложь; + + КонецЕсли; + + ВерсияВПравилахБезСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ИнформацияОПравилах.ВерсияКонфигурации); + ВерсияКонфигурацииБезСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(Метаданные.Версия); + РезультатСравнения = ОбменДаннымиСервер.СравнитьВерсииБезНомераСборки(ВерсияВПравилахБезСборки, ВерсияКонфигурацииБезСборки); + + Если РезультатСравнения <> 0 Тогда + + Если РезультатСравнения < 0 Тогда + + ТекстОшибки = Нстр("ru = 'Синхронизация данных может быть выполнена некорректно, так как используются правила, предназначенные для предыдущей версии программы ""%1"" (%2). Рекомендуется использовать правила из конфигурации или загрузить комплект правил, предназначенный для текущей версии программы (%3).'"); + ВидОшибки = "УстаревшаяВерсияКонфигурации"; + + Иначе + + ТекстОшибки = Нстр("ru = 'Синхронизация данных может быть выполнена некорректно, так как используются правила, предназначенные для более новой версии программы ""%1"" (%2). Рекомендуется обновить версию программы или использовать комплект правил, предназначенный для текущей версии программы (%3).'"); + ВидОшибки = "УстаревшиеПравила"; + + КонецЕсли; + + ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Метаданные.Синоним, + ВерсияВПравилахБезСборки, ВерсияКонфигурацииБезСборки); + + ОписаниеОшибки = Новый Структура; + ОписаниеОшибки.Вставить("ТекстОшибки", ТекстОшибки); + ОписаниеОшибки.Вставить("ВидОшибки", ВидОшибки); + ОписаниеОшибки.Вставить("Картинка", БиблиотекаКартинок.Предупреждение32); + Возврат Ложь; + + КонецЕсли; + + КонецЕсли; + + Возврат Истина; + +КонецФункции + +&НаСервере +Функция ПравилаКонвертацииЗагруженыИзФайла(ИмяПланаОбмена, ИнформацияОПравилах) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ПравилаЗачитанные, + | ПравилаДляОбменаДанными.ВидПравил + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена + | И ПравилаДляОбменаДанными.ИсточникПравил = ЗНАЧЕНИЕ(Перечисление.ИсточникиПравилДляОбменаДанными.Файл) + | И ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов)"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Результат = Запрос.Выполнить(); + + Если Не Результат.Пустой() Тогда + + Выборка = Результат.Выбрать(); + Выборка.Следующий(); + + СтруктураПравил = Выборка.ПравилаЗачитанные.Получить().Конвертация; + + ИнформацияОПравилах = Новый Структура; + ИнформацияОПравилах.Вставить("ИмяКонфигурации", СтруктураПравил.Источник); + ИнформацияОПравилах.Вставить("ВерсияКонфигурации", СтруктураПравил.ВерсияКонфигурацииИсточника); + ИнформацияОПравилах.Вставить("СинонимКонфигурацииВПравилах", СтруктураПравил.СинонимКонфигурацииИсточника); + + Возврат Истина; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Form.form b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Form.form index e2621f7c5..ad5bc5db7 100644 --- a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Form.form +++ b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Form.form @@ -99,7 +99,107 @@ Vertical Auto - StrongSeparation + NormalSeparation + true + true + Auto + Auto + +
                + + ГруппаОтключеныРегламентныеЗадания + 53 + + КартинкаОтключеныРегламентныеЗадания + 58 + true + true + + true + + + КартинкаОтключеныРегламентныеЗаданияРасширеннаяПодсказка + 60 + Label + true + true + + Left + + + + КартинкаОтключеныРегламентныеЗаданияКонтекстноеМеню + 59 + true + + 2 + true + 1 + true + + + CommonPicture.Информация + + + + + ОтключеныРегламентныеЗадания + 55 + + <key>ru</key> + <value>При выполнения обновления была установлена блокировка выполнения регламентных заданий. +Для разблокировки требуется <link перезапустить>перезапустить</> программу.</value> + + true + true + + true + + + ОтключеныРегламентныеЗаданияРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + + ОтключеныРегламентныеЗаданияКонтекстноеМеню + 56 + true + + true + Label + true + true + + + URLProcessing + ОтключеныРегламентныеЗаданияОбработкаНавигационнойСсылки + + Left + + + true + true + + true + + + ГруппаОтключеныРегламентныеЗаданияРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + UsualGroup + + Auto true true Auto @@ -140,62 +240,6 @@ Auto InCommandBarAndInAdditionalSubmenu - - ИзменитьФорму - 19 - true - true - - true - - - ИзменитьФормуExtendedTooltip - 33 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - - - Сохранить - 7 - - <key>ru</key> - <value>Сохранить как...</value> - - true - true - - true - - - СохранитьExtendedTooltip - 34 - Label - true - true - - Left - - - Form.Item.ОписаниеОбновлений.StandardCommand.Save - Normal - PictureAndText - true - true - UserCmds - Auto - РазвернутьВсеГруппы 21 @@ -216,7 +260,7 @@ Form.Item.ОписаниеОбновлений.StandardCommand.ExpandAllGroups Normal - Auto + Picture true true UserCmds @@ -224,16 +268,16 @@ InCommandBarAndInAdditionalSubmenu - Печать - 15 + ОписаниеОбновленийСвернутьВсеГруппы + 45 true true true - ПечатьExtendedTooltip - 36 + ОписаниеОбновленийСвернутьВсеГруппыРасширеннаяПодсказка + 46 Label true true @@ -241,7 +285,171 @@ Left
                - Form.Item.ОписаниеОбновлений.StandardCommand.Print + Form.Item.ОписаниеОбновлений.StandardCommand.CollapseAllGroups + Normal + Auto + true + true + UserCmds + Auto + + + ОписаниеОбновленийГруппа + 51 + + Сохранить + 7 + + <key>ru</key> + <value>Сохранить как...</value> + + true + true + + true + + + СохранитьExtendedTooltip + 34 + Label + true + true + + Left + + + Form.Item.ОписаниеОбновлений.StandardCommand.Save + Normal + PictureAndText + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Печать + 15 + true + true + + true + + + ПечатьExtendedTooltip + 36 + Label + true + true + + Left + + + Form.Item.ОписаниеОбновлений.StandardCommand.Print + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ОписаниеОбновленийПредварительныйПросмотр + 47 + true + true + + true + + + ОписаниеОбновленийПредварительныйПросмотрРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + Form.Item.ОписаниеОбновлений.StandardCommand.Preview + Normal + Auto + true + true + UserCmds + Auto + + + ОписаниеОбновленийПараметрыСтраницы + 49 + true + true + + true + + + ОписаниеОбновленийПараметрыСтраницыРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + Form.Item.ОписаниеОбновлений.StandardCommand.PageSetup + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Описание обновлений группа</value> + + + ru + Описание обновлений группа + + + ОписаниеОбновленийГруппаРасширеннаяПодсказка + 52 + Label + true + true + + Left + + + + + + ИзменитьФорму + 19 + true + true + + true + + + ИзменитьФормуExtendedTooltip + 33 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm Normal Auto true @@ -410,6 +618,7 @@ ru Техническая информация о результатах обновления + true true true @@ -418,9 +627,14 @@ Role.ПолныеПрава + Button ТехническаяИнформацияОРезультатахОбновленияExtendedTooltip 42 + + <key>ru</key> + <value>Техническая информация из журнала регистрации для обращения в службу технической поддержки.</value> + Label true true diff --git a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Help/ru.html b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Help/ru.html index 9c1c5e144..38c9dc286 100644 --- a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Help/ru.html +++ b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                Доступные действия

                diff --git a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Module.bsl b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Module.bsl index 759922a0b..1d3d3223d 100644 --- a/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Module.bsl +++ b/SSL/src/CommonForms/ОписаниеИзмененийСистемы/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -58,13 +57,10 @@ ОписаниеОбновлений.Вывести(ДокументОписаниеОбновлений); СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы(); - Если СведенияОбОбновлении <> Неопределено Тогда - ВремяНачалаОбновления = СведенияОбОбновлении.ВремяНачалаОбновления; - ВремяОкончанияОбновления = СведенияОбОбновлении.ВремяОкончанияОбновления; - КонецЕсли; + ВремяНачалаОбновления = СведенияОбОбновлении.ВремяНачалаОбновления; + ВремяОкончанияОбновления = СведенияОбОбновлении.ВремяОкончанияОбновления; Если Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() - Или СведенияОбОбновлении = Неопределено Или СведенияОбОбновлении.ОтложенноеОбновлениеЗавершеноУспешно <> Неопределено Или СведенияОбОбновлении.ДеревоОбработчиков <> Неопределено И СведенияОбОбновлении.ДеревоОбработчиков.Строки.Количество() = 0 Тогда @@ -88,10 +84,24 @@ ИначеЕсли Пользователи.ЭтоПолноправныйПользователь() И Не ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда Элементы.АдресФормыВПрограмме.ВысотаЗаголовка = 2; Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость = Истина; + Иначе + Элементы.ТехническаяИнформацияОРезультатахОбновления.Видимость = Ложь; КонецЕсли; КлиентСервернаяБаза = Не ОбщегоНазначения.ИнформационнаяБазаФайловая(); + // Отображение информации о блокировке регламентных заданий. + Если Не КлиентСервернаяБаза + И Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда + ПараметрЗапускаКлиента = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска"); + ВыполненоОтключениеРегламентныхЗаданий = Найти(ПараметрЗапускаКлиента, "РегламентныеЗаданияОтключены") <> 0; + Если Не ВыполненоОтключениеРегламентныхЗаданий Тогда + Элементы.ГруппаОтключеныРегламентныеЗадания.Видимость = Ложь; + КонецЕсли; + Иначе + Элементы.ГруппаОтключеныРегламентныеЗадания.Видимость = Ложь; + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -172,4 +182,25 @@ КонецПроцедуры +&НаКлиенте +Процедура ОтключеныРегламентныеЗаданияОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + + Оповещение = Новый ОписаниеОповещения("ОтключеныРегламентныеЗаданияОбработкаНавигационнойСсылкиЗавершение", ЭтотОбъект); + ТекстВопроса = НСтр("ru = 'Перезапустить программу?'"); + ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет); +КонецПроцедуры + +&НаКлиенте +Процедура ОтключеныРегламентныеЗаданияОбработкаНавигационнойСсылкиЗавершение(Результат, ДополнительныеПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.Да Тогда + НовыйПараметрЗапуска = СтрЗаменить(ПараметрЗапуска, "РегламентныеЗаданияОтключены", ""); + НовыйПараметрЗапуска = СтрЗаменить(НовыйПараметрЗапуска, "ЗапуститьОбновлениеИнформационнойБазы", ""); + НовыйПараметрЗапуска = "/C """ + НовыйПараметрЗапуска + """"; + ПрекратитьРаботуСистемы(Истина, НовыйПараметрЗапуска); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonForms/ОтправкаСообщения/Help/ru.html b/SSL/src/CommonForms/ОтправкаСообщения/Help/ru.html index d45b88a60..355a4adcd 100644 --- a/SSL/src/CommonForms/ОтправкаСообщения/Help/ru.html +++ b/SSL/src/CommonForms/ОтправкаСообщения/Help/ru.html @@ -1,4 +1,4 @@ - +

                Предназначена для отправки электронного сообщения.

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

                Написание электронного сообщения

                diff --git a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Form.form b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Form.form index 8de7a854d..16c55c7dd 100644 --- a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Form.form +++ b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Form.form @@ -1,5 +1,9 @@ + + <key>ru</key> + <value>Отправка по почте</value> + ФорматыСохранения 32 @@ -336,7 +340,6 @@ Use UseList true - true true Vertical true diff --git a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Help/ru.html b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Help/ru.html index 8ce0753cf..8718d890d 100644 --- a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Help/ru.html +++ b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                Отправка по почте

                • Отметьте флажками один или несколько форматов. diff --git a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Module.bsl b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Module.bsl index db97f5860..5e8c2aa34 100644 --- a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Module.bsl +++ b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере diff --git a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/ОтправкаТабличныхДокументовПоПочте.mdo b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/ОтправкаТабличныхДокументовПоПочте.mdo index 1978fd4ac..10c55251c 100644 --- a/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/ОтправкаТабличныхДокументовПоПочте.mdo +++ b/SSL/src/CommonForms/ОтправкаТабличныхДокументовПоПочте/ОтправкаТабличныхДокументовПоПочте.mdo @@ -3,7 +3,7 @@ ОтправкаТабличныхДокументовПоПочте ru - Отправка по почте + Отправка табличных документов по почте diff --git a/SSL/src/CommonForms/ПанельОтчетов/Form.form b/SSL/src/CommonForms/ПанельОтчетов/Form.form index b36dff0ec..302062c7f 100644 --- a/SSL/src/CommonForms/ПанельОтчетов/Form.form +++ b/SSL/src/CommonForms/ПанельОтчетов/Form.form @@ -16,7 +16,7 @@ ru - Отбор по наименованию + Поиск слов в наименовании и описании отчета а также в наименованиях настроек отчета. OnChange @@ -47,10 +47,12 @@ TextEditEnd СтрокаПоискаОкончаниеВводаТекста - 32 + 25 true + 1 true false + false true true true @@ -58,6 +60,10 @@ true true Normal + + ru + Например, выручка + @@ -98,7 +104,7 @@ ИскатьВоВсехРазделах - None + Right OnChange ИскатьВоВсехРазделахПриИзменении @@ -118,55 +124,28 @@ 343 true - RadioButtonField + CheckBoxField Enter true Left true - - - - ru - Только в этом разделе - - - 0 - - - - - ru - Во всех разделах - - - 1 - - - Vertical - + - - ОтборАвтор - 250 + + Декорация1 + 386 + + <key>ru</key> + <value> </value> + true true true - - ОтборАвтор - - - ru - Отбор по авторам - - - OnChange - ОтборАвторПриИзменении - - ОтборАвторExtendedTooltip - 267 + Декорация1РасширеннаяПодсказка + 388 Label true true @@ -175,34 +154,59 @@ - ОтборАвторКонтекстноеМеню - 251 + Декорация1КонтекстноеМеню + 387 true - InputField + Label + true + true + true + false + + Left + + + + ПоказыватьПодсказки + 357 + true + true + + true + + + ПоказыватьПодсказки + + Right + + OnChange + ПоказыватьПодсказкиПриИзменении + + + ПоказыватьПодсказкиРасширеннаяПодсказка + 359 + Label + true + true + + Left + + + + ПоказыватьПодсказкиКонтекстноеМеню + 358 + true + + CheckBoxField Enter true Left true - - 25 - true - true - false - true - false - true - true - false - false - true - true - true - Normal - + - ВерхняяКоманднаяПанель + КоманднаяПанель 307 Настроить @@ -381,8 +385,11 @@ ru + 26 + 1 + false - ВерхняяКоманднаяПанельРасширеннаяПодсказка + КоманднаяПанельРасширеннаяПодсказка 308 Label true @@ -429,144 +436,15 @@ Auto - - ГруппаПоказыватьПодсказки - 352 - - ПоказыватьПодсказки - 357 - true - true - - true - - - ПоказыватьПодсказки - - None - - OnChange - ПоказыватьПодсказкиПриИзменении - - - ПоказыватьПодсказкиРасширеннаяПодсказка - 359 - Label - true - true - - Left - - - - ПоказыватьПодсказкиКонтекстноеМеню - 358 - true - - RadioButtonField - Enter - true - Left - true - - - - ru - Показывать описания отчетов - - - 1 - - - - - ru - Не показывать описания - - - 0 - - - Vertical - - - - ПустаяДекорация1 - 354 - - <key>ru</key> - <value> </value> - - true - true - - true - - - ПустаяДекорация1РасширеннаяПодсказка - 356 - Label - true - true - - Left - - - - ПустаяДекорация1КонтекстноеМеню - 355 - true - - Label - true - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - ГруппаПоказыватьПодсказкиРасширеннаяПодсказка - 353 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - Колонки 3 БыстрыйДоступШапка - 323 + 375 БыстрыйДоступШапкаКартинка - 328 + 377 <key>ru</key> <value> </value> @@ -578,7 +456,7 @@ </userVisible> <extendedTooltip> <name>БыстрыйДоступШапкаКартинкаРасширеннаяПодсказка</name> - <id>330</id> + <id>379</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -588,7 +466,7 @@ </extendedTooltip> <contextMenu> <name>БыстрыйДоступШапкаКартинкаКонтекстноеМеню</name> - <id>329</id> + <id>378</id> <autoFill>true</autoFill> </contextMenu> <width>2</width> @@ -605,7 +483,7 @@ </items> <items xsi:type="form:Decoration"> <name>БыстрыйДоступШапкаНадпись</name> - <id>331</id> + <id>380</id> <title> <key>ru</key> <value>Быстрый доступ</value> @@ -618,7 +496,7 @@ <toolTipRepresentation>Button</toolTipRepresentation> <extendedTooltip> <name>БыстрыйДоступШапкаНадписьРасширеннаяПодсказка</name> - <id>333</id> + <id>382</id> <title> <key>ru</key> <value>В быстрый доступ следует перемещать отчеты, которые используются постоянно. @@ -634,7 +512,7 @@ </extendedTooltip> <contextMenu> <name>БыстрыйДоступШапкаНадписьКонтекстноеМеню</name> - <id>332</id> + <id>381</id> <autoFill>true</autoFill> </contextMenu> <type>Label</type> @@ -646,13 +524,6 @@ <textColor xsi:type="core:ColorRef"> <color>Style.ГруппаВариантовОтчетовЦвет</color> </textColor> - <font xsi:type="core:FontRef"> - <font>System.DefaultGUIFont</font> - <bold>true</bold> - <italic>false</italic> - <underline>false</underline> - <strikeout>false</strikeout> - </font> <extInfo xsi:type="form:LabelDecorationExtInfo"> <horizontalAlign>Left</horizontalAlign> <verticalAlign>Center</verticalAlign> @@ -673,7 +544,7 @@ </toolTip> <extendedTooltip> <name>БыстрыйДоступШапкаРасширеннаяПодсказка</name> - <id>324</id> + <id>376</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -692,10 +563,10 @@ </items> <items xsi:type="form:FormGroup"> <name>ПодсказкаДляРежимаНастройки</name> - <id>334</id> + <id>367</id> <items xsi:type="form:Decoration"> <name>БыстрыйДоступПодсказкаКогдаНеНастроен</name> - <id>339</id> + <id>369</id> <title> <key>ru</key> <value>Для перемещения отчета в эту группу нажмите на отчете правой кнопкой мыши и выберите "Переместить в быстрый доступ". @@ -708,7 +579,7 @@ </userVisible> <extendedTooltip> <name>БыстрыйДоступПодсказкаКогдаНеНастроенРасширеннаяПодсказка</name> - <id>341</id> + <id>371</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -718,7 +589,7 @@ </extendedTooltip> <contextMenu> <name>БыстрыйДоступПодсказкаКогдаНеНастроенКонтекстноеМеню</name> - <id>340</id> + <id>370</id> <autoFill>true</autoFill> </contextMenu> <type>Label</type> @@ -748,7 +619,7 @@ </toolTip> <extendedTooltip> <name>ПодсказкаДляРежимаНастройкиРасширеннаяПодсказка</name> - <id>335</id> + <id>368</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -840,42 +711,6 @@ <currentRowUse>Auto</currentRowUse> </extInfo> </items> - <items xsi:type="form:FormGroup"> - <name>БыстрыйДоступКолонка3</name> - <id>32</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <title> - <key>ru</key> - <value> </value> - - - ru - - - - БыстрыйДоступКолонка3ExtendedTooltip - 287 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - true true @@ -948,49 +783,11 @@ Left - + 1 - - БыстрыйДоступПодвалПустаяДекорация - 320 - - <key>ru</key> - <value> </value> - - true - true - - true - - - БыстрыйДоступПодвалПустаяДекорацияРасширеннаяПодсказка - 322 - Label - true - true - - Left - - - - БыстрыйДоступПодвалПустаяДекорацияКонтекстноеМеню - 321 - true - - 1 - true - 1 - true - true - true - - Stretch - - - true true true @@ -1098,42 +895,6 @@ Auto - - БезГруппыКолонка3 - 65 - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - БезГруппыКолонка3ExtendedTooltip - 292 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - true true @@ -1278,42 +1039,6 @@ Auto - - СГруппойКолонка3 - 154 - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - СГруппойКолонка3ExtendedTooltip - 297 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - true true @@ -1458,42 +1183,6 @@ Auto - - СмТакжеКолонка3 - 215 - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - СмТакжеКолонка3ExtendedTooltip - 302 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - true true @@ -1503,13 +1192,6 @@ ru См. также - - System.DefaultGUIFont - true - false - false - false - ru См также @@ -1577,8 +1259,6 @@ true - true - false КолонкиExtendedTooltip 283 @@ -1602,16 +1282,65 @@ РезультатыПоискаИзДругихРазделовГруппа 345 + + РезультатыПоискаИзДругихРазделовШапка + 383 + + <key>ru</key> + <value>Отчеты, найденные в других разделах:</value> + + true + true + + true + + None + + РезультатыПоискаИзДругихРазделовШапкаРасширеннаяПодсказка + 385 + Label + true + true + + Left + + + + РезультатыПоискаИзДругихРазделовШапкаКонтекстноеМеню + 384 + true + + Label + true + 2 + true + false + false + + Style.FormTextColor + + + System.DefaultGUIFont + Arial + 11.0 + true + false + false + false + + + Left + Center + + РезультатыПоискаИзДругихРазделовДекорация 347 <key>ru</key> - <value>Отчеты, найденные в других разделах: - + <value> </value> - true true true @@ -1694,13 +1423,6 @@ ru Отчеты, найденные в других разделах - - System.DefaultGUIFont - true - false - false - false - ru Результаты поиска из других разделов группа @@ -1719,7 +1441,6 @@ Vertical Auto - WeakSeparation true true Auto @@ -1924,10 +1645,10 @@ - ШрифтЖирный + ШрифтВажнойНадписи <key>ru</key> - <value>Шрифт жирный</value> + <value> </value> 7 @@ -2239,23 +1960,6 @@ true - - СвоиНастройки - - <key>ru</key> - <value>Свои настройки</value> - - 18 - - Boolean - - - true - - - true - - Автор @@ -2384,23 +2088,6 @@ <common>true</common> </edit> </attributes> - <attributes> - <name>ОтборАвтор</name> - <title> - <key>ru</key> - <value>Автор</value> - - 8 - - CatalogRef.Пользователи - - - true - - - true - - СтрокаПоиска @@ -2641,7 +2328,7 @@ <name>ИскатьВоВсехРазделах</name> <title> <key>ru</key> - <value>Искать</value> + <value>Во всех разделах</value> 17 @@ -2661,7 +2348,7 @@ ПоказыватьПодсказки <key>ru</key> - <value>Отображение описаний</value> + <value>Описания отчетов</value> 20 @@ -2726,16 +2413,84 @@ true + + ШрифтВажнойГруппы + + <key>ru</key> + <value> </value> + + 8 + + Font + + + true + + + true + + + + ШрифтОбычнойГруппы + + <key>ru</key> + <value> </value> + + 23 + + Font + + + true + + + true + + + + ШрифтРаздела + + <key>ru</key> + <value> </value> + + 24 + + Font + + + true + + + true + + + + ЦветРаздела + + <key>ru</key> + <value>Цвет раздела</value> + + 25 + + Color + + + true + + + true + + Настроить <key>ru</key> - <value>Настроить</value> + <value>Настройка</value> 1 ru - Настроить видимость и быстрый доступ к отчетам данного раздела + Настроить видимость и быстрый доступ к отчетам этой панели true @@ -2775,7 +2530,6 @@ ПереместитьВБыстрыйДоступ - true Auto Auto diff --git a/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html b/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html index d5d97b658..0d1bcf7db 100644 --- a/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html +++ b/SSL/src/CommonForms/ПанельОтчетов/Help/ru.html @@ -1,4 +1,4 @@ - +

                  Выводит варианты отчетов, размещенные в разделе или группах раздела.

                  Открыть панель отчетов можно по соответствующей команде из раздела программы.

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

                  diff --git a/SSL/src/CommonForms/ПанельОтчетов/Module.bsl b/SSL/src/CommonForms/ПанельОтчетов/Module.bsl index f1b8bab91..85c8166d0 100644 --- a/SSL/src/CommonForms/ПанельОтчетов/Module.bsl +++ b/SSL/src/CommonForms/ПанельОтчетов/Module.bsl @@ -9,10 +9,31 @@ КартинкаБыстрыйДоступ = БиблиотекаКартинок.БыстрыйДоступ; ЦветСкрытыхВариантов = ЦветаСтиля.СкрытыйВариантОтчетаЦвет; ЦветВидимыхВариантов = ЦветаСтиля.ВидимыйВариантОтчетаЦвет; - ЦветГруппыВариантовОтчетов = ЦветаСтиля.ГруппаВариантовОтчетовЦвет; ЦветПодсветкиНайденныхСлов = WebЦвета.Желтый; ЦветПодсказки = ЦветаСтиля.ПоясняющийТекст; - ШрифтЖирный = Новый Шрифт(, , Истина); + ШрифтВажнойНадписи = Новый Шрифт(, , Истина); + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.КоманднаяПанель.Ширина = 25; + Элементы.СтрокаПоиска.Ширина = 35; + ЦветГруппыВариантовОтчетов = ЦветаСтиля.ГруппаВариантовОтчетовЦвет82; + ЦветРаздела = ЦветГруппыВариантовОтчетов; + ШрифтВажнойГруппы = Новый Шрифт("MS Shell Dlg", 10, Истина, Ложь, Ложь, Ложь, 100); + ШрифтОбычнойГруппы = Новый Шрифт("MS Shell Dlg", 8, Истина, Ложь, Ложь, Ложь, 100); + ШрифтРаздела = Новый Шрифт("MS Shell Dlg", 12, Истина, Ложь, Ложь, Ложь, 100); + Иначе // Такси. + ЦветГруппыВариантовОтчетов = ЦветаСтиля.ГруппаВариантовОтчетовЦвет; + ЦветРаздела = ЦветГруппыВариантовОтчетов; + //ЦветРаздела = ЦветаСтиля.ЦветТекстаФормы; + ШрифтВажнойГруппы = Новый Шрифт("Arial", 12, Ложь, Ложь, Ложь, Ложь, 100); + ШрифтОбычнойГруппы = Новый Шрифт("Arial", 12, Ложь, Ложь, Ложь, Ложь, 90); + ШрифтРаздела = Новый Шрифт("Arial", 12, Истина, Ложь, Ложь, Ложь, 100); + КонецЕсли; + + Элементы.БыстрыйДоступШапкаНадпись.Шрифт = ШрифтВажнойГруппы; + Элементы.БыстрыйДоступШапкаНадпись.ЦветТекста = ЦветГруппыВариантовОтчетов; + Элементы.СмТакже.ШрифтЗаголовка = ШрифтВажнойГруппы; + Элементы.СмТакже.ЦветТекстаЗаголовка = ЦветГруппыВариантовОтчетов; ЗаполнитьИнформациюОПодсистемахИУстановитьЗаголовок(); @@ -92,9 +113,7 @@ Вариант = Найденные[0]; ПараметрыОткрытия = Новый Структура; - Если ЗначениеЗаполнено(Вариант.КлючВарианта) Тогда - ПараметрыОткрытия.Вставить("КлючВарианта", Вариант.КлючВарианта); - КонецЕсли; + ПараметрыОткрытия.Вставить("КлючВарианта", Вариант.КлючВарианта); ПараметрыОткрытия.Вставить("Раздел", ТекущийРазделСсылка); ПараметрыОткрытия.Вставить("Подсистема", Вариант.Подсистема); @@ -190,11 +209,6 @@ КонецЕсли; КонецПроцедуры -&НаКлиенте -Процедура ОтборАвторПриИзменении(Элемент) - ОбновитьПанельОтчетов(); -КонецПроцедуры - &НаКлиенте Процедура ИскатьВоВсехРазделахПриИзменении(Элемент) Если ЗначениеЗаполнено(СтрокаПоиска) Тогда @@ -293,7 +307,7 @@ КонецЕсли; Вариант = Найденные[0]; - ПоказатьЗначение(, Вариант.Ссылка); + ВариантыОтчетовКлиент.ПоказатьНастройкиОтчета(Вариант.Ссылка); КонецПроцедуры &НаКлиенте @@ -340,12 +354,11 @@ Процедура ПоказатьСкрытьВариант(Вариант, Элемент, Показать) Вариант.Видимость = Показать; Вариант.ИзмененПользователем = Истина; - Вариант.СвоиНастройки = Истина; Элемент.ЦветТекста = ?(Показать, ЦветВидимыхВариантов, ЦветСкрытыхВариантов); ЭтотОбъект["Флажок_"+ Вариант.НадписьИмя] = Показать; Если Вариант.Важный Тогда Если Показать Тогда - Элемент.Шрифт = ШрифтЖирный; + Элемент.Шрифт = ШрифтВажнойНадписи; Иначе Элемент.Шрифт = Новый Шрифт; КонецЕсли; @@ -361,7 +374,6 @@ // Регистрация результата для записи Вариант.БыстрыйДоступ = БыстрыйДоступ; Вариант.ИзмененПользователем = Истина; - Вариант.СвоиНастройки = Истина; // Связанное действие: если добавляемый в быстрый доступ вариант не видим - показываем его Если БыстрыйДоступ И Не Вариант.Видимость Тогда @@ -394,10 +406,10 @@ Элемент.Шрифт = Новый Шрифт; ГруппаДляПереноса = ПодгруппаСНаименьшимКоличествомЭлементов(Элементы.СмТакже); ИначеЕсли Вариант.БезГруппы Тогда - Элемент.Шрифт = ?(Вариант.Важный, ШрифтЖирный, Новый Шрифт); + Элемент.Шрифт = ?(Вариант.Важный, ШрифтВажнойНадписи, Новый Шрифт); ГруппаДляПереноса = ПодгруппаСНаименьшимКоличествомЭлементов(Элементы.БезГруппы); Иначе - Элемент.Шрифт = ?(Вариант.Важный, ШрифтЖирный, Новый Шрифт); + Элемент.Шрифт = ?(Вариант.Важный, ШрифтВажнойНадписи, Новый Шрифт); Найденные = ПодсистемыПрограммы.НайтиСтроки(Новый Структура("Ссылка", Вариант.Подсистема)); Подсистема = Найденные[0]; @@ -480,11 +492,10 @@ КонецЕсли; Элементы.ИскатьВоВсехРазделах.Видимость = Не РежимНастройки И ЗначениеЗаполнено(СтрокаПоиска); - Элементы.ОтборАвтор.Видимость = РежимНастройки; - Элементы.ГруппаПоказыватьПодсказки.Видимость = РежимНастройки; + Элементы.ПоказыватьПодсказки.Видимость = РежимНастройки; Элементы.БыстрыйДоступШапкаНадпись.ОтображениеПодсказки = ?(РежимНастройки, ОтображениеПодсказки.Кнопка, ОтображениеПодсказки.Нет); Элементы.РезультатыПоискаИзДругихРазделовГруппа.Видимость = (ИскатьВоВсехРазделах = 1); - Элементы.Настроить.Заголовок = ?(РежимНастройки, НСтр("ru = 'Вернуться к режиму просмотра'"), ""); + Элементы.Настроить.Пометка = РежимНастройки; // Заголовок. СуффиксРежимаНастройки = " (" + НСтр("ru = 'настройка'") + ")"; @@ -565,14 +576,15 @@ Возврат; КонецЕсли; Отбор = Новый Структура("ИзмененПользователем", Истина); - Колонки = "Ссылка, Подсистема, Видимость, БыстрыйДоступ"; - ИзмененныеНастройки = ДобавленныеВарианты.Выгрузить(Отбор, Колонки); - Если ИзмененныеНастройки.Количество() = 0 Тогда + + ПакетНастроек = ДобавленныеВарианты.Выгрузить(Отбор, "Ссылка, Подсистема, Видимость, БыстрыйДоступ"); + Если ПакетНастроек.Количество() = 0 Тогда Возврат; КонецЕсли; - ИзмененныеНастройки.Колонки.Ссылка.Имя = "Вариант"; - ИзмененныеНастройки.Колонки.Подсистема.Имя = "РазделИлиГруппа"; - РегистрыСведений.НастройкиВариантовОтчетов.СохранитьНастройкиПользователяВРазделе(ИзмененныеНастройки); + ПакетНастроек.Колонки.Ссылка.Имя = "Вариант"; + Измерения = Новый Структура("Пользователь", Пользователи.ТекущийПользователь()); + Ресурсы = Новый Структура; + РегистрыСведений.НастройкиВариантовОтчетов.ЗаписатьПакетНастроек(ПакетНастроек, Измерения, Ресурсы, Ложь); КонецПроцедуры &НаСервере @@ -636,6 +648,14 @@ КонецЦикла; КонецЦикла; + Если ТекущийРазделСсылка = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Раздел ""%1"" не подключен к подсистеме ""%2"". + |См. модуль ВариантыОтчетовПереопределяемый, процедуру ОпределитьРазделыСВариантамиОтчетов.'"), + Параметры.ПутьКПодсистеме, + ВариантыОтчетовКлиентСервер.НаименованиеПодсистемы(Неопределено)); + КонецЕсли; + КлючНазначенияИспользования = "Раздел_" + Строка(ТекущийРазделСсылка.УникальныйИдентификатор()); КонецПроцедуры @@ -712,7 +732,7 @@ ЗаголовокНадписи = СтрЗаменить(ЗаголовокНадписи, "%1", ПараметрыЗаполнения.ПределВывода); Надпись = Элементы.Вставить("ПределВыводаПревышен", Тип("ДекорацияФормы"), Элементы.РезультатыПоискаИзДругихРазделов); Надпись.Заголовок = ЗаголовокНадписи; - Надпись.Шрифт = ШрифтЖирный; + Надпись.Шрифт = ШрифтВажнойНадписи; Надпись.Высота = 2; КонецЕсли; КонецЕсли; @@ -807,13 +827,13 @@ ПараметрыЗаполнения.КонтекстноеМеню.Изменить = Новый Структура("Видимость", Истина); КонецЕсли; - ПараметрыЗаполнения.Вставить("ГруппыИнтерфейса", Новый Массив); - ПараметрыЗаполнения.ГруппыИнтерфейса.Добавить("БыстрыйДоступ"); - ПараметрыЗаполнения.ГруппыИнтерфейса.Добавить("БезГруппы"); - ПараметрыЗаполнения.ГруппыИнтерфейса.Добавить("СГруппой"); - ПараметрыЗаполнения.ГруппыИнтерфейса.Добавить("СмТакже"); + ПараметрыЗаполнения.Вставить("ГруппыВажности", Новый Массив); + ПараметрыЗаполнения.ГруппыВажности.Добавить("БыстрыйДоступ"); + ПараметрыЗаполнения.ГруппыВажности.Добавить("БезГруппы"); + ПараметрыЗаполнения.ГруппыВажности.Добавить("СГруппой"); + ПараметрыЗаполнения.ГруппыВажности.Добавить("СмТакже"); - Для Каждого ИмяГруппы Из ПараметрыЗаполнения.ГруппыИнтерфейса Цикл + Для Каждого ИмяГруппы Из ПараметрыЗаполнения.ГруппыВажности Цикл ПараметрыЗаполнения.Вставить(ИмяГруппы, Новый Структура("Отбор, Варианты, Количество")); КонецЦикла; @@ -841,32 +861,12 @@ |; | |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ - | ДобавленныеВарианты.Ссылка, - | ДобавленныеВарианты.Подсистема, - | ДобавленныеВарианты.Видимость, - | ДобавленныеВарианты.БыстрыйДоступ - |ПОМЕСТИТЬ втНастройки - |ИЗ - | &ДобавленныеВарианты КАК ДобавленныеВарианты - |ГДЕ - | ДобавленныеВарианты.ИзмененПользователем = ИСТИНА - |; - | - |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВариантыОтчетов.Ссылка, | ПредопределенныеРазмещение.Подсистема, | ПредопределенныеРазмещение.Важный, | ПредопределенныеРазмещение.СмТакже, | ВЫБОР - | КОГДА ВариантыОтчетов.Автор = &ТекущийПользователь - | ТОГДА ИСТИНА - | КОГДА ВариантыОтчетов.ВидимостьПоУмолчаниюПереопределена - | ТОГДА ВариантыОтчетов.ВидимостьПоУмолчанию - | ИНАЧЕ ПредопределенныеРазмещение.Ссылка.ВидимостьПоУмолчанию - | КОНЕЦ КАК ВидимостьПоУмолчанию, - | ВЫБОР | КОГДА ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" | ТОГДА ВЫРАЗИТЬ(ПредопределенныеРазмещение.Ссылка.Описание КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) @@ -875,7 +875,9 @@ | ВариантыОтчетов.Отчет, | ВариантыОтчетов.ТипОтчета, | ВариантыОтчетов.КлючВарианта, - | ВариантыОтчетов.Автор + | ВариантыОтчетов.Автор, + | ВариантыОтчетов.ВидимостьПоУмолчанию, + | ВариантыОтчетов.Родитель |ПОМЕСТИТЬ втПредопределенные |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов @@ -892,40 +894,34 @@ |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВариантыРазмещение.Ссылка, - | ВариантыРазмещение.РазделИлиГруппа, + | ВариантыРазмещение.Подсистема, | ВариантыРазмещение.Использование, | ВариантыРазмещение.Важный, | ВариантыРазмещение.СмТакже, | ВЫБОР - | КОГДА ВариантыРазмещение.Ссылка.Автор = &ТекущийПользователь - | ТОГДА ИСТИНА - | КОГДА ВариантыРазмещение.Ссылка.ВидимостьПоУмолчаниюПереопределена - | ИЛИ ВариантыРазмещение.Ссылка.Пользовательский - | ИЛИ ВариантыРазмещение.Ссылка.ПредопределенныйВариант = ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка) - | ТОГДА ВариантыРазмещение.Ссылка.ВидимостьПоУмолчанию - | ИНАЧЕ ВариантыРазмещение.Ссылка.ПредопределенныйВариант.ВидимостьПоУмолчанию - | КОНЕЦ КАК ВидимостьПоУмолчанию, - | ВЫБОР | КОГДА ПОДСТРОКА(ВариантыРазмещение.Ссылка.Описание, 1, 1) = """" | И НЕ ВариантыРазмещение.Ссылка.Пользовательский | ТОГДА ВЫРАЗИТЬ(ВариантыРазмещение.Ссылка.ПредопределенныйВариант.Описание КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ВариантыРазмещение.Ссылка.Описание КАК СТРОКА(1000)) | КОНЕЦ КАК Описание, + | ВариантыРазмещение.Ссылка.ТолькоДляАвтора, | ВариантыРазмещение.Ссылка.Наименование, | ВариантыРазмещение.Ссылка.Отчет, | ВариантыРазмещение.Ссылка.ТипОтчета, | ВариантыРазмещение.Ссылка.КлючВарианта, - | ВариантыРазмещение.Ссылка.Автор + | ВариантыРазмещение.Ссылка.Автор, + | ВариантыРазмещение.Ссылка.Родитель, + | ВариантыРазмещение.Ссылка.ВидимостьПоУмолчанию |ПОМЕСТИТЬ втВарианты |ИЗ | Справочник.ВариантыОтчетов.Размещение КАК ВариантыРазмещение |ГДЕ | (ВариантыРазмещение.Ссылка В (&ВариантыНайденныеПоиском) - | ИЛИ ВариантыРазмещение.РазделИлиГруппа В (&ПодсистемыНайденныеПоиском)) + | ИЛИ ВариантыРазмещение.Подсистема В (&ПодсистемыНайденныеПоиском)) | И (НЕ ВариантыРазмещение.Ссылка.ТолькоДляАвтора | ИЛИ ВариантыРазмещение.Ссылка.Автор = &ТекущийПользователь) | И ВариантыРазмещение.Ссылка.ПометкаУдаления = ЛОЖЬ - | И ВариантыРазмещение.РазделИлиГруппа В(&МассивПодсистем) + | И ВариантыРазмещение.Подсистема В(&МассивПодсистем) | И ВариантыРазмещение.Ссылка.Отчет В(&ОтчетыПользователя) | И НЕ ВариантыРазмещение.Ссылка.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы) |; @@ -933,7 +929,7 @@ |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | ЕСТЬNULL(втВарианты.Ссылка, втПредопределенные.Ссылка) КАК Ссылка, - | ЕСТЬNULL(втВарианты.РазделИлиГруппа, втПредопределенные.Подсистема) КАК Подсистема, + | ЕСТЬNULL(втВарианты.Подсистема, втПредопределенные.Подсистема) КАК Подсистема, | ЕСТЬNULL(втВарианты.Важный, втПредопределенные.Важный) КАК Важный, | ЕСТЬNULL(втВарианты.СмТакже, втПредопределенные.СмТакже) КАК СмТакже, | ЕСТЬNULL(втВарианты.Наименование, втПредопределенные.Наименование) КАК Наименование, @@ -942,13 +938,19 @@ | ЕСТЬNULL(втВарианты.Отчет, втПредопределенные.Отчет) КАК Отчет, | ЕСТЬNULL(втВарианты.ТипОтчета, втПредопределенные.ТипОтчета) КАК ТипОтчета, | ЕСТЬNULL(втВарианты.КлючВарианта, втПредопределенные.КлючВарианта) КАК КлючВарианта, - | ЕСТЬNULL(втВарианты.ВидимостьПоУмолчанию, втПредопределенные.ВидимостьПоУмолчанию) КАК ВидимостьПоУмолчанию + | ЕСТЬNULL(втВарианты.ВидимостьПоУмолчанию, втПредопределенные.ВидимостьПоУмолчанию) КАК ВидимостьПоУмолчанию, + | ЕСТЬNULL(втВарианты.Родитель, втПредопределенные.Родитель) КАК Родитель, + | ВЫБОР + | КОГДА ЕСТЬNULL(втВарианты.Родитель, втПредопределенные.Родитель) = ЗНАЧЕНИЕ(Справочник.ВариантыОтчетов.ПустаяСсылка) + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК ВерхнийУровень |ПОМЕСТИТЬ втВсеВарианты |ИЗ | втПредопределенные КАК втПредопределенные | ПОЛНОЕ СОЕДИНЕНИЕ втВарианты КАК втВарианты | ПО втПредопределенные.Ссылка = втВарианты.Ссылка - | И втПредопределенные.Подсистема = втВарианты.РазделИлиГруппа + | И втПредопределенные.Подсистема = втВарианты.Подсистема |ГДЕ | (втВарианты.Использование = ИСТИНА | ИЛИ втВарианты.Использование ЕСТЬ NULL ) @@ -974,14 +976,8 @@ | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Дополнительный, - | ВЫБОР - | КОГДА втНастройки.Видимость ЕСТЬ NULL - | И НастройкиВариантовОтчетов.Видимость ЕСТЬ NULL - | ТОГДА ЛОЖЬ - | ИНАЧЕ ИСТИНА - | КОНЕЦ КАК СвоиНастройки, - | ЕСТЬNULL(втНастройки.Видимость, ЕСТЬNULL(НастройкиВариантовОтчетов.Видимость, втВсеВарианты.ВидимостьПоУмолчанию)) КАК Видимость, - | ЕСТЬNULL(втНастройки.БыстрыйДоступ, ЕСТЬNULL(НастройкиВариантовОтчетов.БыстрыйДоступ, ЛОЖЬ)) КАК БыстрыйДоступ, + | ЕСТЬNULL(ЛичныеНастройки.Видимость, втВсеВарианты.ВидимостьПоУмолчанию) КАК Видимость, + | ЕСТЬNULL(ЛичныеНастройки.БыстрыйДоступ, ЛОЖЬ) КАК БыстрыйДоступ, | ВЫБОР | КОГДА втВсеВарианты.ТипОтчета = &ТипВнутренний | ТОГДА втВсеВарианты.Отчет.Имя @@ -994,20 +990,19 @@ | втВсеВарианты.Автор, | втВсеВарианты.Отчет, | втВсеВарианты.ТипОтчета, - | втВсеВарианты.КлючВарианта + | втВсеВарианты.КлючВарианта, + | втВсеВарианты.Родитель, + | втВсеВарианты.ВерхнийУровень КАК ВерхнийУровень |ИЗ | втВсеВарианты КАК втВсеВарианты | ЛЕВОЕ СОЕДИНЕНИЕ втПодсистемы КАК втПодсистемы | ПО втВсеВарианты.Подсистема = втПодсистемы.Подсистема - | ЛЕВОЕ СОЕДИНЕНИЕ втНастройки КАК втНастройки - | ПО втВсеВарианты.Ссылка = втНастройки.Ссылка - | И втВсеВарианты.Подсистема = втНастройки.Подсистема - | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК НастройкиВариантовОтчетов - | ПО втВсеВарианты.Подсистема = НастройкиВариантовОтчетов.РазделИлиГруппа - | И втВсеВарианты.Ссылка = НастройкиВариантовОтчетов.Вариант - | И (НастройкиВариантовОтчетов.Пользователь = &ТекущийПользователь) + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК ЛичныеНастройки + | ПО втВсеВарианты.Подсистема = ЛичныеНастройки.Подсистема + | И втВсеВарианты.Ссылка = ЛичныеНастройки.Вариант + | И (ЛичныеНастройки.Пользователь = &ТекущийПользователь) |ГДЕ - | ЕСТЬNULL(втНастройки.Видимость, ЕСТЬNULL(НастройкиВариантовОтчетов.Видимость, втВсеВарианты.ВидимостьПоУмолчанию)) + | ЕСТЬNULL(ЛичныеНастройки.Видимость, втВсеВарианты.ВидимостьПоУмолчанию) | |УПОРЯДОЧИТЬ ПО | ПодсистемаПриоритет, @@ -1027,9 +1022,6 @@ Если ИспользоватьПодсветку Тогда ПараметрыПоиска.Вставить("СтрокаПоиска", СтрокаПоиска); КонецЕсли; - Если РежимНастройки И ЗначениеЗаполнено(ОтборАвтор) Тогда - ПараметрыПоиска.Вставить("Автор", ОтборАвтор); - КонецЕсли; Если ТолькоТекущийРаздел Тогда ПараметрыПоиска.Вставить("Подсистемы", МассивПодсистем); КонецЕсли; @@ -1040,7 +1032,6 @@ Запрос.УстановитьПараметр("МассивПодсистем", МассивПодсистем); Запрос.УстановитьПараметр("ТаблицаПодсистем", ТаблицаПодсистем); Запрос.УстановитьПараметр("РазделСсылка", ТекущийРазделСсылка); - Запрос.УстановитьПараметр("ДобавленныеВарианты", ДобавленныеВарианты.Выгрузить(, "Ссылка, Подсистема, Видимость, БыстрыйДоступ, ИзмененПользователем")); Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.ТекущийПользователь()); Запрос.УстановитьПараметр("ТипВнутренний", Перечисления.ТипыОтчетов.Внутренний); Запрос.УстановитьПараметр("ТипДополнительный", Перечисления.ТипыОтчетов.Дополнительный); @@ -1058,7 +1049,7 @@ Запрос.Текст = СтрЗаменить( Запрос.Текст, "(ВариантыРазмещение.Ссылка В (&ВариантыНайденныеПоиском) - | ИЛИ ВариантыРазмещение.РазделИлиГруппа В (&ПодсистемыНайденныеПоиском))", + | ИЛИ ВариантыРазмещение.Подсистема В (&ПодсистемыНайденныеПоиском))", "ВариантыРазмещение.Ссылка В (&ВариантыНайденныеПоиском)"); Запрос.Текст = СтрЗаменить( Запрос.Текст, @@ -1075,14 +1066,16 @@ КонецЕсли; Если РежимНастройки Или ИспользоватьПодсветку Тогда - Запрос.Текст = СтрЗаменить(Запрос.Текст, + УдаляемыйФрагмент = "ГДЕ - | ЕСТЬNULL(втНастройки.Видимость, ЕСТЬNULL(НастройкиВариантовОтчетов.Видимость, втВсеВарианты.ВидимостьПоУмолчанию))", - ""); + | ЕСТЬNULL(ЛичныеНастройки.Видимость, втВсеВарианты.ВидимостьПоУмолчанию)"; + Запрос.Текст = СтрЗаменить(Запрос.Текст, УдаляемыйФрагмент, ""); КонецЕсли; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; ТаблицаРезультат = Запрос.Выполнить().Выгрузить(); + ТаблицаРезультат.Колонки.Добавить("ВыводитсяВместеСОсновным", Новый ОписаниеТипов("Булево")); + ТаблицаРезультат.Колонки.Добавить("КоличествоПодчиненных", Новый ОписаниеТипов("Число")); Если ИспользоватьПодсветку Тогда Для Каждого КлючИЗначение Из РезультатПоиска.ВариантыСвязанныеСПодсистемами Цикл @@ -1134,12 +1127,13 @@ Если ПараметрыЗаполнения.ВариантыКоличество = 0 Тогда // Вывод надписи, поясняющей почему нет вариантов (только для текущего раздела). Если ПараметрыЗаполнения.ВыводятсяВариантыТекущегоРаздела Тогда - Надпись = Элементы.Вставить("СписокОтчетовПуст", Тип("ДекорацияФормы"), Элементы.БыстрыйДоступКолонка1); - Если ЗначениеЗаполнено(СтрокаПоиска) Или ЗначениеЗаполнено(ОтборАвтор) Тогда + Надпись = Элементы.Вставить("СписокОтчетовПуст", Тип("ДекорацияФормы"), Элементы.БезГруппыКолонка1); + Если ЗначениеЗаполнено(СтрокаПоиска) Тогда Если ПараметрыЗаполнения.ТолькоТекущийРаздел Тогда Надпись.Заголовок = НСтр("ru = 'Отчеты не найдены.'"); Иначе Надпись.Заголовок = НСтр("ru = 'Отчеты в текущем разделе не найдены.'"); + Надпись.Высота = 2; КонецЕсли; Иначе Надпись.Заголовок = НСтр("ru = 'В панели отчетов этого раздела не размещено ни одного отчета.'"); @@ -1161,8 +1155,8 @@ КонецЕсли; ПодсистемыРаздела.Сортировать("Приоритет ВОЗР"); // Сортировка по иерархии - ПараметрыЗаполнения.Вставить("РазделСсылка", РазделСсылка); - ПараметрыЗаполнения.Вставить("ПодсистемыРаздела", ПодсистемыРаздела); + ПараметрыЗаполнения.Вставить("РазделСсылка", РазделСсылка); + ПараметрыЗаполнения.Вставить("ПодсистемыРаздела", ПодсистемыРаздела); ОпределитьГруппыИДекорацииДляВыводаВариантов(ПараметрыЗаполнения); @@ -1172,7 +1166,7 @@ Возврат; КонецЕсли; - Для Каждого ИмяГруппы Из ПараметрыЗаполнения.ГруппыИнтерфейса Цикл + Для Каждого ИмяГруппы Из ПараметрыЗаполнения.ГруппыВажности Цикл ПараметрыГруппы = ПараметрыЗаполнения[ИмяГруппы]; Если ПараметрыЗаполнения.ОсталосьВывести <= 0 Тогда ПараметрыГруппы.Варианты = Новый Массив; @@ -1206,11 +1200,11 @@ КонецЕсли; ПараметрыЗаполнения.ИмяГруппы = ИмяГруппы; - Если ИмяГруппы = "СГруппой" Тогда + //Если ИмяГруппы = "СГруппой" Тогда ВывестиВариантыСГруппой(ПараметрыЗаполнения); - Иначе - ВывестиВариантыБезГруппы(ПараметрыЗаполнения); - КонецЕсли; + //Иначе + // ВывестиВариантыБезГруппы(ПараметрыЗаполнения); + //КонецЕсли; КонецЦикла; ЕстьБыстрыйДоступ = (ПараметрыЗаполнения.БыстрыйДоступ.Количество > 0); @@ -1282,8 +1276,8 @@ ЗаголовокРаздела = ГруппаРаздела.РасширеннаяПодсказка; ЗаголовокРаздела.Заголовок = РазделЗаголовок; - ЗаголовокРаздела.Шрифт = Новый Шрифт(ШрифтЖирный, , 10); - ЗаголовокРаздела.ЦветТекста = ЦветГруппыВариантовОтчетов; + ЗаголовокРаздела.Шрифт = ШрифтРаздела; + ЗаголовокРаздела.ЦветТекста = ЦветРаздела; ЗаголовокРаздела.Высота = 2; ЗаголовокРаздела.Гиперссылка = Истина; ЗаголовокРаздела.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; @@ -1304,7 +1298,7 @@ СкопироватьЭлемент(ПараметрыЗаполнения.Префикс, ГруппаРаздела, "Колонки", 2); Элементы.Удалить(Элементы[ПараметрыЗаполнения.Префикс + "БыстрыйДоступПодсказкаКогдаНеНастроен"]); - Элементы[ПараметрыЗаполнения.Префикс + "БыстрыйДоступШапкаНадпись"].РасширеннаяПодсказка.Заголовок = ""; + Элементы[ПараметрыЗаполнения.Префикс + "БыстрыйДоступШапка"].РасширеннаяПодсказка.Заголовок = ""; КонецПроцедуры &НаСервере @@ -1331,63 +1325,6 @@ Возврат НовыйЭлемент; КонецФункции -&НаСервере -Процедура ВывестиВариантыБезГруппы(ПараметрыЗаполнения) - ПараметрыГруппы = ПараметрыЗаполнения[ПараметрыЗаполнения.ИмяГруппы]; - Варианты = ПараметрыГруппы.Варианты; - КоличествоВариантов = ПараметрыГруппы.Количество; - - // Базовые свойства группы 2 уровня - ГруппаУровня2 = Элементы.Найти(ПараметрыЗаполнения.Префикс + ПараметрыЗаполнения.ИмяГруппы); - ВБыстрыйДоступ = (ПараметрыЗаполнения.ИмяГруппы = "БыстрыйДоступ"); - ВКореньПодсистемы = (ПараметрыЗаполнения.ИмяГруппы = "БезГруппы"); - - Если РежимНастройки Тогда - ПараметрыЗаполнения.КонтекстноеМеню.УбратьИзБыстрогоДоступа.Видимость = ВБыстрыйДоступ; - ПараметрыЗаполнения.КонтекстноеМеню.ПереместитьВБыстрыйДоступ.Видимость = Не ВБыстрыйДоступ; - КонецЕсли; - - // Сортировка вариантов - Если ВКореньПодсистемы Тогда - Варианты.Сортировать("Важный УБЫВ, Наименование ВОЗР"); // Есть важные - Иначе - Варианты.Сортировать("Наименование ВОЗР"); // Нет важных - КонецЕсли; - - // Переменные для поддержки динамики групп 3 уровня - КоличествоКолонок = ГруппаУровня2.ПодчиненныеЭлементы.Количество(); - ГруппаУровня3Отсечка = Цел(КоличествоВариантов / КоличествоКолонок); // Количество вариантов для вывода в одной колонке - ГруппаУровня3Добавка = КоличествоВариантов - ГруппаУровня3Отсечка * КоличествоКолонок; // Остаток распределения вариантов по колонкам - - ГруппаУровня3Индекс = 0; // Индекс текущей колонки - ГруппаУровня3НомерЭлемента = 0; // Номер текущего варианта в текущей колонке - ГруппаУровня3 = ГруппаУровня2.ПодчиненныеЭлементы.Получить(ГруппаУровня3Индекс); // Текущая колонка - - ДобавляемыеРеквизиты = Новый Массив; - Для Каждого Вариант Из Варианты Цикл - ГруппаУровня3НомерЭлемента = ГруппаУровня3НомерЭлемента + 1; - - // Переход к следующей группе верхнего уровня - Если ГруппаУровня3НомерЭлемента > ГруппаУровня3Отсечка + ?(ГруппаУровня3Добавка > 0, 1, 0) Тогда - ГруппаУровня3НомерЭлемента = 1; - ГруппаУровня3Индекс = ГруппаУровня3Индекс + 1; - ГруппаУровня3 = ГруппаУровня2.ПодчиненныеЭлементы.Получить(ГруппаУровня3Индекс); - ГруппаУровня3Добавка = ГруппаУровня3Добавка - 1; - КонецЕсли; - - ДобавитьЭлементыВариантаОтчета(ПараметрыЗаполнения, Вариант, ГруппаУровня3); - - КонецЦикла; - - Если КоличествоВариантов > 1 И КоличествоВариантов < КоличествоКолонок Тогда - Для ГруппаУровня3Индекс = КоличествоВариантов По КоличествоКолонок - 1 Цикл - ГруппаУровня3 = ГруппаУровня2.ПодчиненныеЭлементы.Получить(ГруппаУровня3Индекс); - ДобавитьПустуюДекорацию(ПараметрыЗаполнения, ГруппаУровня3); - КонецЦикла; - КонецЕсли; - -КонецПроцедуры - &НаСервере Процедура ВывестиВариантыСГруппой(ПараметрыЗаполнения) ПараметрыГруппы = ПараметрыЗаполнения[ПараметрыЗаполнения.ИмяГруппы]; @@ -1401,8 +1338,28 @@ ГруппаУровня2Имя = ПараметрыЗаполнения.ИмяГруппы; ГруппаУровня2 = Элементы.Найти(ПараметрыЗаполнения.Префикс + ГруппаУровня2Имя); + ВыводБезГрупп = (ГруппаУровня2Имя = "БыстрыйДоступ" Или ГруппаУровня2Имя = "СмТакже"); + // Сортировка вариантов - Варианты.Сортировать("ПодсистемаПриоритет ВОЗР, Важный УБЫВ, Наименование ВОЗР"); // Есть группы и важные + Варианты.Сортировать("ПодсистемаПриоритет ВОЗР, Важный УБЫВ, Наименование ВОЗР"); // Есть группы и важные // ВерхнийУровень УБЫВ, + НайденныеРодители = Варианты.НайтиСтроки(Новый Структура("ВерхнийУровень", Истина)); + Для Каждого ВариантРодитель Из НайденныеРодители Цикл + НайденныеПодчиненные = Варианты.НайтиСтроки(Новый Структура("Родитель, Подсистема", ВариантРодитель.Ссылка, ВариантРодитель.Подсистема)); + ТекущийИндекс = Варианты.Индекс(ВариантРодитель); + Для Каждого ВариантПодчиненный Из НайденныеПодчиненные Цикл + ВариантРодитель.КоличествоПодчиненных = ВариантРодитель.КоличествоПодчиненных + 1; + ВариантПодчиненный.ВыводитсяВместеСОсновным = Истина; + ИндексПодчиненного = Варианты.Индекс(ВариантПодчиненный); + Если ИндексПодчиненного < ТекущийИндекс Тогда + Варианты.Сдвинуть(ИндексПодчиненного, ТекущийИндекс - ИндексПодчиненного); + ИначеЕсли ИндексПодчиненного = ТекущийИндекс Тогда + ТекущийИндекс = ТекущийИндекс + 1; + Иначе + Варианты.Сдвинуть(ИндексПодчиненного, ТекущийИндекс - ИндексПодчиненного + 1); + ТекущийИндекс = ТекущийИндекс + 1; + КонецЕсли; + КонецЦикла; + КонецЦикла; // Моделирование распределения вариантов с учетом вложенности подсистем ДеревоРаспределения = Новый ДеревоЗначений; @@ -1415,6 +1372,7 @@ ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПодсистем", Новый ОписаниеТипов("Число")); ДеревоРаспределения.Колонки.Добавить("ВсегоВложенныхПустыхСтрок", Новый ОписаниеТипов("Число")); ДеревоРаспределения.Колонки.Добавить("УровеньВложенности", Новый ОписаниеТипов("Число")); + ДеревоРаспределения.Колонки.Добавить("ВерхнийУровень", Новый ОписаниеТипов("Булево")); МаксимальныйУровеньВложенности = 0; ТекущаяПодсистема = Неопределено; @@ -1430,7 +1388,16 @@ СтрокаДерева.Подсистема = Подсистема; СтрокаДерева.ПодсистемаСсылка = Подсистема.Ссылка; - СтрокаДерева.Варианты = Варианты.НайтиСтроки(Новый Структура("Подсистема", Подсистема.Ссылка)); + + Если ВыводБезГрупп Тогда + Если Подсистема.Ссылка = ПараметрыЗаполнения.РазделСсылка Тогда + Для Каждого Вариант Из Варианты Цикл + СтрокаДерева.Варианты.Добавить(Вариант); + КонецЦикла; + КонецЕсли; + Иначе + СтрокаДерева.Варианты = Варианты.НайтиСтроки(Новый Структура("Подсистема", Подсистема.Ссылка)); + КонецЕсли; СтрокаДерева.КоличествоВариантов = СтрокаДерева.Варианты.Количество(); ЕстьВарианты = СтрокаДерева.КоличествоВариантов > 0; @@ -1460,14 +1427,16 @@ ДеревоРаспределения.Колонки.Добавить("ГруппаФормы"); ДеревоРаспределения.Колонки.Добавить("НачатВывод", Новый ОписаниеТипов("Булево")); КорневаяСтрока = ДеревоРаспределения.Строки[0]; - КоличествоСтрок = КорневаяСтрока.ВсегоВложенныхВариантов + КорневаяСтрока.ВсегоВложенныхПодсистем + Макс(КорневаяСтрока.ВсегоВложенныхПустыхСтрок - 2, 0); + КоличествоСтрок = КорневаяСтрока.КоличествоВариантов + КорневаяСтрока.ВсегоВложенныхВариантов + КорневаяСтрока.ВсегоВложенныхПодсистем + Макс(КорневаяСтрока.ВсегоВложенныхПустыхСтрок - 2, 0); // Переменные для поддержки динамики групп 3 уровня КоличествоКолонок = ГруппаУровня2.ПодчиненныеЭлементы.Количество(); - Если КоличествоКолонок > 1 И КорневаяСтрока.ВсегоВложенныхВариантов <= 5 Тогда - КоличествоКолонок = 1; - ИначеЕсли КоличествоКолонок > 2 И КорневаяСтрока.ВсегоВложенныхВариантов <= 10 Тогда - КоличествоКолонок = 2; + Если КорневаяСтрока.КоличествоВариантов = 0 Тогда + Если КоличествоКолонок > 1 И КорневаяСтрока.ВсегоВложенныхВариантов <= 5 Тогда + КоличествоКолонок = 1; + ИначеЕсли КоличествоКолонок > 2 И КорневаяСтрока.ВсегоВложенныхВариантов <= 10 Тогда + КоличествоКолонок = 2; + КонецЕсли; КонецЕсли; ГруппаУровня3Отсечка = Макс(Цел(КоличествоСтрок / КоличествоКолонок), 2); // Количество вариантов для вывода в одной колонке @@ -1492,14 +1461,10 @@ Рекурсия.Вставить("ГруппаУровня3Отсечка", ГруппаУровня3Отсечка); Рекурсия.Вставить("НомерТекущейКолонки", 1); Рекурсия.Вставить("ЭтоПоследняяКолонка", Рекурсия.НомерТекущейКолонки = Рекурсия.КоличествоКолонок Или КоличествоСтрок <= 6); - Рекурсия.Вставить("СвободноСтрок", ГруппаУровня3Отсечка);// + ?(ГруппаУровня3Добавка > 0, 1, 0); + Рекурсия.Вставить("СвободноСтрок", ГруппаУровня3Отсечка); Рекурсия.Вставить("НачатВыводВТекущейКолонке", Ложь); - ПараметрыЗаполнения.Вставить("Рекурсия", Рекурсия); - //ПараметрыЗаполнения.Вставить("ВариантыСГруппой", Варианты); - - // Заполнение порядка вывода по данным дерева распределения. - ЗаполнитьПорядокВывода(ПорядокВывода, КорневаяСтрока, ПараметрыЗаполнения); + ЗаполнитьПорядокВывода(ПорядокВывода, Неопределено, КорневаяСтрока, Рекурсия, ПараметрыЗаполнения); // Вывод в форму НомерТекущейКолонки = 0; @@ -1515,20 +1480,31 @@ Если СтрокаПорядкаВывода.ЭтоПодсистема Тогда - ТекущийУровеньВложенности = СтрокаПорядкаВывода.УровеньВложенности; - ВГруппу = ТекущиеГруппыПоУровнямВложенности.Получить(СтрокаПорядкаВывода.УровеньВложенности - 1); - ТекущаяГруппа = ДобавитьГруппуПодсистемы(ПараметрыЗаполнения, СтрокаПорядкаВывода, ВГруппу); - ТекущиеГруппыПоУровнямВложенности.Вставить(ТекущийУровеньВложенности, ТекущаяГруппа); + Если СтрокаПорядкаВывода.ПодсистемаСсылка = ПараметрыЗаполнения.РазделСсылка Тогда + ТекущийУровеньВложенности = 0; + ТекущаяГруппа = ТекущиеГруппыПоУровнямВложенности.Получить(0); + Иначе + ТекущийУровеньВложенности = СтрокаПорядкаВывода.УровеньВложенности; + ВГруппу = ТекущиеГруппыПоУровнямВложенности.Получить(СтрокаПорядкаВывода.УровеньВложенности - 1); + ТекущаяГруппа = ДобавитьГруппуПодсистемы(ПараметрыЗаполнения, СтрокаПорядкаВывода, ВГруппу); + ТекущиеГруппыПоУровнямВложенности.Вставить(ТекущийУровеньВложенности, ТекущаяГруппа); + КонецЕсли; ИначеЕсли СтрокаПорядкаВывода.ЭтоВариант Тогда - Если ТекущийУровеньВложенности > СтрокаПорядкаВывода.УровеньВложенности Тогда + Если ТекущийУровеньВложенности <> СтрокаПорядкаВывода.УровеньВложенности Тогда ТекущийУровеньВложенности = СтрокаПорядкаВывода.УровеньВложенности; ТекущаяГруппа = ТекущиеГруппыПоУровнямВложенности.Получить(ТекущийУровеньВложенности); КонецЕсли; ДобавитьЭлементыВариантаОтчета(ПараметрыЗаполнения, СтрокаПорядкаВывода.Вариант, ТекущаяГруппа, СтрокаПорядкаВывода.УровеньВложенности); + Если СтрокаПорядкаВывода.Вариант.КоличествоПодчиненных > 0 Тогда + ТекущийУровеньВложенности = ТекущийУровеньВложенности + 1; + ТекущаяГруппа = ДобавитьГруппуСОтступом(ПараметрыЗаполнения, СтрокаПорядкаВывода, ТекущаяГруппа); + ТекущиеГруппыПоУровнямВложенности.Вставить(ТекущийУровеньВложенности, ТекущаяГруппа); + КонецЕсли; + ИначеЕсли СтрокаПорядкаВывода.ЭтоПустаяСтрока Тогда ВГруппу = ТекущиеГруппыПоУровнямВложенности.Получить(СтрокаПорядкаВывода.УровеньВложенности - 1); @@ -1549,128 +1525,117 @@ КонецПроцедуры &НаСервере -Процедура ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаРодителя, ПараметрыЗаполнения) +Процедура ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаРодителя, СтрокаДерева, Рекурсия, ПараметрыЗаполнения) - Рекурсия = ПараметрыЗаполнения.Рекурсия; + Если Не Рекурсия.ЭтоПоследняяКолонка И Рекурсия.СвободноСтрок <= 0 Тогда // текущая колонка исчерпана + // Переход к новой колонке. + Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; // Пустая группа, которую не надо выводить. + Рекурсия.НомерТекущейКолонки = Рекурсия.НомерТекущейКолонки + 1; + Рекурсия.ЭтоПоследняяКолонка = (Рекурсия.НомерТекущейКолонки = Рекурсия.КоличествоКолонок); + СвободноКолонок = Рекурсия.КоличествоКолонок - Рекурсия.НомерТекущейКолонки + 1; + Рекурсия.ГруппаУровня3Отсечка = Макс(Цел(Рекурсия.ВсегоОсталосьВывести / СвободноКолонок), 2); // Количество вариантов для вывода в одной колонке + Рекурсия.СвободноСтрок = Рекурсия.ГруппаУровня3Отсечка; // Количество вариантов для вывода в одной колонке + + // Вывод иерархии / Повтор иерархии с добавкой "(продолжение)" если вывод строк текущего родителя уже был начат в предыдущей колонке. + ТекущийРодитель = СтрокаРодителя; + Пока ТекущийРодитель <> Неопределено И ТекущийРодитель.ПодсистемаСсылка <> ПараметрыЗаполнения.РазделСсылка Цикл + + // Рекурсия.ВсегоОсталосьВывести при этом не уменьшается, т.к. вывод продолжения увеличивает количество строк. + ВывестиПодсистему = ПорядокВывода.Добавить(); + ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; + ВывестиПодсистему.ЭтоПодсистема = Истина; + ВывестиПодсистему.ЭтоПродолжение = СтрокаРодителя.НачатВывод; + ВывестиПодсистему.СтрокаДерева = СтрокаДерева; + ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; + ЗаполнитьЗначенияСвойств(ВывестиПодсистему, ТекущийРодитель, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); + + ТекущийРодитель = ТекущийРодитель.Родитель; + КонецЦикла; + + Рекурсия.НачатВыводВТекущейКолонке = Ложь; + + КонецЕсли; - Для Каждого СтрокаДерева Из СтрокаРодителя.Строки Цикл + Если (СтрокаДерева.КоличествоВариантов > 0 Или СтрокаДерева.ВсегоВложенныхВариантов > 0) И Рекурсия.НачатВыводВТекущейКолонке И СтрокаРодителя.НачатВывод Тогда + // Вывод пустой строки. + Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; + ВывестиПустуюСтроку = ПорядокВывода.Добавить(); + ВывестиПустуюСтроку.НомерКолонки = Рекурсия.НомерТекущейКолонки; + ВывестиПустуюСтроку.ЭтоПустаяСтрока = Истина; + ВывестиПустуюСтроку.СтрокаДерева = СтрокаДерева; + ВывестиПустуюСтроку.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; + ЗаполнитьЗначенияСвойств(ВывестиПустуюСтроку, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - Если Не Рекурсия.ЭтоПоследняяКолонка И Рекурсия.СвободноСтрок <= 0 Тогда // текущая колонка исчерпана - // Переход к новой колонке. - Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; // Пустая группа, которую не надо выводить. - Рекурсия.НомерТекущейКолонки = Рекурсия.НомерТекущейКолонки + 1; - Рекурсия.ЭтоПоследняяКолонка = (Рекурсия.НомерТекущейКолонки = Рекурсия.КоличествоКолонок); - СвободноКолонок = Рекурсия.КоличествоКолонок - Рекурсия.НомерТекущейКолонки + 1; - Рекурсия.ГруппаУровня3Отсечка = Макс(Цел(Рекурсия.ВсегоОсталосьВывести / СвободноКолонок), 2); // Количество вариантов для вывода в одной колонке - Рекурсия.СвободноСтрок = Рекурсия.ГруппаУровня3Отсечка; // Количество вариантов для вывода в одной колонке - - // Вывод иерархии / Повтор иерархии с добавкой "(продолжение)" если вывод строк текущего родителя уже был начат в предыдущей колонке. - ТекущийРодитель = СтрокаРодителя; - Пока ТекущийРодитель.ПодсистемаСсылка <> ПараметрыЗаполнения.РазделСсылка Цикл - - // Рекурсия.ВсегоОсталосьВывести при этом не уменьшается, т.к. вывод продолжения увеличивает количество строк. - ВывестиПодсистему = ПорядокВывода.Добавить(); - ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; - ВывестиПодсистему.ЭтоПодсистема = Истина; - ВывестиПодсистему.ЭтоПродолжение = СтрокаРодителя.НачатВывод; - ВывестиПодсистему.СтрокаДерева = СтрокаДерева; - ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; - ЗаполнитьЗначенияСвойств(ВывестиПодсистему, ТекущийРодитель, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - - ТекущийРодитель = ТекущийРодитель.Родитель; - КонецЦикла; - - Рекурсия.НачатВыводВТекущейКолонке = Ложь; - - КонецЕсли; - - Если (СтрокаДерева.КоличествоВариантов > 0 Или СтрокаДерева.ВсегоВложенныхВариантов > 0) И Рекурсия.НачатВыводВТекущейКолонке И СтрокаРодителя.НачатВывод Тогда - // Вывод пустой строки. - Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; - ВывестиПустуюСтроку = ПорядокВывода.Добавить(); - ВывестиПустуюСтроку.НомерКолонки = Рекурсия.НомерТекущейКолонки; - ВывестиПустуюСтроку.ЭтоПустаяСтрока = Истина; - ВывестиПустуюСтроку.СтрокаДерева = СтрокаДерева; - ВывестиПустуюСтроку.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; - ЗаполнитьЗначенияСвойств(ВывестиПустуюСтроку, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - - // Учет строк, занятых пустой строкой - Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; - КонецЕсли; - - // Вывод группы. + // Учет строк, занятых пустой строкой + Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; + КонецЕсли; + + // Вывод группы. + Если СтрокаРодителя <> Неопределено Тогда ВывестиПодсистему = ПорядокВывода.Добавить(); ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; ВывестиПодсистему.ЭтоПодсистема = Истина; ВывестиПодсистему.СтрокаДерева = СтрокаДерева; ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; ЗаполнитьЗначенияСвойств(ВывестиПодсистему, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); + КонецЕсли; + + Если СтрокаДерева.КоличествоВариантов > 0 Тогда - Если СтрокаДерева.КоличествоВариантов > 0 Тогда + // Учет строки, занятой группой. + Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; + Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; + + СтрокаДерева.НачатВывод = Истина; + Рекурсия.НачатВыводВТекущейКолонке = Истина; + + Если Рекурсия.ЭтоПоследняяКолонка + Или СтрокаРодителя <> Неопределено + И (СтрокаДерева.КоличествоВариантов <= 5 + Или СтрокаДерева.КоличествоВариантов - 2 <= Рекурсия.СвободноСтрок + 2) Тогда - // Учет строки, занятой группой. - Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; - Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; + // Вывод всех в текущую колонку. + ВозможноПродолжение = Ложь; + КоличествоВТекущуюКолонку = СтрокаДерева.КоличествоВариантов; - СтрокаДерева.НачатВывод = Истина; - Рекурсия.НачатВыводВТекущейКолонке = Истина; + Иначе - Если Рекурсия.ЭтоПоследняяКолонка - Или СтрокаДерева.КоличествоВариантов <= 5 - Или СтрокаДерева.КоличествоВариантов - 2 <= Рекурсия.СвободноСтрок + 2 Тогда - - // Вывод всех в текущую колонку. - НачалоСПродолжением = Ложь; - КоличествоВТекущуюКолонку = СтрокаДерева.КоличествоВариантов; - - Иначе - - // Частичный вывод в текущую колонку с продолжением в следующей. - НачалоСПродолжением = Истина; - КоличествоВТекущуюКолонку = Макс(Рекурсия.СвободноСтрок + 2, 3); - - КонецЕсли; + // Частичный вывод в текущую колонку с продолжением в следующей. + ВозможноПродолжение = Истина; + КоличествоВТекущуюКолонку = Макс(Рекурсия.СвободноСтрок + 2, 3); - // Регистрация вариантов в текущей колонке / Довывод вариантов в новой колонке. - ВариантовВыведено = 0; - Для Каждого Вариант Из СтрокаДерева.Варианты Цикл - // СтрокаДерева.Варианты - это результат поиска по таблице значений. - // Код рассчитан на то, что сортировка результата поиска не отличается от сортировки строк. - // Если это не так, то исходную таблицу необходимо скопировать - // с фильтром по подсистеме и отсортировать по наименованию. + КонецЕсли; + + // Регистрация вариантов в текущей колонке / Довывод вариантов в новой колонке. + ВариантовВыведено = 0; + Для Каждого Вариант Из СтрокаДерева.Варианты Цикл + // СтрокаДерева.Варианты - это результат поиска по таблице значений. + // Код рассчитан на то, что сортировка результата поиска не отличается от сортировки строк. + // Если это не так, то исходную таблицу необходимо скопировать + // с фильтром по подсистеме и отсортировать по наименованию. + + Если ВозможноПродолжение + И Не Рекурсия.ЭтоПоследняяКолонка + И Не Вариант.ВыводитсяВместеСОсновным + И ВариантовВыведено >= КоличествоВТекущуюКолонку Тогда + // Переход к новой колонке. + Рекурсия.НомерТекущейКолонки = Рекурсия.НомерТекущейКолонки + 1; + Рекурсия.ЭтоПоследняяКолонка = (Рекурсия.НомерТекущейКолонки = Рекурсия.КоличествоКолонок); + СвободноКолонок = Рекурсия.КоличествоКолонок - Рекурсия.НомерТекущейКолонки + 1; + Рекурсия.ГруппаУровня3Отсечка = Макс(Цел(Рекурсия.ВсегоОсталосьВывести / СвободноКолонок), 2); // Количество вариантов для вывода в одной колонке + Рекурсия.СвободноСтрок = Рекурсия.ГруппаУровня3Отсечка; // Количество вариантов для вывода в одной колонке - Если НачалоСПродолжением И ВариантовВыведено = КоличествоВТекущуюКолонку Тогда - // Переход к новой колонке. - Рекурсия.НомерТекущейКолонки = Рекурсия.НомерТекущейКолонки + 1; - Рекурсия.ЭтоПоследняяКолонка = (Рекурсия.НомерТекущейКолонки = Рекурсия.КоличествоКолонок); - СвободноКолонок = Рекурсия.КоличествоКолонок - Рекурсия.НомерТекущейКолонки + 1; - Рекурсия.ГруппаУровня3Отсечка = Макс(Цел(Рекурсия.ВсегоОсталосьВывести / СвободноКолонок), 2); // Количество вариантов для вывода в одной колонке - Рекурсия.СвободноСтрок = Рекурсия.ГруппаУровня3Отсечка; // Количество вариантов для вывода в одной колонке + Если Рекурсия.ЭтоПоследняяКолонка Тогда + КоличествоВТекущуюКолонку = -1; + Иначе + КоличествоВТекущуюКолонку = Макс(Мин(Рекурсия.СвободноСтрок, СтрокаДерева.КоличествоВариантов - ВариантовВыведено), 3); + КонецЕсли; + ВариантовВыведено = 0; + + // Повтор иерархии с добавкой "(продолжение)". + ТекущийРодитель = СтрокаРодителя; + Пока ТекущийРодитель <> Неопределено И ТекущийРодитель.ПодсистемаСсылка <> ПараметрыЗаполнения.РазделСсылка Цикл - Если Рекурсия.ЭтоПоследняяКолонка Тогда - КоличествоВТекущуюКолонку = -1; - Иначе - КоличествоВТекущуюКолонку = Макс(Мин(Рекурсия.СвободноСтрок, СтрокаДерева.КоличествоВариантов - ВариантовВыведено), 3); - КонецЕсли; - ВариантовВыведено = 0; - - // Повтор иерархии с добавкой "(продолжение)". - ТекущийРодитель = СтрокаРодителя; - Пока ТекущийРодитель.ПодсистемаСсылка <> ПараметрыЗаполнения.РазделСсылка Цикл - - // Рекурсия.ВсегоОсталосьВывести при этом не уменьшается, т.к. вывод продолжения увеличивает количество строк. - ВывестиПодсистему = ПорядокВывода.Добавить(); - ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; - ВывестиПодсистему.ЭтоПодсистема = Истина; - ВывестиПодсистему.ЭтоПродолжение = Истина; - ВывестиПодсистему.СтрокаДерева = СтрокаДерева; - ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; - ЗаполнитьЗначенияСвойств(ВывестиПодсистему, ТекущийРодитель, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - - ТекущийРодитель = ТекущийРодитель.Родитель; - КонецЦикла; - - // Вывод группы с добавкой "(продолжение)". // Рекурсия.ВсегоОсталосьВывести при этом не уменьшается, т.к. вывод продолжения увеличивает количество строк. ВывестиПодсистему = ПорядокВывода.Добавить(); ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; @@ -1678,40 +1643,60 @@ ВывестиПодсистему.ЭтоПродолжение = Истина; ВывестиПодсистему.СтрокаДерева = СтрокаДерева; ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; - ЗаполнитьЗначенияСвойств(ВывестиПодсистему, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); + ЗаполнитьЗначенияСвойств(ВывестиПодсистему, ТекущийРодитель, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - // Учет строки, занятой группой. - Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; - КонецЕсли; + ТекущийРодитель = ТекущийРодитель.Родитель; + КонецЦикла; - Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; - ВывестиВариант = ПорядокВывода.Добавить(); - ВывестиВариант.НомерКолонки = Рекурсия.НомерТекущейКолонки; - ВывестиВариант.ЭтоВариант = Истина; - ВывестиВариант.СтрокаДерева = СтрокаДерева; - ВывестиВариант.Вариант = Вариант; - ВывестиВариант.ВариантСсылка = Вариант.Ссылка; - ВывестиВариант.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; - ЗаполнитьЗначенияСвойств(ВывестиВариант, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); + // Вывод группы с добавкой "(продолжение)". + // Рекурсия.ВсегоОсталосьВывести при этом не уменьшается, т.к. вывод продолжения увеличивает количество строк. + ВывестиПодсистему = ПорядокВывода.Добавить(); + ВывестиПодсистему.НомерКолонки = Рекурсия.НомерТекущейКолонки; + ВывестиПодсистему.ЭтоПодсистема = Истина; + ВывестиПодсистему.ЭтоПродолжение = Истина; + ВывестиПодсистему.СтрокаДерева = СтрокаДерева; + ВывестиПодсистему.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; + ЗаполнитьЗначенияСвойств(ВывестиПодсистему, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); - ВариантовВыведено = ВариантовВыведено + 1; - - // Учет строк, занятых вариантами. + // Учет строки, занятой группой. Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; - КонецЦикла; + КонецЕсли; - КонецЕсли; - - // Регистрация вложенных строк. - ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаДерева, ПараметрыЗаполнения); + Рекурсия.ВсегоОсталосьВывести = Рекурсия.ВсегоОсталосьВывести - 1; + ВывестиВариант = ПорядокВывода.Добавить(); + ВывестиВариант.НомерКолонки = Рекурсия.НомерТекущейКолонки; + ВывестиВариант.ЭтоВариант = Истина; + ВывестиВариант.СтрокаДерева = СтрокаДерева; + ВывестиВариант.Вариант = Вариант; + ВывестиВариант.ВариантСсылка = Вариант.Ссылка; + ВывестиВариант.ПодсистемаПриоритет = СтрокаДерева.Подсистема.Приоритет; + ЗаполнитьЗначенияСвойств(ВывестиВариант, СтрокаДерева, "Подсистема, ПодсистемаСсылка, УровеньВложенности"); + Если Вариант.ВыводитсяВместеСОсновным Тогда + ВывестиВариант.УровеньВложенности = ВывестиВариант.УровеньВложенности + 1; + КонецЕсли; + + ВариантовВыведено = ВариантовВыведено + 1; + + // Учет строк, занятых вариантами. + Рекурсия.СвободноСтрок = Рекурсия.СвободноСтрок - 1; + КонецЦикла; + КонецЕсли; + + // Регистрация вложенных строк. + Для Каждого СтрокаПодчиненного Из СтрокаДерева.Строки Цикл + ЗаполнитьПорядокВывода(ПорядокВывода, СтрокаДерева, СтрокаПодчиненного, Рекурсия, ПараметрыЗаполнения); // Проброс НачатВывод вверх по иерархии. - Если СтрокаДерева.НачатВывод Тогда - СтрокаРодителя.НачатВывод = Истина; + Если СтрокаПодчиненного.НачатВывод Тогда + СтрокаДерева.НачатВывод = Истина; КонецЕсли; - КонецЦикла; + //// Проброс НачатВывод вверх по иерархии. + //Если СтрокаДерева.НачатВывод Тогда + // СтрокаРодителя.НачатВывод = Истина; + //КонецЕсли; + КонецПроцедуры &НаСервере @@ -1721,7 +1706,7 @@ Если СтрокаДерева.КоличествоВариантов = 0 И СтрокаДерева.ВсегоВложенныхВариантов = 0 Тогда Возврат ВГруппу; КонецЕсли; - УвеличениеРазмераШрифта = ПараметрыЗаполнения.МаксимальныйУровеньВложенности - СтрокаПорядкаВывода.УровеньВложенности; + //УвеличениеРазмераШрифта = ПараметрыЗаполнения.МаксимальныйУровеньВложенности - СтрокаПорядкаВывода.УровеньВложенности; ПодсистемаПредставление = Подсистема.Представление; Подсистема.НомерЭлемента = Подсистема.НомерЭлемента + 1; @@ -1747,6 +1732,10 @@ // Подмена группы верхнего уровня. ВГруппу = ГруппаОтступа; + + ШрифтЗаголовка = ШрифтОбычнойГруппы; + Иначе + ШрифтЗаголовка = ШрифтВажнойГруппы; КонецЕсли; ГруппаПодсистемы = Элементы.Вставить(ГруппаПодсистемыИмя, Тип("ГруппаФормы"), ВГруппу); @@ -1766,7 +1755,7 @@ КонецЕсли; КонецЕсли; - ШрифтЗаголовка = Новый Шрифт(ШрифтЖирный, , 8 + 2*УвеличениеРазмераШрифта); + //ШрифтЗаголовка = Новый Шрифт(ШрифтВажнойГруппы, , ШрифтВажнойГруппы.Размер + 2*УвеличениеРазмераШрифта); Если ТребуетсяПодсветка Тогда Если СтрокаПорядкаВывода.ЭтоПродолжение Тогда Суффикс = НСтр("ru = '(продолжение)'"); @@ -1803,6 +1792,38 @@ Возврат ГруппаПодсистемы; КонецФункции +&НаСервере +Функция ДобавитьГруппуСОтступом(ПараметрыЗаполнения, СтрокаПорядкаВывода, ВГруппу) + ВыведеноЭлементовВариантов = ВыведеноЭлементовВариантов + 1; + + ГруппаОтступаИмя = "ГруппаОтступа_" + Формат(ВыведеноЭлементовВариантов, "ЧГ=0"); + КартинкаОтступаИмя = "КартинкаОтступа_" + Формат(ВыведеноЭлементовВариантов, "ЧГ=0"); + ГруппаВыводаИмя = "ГруппаВывода_" + Формат(ВыведеноЭлементовВариантов, "ЧГ=0"); + + // Отступ. + ГруппаОтступа = Элементы.Вставить(ГруппаОтступаИмя, Тип("ГруппаФормы"), ВГруппу); + ГруппаОтступа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ГруппаОтступа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + ГруппаОтступа.Отображение = ОтображениеОбычнойГруппы.Нет; + ГруппаОтступа.ОтображатьЗаголовок = Ложь; + ГруппаОтступа.РастягиватьПоГоризонтали = Истина; + + // Картинка. + КартинкаОтступа = Элементы.Вставить(КартинкаОтступаИмя, Тип("ДекорацияФормы"), ГруппаОтступа); + ЗаполнитьЗначенияСвойств(КартинкаОтступа, ПараметрыЗаполнения.Шаблоны.КартинкаОтступа); + КартинкаОтступа.Ширина = 1; + + // Вывод. + ГруппаВывода = Элементы.Вставить(ГруппаВыводаИмя, Тип("ГруппаФормы"), ГруппаОтступа); + ГруппаВывода.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ГруппаВывода.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ГруппаВывода.Отображение = ОтображениеОбычнойГруппы.Нет; + ГруппаВывода.ОтображатьЗаголовок = Ложь; + ГруппаВывода.РастягиватьПоГоризонтали = Истина; + + Возврат ГруппаВывода; +КонецФункции + &НаСервере Функция ДобавитьЭлементыВариантаОтчета(ПараметрыЗаполнения, Вариант, ВГруппу, УровеньВложенности = 0) @@ -1849,7 +1870,7 @@ Если Вариант.Важный И ПараметрыЗаполнения.ИмяГруппы <> "СмТакже" И ПараметрыЗаполнения.ИмяГруппы <> "БыстрыйДоступ" Тогда - Надпись.Шрифт = ШрифтЖирный; + Надпись.Шрифт = ШрифтВажнойНадписи; КонецЕсли; СоставПодсказки = Новый Массив; @@ -1873,12 +1894,12 @@ КонецЕсли; // Регистрация добавленной надписи - Найденные = ДобавленныеВарианты.НайтиСтроки(Новый Структура("Ссылка, Подсистема", Вариант.Ссылка, Вариант.Подсистема)); - Если Найденные.Количество() > 0 Тогда - СтрокаТаблицы = Найденные[0]; - Иначе + //Найденные = ДобавленныеВарианты.НайтиСтроки(Новый Структура("Ссылка, Подсистема", Вариант.Ссылка, Вариант.Подсистема)); + //Если Найденные.Количество() > 0 Тогда + // СтрокаТаблицы = Найденные[0]; + //Иначе СтрокаТаблицы = ДобавленныеВарианты.Добавить(); - КонецЕсли; + //КонецЕсли; ЗаполнитьЗначенияСвойств(СтрокаТаблицы, Вариант); СтрокаТаблицы.ГруппаУровня2Имя = ПараметрыЗаполнения.ИмяГруппы; СтрокаТаблицы.НадписьИмя = НадписьИмя; @@ -1889,7 +1910,7 @@ &НаСервере Процедура ОпределитьСоставПодсказкиВарианта(ПараметрыЗаполнения, Вариант, СоставПодсказки, Надпись) - ОписаниеВыведено = Ложь; + ПодсказкаВыведена = Ложь; Если ПараметрыЗаполнения.ИспользоватьПодсветку Тогда ПараметрыПодсветки = ПараметрыЗаполнения.РезультатПоиска.ПодсветкаВариантов.Получить(Вариант.Ссылка); Если ПараметрыПодсветки <> Неопределено Тогда @@ -1898,7 +1919,16 @@ КонецЕсли; Если ПараметрыПодсветки.Описание.КоличествоНайденныхСлов > 0 Тогда СформироватьСтрокуСПодсветкой(ПараметрыПодсветки.Описание, СоставПодсказки); - ОписаниеВыведено = Истина; + ПодсказкаВыведена = Истина; + КонецЕсли; + Если ПараметрыПодсветки.ПредставлениеАвтора.КоличествоНайденныхСлов > 0 Тогда + Если СоставПодсказки.Количество() > 0 Тогда + СоставПодсказки.Добавить(Символы.ПС); + КонецЕсли; + СоставПодсказки.Добавить(НСтр("ru = 'Автор:'") + " "); + СформироватьСтрокуСПодсветкой(ПараметрыПодсветки.ПредставлениеАвтора, СоставПодсказки); + СоставПодсказки.Добавить("."); + ПодсказкаВыведена = Истина; КонецЕсли; Если ПараметрыПодсветки.НаименованияПользовательскихНастроек.КоличествоНайденныхСлов > 0 Тогда Если СоставПодсказки.Количество() > 0 Тогда @@ -1926,12 +1956,8 @@ КонецЕсли; КонецЕсли; КонецЕсли; - ПоказыватьОписание = (ПоказыватьПодсказки <> 0 И Не ПустаяСтрока(Вариант.Описание)); - Если Не ОписаниеВыведено И ПоказыватьОписание Тогда - Если СоставПодсказки.Количество() > 0 Тогда - СоставПодсказки.Добавить(Символы.ПС); - КонецЕсли; - СоставПодсказки.Добавить(СокрЛП(Вариант.Описание)); + Если Не ПодсказкаВыведена И ПоказыватьПодсказки Тогда + СоставПодсказки.Добавить(СокрЛП(Надпись.Подсказка)); КонецЕсли; КонецПроцедуры diff --git a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Form.form b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Form.form index a9f5e075f..cfdba3b3c 100644 --- a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Form.form +++ b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Form.form @@ -1045,99 +1045,22 @@ Auto
                  - - ГруппаКоманднойПанели - 107 - - КоманднаяПанель - 105 - - OK - 30 - true - true - - true - - - OKРасширеннаяПодсказка - 40 - Label - true - true - - Left - - - Form.Command.OK - Auto - true - true - true - UserCmds - Auto - - - Справка - 23 - true - true - - true - - false - - СправкаExtendedTooltip - 42 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - - Отмена - 112 - true - true - - true - - - ОтменаРасширеннаяПодсказка - 113 - Label - true - true - - Left - - - Form.Command.Отмена - Normal - Auto - true - true - UserCmds - Auto - + Bottom + true + + ФормаКоманднаяПанель + -1 + + OK + 30 true true true - КоманднаяПанельРасширеннаяПодсказка - 106 + OKРасширеннаяПодсказка + 40 Label true true @@ -1145,41 +1068,67 @@ Left - CommandBar - - Right - - - true - true - - true - - - ГруппаКоманднойПанелиРасширеннаяПодсказка - 108 - Label + Form.Command.OK + Auto + true true true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - Bottom - true - - ФормаКоманднаяПанель - -1 + UserCmds + Auto + + + Справка + 23 + true + true + + true + + false + + СправкаExtendedTooltip + 42 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + + Отмена + 112 + true + true + + true + + + ОтменаРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + Form.Command.Отмена + Normal + Auto + true + true + UserCmds + Auto + Right diff --git a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Help/ru.html b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Help/ru.html index 55f2a0746..f6949f790 100644 --- a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Help/ru.html +++ b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                  • имя и пароль Администратора информационной базы для выполнения блокировки регламентных и фоновых заданий от его имени. В простейшем случае, это могут быть Ваши имя и пароль, которые Вы используете для входа в программу. В целях безопасности рекомендуется создать отдельного служебного пользователя с административными правами. Следует иметь в виду, что имя и пароль хранятся непосредственно в самой базе, и могут быть прочитаны, если злоумышленник получит полный доступ к базе.
                  • имя и пароль одного из Администраторов кластера серверов, от имени которого выполняется принудительное завершение (отключение) сеансов пользователей. Не задается, если в кластере серверов не задан ни один администратор; diff --git a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Module.bsl b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Module.bsl index b4c88093b..bf337cee1 100644 --- a/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Module.bsl +++ b/SSL/src/CommonForms/ПараметрыАдминистрированияПрограммы/Module.bsl @@ -188,7 +188,9 @@ &НаКлиенте Процедура ПроверитьПараметрыАдминистрирования(ПараметрыАдминистрирования) - Если ТипПодключения = "COM" Тогда + КлиентПодключенЧерезВебСервер = ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер(); + + Если Не КлиентПодключенЧерезВебСервер И ТипПодключения = "COM" Тогда ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь); КонецЕсли; @@ -198,13 +200,15 @@ Иначе - Если ОбщегоНазначенияКлиент.КлиентПодключенЧерезВебСервер() Тогда + Если КлиентПодключенЧерезВебСервер Тогда + ПроверитьПараметрыАдминистрированияНаСервере(); + Иначе АдминистрированиеКластераКлиентСервер.ПроверитьПараметрыАдминистрирования(ПараметрыАдминистрирования,, Параметры.ЗапрашиватьПараметрыАдминистрированияКластера, Параметры.ЗапрашиватьПараметрыАдминистрированияИБ); КонецЕсли; - + КонецЕсли; КонецПроцедуры @@ -279,8 +283,6 @@ СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); СтрокаПодключения = "Usr=""" + ИмяАдминистратораИнформационнойБазы + """;Pwd=""" + ПарольАдминистратораИнформационнойБазы + """"; - ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь); - ComConnector = Новый COMОбъект(ИмяCOMСоединителя); СтрокаСоединенияИнформационнойБазы = СтрокаСоединения + СтрокаПодключения; Соединение = ComConnector.Connect(СтрокаСоединенияИнформационнойБазы); diff --git a/SSL/src/CommonForms/ПараметрыПроксиСервера/Help/ru.html b/SSL/src/CommonForms/ПараметрыПроксиСервера/Help/ru.html index a6b61880f..d48376508 100644 --- a/SSL/src/CommonForms/ПараметрыПроксиСервера/Help/ru.html +++ b/SSL/src/CommonForms/ПараметрыПроксиСервера/Help/ru.html @@ -1,4 +1,21 @@ - + +

                    Предназначена для настройки параметров прокси-сервера.

                    +

                    Программа предоставляет возможности для получения файлов из сети Интернет по протоколам HTTP, HTTPS, FTP и сохранения полученных файлов на клиенте, сервере или во временном хранилище.

                    +

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

                    +

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

                    +

                    В общем случае, параметры прокси-сервера нужны для работы механизмов, которые получают файлы из Интернета по протоколам HTTP, HTTPS и FTP. Настройка прокси-сервера на сервере нужна для работы механизмов на сервере.

                    +

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

                    +

                    Но если в организации используется клиент-серверная версия 1С:Предприятия, то параметры прокси-сервера необходимо указать и на сервере 1С:Предприятия(из раздела Администрирование - Общие настройки).  При этом параметры прокси-сервера для рабочего места и сервера 1С:Предприятия могут различаться.

                    Для доступа в Интернет с клиентских компьютеров параметры прокси‑сервера задаются на каждом клиентском рабочем месте (по команде Персональные настройки в разделе Администрирование).

                    -

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

                    -

                    Внимание: при работе с включенными профилями безопасности для настройки параметров прокси-сервера можно использовать только конфигурационный файл inetcfg.xml.

                    \ No newline at end of file +

                    Внимание: при работе с включенными профилями безопасности для настройки параметров прокси-сервера можно использовать только конфигурационный файл inetcfg.xml.

                    +

                    Настройка параметров прокси-сервера

                    +
                    • Выберите вариант использования прокси-сервера с помощью переключателя: +
                      • Не использовать прокси-сервер - значение по умолчанию при первом запуске программы; +
                      • Использовать системные настройки прокси-сервера - настройки заполняются автоматически значениями из настроек прокси-сервера операционной системы. В этом случае заполненные настройки недоступны для редактирования. +
                      • Использовать другие настройки прокси-сервера - настройки задаются вручную: +
                        • Напишите Адрес сервера и Порт сервера (одинаковый параметр для сервера 1С:Предприятия и рабочих мест). +
                        • Для каждого рабочего места и сервера укажите Пользователя прокси-сервера и его Пароль (в общем случае могут быть различными, зависит от сетевой политики в организации). +
                        • Установка флажка Не использовать прокси для локальных адресов позволит снизить нагрузку на прокси-сервер при работе в локальной сети организации.
                    • Для подтверждения параметров прокси-сервера нажмите ОК.

                    Дополнительные параметры

                    +

                    Нажмите Дополнительно, для того чтобы перейти к настройке дополнительных параметров.

                    +

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/ПерсональныеНастройкиЭП/Help/ru.html b/SSL/src/CommonForms/ПерсональныеНастройкиЭП/Help/ru.html index 9ae6b1c3a..0c2673f0b 100644 --- a/SSL/src/CommonForms/ПерсональныеНастройкиЭП/Help/ru.html +++ b/SSL/src/CommonForms/ПерсональныеНастройкиЭП/Help/ru.html @@ -1,16 +1,20 @@ - -

                    В форме выполняются персональные настройки электронной подписи (ЭП).

                    -

                    - - - - - -
                    НастройкаОписание
                    Действия при сохранении с ЭП -

                    Задает поведение при выполнении команды "Сохранить с ЭП":

                    -
                    • Сохранять все подписи - все подписи сохраняются; -
                    • Спрашивать - выбор сохраняемых подписей осуществляется в форме.
                    Расширение для зашифрованных файловЗадает расширение для зашифрованных файлов при отправке по почте, при выполнении команды "Сохранить как" и при экспорте папки.
                    По умолчанию "p7m".
                    Путь модуля криптографии (для веб клиента под управлением Linux)Задает путь модуля криптографии для операций с файлами (расшифровка, подписание, проверка подписи, просмотр сертификата).
                    Личный сертификат для шифрования -

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

                     

                    -

                    См. также:

                    -
                    -

                    Настройка ЭП и шифрования

                    \ No newline at end of file + +

                    Предназначена для настройки работы с ЭП.

                    +

                    Открывается из персональных настроек программы (вкладка Работа с файлами) по ссылке Настройка ЭП.

                    +

                    Персональные настройки электронной подписи (ЭП)

                    +
                    • +
                      С помощью переключателя Действия при сохранении с ЭП задайте поведение программы при выполнении команды Сохранить с ЭП:
                      +
                      • Сохранять все подписи - все подписи сохраняются; +
                      • Спрашивать - выбор сохраняемых подписей осуществляется из списка.
                    • +
                      Задайте Расширение для зашифрованных файлов при отправке по почте, при выполнении команды Сохранить как и при экспорте папки (по умолчанию .p7m).
                      +
                    • +
                      Напишите Расширение для файлов подписи (по умолчанию .p7s).
                      +
                    • +
                      Напишите Путь модуля криптографии (для веб-клиента под управлением Linux) для операций с файлами (расшифровка, подписание, проверка подписи, просмотр сертификата).
                      +
                    • +
                       Выберите из списка Личный сертификат для шифрования - персональный сертификат электронной подписи (ЭП) для шифрования данных. При выборе сертификатов для шифрования данный сертификат будет всегда отмечен. Это нужно для того, чтобы нельзя было зашифровать данные без возможности их расшифровки.

                    +

                    Настройки криптографии

                    +

                    Перейдите по ссылке Настройки криптографии, для того чтобы настроить ЭП и шифрование.

                    +

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Form.form b/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Form.form index 58cd61e60..d33e04676 100644 --- a/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Form.form +++ b/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Form.form @@ -48,6 +48,7 @@ Left true + 30 true true true @@ -90,6 +91,7 @@ Left true + 15 true true true @@ -132,8 +134,10 @@ Left true + 15 true true + false true true true @@ -146,9 +150,7 @@ 12 true true - - true - + СертификатыЭП.Назначение diff --git a/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Help/ru.html b/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Help/ru.html index bb85206c8..1e020b294 100644 --- a/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Help/ru.html +++ b/SSL/src/CommonForms/ПерсональныеСертификатыДляШифрования/Help/ru.html @@ -1,4 +1,13 @@ - -

                    В этой форме осуществляется выбор персонального сертификата электронной подписи (ЭП) для шифрования данных.

                    -

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

                    -

                    См. также: Настройка ЭП и шифрования, Настройка программы, Общая информация о формах.

                    \ No newline at end of file + +

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

                    +

                    Открывается по кнопке  Выбрать из персональных настроек ЭП.

                    +

                    Список состоит из колонок:

                    +
                    • Кому выдан - данные о пользователе, который получил сертификат ЭП. +
                    • Кем выдан - данные об удостоверяющем центре (УЦ), выдавшем сертификат ЭП. +
                    • Действителен до - дата, по которую можно использовать данный сертификат ЭП.

                    Выбор сертификата

                    +
                    • +
                      Выделите в списке нужный сертификат, нажмите Выбрать. Персональный сертификат будет отмечен при выборе сертификатов для шифрования.

                    Просмотр сертификата

                    +
                    • +
                      Выделите нужный сертификат, нажмите Открыть.

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/ПечатьДокументов/Form.form b/SSL/src/CommonForms/ПечатьДокументов/Form.form index 0dd35bb05..b949403ac 100644 --- a/SSL/src/CommonForms/ПечатьДокументов/Form.form +++ b/SSL/src/CommonForms/ПечатьДокументов/Form.form @@ -118,34 +118,6 @@ КоманднаяПанельПраваяЧасть 115 - - КнопкаПечатьВсеДействия - 120 - true - true - - true - - false - - КнопкаПечатьВсеДействияExtendedTooltip - 148 - Label - true - true - - Left - - - Form.Command.Печать - Auto - true - true - true - UserCmds - Auto - InAdditionalSubmenu - КнопкаПоказатьСкрытьНастройкуКомплекта 101 @@ -172,167 +144,6 @@ UserCmds Auto - - ГруппаНастройкаКомплектаПодменю - 121 - - КнопкаУстановитьФлажкиПодменю - 122 - true - true - - true - - - КнопкаУстановитьФлажкиПодменюExtendedTooltip - 151 - Label - true - true - - Left - - - Form.Command.УстановитьФлажки - Normal - Auto - true - true - UserCmds - Auto - - - КнопкаСнятьФлажкиПодменю - 123 - true - true - - true - - - КнопкаСнятьФлажкиПодменюExtendedTooltip - 152 - Label - true - true - - Left - - - Form.Command.СнятьФлажки - Normal - Auto - true - true - UserCmds - Auto - - - КнопкаПереместитьВверхПодменю - 124 - true - true - - true - - - КнопкаПереместитьВверхПодменюExtendedTooltip - 153 - Label - true - true - - Left - - - Form.Item.НастройкиПечатныхФорм.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - КнопкаПереместитьВнизПодменю - 125 - true - true - - true - - - КнопкаПереместитьВнизПодменюExtendedTooltip - 154 - Label - true - true - - Left - - - Form.Item.НастройкиПечатныхФорм.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - КнопкаСброситьНастройкиПодменю - 126 - true - true - - true - - - КнопкаСброситьНастройкиПодменюExtendedTooltip - 155 - Label - true - true - - Left - - - Form.Command.СброситьНастройки - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Настройка комплекта</value> - - - ГруппаНастройкаКомплектаПодменюExtendedTooltip - 150 - Label - true - true - - Left - - - Popup - - - StdPicture.ReportSettings - - Picture - Normal - - ГруппаРедактированиеПечатнойФормы 142 @@ -518,6 +329,263 @@ + true + true + + true + + + <key>ru</key> + <value>Командная панель правая часть</value> + + + КоманднаяПанельПраваяЧастьExtendedTooltip + 147 + Label + true + true + + Left + + + CommandBar + + Left + + + + ГруппаСумма + 185 + + ВычислитьСумму + 187 + true + true + + true + + + ВычислитьСуммуExtendedTooltip + 188 + Label + true + true + + Left + + + UsualButton + Form.Command.ВычислитьСумму + Normal + Auto + true + true + UserCmds + Auto + + + Сумма + 189 + true + true + + true + + + СуммаВыделенныхЯчеек + + None + + ru + Сумма чисел выделенных ячеек + + + СуммаExtendedTooltip + 191 + Label + true + true + + Left + + + + СуммаКонтекстноеМеню + 190 + true + + InputField + true + Enter + true + Left + true + + 10 + true + true + true + + ru + ЧН=- + + true + true + true + + Style.FormBackColor + + + Style.FormBackColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + + ГруппаСуммаExtendedTooltip + 186 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + КоманднаяПанельЕще + 192 + + КнопкаПечатьВсеДействия + 120 + true + true + + true + + false + + КнопкаПечатьВсеДействияExtendedTooltip + 148 + Label + true + true + + Left + + + Form.Command.Печать + Auto + true + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ГруппаСохранитьОтправитьВсеДействия + 194 + + КнопкаСохранитьВсеДействия + 196 + true + true + + true + + + КнопкаСохранитьВсеДействияРасширеннаяПодсказка + 197 + Label + true + true + + Left + + + Form.Command.Сохранить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + КнопкаОтправитьВсеДействия + 198 + true + true + + true + + + КнопкаОтправитьВсеДействияРасширеннаяПодсказка + 199 + Label + true + true + + Left + + + Form.Command.Отправить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Группа сохранить отправить</value> + + + ru + Группа сохранить отправить все действия + + + ГруппаСохранитьОтправитьВсеДействияРасширеннаяПодсказка + 195 + Label + true + true + + Left + + + + ГруппаРедактированиеМакета 137 @@ -546,6 +614,7 @@ true UserCmds Auto + InAdditionalSubmenu КнопкаПерейтиКУправлениюМакетами @@ -600,6 +669,164 @@ + + ГруппаНастройкаКомплектаПодменю + 121 + + КнопкаУстановитьФлажкиПодменю + 122 + true + true + + true + + + КнопкаУстановитьФлажкиПодменюExtendedTooltip + 151 + Label + true + true + + Left + + + Form.Command.УстановитьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + КнопкаСнятьФлажкиПодменю + 123 + true + true + + true + + + КнопкаСнятьФлажкиПодменюExtendedTooltip + 152 + Label + true + true + + Left + + + Form.Command.СнятьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + КнопкаПереместитьВверхПодменю + 124 + true + true + + true + + + КнопкаПереместитьВверхПодменюExtendedTooltip + 153 + Label + true + true + + Left + + + Form.Item.НастройкиПечатныхФорм.StandardCommand.MoveUp + Normal + Auto + true + true + UserCmds + Auto + + + КнопкаПереместитьВнизПодменю + 125 + true + true + + true + + + КнопкаПереместитьВнизПодменюExtendedTooltip + 154 + Label + true + true + + Left + + + Form.Item.НастройкиПечатныхФорм.StandardCommand.MoveDown + Normal + Auto + true + true + UserCmds + Auto + + + КнопкаСброситьНастройкиПодменю + 126 + true + true + + true + + + КнопкаСброситьНастройкиПодменюExtendedTooltip + 155 + Label + true + true + + Left + + + Form.Command.СброситьНастройки + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройка комплекта</value> + + + ГруппаНастройкаКомплектаПодменюExtendedTooltip + 150 + Label + true + true + + Left + + + Popup + + Auto + Normal + + true true @@ -607,11 +834,15 @@ <key>ru</key> - <value>Командная панель правая часть</value> + <value>Командная панель еще</value> + + ru + Командная панель еще + - КоманднаяПанельПраваяЧастьExtendedTooltip - 147 + КоманднаяПанельЕщеРасширеннаяПодсказка + 193 Label true true @@ -773,10 +1004,6 @@ НастройкиПечатныхФорм.Количество - - OnChange - НастройкиПечатныхФормКоличествоПриИзменении - НастройкиПечатныхФормКоличествоExtendedTooltip 177 @@ -815,7 +1042,6 @@ Normal
                    - Bottom НастройкиПечатныхФормКоманднаяПанель 88 @@ -835,10 +1061,10 @@ НастройкиПечатныхФормСтрокаПоиска - 186 + 202 НастройкиПечатныхФормСтрокаПоискаРасширеннаяПодсказка - 188 + 204 Label true true @@ -848,7 +1074,7 @@ НастройкиПечатныхФормСтрокаПоискаКонтекстноеМеню - 187 + 203 true НастройкиПечатныхФорм @@ -858,10 +1084,10 @@ НастройкиПечатныхФормСостояниеПросмотра - 189 + 205 НастройкиПечатныхФормСостояниеПросмотраРасширеннаяПодсказка - 191 + 207 Label true true @@ -871,7 +1097,7 @@ НастройкиПечатныхФормСостояниеПросмотраКонтекстноеМеню - 190 + 206 true ViewStatusAddition @@ -882,10 +1108,10 @@ НастройкиПечатныхФормУправлениеПоиском - 192 + 208 НастройкиПечатныхФормУправлениеПоискомРасширеннаяПодсказка - 194 + 210 Label true true @@ -895,7 +1121,7 @@ НастройкиПечатныхФормУправлениеПоискомКонтекстноеМеню - 193 + 209 true SearchControlAddition @@ -1311,7 +1537,6 @@ UsualGroup Auto - StrongSeparation true true Auto @@ -1428,7 +1653,6 @@ 115 20 DontBlock - Use true true Vertical @@ -1655,6 +1879,24 @@ true + + ИмяФайлаПечатнойФормы + + <key>ru</key> + <value>Имя файла печатной формы</value> + + 10 + + String + + + + true + + + true + + ПечатнаяФормаОбразец @@ -1814,6 +2056,24 @@ true + + СуммаВыделенныхЯчеек + + <key>ru</key> + <value>Сумма</value> + + 6 + + String + + + + true + + + true + + Отправить @@ -1836,7 +2096,7 @@ <name>Отправить</name> </handler> </action> - <representation>TextPicture</representation> + <representation>Text</representation> <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> @@ -2020,7 +2280,7 @@ <name>Сохранить</name> </handler> </action> - <representation>TextPicture</representation> + <representation>Text</representation> <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> @@ -2094,7 +2354,32 @@ <name>ПереключитьРедактирование</name> </handler> </action> - <representation>TextPicture</representation> + <currentRowUse>Auto</currentRowUse> + <selectedRowsUse>Auto</selectedRowsUse> + </formCommands> + <formCommands> + <name>ВычислитьСумму</name> + <title> + <key>ru</key> + <value>Подсчитать</value> + + 12 + + ru + Вычислить сумму чисел выделенных ячеек + + + true + + + CommonPicture.Сумма + + + + ВычислитьСумму + + + Picture Auto Auto diff --git a/SSL/src/CommonForms/ПечатьДокументов/Help/ru.html b/SSL/src/CommonForms/ПечатьДокументов/Help/ru.html index 89819aea6..a143c318d 100644 --- a/SSL/src/CommonForms/ПечатьДокументов/Help/ru.html +++ b/SSL/src/CommonForms/ПечатьДокументов/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                    Вызывается из документов и списков документов программы по команде  Печать. 

                    Предусмотрены следующие возможности:

                    diff --git a/SSL/src/CommonForms/ПечатьДокументов/Module.bsl b/SSL/src/CommonForms/ПечатьДокументов/Module.bsl index 3f02ee91f..b574c71ad 100644 --- a/SSL/src/CommonForms/ПечатьДокументов/Module.bsl +++ b/SSL/src/CommonForms/ПечатьДокументов/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -16,10 +15,10 @@ Если Не ЗначениеЗаполнено(Параметры.ИсточникДанных) Тогда ОбщегоНазначенияКлиентСервер.Проверить(ТипЗнч(Параметры.ПараметрКоманды) = Тип("Массив") Или ОбщегоНазначения.ЗначениеСсылочногоТипа(Параметры.ПараметрКоманды), СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Недопустимое значение параметра ПараметрКоманды при вызове метода УправлениеПечатьюКлиент.ВыполнитьКомандуПечати. - |Ожидалось: Массив, ЛюбаяСсылка. - |Передано: %1'"), ТипЗнч(Параметры.ПараметрКоманды))); + |Ожидалось: Массив, ЛюбаяСсылка. + |Передано: %1'"), ТипЗнч(Параметры.ПараметрКоманды))); КонецЕсли; - + // поддержка обратной совместимости с 2.1.3 ПараметрыПечати = Параметры.ПараметрыПечати; Если Параметры.ПараметрыПечати = Неопределено Тогда @@ -153,10 +152,17 @@ Процедура КопийПриИзменении(Элемент) Если НастройкиПечатныхФорм.Количество() = 1 Тогда НастройкиПечатныхФорм[0].Количество = Копий; - ЭтотОбъект[НастройкиПечатныхФорм[0].ИмяРеквизита].КоличествоЭкземпляров = НастройкиПечатныхФорм[0].Количество; КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура Подключаемый_ПолеТабличногоДокументаПриАктивизацииОбласти(Элемент) + //Если НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек Тогда + ИнтервалОжидания = ?(ПолучитьСкоростьКлиентскогоСоединения() = СкоростьКлиентскогоСоединения.Низкая, 1, 0.2); + ПодключитьОбработчикОжидания("Подключаемый_РассчитатьСуммуЯчеек", ИнтервалОжидания, Истина); + //КонецЕсли; +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыНастройкиПечатныхФорм @@ -180,9 +186,12 @@ Элементы.КнопкаПечатьКоманднаяПанель.Доступность = МожноПечатать; Элементы.КнопкаПечатьВсеДействия.Доступность = МожноПечатать; - Элементы.КнопкаСохранить.Доступность = МожноСохранять; - Элементы.КнопкаОтправить.Доступность = МожноСохранять; + Элементы.КнопкаСохранить.Доступность = МожноСохранять; + Элементы.КнопкаСохранитьВсеДействия.Доступность = МожноСохранять; + + Элементы.КнопкаОтправить.Доступность = МожноСохранять; + Элементы.КнопкаОтправитьВсеДействия.Доступность = МожноСохранять; КонецПроцедуры &НаКлиенте @@ -190,12 +199,6 @@ УстановитьТекущуюСтраницу(); КонецПроцедуры -&НаКлиенте -Процедура НастройкиПечатныхФормКоличествоПриИзменении(Элемент) - НастройкаПечатнойФормы = ТекущаяНастройкаПечатнойФормы(); - ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита].КоличествоЭкземпляров = НастройкаПечатнойФормы.Количество; -КонецПроцедуры - &НаКлиенте Процедура НастройкиПечатныхФормКоличествоРегулирование(Элемент, Направление, СтандартнаяОбработка) НастройкаПечатнойФормы = ТекущаяНастройкаПечатнойФормы(); @@ -254,16 +257,10 @@ &НаКлиенте Процедура Печать(Команда) - ТабличныеДокументы = Новый СписокЗначений; - - Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл - Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод = ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда - ТабличныеДокументы.Добавить(ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита], НастройкаПечатнойФормы.Представление); - КонецЕсли; - КонецЦикла; + ТабличныеДокументы = ТабличныеДокументыДляПечати(); УправлениеПечатьюКлиент.РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати, - ПараметрыВывода.ДоступнаПечатьПоКомплектно, ?(НастройкиПечатныхФорм.Количество() > 1, Копий, 1)); + ТабличныеДокументы.Количество() > 1, ?(НастройкиПечатныхФорм.Количество() > 1, Копий, 1)); КонецПроцедуры @@ -297,6 +294,15 @@ ПереключитьРедактированиеТекущейПечатнойФормы(); КонецПроцедуры +&НаКлиенте +Процедура ВычислитьСумму(Команда) + НастройкаПечатнойФормы = ТекущаяНастройкаПечатнойФормы(); + Если НастройкаПечатнойФормы <> Неопределено Тогда + ТабличныйДокумент = ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита]; + СуммаВыделенныхЯчеек = ВычислитьСуммуСервер(ТабличныйДокумент, ВыделенныеОбласти(ТабличныйДокумент)); + КонецЕсли; +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -335,8 +341,11 @@ Отказ = Истина; КонецЕсли; Иначе + ТипыОбъектовПечати = Новый Массив; + Параметры.ПараметрыПечати.Свойство("ТипыОбъектовПечати", ТипыОбъектовПечати); УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов, - Параметры.ПараметрКоманды, Параметры.ПараметрыПечати.ДополнительныеПараметры, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); + Параметры.ПараметрКоманды, Параметры.ПараметрыПечати, КоллекцияПечатныхФорм, + ОбъектыПечати, ПараметрыВывода, ТипыОбъектовПечати); КонецЕсли; // установка признака сохранения печатной формы в файл (не открывать форму, сразу сохранять в файл) @@ -415,6 +424,7 @@ НоваяНастройкаПечатнойФормы.ПозицияПоУмолчанию = НомерПечатнойФормы; НоваяНастройкаПечатнойФормы.Название = ОписаниеПечатнойФормы.СинонимМакета; НоваяНастройкаПечатнойФормы.ПутьКМакету = ОписаниеПечатнойФормы.ПолныйПутьКМакету; + НоваяНастройкаПечатнойФормы.ИмяФайлаПечатнойФормы = ОбщегоНазначения.ЗначениеВСтрокуXML(ОписаниеПечатнойФормы.ИмяФайлаПечатнойФормы); РанееДобавленнаяНастройкаПечатнойФормы = ДобавленныеНастройкиПечатныхФорм[ОписаниеПечатнойФормы.ИмяМакета]; Если РанееДобавленнаяНастройкаПечатнойФормы = Неопределено Тогда @@ -437,8 +447,9 @@ НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; НовыйЭлемент.ПутьКДанным = ИмяРеквизита; НовыйЭлемент.Вывод = ВычислитьИспользованиеВывода(ОписаниеПечатнойФормы.ТабличныйДокумент); - НовыйЭлемент.Редактирование = НовыйЭлемент.Вывод = ИспользованиеВывода.Разрешить; + НовыйЭлемент.Редактирование = НовыйЭлемент.Вывод = ИспользованиеВывода.Разрешить И Не ОписаниеПечатнойФормы.ТабличныйДокумент.ТолькоПросмотр; НовыйЭлемент.Защита = ОписаниеПечатнойФормы.ТабличныйДокумент.Защита; + НовыйЭлемент.УстановитьДействие("ПриАктивизацииОбласти", "Подключаемый_ПолеТабличногоДокументаПриАктивизацииОбласти"); // таблица настроек печатных форм (продолжение) НоваяНастройкаПечатнойФормы.ИмяСтраницы = ИмяСтраницы; @@ -477,10 +488,16 @@ ЕстьДанныеДляПечати = ЕстьДанныеДляПечати(); Элементы.КнопкаПерейтиКДокументу.Видимость = ОбъектыПечати.Количество() > 1; + Элементы.КнопкаСохранить.Видимость = ЕстьДанныеДляПечати и ЕстьРазрешенныйВывод И ЕстьРазрешенноеРедактирование; + Элементы.КнопкаСохранитьВсеДействия.Видимость = Элементы.КнопкаСохранить.Видимость; + Элементы.КнопкаОтправить.Видимость = ВозможнаОтправкаПоПочте и ЕстьДанныеДляПечати И ЕстьРазрешенноеРедактирование; + Элементы.КнопкаОтправитьВсеДействия.Видимость = Элементы.КнопкаОтправить.Видимость; + Элементы.КнопкаПечатьКоманднаяПанель.Видимость = ЕстьРазрешенныйВывод И ЕстьДанныеДляПечати; - Элементы.КнопкаПечатьВсеДействия.Видимость = ЕстьРазрешенныйВывод И ЕстьДанныеДляПечати; + Элементы.КнопкаПечатьВсеДействия.Видимость = Элементы.КнопкаПечатьКоманднаяПанель.Видимость; + Элементы.Копий.Видимость = ЕстьРазрешенныйВывод И ЕстьДанныеДляПечати; Элементы.КнопкаРедактирование.Видимость = ЕстьРазрешенныйВывод И ЕстьДанныеДляПечати И ЕстьРазрешенноеРедактирование; @@ -634,7 +651,6 @@ ИндексСтроки = НастройкиПечатныхФорм.Индекс(НастройкаПечатнойФормы); НастройкиПечатныхФорм.Сдвинуть(ИндексСтроки, НастройкиПечатныхФорм.Количество()-1 - ИндексСтроки); // сдвиг в конец НастройкаПечатнойФормы.Количество = СохраненнаяНастройка.Количество; - ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита].КоличествоЭкземпляров = НастройкаПечатнойФормы.Количество; НастройкаПечатнойФормы.Печатать = НастройкаПечатнойФормы.Количество > 0; КонецЦикла; КонецЦикла; @@ -687,33 +703,45 @@ Продолжить; КонецЕсли; - Для Каждого ТипФайла Из ВыбранныеФорматыСохранения Цикл - НастройкиФормата = ТаблицаФорматов.НайтиСтроки(Новый Структура("ТипФайлаТабличногоДокумента", ТипФайла))[0]; - - ИмяФайла = ПолучитьИмяВременногоФайлаДляПечатнойФормы(НастройкаПечатнойФормы.Название,НастройкиФормата.Расширение,ИспользованныеИменаФайлов); - ПолноеИмяФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + ИмяФайла; - - ПечатнаяФорма.Записать(ПолноеИмяФайла, ТипФайла); - - Если ТипФайла = ТипФайлаТабличногоДокумента.HTML Тогда - ВставитьКартинкиВHTML(ПолноеИмяФайла); - КонецЕсли; - - Если ЗаписьZipФайла <> Неопределено Тогда - ЗаписьZipФайла.Добавить(ПолноеИмяФайла); - Иначе - ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяФайла); - ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); - ОписаниеФайла = Новый Структура; - ОписаниеФайла.Вставить("Представление", ИмяФайла); - ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище); - Если ТипФайла = ТипФайлаТабличногоДокумента.ANSITXT Тогда - ОписаниеФайла.Вставить("Кодировка", "windows-1251"); + ПечатныеФормыПоОбъектам = ПечатныеФормыПоОбъектам(ПечатнаяФорма); + Для Каждого СоответствиеОбъектаПечатнойФорме Из ПечатныеФормыПоОбъектам Цикл + ПечатнаяФорма = СоответствиеОбъектаПечатнойФорме.Значение; + Для Каждого ТипФайла Из ВыбранныеФорматыСохранения Цикл + НастройкиФормата = ТаблицаФорматов.НайтиСтроки(Новый Структура("ТипФайлаТабличногоДокумента", ТипФайла))[0]; + + Если СоответствиеОбъектаПечатнойФорме.Ключ <> "ОбъектыПечатиНеЗаданы" Тогда + ИмяФайла = ИмяФайлаПечатнойФормыОбъекта(СоответствиеОбъектаПечатнойФорме.Ключ, ОбщегоНазначения.ЗначениеИзСтрокиXML(НастройкаПечатнойФормы.ИмяФайлаПечатнойФормы)); + Если ИмяФайла = Неопределено Тогда + ИмяФайла = ИмяФайлаПечатнойФормыПоУмолчанию(СоответствиеОбъектаПечатнойФорме.Ключ, НастройкаПечатнойФормы.Название); + КонецЕсли; + ИмяФайла = ИмяФайла + "." + НастройкиФормата.Расширение; + ИмяФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла(ИмяФайла); + Иначе + ИмяФайла = ПолучитьИмяВременногоФайлаДляПечатнойФормы(НастройкаПечатнойФормы.Название,НастройкиФормата.Расширение,ИспользованныеИменаФайлов); КонецЕсли; - Результат.Добавить(ОписаниеФайла); - КонецЕсли; + + ПолноеИмяФайла = УникальноеИмяФайла(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + ИмяФайла); + ПечатнаяФорма.Записать(ПолноеИмяФайла, ТипФайла); + + Если ТипФайла = ТипФайлаТабличногоДокумента.HTML Тогда + ВставитьКартинкиВHTML(ПолноеИмяФайла); + КонецЕсли; + + Если ЗаписьZipФайла <> Неопределено Тогда + ЗаписьZipФайла.Добавить(ПолноеИмяФайла); + Иначе + ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяФайла); + ПутьВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + ОписаниеФайла = Новый Структура; + ОписаниеФайла.Вставить("Представление", ИмяФайла); + ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПутьВоВременномХранилище); + Если ТипФайла = ТипФайлаТабличногоДокумента.ANSITXT Тогда + ОписаниеФайла.Вставить("Кодировка", "windows-1251"); + КонецЕсли; + Результат.Добавить(ОписаниеФайла); + КонецЕсли; + КонецЦикла; КонецЦикла; - КонецЦикла; // если архив подготовлен, записываем и помещаем его во временное хранилище @@ -734,6 +762,27 @@ КонецФункции +&НаСервере +Функция ПечатныеФормыПоОбъектам(ПечатнаяФорма) + Если ОбъектыПечати.Количество() = 0 Тогда + Возврат Новый Структура("ОбъектыПечатиНеЗаданы", ПечатнаяФорма); + КонецЕсли; + + Результат = Новый Соответствие; + Для Каждого ОбъектПечати Из ОбъектыПечати Цикл + ИмяОбласти = ОбъектПечати.Представление; + Область = ПечатнаяФорма.Области.Найти(ИмяОбласти); + Если Область = Неопределено Тогда + Продолжить; + КонецЕсли; + ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ); + ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, + "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице"); + Результат.Вставить(ОбъектПечати.Значение, ТабличныйДокумент); + КонецЦикла; + Возврат Результат; +КонецФункции + &НаСервере Процедура ВставитьКартинкиВHTML(ИмяФайлаHTML) @@ -762,30 +811,37 @@ КонецПроцедуры &НаСервере -Функция ПолучитьИмяВременногоФайлаДляПечатнойФормы(ИмяМакета, Расширение, ИспользованныеИменаФайлов) +Функция ИмяФайлаПечатнойФормыОбъекта(ОбъектПечати, ИмяФайлаПечатнойФормы) + Если ТипЗнч(ИмяФайлаПечатнойФормы) = Тип("Соответствие") Тогда + Возврат Строка(ИмяФайлаПечатнойФормы[ОбъектПечати]); + ИначеЕсли ТипЗнч(ИмяФайлаПечатнойФормы) = Тип("Строка") И Не ПустаяСтрока(ИмяФайлаПечатнойФормы) Тогда + Возврат ИмяФайлаПечатнойФормы; + Иначе + Возврат Неопределено; + КонецЕсли; +КонецФункции + +&НаСервере +Функция ИмяФайлаПечатнойФормыПоУмолчанию(ОбъектПечати, НазваниеПечатнойФормы) - ШаблонИмениФайла = "%1%2.%3"; - - ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла( - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонИмениФайла, ИмяМакета, "", Расширение)); - - НомерИспользования = ?(ИспользованныеИменаФайлов[ИмяВременногоФайла] <> Неопределено, - ИспользованныеИменаФайлов[ИмяВременногоФайла] + 1, - 1); - - ИспользованныеИменаФайлов.Вставить(ИмяВременногоФайла, НомерИспользования); - - // если имя уже было ранее использовано, прибавляем счетчик в конце имени - Если НомерИспользования > 1 Тогда - ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла( - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ШаблонИмениФайла, - ИмяМакета, - " (" + НомерИспользования + ")", - Расширение)); + Если ОбщегоНазначения.ЭтоДокумент(Метаданные.НайтиПоТипу(ТипЗнч(ОбъектПечати))) Тогда + ПараметрыДляВставки = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ОбъектПечати, "Дата,Номер"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрефиксацияОбъектов") Тогда + МодульПрефиксацияОбъектовКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПрефиксацияОбъектовКлиентСервер"); + ПараметрыДляВставки.Номер = МодульПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ПараметрыДляВставки.Номер); + КонецЕсли; + ПараметрыДляВставки.Дата = Формат(ПараметрыДляВставки.Дата, "ДЛФ=D"); + ПараметрыДляВставки.Вставить("НазваниеПечатнойФормы", НазваниеПечатнойФормы); + Шаблон = НСтр("ru = '[НазваниеПечатнойФормы] № [Номер] от [Дата]'"); + Иначе + ПараметрыДляВставки = Новый Структура; + ПараметрыДляВставки.Вставить("НазваниеПечатнойФормы",НазваниеПечатнойФормы); + ПараметрыДляВставки.Вставить("ПредставлениеОбъекта", ОбщегоНазначения.ПредметСтрокой(ОбъектПечати)); + ПараметрыДляВставки.Вставить("ТекущаяДата",Формат(ТекущаяДатаСеанса(), "ДЛФ=D")); + Шаблон = НСтр("ru = '[НазваниеПечатнойФормы] - [ПредставлениеОбъекта] - [ТекущаяДата]'"); КонецЕсли; - Возврат ИмяВременногоФайла; + Возврат СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(Шаблон, ПараметрыДляВставки); КонецФункции @@ -840,7 +896,7 @@ КонецПроцедуры &НаКлиенте -Процедура СохранитьПечатныеФормыВПапку(СписокФайловВоВременномХранилище, Папка = "") +Процедура СохранитьПечатныеФормыВПапку(СписокФайловВоВременномХранилище, Знач Папка = "") #Если ВебКлиент Тогда Для Каждого ФайлДляЗаписи Из СписокФайловВоВременномХранилище Цикл @@ -849,46 +905,32 @@ Возврат; #КонецЕсли - ДополнительныеПараметры = Новый Структура("СписокФайловВоВременномХранилище, Папка", СписокФайловВоВременномХранилище, Папка); - Если НайтиФайлы(Папка,"*").Количество() > 0 Тогда - ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Папка ""%1"" не пустая. - |Перезаписывать файлы при совпадении имен?'"), - Папка); - Кнопки = Новый СписокЗначений; - Кнопки.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Перезаписывать'")); - Кнопки.Добавить(КодВозвратаДиалога.Отмена); - - ОписаниеОповещения = Новый ОписаниеОповещения("СохранитьПечатныеФормыВПапкуЗавершение", ЭтотОбъект, ДополнительныеПараметры); - - ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, Кнопки, , КодВозвратаДиалога.Отмена, НСтр("ru = 'Сохранение печатной формы'")); - Иначе - СохранитьПечатныеФормыВПапкуЗавершение(КодВозвратаДиалога.Да, ДополнительныеПараметры); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура СохранитьПечатныеФормыВПапкуЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт - - Если РезультатВопроса = КодВозвратаДиалога.Отмена Тогда - Возврат; - КонецЕсли; - - СписокФайловВоВременномХранилище = ДополнительныеПараметры.СписокФайловВоВременномХранилище; - Папка = ДополнительныеПараметры.Папка; - + Папка = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Папка); Для Каждого ФайлДляЗаписи Из СписокФайловВоВременномХранилище Цикл - ПолноеИмяФайла = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Папка) + ФайлДляЗаписи.Представление; - ДвоичныеДанные = ПолучитьИзВременногоХранилища(ФайлДляЗаписи.АдресВоВременномХранилище); - ДвоичныеДанные.Записать(ПолноеИмяФайла); + ДвоичныеДанные.Записать(УникальноеИмяФайла(Папка + ФайлДляЗаписи.Представление)); КонецЦикла; - + Состояние(НСтр("ru = 'Сохранение успешно завершено'"), , НСтр("ru = 'в папку:'") + " " + Папка); КонецПроцедуры +&НаКлиентеНаСервереБезКонтекста +Функция УникальноеИмяФайла(ИмяФайла) + Файл = Новый Файл(ИмяФайла); + ИмяБезРасширения = Файл.ИмяБезРасширения; + Расширение = Файл.Расширение; + Папка = Файл.Путь; + + Счетчик = 1; + Пока Файл.Существует() Цикл + Счетчик = Счетчик + 1; + Файл = Новый Файл(Папка + ИмяБезРасширения + " (" + Счетчик + ")" + Расширение); + КонецЦикла; + + Возврат Файл.ПолноеИмя; +КонецФункции + &НаСервере Процедура ПрисоединитьПечатныеФормыКОбъекту(ФайлыВоВременномХранилище, ОбъектДляПрисоединения) Для Каждого Файл Из ФайлыВоВременномХранилище Цикл @@ -1136,4 +1178,224 @@ КонецПроцедуры +&НаСервере +Функция ПолучитьИмяВременногоФайлаДляПечатнойФормы(ИмяМакета, Расширение, ИспользованныеИменаФайлов) + + ШаблонИмениФайла = "%1%2.%3"; + + ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла( + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонИмениФайла, ИмяМакета, "", Расширение)); + + НомерИспользования = ?(ИспользованныеИменаФайлов[ИмяВременногоФайла] <> Неопределено, + ИспользованныеИменаФайлов[ИмяВременногоФайла] + 1, + 1); + + ИспользованныеИменаФайлов.Вставить(ИмяВременногоФайла, НомерИспользования); + + // если имя уже было ранее использовано, прибавляем счетчик в конце имени + Если НомерИспользования > 1 Тогда + ИмяВременногоФайла = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыВИмениФайла( + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + ШаблонИмениФайла, + ИмяМакета, + " (" + НомерИспользования + ")", + Расширение)); + КонецЕсли; + + Возврат ИмяВременногоФайла; + +КонецФункции + +&НаСервере +Функция ТабличныеДокументыДляПечати() + ТабличныеДокументы = Новый СписокЗначений; + + Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл + Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод = ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда + ПечатнаяФорма = ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита]; + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.Вывести(ПечатнаяФорма); + ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице"); + ТабличныйДокумент.КоличествоЭкземпляров = НастройкаПечатнойФормы.Количество; + ТабличныеДокументы.Добавить(ТабличныйДокумент, НастройкаПечатнойФормы.Представление); + КонецЕсли; + КонецЦикла; + + Возврат ТабличныеДокументы; +КонецФункции + +// автосумма + +&НаКлиенте +Процедура Подключаемый_РассчитатьСуммуЯчеек() + НастройкаПечатнойФормы = ТекущаяНастройкаПечатнойФормы(); + Если НастройкаПечатнойФормы = Неопределено Тогда + Возврат; + КонецЕсли; + + ТабличныйДокумент = ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита]; + + Сумма = РассчитатьСуммуВыделенныхЯчеек(ТабличныйДокумент, Неопределено); + Если ТипЗнч(Сумма) = Тип("Число") Тогда + СуммаВыделенныхЯчеек = Формат(Сумма, "ЧН=0"); + Иначе + СуммаВыделенныхЯчеек = "-"; + КонецЕсли; +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ВычислитьСуммуСервер(Знач ТабличныйДокумент, Знач ВыделенныеОбласти) + Сумма = РассчитатьСуммуВыделенныхЯчеек(ТабличныйДокумент, ВыделенныеОбласти); + Возврат Формат(Сумма, "ЧН=0"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция РассчитатьСуммуВыделенныхЯчеек(ТабличныйДокумент, ВыделенныеОбласти) + + #Если Клиент Тогда + ВыделенныеОбласти = ТабличныйДокумент.ВыделенныеОбласти; + #КонецЕсли + + #Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда + КоличествоВыделенныхОбластей = ВыделенныеОбласти.Количество(); + Если КоличествоВыделенныхОбластей = 0 Тогда + Возврат 0; + ИначеЕсли КоличествоВыделенныхОбластей >= 100 Тогда + Возврат Неопределено; // Нужен вызов сервера. + КонецЕсли; + КоличествоВыделенныхЯчеек = 0; + #КонецЕсли + + Сумма = 0; + ПроверенныеЯчейки = Новый Соответствие; + + Для Каждого ВыделеннаяОбласть Из ВыделенныеОбласти Цикл + #Если Клиент Тогда + Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда + Продолжить; + КонецЕсли; + #КонецЕсли + + ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Верх; + ВыделеннаяОбластьНиз = ВыделеннаяОбласть.Низ; + ВыделеннаяОбластьЛево = ВыделеннаяОбласть.Лево; + ВыделеннаяОбластьПраво = ВыделеннаяОбласть.Право; + + Если ВыделеннаяОбластьВерх = 0 Тогда + ВыделеннаяОбластьВерх = 1; + КонецЕсли; + + Если ВыделеннаяОбластьНиз = 0 Тогда + ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы; + КонецЕсли; + + Если ВыделеннаяОбластьЛево = 0 Тогда + ВыделеннаяОбластьЛево = 1; + КонецЕсли; + + Если ВыделеннаяОбластьПраво = 0 Тогда + ВыделеннаяОбластьПраво = ТабличныйДокумент.ШиринаТаблицы; + КонецЕсли; + + Если ВыделеннаяОбласть.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Колонки Тогда + ВыделеннаяОбластьВерх = ВыделеннаяОбласть.Низ; + ВыделеннаяОбластьНиз = ТабличныйДокумент.ВысотаТаблицы; + КонецЕсли; + + ВыделеннаяОбластьВысота = ВыделеннаяОбластьНиз - ВыделеннаяОбластьВерх; + ВыделеннаяОбластьШирина = ВыделеннаяОбластьПраво - ВыделеннаяОбластьЛево; + + #Если Клиент И Не ТолстыйКлиентОбычноеПриложение Тогда + КоличествоВыделенныхЯчеек = КоличествоВыделенныхЯчеек + ВыделеннаяОбластьШирина * ВыделеннаяОбластьВысота; + Если КоличествоВыделенныхЯчеек >= 1000 Тогда + Возврат Неопределено; // Нужен вызов сервера. + КонецЕсли; + #КонецЕсли + + Для НомерКолонки = ВыделеннаяОбластьЛево По ВыделеннаяОбластьПраво Цикл + Для НомерСтроки = ВыделеннаяОбластьВерх По ВыделеннаяОбластьНиз Цикл + Ячейка = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); + Если ПроверенныеЯчейки.Получить(Ячейка.Имя) = Неопределено Тогда + ПроверенныеЯчейки.Вставить(Ячейка.Имя, Истина); + Иначе + Продолжить; + КонецЕсли; + + Если Ячейка.Видимость = Истина Тогда + Если Ячейка.ТипОбласти <> ТипОбластиЯчеекТабличногоДокумента.Колонки + И Ячейка.СодержитЗначение И ТипЗнч(Ячейка.Значение) = Тип("Число") Тогда + Сумма = Сумма + Ячейка.Значение; + ИначеЕсли ЗначениеЗаполнено(Ячейка.Текст) Тогда + Сумма = Сумма + СтрокаВЧисло(Ячейка.Текст); + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЦикла; + КонецЦикла; + + Возврат Сумма; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция СтрокаВЧисло(ИсходнаяСтрока) + // Превращает строку в число без вызова исключений. Стандартная функция преобразования + // Число() строго контролирует отсутствие каких-либо символов кроме числовых. + + Результат = 0; + ЗнаковПослеЗапятой = -1; + ЗнакОтрицательный = Ложь; + Для НомерСимвола = 1 По СтрДлина(ИсходнаяСтрока) Цикл + КодСимвола = КодСимвола(ИсходнаяСтрока, НомерСимвола); + Если КодСимвола = 32 Или КодСимвола = 160 Тогда // Пробел или неразрывный пробел. + // Пропуск (действие не требуется). + ИначеЕсли КодСимвола = 45 Тогда // Минус. + Если Результат <> 0 Тогда + Возврат 0; + КонецЕсли; + ЗнакОтрицательный = Истина; + ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. + Если ЗнаковПослеЗапятой <> -1 Тогда + Возврат 0; // Разделитель уже был, следовательно это не число. + КонецЕсли; + ЗнаковПослеЗапятой = 0; // Запуск отсчета знаков после запятой. + ИначеЕсли КодСимвола > 47 И КодСимвола < 58 Тогда // Число. + Если ЗнаковПослеЗапятой <> -1 Тогда + ЗнаковПослеЗапятой = ЗнаковПослеЗапятой + 1; + КонецЕсли; + Число = КодСимвола - 48; + Результат = Результат * 10 + Число; + Иначе + Возврат 0; + КонецЕсли; + КонецЦикла; + + Если ЗнаковПослеЗапятой > 0 Тогда + Результат = Результат / Pow(10, ЗнаковПослеЗапятой); + КонецЕсли; + Если ЗнакОтрицательный Тогда + Результат = -Результат; + КонецЕсли; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ВыделенныеОбласти(ТабличныйДокумент) + Результат = Новый Массив; + Для Каждого ВыделеннаяОбласть Из ТабличныйДокумент.ВыделенныеОбласти Цикл + Если ТипЗнч(ВыделеннаяОбласть) <> Тип("ОбластьЯчеекТабличногоДокумента") Тогда + Продолжить; + КонецЕсли; + Структура = Новый Структура("Верх, Низ, Лево, Право, ТипОбласти"); + ЗаполнитьЗначенияСвойств(Структура, ВыделеннаяОбласть); + Результат.Добавить(Структура); + КонецЦикла; + Возврат Результат; +КонецФункции + #КонецОбласти + + + + diff --git a/SSL/src/CommonForms/ПодключениеКонечнойТочки/Form.form b/SSL/src/CommonForms/ПодключениеКонечнойТочки/Form.form index a918a799c..01570a936 100644 --- a/SSL/src/CommonForms/ПодключениеКонечнойТочки/Form.form +++ b/SSL/src/CommonForms/ПодключениеКонечнойТочки/Form.form @@ -236,7 +236,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto @@ -477,7 +477,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/CommonForms/ПодключениеКонечнойТочки/Module.bsl b/SSL/src/CommonForms/ПодключениеКонечнойТочки/Module.bsl index 5d99720d6..413849732 100644 --- a/SSL/src/CommonForms/ПодключениеКонечнойТочки/Module.bsl +++ b/SSL/src/CommonForms/ПодключениеКонечнойТочки/Module.bsl @@ -10,6 +10,8 @@ СобытиеЖурналаРегистрацииПодключениеКонечнойТочки = ОбменСообщениямиВнутренний.СобытиеЖурналаРегистрацииПодключениеКонечнойТочки(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + КонецПроцедуры &НаКлиенте diff --git a/SSL/src/CommonForms/ПодписьЭП/Form.form b/SSL/src/CommonForms/ПодписьЭП/Form.form index bd2b20c7d..f65d984e9 100644 --- a/SSL/src/CommonForms/ПодписьЭП/Form.form +++ b/SSL/src/CommonForms/ПодписьЭП/Form.form @@ -303,7 +303,7 @@ ПриСозданииНаСервере 60 - DontBlock + LockOwner true true true diff --git a/SSL/src/CommonForms/ПодписьЭП/Help/ru.html b/SSL/src/CommonForms/ПодписьЭП/Help/ru.html index 1856062bd..7988ea243 100644 --- a/SSL/src/CommonForms/ПодписьЭП/Help/ru.html +++ b/SSL/src/CommonForms/ПодписьЭП/Help/ru.html @@ -1,8 +1,15 @@ - -

                    Форма предназначена для просмотра основных свойств электронной подписи (ЭП).

                    -

                    В ней можно посмотреть основные свойства подписи: кому выдан сертификат, кто установил подпись, дату установки подписи, комментарий к подписи.

                    -

                    По команде "Открыть сертификат" открывается форма просмотра сертификата.

                    -

                     

                    -

                    См. также:

                    -
                    -

                    Настройка ЭП и шифрования
                    Персональные настройки ЭП

                    \ No newline at end of file + +

                    Предназначена для просмотра основных свойств электронной подписи (ЭП).

                    +

                    Открывается по команде Открыть подпись (также можно воспользоваться двойным щелчком мыши) в списке электронных подписей на вкладке Электронные подписи карточки файла (карточки присоединенного файла).

                    +

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

                    +

                    С помощью ЭП можно:

                    +
                    • Подписывать объекты программы (например, в документе поля Наименование и Краткое содержание); +
                    • Подписывать содержимое хранимых файлов.

                    Сведения о подписи

                    +
                    • Кому выдан сертификат - данные о том, кому был выдан сертификат; +
                    • Установивший подпись - программа автоматически выводит пользователя, который установил подпись; +
                    • Дата подписи - дата и время установки подписи; +
                    • Комментарий - дополнительная информация о подписи.

                    Выгрузка подписи

                    +
                    • Нажмите Выгрузить, укажите папку на сетевом или локальном диске, для того чтобы сохранить ЭП на компьютер.

                    Просмотр сертификата

                    +

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/ПодтверждениеПароляУчетнойЗаписи/Help/ru.html b/SSL/src/CommonForms/ПодтверждениеПароляУчетнойЗаписи/Help/ru.html index 5b0d416bd..d7164a4e9 100644 --- a/SSL/src/CommonForms/ПодтверждениеПароляУчетнойЗаписи/Help/ru.html +++ b/SSL/src/CommonForms/ПодтверждениеПароляУчетнойЗаписи/Help/ru.html @@ -1,4 +1,4 @@ - +

                    Предназначена для ввода пароля учетной записи электронной почты. Открывается при отправке письма с учетных записей, в которых пароль не задан.

                    Ввод пароля и отправка письма

                    • Для отправки письма введите Пароль и его Подтверждение; diff --git a/SSL/src/CommonForms/ПраваДоступа/Help/ru.html b/SSL/src/CommonForms/ПраваДоступа/Help/ru.html index faa9beb25..4c4fea42a 100644 --- a/SSL/src/CommonForms/ПраваДоступа/Help/ru.html +++ b/SSL/src/CommonForms/ПраваДоступа/Help/ru.html @@ -1,4 +1,4 @@ - +

                      Предназначен для просмотра и настройки состава групп доступа пользователя (внешнего пользователя).

                      Открывается по команде Права доступа на панели навигации пользователя (внешнего пользователя).

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

                      diff --git a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Form.form b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Form.form index 29f9a502f..c2c032c03 100644 --- a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Form.form +++ b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Form.form @@ -232,8 +232,7 @@ ПрофилиКонтекстноеМеню 3 - true - true + 40 true true true @@ -264,7 +263,6 @@ НадписьПрофиль 60 - true true true @@ -370,6 +368,7 @@ Left true + 17 true true true @@ -423,7 +422,7 @@ ChoiceProcessing ВидыДоступаВсеРазрешеныПредставлениеОбработкаВыбора - 30 + 23 true true true @@ -438,58 +437,6 @@ ВидыДоступаКоманднаяПанель 14 - - ВидыДоступаИзменить - 72 - true - true - - true - - - ВидыДоступаИзменитьExtendedTooltip - 86 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ВидыДоступаЗакончитьРедактирование - 71 - true - true - - true - - - ВидыДоступаЗакончитьРедактированиеExtendedTooltip - 87 - Label - true - true - - Left - - - Form.Item.ВидыДоступа.StandardCommand.EndEdit - Normal - Auto - true - true - UserCmds - Auto - Left @@ -651,8 +598,8 @@ 45 true - 10 true + 2 true Row
                      true
                      @@ -681,52 +628,6 @@ ЗначенияДоступаПоВидуДоступа 21 - - НадписьВидДоступа - 23 - true - true - - true - - - НадписьВидДоступа - - None - Ctrl+S - - НадписьВидДоступаExtendedTooltip - 93 - Label - true - true - - Left - - - - НадписьВидДоступаКонтекстноеМеню - 24 - true - - LabelField - Enter - true - Left - true - - true - true - true - - System.DefaultGUIFont - true - false - false - false - - - ТекстВидДоступаНеИспользуется 107 @@ -878,171 +779,8 @@ ЗначенияДоступаКоманднаяПанель 29 - - ЗначенияДоступаДобавить - 36 - true - true - - true - - false - - ЗначенияДоступаДобавитьExtendedTooltip - 98 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаУдалить - 37 - true - true - - true - - false - - ЗначенияДоступаУдалитьExtendedTooltip - 99 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВверх - 40 - true - true - - true - - false - - ЗначенияДоступаПереместитьВверхExtendedTooltip - 100 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveUp - Normal - Auto - true - true - UserCmds - Auto - - - ЗначенияДоступаПереместитьВниз - 41 - true - true - - true - - false - - ЗначенияДоступаПереместитьВнизExtendedTooltip - 101 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.MoveDown - Normal - Auto - true - true - UserCmds - Auto - - - СортироватьСписокПоВозрастанию - 42 - true - true - - true - - false - - СортироватьСписокПоВозрастаниюExtendedTooltip - 102 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListAsc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СортироватьСписокПоУбыванию - 43 - true - true - - true - - false - - СортироватьСписокПоУбываниюExtendedTooltip - 103 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.SortListDesc - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - Left + true OnEditEnd @@ -1058,10 +796,10 @@ ЗначенияДоступаСтрокаПоиска - 152 + 151 ЗначенияДоступаСтрокаПоискаРасширеннаяПодсказка - 154 + 153 Label true true @@ -1071,7 +809,7 @@ ЗначенияДоступаСтрокаПоискаКонтекстноеМеню - 153 + 152 true ЗначенияДоступа @@ -1081,10 +819,10 @@ ЗначенияДоступаСостояниеПросмотра - 155 + 154 ЗначенияДоступаСостояниеПросмотраРасширеннаяПодсказка - 157 + 156 Label true true @@ -1094,7 +832,7 @@ ЗначенияДоступаСостояниеПросмотраКонтекстноеМеню - 156 + 155 true ViewStatusAddition @@ -1105,10 +843,10 @@ ЗначенияДоступаУправлениеПоиском - 158 + 157 ЗначенияДоступаУправлениеПоискомРасширеннаяПодсказка - 160 + 159 Label true true @@ -1118,7 +856,7 @@ ЗначенияДоступаУправлениеПоискомКонтекстноеМеню - 159 + 158 true SearchControlAddition @@ -1140,65 +878,13 @@ ЗначенияДоступаКонтекстноеМеню 28 - - КонтекстноеМенюЗначенияДоступаДобавить - 34 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаДобавитьExtendedTooltip - 96 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - КонтекстноеМенюЗначенияДоступаУдалить - 35 - true - true - - true - - false - - КонтекстноеМенюЗначенияДоступаУдалитьExtendedTooltip - 97 - Label - true - true - - Left - - - Form.Item.ЗначенияДоступа.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - + true true true true true + 2 true MultiRow 1 @@ -1226,14 +912,6 @@ true - - <key>ru</key> - <value>Значения доступа по виду доступа</value> - - - ru - Значения доступа по виду доступа - ЗначенияДоступаПоВидуДоступаExtendedTooltip 91 @@ -1250,6 +928,9 @@ Auto true true + + НадписьВидДоступа + Auto Auto
                      @@ -1259,9 +940,7 @@ true - - Style.TextFont - + 40 ДоступExtendedTooltip 82 @@ -1278,6 +957,9 @@ Auto true true + + Items.Профили.CurrentData.ПрофильПредставление + Auto Auto @@ -1295,6 +977,7 @@ ru Права и ограничения + 12 ПраваИОграниченияExtendedTooltip 78 @@ -1411,6 +1094,7 @@ FillCheckProcessingAtServer ОбработкаПроверкиЗаполненияНаСервере + 80 DontBlock true true diff --git a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Help/ru.html b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Help/ru.html index 0e563d541..61f174dd5 100644 --- a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Help/ru.html +++ b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Help/ru.html @@ -1,4 +1,4 @@ - +

                      Упрощенный режим настройки прав доступа.

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

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

                      @@ -16,6 +16,6 @@
                      • укажите список разрешенных значений - такой способ настройки подходит в  тех случаях, когда стоит задача предоставить доступ только к определенной области данных.
                      • укажите список тех значений, которые не должны быть доступны. Такой способ настройки удобен тогда, когда требуется закрыть доступ к заранее известной области данных, а для всех новых значений, вводимых в программу, должны по умолчанию действовать разрешительные правила. Например, если с помощью вида доступа Организации задано правило, запрещающее работать с документами по организации "Далекая перспектива", то на новую организацию "Новые технологии", введенную в программе позднее, эти ограничения распространяться не будут. При этом следует учитывать, что разрешающие настройки имеют приоритет над запрещающими. Если в приведенном выше примере пользователю будет разрешен ввод документов по организации "Далекая перспектива" в какой-либо другой группе с этим же профилем, то в итоге он получит доступ ко всем документам по этой организации.
                        • Для указания исключений нажмите Добавить и выберите из списка значений нужные.

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

                      -

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

                      +

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

                      См. также:

                      \ No newline at end of file diff --git a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Module.bsl b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Module.bsl index fc16776ed..983f6fe10 100644 --- a/SSL/src/CommonForms/ПраваДоступаУпрощенно/Module.bsl +++ b/SSL/src/CommonForms/ПраваДоступаУпрощенно/Module.bsl @@ -66,6 +66,8 @@ ЗапретИзмененияАдминистративногоДоступа = НЕ ДействияСПользователемСервиса.ИзменениеАдминистративногоДоступа; КонецЕсли; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, "Доступ"); + КонецПроцедуры &НаКлиенте @@ -836,11 +838,10 @@ И НЕ Форма.ТолькоПросмотр; КонецЕсли; - Элементы.НадписьПрофиль.Доступность = ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка; + Элементы.Доступ.Доступность = ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка; Элементы.ВидыДоступа.ТолькоПросмотр = НЕ РедактированиеТекущихОграничений; - Элементы.НадписьВидДоступа.Доступность = ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка; + Элементы.ЗначенияДоступаПоВидуДоступа.Доступность = ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка; Элементы.ЗначенияДоступа.ТолькоПросмотр = НЕ РедактированиеТекущихОграничений; - Элементы.ВидыДоступаИзменить.Доступность = РедактированиеТекущихОграничений; Элементы.ВидыДоступаКонтекстноеМенюИзменить.Доступность = РедактированиеТекущихОграничений; Если Форма.ТекущийПрофиль = Неопределено Тогда @@ -852,7 +853,13 @@ Если Элементы.ВидыДоступа.ОтборСтрок = Неопределено ИЛИ Элементы.ВидыДоступа.ОтборСтрок.ГруппаДоступа <> Форма.ТекущаяГруппаДоступа Тогда - Элементы.ВидыДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа); + Если Элементы.ВидыДоступа.ОтборСтрок = Неопределено Тогда + ОтборСтрок = Новый Структура; + Иначе + ОтборСтрок = Новый Структура(Элементы.ВидыДоступа.ОтборСтрок); + КонецЕсли; + ОтборСтрок.Вставить("ГруппаДоступа", Форма.ТекущаяГруппаДоступа); + Элементы.ВидыДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура(ОтборСтрок); ТекущиеВидыДоступа = ВидыДоступа.НайтиСтроки(Новый Структура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа)); Если ТекущиеВидыДоступа.Количество() = 0 Тогда Элементы.ЗначенияДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа, ВидДоступа", Форма.ТекущаяГруппаДоступа, ""); diff --git a/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Form.form b/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Form.form index 5b629e3b1..9288b4a58 100644 --- a/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Form.form +++ b/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Form.form @@ -48,47 +48,6 @@ ОсновнаяГруппа 3 - - Декорация1 - 29 - - <key>ru</key> - <value>Дополнительные действия при завершении работы:</value> - - true - true - - true - - - Декорация1ExtendedTooltip - 36 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 30 - true - - Label - true - true - - System.DefaultGUIFont - true - false - false - false - - - Left - - true true @@ -96,12 +55,9 @@ <key>ru</key> - <value>Основная группа</value> + <value>Дополнительные действия при завершении работы:</value> - - ru - Основная группа - + Ctrl+S true ОсновнаяГруппаExtendedTooltip @@ -119,6 +75,7 @@ Auto true true + auto Auto Auto diff --git a/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Module.bsl b/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Module.bsl index 1a2f4a87d..edd19480b 100644 --- a/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Module.bsl +++ b/SSL/src/CommonForms/ПредупрежденияПриЗавершенииРаботы/Module.bsl @@ -8,7 +8,16 @@ Возврат; КонецЕсли; + Ключ = ""; + Для Каждого Предупреждение Из Параметры.Предупреждения Цикл + Ключ = Ключ + Предупреждение.ДействиеПриУстановленномФлажке.Форма + Предупреждение.ДействиеПриНажатииГиперссылки.Форма; + КонецЦикла; + Хеш = Новый ХешированиеДанных(ХешФункция.MD5); + Хеш.Добавить(Ключ); + КлючСохраненияПоложенияОкна = "ПредупрежденияПриЗавершенииРаботы" + СтрЗаменить(Хеш.ХешСумма, " ", ""); + ИнициализироватьЭлементыВФорме(Параметры.Предупреждения); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); КонецПроцедуры @@ -16,10 +25,8 @@ #Область ОбработчикиСобытийЭлементовШапкиФормы -// Обработчик нажатия на гиперссылку. -// &НаКлиенте -Процедура НажатиеНаГиперСсылку(Элемент) +Процедура НажатиеНаГиперссылку(Элемент) ИмяЭлемента = Элемент.Имя; Для Каждого СтрокаВопроса Из МассивСоотношенияЭлементовИПараметров Цикл @@ -38,10 +45,9 @@ КонецПроцедуры -// Инициализирует массив будущих задач, которые необходимо выполнить при закрытии. -// &НаКлиенте -Процедура ИзменитьМассивБудущихЗадач(Элемент) +Процедура ФлажокПриИзменении(Элемент) + ИмяЭлемента = Элемент.Имя; НайденныйЭлемент = Элементы.Найти(ИмяЭлемента); @@ -95,17 +101,19 @@ // Создает элементы формы по передаваемым вопросам пользователю. // // Параметры: -// Вопросы - Массив - Содержит структуры с параметрами значений вопросов. +// Вопросы - Массив - структуры с параметрами значений вопросов. +// См. СтандартныеПодсистемы.БазоваяФункциональность\ПриПолученииСпискаПредупрежденийЗавершенияРаботы // &НаСервере Процедура ИнициализироватьЭлементыВФорме(Знач Предупреждения) // Добавляем возможно не указанные значения по умолчанию - ТаблицаПредупреждений = ПреобразоватьМассивСтруктурВТаблицуЗначений(Предупреждения); + ТаблицаПредупреждений = МассивСтруктурВТаблицуЗначений(Предупреждения); Для Каждого ТекущееПредупреждение Из ТаблицаПредупреждений Цикл - // Элемент на форму добавляем только если указаны или текст для флага, или текст для гиперссылки, но не одновременно - НужнаСсылка = Не ПустаяСтрока(ТекущееПредупреждение.ТекстГиперСсылки); + + // Элемент на форму добавляем только если указаны или текст для флага, или текст для Гиперссылки, но не одновременно + НужнаСсылка = Не ПустаяСтрока(ТекущееПредупреждение.ТекстГиперссылки); НуженФлаг = Не ПустаяСтрока(ТекущееПредупреждение.ТекстФлажка); Если НужнаСсылка И НуженФлаг Тогда @@ -121,7 +129,7 @@ КонецЦикла; - // Окончательно располагаем элементы + // Подвал. ТекстНадписи = НСтр("ru = 'Завершить работу с программой?'"); ИмяНадписи = ОпределитьИмяНадписиВФорме("НадписьВопроса"); @@ -135,25 +143,19 @@ КонецПроцедуры &НаСервере -Функция ПреобразоватьМассивСтруктурВТаблицуЗначений(Знач Предупреждения) +Функция МассивСтруктурВТаблицуЗначений(Знач Предупреждения) // Формируем таблицу, содержащую значения по умолчанию ТаблицаПредупреждений = Новый ТаблицаЗначений; КолонкиПредупреждений = ТаблицаПредупреждений.Колонки; - КолонкиПредупреждений.Добавить("ПоясняющийТекст"); - КолонкиПредупреждений.Добавить("ТекстФлажка"); КолонкиПредупреждений.Добавить("ДействиеПриУстановленномФлажке"); - КолонкиПредупреждений.Добавить("ТекстГиперссылки"); КолонкиПредупреждений.Добавить("ДействиеПриНажатииГиперссылки"); - КолонкиПредупреждений.Добавить("Приоритет"); КолонкиПредупреждений.Добавить("ВывестиОдноПредупреждение"); - КолонкиПредупреждений.Добавить("РасширеннаяПодсказка"); - КолонкиПредупреждений.Добавить("ОтображениеРасширеннойПодсказки"); ОдиночныеПредупреждения = Новый Массив; @@ -171,16 +173,15 @@ ТаблицаПредупреждений = ТаблицаПредупреждений.Скопировать(ОдиночныеПредупреждения); КонецЕсли; + // Чем больше приоритет, тем выше в списке выводится предупреждение. ТаблицаПредупреждений.Сортировать("Приоритет УБЫВ"); Возврат ТаблицаПредупреждений; КонецФункции -// Формирует на форме группу и возвращает её. -// Является дочерней группой для "ОсновнойГруппы". -// &НаСервере Функция СформироватьГруппуЭлементовФормы() + ИмяГруппы = ОпределитьИмяНадписиВФорме("ГруппаВФорме"); Группа = Элементы.Добавить(ИмяГруппы, Тип("ГруппаФормы"), Элементы.ОсновнаяГруппа); @@ -191,93 +192,74 @@ Группа.Отображение = ОтображениеОбычнойГруппы.Нет; Возврат Группа; + КонецФункции -// Формирует на форме гиперссылку с поясняющим текстом. -// -// Параметры: -// СтруктураВопроса - Структура - данные вопроса для формирования -// &НаСервере -Процедура СоздатьГиперСсылкуНаФорме(СтруктураВопроса) +Процедура СоздатьГиперссылкуНаФорме(СтруктураВопроса) + Группа = СформироватьГруппуЭлементовФормы(); - Если СтруктураВопроса.ПоясняющийТекст <> Неопределено Тогда - Если Не ПустаяСтрока(СтруктураВопроса.ПоясняющийТекст) Тогда - ИмяНадписи = ОпределитьИмяНадписиВФорме("НадписьВопроса"); - ТипНадписи = Тип("ДекорацияФормы"); - - РодительНадписи = Группа; - - ЭлементПоясняющегоТекста = Элементы.Добавить(ИмяНадписи, ТипНадписи, РодительНадписи); - ЭлементПоясняющегоТекста.Заголовок = СтруктураВопроса.ПоясняющийТекст; - КонецЕсли; + Если Не ПустаяСтрока(СтруктураВопроса.ПоясняющийТекст) Тогда + ИмяНадписи = ОпределитьИмяНадписиВФорме("НадписьВопроса"); + ТипНадписи = Тип("ДекорацияФормы"); + + РодительНадписи = Группа; + + ЭлементПоясняющегоТекста = Элементы.Добавить(ИмяНадписи, ТипНадписи, РодительНадписи); + ЭлементПоясняющегоТекста.Заголовок = СтруктураВопроса.ПоясняющийТекст; КонецЕсли; - Если ПустаяСтрока(СтруктураВопроса.ТекстГиперСсылки) Тогда + Если ПустаяСтрока(СтруктураВопроса.ТекстГиперссылки) Тогда Возврат; КонецЕсли; // Конструируем гиперссылку - ИмяГиперСсылки = ОпределитьИмяНадписиВФорме("НадписьВопроса"); - ТипГиперСсылки = Тип("ДекорацияФормы"); + ИмяГиперссылки = ОпределитьИмяНадписиВФорме("НадписьВопроса"); + ТипГиперссылки = Тип("ДекорацияФормы"); - РодительГиперСсылки = Группа; + РодительГиперссылки = Группа; - ЭлементГиперСсылки = Элементы.Добавить(ИмяГиперСсылки, ТипГиперСсылки, РодительГиперСсылки); - ЭлементГиперСсылки.Гиперссылка = Истина; - ЭлементГиперСсылки.Заголовок = СтруктураВопроса.ТекстГиперСсылки; - ЭлементГиперСсылки.УстановитьДействие("Нажатие", "НажатиеНаГиперСсылку"); + ЭлементГиперссылки = Элементы.Добавить(ИмяГиперссылки, ТипГиперссылки, РодительГиперссылки); + ЭлементГиперссылки.Гиперссылка = Истина; + ЭлементГиперссылки.Заголовок = СтруктураВопроса.ТекстГиперссылки; + ЭлементГиперссылки.УстановитьДействие("Нажатие", "НажатиеНаГиперссылку"); - УстановитьРасширеннуюПодсказку(ЭлементГиперСсылки, СтруктураВопроса); + УстановитьРасширеннуюПодсказку(ЭлементГиперссылки, СтруктураВопроса); - ФормаГиперСсылки = Неопределено; - ДействиеГиперСсылки = Неопределено; - Если СтруктураВопроса.ДействиеПриНажатииГиперссылки <> Неопределено Тогда - - СтруктураОбработки = СтруктураВопроса.ДействиеПриНажатииГиперссылки; - Если СтруктураОбработки.Свойство("Форма", ФормаГиперСсылки) Тогда - СтруктураМассива = Новый Структура; - СтруктураМассива.Вставить("Имя", ИмяГиперСсылки); - СтруктураМассива.Вставить("Форма", ФормаГиперСсылки); - - ПараметрыФормы = Неопределено; - Если СтруктураОбработки.Свойство("ПараметрыФормы", ПараметрыФормы) Тогда - Если ТипЗнч(ПараметрыФормы) = Тип("Структура") Тогда - ПараметрыФормы.Вставить("ЗавершениеРаботыПрограммы", Истина); - ИначеЕсли ПараметрыФормы = Неопределено Тогда - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ЗавершениеРаботыПрограммы", Истина); - КонецЕсли; - СтруктураМассива.Вставить("ПараметрыФормы", ПараметрыФормы); - КонецЕсли; - - МассивСоотношенияЭлементовИПараметров.Добавить(СтруктураМассива); - КонецЕсли; + СтруктураОбработки = СтруктураВопроса.ДействиеПриНажатииГиперссылки; + Если ПустаяСтрока(СтруктураОбработки.Форма) Тогда + Возврат; КонецЕсли; + ПараметрыОткрытияФормы = Новый Структура; + ПараметрыОткрытияФормы.Вставить("Имя", ИмяГиперссылки); + ПараметрыОткрытияФормы.Вставить("Форма", СтруктураОбработки.Форма); + + ПараметрыФормы = СтруктураОбработки.ПараметрыФормы; + Если ПараметрыФормы = Неопределено Тогда + ПараметрыФормы = Новый Структура; + КонецЕсли; + ПараметрыФормы.Вставить("ЗавершениеРаботыПрограммы", Истина); + ПараметрыОткрытияФормы.Вставить("ПараметрыФормы", ПараметрыФормы); + + МассивСоотношенияЭлементовИПараметров.Добавить(ПараметрыОткрытияФормы); КонецПроцедуры -// Формирует на форме флажок с поясняющим текстом. -// -// Параметры: -// СтруктураВопроса - структура передаваемого вопроса. -// &НаСервере Процедура СоздатьФлажокНаФорме(СтруктураВопроса) + ЗначениеПоУмолчанию = Истина; Группа = СформироватьГруппуЭлементовФормы(); - Если СтруктураВопроса.ПоясняющийТекст <> Неопределено Тогда - Если Не ПустаяСтрока(СтруктураВопроса.ПоясняющийТекст) Тогда - ИмяНадписи = ОпределитьИмяНадписиВФорме("НадписьВопроса"); - ТипНадписи = Тип("ДекорацияФормы"); - - РодительНадписи = Группа; - - ЭлементПоясняющегоТекста = Элементы.Добавить(ИмяНадписи, ТипНадписи, РодительНадписи); - ЭлементПоясняющегоТекста.Заголовок = СтруктураВопроса.ПоясняющийТекст; - КонецЕсли; + Если Не ПустаяСтрока(СтруктураВопроса.ПоясняющийТекст) Тогда + ИмяНадписи = ОпределитьИмяНадписиВФорме("НадписьВопроса"); + ТипНадписи = Тип("ДекорацияФормы"); + + РодительНадписи = Группа; + + ЭлементПоясняющегоТекста = Элементы.Добавить(ИмяНадписи, ТипНадписи, РодительНадписи); + ЭлементПоясняющегоТекста.Заголовок = СтруктураВопроса.ПоясняющийТекст; КонецЕсли; Если ПустаяСтрока(СтруктураВопроса.ТекстФлажка) Тогда @@ -309,95 +291,50 @@ УстановитьРасширеннуюПодсказку(НовоеПолеФормы, СтруктураВопроса); - // Инициализация элемента в массиве. - ФормаЭлемента = Неопределено; - СтруктураДействия = Неопределено; - - Если СтруктураВопроса.ДействиеПриУстановленномФлажке <> Неопределено Тогда - СтруктураДействия = СтруктураВопроса.ДействиеПриУстановленномФлажке; - Если СтруктураДействия.Свойство("Форма", ФормаЭлемента) Тогда - НовоеПолеФормы.УстановитьДействие("ПриИзменении", "ИзменитьМассивБудущихЗадач"); - - СтруктураМассива = Новый Структура; - СтруктураМассива.Вставить("Имя", ИмяФлажка); - СтруктураМассива.Вставить("Форма", ФормаЭлемента); - СтруктураМассива.Вставить("Использование", ЗначениеПоУмолчанию); - - ПараметрыФормы = Неопределено; - Если СтруктураДействия.Свойство("ПараметрыФормы", ПараметрыФормы) Тогда - СтруктураМассива.Вставить("ПараметрыФормы", ПараметрыФормы); - КонецЕсли; - - МассивЗадачНаВыполнениеПослеЗакрытия.Добавить(СтруктураМассива); - КонецЕсли; + Если ПустаяСтрока(СтруктураВопроса.ДействиеПриУстановленномФлажке.Форма) Тогда + Возврат; КонецЕсли; + СтруктураДействия = СтруктураВопроса.ДействиеПриУстановленномФлажке; + + НовоеПолеФормы.УстановитьДействие("ПриИзменении", "ФлажокПриИзменении"); + + ПараметрыОткрытияФормы = Новый Структура; + ПараметрыОткрытияФормы.Вставить("Имя", ИмяФлажка); + ПараметрыОткрытияФормы.Вставить("Форма", СтруктураДействия.Форма); + ПараметрыОткрытияФормы.Вставить("Использование", ЗначениеПоУмолчанию); + + ПараметрыФормы = СтруктураДействия.ПараметрыФормы; + Если ПараметрыФормы = Неопределено Тогда + ПараметрыФормы = Новый Структура; + КонецЕсли; + ПараметрыФормы.Вставить("ЗавершениеРаботыПрограммы", Истина); + ПараметрыОткрытияФормы.Вставить("ПараметрыФормы", ПараметрыФормы); + + МассивЗадачНаВыполнениеПослеЗакрытия.Добавить(ПараметрыОткрытияФормы); + КонецПроцедуры -// Устанавливает расширенную подсказку и ее отображение для элемента -// &НаСервере Процедура УстановитьРасширеннуюПодсказку(ЭлементФормы, Знач СтрокаОписания) - ОписаниеРасширеннойПодсказки = СтрокаОписания.РасширеннаяПодсказка; - Если ОписаниеРасширеннойПодсказки = Неопределено Тогда + ОписаниеРасширеннойПодсказки = СтрокаОписания.РасширеннаяПодсказка; + Если ОписаниеРасширеннойПодсказки = "" Тогда Возврат; КонецЕсли; Если ТипЗнч(ОписаниеРасширеннойПодсказки) <> Тип("Строка") Тогда // Устанавливаем в расширенную подсказку ЗаполнитьЗначенияСвойств(ЭлементФормы.РасширеннаяПодсказка, ОписаниеРасширеннойПодсказки); - Если СтрокаОписания.ОтображениеРасширеннойПодсказки <> Неопределено Тогда - ЭлементФормы.ОтображениеПодсказки = ОтображениеПодсказки[СтрокаОписания.ОтображениеРасширеннойПодсказки]; - КонецЕсли; - + ЭлементФормы.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка; Возврат; КонецЕсли; - // Добавляем как простой поясняющий текст снизу - ТипУправляемаяФорма = Тип("УправляемаяФорма"); - ФормаТекущегоЭлемента = ЭлементФормы; - Пока ТипЗнч(ФормаТекущегоЭлемента) <> ТипУправляемаяФорма Цикл - ФормаТекущегоЭлемента = ФормаТекущегоЭлемента.Родитель; - КонецЦикла; - ЭлементыФормы = ФормаТекущегоЭлемента.Элементы; - ИмяТекущегоЭлемента = ЭлементФормы.Имя; + ЭлементФормы.РасширеннаяПодсказка.Заголовок = ОписаниеРасширеннойПодсказки; + ЭлементФормы.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка; - ГруппаЭлемента = ЭлементыФормы.Добавить(ИмяТекущегоЭлемента + "ГруппаПоясняющийТекст", Тип("ГруппаФормы"), ЭлементФормы.Родитель); - ГруппаЭлемента.Вид = ВидГруппыФормы.ОбычнаяГруппа; - ГруппаЭлемента.РастягиватьПоГоризонтали = Истина; - ГруппаЭлемента.РастягиватьПоВертикали = Истина; - ГруппаЭлемента.ОтображатьЗаголовок = Ложь; - ГруппаЭлемента.Отображение = ОтображениеОбычнойГруппы.Нет; - ГруппаЭлемента.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; - - ВыравнивающаяГруппа = ЭлементыФормы.Добавить(ИмяТекущегоЭлемента + "ГруппаПоясняющийТекстВыравнивание", Тип("ГруппаФормы"), ГруппаЭлемента); - ВыравнивающаяГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа; - ВыравнивающаяГруппа.РастягиватьПоГоризонтали = Истина; - ВыравнивающаяГруппа.РастягиватьПоВертикали = Истина; - ВыравнивающаяГруппа.ОтображатьЗаголовок = Ложь; - ВыравнивающаяГруппа.Отображение = ОтображениеОбычнойГруппы.Нет; - ВыравнивающаяГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; - - ОтступТекста = ЭлементыФормы.Добавить(ИмяТекущегоЭлемента + "ГруппаПоясняющийТекстОтступ", Тип("ДекорацияФормы"), ВыравнивающаяГруппа); - ОтступТекста.Вид = ВидДекорацииФормы.Надпись; - ОтступТекста.Ширина = 1; - - ПоясняющийТекст = ЭлементыФормы.Добавить(ИмяТекущегоЭлемента + "ПоясняющийТекст", Тип("ДекорацияФормы"), ВыравнивающаяГруппа); - ПоясняющийТекст.Вид = ВидДекорацииФормы.Надпись; - ПоясняющийТекст.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; - ПоясняющийТекст.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; - ПоясняющийТекст.РастягиватьПоВертикали = Истина; - ПоясняющийТекст.Заголовок = ОписаниеРасширеннойПодсказки; - - ЭлементыФормы.Переместить(ЭлементФормы, ГруппаЭлемента, ВыравнивающаяГруппа); КонецПроцедуры -// Формирует имя надписи в форме по заголовку. -// -// Параметры: -// ЗаголовокЭлемента - Строка - заголовок. -// &НаСервере Функция ОпределитьИмяНадписиВФорме(ЗаголовокЭлемента) Индекс = 0; @@ -431,8 +368,6 @@ Возврат Неопределено; КонецФункции -// Выполняет необходимые задачи. -// &НаКлиенте Процедура ВыполнениеЗадачПриЗакрытии(Результат = Неопределено, НачальныйНомерЗадачи = Неопределено) Экспорт diff --git a/SSL/src/CommonForms/ПрисоединенныеФайлы/Form.form b/SSL/src/CommonForms/ПрисоединенныеФайлы/Form.form index 5dd63f3ff..310730d34 100644 --- a/SSL/src/CommonForms/ПрисоединенныеФайлы/Form.form +++ b/SSL/src/CommonForms/ПрисоединенныеФайлы/Form.form @@ -4,6 +4,1030 @@ ru Присоединенные файлы + + ГруппаПользовательскихНастроек + 240 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 241 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 242 + + ФормаВыбрать + 220 + true + true + + true + + + ФормаВыбратьРасширеннаяПодсказка + 221 + Label + true + true + + Left + + + Form.StandardCommand.Choose + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСоздать + 1 + true + true + + true + + + ФормаСоздатьExtendedTooltip + 103 + Label + true + true + + Left + + + Form.Command.Создать + Normal + true + true + UserCmds + Auto + + + ФормаИзменить + 102 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 122 + Label + true + true + + Left + + + Form.Command.ОткрытьСвойстваФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаГруппаКомандОсновные + 33 + + ФормаОткрыть + 3 + true + true + + true + + + ФормаОткрытьРасширеннаяПодсказка + 105 + Label + true + true + + Left + + + Form.Command.ОткрытьФайлДляПросмотра + Normal + true + true + UserCmds + Auto + + + ФормаРедактировать + 34 + true + true + + true + + + ФормаРедактироватьExtendedTooltip + 107 + Label + true + true + + Left + + + Form.Command.Редактировать + Normal + true + true + UserCmds + Auto + + + ФормаЗакончитьРедактирование + 43 + true + true + + true + + + ФормаЗакончитьРедактированиеExtendedTooltip + 108 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Picture + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд основные</value> + + + ФормаГруппаКомандОсновныеРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + + + + ФормаГлобальныеКоманды + 218 + true + true + + true + + + <key>ru</key> + <value>Форма глобальные команды</value> + + + ru + Форма глобальные команды + + None + + ФормаГлобальныеКомандыРасширеннаяПодсказка + 219 + Label + true + true + + Left + + + + FormCommandPanelGlobalCommands + + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрование + 72 + + ФормаЭППодписать + 75 + true + true + + true + + + ФормаЭППодписатьРасширеннаяПодсказка + 111 + Label + true + true + + Left + + + Form.Command.ЭППодписать + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьВместеСЭП + 73 + true + true + + true + + + ФормаСохранитьВместеСЭПРасширеннаяПодсказка + 112 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСЭП + Normal + Auto + true + true + UserCmds + Auto + + + ФормаДобавитьЭПИзФайла + 74 + true + true + + true + + + ФормаДобавитьЭПИзФайлаРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + Form.Command.ДобавитьЭПИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + ФормаГруппаКомандШифрование + 78 + + ФормаЗашифровать + 76 + true + true + + true + + + ФормаЗашифроватьExtendedTooltip + 115 + Label + true + true + + Left + + + Form.Command.Зашифровать + Normal + Auto + true + true + UserCmds + Auto + + + ФормаРасшифровать + 77 + true + true + + true + + + ФормаРасшифроватьExtendedTooltip + 116 + Label + true + true + + Left + + + Form.Command.Расшифровать + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд шифрование</value> + + + ФормаГруппаКомандШифрованиеРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + + + true + true + + + true + Role.ИспользованиеЭП + + + true + Role.ПолныеПрава + + + + <key>ru</key> + <value>Электронная подпись и шифрование</value> + + + ru + Электронная подпись и шифрование + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + Popup + + + CommonPicture.ПодписанЗашифрованЗаголовок + + Picture + Normal + + + + ФормаГруппаКомандДополнительные + 18 + + ФормаИзменить82 + 238 + true + + true + + + ФормаИзменить82РасширеннаяПодсказка + 239 + Label + true + true + + Left + + + Form.Command.ОткрытьСвойстваФайла + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСкопировать + 19 + true + true + + true + + + ФормаСкопироватьExtendedTooltip + 118 + Label + true + true + + Left + + + Form.Command.Скопировать + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаУстановитьПометкуУдаления + 21 + true + true + + true + + + ФормаУстановитьПометкуУдаленияExtendedTooltip + 119 + Label + true + true + + Left + + + Form.Command.УстановитьПометкуУдаления + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаСохранитьКак + 4 + true + true + + true + + + ФормаСохранитьКакExtendedTooltip + 120 + Label + true + true + + Left + + + Form.Command.СохранитьКак + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОсвободить + 49 + true + true + + true + + + ФормаОсвободитьExtendedTooltip + 109 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОбновитьИзФайлаНаДиске + 51 + true + true + + true + + + ФормаОбновитьИзФайлаНаДискеExtendedTooltip + 121 + Label + true + true + + Left + + + Form.Command.ОбновитьИзФайлаНаДиске + Normal + Auto + true + true + UserCmds + + CommonPicture.ОбновитьФайлИзФайлаНаДиске + + Auto + InAdditionalSubmenu + + + ФормаОткрытьКаталогФайла + 2 + true + true + + true + + + ФормаОткрытьКаталогФайлаExtendedTooltip + 123 + Label + true + true + + Left + + + Form.Command.ОткрытьКаталогФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд дополнительные</value> + + + ФормаГруппаКомандДополнительныеРасширеннаяПодсказка + 117 + Label + true + true + + Left + + + + + + ФормаГруппаКомандПоиска + 12 + + ФормаНайти + 10 + true + + true + + + ФормаНайтиExtendedTooltip + 125 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОтменитьПоиск + 11 + true + + true + + + ФормаОтменитьПоискExtendedTooltip + 126 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд поиска</value> + + + ru + Форма группа команд поиска + + + ФормаГруппаКомандПоискаРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + + + + ФормаГруппаДополнительно + 216 + + ФормаОбновить + 222 + true + true + + true + + + ФормаОбновитьРасширеннаяПодсказка + 223 + Label + true + true + + Left + + + Form.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + + + ФормаГруппаНастройкаСписка + 236 + + ФормаНастройкаСписка + 234 + true + true + + true + + + ФормаНастройкаСпискаРасширеннаяПодсказка + 235 + Label + true + true + + Left + + + Form.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗагрузитьНастройкиДинамическогоСписка + 224 + true + true + + true + + + ФормаЗагрузитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 225 + Label + true + true + + Left + + + Form.StandardCommand.LoadDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСохранитьНастройкиДинамическогоСписка + 226 + true + true + + true + + + ФормаСохранитьНастройкиДинамическогоСпискаРасширеннаяПодсказка + 227 + Label + true + true + + Left + + + Form.StandardCommand.SaveDynamicListSettings + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСтандартныеНастройкиДинамическогоСписка + 228 + true + true + + true + + + ФормаСтандартныеНастройкиДинамическогоСпискаРасширеннаяПодсказка + 229 + Label + true + true + + Left + + + Form.StandardCommand.DynamicListStandardSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Форма группа настройка списка</value> + + + ru + Форма группа настройка списка + + + ФормаГруппаНастройкаСпискаРасширеннаяПодсказка + 237 + Label + true + true + + Left + + + + + + ФормаВывестиСписок + 230 + true + true + + true + + + ФормаВывестиСписокРасширеннаяПодсказка + 231 + Label + true + true + + Left + + + Form.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + ФормаИзменитьФорму + 232 + true + true + + true + + + ФормаИзменитьФормуРасширеннаяПодсказка + 233 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + None + + ФормаГруппаДополнительноРасширеннаяПодсказка + 217 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + + ФормаСправка + 9 + true + true + + true + + + ФормаСправкаExtendedTooltip + 131 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 243 + Label + true + true + + Left + + + CommandBar + + Left + + Список 6 @@ -17,193 +1041,24 @@ None - СписокПодписанЭП - 88 + СписокНомерКартинкиПодписанЗашифрован + 206 true true true - Список.ПодписанЭП + Список.НомерКартинкиПодписанЗашифрован None - - СписокПодписанЭПРасширеннаяПодсказка - 157 - Label - true - true - - Left - - - - СписокПодписанЭПКонтекстноеМеню - 89 - true - - PictureField - Enter - true - - CommonPicture.ПодписанЭП - - Left - true - - true - true - true - true - - CommonPicture.ПодписанЭП - - - - 1 - - - - - СписокЗашифрован - 90 - true - true - - true - - - Список.Зашифрован - - None - - СписокЗашифрованExtendedTooltip - 158 - Label - true - true - - Left - - - - СписокЗашифрованКонтекстноеМеню - 91 - true - - PictureField - Enter - true - - CommonPicture.Зашифрован - - Left - true - - true - true - true - true - - CommonPicture.Зашифрован - - - - 1 - - - - - СписокНаименование - 86 - true - true - - true - - - Список.Наименование - - - СписокНаименованиеExtendedTooltip - 159 - Label - true - true - - Left - - - - СписокНаименованиеКонтекстноеМеню - 87 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СписокОписание - 92 - true - true - - true - - - Список.Описание - - - СписокОписаниеExtendedTooltip - 160 - Label - true - true - - Left - - - - СписокОписаниеКонтекстноеМеню - 93 - true - - LabelField - Enter - true - Left - true - - 30 - true - 1 - true - - - - СписокДатаСоздания - 94 - true - true - - - Список.ДатаСоздания - ru - Дата добавления файла в базу. + Наличие электронной подписи или шифрования - СписокДатаСозданияExtendedTooltip - 161 + СписокНомерКартинкиПодписанЗашифрованРасширеннаяПодсказка + 208 Label true true @@ -212,42 +1067,149 @@ - СписокДатаСозданияКонтекстноеМеню - 95 + СписокНомерКартинкиПодписанЗашифрованКонтекстноеМеню + 207 true - LabelField + PictureField + true Enter true + + CommonPicture.ПодписанЗашифрованЗаголовок + Left true - + + 2 true true + true + true + + CommonPicture.ПодписанЗашифрованСостояния + + + + 1 + - - СписокДатаИзменения - 100 + + СписокГруппаИмяОписание + 204 + + СписокНаименование + 86 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + Список.Наименование + + + ru + Имя файла (без расширения) + + + СписокНаименованиеExtendedTooltip + 159 + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 87 + true + + LabelField + true + Enter + true + true + Left + true + + 20 + true + true + + + + СписокОписание + 168 + + <key>ru</key> + <value>Описание</value> + + true + true + + true + + + Список.Описание + + None + + ru + Краткое описание файла + + + СписокОписаниеРасширеннаяПодсказка + 170 + Label + true + true + + Left + + + + СписокОписаниеКонтекстноеМеню + 169 + true + + LabelField + true + Enter + true + true + Left + true + + 5 + true + true + + + true + true + + true + <key>ru</key> - <value>Данные от</value> + <value>Список группа имя описание</value> - true - true - - true - - - Список.ДатаИзменения - ru - Дата изменения данных файла (местное время). + Список группа имя описание + None - СписокДатаИзмененияExtendedTooltip - 162 + СписокГруппаИмяОписаниеРасширеннаяПодсказка + 205 Label true true @@ -255,39 +1217,127 @@ Left - - СписокДатаИзмененияКонтекстноеМеню - 101 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + InCell + auto + true - - СписокАвтор - 96 + + СписокВажныеРеквизиты + 214 + + СписокАвтор + 182 + + <key>ru</key> + <value>Автор</value> + + true + true + + true + + + Список.Автор + + + ru + Пользователь, который добавил файл в список + + + СписокАвторРасширеннаяПодсказка + 184 + Label + true + true + + Left + + + + СписокАвторКонтекстноеМеню + 183 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + + + СписокДатаИзменения + 100 + + <key>ru</key> + <value>Дата изменения</value> + + true + true + + true + + + Список.ДатаИзменения + + + ru + Дата изменения данных файла (местное время) + + + СписокДатаИзмененияРасширеннаяПодсказка + 162 + Label + true + true + + Left + + + + СписокДатаИзмененияКонтекстноеМеню + 101 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + true true true - - Список.Автор - + + <key>ru</key> + <value>Список важные реквизиты</value> + ru - Пользователь, который добавил файл. + Список важные реквизиты + None - СписокАвторExtendedTooltip - 163 + СписокВажныеРеквизитыРасширеннаяПодсказка + 215 Label true true @@ -295,19 +1345,10 @@ Left - - СписокАвторКонтекстноеМеню - 97 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + auto + true @@ -315,19 +1356,17 @@ 98 <key>ru</key> - <value>Размер (байт)</value> + <value>Размер (КБ)</value> true true - - true - + Список.Размер ru - Размер данных файла. + Размер данных файла СписокРазмерExtendedTooltip @@ -349,6 +1388,135 @@ true Left true + + 10 + true + true + false + + ru + ЧЦ=10; ЧН=0 + + + + + СписокРедактирует + 199 + true + true + + + Список.Редактирует + + + ru + Пользователь, который занял файл для редактирования + + + СписокРедактируетРасширеннаяПодсказка + 201 + Label + true + true + + Left + + + + СписокРедактируетКонтекстноеМеню + 200 + true + + LabelField + true + Enter + true + Left + true + + true + true + + + + СписокДатаСоздания + 179 + + <key>ru</key> + <value>Дата создания</value> + + true + true + + + Список.ДатаСоздания + + + ru + Дата добавления файла в список + + + СписокДатаСозданияРасширеннаяПодсказка + 181 + Label + true + true + + Left + + + + СписокДатаСозданияКонтекстноеМеню + 180 + true + + LabelField + true + Enter + true + Left + true + + 15 + true + true + false + + + + СписокОтредактировал + 191 + true + true + + + Список.Отредактировал + + + ru + Пользователь, который отредактировал файл последним + + + СписокОтредактировалРасширеннаяПодсказка + 193 + Label + true + true + + Left + + + + СписокОтредактировалКонтекстноеМеню + 192 + true + + LabelField + true + Enter + true + Left + true true true @@ -384,6 +1552,7 @@ Left true + 1 true true @@ -421,10 +1590,10 @@ СписокСтрокаПоиска - 168 + 244 СписокСтрокаПоискаРасширеннаяПодсказка - 170 + 246 Label true true @@ -434,7 +1603,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 169 + 245 true Список @@ -444,10 +1613,10 @@ СписокСостояниеПросмотра - 171 + 247 СписокСостояниеПросмотраРасширеннаяПодсказка - 173 + 249 Label true true @@ -457,7 +1626,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 172 + 248 true ViewStatusAddition @@ -468,10 +1637,10 @@ СписокУправлениеПоиском - 174 + 250 СписокУправлениеПоискомРасширеннаяПодсказка - 176 + 252 Label true true @@ -481,7 +1650,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 175 + 251 true SearchControlAddition @@ -529,11 +1698,37 @@ UserCmds Auto + + СписокКонтекстноеМенюИзменить + 202 + true + true + + true + + + СписокКонтекстноеМенюИзменитьРасширеннаяПодсказка + 203 + Label + true + true + + Left + + + Form.Command.ОткрытьСвойстваФайла + Normal + Auto + true + true + UserCmds + Auto + - СписокКонтекстноеМенюГруппаКомандВажное + СписокКонтекстноеМенюГруппаКомандОсновные 55 - СписокКонтекстноеМенюОткрытьФайлДляПросмотра + СписокКонтекстноеМенюОткрыть 56 true true @@ -541,7 +1736,7 @@ true
                      - СписокКонтекстноеМенюОткрытьФайлДляПросмотраExtendedTooltip + СписокКонтекстноеМенюОткрытьРасширеннаяПодсказка 134 Label true @@ -558,34 +1753,6 @@ UserCmds Auto
                      - true - true - - true - - - <key>ru</key> - <value>Список контекстное меню группа команд важное</value> - - - ru - Список контекстное меню группа команд важное - - - СписокКонтекстноеМенюГруппаКомандВажноеExtendedTooltip - 133 - Label - true - true - - Left - - - - - - СписокКонтекстноеМенюГруппаКомандСовместныйДоступ - 57 СписокКонтекстноеМенюРедактировать 58 @@ -638,32 +1805,6 @@ UserCmds Auto - - СписокКонтекстноеМенюОсвободить - 60 - true - true - - true - - - СписокКонтекстноеМенюОсвободитьExtendedTooltip - 138 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - true true @@ -671,15 +1812,15 @@ <key>ru</key> - <value>Список контекстное меню группа команд совместный доступ</value> + <value>Список контекстное меню группа команд основные</value> ru - Список контекстное меню группа команд совместный доступ + Список контекстное меню группа команд основные - СписокКонтекстноеМенюГруппаКомандСовместныйДоступExtendedTooltip - 135 + СписокКонтекстноеМенюГруппаКомандОсновныеРасширеннаяПодсказка + 133 Label true true @@ -690,7 +1831,207 @@ - СписокКонтекстноеМенюГруппаКомандСтандартные + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрование + 79 + + СписокКонтекстноеМенюЭППодписать + 80 + true + true + + true + + + СписокКонтекстноеМенюЭППодписатьРасширеннаяПодсказка + 150 + Label + true + true + + Left + + + Form.Command.ЭППодписать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюДобавитьЭПИзФайла + 81 + true + true + + true + + + СписокКонтекстноеМенюДобавитьЭПИзФайлаРасширеннаяПодсказка + 151 + Label + true + true + + Left + + + Form.Command.ДобавитьЭПИзФайла + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСохранитьВместеСЭП + 82 + true + true + + true + + + СписокКонтекстноеМенюСохранитьВместеСЭПРасширеннаяПодсказка + 152 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСЭП + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаКомандШифрование + 83 + + СписокКонтекстноеМенюЗашифровать + 84 + true + true + + true + + + СписокКонтекстноеМенюЗашифроватьExtendedTooltip + 154 + Label + true + true + + Left + + + Form.Command.Зашифровать + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюРасшифровать + 85 + true + true + + true + + + СписокКонтекстноеМенюРасшифроватьExtendedTooltip + 155 + Label + true + true + + Left + + + Form.Command.Расшифровать + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа команд шифрование</value> + + + ru + Список контекстное меню группа команд шифрование + + + СписокКонтекстноеМенюГруппаКомандШифрованиеРасширеннаяПодсказка + 153 + Label + true + true + + Left + + + + + true + true + + + true + Role.ИспользованиеЭП + + + true + Role.ПолныеПрава + + + + <key>ru</key> + <value>Электронная подпись и шифрование</value> + + + ru + Электронная подпись и шифрование + + + СписокКонтекстноеМенюГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка + 149 + Label + true + true + + Left + + + Popup + + + CommonPicture.ПодписанЗашифрованЗаголовок + + Auto + Normal + + + + СписокКонтекстноеМенюГруппаКомандДополнительные 61 СписокКонтекстноеМенюСкопировать @@ -770,6 +2111,32 @@ UserCmds Auto + + СписокКонтекстноеМенюОсвободить + 60 + true + true + + true + + + СписокКонтекстноеМенюОсвободитьExtendedTooltip + 138 + Label + true + true + + Left + + + Form.Command.Освободить + Normal + Auto + true + true + UserCmds + Auto + СписокКонтекстноеМенюОбновитьИзФайлаНаДиске 66 @@ -797,20 +2164,16 @@ Auto - СписокКонтекстноеМенюИзменить - 67 - - <key>ru</key> - <value>Свойства файла</value> - + СписокКонтекстноеМенюОткрытьКаталогФайла + 68 true true true - СписокКонтекстноеМенюИзменитьExtendedTooltip - 144 + СписокКонтекстноеМенюОткрытьКаталогФайлаExtendedTooltip + 145 Label true true @@ -818,15 +2181,12 @@ Left - 0 + Form.Command.ОткрытьКаталогФайла Normal Auto true true UserCmds - - StdPicture.Properties - Auto true @@ -836,14 +2196,10 @@ <key>ru</key> - <value>Список контекстное меню группа команд стандартные</value> + <value>Список контекстное меню группа команд дополнительные</value> - - ru - Список контекстное меню группа команд стандартные - - СписокКонтекстноеМенюГруппаКомандСтандартныеExtendedTooltip + СписокКонтекстноеМенюГруппаКомандДополнительныеРасширеннаяПодсказка 139 Label true @@ -854,32 +2210,6 @@ - - СписокКонтекстноеМенюОткрытьКаталогФайла - 68 - true - true - - true - - - СписокКонтекстноеМенюОткрытьКаталогФайлаExtendedTooltip - 145 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - СписокКонтекстноеМенюГруппаКомандОтСписка 69 @@ -960,210 +2290,15 @@ - - СписокКонтекстноеМенюГруппаКомандЭП - 79 - - СписокКонтекстноеМенюЭППодписать - 80 - true - true - - true - - - СписокКонтекстноеМенюЭППодписатьРасширеннаяПодсказка - 150 - Label - true - true - - Left - - - Form.Command.ЭППодписать - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюДобавитьЭПИзФайла - 81 - true - true - - true - - - СписокКонтекстноеМенюДобавитьЭПИзФайлаРасширеннаяПодсказка - 151 - Label - true - true - - Left - - - Form.Command.ДобавитьЭПИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюСохранитьВместеСЭП - 82 - true - true - - true - - - СписокКонтекстноеМенюСохранитьВместеСЭПРасширеннаяПодсказка - 152 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСЭП - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюГруппаКомандШифрования - 83 - - СписокКонтекстноеМенюЗашифровать - 84 - true - true - - true - - - СписокКонтекстноеМенюЗашифроватьExtendedTooltip - 154 - Label - true - true - - Left - - - Form.Command.Зашифровать - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюРасшифровать - 85 - true - true - - true - - - СписокКонтекстноеМенюРасшифроватьExtendedTooltip - 155 - Label - true - true - - Left - - - Form.Command.Расшифровать - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список контекстное меню группа команд шифрования</value> - - - ru - Список контекстное меню группа команд шифрования - - - СписокКонтекстноеМенюГруппаКомандШифрованияExtendedTooltip - 153 - Label - true - true - - Left - - - - - true - true - - - true - Role.ИспользованиеЭП - - - true - Role.ПолныеПрава - - - - <key>ru</key> - <value>ЭП и шифрование</value> - - - ru - Список контекстное меню группа команд ЭП - - - СписокКонтекстноеМенюГруппаКомандЭПРасширеннаяПодсказка - 149 - Label - true - true - - Left - - - Popup - - Auto - Normal - - HierarchicalList true true true + 8 true true + true MultiRow
                      true
                      1 @@ -1197,791 +2332,12 @@ true true + ГруппаПользовательскихНастроек
                      ФормаКоманднаяПанель -1 - - ФормаСоздать - 1 - true - true - - true - - - ФормаСоздатьExtendedTooltip - 103 - Label - true - true - - Left - - - Form.Command.Создать - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаКомандВажное - 16 - - ФормаОткрытьФайлДляПросмотра - 3 - true - true - - true - - - ФормаОткрытьФайлДляПросмотраExtendedTooltip - 105 - Label - true - true - - Left - - - Form.Command.ОткрытьФайлДляПросмотра - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа команд важное</value> - - - ru - Группа команд важное - - - ГруппаКомандВажноеExtendedTooltip - 104 - Label - true - true - - Left - - - - - - ГруппаКомандСовместныйДоступ - 33 - - ФормаРедактировать - 34 - true - true - - true - - - ФормаРедактироватьExtendedTooltip - 107 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаЗакончитьРедактирование - 43 - true - true - - true - - - ФормаЗакончитьРедактированиеExtendedTooltip - 108 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОсвободить - 49 - true - true - - true - - - ФормаОсвободитьExtendedTooltip - 109 - Label - true - true - - Left - - - Form.Command.Освободить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - ru - Группа команд важное - - - ГруппаКомандСовместныйДоступExtendedTooltip - 106 - Label - true - true - - Left - - - - - - ГруппаКомандЭП - 72 - - ФормаЭППодписать - 75 - true - true - - true - - - ФормаЭППодписатьРасширеннаяПодсказка - 111 - Label - true - true - - Left - - - Form.Command.ЭППодписать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСЭП - 73 - true - true - - true - - - ФормаСохранитьВместеСЭПРасширеннаяПодсказка - 112 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСЭП - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьЭПИзФайла - 74 - true - true - - true - - - ФормаДобавитьЭПИзФайлаРасширеннаяПодсказка - 113 - Label - true - true - - Left - - - Form.Command.ДобавитьЭПИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаКнопокШифрования - 78 - - ФормаЗашифровать - 76 - true - true - - true - - - ФормаЗашифроватьExtendedTooltip - 115 - Label - true - true - - Left - - - Form.Command.Зашифровать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаРасшифровать - 77 - true - true - - true - - - ФормаРасшифроватьExtendedTooltip - 116 - Label - true - true - - Left - - - Form.Command.Расшифровать - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа кнопок шифрования</value> - - - ru - Группа кнопок шифрования - - - ГруппаКнопокШифрованияExtendedTooltip - 114 - Label - true - true - - Left - - - - - true - true - - - true - Role.ИспользованиеЭП - - - true - Role.ПолныеПрава - - - - <key>ru</key> - <value>ЭП и шифрование</value> - - - ru - Группа команд ЭП - - - ГруппаКомандЭПРасширеннаяПодсказка - 110 - Label - true - true - - Left - - - Popup - - Auto - Normal - - - - ГруппаКомандСтандартные - 18 - - ФормаСкопировать - 19 - true - true - - true - - - ФормаСкопироватьExtendedTooltip - 118 - Label - true - true - - Left - - - Form.Command.Скопировать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаУстановитьПометкуУдаления - 21 - true - true - - true - - - ФормаУстановитьПометкуУдаленияExtendedTooltip - 119 - Label - true - true - - Left - - - Form.Command.УстановитьПометкуУдаления - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаСохранитьКак - 4 - true - true - - true - - - ФормаСохранитьКакExtendedTooltip - 120 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОбновитьИзФайлаНаДиске - 51 - true - true - - true - - - ФормаОбновитьИзФайлаНаДискеExtendedTooltip - 121 - Label - true - true - - Left - - - Form.Command.ОбновитьИзФайлаНаДиске - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаОткрытьСвойстваФайла - 102 - true - true - - true - - - ФормаОткрытьСвойстваФайлаExtendedTooltip - 122 - Label - true - true - - Left - - - Form.Command.ОткрытьСвойстваФайла - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа команд важное</value> - - - ru - Группа команд важное - - - ГруппаКомандСтандартныеExtendedTooltip - 117 - Label - true - true - - Left - - - - - - ФормаОткрытьКаталогФайла - 2 - true - true - - true - - - ФормаОткрытьКаталогФайлаExtendedTooltip - 123 - Label - true - true - - Left - - - Form.Command.ОткрытьКаталогФайла - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ГруппаКомандОтСписка - 12 - - ФормаНайти - 10 - true - true - - true - - - ФормаНайтиExtendedTooltip - 125 - Label - true - true - - Left - - - Form.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаОтменитьПоиск - 11 - true - true - - true - - - ФормаОтменитьПоискExtendedTooltip - 126 - Label - true - true - - Left - - - Form.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаНастройкаСписка - 13 - true - true - - true - - - ФормаНастройкаСпискаExtendedTooltip - 127 - Label - true - true - - Left - - - Form.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - ФормаВывестиСписок - 14 - true - true - - true - - - ФормаВывестиСписокExtendedTooltip - 128 - Label - true - true - - Left - - - Form.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОбновить - 15 - true - true - - true - - - ФормаОбновитьExtendedTooltip - 129 - Label - true - true - - Left - - - Form.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - - - ФормаИзменитьФорму - 53 - true - true - - true - - - ФормаИзменитьФормуExtendedTooltip - 130 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Группа команд от списка</value> - - - ru - Группа команд от списка - - - ГруппаКомандОтСпискаExtendedTooltip - 124 - Label - true - true - - Left - - - - - - ФормаСправка - 9 - true - true - - true - - - ФормаСправкаExtendedTooltip - 131 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -1996,6 +2352,7 @@ OnCreateAtServer ПриСозданииНаСервере + 70 DontBlock true true @@ -2040,6 +2397,9 @@ Список.Ссылка + + Список.ФайлРедактируетДругойПользователь + Список.ФайлРедактируетТекущийПользователь @@ -2054,15 +2414,19 @@ 1 КАК ИндексКартинки, ВЫРАЗИТЬ("" КАК Строка(150)) КАК Наименование, ВЫРАЗИТЬ("" КАК Строка(500)) КАК Описание, - ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаСоздания, - ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаИзменения, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) КАК Автор, + ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаСоздания, + ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) КАК Отредактировал, + ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаРедактирования, + ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК ДатаИзменения, 0 КАК Размер, ЛОЖЬ КАК ПодписанЭП, ЛОЖЬ КАК Зашифрован, + -1 КАК НомерКартинкиПодписанЗашифрован, ЛОЖЬ КАК ФайлРедактируется, - ЛОЖЬ КАК ФайлРедактируетТекущийПользователь - + ЛОЖЬ КАК ФайлРедактируетТекущийПользователь, + ЛОЖЬ КАК ФайлРедактируетДругойПользователь, + ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) КАК Редактирует true true true @@ -2103,7 +2467,7 @@ ОткрытьФайлДляПросмотра <key>ru</key> - <value>Открыть</value> + <value>Просмотреть</value> 2 @@ -2165,9 +2529,6 @@ true - - CommonPicture.Папка - ОткрытьКаталогФайла @@ -2334,7 +2695,7 @@ СохранитьВместеСЭП <key>ru</key> - <value>Сохранить вместе с ЭП...</value> + <value>Сохранить вместе с электронными подписями...</value> 11 @@ -2357,7 +2718,7 @@ ДобавитьЭПИзФайла <key>ru</key> - <value>Добавить ЭП из файла...</value> + <value>Добавить электронные подписи из файла...</value> 12 @@ -2429,19 +2790,19 @@ ОткрытьСвойстваФайла <key>ru</key> - <value>Свойства файла</value> + <value>Открыть карточку</value> 1 ru - Открыть свойства файла + Изменить (или открыть) текущий элемент true F2 - StdPicture.Properties + StdPicture.Change @@ -2456,12 +2817,12 @@ Создать <key>ru</key> - <value>Добавить...</value> + <value>Создать ...</value> 6 ru - Добавить файл + Создать из файла на диске true diff --git a/SSL/src/CommonForms/ПрисоединенныеФайлы/Help/ru.html b/SSL/src/CommonForms/ПрисоединенныеФайлы/Help/ru.html index 2e36bf66a..f04411455 100644 --- a/SSL/src/CommonForms/ПрисоединенныеФайлы/Help/ru.html +++ b/SSL/src/CommonForms/ПрисоединенныеФайлы/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                      Открывается по команде Присоединенные файлы панели навигации объекта программы.

                      В списке выводится:

                      @@ -6,10 +6,10 @@
                    •  - зашифрован.
                    • Наименование - полное имя файла. Значок рядом с наименованием указывает тип файла.
                    • Описание - подробные сведения о файле. -
                    • Данные от - дата изменения данных файла (местное время); +
                    • Дата изменения - дата изменения данных файла (местное время);
                    • Автор - пользователь, который добавил файл;
                    • -
                      Размер (байт) - размер данных файла;

                    С помощью команды Все действия - Изменить форму можно добавить сведения:

                    +
                    Размер (КБ) - размер данных файла;

                  С помощью команды Все действия - Изменить форму можно добавить сведения:

                  • Расширение - формат файла, рядом ставится значок, который также показывает формат;
                  • Редактирует - пользователь, который занял файл для редактирования и т.д. 

                  Добавление нового файла

                  @@ -50,15 +50,15 @@
                  Команда Все действия - Отменить редактирование освобождает файл, не сохраняя произведенные в нем изменения в программе, и снимает пометку занятости для редактирования. Команда может быть полезна, если необходимо отказаться от результатов редактирования файла (например, при редактировании в файл были внесены нежелательные изменения или ошибки).

                ЭП и шифрование

                В выпадающем меню ЭП и шифрование доступны команды для работы с электронной подписью файлов:

                • -

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

                  +

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

                • -

                  Добавить ЭП из файла - добавляет подпись к файлу. Команду можно использовать, например, если подпись (файл подписи) была получена позже, чем подписанный файл.

                  +

                  Добавить ЭП из файла - добавляет подпись к файлу. Команду можно использовать, например, если подпись (файл подписи) была получена позже, чем подписанный файл.

                • -

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

                  +

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

                • -

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

                  +

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

                • -

                  Расшифровать - по команде происходит расшифровка файла. Для расшифровки нужно ввести пароль к закрытому ключу.

                  +

                  Расшифровать - по команде происходит расшифровка файла. Для расшифровки нужно ввести пароль к закрытому ключу.

                  См. также:

                  \ No newline at end of file diff --git a/SSL/src/CommonForms/ПрисоединенныеФайлы/Module.bsl b/SSL/src/CommonForms/ПрисоединенныеФайлы/Module.bsl index 76b68dbe4..d6923f75e 100644 --- a/SSL/src/CommonForms/ПрисоединенныеФайлы/Module.bsl +++ b/SSL/src/CommonForms/ПрисоединенныеФайлы/Module.bsl @@ -4,8 +4,6 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Перем ИмяСправочникаХранилищаФайлов; - УстановитьУсловноеОформление(); Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. @@ -17,6 +15,21 @@ |только в форме объекта-владельца.'"); КонецЕсли; + Если Параметры.РежимВыбора Тогда + КлючНазначенияИспользования = "ВыборПодбор"; + РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; + + Заголовок = НСтр("ru = 'Выбор присоединенного файла'"); + + // Отбор не помеченных на удаление. + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "ПометкаУдаления", Ложь, , , Истина, + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); + Иначе + Элементы.Список.РежимВыбора = Ложь; + КонецЕсли; + + ИмяСправочникаХранилищаФайлов = Неопределено; НастроитьДинамическийСписок(ИмяСправочникаХранилищаФайлов); ТипСправочникаСФайлами = Тип("СправочникСсылка." + ИмяСправочникаХранилищаФайлов); @@ -50,6 +63,20 @@ ИменаЭлементовКнопокФормы = Новый ФиксированныйМассив(ИменаЭлементов); + УстановитьПривилегированныйРежим(Истина); + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЭлектроннаяПодпись") + Или Константы["ИспользоватьЭлектронныеПодписи"].Получить() <> Истина Тогда + + Элементы.СписокНомерКартинкиПодписанЗашифрован.Видимость = Ложь; + КонецЕсли; + УстановитьПривилегированныйРежим(Ложь); + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.ФормаИзменить.Видимость = Ложь; + Элементы.ФормаИзменить82.Видимость = Истина; + Элементы.ФормаСкопировать.ТолькоВоВсехДействиях = Ложь; + Элементы.ФормаУстановитьПометкуУдаления.ТолькоВоВсехДействиях = Ложь; + КонецЕсли; КонецПроцедуры &НаКлиенте @@ -101,7 +128,12 @@ &НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Если Элементы.Список.РежимВыбора Тогда + Возврат; + КонецЕсли; + СтандартнаяОбработка = Ложь; + ОткрытьФайл(); КонецПроцедуры @@ -596,47 +628,37 @@ &НаСервере Процедура УстановитьУсловноеОформление() - + УсловноеОформление.Элементы.Очистить(); - - // - + + // Оформление файла, занятого для редактирования другим пользователем. + Элемент = УсловноеОформление.Элементы.Добавить(); - + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Список.Имя); - + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируется"); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируетДругойПользователь"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; - - ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируетТекущийПользователь"); - ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; - ОтборЭлемента.ПравоеЗначение = Истина; - - Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ФайлЗанятыйТекущимПользователем); - - // - - Элемент = УсловноеОформление.Элементы.Добавить(); - - ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Список.Имя); - - ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируется"); - ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; - ОтборЭлемента.ПравоеЗначение = Истина; - - ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируетТекущийПользователь"); - ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; - ОтборЭлемента.ПравоеЗначение = Ложь; - + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ФайлЗанятыйДругимПользователем); - + + // Оформление файла, занятого для редактирования текущим пользователем. + + Элемент = УсловноеОформление.Элементы.Добавить(); + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Список.Имя); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ФайлРедактируетТекущийПользователь"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = Истина; + + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ФайлЗанятыйТекущимПользователем); + КонецПроцедуры &НаКлиенте @@ -677,7 +699,7 @@ Если ТекущееДействие = "ПометкаУдаления" И ТекущиеДанные.ФайлРедактируется Тогда - Если НЕ ТекущиеДанные.ФайлРедактируетТекущийПользователь Тогда + Если ТекущиеДанные.ФайлРедактируетТекущийПользователь Тогда ТекстПредупреждения = НСтр("ru = 'Действие недоступно, так как файл занят для редактирования.'"); Иначе ТекстПредупреждения = НСтр("ru = 'Действие недоступно, так как файл занят для редактирования @@ -740,14 +762,15 @@ Возврат; #КонецЕсли - Если Элементы.Список.ТекущиеДанные = Неопределено Тогда + ТекущиеДанные = Элементы.Список.ТекущиеДанные; + + Если ТекущиеДанные = Неопределено Тогда ИменаКоманд = Новый Массив; ИменаКоманд.Добавить("Создать"); ИначеЕсли ТипЗнч(Элементы.Список.ТекущаяСтрока) <> ТипСправочникаСФайлами Тогда ИменаКоманд = Новый Массив; Иначе - ТекущиеДанные = Элементы.Список.ТекущиеДанные; ИменаКоманд = ПолучитьДоступныеКоманды( ТекущиеДанные.ФайлРедактируется, ТекущиеДанные.ФайлРедактируетТекущийПользователь, @@ -826,23 +849,41 @@ | ИНАЧЕ Файлы.ИндексКартинки | КОНЕЦ КАК ИндексКартинки, | Файлы.Наименование КАК Наименование, - | ВЫРАЗИТЬ(Файлы.Описание КАК Строка(500)) КАК Описание, - | Файлы.ДатаСоздания, - | ДОБАВИТЬКДАТЕ(Файлы.ДатаМодификацииУниверсальная, СЕКУНДА, &СекундДоМестногоВремени) КАК ДатаИзменения, + | ВЫРАЗИТЬ(Файлы.Описание КАК СТРОКА(500)) КАК Описание, | Файлы.Автор, - | Файлы.Размер КАК Размер, + | Файлы.ДатаСоздания, + | Файлы.Изменил КАК Отредактировал, + | ДОБАВИТЬКДАТЕ(Файлы.ДатаМодификацииУниверсальная, СЕКУНДА, &СекундДоМестногоВремени) КАК ДатаИзменения, + | ВЫРАЗИТЬ(Файлы.Размер / 1024 КАК ЧИСЛО(10, 0)) КАК Размер, | Файлы.ПодписанЭП, | Файлы.Зашифрован, | ВЫБОР - | КОГДА Файлы.Редактирует = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) - | ТОГДА ЛОЖЬ - | ИНАЧЕ ИСТИНА + | КОГДА Файлы.ПодписанЭП + | И Файлы.Зашифрован + | ТОГДА 2 + | КОГДА Файлы.Зашифрован + | ТОГДА 1 + | КОГДА Файлы.ПодписанЭП + | ТОГДА 0 + | ИНАЧЕ -1 + | КОНЕЦ КАК НомерКартинкиПодписанЗашифрован, + | ВЫБОР + | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК ФайлРедактируется, | ВЫБОР | КОГДА Файлы.Редактирует = &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ - | КОНЕЦ КАК ФайлРедактируетТекущийПользователь + | КОНЕЦ КАК ФайлРедактируетТекущийПользователь, + | ВЫБОР + | КОГДА НЕ Файлы.Редактирует В (&ПустыеПользователи) + | И Файлы.Редактирует <> &ТекущийПользователь + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК ФайлРедактируетДругойПользователь, + | Файлы.Редактирует КАК Редактирует |ИЗ | &ИмяСправочника КАК Файлы |ГДЕ @@ -857,9 +898,15 @@ ПолноеИмяСправочника = "Справочник." + ИмяСправочникаХранилищаФайлов; Список.ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ИмяСправочника", ПолноеИмяСправочника); - Список.Параметры.УстановитьЗначениеПараметра("ВладелецФайлов", Параметры.ВладелецФайла); - Список.Параметры.УстановитьЗначениеПараметра("ТекущийПользователь", Пользователи.ТекущийПользователь()); - Список.Параметры.УстановитьЗначениеПараметра("СекундДоМестногоВремени", ТекущаяУниверсальнаяДата() - ТекущаяДатаСеанса()); + ПустыеПользователи = Новый Массив; + ПустыеПользователи.Добавить(Неопределено); + ПустыеПользователи.Добавить(Справочники.Пользователи.ПустаяСсылка()); + ПустыеПользователи.Добавить(Справочники.ВнешниеПользователи.ПустаяСсылка()); + + Список.Параметры.УстановитьЗначениеПараметра("ВладелецФайлов", Параметры.ВладелецФайла); + Список.Параметры.УстановитьЗначениеПараметра("ТекущийПользователь", Пользователи.АвторизованныйПользователь()); + Список.Параметры.УстановитьЗначениеПараметра("ПустыеПользователи", ПустыеПользователи); + Список.Параметры.УстановитьЗначениеПараметра("СекундДоМестногоВремени", '00010101'); // Установка на клиенте Список.ОсновнаяТаблица = ПолноеИмяСправочника; Список.ДинамическоеСчитываниеДанных = Истина; @@ -886,6 +933,7 @@ ИменаКоманд.Добавить("ЗакончитьРедактирование"); ИменаКоманд.Добавить("Освободить"); ИменаКоманд.Добавить("Редактировать"); + ИменаКоманд.Добавить("УстановитьПометкуУдаления"); ИменаКоманд.Добавить("ЭППодписать"); ИменаКоманд.Добавить("ДобавитьЭПИзФайла"); @@ -899,7 +947,6 @@ // Команды независимые от состояния объектов. ИменаКоманд.Добавить("Создать"); ИменаКоманд.Добавить("ОткрытьСвойстваФайла"); - ИменаКоманд.Добавить("УстановитьПометкуУдаления"); ИменаКоманд.Добавить("Скопировать"); Возврат ИменаКоманд; @@ -936,6 +983,8 @@ УдалитьКомандуИзМассива(ИменаКоманд, "Освободить"); УдалитьКомандуИзМассива(ИменаКоманд, "Редактировать"); КонецЕсли; + УдалитьКомандуИзМассива(ИменаКоманд, "УстановитьПометкуУдаления"); + УдалитьКомандыЭП(ИменаКоманд); УдалитьКомандуИзМассива(ИменаКоманд, "ОбновитьИзФайлаНаДиске"); diff --git a/SSL/src/CommonForms/ПрисоединенныйФайл/Form.form b/SSL/src/CommonForms/ПрисоединенныйФайл/Form.form index f7e00e7cf..bbfdf8d9a 100644 --- a/SSL/src/CommonForms/ПрисоединенныйФайл/Form.form +++ b/SSL/src/CommonForms/ПрисоединенныйФайл/Form.form @@ -3,6 +3,98 @@ ГруппаОбщаяИнформация 29 + + Наименование0 + 102 + true + true + + true + + + ОбъектПрототип[0].Наименование + + + ru + Имя файла (без расширения) + + + Наименование0РасширеннаяПодсказка + 104 + Label + true + true + + Left + + + + Наименование0КонтекстноеМеню + 103 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Описание0 + 105 + true + true + + true + + + ОбъектПрототип[0].Описание + + Left + + ru + Краткое описание файла + + + Описание0РасширеннаяПодсказка + 107 + Label + true + true + + Left + + + + Описание0КонтекстноеМеню + 106 + true + + InputField + Enter + true + Left + true + + true + 2 + true + true + true + true + true + Normal + + true true @@ -45,6 +137,152 @@ ГруппаСведенияЧасть1 30 + + Автор0 + 108 + true + true + + true + + + ОбъектПрототип[0].Автор + + + ru + Пользователь, который добавил файл в базу + + + Автор0РасширеннаяПодсказка + 110 + Label + true + true + + Left + + + + Автор0КонтекстноеМеню + 109 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Изменил0 + 111 + + <key>ru</key> + <value>Отредактировал</value> + + true + true + + true + + + ОбъектПрототип[0].Изменил + + + ru + Последний пользователь, который отредактировал файл + + + Изменил0РасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + Изменил0КонтекстноеМеню + 112 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ВладелецФайла0 + 117 + + <key>ru</key> + <value>Размещение</value> + + true + true + + true + + + ОбъектПрототип[0].ВладелецФайла + + + ru + Место размещения файла (объект) + + + ВладелецФайла0РасширеннаяПодсказка + 119 + Label + true + true + + Left + + + + ВладелецФайла0КонтекстноеМеню + 118 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + true true @@ -73,6 +311,198 @@ ГруппаСведенияЧасть2 31 + + ДатаСоздания0 + 126 + + <key>ru</key> + <value>Создан</value> + + true + true + + true + + + ОбъектПрототип[0].ДатаСоздания + + + ru + Дата добавления файла в базу + + + ДатаСоздания0РасширеннаяПодсказка + 128 + Label + true + true + + Left + + + + ДатаСоздания0КонтекстноеМеню + 127 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ДатаМодификации + 123 + + <key>ru</key> + <value>Изменен</value> + + true + true + + true + + + ДатаМодификации + + + ru + Дата изменения данных файла (местное время) + + + ДатаМодификацииРасширеннаяПодсказка + 125 + Label + true + true + + Left + + + + ДатаМодификацииКонтекстноеМеню + 124 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Размер0 + 120 + true + true + + true + + + ОбъектПрототип[0].Размер + + + ru + Размер данных файла + + + Размер0РасширеннаяПодсказка + 122 + Label + true + true + + Left + + + + Размер0КонтекстноеМеню + 121 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + Расширение0 + 114 + true + true + + true + + + ОбъектПрототип[0].Расширение + + + ru + Расширение файла + + + Расширение0РасширеннаяПодсказка + 116 + Label + true + true + + Left + + + + Расширение0КонтекстноеМеню + 115 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + true true @@ -127,7 +557,7 @@
                  - ГруппаЭП + ГруппаЭлектронныеПодписи 27 ТаблицаПодписей @@ -482,10 +912,10 @@ ТаблицаПодписейСтрокаПоиска - 98 + 138 ТаблицаПодписейСтрокаПоискаРасширеннаяПодсказка - 100 + 140 Label true true @@ -495,7 +925,7 @@ ТаблицаПодписейСтрокаПоискаКонтекстноеМеню - 99 + 139 true ТаблицаПодписей @@ -505,10 +935,10 @@ ТаблицаПодписейСостояниеПросмотра - 101 + 141 ТаблицаПодписейСостояниеПросмотраРасширеннаяПодсказка - 103 + 143 Label true true @@ -518,7 +948,7 @@ ТаблицаПодписейСостояниеПросмотраКонтекстноеМеню - 102 + 142 true ViewStatusAddition @@ -529,10 +959,10 @@ ТаблицаПодписейУправлениеПоиском - 104 + 144 ТаблицаПодписейУправлениеПоискомРасширеннаяПодсказка - 106 + 146 Label true true @@ -542,7 +972,7 @@ ТаблицаПодписейУправлениеПоискомКонтекстноеМеню - 105 + 145 true SearchControlAddition @@ -586,6 +1016,7 @@ Auto Auto true + true true true None @@ -608,14 +1039,11 @@ <key>ru</key> - <value>ЭП</value> + <value>Электронные подписи</value> - - ru - Группа ЭП - + None - ГруппаЭПРасширеннаяПодсказка + ГруппаЭлектронныеПодписиРасширеннаяПодсказка 82 Label true @@ -723,10 +1151,10 @@ СертификатыШифрованияСтрокаПоиска - 119 + 159 СертификатыШифрованияСтрокаПоискаРасширеннаяПодсказка - 121 + 161 Label true true @@ -736,7 +1164,7 @@ СертификатыШифрованияСтрокаПоискаКонтекстноеМеню - 120 + 160 true СертификатыШифрования @@ -746,10 +1174,10 @@ СертификатыШифрованияСостояниеПросмотра - 122 + 162 СертификатыШифрованияСостояниеПросмотраРасширеннаяПодсказка - 124 + 164 Label true true @@ -759,7 +1187,7 @@ СертификатыШифрованияСостояниеПросмотраКонтекстноеМеню - 123 + 163 true ViewStatusAddition @@ -770,10 +1198,10 @@ СертификатыШифрованияУправлениеПоиском - 125 + 165 СертификатыШифрованияУправлениеПоискомРасширеннаяПодсказка - 127 + 167 Label true true @@ -783,7 +1211,7 @@ СертификатыШифрованияУправлениеПоискомКонтекстноеМеню - 126 + 166 true SearchControlAddition @@ -825,6 +1253,7 @@ Auto Auto true + true true true None @@ -847,12 +1276,9 @@ <key>ru</key> - <value>Шифрование</value> + <value>Разрешено расшифровывать</value> - - ru - Шифрование - + None ГруппаШифрованиеExtendedTooltip 94 @@ -945,7 +1371,6 @@ Form.Command.СтандартнаяЗаписать Normal - Auto true true UserCmds @@ -978,6 +1403,344 @@ Auto InAdditionalSubmenu + + ГруппаФайловыеФункции + 10 + + ФормаОткрытьФайлДляПросмотра + 11 + true + true + + true + + + ФормаОткрытьФайлДляПросмотраExtendedTooltip + 63 + Label + true + true + + Left + + + Form.Command.ОткрытьФайлДляПросмотра + Normal + true + true + UserCmds + Auto + + + ФормаРедактировать + 14 + true + true + + true + + + ФормаРедактироватьExtendedTooltip + 64 + Label + true + true + + Left + + + Form.Command.Редактировать + Normal + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаЗакончитьРедактирование + 15 + true + true + + true + + + ФормаЗакончитьРедактированиеExtendedTooltip + 65 + Label + true + true + + Left + + + Form.Command.ЗакончитьРедактирование + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Файловые функции</value> + + + ru + Файловые функции + + + ГруппаФайловыеФункцииExtendedTooltip + 62 + Label + true + true + + Left + + + + + + ФормаГлобальныеКоманды + 98 + true + true + + true + + + <key>ru</key> + <value>Форма глобальные команды</value> + + + ru + Форма глобальные команды + + None + + ФормаГлобальныеКомандыРасширеннаяПодсказка + 99 + Label + true + true + + Left + + + + FormCommandPanelGlobalCommands + + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрование + 17 + + ФормаПодписатьФайлЭП + 19 + true + true + + true + + + ФормаПодписатьФайлЭПРасширеннаяПодсказка + 71 + Label + true + true + + Left + + + Form.Command.ПодписатьФайлЭП + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаДобавитьЭПИзФайла + 20 + true + true + + true + + + ФормаДобавитьЭПИзФайлаРасширеннаяПодсказка + 72 + Label + true + true + + Left + + + Form.Command.ДобавитьЭПИзФайла + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаСохранитьВместеСЭП + 21 + true + true + + true + + + ФормаСохранитьВместеСЭПРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + Form.Command.СохранитьВместеСЭП + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаГруппаКомандШифрование + 18 + + ФормаЗашифровать + 22 + true + true + + true + + + ФормаЗашифроватьExtendedTooltip + 75 + Label + true + true + + Left + + + Form.Command.Зашифровать + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаРасшифровать + 23 + true + true + + true + + + ФормаРасшифроватьExtendedTooltip + 76 + Label + true + true + + Left + + + Form.Command.Расшифровать + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма группа команд шифрование</value> + + + ФормаГруппаКомандШифрованиеРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + + + true + true + + + true + Role.ИспользованиеЭП + + + true + Role.ПолныеПрава + + + + <key>ru</key> + <value>Электронная подпись и шифрование</value> + + + ru + Электронная подпись и шифрование + + + ФормаГруппаКомандЭлектроннаяПодписьИШифрованиеРасширеннаяПодсказка + 70 + Label + true + true + + Left + + + Popup + + + CommonPicture.ПодписанЗашифрованЗаголовок + + Picture + Normal + + ФормаСтандартныеСкопировать 4 @@ -1033,19 +1796,19 @@ InAdditionalSubmenu - ГруппаФайловыеФункции - 10 + ФормаГруппаДополнительныеКоманды + 100 - ФормаОткрытьФайлДляПросмотра - 11 + ФормаСохранитьКак + 12 true true true - ФормаОткрытьФайлДляПросмотраExtendedTooltip - 63 + ФормаСохранитьКакExtendedTooltip + 67 Label true true @@ -1053,65 +1816,14 @@ Left
                  - Form.Command.ОткрытьФайлДляПросмотра - Normal - Auto - true - true - UserCmds - Auto - - - ФормаРедактировать - 14 - true - true - - true - - - ФормаРедактироватьExtendedTooltip - 64 - Label - true - true - - Left - - - Form.Command.Редактировать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаЗакончитьРедактирование - 15 - true - true - - true - - - ФормаЗакончитьРедактированиеExtendedTooltip - 65 - Label - true - true - - Left - - - Form.Command.ЗакончитьРедактирование + Form.Command.СохранитьКак Normal Auto true true UserCmds Auto + InAdditionalSubmenu ФормаОсвободить @@ -1140,32 +1852,6 @@ Auto InAdditionalSubmenu - - ФормаСохранитьКак - 12 - true - true - - true - - - ФормаСохранитьКакExtendedTooltip - 67 - Label - true - true - - Left - - - Form.Command.СохранитьКак - Normal - Auto - true - true - UserCmds - Auto - ФормаОбновитьИзФайлаНаДиске 24 @@ -1227,15 +1913,16 @@ <key>ru</key> - <value>Файловые функции</value> + <value>Форма группа дополнительные команды</value> ru - Файловые функции + Форма группа дополнительные команды + None - ГруппаФайловыеФункцииExtendedTooltip - 62 + ФормаГруппаДополнительныеКомандыРасширеннаяПодсказка + 101 Label true true @@ -1245,203 +1932,6 @@ - - ГруппаЭПИШифрование - 17 - - ФормаПодписатьФайлЭП - 19 - true - true - - true - - - ФормаПодписатьФайлЭПРасширеннаяПодсказка - 71 - Label - true - true - - Left - - - Form.Command.ПодписатьФайлЭП - Normal - Auto - true - true - UserCmds - Auto - - - ФормаДобавитьЭПИзФайла - 20 - true - true - - true - - - ФормаДобавитьЭПИзФайлаРасширеннаяПодсказка - 72 - Label - true - true - - Left - - - Form.Command.ДобавитьЭПИзФайла - Normal - Auto - true - true - UserCmds - Auto - - - ФормаСохранитьВместеСЭП - 21 - true - true - - true - - - ФормаСохранитьВместеСЭПРасширеннаяПодсказка - 73 - Label - true - true - - Left - - - Form.Command.СохранитьВместеСЭП - Normal - Auto - true - true - UserCmds - Auto - - - ГруппуШифрование - 18 - - ФормаЗашифровать - 22 - true - true - - true - - - ФормаЗашифроватьExtendedTooltip - 75 - Label - true - true - - Left - - - Form.Command.Зашифровать - Normal - Auto - true - true - UserCmds - Auto - - - ФормаРасшифровать - 23 - true - true - - true - - - ФормаРасшифроватьExtendedTooltip - 76 - Label - true - true - - Left - - - Form.Command.Расшифровать - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группу шифрование</value> - - - ru - Группу шифрование - - - ГруппуШифрованиеExtendedTooltip - 74 - Label - true - true - - Left - - - - - true - true - - - true - Role.ИспользованиеЭП - - - true - Role.ПолныеПрава - - - - <key>ru</key> - <value>ЭП и шифрование</value> - - - ru - Группа ЭПИШифрование - - - ГруппаЭПИШифрованиеРасширеннаяПодсказка - 70 - Label - true - true - - Left - - - Popup - - Auto - Normal - - Left true @@ -1457,9 +1947,9 @@ OnClose ПриЗакрытии - LockOwner + 80 + DontBlock true - true true Vertical true @@ -1472,7 +1962,7 @@ ДатаМодификации <key>ru</key> - <value>Данные от</value> + <value>Дата модификации</value> 1 @@ -1530,23 +2020,7 @@ 4 - CatalogRef.Пользователи - - - true - - - true - - - - ПользовательПустаяСсылка - - <key>ru</key> - <value>Пользователь пустая ссылка</value> - - 5 - + CatalogRef.ВнешниеПользователи CatalogRef.Пользователи @@ -1855,19 +2329,177 @@ - ПерсональныеНастройкиРаботыСЭП + ОбъектПрототип <key>ru</key> - <value>Персональные настройки работы СЭП</value> + <value>Объект прототип</value> - 10 - + 11 + + ValueTable + true true + + Наименование + + <key>ru</key> + <value>Наименование</value> + + 1 + + String + + 150 + + + + true + + + true + + + + Описание + + <key>ru</key> + <value>Описание</value> + + 2 + + String + + + + true + + + true + + + + Автор + + <key>ru</key> + <value>Автор</value> + + 3 + + CatalogRef.Пользователи + + + true + + + true + + + + Изменил + 4 + + CatalogRef.Пользователи + + + true + + + true + + + + Расширение + + <key>ru</key> + <value>Расширение</value> + + 5 + + String + + 10 + + + + true + + + true + + + + Редактирует + + <key>ru</key> + <value>Редактирует</value> + + 6 + + CatalogRef.Пользователи + + + true + + + true + + + + ДатаСоздания + 7 + + Date + + + + true + + + true + + + + Размер + + <key>ru</key> + <value>Размер (байт)</value> + + 9 + + Number + + 10 + + + + true + + + true + + + + ВладелецФайла + + <key>ru</key> + <value>Владелец файла</value> + + 8 + + AnyRef + + + true + + + true + + СтандартнаяЗаписатьИЗакрыть @@ -1898,12 +2530,12 @@ СтандартнаяЗаписать <key>ru</key> - <value>Записать объект</value> + <value>Записать</value> 2 ru - Записать объект + Записать файл true @@ -2027,7 +2659,7 @@ ОткрытьФайлДляПросмотра <key>ru</key> - <value>Открыть</value> + <value>Просмотреть</value> 9 @@ -2089,9 +2721,6 @@ true - - CommonPicture.Папка - ОткрытьКаталогФайла diff --git a/SSL/src/CommonForms/ПрисоединенныйФайл/Help/ru.html b/SSL/src/CommonForms/ПрисоединенныйФайл/Help/ru.html index d96b0ed58..c533f5950 100644 --- a/SSL/src/CommonForms/ПрисоединенныйФайл/Help/ru.html +++ b/SSL/src/CommonForms/ПрисоединенныйФайл/Help/ru.html @@ -1,5 +1,6 @@ - +

                  Предназначена для просмотра сведений о присоединенном файле. 

                  +

                  Открывается из списка присоединенных файлов с помощью кнопки  Открыть (клавиши F2).

                  Сведения о файле

                  • Имя файла - полное имя файла. Автоматически заполняется программой во время присоединения файла и создания карточки файла, можно изменить;
                  • Описание - напишите подробные сведения о файле; @@ -10,7 +11,7 @@
                  • Редактирует - пользователь, который занял файл для редактирования;
                  • Создан - дата добавления файла в базу; -
                  • Данные от - дата изменения данных файла; +
                  • Дата изменения - дата изменения данных файла (местное время);
                  • Размер (байт) - размер данных файла.

                  Редактирование присоединенного файла

                  • @@ -38,15 +39,15 @@
                    • С помощью команды Все действия - Обновить из файла на диске можно обновить файл из оригинального файла на диске (из которого изначально был создан файл в программе).

                    ЭП и шифрование

                    При использовании ЭП становится доступным выпадающее меню ЭП и шифрование, которое содержит команды для работы с электронной подписью файлов:

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

                      Расшифровать - по команде происходит расшифровка файла. Для расшифровки нужно ввести пароль к закрытому ключу.

                    При использовании ЭП и шифрования становятся доступными вкладки:

                    +

                    Расшифровать - по команде происходит расшифровка файла. Для расшифровки нужно ввести пароль к закрытому ключу.

                  При использовании ЭП и шифрования становятся доступными вкладки:

                  ЭП

                  На вкладке размещаются сведения об электронной подписи файла:

                  • Автор подписи - пользователь, который подписал файл; diff --git a/SSL/src/CommonForms/ПрисоединенныйФайл/Module.bsl b/SSL/src/CommonForms/ПрисоединенныйФайл/Module.bsl index 610262a13..f3db1eadc 100644 --- a/SSL/src/CommonForms/ПрисоединенныйФайл/Module.bsl +++ b/SSL/src/CommonForms/ПрисоединенныйФайл/Module.bsl @@ -16,8 +16,7 @@ КонецЦикла; ОписаниеКолонокТаблицыПодписей = Новый ФиксированныйМассив(КолонкиМассив); - ТекущийПользователь = Пользователи.ТекущийПользователь(); - ПользовательПустаяСсылка = Справочники.Пользователи.ПустаяСсылка(); + ТекущийПользователь = Пользователи.АвторизованныйПользователь(); Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда КопируемыйОбъект = Параметры.ЗначениеКопирования.ПолучитьОбъект(); @@ -48,7 +47,7 @@ ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлементШифрования); КонецЦикла; - ОбъектЗначение.Автор = Пользователи.ТекущийПользователь(); + ОбъектЗначение.Автор = Пользователи.АвторизованныйПользователь(); Иначе Если Параметры.Свойство("ПрисоединенныйФайл") Тогда ОбъектЗначение = Параметры.ПрисоединенныйФайл.ПолучитьОбъект(); @@ -60,7 +59,6 @@ ИмяСправочника = ОбъектЗначение.Метаданные().Имя; НастроитьОбъектФормы(ОбъектЗначение); - СоздатьЭлементыФормы(); ЗаполнитьСписокПодписей(); ЗаполнитьСписокШифрования(); @@ -79,7 +77,7 @@ УстановитьДоступностьКнопок(ЭтотОбъект, Элементы, ТекущийПользователь); - ПерсональныеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); + ОбновитьЗаголовок(); КонецПроцедуры @@ -412,9 +410,9 @@ &НаКлиенте Процедура ПроверитьЭП(Команда) - ПерсональныеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); + ОбщиеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); - Если ПерсональныеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда + Если ОбщиеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда ДанныеВыделенныхСтрок = Новый Массив; ИменаКолонок = ""; @@ -459,9 +457,9 @@ &НаКлиенте Процедура ПроверитьВсе(Команда) - ПерсональныеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); + ОбщиеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); - Если ПерсональныеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда + Если ОбщиеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда ДанныеСтрок = Новый Массив; ИменаКолонок = ""; @@ -643,6 +641,18 @@ #Область СлужебныеПроцедурыИФункции +&НаСервере +Процедура ОбновитьЗаголовок() + + Если ЗначениеЗаполнено(ЭтотОбъект.Объект.Ссылка) Тогда + Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '%1 (Присоединенный файл)'"), Строка(ЭтотОбъект.Объект.Ссылка)); + Иначе + Заголовок = НСтр("ru = 'Присоединенный файл (Создание)'") + КонецЕсли; + +КонецПроцедуры + &НаСервереБезКонтекста Процедура ПроверитьПодписиНаСервере(КоллекцияСтрок) @@ -754,14 +764,10 @@ КонецЦикла; КонецЕсли; - ТекстЗаголовка = НСтр("ru = 'Зашифрован для'"); + ТекстЗаголовка = НСтр("ru = 'Разрешено расшифровывать'"); Если СертификатыШифрования.Количество() <> 0 Тогда - ТекстЗаголовка = - ТекстЗаголовка - + " (" - + Строка(СертификатыШифрования.Количество()) - + ")"; + ТекстЗаголовка =ТекстЗаголовка + " (" + Формат(СертификатыШифрования.Количество(), "ЧГ=") + ")"; КонецЕсли; Элементы.ГруппаШифрование.Заголовок = ТекстЗаголовка; @@ -823,13 +829,13 @@ КонецЦикла; КонецЕсли; - ТекстЗаголовка = НСтр("ru = 'ЭП'"); + ТекстЗаголовка = НСтр("ru = 'Электронные подписи'"); Если ТаблицаПодписей.Количество() <> 0 Тогда ТекстЗаголовка = ТекстЗаголовка + " (" + Строка(ТаблицаПодписей.Количество()) + ")"; КонецЕсли; - Элементы.ГруппаЭП.Заголовок = ТекстЗаголовка; + Элементы.ГруппаЭлектронныеПодписи.Заголовок = ТекстЗаголовка; КонецПроцедуры @@ -1239,6 +1245,9 @@ ЗначениеКопирования = Справочники[ИмяСправочника].ПустаяСсылка(); УстановитьДоступностьКнопок(ЭтотОбъект, Элементы, ТекущийПользователь); + + ОбновитьЗаголовок(); + Возврат Истина; КонецФункции @@ -1259,37 +1268,24 @@ ЗначениеВРеквизитФормы(НовыйОбъект, "Объект"); -КонецПроцедуры - -&НаСервере -Процедура СоздатьЭлементыФормы() - - Элемент = ДобавитьПолеОбъектаНаФорму( - "Наименование", Элементы.ГруппаОбщаяИнформация, Истина, НСтр("ru = 'Имя файла'"), Ложь); - - Элемент = ДобавитьПолеОбъектаНаФорму( - "Описание", Элементы.ГруппаОбщаяИнформация, Истина, , Ложь); - - ДобавитьПолеОбъектаНаФорму("Автор", Элементы.ГруппаСведенияЧасть1, , НСтр("ru = 'Автор'"), , , , - НСтр("ru = 'Пользователь, который добавил файл в базу.'")); - - ДобавитьПолеОбъектаНаФорму("Изменил", Элементы.ГруппаСведенияЧасть1, , НСтр("ru = 'Отредактировал'"), , , , - НСтр("ru = 'Последний пользователь, который отредактировал файл.'")); - - ДобавитьПолеОбъектаНаФорму("Расширение", Элементы.ГруппаСведенияЧасть1, , НСтр("ru = 'Расширение'"), , , , - НСтр("ru = 'Расширение файла.'")); - - ДобавитьПолеОбъектаНаФорму("Редактирует", Элементы.ГруппаСведенияЧасть1, , НСтр("ru = 'Редактирует'"), , , , - НСтр("ru = 'Пользователь, который занял файл для редактирования.'")); - - ДобавитьПолеОбъектаНаФорму("ДатаСоздания", Элементы.ГруппаСведенияЧасть2, , НСтр("ru = 'Создан'"), , , , - НСтр("ru = 'Дата добавления файла в базу.'")); - - ДобавитьПолеНаФорму("ДатаМодификации", Элементы.ГруппаСведенияЧасть2, , НСтр("ru = 'Данные от'"), , , , - НСтр("ru = 'Дата изменения данных файла.'")); - - ДобавитьПолеОбъектаНаФорму("Размер", Элементы.ГруппаСведенияЧасть2, , НСтр("ru = 'Размер (байт)'"), , , 11, - НСтр("ru = 'Размер данных файла.'")); + Для каждого Элемент Из Элементы Цикл + Если ТипЗнч(Элемент) = Тип("ПолеФормы") + И Лев(Элемент.ПутьКДанным, СтрДлина("ОбъектПрототип[0].")) = "ОбъектПрототип[0]." + И Прав(Элемент.Имя, 1) = "0" Тогда + + ИмяЭлемента = Лев(Элемент.Имя, СтрДлина(Элемент.Имя) -1); + Если Элементы.Найти(ИмяЭлемента) <> Неопределено Тогда + Продолжить; + КонецЕсли; + + НовыйЭлемент = Элементы.Вставить(ИмяЭлемента, ТипЗнч(Элемент), Элемент.Родитель, Элемент); + НовыйЭлемент.ПутьКДанным = "Объект." + Сред(Элемент.ПутьКДанным, СтрДлина("ОбъектПрототип[0].") + 1); + ЗаполнитьЗначенияСвойств(НовыйЭлемент, Элемент, , + "Имя, ПутьКДанным, ВыделенныйТекст, СвязьПоТипу"); + + Элемент.Видимость = Ложь; + КонецЕсли; + КонецЦикла; КонецПроцедуры @@ -1307,7 +1303,9 @@ Возврат; КонецЕсли; - Если ПерсональныеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда + ОбщиеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); + + Если ОбщиеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда Возврат; КонецЕсли; @@ -1316,15 +1314,14 @@ КонецЕсли; Попытка - МенеджерКриптографии = Новый МенеджерКриптографии( - ПерсональныеНастройкиРаботыСЭП.ПровайдерЭП, - ПерсональныеНастройкиРаботыСЭП.ПутьМодуляКриптографии, - ПерсональныеНастройкиРаботыСЭП.ТипПровайдераЭП); + МенеджерКриптографии = ЭлектроннаяПодписьКлиент.ПолучитьМенеджерКриптографии(); Исключение Возврат; КонецПопытки; - ЗаполнитьЗначенияСвойств(МенеджерКриптографии, ПерсональныеНастройкиРаботыСЭП); + Если МенеджерКриптографии = Неопределено Тогда + Возврат; + КонецЕсли; Для каждого СтрокаТаблицы Из ТаблицаПодписей Цикл @@ -1357,80 +1354,6 @@ КонецФункции -&НаСервере -Функция ДобавитьПолеОбъектаНаФорму(Знач ИмяРеквизита, - Знач Контейнер = Неопределено, - Знач ЗаголовокСверху = Ложь, - Знач Заголовок = "", - Знач ТолькоПросмотр = Истина, - Знач ПоказыватьЗаголовок = Истина, - Знач Ширина = 0, - Знач Подсказка = "") - - Если Контейнер = Неопределено Тогда - Контейнер = ЭтотОбъект; - КонецЕсли; - - Элемент = Элементы.Добавить("Элемент" + ИмяРеквизита, Тип("ПолеФормы"), Контейнер); - Элемент.ПутьКДанным = "Объект." + ИмяРеквизита; - - Если ПоказыватьЗаголовок Тогда - Если ЗаголовокСверху Тогда - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх; - КонецЕсли; - Иначе - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - КонецЕсли; - - Элемент.Вид = ВидПоляФормы.ПолеВвода; - Элемент.ТолькоПросмотр = ТолькоПросмотр; - Элемент.Ширина = Ширина; - Элемент.Подсказка = Подсказка; - - Если Не ПустаяСтрока(Заголовок) Тогда - Элемент.Заголовок = Заголовок; - КонецЕсли; - - Возврат Элемент; - -КонецФункции - -&НаСервере -Процедура ДобавитьПолеНаФорму(Знач ИмяРеквизита, - Знач Контейнер = Неопределено, - Знач ЗаголовокСверху = Ложь, - Знач Заголовок = "", - Знач ТолькоПросмотр = Истина, - Знач ПоказыватьЗаголовок = Истина, - Знач Ширина = 0, - Знач Подсказка = "") - - Если Контейнер = Неопределено Тогда - Контейнер = ЭтотОбъект; - КонецЕсли; - - Элемент = Элементы.Добавить("Элемент" + ИмяРеквизита, Тип("ПолеФормы"), Контейнер); - Элемент.ПутьКДанным = ИмяРеквизита; - - Если ПоказыватьЗаголовок Тогда - Если ЗаголовокСверху Тогда - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх; - КонецЕсли; - Иначе - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - КонецЕсли; - - Элемент.Вид = ВидПоляФормы.ПолеВвода; - Элемент.ТолькоПросмотр = ТолькоПросмотр; - Элемент.Ширина = Ширина; - Элемент.Подсказка = Подсказка; - - Если Не ПустаяСтрока(Заголовок) Тогда - Элемент.Заголовок = Заголовок; - КонецЕсли; - -КонецПроцедуры - &НаКлиенте Процедура ОбновитьИзФайлаНаДискеЗавершение(ИнформацияОФайле, ДополнительныеПараметры) Экспорт diff --git a/SSL/src/CommonForms/РедактированиеДополнительныхСведений/Help/ru.html b/SSL/src/CommonForms/РедактированиеДополнительныхСведений/Help/ru.html new file mode 100644 index 000000000..4eb3157ea --- /dev/null +++ b/SSL/src/CommonForms/РедактированиеДополнительныхСведений/Help/ru.html @@ -0,0 +1,17 @@ + +

                    Предназначен для просмотра и ввода значений дополнительных сведений. Ввод значений дополнительных сведений, как правило, осуществляется в отдельном окне, в отличие от дополнительных реквизитов.

                    +

                    Открывается по команде Дополнительные сведения из окон объектов программы, для которых были настроены дополнительные сведения.

                    +

                    В списке выводится:

                    +
                    • Наименование - наименование поля дополнительного сведения; +
                    • Поле Значение предназначено для просмотра или ввода значений дополнительного сведения.

                    Ввод значений

                    +
                    • Для перехода в режим ввода или редактирования значения дополнительного сведения можно дважды щелкнуть мышью по нужному полю. +
                    • Способ ввода значения зависит от типа дополнительного сведения (подробнее о типах дополнительных реквизитов и сведений см. здесь). +
                    • Дополнительные сведения могут иметь выбор только из двух значений, например, Да или Нет. В этом случае ввод новых значений не предусмотрен. +
                    • Если для ввода предусмотрен список значений, нажмите Показать все (клавишу F4). Затем выберите нужное значение из предлагаемого списка. В зависимости от настроек список значений может быть с иерархией или без иерархии. При необходимости в эти списки можно добавлять значения. +
                    • Выбор значений (в зависимости от настроек) может осуществляться также из справочников программы. +
                    • В зависимости от настроек дополнительных сведений может потребоваться  Выбрать тип данных.

                    Изменение состава дополнительных сведений

                    +

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

                    +

                    Удаленные дополнительные сведения

                    +

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

                    +

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/РедактированиеДополнительныхСведений/РедактированиеДополнительныхСведений.mdo b/SSL/src/CommonForms/РедактированиеДополнительныхСведений/РедактированиеДополнительныхСведений.mdo index f04363545..1ebabac59 100644 --- a/SSL/src/CommonForms/РедактированиеДополнительныхСведений/РедактированиеДополнительныхСведений.mdo +++ b/SSL/src/CommonForms/РедактированиеДополнительныхСведений/РедактированиеДополнительныхСведений.mdo @@ -5,6 +5,11 @@ ru Редактирование дополнительных сведений + + + ru + + PersonalComputer MobileDevice true diff --git a/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Form.form b/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Form.form index 59a4553db..de4056f3a 100644 --- a/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Form.form +++ b/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Form.form @@ -1362,7 +1362,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto diff --git a/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Help/ru.html b/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Help/ru.html index fb189b1f0..5dc7fb74c 100644 --- a/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Help/ru.html +++ b/SSL/src/CommonForms/РедактированиеТабличногоДокумента/Help/ru.html @@ -1,4 +1,4 @@ - +

                    Предназначена для редактирования табличного документа.

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

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

                    diff --git a/SSL/src/CommonForms/СертификатЭП/Help/ru.html b/SSL/src/CommonForms/СертификатЭП/Help/ru.html index 9a3d3e725..dd6e00fa3 100644 --- a/SSL/src/CommonForms/СертификатЭП/Help/ru.html +++ b/SSL/src/CommonForms/СертификатЭП/Help/ru.html @@ -1,8 +1,15 @@ - -

                    Форма предназначена для просмотра основных свойств сертификата электронной подписи (ЭП).

                    -

                    В ней можно посмотреть основные свойства сертификата: кому выдан, кем выдан, действителен до, назначение.

                    -

                    По команде "Проверить" выполняется проверка сертификата.

                    -

                     

                    -

                    См. также:

                    -
                    -

                    Настройка ЭП и шифрования
                    Персональные настройки ЭП

                    \ No newline at end of file + +

                    Предназначена для просмотра основных свойств сертификата электронной подписи (ЭП).

                    +

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

                    +

                    Открывается с помощью кнопки Открыть сертификат (также можно воспользоваться двойным щелчком мыши) в списке сертификатов на вкладке Разрешено расшифровывать карточки файла (карточки присоединенного файла). Также можно открыть сертификат с помощью соответствующей команды из окна Подпись ЭП.

                    +

                    Основные сведения о сертификате ЭП

                    +
                    • Кому выдан - личные данные владельца ЭП; +
                    • Кем выдан - данные об Удостоверяющем центре, который выдал ЭП; +
                    • Действителен до - дата, до которой действует ЭП; +
                    • Назначение - перечень назначений сертификата.

                    Выгрузка сертификата

                    +

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

                    +

                    Проверка сертификата

                    +

                    Нажмите Проверить, для того чтобы проверить действительность сертификата.

                    +

                    См. также:

                    + \ No newline at end of file diff --git a/SSL/src/CommonForms/СертификатЭП/Module.bsl b/SSL/src/CommonForms/СертификатЭП/Module.bsl index be852fe33..b36cad388 100644 --- a/SSL/src/CommonForms/СертификатЭП/Module.bsl +++ b/SSL/src/CommonForms/СертификатЭП/Module.bsl @@ -38,9 +38,19 @@ Возврат; КонецЕсли; - Сертификат = ПолучитьСертификат(Неопределено); + ОбщиеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); + Если ОбщиеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда + Сертификат = ПолучитьСертификатНаСервере(); + Если Сертификат <> Неопределено Тогда + Сертификат = Новый СертификатКриптографии(Сертификат); + КонецЕсли; + Иначе + МенеджерКриптографии = ЭлектроннаяПодписьКлиент.ПолучитьМенеджерКриптографии(); + Сертификат = ПолучитьСертификат(ЭтотОбъект, МенеджерКриптографии); + КонецЕсли; + Если Сертификат = Неопределено Тогда - Возврат; + ПоказатьПредупреждение(, НСтр("ru = 'Сертификат не найден'")); КонецЕсли; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); @@ -64,22 +74,14 @@ &НаКлиенте Процедура Проверить(Команда) - МенеджерКриптографии = Неопределено; - Сертификат = ПолучитьСертификат(МенеджерКриптографии); - Если Сертификат = Неопределено ИЛИ МенеджерКриптографии = Неопределено Тогда - Возврат; - КонецЕсли; + ОбщиеНастройкиРаботыСЭП = ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки(); - Попытка - МассивРежимовПроверки = Новый Массив; - МассивРежимовПроверки.Добавить(РежимПроверкиСертификатаКриптографии.ИгнорироватьВремяДействия); - МассивРежимовПроверки.Добавить(РежимПроверкиСертификатаКриптографии.РазрешитьТестовыеСертификаты); - МенеджерКриптографии.ПроверитьСертификат(Сертификат, МассивРежимовПроверки); - ПоказатьПредупреждение(, НСтр("ru = 'Сертификат действителен'")); - Исключение - Текст = НСтр("ru = 'Сертификат недействителен.'") + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); - ПоказатьПредупреждение(, Текст); - КонецПопытки; + Если ОбщиеНастройкиРаботыСЭП.ВыполнятьПроверкуЭПНаСервере Тогда + ПоказатьПредупреждение(, ПроверитьНаСервере()); + Иначе + МенеджерКриптографии = ЭлектроннаяПодписьКлиент.ПолучитьМенеджерКриптографии(); + ПоказатьПредупреждение(, ПроверитьСертификат(ЭтотОбъект, МенеджерКриптографии)); + КонецЕсли; КонецПроцедуры @@ -87,14 +89,64 @@ #Область СлужебныеПроцедурыИФункции -&НаКлиенте -Функция ПолучитьСертификат(МенеджерКриптографии) +&НаСервере +Функция ПроверитьНаСервере() - ДвоичныеДанныеОтпечатка = Base64Значение(Отпечаток); - МенеджерКриптографии = ЭлектроннаяПодписьКлиент.ПолучитьМенеджерКриптографии(); + МенеджерКриптографии = ЭлектроннаяПодпись.ПолучитьМенеджерКриптографии(); - Если ЗначениеЗаполнено(АдресСертификата) И ЭтоАдресВременногоХранилища(АдресСертификата) Тогда - ДвоичныеДанныеСертификата = ПолучитьИзВременногоХранилища(АдресСертификата); + Возврат ПроверитьСертификат(ЭтотОбъект, МенеджерКриптографии); + +КонецФункции + +&НаСервере +Функция ПолучитьСертификатНаСервере() + + МенеджерКриптографии = ЭлектроннаяПодпись.ПолучитьМенеджерКриптографии(); + + Сертификат = ПолучитьСертификат(ЭтотОбъект, МенеджерКриптографии); + Если Сертификат = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Возврат Сертификат.Выгрузить(); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПроверитьСертификат(Форма, МенеджерКриптографии) + + Если МенеджерКриптографии = Неопределено Тогда + Возврат НСтр("ru = 'Не удалось проверить сертификат, так как не определен менеджер криптографии.'"); + КонецЕсли; + + Сертификат = ПолучитьСертификат(Форма, МенеджерКриптографии); + + Если Сертификат = Неопределено Тогда + Возврат НСтр("ru = 'Сертификат не найден.'"); + КонецЕсли; + + МассивРежимовПроверки = Новый Массив; + МассивРежимовПроверки.Добавить(РежимПроверкиСертификатаКриптографии.ИгнорироватьВремяДействия); + МассивРежимовПроверки.Добавить(РежимПроверкиСертификатаКриптографии.РазрешитьТестовыеСертификаты); + + Попытка + МенеджерКриптографии.ПроверитьСертификат(Сертификат, МассивРежимовПроверки); + Исключение + Возврат НСтр("ru = 'Сертификат недействителен.'") + Символы.ПС + + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + КонецПопытки; + + Возврат НСтр("ru = 'Сертификат действителен.'"); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПолучитьСертификат(Форма, МенеджерКриптографии) + + ДвоичныеДанныеОтпечатка = Base64Значение(Форма.Отпечаток); + + Если ЗначениеЗаполнено(Форма.АдресСертификата) И ЭтоАдресВременногоХранилища(Форма.АдресСертификата) Тогда + ДвоичныеДанныеСертификата = ПолучитьИзВременногоХранилища(Форма.АдресСертификата); Сертификат = Новый СертификатКриптографии(ДвоичныеДанныеСертификата); Иначе Если МенеджерКриптографии = Неопределено Тогда @@ -104,10 +156,6 @@ Сертификат = ХранилищеСертификатов.НайтиПоОтпечатку(ДвоичныеДанныеОтпечатка); КонецЕсли; - Если Сертификат = Неопределено Тогда - ПоказатьПредупреждение(, НСтр("ru = 'Сертификат не найден'")); - КонецЕсли; - Возврат Сертификат; КонецФункции diff --git a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Form.form b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Form.form index bed943587..d11858ddd 100644 --- a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Form.form +++ b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Form.form @@ -119,7 +119,7 @@ 35 <key>ru</key> - <value>Для сервера 1С:Предприятия под управлением Microsoft Windows, (вида "\\имя сервера\resource\1Cv8.1CD")</value> + <value>Для сервера 1С:Предприятия под управлением Microsoft Windows</value> true true @@ -239,7 +239,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto @@ -279,20 +279,247 @@ ЗаполнитьПараметрыСервернойБазы 6 - - Сервер - 9 + + ВертикальнаяГруппа1 + 75 + + Сервер + 9 + true + true + + true + + + Сервер + + + СерверExtendedTooltip + 60 + Label + true + true + + Left + + + + СерверКонтекстноеМеню + 10 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ИмяБазы + 11 + true + true + + true + + + ИмяБазы + + + ИмяБазыExtendedTooltip + 61 + Label + true + true + + Left + + + + ИмяБазыКонтекстноеМеню + 12 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗащищенноеСоединение + 13 + true + true + + true + + + ЗащищенноеСоединение + + + ЗащищенноеСоединениеExtendedTooltip + 62 + Label + true + true + + Left + + + + ЗащищенноеСоединениеКонтекстноеМеню + 14 + true + + InputField + DontShow + Enter + true + Left + true + + 20 + true + true + true + true + true + true + + + ru + Выключено + + + 0 + + + + + ru + Установка соединения + + + 1 + + + + + ru + Постоянно + + + 2 + + + Normal + + + + ЯзыкБазыСервера + 27 + true + true + + true + + + Язык + + + ЯзыкБазыСервераExtendedTooltip + 69 + Label + true + true + + Left + + + + ЯзыкБазыСервераКонтекстноеМеню + 28 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + УстановитьБлокировкуРегламентныхЗаданий + 46 + true + true + + true + + + УстановитьБлокировкуРегламентныхЗаданий + + Right + + УстановитьБлокировкуРегламентныхЗаданийExtendedTooltip + 70 + Label + true + true + + Left + + + + УстановитьБлокировкуРегламентныхЗаданийКонтекстноеМеню + 47 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - Сервер - + + <key>ru</key> + <value>Вертикальная группа 1</value> + - СерверExtendedTooltip - 60 + ВертикальнаяГруппа1РасширеннаяПодсказка + 76 Label true true @@ -300,40 +527,329 @@ Left - - СерверКонтекстноеМеню - 10 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal + UsualGroup + + Vertical + Auto + true + true + Auto + Auto - - ИмяБазы - 11 + + ВертикальнаяГруппа2 + 77 + + ТипСУБД + 15 + true + true + + true + + + ТипСУБД + + + ТипСУБДExtendedTooltip + 63 + Label + true + true + + Left + + + + ТипСУБДКонтекстноеМеню + 16 + true + + InputField + DontShow + Enter + true + Left + true + + true + true + true + true + true + + + ru + Microsoft SQL Server + + + MSSQLServer + + + + + ru + PostgreSQL + + + PostgreSQL + + + + + ru + IBM DB2 + + + IBMDB2 + + + + + ru + Oracle Database + + + Oracle + + + Normal + + + + СерверБазыДанных + 17 + true + true + + true + + + СерверБазыДанных + + + СерверБазыДанныхExtendedTooltip + 64 + Label + true + true + + Left + + + + СерверБазыДанныхКонтекстноеМеню + 18 + true + + InputField + DontShow + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ИмяБазыДанных + 19 + true + true + + true + + + ИмяБазыДанных + + + ИмяБазыДанныхExtendedTooltip + 65 + Label + true + true + + Left + + + + ИмяБазыДанныхКонтекстноеМеню + 20 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ПользовательБазыДанных + 21 + true + true + + true + + + ПользовательБазыДанных + + + ПользовательБазыДанныхExtendedTooltip + 66 + Label + true + true + + Left + + + + ПользовательБазыДанныхКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ПарольПользователя + 23 + true + true + + true + + + ПарольПользователя + + + ПарольПользователяExtendedTooltip + 67 + Label + true + true + + Left + + + + ПарольПользователяКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + СмещениеДат + 25 + true + true + + true + + + СмещениеДат + + + СмещениеДатExtendedTooltip + 68 + Label + true + true + + Left + + + + СмещениеДатКонтекстноеМеню + 26 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + ru + 0 + + + 0 + + + + + ru + 2000 + + + 2000 + + + Normal + + true true true - - ИмяБазы - + + <key>ru</key> + <value>Вертикальная группа 2</value> + - ИмяБазыExtendedTooltip - 61 + ВертикальнаяГруппа2РасширеннаяПодсказка + 78 Label true true @@ -341,468 +857,16 @@ Left - - ИмяБазыКонтекстноеМеню - 12 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal + UsualGroup + + Vertical + Auto + true + true + Auto + Auto - - ЗащищенноеСоединение - 13 - true - true - - true - - - ЗащищенноеСоединение - - - ЗащищенноеСоединениеExtendedTooltip - 62 - Label - true - true - - Left - - - - ЗащищенноеСоединениеКонтекстноеМеню - 14 - true - - InputField - DontShow - Enter - true - Left - true - - 20 - true - true - true - true - true - true - - - ru - Выключено - - - 0 - - - - - ru - Установка соединения - - - 1 - - - - - ru - Постоянно - - - 2 - - - Normal - - - - ТипСУБД - 15 - true - true - - true - - - ТипСУБД - - - ТипСУБДExtendedTooltip - 63 - Label - true - true - - Left - - - - ТипСУБДКонтекстноеМеню - 16 - true - - InputField - DontShow - Enter - true - Left - true - - true - true - true - true - true - - - ru - Microsoft SQL Server - - - MSSQLServer - - - - - ru - PostgreSQL - - - PostgreSQL - - - - - ru - IBM DB2 - - - IBMDB2 - - - - - ru - Oracle Database - - - Oracle - - - Normal - - - - СерверБазыДанных - 17 - true - true - - true - - - СерверБазыДанных - - - СерверБазыДанныхExtendedTooltip - 64 - Label - true - true - - Left - - - - СерверБазыДанныхКонтекстноеМеню - 18 - true - - InputField - DontShow - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ИмяБазыДанных - 19 - true - true - - true - - - ИмяБазыДанных - - - ИмяБазыДанныхExtendedTooltip - 65 - Label - true - true - - Left - - - - ИмяБазыДанныхКонтекстноеМеню - 20 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ПользовательБазыДанных - 21 - true - true - - true - - - ПользовательБазыДанных - - - ПользовательБазыДанныхExtendedTooltip - 66 - Label - true - true - - Left - - - - ПользовательБазыДанныхКонтекстноеМеню - 22 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ПарольПользователя - 23 - true - true - - true - - - ПарольПользователя - - - ПарольПользователяExtendedTooltip - 67 - Label - true - true - - Left - - - - ПарольПользователяКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - СмещениеДат - 25 - true - true - - true - - - СмещениеДат - - - СмещениеДатExtendedTooltip - 68 - Label - true - true - - Left - - - - СмещениеДатКонтекстноеМеню - 26 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - - - ru - 0 - - - 0 - - - - - ru - 2000 - - - 2000 - - - Normal - - - - ЯзыкБазыСервера - 27 - true - true - - true - - - Язык - - - ЯзыкБазыСервераExtendedTooltip - 69 - Label - true - true - - Left - - - - ЯзыкБазыСервераКонтекстноеМеню - 28 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - УстановитьБлокировкуРегламентныхЗаданий - 46 - true - true - - true - - - УстановитьБлокировкуРегламентныхЗаданий - - Right - - УстановитьБлокировкуРегламентныхЗаданийExtendedTooltip - 70 - Label - true - true - - Left - - - - УстановитьБлокировкуРегламентныхЗаданийКонтекстноеМеню - 47 - true - - CheckBoxField - Enter - true - Left - true - - true true @@ -828,7 +892,6 @@ Page - Vertical auto @@ -903,7 +966,7 @@ 33 <key>ru</key> - <value>Для сервера 1С:Предприятия под управлением Microsoft Windows, (вида "\\имя сервера\resource\files.zip")</value> + <value>Для сервера 1С:Предприятия под управлением Microsoft Windows</value> true true @@ -1022,7 +1085,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto @@ -1156,7 +1219,7 @@ OnCreateAtServer ПриСозданииНаСервере - 75 + 80 LockOwner true true diff --git a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Help/ru.html b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Help/ru.html index cfae4cace..b1fef4e38 100644 --- a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Help/ru.html +++ b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Help/ru.html @@ -1,2 +1,50 @@ - -

                    В этой форме вам надо указать параметры файловой или клиент-серверной базы, где будет создан начальный образ базы для обмена РИБ. Если у вас есть файлы в томах, вам также потребуется указать путь к файлу, в который будет записан архив (zip) со всеми файлами в томах. При первом запуске в базе филиала вам нужно будет выполнить команду "Разместить файлы начального образа", указав в ней путь к файлу архива.

                    \ No newline at end of file + +

                    Предназначена для указания параметров файловой или клиент-серверной базы при создании начального образа РИБ. При настройке синхронизации РИБ (внешние файлы) необходимо указать, где будет создан начальный образ РИБ. Если файлы хранятся в томах, также потребуется указать путь к файлу, в который будет записан архив (.zip) со всеми файлами в томах.

                    +

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

                    +

                    Параметры информационной базы

                    +

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

                    +
                    • +
                      На данном компьютере или на компьютере в локальной сети.
                      +
                      • +
                        Задайте Параметры информационной базы:
                        +
                      • +
                        В поле Язык (Страна) выберите нужное значение из списка. По умолчанию предлагаются параметры, которые были заданы при создании синхронизации данных.
                        +
                      • +
                        Задайте Полное имя файловой базы:
                        +
                        • +
                          Для сервера 1С:Предприятия под управлением Microsoft Windows -  с помощью кнопки  укажите путь к папке, в которой будет размещен файл.
                    +

                    или

                    +
                        • +
                          Для сервера 1С:Предприятия под управлением Linux - напишите путь к папке, в которой будет размещен файл начального образа.
                    • +
                      На сервере 1С:Предприятия.
                      +
                      • +
                        Задайте Параметры информационной базы:
                        +
                        • +
                          Укажите Кластер серверов 1С:Предприятия;
                          +
                        • +
                          Напишите Имя информационной базы в кластере;
                          +
                        • +
                          В поле Защищенное соединение  выберите значение из списка (Выключено, Установка соединения, Постоянно);
                          +
                        • +
                          Выберите из списка Тип СУБД (Microcoft SQL Server, PostgreSQL, IBM DB2, Oracle Database);
                          +
                        • +
                          Укажите Сервер базы данных;
                          +
                        • +
                          Напишите Имя базы данных;
                          +
                        • +
                          Напишите имя Пользователя базы данных и  Пароль Пользователя;
                          +
                        • +
                          Выберите Смещение дат (по умолчанию 0);
                          +
                        • +
                          В поле Язык (Страна) выберите значение из списка. По умолчанию предлагаются параметры, которые были заданы при создании синхронизации данных;
                          +
                        • +
                          При необходимости включите флажок Установить блокировку регламентных заданий (по умолчанию выключен).

                    Путь к архиву с файлами томов

                    +

                    Укажите Полное имя архива с файлами томов:

                    +
                    • +
                      Для сервера 1С:Предприятия под управлением Microsoft Windows - укажите с помощью кнопки  путь к каталогу

                    или

                    +
                    • +
                      Для сервера 1С:Предприятия под управлением Linux - напишите путь к папке, в которой будет размещен архив с файлами томов.

                    Для продолжения нажмите Создать начальный образ.

                    +

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

                    +

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

                    +

                    См. также:

                    +

                    Общая информация о файлах.

                    \ No newline at end of file diff --git a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Module.bsl b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Module.bsl index 4a40166b4..c576c580c 100644 --- a/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Module.bsl +++ b/SSL/src/CommonForms/СозданиеНачальногоОбразаСФайлами/Module.bsl @@ -59,15 +59,8 @@ Элементы.ГруппаПутьКАрхивуСФайламиТомов.Видимость = Ложь; КонецЕсли; - Если СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиента().ИнформационнаяБазаФайловая Тогда - - Элементы.ПолноеИмяФайловойБазы.Заголовок = - НСтр("ru = 'Для сервера 1С:Предприятия под управлением Microsoft Windows'"); - - Элементы.ПутьКАрхивуСФайламиТомов.Заголовок = - НСтр("ru = 'Для сервера 1С:Предприятия под управлением Microsoft Windows'"); - Иначе - Элементы.ПолноеИмяФайловойБазы.КнопкаВыбора = Ложь; + Если Не СтандартныеПодсистемыВызовСервера.ПараметрыРаботыКлиента().ИнформационнаяБазаФайловая Тогда + Элементы.ПутьКАрхивуСФайламиТомов.ПодсказкаВвода = НСтр("ru = '\\имя сервера\resource\files.zip'"); Элементы.ПутьКАрхивуСФайламиТомов.КнопкаВыбора = Ложь; КонецЕсли; @@ -85,15 +78,10 @@ Страницы.ТекущаяСтраница = Страницы.ПодчиненныеЭлементы[ВидБазы]; Если ЭтотОбъект.ВидБазы = 0 Тогда - Элементы.ПутьКАрхивуСФайламиТомов.Заголовок = - НСтр("ru = 'Для сервера 1С:Предприятия под управлением Microsoft Windows'"); - + Элементы.ПутьКАрхивуСФайламиТомов.ПодсказкаВвода = ""; Элементы.ПутьКАрхивуСФайламиТомов.КнопкаВыбора = Истина; Иначе - Элементы.ПутьКАрхивуСФайламиТомов.Заголовок = - НСтр("ru = 'Для сервера 1С:Предприятия под управлением Microsoft Windows, - |(вида ""\\имя сервера\resource\files.zip"")'"); - + Элементы.ПутьКАрхивуСФайламиТомов.ПодсказкаВвода = НСтр("ru = '\\имя сервера\resource\files.zip'"); Элементы.ПутьКАрхивуСФайламиТомов.КнопкаВыбора = Ложь; КонецЕсли; diff --git a/SSL/src/CommonForms/СозданиеРезервнойКопии/Form.form b/SSL/src/CommonForms/СозданиеРезервнойКопии/Form.form index 3d459b262..ea2a19e35 100644 --- a/SSL/src/CommonForms/СозданиеРезервнойКопии/Form.form +++ b/SSL/src/CommonForms/СозданиеРезервнойКопии/Form.form @@ -382,7 +382,7 @@ OnCreateAtServer ПриСозданииНаСервере - LockOwner + LockWholeInterface true true true diff --git a/SSL/src/CommonForms/СохранениеПечатнойФормы/Help/ru.html b/SSL/src/CommonForms/СохранениеПечатнойФормы/Help/ru.html index 78d555002..ad3b4aef3 100644 --- a/SSL/src/CommonForms/СохранениеПечатнойФормы/Help/ru.html +++ b/SSL/src/CommonForms/СохранениеПечатнойФормы/Help/ru.html @@ -1,4 +1,4 @@ - +

                    Предназначена для сохранения печатной формы. Имеется  возможность сохранить печатные формы в нужных форматах на компьютере или присоединить к документу.

                    • С помощью переключателя выберите, как сохранить печатную форму:
                      • Сохранить в папку на компьютер. diff --git a/SSL/src/CommonForms/СтруктураПодчиненности/Form.form b/SSL/src/CommonForms/СтруктураПодчиненности/Form.form index ee6fe65c5..9081d6b02 100644 --- a/SSL/src/CommonForms/СтруктураПодчиненности/Form.form +++ b/SSL/src/CommonForms/СтруктураПодчиненности/Form.form @@ -1,5 +1,5 @@ - + <key>ru</key> <value>Структура подчиненности</value> @@ -110,9 +110,6 @@ <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> - <picture xsi:type="core:PictureRef"> - <picture>StdPicture.Refresh</picture> - </picture> <representationInContextMenu>Auto</representationInContextMenu> </items> <items xsi:type="form:Button"> diff --git a/SSL/src/CommonForms/СтруктураПодчиненности/Help/ru.html b/SSL/src/CommonForms/СтруктураПодчиненности/Help/ru.html index 1cc070469..84cae7958 100644 --- a/SSL/src/CommonForms/СтруктураПодчиненности/Help/ru.html +++ b/SSL/src/CommonForms/СтруктураПодчиненности/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Отчёт <strong>Структура подчиненности</strong> предназначен для вывода родительских и подчиненных документов. Документ, для котого сформирован отчёт отображается жирным шрифтом. Дерево родительских документов строится вверх-вправо от документа, для которого формируется отчёт. Дерево дочерних документов строится вниз-вправо от документа, для которого формируется отчёт.</p> <p>При помощи двойного клика на любом выведенном в отчёт документе можно открыть данный документ для просмотра.</p> <p>Воспользовашись кнопкой <strong>Вывести для текущего </strong>можно сформировать отчёт <strong>Структура подчиненности </strong>для документа, на котором мы на данный момент спозиционировались.</p> diff --git a/SSL/src/CommonForms/СтруктураПодчиненности/Module.bsl b/SSL/src/CommonForms/СтруктураПодчиненности/Module.bsl index 305197a42..971d2c935 100644 --- a/SSL/src/CommonForms/СтруктураПодчиненности/Module.bsl +++ b/SSL/src/CommonForms/СтруктураПодчиненности/Module.bsl @@ -294,7 +294,7 @@ ПредставлениеДокумента = Выборка.Представление; Если (Выборка.СуммаДокумента <> 0) И (Выборка.СуммаДокумента <> NULL) Тогда - ПредставлениеДокумента = ПредставлениеДокумента + " " + НСтр("ru='на сумму'") + " " + Выборка.СуммаДокумента + " " + Выборка.Валюта + "."; + ПредставлениеДокумента = ПредставлениеДокумента + " " + НСтр("ru='на сумму'") + " " + Выборка.СуммаДокумента + " " + Выборка.Валюта; КонецЕсли; Возврат ПредставлениеДокумента; @@ -474,7 +474,7 @@ И ЗначениеРеквизита <> ТекущийДокумент И СписокРеквизитов.НайтиПоЗначению(ЗначениеРеквизита) = Неопределено Тогда - СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ЗначениеРеквизита.Дата,"ДФ=yyyyMMddЧЧММсс")); + СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ЗначениеРеквизита.Дата,"ДЛФ=DT")); КонецЕсли; КонецЕсли; @@ -524,9 +524,10 @@ Если ЗначениеЗаполнено(ЗначениеРеквизита) И Метаданные.Документы.Содержит(МетаданныеЗначения) И ЗначениеРеквизита <> ТекущийДокумент - И СписокРеквизитов.НайтиПоЗначению(ЗначениеРеквизита) = Неопределено Тогда + И СписокРеквизитов.НайтиПоЗначению(ЗначениеРеквизита) = Неопределено + И ПравоДоступа("Чтение", МетаданныеЗначения) Тогда - СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ЗначениеРеквизита.Дата,"ДФ=yyyyMMddЧЧММсс")); + СписокРеквизитов.Добавить(ЗначениеРеквизита,Формат(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗначениеРеквизита, "Дата"),"ДЛФ=DT")); КонецЕсли; КонецЕсли; @@ -750,7 +751,7 @@ Для Инд = 1 По 3 Цикл ТекстПредставление = ТекстПредставление + ", - | " + ?(МассивРеквизитов.Количество() >= Инд,МассивРеквизитов[инд - 1],"NULL") + " КАК ДополнительныйРеквизит" + Инд; + | " + ?(МассивРеквизитов.Количество() >= Инд,МассивРеквизитов[инд - 1],"NULL") + " Как ДополнительныйРеквизит" + Инд; КонецЦикла; diff --git a/SSL/src/CommonForms/УстановкаПодписиЭП/Form.form b/SSL/src/CommonForms/УстановкаПодписиЭП/Form.form index edaccbbde..bcf73fb8c 100644 --- a/SSL/src/CommonForms/УстановкаПодписиЭП/Form.form +++ b/SSL/src/CommonForms/УстановкаПодписиЭП/Form.form @@ -44,10 +44,12 @@ <type>InputField</type> <readOnly>true</readOnly> <editMode>Auto</editMode> + <autoCellHeight>true</autoCellHeight> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>30</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <wrap>true</wrap> @@ -90,6 +92,7 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <wrap>true</wrap> @@ -132,8 +135,10 @@ <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> <extInfo xsi:type="form:InputFieldExtInfo"> + <width>15</width> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> + <horizontalStretch>false</horizontalStretch> <wrap>true</wrap> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> @@ -146,9 +151,7 @@ <id>12</id> <visible>true</visible> <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> + <userVisible/> <dataPath xsi:type="form:DataPath"> <segments>СертификатыЭП.Назначение</segments> </dataPath> @@ -482,7 +485,7 @@ <event>OnCreateAtServer</event> <name>ПриСозданииНаСервере</name> </handlers> - <windowOpeningMode>DontBlock</windowOpeningMode> + <windowOpeningMode>LockOwner</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> <autoUrl>true</autoUrl> <group>Vertical</group> diff --git a/SSL/src/CommonForms/УстановкаПодписиЭП/Help/ru.html b/SSL/src/CommonForms/УстановкаПодписиЭП/Help/ru.html index 7b66e393d..50bd7555d 100644 --- a/SSL/src/CommonForms/УстановкаПодписиЭП/Help/ru.html +++ b/SSL/src/CommonForms/УстановкаПодписиЭП/Help/ru.html @@ -1,9 +1,14 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>В форме выбирается сертификат электронной подписи (ЭП) для подписания данных.</p> -<p>Для подписания нужно выбрать один сертификат, а также ввести пароль к закрытому ключу. Кроме того, можно ввести комментарий к подписи. </p> -<p>Для выполнения подписи следует нажать кнопку "<strong>Подписать</strong>". </p> -<p>Данные будут подписаны с использованием указанного сертификата ЭП.</p> -<p> </p> -<p><strong><font color="#b22222">См. также:</font></strong></p> -<blockquote style="MARGIN-RIGHT: 0px" dir="ltr"> -<p><a href="CommonForm.НастройкиКриптографии/Help">Настройка ЭП и шифрования</a><br><a href="../idn0">Настройка программы</a> </p></blockquote></body></html> \ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для выбора сертификата электронной подписи (ЭП) при подписании данных.</p> +<p>Открывается по команде <img src="CommonPicture.ПодписанЭП" width="16" height="16"></img> <strong>Подписать</strong>, например, из <a href="Catalog.Файлы.Form.Файлы/Help">списка файлов</a> (<a href="CommonForm.ПрисоединенныеФайлы/Help">присоединенных файлов</a>).</p> +<p>Электронная подпись - реквизит любого электронного документа, с помощью которого можно удостовериться в неизменности электронного документа с момента его подписи. Для подписи необходимо иметь сертификат ключа ЭП. Контроль неизменности электронного документа осуществляется в результате проверки соответствия ЭП документа и сертификата ключа ЭП. Если ЭП соответствует сертификату, это является гарантией того, что документ не был изменен кем-либо с момента его подписания. Контроль неизменности электронного документа можно выполнить в любой момент времени.</p> +<h3>Подписание данных</h3> +<ul><li>Подписывать файл могут разные пользователи, при этом для каждого будет создана своя подпись. +</li><li>Для подписания выберите один сертификат. +</li><li>Напишите <strong>Пароль</strong> к закрытому ключу (вводится в процессе создания сертификата). +</li><li>При необходимости можно ввести <strong>Комментарий к подписи</strong> - дополнительную информацию о подписи.  +</li><li>Для выполнения подписи нажмите <strong>Подписать</strong>. +</li><li>Данные будут подписаны с использованием указанного сертификата ЭП. +</li><li>Созданная ЭП хранится в программе. Подписанный файл становится недоступным для редактирования и отображается в списках со значком <img src="CommonPicture.ПодписанЭП"></img>. </li></ul><h3>См. также:</h3> +<ul style="MARGIN-RIGHT: 0px" dir="ltr"><li><a href="CommonForm.НастройкиКриптографии/Help">Настройка ЭП и шифрования</a>; +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/CommonForms/УточнениеКонтактов/Help/ru.html b/SSL/src/CommonForms/УточнениеКонтактов/Help/ru.html new file mode 100644 index 000000000..446956306 --- /dev/null +++ b/SSL/src/CommonForms/УточнениеКонтактов/Help/ru.html @@ -0,0 +1,15 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для сохранения адресов отправителей <a href="Document.ЭлектронноеПисьмоВходящее.Form.ФормаДокумента/Help">входящих электронных писем</a> в контактах программы.</p> +<p>Также можно сопоставить и обновить адреса электронной почты, содержащиеся в письме, с контактами и их текущей контактной информацией в программе.</p> +<p>Открывается по гиперссылке <strong>Уточнить контакты</strong> во входящем электронном письме. Если контакты были сопоставлены автоматически, гиперссылка не выводится. В этом случае можно воспользоваться командой <strong>Уточнить контакты</strong> меню <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>)</p> +<p>Список состоит из колонок:</p> +<ul><li><strong>Адрес в письме</strong> - в колонку помещаются все адреса электронной почты, которые фигурируют во входящем письме. +</li><li><strong>Сохранить в контактах</strong>: +<ul><li><strong>Контакт</strong> - выберите контакт из списков программы для сопоставления. Если контакт еще не сопоставлен, то открывается окно <a href="CommonForm.ВыборКонтакта/Help">Выбор контакта</a>. С его помощью можно подобрать соответствующий список программы. +</li><li><strong>Вид эл.почты контакта</strong> - подбирается из контакта автоматически.</li></ul></li></ul><h3>Сопоставление контактов</h3> +<ul><li>Если адрес был ранее сопоставлен с контактом, то он будет отображен в списке. +</li><li>Если адрес не был ранее сопоставлен с контактом, или если необходимо сопоставить адрес с другим контактом, или записать адрес в другое поле контактной информации, то в поле <strong>Контакт</strong> можно выбрать контакт, в который будет записан новый адрес электронной почты. В поле <strong>Вид эл. почты контакта</strong> можно уточнить, в какое именно поле будет записан электронный адрес контакта. +</li><li>С помощью кнопки <strong>Записать и закрыть</strong> для указанных контактов адреса будут перезаписаны в указанный вид электронной почты. +</li><li>После сопоставления к адресу электронной почты (его представлению) в письме будет добавлено наименование контакта. +</li><li>Если у контакта в программе указан адрес электронной почты, то при получении письма от такого контакта сопоставление контакта с адресом электронной почты произойдет автоматически.</li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/CommonForms/УточнениеКонтактов/УточнениеКонтактов.mdo b/SSL/src/CommonForms/УточнениеКонтактов/УточнениеКонтактов.mdo index 06791ec12..6fafc154a 100644 --- a/SSL/src/CommonForms/УточнениеКонтактов/УточнениеКонтактов.mdo +++ b/SSL/src/CommonForms/УточнениеКонтактов/УточнениеКонтактов.mdo @@ -5,6 +5,11 @@ <key>ru</key> <value>Уточнение контактов электронного письма</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> <useStandardCommands>true</useStandardCommands> diff --git a/SSL/src/CommonForms/ФайлыВТоме/Attributes/ФайлыВТомах/ExtInfo/ListSettings.dcss b/SSL/src/CommonForms/ФайлыВТоме/Attributes/Список/ExtInfo/ListSettings.dcss similarity index 100% rename from SSL/src/CommonForms/ФайлыВТоме/Attributes/ФайлыВТомах/ExtInfo/ListSettings.dcss rename to SSL/src/CommonForms/ФайлыВТоме/Attributes/Список/ExtInfo/ListSettings.dcss diff --git a/SSL/src/CommonForms/ФайлыВТоме/Form.form b/SSL/src/CommonForms/ФайлыВТоме/Form.form index 9f829fab7..25c65e32b 100644 --- a/SSL/src/CommonForms/ФайлыВТоме/Form.form +++ b/SSL/src/CommonForms/ФайлыВТоме/Form.form @@ -49,8 +49,70 @@ <textSize>Normal</textSize> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>30</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 32 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + CommandBar + + Left + Form + + - ФайлыВТомах + Список 11 true true @@ -58,24 +120,32 @@ true - ФайлыВТомах + Список None CancelSearch Find - ПутьКФайлу + СписокПутьКФайлу 18 + + <key>ru</key> + <value>Путь к файлу в томе</value> + true true true - ФайлыВТомах.ПутьКФайлу + Список.ПутьКФайлу + + ru + Путь к файлу в томе (в пределах пути к тому) + - ПутьКФайлуExtendedTooltip + СписокПутьКФайлуРасширеннаяПодсказка 24 Label true @@ -85,7 +155,7 @@ - ПутьКФайлуКонтекстноеМеню + СписокПутьКФайлуКонтекстноеМеню 19 true @@ -95,23 +165,28 @@ Left true + 35 true true - Размер + СписокРазмер 20 + + <key>ru</key> + <value>Размер</value> + true true true - ФайлыВТомах.Размер + Список.Размер - РазмерExtendedTooltip + СписокРазмерРасширеннаяПодсказка 25 Label true @@ -121,7 +196,7 @@ - РазмерКонтекстноеМеню + СписокРазмерКонтекстноеМеню 21 true @@ -131,12 +206,13 @@ Left true + 13 true true - Автор + СписокАвтор 14 true true @@ -144,10 +220,10 @@ true - ФайлыВТомах.Автор + Список.Автор - АвторExtendedTooltip + СписокАвторРасширеннаяПодсказка 26 Label true @@ -157,7 +233,7 @@ - АвторКонтекстноеМеню + СписокАвторКонтекстноеМеню 15 true @@ -167,21 +243,22 @@ Left true + 20 true true - Ссылка + СписокСсылка 27 true true - ФайлыВТомах.Ссылка + Список.Ссылка - СсылкаРасширеннаяПодсказка + СписокСсылкаРасширеннаяПодсказка 29 Label true @@ -191,7 +268,7 @@ - СсылкаКонтекстноеМеню + СписокСсылкаКонтекстноеМеню 28 true @@ -201,29 +278,30 @@ Left true + 1 true true - ФайлыВТомахКоманднаяПанель + СписокКоманднаяПанель 13 Left Selection - ФайлыВТомахВыбор + СписокВыбор BeforeRowChange - ФайлыВТомахПередНачаломИзменения + СписокПередНачаломИзменения - ФайлыВТомахСтрокаПоиска - 31 + СписокСтрокаПоиска + 35 - ФайлыВТомахСтрокаПоискаРасширеннаяПодсказка - 33 + СписокСтрокаПоискаРасширеннаяПодсказка + 37 Label true true @@ -232,21 +310,21 @@ - ФайлыВТомахСтрокаПоискаКонтекстноеМеню - 32 + СписокСтрокаПоискаКонтекстноеМеню + 36 true - ФайлыВТомах + Список true - ФайлыВТомахСостояниеПросмотра - 34 + СписокСостояниеПросмотра + 38 - ФайлыВТомахСостояниеПросмотраРасширеннаяПодсказка - 36 + СписокСостояниеПросмотраРасширеннаяПодсказка + 40 Label true true @@ -255,22 +333,22 @@ - ФайлыВТомахСостояниеПросмотраКонтекстноеМеню - 35 + СписокСостояниеПросмотраКонтекстноеМеню + 39 true ViewStatusAddition - ФайлыВТомах + Список true - ФайлыВТомахУправлениеПоиском - 37 + СписокУправлениеПоиском + 41 - ФайлыВТомахУправлениеПоискомРасширеннаяПодсказка - 39 + СписокУправлениеПоискомРасширеннаяПодсказка + 43 Label true true @@ -279,18 +357,18 @@ - ФайлыВТомахУправлениеПоискомКонтекстноеМеню - 38 + СписокУправлениеПоискомКонтекстноеМеню + 42 true SearchControlAddition - ФайлыВТомах + Список true - ФайлыВТомахExtendedTooltip + СписокРасширеннаяПодсказка 23 Label true @@ -300,11 +378,12 @@ - ФайлыВТомахКонтекстноеМеню + СписокКонтекстноеМеню 12 true true + 8 true true MultiRow @@ -323,7 +402,7 @@ true true - ФайлыВТомах.ИндексКартинки + Список.ИндексКартинки CommonPicture.КоллекцияПиктограммФайлов @@ -341,13 +420,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer @@ -357,7 +436,7 @@ OnClose ПриЗакрытии - 60 + 80 DontBlock true true @@ -442,10 +521,10 @@ - ФайлыВТомах + Список <key>ru</key> - <value>Файлы в томах</value> + <value>Список</value> 6 @@ -458,10 +537,10 @@ true - ФайлыВТомах.Ссылка + Список.Ссылка - ФайлыВТомах.ЭтоПрисоединенныеФайлы + Список.ЭтоПрисоединенныеФайлы
                        true
                        diff --git a/SSL/src/CommonForms/ФайлыВТоме/Help/ru.html b/SSL/src/CommonForms/ФайлыВТоме/Help/ru.html index 1d7b3e2c1..0cdbb8b28 100644 --- a/SSL/src/CommonForms/ФайлыВТоме/Help/ru.html +++ b/SSL/src/CommonForms/ФайлыВТоме/Help/ru.html @@ -1,12 +1,15 @@ - +

                        Предназначен для просмотра файлов, которые хранятся в томе на диске.

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

                        Список вызывается по команде Файлы в томе панели навигации Тома.

                        В списке выводится:

                        -
                        • Путь к файлу - подкаталог, в котором хранится файл; +
                          • Путь к файлу - полное имя файла, включает подкаталог, в котором хранится файл;
                          • Размер - объем в байтах; -
                          • Автор - пользователь, который добавил файл; -
                          • Ссылка.

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

                          +
                        • Автор - пользователь, который добавил файл.

                        Отбор файлов

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

                        Просмотр информации о файле

                        +

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

                        См. также:

                        -
                        • Тома хранения файлов; + \ No newline at end of file diff --git a/SSL/src/CommonForms/ФайлыВТоме/Module.bsl b/SSL/src/CommonForms/ФайлыВТоме/Module.bsl index e331dcfe4..3d4c02f48 100644 --- a/SSL/src/CommonForms/ФайлыВТоме/Module.bsl +++ b/SSL/src/CommonForms/ФайлыВТоме/Module.bsl @@ -80,10 +80,10 @@ #КонецОбласти -#Область ОбработчикиСобытийЭлементовТаблицыФормыФайлыВТомах +#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок &НаКлиенте -Процедура ФайлыВТомахВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) +Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; @@ -92,7 +92,7 @@ КонецПроцедуры &НаКлиенте -Процедура ФайлыВТомахПередНачаломИзменения(Элемент, Отказ) +Процедура СписокПередНачаломИзменения(Элемент, Отказ) Отказ = Истина; @@ -124,23 +124,29 @@ ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ЭтоПрисоединенныеФайлы", ?( ВРег(ИмяХранилища) = ВРег("ВерсииФайлов"), "ЛОЖЬ", "ИСТИНА")); - ФайлыВТомах.ТекстЗапроса = ТекстЗапроса; - ФайлыВТомах.Параметры.УстановитьЗначениеПараметра("Том", Том); - ФайлыВТомах.ОсновнаяТаблица = "Справочник." + ИмяХранилища; + Список.ТекстЗапроса = ТекстЗапроса; + Список.Параметры.УстановитьЗначениеПараметра("Том", Том); + Список.ОсновнаяТаблица = "Справочник." + ИмяХранилища; КонецПроцедуры &НаСервере Процедура ЗаполнитьИменаХранилищФайлов() - Для каждого Справочник Из Метаданные.Справочники Цикл - - Если Справочник.Имя = "ВерсииФайлов" - ИЛИ Прав(Справочник.Имя, 19) = "ПрисоединенныеФайлы" Тогда - - ИменаХранилищФайлов.Добавить(Справочник.Имя, Справочник.Синоним); - КонецЕсли; - КонецЦикла; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда + МетаданныеСправочники = Метаданные.Справочники; + ИменаХранилищФайлов.Добавить(МетаданныеСправочники.ВерсииФайлов.Имя, МетаданныеСправочники.ВерсииФайлов.Представление()); + КонецЕсли; + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрисоединенныеФайлы") Тогда + Для каждого Справочник Из Метаданные.Справочники Цикл + Если Прав(Справочник.Имя, 19) = "ПрисоединенныеФайлы" Тогда + ИменаХранилищФайлов.Добавить(Справочник.Имя, Справочник.Представление()); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ИменаХранилищФайлов.СортироватьПоПредставлению(); КонецПроцедуры @@ -157,14 +163,17 @@ &НаКлиенте Процедура ОткрытьКарточкуФайла() - ТекущиеДанные = Элементы.ФайлыВТомах.ТекущиеДанные; + ТекущиеДанные = Элементы.Список.ТекущиеДанные; Если ТекущиеДанные = Неопределено Тогда Возврат; КонецЕсли; Если ТекущиеДанные.ЭтоПрисоединенныеФайлы Тогда - ПрисоединенныеФайлыКлиент.ОткрытьФормуПрисоединенногоФайла(ТекущиеДанные.Ссылка); + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ПрисоединенныеФайлы") Тогда + МодульПрисоединенныеФайлыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПрисоединенныеФайлыКлиент"); + МодульПрисоединенныеФайлыКлиент.ОткрытьФормуПрисоединенногоФайла(ТекущиеДанные.Ссылка); + КонецЕсли; Иначе ПоказатьЗначение(, ТекущиеДанные.Ссылка); КонецЕсли; diff --git a/SSL/src/CommonForms/ФормаНастроекОтчета/Form.form b/SSL/src/CommonForms/ФормаНастроекОтчета/Form.form index 2ac83cfc3..82dc189f2 100644 --- a/SSL/src/CommonForms/ФормаНастроекОтчета/Form.form +++ b/SSL/src/CommonForms/ФормаНастроекОтчета/Form.form @@ -1,41 +1,422 @@ - - - КомпоновщикНастроекПользовательскиеНастройки - 1 - - <key>ru</key> - <value>Пользовательские настройки</value> - - true - true - - true - - - Отчет.SettingsComposer.UserSettings - - None - HierarchicalList - List - Tree - None - - КомпоновщикНастроекПользовательскиеНастройкиКоманднаяПанель - 3 - Left - true - - - OnChange - КомпоновщикНастроекПользовательскиеНастройкиПриИзменении - - - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоиска - 11 + + + СтраницыФормы + 11 + + СтраницаНастройкиИДругиеОтчеты + 13 + + БыстрыеНастройки + 98 + true + true + + true + + + <key>ru</key> + <value>Быстрые настройки</value> + + + ru + Быстрые настройки + + + БыстрыеНастройкиРасширеннаяПодсказка + 99 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + СтраницыНастроек + 35 + + СтраницаГлавное + 37 + true + true + + true + + + <key>ru</key> + <value>Главное</value> + + + ru + + + + СтраницаГлавноеРасширеннаяПодсказка + 38 + Label + true + true + + Left + + + Page + + + CommonPicture.БыстрыеНастройкиОтчета + + auto + + + + СтраницаДополнительно + 45 + + СтраницаДополнительноШапка + 47 + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + + СтраницаДополнительноШапкаРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + СтраницаДополнительноГруппировки + 49 + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + + СтраницаДополнительноГруппировкиРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + СтраницаДополнительноПодвал + 51 + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + + СтраницаДополнительноПодвалРасширеннаяПодсказка + 52 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительно + + + СтраницаДополнительноРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + Page + + + StdPicture.ReportSettings + + Vertical + auto + + + + СтраницаДругиеОтчеты + 53 + + ГруппаДругиеВариантыОтчета + 55 + true + true + + true + + + <key>ru</key> + <value>Варианты отчета</value> + + + Style.ГруппаВариантовОтчетовЦвет + + + System.DefaultGUIFont + Arial + 12.0 + false + false + false + false + + + ru + + + + ГруппаДругиеВариантыОтчетаРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Другие отчеты</value> + + + ru + Страница другие отчеты + + + СтраницаДругиеОтчетыРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + Page + + + StdPicture.Report + + Vertical + auto + + + + СтраницаНеОтсортированное + 62 + + НадписьНетНастроек + 64 + + <key>ru</key> + <value>Нет настроек для отображения.</value> + + true + + true + + + НадписьНетНастроекРасширеннаяПодсказка + 66 + Label + true + true + + Left + + + + НадписьНетНастроекКонтекстноеМеню + 65 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Не отсортированные</value> + + + ru + + + true + + СтраницаНеОтсортированноеРасширеннаяПодсказка + 63 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы настроек</value> + + + ru + Страницы настроек + + true + true + + СтраницыНастроекРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + Pages + + TabsOnTop + Auto + + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаРасширеннаяПодсказка - 13 + СтраницаНастройкиИДругиеОтчетыРасширеннаяПодсказка + 14 Label true true @@ -43,21 +424,170 @@ Left - - КомпоновщикНастроекПользовательскиеНастройкиСтрокаПоискаКонтекстноеМеню - 12 - true - - КомпоновщикНастроекПользовательскиеНастройки - - true + Page + + Vertical + auto - - - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотра - 14 + + + СтраницаВсеНастройки + 15 + + ВсеНастройкиТаблица + 1 + true + true + + true + + + Отчет.SettingsComposer.UserSettings + + None + HierarchicalList + List + Tree + None + + ВсеНастройкиТаблицаКоманднаяПанель + 3 + Left + true + + + OnChange + КомпоновщикНастроекПользовательскиеНастройкиПриИзменении + + + ВсеНастройкиТаблицаСтрокаПоиска + 137 + + ВсеНастройкиТаблицаСтрокаПоискаРасширеннаяПодсказка + 139 + Label + true + true + + Left + + + + ВсеНастройкиТаблицаСтрокаПоискаКонтекстноеМеню + 138 + true + + ВсеНастройкиТаблица + + true + + + + ВсеНастройкиТаблицаСостояниеПросмотра + 140 + + ВсеНастройкиТаблицаСостояниеПросмотраРасширеннаяПодсказка + 142 + Label + true + true + + Left + + + + ВсеНастройкиТаблицаСостояниеПросмотраКонтекстноеМеню + 141 + true + + ViewStatusAddition + ВсеНастройкиТаблица + + true + + + + ВсеНастройкиТаблицаУправлениеПоиском + 143 + + ВсеНастройкиТаблицаУправлениеПоискомРасширеннаяПодсказка + 145 + Label + true + true + + Left + + + + ВсеНастройкиТаблицаУправлениеПоискомКонтекстноеМеню + 144 + true + + SearchControlAddition + ВсеНастройкиТаблица + + true + + + + ВсеНастройкиТаблицаРасширеннаяПодсказка + 10 + Label + true + true + + Left + + + + ВсеНастройкиТаблицаКонтекстноеМеню + 2 + true + + HierarchicalList + true + true + true + true + true + true + MultiRow +
                          true
                          + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + None + None + None + true + All + Show +
                          + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраРасширеннаяПодсказка + СтраницаВсеНастройкиРасширеннаяПодсказка 16 Label true @@ -66,44 +596,29 @@ Left - - КомпоновщикНастроекПользовательскиеНастройкиСостояниеПросмотраКонтекстноеМеню - 15 - true - - ViewStatusAddition - КомпоновщикНастроекПользовательскиеНастройки - - true + Page + + Vertical + auto - - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоиском - 17 - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомРасширеннаяПодсказка - 19 - Label - true - true - - Left - - - - КомпоновщикНастроекПользовательскиеНастройкиУправлениеПоискомКонтекстноеМеню - 18 - true - - SearchControlAddition - КомпоновщикНастроекПользовательскиеНастройки - - true - - +
                          + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true - КомпоновщикНастроекПользовательскиеНастройкиExtendedTooltip - 10 + СтраницыФормыРасширеннаяПодсказка + 12 Label true true @@ -111,130 +626,527 @@ Left - - КомпоновщикНастроекПользовательскиеНастройкиКонтекстноеМеню - 2 - true - - HierarchicalList - true - true - true - true - true - true - MultiRow -
                          true
                          - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - true - true - None - None - None - true - All - Show + Pages + + Auto + + + + КомандыФормы + 73 + + КомандыФормы_Левая + 82 + + ГруппаПользовательскиеНастройки_Левая + 90 + + ВариантыПользовательскихНастроек_Левая + 92 + true + true + + true + + + <key>ru</key> + <value>Варианты пользовательских настроек левая</value> + + + ru + Варианты пользовательских настроек левая + + true + + ВариантыПользовательскихНастроек_ЛеваяРасширеннаяПодсказка + 93 + Label + true + true + + Left + + + + + + СброситьНастройки_Левая + 94 + true + true + + true + + + СброситьНастройки_ЛеваяРасширеннаяПодсказка + 95 + Label + true + true + + Left + + + Form.Command.НастройкиПоУмолчанию + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Выбрать</value> + + + ru + Выбрать настройки + + true + + ГруппаПользовательскиеНастройки_ЛеваяРасширеннаяПодсказка + 91 + Label + true + true + + Left + + + Popup + + + StdPicture.LoadReportSettings + + PictureAndText + Normal + + + + СохранитьНастройкиОтчета + 96 + + <key>ru</key> + <value>Сохранить...</value> + + true + true + + true + + + СохранитьНастройкиОтчетаРасширеннаяПодсказка + 97 + Label + true + true + + Left + + + Form.StandardCommand.SaveReportSettings + Normal + PictureAndText + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true + + КомандыФормы_ЛеваяРасширеннаяПодсказка + 83 + Label + true + true + + Left + + + CommandBar + + Left + + + + КомандыФормы_Правая + 80 + + ФормаГруппа4 + 71 + + ВыбратьНастройки + 67 + true + true + + true + + + ВыбратьНастройкиРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + Form.StandardCommand.LoadReportSettings + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СохранитьНастройки + 69 + true + true + + true + + + СохранитьНастройкиРасширеннаяПодсказка + 70 + Label + true + true + + Left + + + Form.StandardCommand.SaveReportSettings + Normal + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + ФормаГруппа4РасширеннаяПодсказка + 72 + Label + true + true + + Left + + + + + + ФормаГруппа2 + 31 + + Сформировать + 21 + true + true + + true + + + СформироватьРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + Form.Command.Сформировать + true + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Закрыть + 4 + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 7 + Label + true + true + + Left + + + Form.Command.Закрыть + Normal + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ФормироватьСразу + 27 + true + true + + true + + + ФормироватьСразуРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + Form.Command.ФормироватьСразу + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + true + + ФормаГруппа2РасширеннаяПодсказка + 32 + Label + true + true + + Left + + + + + + ФормаГруппа3 + 33 + + ВсеНастройки + 25 + true + true + + true + + + ВсеНастройкиРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + Form.Command.ВсеНастройки + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИзменитьСоставНастроек + 19 + true + true + + true + + + ИзменитьСоставНастроекРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + Form.StandardCommand.ChangeSettingsStructure + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + true + + ФормаГруппа3РасширеннаяПодсказка + 34 + Label + true + true + + Left + + + + + + ИзменитьФорму + 135 + true + + true + + + ИзменитьФормуРасширеннаяПодсказка + 136 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true + + КомандыФормы_ПраваяРасширеннаяПодсказка + 81 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + true + + КомандыФормыРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + Bottom true ФормаКоманднаяПанель -1 - - ЗавершитьРедактирование - 4 - true - true - - true - - - ЗавершитьРедактированиеExtendedTooltip - 7 - Label - true - true - - Left - - - Form.Command.ЗавершитьРедактирование - Auto - true - true - true - UserCmds - Auto - - - ФормаЗавершитьРедактирование - 5 - true - - true - - - ФормаЗавершитьРедактированиеExtendedTooltip - 8 - Label - true - true - - Left - - - Form.StandardCommand.EndEdit - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОтмена - 6 - true - true - - true - - - ФормаОтменаExtendedTooltip - 9 - Label - true - true - - Left - - - Form.StandardCommand.CancelEdit - Normal - Auto - true - true - UserCmds - Auto - Right - true + + OnOpen + ПриОткрытии + OnCreateAtServer ПриСозданииНаСервере + + OnClose + ПриЗакрытии + + 15 LockOwner true - true true Vertical true @@ -257,16 +1169,571 @@
                          true
                          - - ЗавершитьРедактирование + + НастройкиОтчета <key>ru</key> - <value>Завершить редактирование</value> + <value>Настройки отчета</value> + + 2 + + + true + + + + + ПостоянныеКоманды + + <key>ru</key> + <value>Постоянные команды</value> + + 3 + + ValueList + + + + + + + + + ПостоянныеРеквизиты + + <key>ru</key> + <value>Постоянные реквизиты</value> + + 4 + + ValueList + + + + + + + + + ЕстьДругиеОтчеты + + <key>ru</key> + <value>Есть другие отчеты</value> + + 5 + + Boolean + + + true + + + true + + + + ЕстьОбычныеНастройки + + <key>ru</key> + <value>Есть обычные настройки</value> + + 6 + + Boolean + + + true + + + true + + + + ЕстьБыстрыеНастройки + + <key>ru</key> + <value>Есть быстрые настройки</value> + + 7 + + Boolean + + + true + + + true + + + + ВидимостьКомандВариантовОтчетов + + <key>ru</key> + <value>Видимость команд вариантов отчетов</value> + + 8 + + Boolean + + + + + + ВариантыПанелиКлючТекущегоВарианта + + <key>ru</key> + <value>Варианты панели ключ текущего варианта</value> + + 9 + + Boolean + + + true + + + true + + + + ВариантыПанелиНомерЭлемента + + <key>ru</key> + <value>Варианты панели номер элемента</value> + + 10 + + Number + + 10 + + + + true + + + true + + + + ОтчетНаименованиеТекущегоВарианта + + <key>ru</key> + <value>Вариант отчета</value> + + 11 + + String + + + + true + + + true + + + + ФормаОткрыта + + <key>ru</key> + <value>Форма открыта</value> + + 12 + + Boolean + + + true + + + true + + + + ВариантСсылка + + <key>ru</key> + <value>Вариант ссылка</value> + + 13 + + CatalogRef.ВариантыОтчетов + + + true + + + true + + + + ВариантыПанели + + <key>ru</key> + <value>Варианты панели</value> + + 15 + + ValueTable + + + true + + + true + + + Ссылка + + <key>ru</key> + <value>Ссылка</value> + + 1 + + CatalogRef.ВариантыОтчетов + + + true + + + true + + + + Отчет + + <key>ru</key> + <value>Отчет</value> + + 2 + + String + CatalogRef.ДополнительныеОтчетыИОбработки + CatalogRef.ИдентификаторыОбъектовМетаданных + + + + true + + + true + + + + Наименование + + <key>ru</key> + <value>Наименование</value> + + 3 + + String + + + + true + + + true + + + + Описание + + <key>ru</key> + <value>Описание</value> + + 4 + + String + + + + true + + + true + + + + КлючВарианта + + <key>ru</key> + <value>Ключ варианта</value> + + 5 + + String + + + + true + + + true + + + + НадписьИмя + + <key>ru</key> + <value>Надпись имя</value> + + 7 + + String + + + + true + + + true + + + + Автор + + <key>ru</key> + <value>Автор</value> + + 6 + + CatalogRef.Пользователи + + + true + + + true + + + + Дополнительный + + <key>ru</key> + <value>Дополнительный</value> + + 8 + + Boolean + + + true + + + true + + + + ИмяОтчета + + <key>ru</key> + <value>Имя отчета</value> + + 9 + + String + + + + true + + + true + + + + ИмяГруппы + + <key>ru</key> + <value>Имя группы</value> + + 10 + + String + + + + true + + + true + + + + + ХранимыеСпискиВыбора + + <key>ru</key> + <value>Хранимые списки выбора</value> + + 16 + + + + + + НеобходимоОбновитьНастройки + + <key>ru</key> + <value>Необходимо обновить настройки</value> + + 17 + + Boolean + + + true + + + true + + + + БыстрыйПоискИменОбъектовМетаданных + + <key>ru</key> + <value>Быстрый поиск имен объектов метаданных</value> + + 18 + + + true + + + true + + + + БыстрыйПоискОтключаемыхСвязей + + <key>ru</key> + <value>Быстрый поиск отключаемых связей</value> + + 19 + + + true + + + true + + + + БыстрыйПоискПользовательскихНастроек + + <key>ru</key> + <value>Быстрый поиск пользовательских настроек</value> + + 20 + + + true + + + true + + + + ФормаЗакрываетсяСПараметрами + + <key>ru</key> + <value>Форма закрывается с параметрами</value> + + 14 + + Boolean + + + true + + + true + + + + ГруппыПодсистем + + <key>ru</key> + <value>Группы подсистем</value> + + 21 + + ValueList + + + true + + + true + + + + + + + ЦветГруппыВариантовОтчетов + + <key>ru</key> + <value>Цвет группы вариантов отчетов</value> + + 22 + + Color + + + true + + + true + + + + ШрифтОбычнойГруппы + + <key>ru</key> + <value>Шрифт обычной группы</value> + + 23 + + Font + + + true + + + true + + + + РежимСовместимости + + <key>ru</key> + <value>Режим совместимости</value> + + 24 + + Boolean + + + true + + + true + + + + Закрыть + + <key>ru</key> + <value>Закрыть</value> 1 ru - Завершить редактирование + Завершить редактирование настроек и закрыть true @@ -279,11 +1746,114 @@ Auto Auto + + Сформировать + + <key>ru</key> + <value>Закрыть и сформировать</value> + + 2 + + ru + Сформировать + + + true + + + StdPicture.GenerateReport + + + + Сформировать + + + Auto + Auto + + + ВсеНастройки + + <key>ru</key> + <value>Все настройки</value> + + 3 + + ru + Все настройки + + + true + + + + ВсеНастройки + + + Auto + Auto + + + ФормироватьСразу + + <key>ru</key> + <value>Формировать сразу</value> + + 4 + + ru + Формировать сразу + + + true + + Auto + Auto + + + НастройкиПоУмолчанию + + <key>ru</key> + <value>Стандартные настройки</value> + + 5 + + ru + Настройки по умолчанию + + + true + + + + НастройкиПоУмолчанию + + + Auto + Auto + + + OnLoadUserSettingsAtServer + ПриЗагрузкеПользовательскихНастроекНаСервере + + + OnLoadVariantAtServer + ПриЗагрузкеВариантаНаСервере + + + OnSaveUserSettingsAtServer + ПриСохраненииПользовательскихНастроекНаСервере + + + OnUpdateUserSettingSetAtServer + ПриОбновленииСоставаПользовательскихНастроекНаСервере + Settings + ОтчетНаименованиеТекущегоВарианта
                          diff --git a/SSL/src/CommonForms/ФормаНастроекОтчета/Module.bsl b/SSL/src/CommonForms/ФормаНастроекОтчета/Module.bsl index b649907e4..e6f4e338a 100644 --- a/SSL/src/CommonForms/ФормаНастроекОтчета/Module.bsl +++ b/SSL/src/CommonForms/ФормаНастроекОтчета/Module.bsl @@ -1,19 +1,952 @@ +&НаКлиенте +Перем ПеременныеКлиента; #Область ОбработчикиСобытийФормы +//////////////////////////////////////////////////////////////////////////////// +// Форма + &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; - Если Параметры.Свойство("ПредставлениеВарианта") И ЗначениеЗаполнено(Параметры.ПредставлениеВарианта) Тогда - АвтоЗаголовок = Ложь; - Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Изменение настроек отчета ""%1""'"), - Параметры.ПредставлениеВарианта); + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + ЦветГруппыВариантовОтчетов = ЦветаСтиля.ГруппаВариантовОтчетовЦвет82; + ШрифтОбычнойГруппы = Новый Шрифт("MS Shell Dlg", 8, Истина, Ложь, Ложь, Ложь, 100); + Иначе // Такси. + ЦветГруппыВариантовОтчетов = ЦветаСтиля.ГруппаВариантовОтчетовЦвет; + ШрифтОбычнойГруппы = Новый Шрифт("Arial", 12, Ложь, Ложь, Ложь, Ложь, 90); + КонецЕсли; + Элементы.ГруппаДругиеВариантыОтчета.ЦветТекстаЗаголовка = ЦветГруппыВариантовОтчетов; + Элементы.ГруппаДругиеВариантыОтчета.ШрифтЗаголовка = ШрифтОбычнойГруппы; + + Если Не Параметры.Свойство("НастройкиОтчета", НастройкиОтчета) Тогда + РежимСовместимости = Истина; + НастройкиОтчета = ФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(); + ОтчетМетаданные = РеквизитФормыВЗначение("Отчет").Метаданные(); + Если ОтчетМетаданные.ХранилищеНастроек = Неопределено Тогда + НастройкиОтчета.Вставить("ХранилищеПользовательскихНастроек", Неопределено); + Иначе + НастройкиОтчета.Вставить("ХранилищеПользовательскихНастроек", ОтчетМетаданные.ХранилищеНастроек.ПолноеИмя()); + КонецЕсли; + КонецЕсли; + Если Параметры.Свойство("КлючОбъекта") Тогда + НастройкиОтчета.Вставить("КлючОбъекта", Параметры.КлючОбъекта); + Иначе + НастройкиОтчета.Вставить("КлючОбъекта", РеквизитФормыВЗначение("Отчет").Метаданные().ПолноеИмя()); + КонецЕсли; + Если Параметры.Свойство("ОтчетСсылка") Тогда + НастройкиОтчета.Вставить("Ссылка", Параметры.ОтчетСсылка); + Иначе + НастройкиОтчета.Вставить("Ссылка", НастройкиОтчета.КлючОбъекта); + КонецЕсли; + Если Параметры.Свойство("НаименованиеОтчета") Тогда + НастройкиОтчета.Вставить("Наименование", Параметры.НаименованиеОтчета); + Иначе + НастройкиОтчета.Вставить("Наименование", РеквизитФормыВЗначение("Отчет").Метаданные().Представление()); + КонецЕсли; + Если Параметры.Свойство("Подсистема") Тогда + НастройкиОтчета.Вставить("Подсистема", Параметры.Подсистема); + НастройкиОтчета.Вставить("ПодсистемаПредставление", Параметры.ПодсистемаПредставление); + Иначе + НастройкиОтчета.Вставить("Подсистема", Неопределено); + НастройкиОтчета.Вставить("ПодсистемаПредставление", ""); + КонецЕсли; + Если Не Параметры.Свойство("ВариантСсылка", ВариантСсылка) Тогда + ВариантСсылка = ВариантыОтчетов.ПолучитьСсылку(НастройкиОтчета.Ссылка, КлючТекущегоВарианта); КонецЕсли; + // Регистрация команд и реквизитов формы, которые не удаляются при перезаполнении быстрых настроек. + НаборРеквизитов = ПолучитьРеквизиты(); + Для Каждого Реквизит Из НаборРеквизитов Цикл + ПостоянныеРеквизиты.Добавить(ПолноеИмяРеквизита(Реквизит)); + КонецЦикла; + Для Каждого Команда Из Команды Цикл + ПостоянныеКоманды.Добавить(Команда.Имя); + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ПриЗагрузкеВариантаНаСервере(НовыеНастройкиКД) + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + НеобходимоОбновитьНастройки = Истина; + +КонецПроцедуры + +&НаСервере +Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД) + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Если НеобходимоОбновитьНастройки Тогда + ПриОбновленииСоставаПользовательскихНастроекНаСервере(Истина); + Иначе + НеобходимоОбновитьНастройки = Истина; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка) + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + СтандартнаяОбработка = Ложь; + НеобходимоОбновитьНастройки = Ложь; + + ПараметрыЗаполнения = Новый Структура; + ПараметрыЗаполнения.Вставить("Событие", Новый Структура); + ПараметрыЗаполнения.Событие.Вставить("Имя", "ПриОбновленииСоставаПользовательскихНастроекНаСервере"); + ПараметрыЗаполнения.Событие.Вставить("СтандартнаяОбработка", СтандартнаяОбработка); + БыстрыеНастройкиЗаполнить(ПараметрыЗаполнения); + Если ПараметрыЗаполнения.Событие.СтандартнаяОбработка <> СтандартнаяОбработка Тогда + СтандартнаяОбработка = ПараметрыЗаполнения.Событие.СтандартнаяОбработка; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + ПеременныеКлиента = Новый Структура; +КонецПроцедуры + +&НаСервере +Процедура ПриСохраненииПользовательскихНастроекНаСервере(ПользовательскиеНастройкиКД) + ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере(ЭтотОбъект, ПользовательскиеНастройкиКД); + + // Сохранение выбранных значений в дополнительных свойствах. + Если ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ЭлементыФормы") Тогда + ДополнительныеНастройкиЭлементов = ПользовательскиеНастройкиКД.ДополнительныеСвойства.ЭлементыФормы; + Для Каждого КлючИЗначение Из ДополнительныеНастройкиЭлементов Цикл + ИдентификаторЭлемента = КлючИЗначение.Ключ; + НастройкиЭлемента = КлючИЗначение.Значение; + ИмяРеквизита = ХранимыеСпискиВыбора.Получить(ИдентификаторЭлемента); + Если ИмяРеквизита = Неопределено Тогда + ДополнительныеНастройкиЭлементов.Удалить(ИдентификаторЭлемента); + Продолжить; + КонецЕсли; + НастройкиЭлемента.ЗначенияДляВыбора = ЭтотОбъект[ИмяРеквизита].ВыгрузитьЗначения(); + КонецЦикла; + КонецЕсли; + + ЗаполнитьКомандыВыбораПользовательскихНастроек(); +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии() + Если Не РежимСовместимости + И Не ФормаЗакрываетсяСПараметрами + И ВладелецФормы <> Неопределено Тогда + ВладелецФормы.ОбработкаВыбора(РезультатВыбора(Ложь), ЭтотОбъект); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +//////////////////////////////////////////////////////////////////////////////// +// Подключаемые + +&НаКлиенте +Процедура ВариантНажатие(Элемент) + Найденные = ВариантыПанели.НайтиСтроки(Новый Структура("НадписьИмя", Элемент.Имя)); + Если Найденные.Количество() <> 1 Тогда + Возврат; + КонецЕсли; + Вариант = Найденные[0]; + + ПараметрыОткрытия = Новый Структура; + ПараметрыОткрытия.Вставить("КлючВарианта", Вариант.КлючВарианта); + ПараметрыОткрытия.Вставить("Подсистема", НастройкиОтчета.Подсистема); + ПараметрыОткрытия.Вставить("ПодсистемаПредставление", НастройкиОтчета.ПодсистемаПредставление); + + // Открытие + Если Вариант.Дополнительный Тогда + + ПараметрыОткрытия.Вставить("Вариант", Вариант.Ссылка); + ПараметрыОткрытия.Вставить("Отчет", Вариант.Отчет); + ВариантыОтчетовКлиент.ОткрытьВариантДополнительногоОтчета(ПараметрыОткрытия); + + ИначеЕсли Не ЗначениеЗаполнено(Вариант.ИмяОтчета) Тогда + + ТекстПредупреждения = СтрЗаменить(НСтр("ru = 'Не заполнено имя отчета для варианта ""%1"".'"), "%1", Вариант.Наименование); + ПоказатьПредупреждение(, ТекстПредупреждения); + + Иначе + + Уникальность = "Отчет." + Вариант.ИмяОтчета; + Если ЗначениеЗаполнено(Вариант.КлючВарианта) Тогда + Уникальность = Уникальность + "/КлючВарианта." + Вариант.КлючВарианта; + КонецЕсли; + + ПараметрыОткрытия.Вставить("КлючПараметровПечати", Уникальность); + ПараметрыОткрытия.Вставить("КлючСохраненияПоложенияОкна", Уникальность); + + ОткрытьФорму("Отчет." + Вариант.ИмяОтчета + ".Форма", ПараметрыОткрытия, Неопределено, Уникальность); + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ФлажокИспользование_ПриИзменении(Элемент) + ИдентификаторЭлемента = Прав(Элемент.Имя, 32); + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ПользовательскаяНастройкаКД.Использование = ЭтотОбъект[Элемент.Имя]; + + ВсеСвязиВедущего = БыстрыйПоискОтключаемыхСвязей.Получить(ИдентификаторЭлемента); + Если ВсеСвязиВедущего <> Неопределено Тогда + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + Значение = ПользовательскаяНастройкаКД.Значение; + Иначе + Значение = ПользовательскаяНастройкаКД.ПравоеЗначение; + КонецЕсли; + ОбновитьСвязиВедущегоСПодчиненными(ИдентификаторЭлемента, Значение, ПользовательскаяНастройкаКД.Использование, ВсеСвязиВедущего, Ложь); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ПолеВвода_ПриИзменении(Элемент) + ЗначениеИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ЗначениеИмя, 32); + СвойстваНастройкиТип = Лев(ЗначениеИмя, Найти(ЗначениеИмя, "_Значение_")-1); + + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + Значение = ЭтотОбъект[ЗначениеИмя]; + + Если ТипЗнч(Значение) = Тип("ОписаниеТипов") Тогда + МассивТипов = Значение.Типы(); + Если МассивТипов.Количество() > 0 Тогда + Значение = МассивТипов[0]; + КонецЕсли; + КонецЕсли; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.Значение = Значение; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; + КонецЕсли; + + Если ЗначениеЗаполнено(Значение) И Не ПользовательскаяНастройкаКД.Использование Тогда + ПользовательскаяНастройкаКД.Использование = Истина; + Если Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + КонецЕсли; + КонецЕсли; + + Если ПользовательскаяНастройкаКД.Использование Тогда + // Включение связей когда был включен флажок "Использование". + // Когда связи включены - очистка значений при изменении значения. + ВсеСвязиВедущего = БыстрыйПоискОтключаемыхСвязей.Получить(ИдентификаторЭлемента); + Если ВсеСвязиВедущего <> Неопределено Тогда + ОбновитьСвязиВедущегоСПодчиненными(ИдентификаторЭлемента, Значение, ПользовательскаяНастройкаКД.Использование, ВсеСвязиВедущего, Истина); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + ИмяКолонки = Поле.Имя; + Если Лев(ИмяКолонки, 23) = "Порядок_КолонкаПорядок_" Тогда // Изменение порядка. + + СтандартнаяОбработка = Ложь; + + ИзменитьНаправлениеСортировкиТаблицы(ИмяКолонки, Неопределено); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_КолонкаИспользование_ПриИзменении(Элемент) + + КолонкаИспользованиеИмя = Элемент.Имя; + + ТаблицаИмя = СтрЗаменить(КолонкаИспользованиеИмя, "_КолонкаИспользование_", "_Таблица_"); + СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; + Если СтрокаТаблицы = Неопределено Тогда + Возврат; + КонецЕсли; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(КолонкаИспользованиеИмя); + + // Отражение изменений флажка элемента таблицы в соответствующей пользовательской настройке. + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("СтруктураНастроекКомпоновкиДанных") Тогда + ИндексСтрокиТаблицы = ЭтотОбъект[ТаблицаИмя].Индекс(СтрокаТаблицы); + ПолеГруппировки = ПользовательскаяНастройкаКД.Структура.Получить(ИндексСтрокиТаблицы); + ПолеГруппировки.Использование = СтрокаТаблицы.Использование; + ПолеГруппировки.Состояние = СостояниеЭлементаНастройкиКомпоновкиДанных[?(СтрокаТаблицы.Использование, "Включен", "Отключен")]; + Иначе //ВыбранныеПоляКомпоновкиДанных, ПорядокКомпоновкиДанных + СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); + Если СтрокаПользовательскойНастройки <> Неопределено Тогда + СтрокаПользовательскойНастройки.Использование = СтрокаТаблицы.Использование; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + + ИдентификаторЭлемента = Прав(Элемент.Имя, 32); + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + Если ДополнительныеНастройки = Неопределено Тогда + Возврат; + КонецЕсли; + + ПараметрыФормы = Новый Структура("Отмеченные"); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ПараметрыФормы.Отмеченные = ЗначенияСписком(ПользовательскаяНастройкаКД.ПравоеЗначение); + Иначе + ПараметрыФормы.Отмеченные = ЗначенияСписком(ПользовательскаяНастройкаКД.Значение); + КонецЕсли; + ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ДополнительныеНастройки, Истина); + + ПараметрыФормы.Вставить("ПараметрыВыбора", Новый Массив); + + // Добавление фиксированных параметров выбора. + Для Каждого ПараметрВыбора Из Элемент.ПараметрыВыбора Цикл + Если ПустаяСтрока(ПараметрВыбора.Имя) Тогда + Продолжить; + КонецЕсли; + Если ЗначениеЗаполнено(ПараметрВыбора.Имя) Тогда + ПараметрыФормы.ПараметрыВыбора.Добавить(ПараметрВыбора); + КонецЕсли; + КонецЦикла; + + // Добавление динамических параметров выбора (от ведущих). + Для Каждого СвязьПараметраВыбора Из Элемент.СвязиПараметровВыбора Цикл + Если ПустаяСтрока(СвязьПараметраВыбора.Имя) Тогда + Продолжить; + КонецЕсли; + ВедущийЗначение = ЭтотОбъект[СвязьПараметраВыбора.ПутьКДанным]; + ПараметрыФормы.ПараметрыВыбора.Добавить(Новый ПараметрВыбора(СвязьПараметраВыбора.Имя, ВедущийЗначение)); + КонецЦикла; + + ПараметрыОбработчика = Новый Структура; + ПараметрыОбработчика.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); + ПараметрыОбработчика.Вставить("ФлажокИмя", СтрЗаменить(Элемент.Имя, "_Значение_", "_Использование_")); + Обработчик = Новый ОписаниеОповещения("Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора_Завершение", ЭтотОбъект, ПараметрыОбработчика); + + Блокировать = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; + + ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками", ПараметрыФормы, ЭтотОбъект, , , , Обработчик, Блокировать); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора_Завершение(РезультатВыбора, ПараметрыОбработчика) Экспорт + Если ТипЗнч(РезультатВыбора) <> Тип("СписокЗначений") Тогда + Возврат; + КонецЕсли; + + ПользовательскиеНастройкиМодифицированы = Истина; + ИдентификаторЭлемента = ПараметрыОбработчика.ИдентификаторЭлемента; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + + // Загрузка выбранных значений в 2 списка. + Отмеченные = Новый СписокЗначений; + Если Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора = Новый Массив; + КонецЕсли; + Для Каждого ЭлементСписка Из РезультатВыбора Цикл + Значение = ЭлементСписка.Значение; + Если ЭлементСписка.Пометка Тогда + Если ТипЗнч(Значение) = Тип("ОписаниеТипов") Тогда + Значение = Значение.Типы()[0]; + КонецЕсли; + Отмеченные.Добавить().Значение = Значение; + ИначеЕсли Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора.Добавить(Значение); // Не отмечен, но выбран. + КонецЕсли; + КонецЦикла; + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.ПравоеЗначение = Отмеченные; + Иначе + ПользовательскаяНастройкаКД.Значение = Отмеченные; + КонецЕсли; + + // Включение флажка Использование. + ЭтотОбъект[ПараметрыОбработчика.ФлажокИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Подключаемые - Стандартный период + +&НаКлиенте +Процедура Подключаемый_СтандартныйПериод_Вид_ПриИзменении(Элемент) + + ВидПериодаИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ВидПериодаИмя, 32); + СвойстваНастройкиТип = Лев(ВидПериодаИмя, Найти(ВидПериодаИмя, "_Вид_")-1); + + СтраницыИмя = СвойстваНастройкиТип + "_Страницы_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ПериодПредставлениеИмя = СвойстваНастройкиТип + "_Представление_" + ИдентификаторЭлемента; + СтраницаПроизвольныйИмя = СвойстваНастройкиТип + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; + СтраницаСтандартныйИмя = СвойстваНастройкиТип + "_СтраницаСтандартный_" + ИдентификаторЭлемента; + + Значение = ЭтотОбъект[ПериодЗначениеИмя]; + + ВидПериода = ЭтотОбъект[ВидПериодаИмя]; + + ВыбранПроизвольный = ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.ПроизвольныйПериод"); + + Если ВыбранПроизвольный Тогда + + // Переключение страницы. + Элементы[СтраницыИмя].ТекущаяСтраница = Элементы[СтраницаПроизвольныйИмя]; + + Значение.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод; + + Иначе + + // Переключение страницы. + Элементы[СтраницыИмя].ТекущаяСтраница = Элементы[СтраницаСтандартныйИмя]; + + // Приведение значения периода в соответствие с выбранным видом. + НачалоПериода = НачалоДня(Значение.ДатаНачала); + Если НЕ ЗначениеЗаполнено(НачалоПериода) Тогда + НачалоПериода = НачалоДня(ОбщегоНазначенияКлиент.ДатаСеанса()); + КонецЕсли; + НачалоПериода = ФункцииОтчетовКлиентСервер.НачалоПериодаОтчета(ВидПериода, НачалоПериода); + КонецПериода = ФункцииОтчетовКлиентСервер.КонецПериодаОтчета(ВидПериода, НачалоПериода); + + Значение.ДатаНачала = НачалоПериода; + Значение.ДатаОкончания = КонецПериода; + + КонецЕсли; + + Представление = ФункцииОтчетовКлиентСервер.ПредставлениеСтандартногоПериода(Значение, ВидПериода); + ЭтотОбъект[ПериодПредставлениеИмя] = Представление; + ЭтотОбъект[ПериодЗначениеИмя] = Значение; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.Значение = Значение; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; + КонецЕсли; + + Если Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СтандартныйПериод_Значение_НачалоВыбора(Элемент, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + + // Формирование сведений по элементу. + ПериодПредставлениеИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ПериодПредставлениеИмя, 32); + СвойстваНастройкиТип = Лев(ПериодПредставлениеИмя, Найти(ПериодПредставлениеИмя, "_Представление_")-1); + + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ВидПериодаИмя = СвойстваНастройкиТип + "_Вид_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + + Значение = ЭтотОбъект[ПериодЗначениеИмя]; + ВидПериода = ЭтотОбъект[ВидПериодаИмя]; + + НачалоПериода = Значение.ДатаНачала; + Если НачалоПериода = '00010101' тогда + НачалоПериода = ФункцииОтчетовКлиентСервер.НачалоПериодаОтчета(ВидПериода, ОбщегоНазначенияКлиент.ДатаСеанса()); + КонецЕсли; + + // Параметры для чтения из обработчиков: + ПараметрыВыбора = Новый Структура; + // Для выбора значения: + ПараметрыВыбора.Вставить("Значение", Значение); + ПараметрыВыбора.Вставить("Элемент", Элемент); + // Для загрузки значения: + ПараметрыВыбора.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); + ПараметрыВыбора.Вставить("ПериодПредставлениеИмя", ПериодПредставлениеИмя); + ПараметрыВыбора.Вставить("ПериодЗначениеИмя", ПериодЗначениеИмя); + ПараметрыВыбора.Вставить("ИспользованиеИмя", ИспользованиеИмя); + ПараметрыВыбора.Вставить("ВидПериода", ВидПериода); + ПараметрыВыбора.Вставить("ЭтоПараметр", СвойстваНастройкиТип = "ЗначениеПараметраНастроек"); + + ВыборПериодаИзВыпадающегоСписка(-1, ПараметрыВыбора); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СтандартныйПериод_НачалоПериода_ПриИзменении(Элемент) + + // Формирование сведений по элементу. + ПериодНачалоИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ПериодНачалоИмя, 32); + СвойстваНастройкиТип = Лев(ПериодНачалоИмя, Найти(ПериодНачалоИмя, "_Начало_")-1); + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + + Значение = ЭтотОбъект[ПериодЗначениеИмя]; + + Если Значение.ДатаНачала <> '00010101' Тогда + Значение.ДатаНачала = НачалоДня(Значение.ДатаНачала); + КонецЕсли; + + // Запись значения в пользовательские настройки компоновки данных. + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.Значение = Значение; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; + КонецЕсли; + + Если Значение.ДатаНачала <> '00010101' И Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СтандартныйПериод_КонецПериода_ПриИзменении(Элемент) + + // Формирование сведений по элементу. + ПериодОкончаниеИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ПериодОкончаниеИмя, 32); + СвойстваНастройкиТип = Лев(ПериодОкончаниеИмя, Найти(ПериодОкончаниеИмя, "_Окончание_")-1); + + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + + Значение = ЭтотОбъект[ПериодЗначениеИмя]; + + Если Значение.ДатаОкончания <> '00010101' Тогда + Значение.ДатаОкончания = КонецДня(Значение.ДатаОкончания); + КонецЕсли; + + // Запись значения в пользовательские настройки компоновки данных. + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.Значение = Значение; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; + КонецЕсли; + + Если Значение.ДатаОкончания <> '00010101' И Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СтандартныйПериод_Значение_Очистка(Элемент, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Подключаемые - Список значений с кнопкой "Подбор" + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ПриИзменении(Элемент) + // Обновление выбранных значений в данных СКД. + ПользовательскиеНастройкиМодифицированы = Истина; + + ТаблицаИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(ТаблицаИмя, 32); + + СписокЗначенийВФорме = ЭтотОбъект[ТаблицаИмя]; + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + Если Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора = Новый Массив; + КонецЕсли; + + СписокЗначенийВСКД = Новый СписокЗначений; + Для Каждого ЭлементСпискаВФорме Из СписокЗначенийВФорме Цикл + ЗначениеВФорме = ЭлементСпискаВФорме.Значение; + Если ЭлементСпискаВФорме.Пометка Тогда + Если ТипЗнч(ЗначениеВФорме) = Тип("ОписаниеТипов") Тогда + ЗначениеВСКД = ЗначениеВФорме.Типы()[0]; + Иначе + ЗначениеВСКД = ЗначениеВФорме; + КонецЕсли; + ДобавитьУникальноеЗначениеВСписок(СписокЗначенийВСКД, ЗначениеВСКД, ЭлементСпискаВФорме.Представление, Истина); + ИначеЕсли Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора.Добавить(ЗначениеВФорме); // Не отмечен, но выбран. + КонецЕсли; + КонецЦикла; + + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.Значение = СписокЗначенийВСКД; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = СписокЗначенийВСКД; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_Использование_ПриИзменении(Элемент) + // Включение флажка Использование если пользователь включил флажок в строке таблицы. + КолонкаИспользованиеИмя = Элемент.Имя; + ИдентификаторЭлемента = Прав(КолонкаИспользованиеИмя, 32); + СвойстваНастройкиТип = Лев(КолонкаИспользованиеИмя, Найти(КолонкаИспользованиеИмя, "_Колонка_Использование_")-1); + + ТаблицаИмя = СвойстваНастройкиТип + "_СписокЗначений_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + + ЭлементСпискаВФорме = Элементы[ТаблицаИмя].ТекущиеДанные; + Если ЭлементСпискаВФорме <> Неопределено И ЭлементСпискаВФорме.Пометка Тогда + Если Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + КонецЕсли; + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ОбработкаВыбора(Элемент, РезультатВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + ПользовательскиеНастройкиМодифицированы = Истина; + + // Списки в данных формы. + СписокЗначенийВФорме = ЭтотОбъект[Элемент.Имя]; + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(Элемент.Имя); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + СписокЗначенийВСКД = ЗначенияСписком(ПользовательскаяНастройкаКД.Значение); + Иначе + СписокЗначенийВСКД = ЗначенияСписком(ПользовательскаяНастройкаКД.ПравоеЗначение); + КонецЕсли; + + // Добавление выбранных элементов с контролем уникальности. + Если ТипЗнч(РезультатВыбора) = Тип("Массив") Тогда + Для Каждого Значение Из РезультатВыбора Цикл + ДобавитьУникальноеЗначениеВСписок(СписокЗначенийВФорме, Значение, Неопределено, Истина); + ДобавитьУникальноеЗначениеВСписок(СписокЗначенийВСКД, Значение, Неопределено, Истина); + КонецЦикла; + Иначе + ДобавитьУникальноеЗначениеВСписок(СписокЗначенийВФорме, РезультатВыбора, Неопределено, Истина); + ДобавитьУникальноеЗначениеВСписок(СписокЗначенийВСКД, РезультатВыбора, Неопределено, Истина); + КонецЕсли; + + // Включение флажка Использование. + ИспользованиеИмя = СтрЗаменить(Элемент.Имя, "_СписокЗначений_", "_Использование_"); + Если Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ИспользованиеИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ПередНачаломИзменения(Элемент, Отказ) + СтрокаИдентификатор = Элемент.ТекущаяСтрока; + Если СтрокаИдентификатор = Неопределено Тогда + Возврат; + КонецЕсли; + + СписокЗначенийВФорме = ЭтотОбъект[Элемент.Имя]; + ЭлементСпискаВФорме = СписокЗначенийВФорме.НайтиПоИдентификатору(СтрокаИдентификатор); + + ТекущаяСтрока = Элемент.ТекущиеДанные; + Если ТекущаяСтрока = Неопределено Тогда + Возврат; + КонецЕсли; + ЭлементСпискаДоНачалаИзменения = Новый Структура("Идентификатор, Пометка, Значение, Представление"); + ЗаполнитьЗначенияСвойств(ЭлементСпискаДоНачалаИзменения, ЭлементСпискаВФорме); + ЭлементСпискаДоНачалаИзменения.Идентификатор = СтрокаИдентификатор; + ПеременныеКлиента.Вставить("ЭлементСпискаДоНачалаИзменения", ЭлементСпискаДоНачалаИзменения); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаНачалаРедактирования, ОтменаЗавершенияРедактирования) + Если ОтменаНачалаРедактирования Тогда + Возврат; + КонецЕсли; + + СтрокаИдентификатор = Элемент.ТекущаяСтрока; + Если СтрокаИдентификатор = Неопределено Тогда + Возврат; + КонецЕсли; + СписокЗначенийВФорме = ЭтотОбъект[Элемент.Имя]; + ЭлементСпискаВФорме = СписокЗначенийВФорме.НайтиПоИдентификатору(СтрокаИдентификатор); + + Значение = ЭлементСпискаВФорме.Значение; + Если Значение = Неопределено + Или Значение = Тип("Неопределено") + Или Значение = Новый ОписаниеТипов("Неопределено") + Или Не ЗначениеЗаполнено(Значение) Тогда + ОтменаЗавершенияРедактирования = Истина; // Запрет пустых значений. + Иначе + Для Каждого ЭлементСпискаДубльВФорме Из СписокЗначенийВФорме Цикл + Если ЭлементСпискаДубльВФорме.Значение = Значение И ЭлементСпискаДубльВФорме <> ЭлементСпискаВФорме Тогда + Состояние(НСтр("ru = 'Обнаружены дублирующиеся записи. Редактирование отменено.'")); + ОтменаЗавершенияРедактирования = Истина; // Запрет дублей. + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Если ОтменаЗавершенияРедактирования Тогда + // Откат значений. + ЭлементСпискаДоНачалаИзменения = ВариантыОтчетовКлиентСервер.СвойствоСтруктуры(ПеременныеКлиента, "ЭлементСпискаДоНачалаИзменения"); + Если ЭлементСпискаДоНачалаИзменения <> Неопределено + И ЭлементСпискаДоНачалаИзменения.Идентификатор = СтрокаИдентификатор Тогда + ЗаполнитьЗначенияСвойств(ЭлементСпискаВФорме, ЭлементСпискаДоНачалаИзменения); + КонецЕсли; + // Перезапуск события "ПередОкончаниемРедактирования" с ОтменаНачалаРедактирования = Истина. + Элемент.ЗакончитьРедактированиеСтроки(Истина); + Иначе + ЭлементСпискаВФорме.Представление = ""; // Автозаполнение представления. + ПользовательскиеНастройкиМодифицированы = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_Подбор(Команда) + + КнопкаПодборИмя = Команда.Имя; + + ИдентификаторЭлемента = Прав(КнопкаПодборИмя, 32); + СвойстваНастройкиТип = Лев(КнопкаПодборИмя, Найти(КнопкаПодборИмя, "_Подбор_")-1); + + ТаблицаИмя = СвойстваНастройкиТип + "_СписокЗначений_" + ИдентификаторЭлемента; + КолонкаЗначениеИмя = СвойстваНастройкиТип + "_Колонка_Значение_" + ИдентификаторЭлемента; + КоманднаяПанельИмя = СвойстваНастройкиТип + "_КоманднаяПанель_" + ИдентификаторЭлемента; + + ТаблицаЗначение = ЭтотОбъект[ТаблицаИмя]; + КолонкаЗначениеЭлемент = Элементы[КолонкаЗначениеИмя]; + + ПараметрыЭлемента = Новый Структура; + ПараметрыЭлемента.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); + ПараметрыЭлемента.Вставить("ВыбранныйТип", Неопределено); + ПараметрыЭлемента.Вставить("КолонкаЗначениеЭлемент", КолонкаЗначениеЭлемент); + ПараметрыЭлемента.Вставить("ТаблицаЭлемент", Элементы[ТаблицаИмя]); + ПараметрыЭлемента.Вставить("ВыборТолькоГрупп", КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = ГруппыИЭлементы.Группы); + + Если ЗначениеЗаполнено(КолонкаЗначениеЭлемент.СвязьПоТипу.ПутьКДанным) Тогда + ЗначениеВедущего = ЭтотОбъект[КолонкаЗначениеЭлемент.СвязьПоТипу.ПутьКДанным]; + Если ЗначениеЗаполнено(ЗначениеВедущего) Тогда + ТипВедущего = ТипЗнч(ЗначениеВедущего); + Если ТаблицаЗначение.ТипЗначения.СодержитТип(ТипВедущего) Тогда + // Тип определен ведущим. + ПараметрыЭлемента.ВыбранныйТип = ТипВедущего; + ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); + Возврат; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + // Выбор типа из списка. + СписокВыбора = Новый СписокЗначений; + + ПростыеТипы = Новый Соответствие; + ПростыеТипы.Вставить(Тип("Строка"), Истина); + ПростыеТипы.Вставить(Тип("Дата"), Истина); + ПростыеТипы.Вставить(Тип("Число"), Истина); + + МассивТипов = ТаблицаЗначение.ТипЗначения.Типы(); + Для Каждого Тип Из МассивТипов Цикл + // Исключение типов, для которых нет групп. + Если ПараметрыЭлемента.ВыборТолькоГрупп Тогда + ИмяОбъектаМетаданных = БыстрыйПоискИменОбъектовМетаданных.Получить(Тип); + ВидОбъектаМетаданных = ВРег(Лев(ИмяОбъектаМетаданных, Найти(ИмяОбъектаМетаданных, ".")-1)); + Если ВидОбъектаМетаданных <> "СПРАВОЧНИК" И ВидОбъектаМетаданных <> "ПЛАНВИДОВХАРАКТЕРИСТИК" И ВидОбъектаМетаданных <> "ПЛАНСЧЕТОВ" Тогда + Продолжить; + КонецЕсли; + КонецЕсли; + // Исключение простых типов. + Если ПростыеТипы[Тип] = Истина Тогда + Продолжить; + КонецЕсли; + // Добавление типа в список выбора. + СписокВыбора.Добавить(Тип, Строка(Тип)); + КонецЦикла; + + Если СписокВыбора.Количество() = 0 Тогда + ПараметрыЭлемента.ТаблицаЭлемент.ДобавитьСтроку(); + Возврат; + ИначеЕсли СписокВыбора.Количество() = 1 Тогда + // Один тип - выбор не требуется. + ПараметрыЭлемента.ВыбранныйТип = СписокВыбора[0].Значение; + ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); + Иначе + // Более одного типа. + Обработчик = Новый ОписаниеОповещения("Подключаемый_СписокСПодбором_Подбор_ПослеВыбораТипа", ЭтотОбъект, ПараметрыЭлемента); + ПоказатьВыборИзМеню(Обработчик, СписокВыбора, Элементы[КоманднаяПанельИмя]); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_Подбор_ПослеВыбораТипа(ВыбранныйЭлемент, ПараметрыЭлемента) Экспорт + Если ВыбранныйЭлемент <> Неопределено Тогда + ПараметрыЭлемента.ВыбранныйТип = ВыбранныйЭлемент.Значение; + ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ВставитьИзБуфера(Команда) + КнопкаВставитьИмя = Команда.Имя; + + ИдентификаторЭлемента = Прав(КнопкаВставитьИмя, 32); + СвойстваНастройкиТип = Лев(КнопкаВставитьИмя, Найти(КнопкаВставитьИмя, "_")-1); + + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + ТаблицаИмя = СвойстваНастройкиТип + "_СписокЗначений_" + ИдентификаторЭлемента; + КолонкаЗначениеИмя = СвойстваНастройкиТип + "_Колонка_Значение_" + ИдентификаторЭлемента; + + Список = ЭтотОбъект[ТаблицаИмя]; + СписокЭлемент = Элементы[ТаблицаИмя]; + КолонкаЗначениеЭлемент = Элементы[КолонкаЗначениеИмя]; + + ПараметрыПоиска = Новый Структура; + ПараметрыПоиска.Вставить("ОписаниеТипов", ОписаниеТиповУдалитьПримитивные(Список.ТипЗначения)); + ПараметрыПоиска.Вставить("ПараметрыВыбора", КолонкаЗначениеЭлемент.ПараметрыВыбора); + ПараметрыПоиска.Вставить("ПредставлениеПоля", СписокЭлемент.Заголовок); + ПараметрыПоиска.Вставить("Сценарий", "ВставкаИзБуфераОбмена"); + + ПараметрыВыполнения = Новый Структура; + ПараметрыВыполнения.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); + ПараметрыВыполнения.Вставить("ТаблицаИмя", ТаблицаИмя); + ПараметрыВыполнения.Вставить("ФлажокИмя", ИспользованиеИмя); + Обработчик = Новый ОписаниеОповещения("Подключаемый_СписокСПодбором_ВставитьИзБуфера_Завершение", ЭтотОбъект, ПараметрыВыполнения); + + МодульЗагрузкаДанныхИзФайлаКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ЗагрузкаДанныхИзФайлаКлиент"); + МодульЗагрузкаДанныхИзФайлаКлиент.ПоказатьФормуЗаполненияСсылок(ПараметрыПоиска, Обработчик); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_ВставитьИзБуфера_Завершение(НайденныеОбъекты, ПараметрыВыполнения) Экспорт + Если НайденныеОбъекты = Неопределено Тогда + Возврат; + КонецЕсли; + + ПользовательскиеНастройкиМодифицированы = Истина; + ИдентификаторЭлемента = ПараметрыВыполнения.ИдентификаторЭлемента; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + + Список = ЭтотОбъект[ПараметрыВыполнения.ТаблицаИмя]; + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Отмеченные = ПользовательскаяНастройкаКД.ПравоеЗначение; + Иначе + Отмеченные = ПользовательскаяНастройкаКД.Значение; + КонецЕсли; + Для Каждого Значение Из НайденныеОбъекты Цикл + ДобавитьУникальноеЗначениеВСписок(Список, Значение, Неопределено, Истина); + ДобавитьУникальноеЗначениеВСписок(Отмеченные, Значение, Неопределено, Истина); + КонецЦикла; + + // Включение флажка Использование. + Если Элементы.Найти(ПараметрыВыполнения.ФлажокИмя) <> Неопределено Тогда + ЭтотОбъект[ПараметрыВыполнения.ФлажокИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента) + КолонкаЗначениеЭлемент = ПараметрыЭлемента.КолонкаЗначениеЭлемент; + + // Полное имя формы выбора. + // Свойство "ФормаВыбора" недоступно на клиенте даже для чтения, + // поэтому для хранения предустановленных имен форм выбора используется коллекция БыстрыйПоискИменОбъектовМетаданных. + ПутьКФорме = БыстрыйПоискИменОбъектовМетаданных.Получить(ПараметрыЭлемента.ИдентификаторЭлемента); + Если Не ЗначениеЗаполнено(ПутьКФорме) Тогда + ИмяОбъектаМетаданных = БыстрыйПоискИменОбъектовМетаданных.Получить(ПараметрыЭлемента.ВыбранныйТип); + Если ПараметрыЭлемента.ВыборТолькоГрупп Тогда + ВидОбъектаМетаданных = ВРег(Лев(ИмяОбъектаМетаданных, Найти(ИмяОбъектаМетаданных, ".")-1)); + Если ВидОбъектаМетаданных = "СПРАВОЧНИК" Или ВидОбъектаМетаданных = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда + ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбораГруппы"; + Иначе + ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбора"; + КонецЕсли; + Иначе + ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбора"; + КонецЕсли; + КонецЕсли; + + ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуИспользованиеГруппИЭлементов(КолонкаЗначениеЭлемент.ВыборГруппИЭлементов); + + ПараметрыФормыВыбора = Новый Структура; + // Стандартные параметры формы. + ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь); + ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина); + ПараметрыФормыВыбора.Вставить("Отбор", Новый Структура); + // Стандартные параметры формы выбора (см. Расширение управляемой формы для динамического списка). + ПараметрыФормыВыбора.Вставить("ВыборГруппИЭлементов", ВыборГруппИЭлементов); + ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Истина); + ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина); + // Предполагаемые реквизиты. + ПараметрыФормыВыбора.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + ПараметрыФормыВыбора.Вставить("РазрешитьНачалоПеретаскивания", Ложь); + + // Добавление фиксированных параметров выбора. + Для Каждого ПараметрВыбора Из КолонкаЗначениеЭлемент.ПараметрыВыбора Цикл + Если ПустаяСтрока(ПараметрВыбора.Имя) Тогда + Продолжить; + КонецЕсли; + Если ЗначениеЗаполнено(ПараметрВыбора.Имя) Тогда + Если ВРег(Лев(ПараметрВыбора.Имя, 6)) = ВРег("Отбор.") Тогда + ПараметрыФормыВыбора.Отбор.Вставить(Сред(ПараметрВыбора.Имя, 7), ПараметрВыбора.Значение); + Иначе + ПараметрыФормыВыбора.Вставить(ПараметрВыбора.Имя, ПараметрВыбора.Значение); + КонецЕсли; + КонецЕсли; + КонецЦикла; + + // Добавление динамических параметров выбора (от ведущих). + Для Каждого СвязьПараметраВыбора Из КолонкаЗначениеЭлемент.СвязиПараметровВыбора Цикл + Если ПустаяСтрока(СвязьПараметраВыбора.Имя) Тогда + Продолжить; + КонецЕсли; + ВедущийЗначение = ЭтотОбъект[СвязьПараметраВыбора.ПутьКДанным]; + Если ВРег(Лев(СвязьПараметраВыбора.Имя, 6)) = ВРег("Отбор.") Тогда + ПараметрыФормыВыбора.Отбор.Вставить(Сред(СвязьПараметраВыбора.Имя, 7), ВедущийЗначение); + Иначе + ПараметрыФормыВыбора.Вставить(СвязьПараметраВыбора.Имя, ВедущийЗначение); + КонецЕсли; + КонецЦикла; + + ОткрытьФорму(ПутьКФорме, ПараметрыФормыВыбора, ПараметрыЭлемента.ТаблицаЭлемент); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокСПодбором_Добавить(Команда) + + КнопкаПодборИмя = Команда.Имя; + + ИдентификаторЭлемента = Прав(КнопкаПодборИмя, 32); + СвойстваНастройкиТип = Лев(КнопкаПодборИмя, Найти(КнопкаПодборИмя, "_Подбор_") - 1); + + ТаблицаИмя = СвойстваНастройкиТип + "_СписокЗначений_" + ИдентификаторЭлемента; + + Элементы[ТаблицаИмя].ДобавитьСтроку(); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ФиксированныйСписок_ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + Отказ = Истина; +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ФиксированныйСписок_ПередУдалением(Элемент, Отказ) + Отказ = Истина; КонецПроцедуры #КонецОбласти @@ -29,30 +962,3379 @@ #Область ОбработчикиКомандФормы +//////////////////////////////////////////////////////////////////////////////// +// Штатные команды + +&НаКлиенте +Процедура Сформировать(Команда) + ЗаписатьИЗакрыть(Истина); +КонецПроцедуры + &НаКлиенте Процедура ЗавершитьРедактирование(Команда) - Если МодальныйРежим + ЗаписатьИЗакрыть(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура НастройкиПоУмолчанию(Команда) + ПараметрыЗаполнения = Новый Структура; + ПараметрыЗаполнения.Вставить("Событие", Новый Структура); + ПараметрыЗаполнения.Событие.Вставить("Имя", "НастройкиПоУмолчанию"); + ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Истина); + + БыстрыеНастройкиЗаполнить(ПараметрыЗаполнения); +КонецПроцедуры + +&НаКлиенте +Процедура ВсеНастройки(Команда) + ПоказыватьВсеНастройки = Не Элементы.ВсеНастройки.Пометка; + Элементы.ВсеНастройки.Пометка = ПоказыватьВсеНастройки; + Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ПоказыватьВсеНастройки", ПоказыватьВсеНастройки); + ПользовательскиеНастройкиМодифицированы = Истина; + ВидимостьДоступностьКорректность("ВсеНастройки"); +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Подключаемые команды + +&НаКлиенте +Процедура Подключаемый_Команда(Команда) + // Механизмы расширения + Результат = Ложь; + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.РассылкаОтчетов") Тогда + МодульРассылкаОтчетовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РассылкаОтчетовКлиент"); + МодульРассылкаОтчетовКлиент.ФормаОтчетаОбработчикКоманды(ЭтотОбъект, Команда, Результат); + КонецЕсли; + ФормаОтчетаКлиентПереопределяемый.ОбработчикКоманды(ЭтотОбъект, Команда, Результат); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_ПереместитьВверх(Команда) + Направление = -1; + ТаблицаИмя = СтрЗаменить(Команда.Имя, "_Команда_ПереместитьВверх_", "_Таблица_"); + ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_ПереместитьВниз(Команда) + Направление = 1; + ТаблицаИмя = СтрЗаменить(Команда.Имя, "_Команда_ПереместитьВниз_", "_Таблица_"); + ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_СортироватьПоВозрастанию(Команда) + + // Установка направления сортировки. + ИзменитьНаправлениеСортировкиТаблицы(Команда.Имя, НаправлениеСортировкиКомпоновкиДанных.Возр); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ТаблицаПорядка_СортироватьПоУбыванию(Команда) + + // Установка направления сортировки. + ИзменитьНаправлениеСортировкиТаблицы(Команда.Имя, НаправлениеСортировкиКомпоновкиДанных.Убыв); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ЗагрузитьПользовательскуюНастройку(Команда) + КнопкаИдентификатор = Прав(Команда.Имя, 32); + КнопкаУникальныйИдентификатор = ПривестиИмяКИдентификатору(КнопкаИдентификатор); + НеобходимоОбновитьНастройки = Истина; + УстановитьТекущиеПользовательскиеНастройки(КнопкаУникальныйИдентификатор); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +//////////////////////////////////////////////////////////////////////////////// +// Клиент + +&НаКлиенте +Процедура ЗаписатьИЗакрыть(Переформировать) + ФормаЗакрываетсяСПараметрами = Истина; + Если РежимСовместимости + Или МодальныйРежим Или РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс Или ВладелецФормы = Неопределено Тогда Закрыть(Истина); Иначе - РезультатВыбора = Новый Структура; - РезультатВыбора.Вставить("ВариантМодифицирован", Ложь); - РезультатВыбора.Вставить("ПользовательскиеНастройкиМодифицированы", Ложь); - - Если ВариантМодифицирован Тогда - РезультатВыбора.ВариантМодифицирован = Истина; - РезультатВыбора.Вставить("НастройкиКД", Отчет.КомпоновщикНастроек.Настройки); - КонецЕсли; - - ПользовательскиеНастройкиМодифицированы = Истина; // Для 8.3.4 и ниже. - Если ВариантМодифицирован Или ПользовательскиеНастройкиМодифицированы Тогда - РезультатВыбора.ПользовательскиеНастройкиМодифицированы = Истина; - РезультатВыбора.Вставить("ПользовательскиеНастройкиКД", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); - КонецЕсли; - - ОповеститьОВыборе(РезультатВыбора); + ОповеститьОВыборе(РезультатВыбора(Переформировать)); КонецЕсли; КонецПроцедуры +&НаКлиенте +Функция РезультатВыбора(Переформировать) + РезультатВыбора = Новый Структура; + РезультатВыбора.Вставить("Переформировать", Переформировать); + РезультатВыбора.Вставить("ВариантМодифицирован", Ложь); + РезультатВыбора.Вставить("ПользовательскиеНастройкиМодифицированы", Ложь); + + Если ВариантМодифицирован Тогда + РезультатВыбора.ВариантМодифицирован = Истина; + РезультатВыбора.Вставить("НастройкиКД", Отчет.КомпоновщикНастроек.Настройки); + КонецЕсли; + + ПользовательскиеНастройкиМодифицированы = Истина; // Для 8.3.4 и ниже. + Если ВариантМодифицирован Или ПользовательскиеНастройкиМодифицированы Тогда + РезультатВыбора.ПользовательскиеНастройкиМодифицированы = Истина; + РезультатВыбора.Вставить("ПользовательскиеНастройкиКД", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); + КонецЕсли; + + Возврат РезультатВыбора; +КонецФункции + +&НаКлиенте +Процедура ВыборПериодаИзВыпадающегоСписка(Результат, ПараметрыВыбора) Экспорт + Если Результат = Неопределено Тогда + Возврат; // Отмена выбора. + КонецЕсли; + + Если Результат = -1 Тогда // Начало выбора. + // Чтение параметров для формирования списка из сохраненного значения периода. + ПараметрыВыбора.Вставить("НачалоПериода", ПараметрыВыбора.Значение.ДатаНачала); + ПараметрыВыбора.Вставить("Вариант", ПараметрыВыбора.Значение.Вариант); + ИндексНачальногоЗначения = Неопределено; + ИначеЕсли ТипЗнч(Результат.Значение) = Тип("Структура") Тогда + // Чтение параметров для формирования списка из выбранного значения. + ПараметрыВыбора.Вставить("НачалоПериода", Результат.Значение.НачалоПериода); + ПараметрыВыбора.Вставить("Вариант", Результат.Значение.Вариант); + ИндексНачальногоЗначения = Результат.Значение.ИндексНачальногоЗначения; + Иначе + // Загрузка результата выбора. + ЗагрузитьРезультатВыбораПериодаИзВыпадающегоСписка(Результат, ПараметрыВыбора); + Возврат; + КонецЕсли; + + // Формирование списка выбора. + Если ПараметрыВыбора.Вариант = Неопределено Или ПараметрыВыбора.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод Тогда + + СписокПериодов = ФункцииОтчетовКлиентСервер.СписокФиксированныхПериодов(ПараметрыВыбора.НачалоПериода, ПараметрыВыбора.ВидПериода); + + Если ИндексНачальногоЗначения = Неопределено Тогда + ИндексНачальногоЗначения = СписокПериодов.НайтиПоЗначению(ПараметрыВыбора.НачалоПериода); + КонецЕсли; + + ОписаниеНавигационногоЭлемента = Новый Структура; + ОписаниеНавигационногоЭлемента.Вставить("НачалоПериода", СписокПериодов[0].Значение); + ОписаниеНавигационногоЭлемента.Вставить("Вариант", Неопределено); + ОписаниеНавигационногоЭлемента.Вставить("ИндексНачальногоЗначения", 0); + СписокПериодов[0].Значение = ОписаниеНавигационногоЭлемента; + + ОписаниеНавигационногоЭлемента = Новый Структура; + ОписаниеНавигационногоЭлемента.Вставить("НачалоПериода", СписокПериодов[8].Значение); + ОписаниеНавигационногоЭлемента.Вставить("Вариант", Неопределено); + ОписаниеНавигационногоЭлемента.Вставить("ИндексНачальногоЗначения", 8); + СписокПериодов[8].Значение = ОписаниеНавигационногоЭлемента; + + Если Не ПараметрыВыбора.Свойство("ВариантСтандартногоПериодаПоВиду") Тогда + ПараметрыВыбора.Вставить("ВариантСтандартногоПериодаПоВиду", ВариантСтандартногоПериодаПоВиду(ПараметрыВыбора.ВидПериода)); + КонецЕсли; + + ОписаниеНавигационногоЭлемента = Новый Структура; + ОписаниеНавигационногоЭлемента.Вставить("НачалоПериода", ПараметрыВыбора.НачалоПериода); + ОписаниеНавигационногоЭлемента.Вставить("Вариант", ПараметрыВыбора.ВариантСтандартногоПериодаПоВиду); + ОписаниеНавигационногоЭлемента.Вставить("ИндексНачальногоЗначения", Неопределено); + СписокПериодов.Добавить(ОписаниеНавигационногоЭлемента, НСтр("ru = 'Относительный...'")); + + Иначе + + СписокПериодов = ФункцииОтчетовКлиентСервер.СписокВычисляемыхПериодов(ПараметрыВыбора.ВидПериода); + + Если ИндексНачальногоЗначения = Неопределено Тогда + ИндексНачальногоЗначения = СписокПериодов.НайтиПоЗначению(ПараметрыВыбора.Вариант); + КонецЕсли; + + ОписаниеНавигационногоЭлемента = Новый Структура; + ОписаниеНавигационногоЭлемента.Вставить("НачалоПериода", ПараметрыВыбора.НачалоПериода); + ОписаниеНавигационногоЭлемента.Вставить("Вариант", Неопределено); + ОписаниеНавигационногоЭлемента.Вставить("ИндексНачальногоЗначения", Неопределено); + СписокПериодов.Добавить(ОписаниеНавигационногоЭлемента, НСтр("ru = 'Фиксированный...'")); + + КонецЕсли; + + Если ИндексНачальногоЗначения = Неопределено Тогда + ИндексНачальногоЗначения = СписокПериодов.Количество() - 1; + КонецЕсли; + + ПеременныеКлиента.Вставить("ВыборПериодаИзВыпадающегоСписка", Новый Структура); + ПеременныеКлиента.ВыборПериодаИзВыпадающегоСписка.Вставить("ПараметрыВыбора", ПараметрыВыбора); + ПеременныеКлиента.ВыборПериодаИзВыпадающегоСписка.Вставить("СписокПериодов", СписокПериодов); + ПеременныеКлиента.ВыборПериодаИзВыпадающегоСписка.Вставить("ИндексНачальногоЗначения", ИндексНачальногоЗначения); + Если Результат = -1 Тогда + НачатьВыборПериодаИзВыпадающегоСписка(); + Иначе + ПодключитьОбработчикОжидания("НачатьВыборПериодаИзВыпадающегоСписка", 0.1, Истина); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура НачатьВыборПериодаИзВыпадающегоСписка() + Если ПеременныеКлиента.Свойство("ВыборПериодаИзВыпадающегоСписка") Тогда + Контекст = ПеременныеКлиента.ВыборПериодаИзВыпадающегоСписка; + ПеременныеКлиента.Удалить("ВыборПериодаИзВыпадающегоСписка"); + Обработчик = Новый ОписаниеОповещения("ВыборПериодаИзВыпадающегоСписка", ЭтотОбъект, Контекст.ПараметрыВыбора); + ПоказатьВыборИзСписка(Обработчик, Контекст.СписокПериодов, Контекст.ПараметрыВыбора.Элемент, Контекст.ИндексНачальногоЗначения); + КонецЕслИ; +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьРезультатВыбораПериодаИзВыпадающегоСписка(Результат, ПараметрыВыбора) + Значение = ПараметрыВыбора.Значение; + + // Запись результата выбора в данные формы и пользовательские настройки КД. + Если ТипЗнч(Результат.Значение) = Тип("ВариантСтандартногоПериода") Тогда + ЭтотОбъект[ПараметрыВыбора.ПериодПредставлениеИмя] = ?(ПустаяСтрока(Результат.Представление), Строка(Результат.Значение), Результат.Представление); + Значение.Вариант = Результат.Значение; + Иначе + НачалоПериода = ФункцииОтчетовКлиентСервер.НачалоПериодаОтчета(ПараметрыВыбора.ВидПериода, Результат.Значение); + КонецПериода = ФункцииОтчетовКлиентСервер.КонецПериодаОтчета(ПараметрыВыбора.ВидПериода, Результат.Значение); + + ЭтотОбъект[ПараметрыВыбора.ПериодПредставлениеИмя] = Результат.Представление; + + Значение.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод; + Значение.ДатаНачала = НачалоПериода; + Значение.ДатаОкончания = КонецПериода; + КонецЕсли; + + ЭтотОбъект[ПараметрыВыбора.ПериодЗначениеИмя] = Значение; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ПараметрыВыбора.ИдентификаторЭлемента); + Если ПараметрыВыбора.ЭтоПараметр Тогда + ПользовательскаяНастройкаКД.Значение = Значение; + Иначе + ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; + КонецЕсли; + + Если Элементы.Найти(ПараметрыВыбора.ИспользованиеИмя) <> Неопределено Тогда + ЭтотОбъект[ПараметрыВыбора.ИспользованиеИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция ВариантСтандартногоПериодаПоВиду(ВидПериода) + Если ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.День") Тогда + Возврат ВариантСтандартногоПериода.Сегодня; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Неделя") Тогда + Возврат ВариантСтандартногоПериода.ЭтаНеделя; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Декада") Тогда + Возврат ВариантСтандартногоПериода.ЭтаДекада; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Месяц") Тогда + Возврат ВариантСтандартногоПериода.ЭтотМесяц; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Квартал") Тогда + Возврат ВариантСтандартногоПериода.ЭтотКвартал; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Полугодие") Тогда + Возврат ВариантСтандартногоПериода.ЭтоПолугодие; + ИначеЕсли ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.Год") Тогда + Возврат ВариантСтандартногоПериода.ЭтотГод; + КонецЕсли; +КонецФункции + +&НаКлиенте +Процедура ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя) + + СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; + Если СтрокаТаблицы = Неопределено Тогда + Возврат; + КонецЕсли; + + Таблица = ЭтотОбъект[ТаблицаИмя]; + ИндексСтрокиТаблицы = Таблица.Индекс(СтрокаТаблицы); + Если ИндексСтрокиТаблицы + Направление < 0 ИЛИ ИндексСтрокиТаблицы + Направление >= Таблица.Количество() Тогда + Возврат; + КонецЕсли; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ТаблицаИмя); + СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); + + ПользовательскаяНастройкаКД.Элементы.Сдвинуть(СтрокаПользовательскойНастройки, Направление); + Таблица.Сдвинуть(ИндексСтрокиТаблицы, Направление); + +КонецПроцедуры + +&НаКлиенте +Процедура ИзменитьНаправлениеСортировкиТаблицы(ИмяЭлемента, Направление) + + // Формирование сведений о таблице. + ИдентификаторЭлемента = Прав(ИмяЭлемента, 32); + СвойстваНастройкиТип = Лев(ИмяЭлемента, Найти(ИмяЭлемента, "_")-1); + ТаблицаИмя = СвойстваНастройкиТип + "_Таблица_" + ИдентификаторЭлемента; + + // Получение данных. + СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; + Если СтрокаТаблицы = Неопределено Тогда + Возврат; + КонецЕсли; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); + Если СтрокаПользовательскойНастройки = Неопределено Тогда + Возврат; + КонецЕсли; + + // Заполнение необязательных параметров. + Если Направление = Неопределено Тогда + Если СтрокаПользовательскойНастройки.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда + Направление = НаправлениеСортировкиКомпоновкиДанных.Убыв; + Иначе + Направление = НаправлениеСортировкиКомпоновкиДанных.Возр; + КонецЕсли; + КонецЕсли; + + // Изменение направления сортировки. + СтрокаПользовательскойНастройки.ТипУпорядочивания = Направление; + СтрокаТаблицы.Направление = Направление; + +КонецПроцедуры + +&НаКлиенте +Функция НайтиПользовательскуюНастройкуЭлемента(ИмяИлиИдентификаторЭлемента) + // Для пользовательских настроек хранятся идентификаторы компоновки данных, + // поскольку они не могут храниться по ссылке (происходит копирование значения). + Если СтрДлина(ИмяИлиИдентификаторЭлемента) = 32 Тогда + ИдентификаторЭлемента = ИмяИлиИдентификаторЭлемента; + Иначе + ИдентификаторЭлемента = Прав(ИмяИлиИдентификаторЭлемента, 32); + КонецЕсли; + ИдентификаторКД = БыстрыйПоискПользовательскихНастроек.Получить(ИдентификаторЭлемента); + Возврат Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ИдентификаторКД); +КонецФункции + +&НаКлиенте +Функция НайтиДополнительныеНастройкиЭлемента(ИмяИлиИдентификаторЭлемента) + // Для пользовательских настроек хранятся идентификаторы компоновки данных, + // поскольку они не могут храниться по ссылке (происходит копирование значения). + Если СтрДлина(ИмяИлиИдентификаторЭлемента) = 32 Тогда + ИдентификаторЭлемента = ИмяИлиИдентификаторЭлемента; + Иначе + ИдентификаторЭлемента = Прав(ИмяИлиИдентификаторЭлемента, 32); + КонецЕсли; + + ВсеДополнительныеНастройки = Неопределено; + Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Свойство("ЭлементыФормы", ВсеДополнительныеНастройки); + Если ВсеДополнительныеНастройки = Неопределено Тогда + Возврат Неопределено + Иначе + Возврат ВсеДополнительныеНастройки[ИдентификаторЭлемента]; + КонецЕсли; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Клиент или сервер + +&НаКлиентеНаСервереБезКонтекста +Функция ПривестиИдентификаторКИмени(Идентификатор) + Возврат СтрЗаменить(Строка(Идентификатор), "-", ""); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПривестиИмяКИдентификатору(Имя) + Возврат Лев(Имя, 8) + "-" + Сред(Имя, 9, 4) + "-" + Сред(Имя, 13, 4) + "-" + Сред(Имя, 17, 4) + "-" + Сред(Имя, 21); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ОписаниеТиповУдалитьПримитивные(ИсходноеОписаниеТипов) + ВычитаемыеТипы = Новый Массив; + Если ИсходноеОписаниеТипов.СодержитТип(Тип("Строка")) Тогда + ВычитаемыеТипы.Добавить(Тип("Строка")); + КонецЕсли; + Если ИсходноеОписаниеТипов.СодержитТип(Тип("Дата")) Тогда + ВычитаемыеТипы.Добавить(Тип("Дата")); + КонецЕсли; + Если ИсходноеОписаниеТипов.СодержитТип(Тип("Число")) Тогда + ВычитаемыеТипы.Добавить(Тип("Число")); + КонецЕсли; + Если ВычитаемыеТипы.Количество() = 0 Тогда + Возврат ИсходноеОписаниеТипов; + КонецЕсли; + Возврат Новый ОписаниеТипов(ИсходноеОписаниеТипов, , ВычитаемыеТипы); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ДобавитьУникальноеЗначениеВСписок(СписокЗначений, Значение, Представление, Использование) + Если Не ЗначениеЗаполнено(Значение) И Не ЗначениеЗаполнено(Представление) Тогда + Возврат Неопределено; + КонецЕсли; + ЭлементСписка = СписокЗначений.НайтиПоЗначению(Значение); + Если ЭлементСписка = Неопределено Тогда + ЭлементСписка = СписокЗначений.Добавить(); + ЭлементСписка.Значение = Значение; + КонецЕсли; + Если ЗначениеЗаполнено(Представление) Тогда + ЭлементСписка.Представление = Представление; + ИначеЕсли Не ЗначениеЗаполнено(ЭлементСписка.Представление) Тогда + ЭлементСписка.Представление = Строка(Значение); + КонецЕсли; + Если Использование И Не ЭлементСписка.Пометка Тогда + ЭлементСписка.Пометка = Истина; + КонецЕсли; + Возврат ЭлементСписка; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЗначенияСписком(Значения) + Если ТипЗнч(Значения) = Тип("СписокЗначений") Тогда + Возврат Значения; + Иначе + СписокЗначений = Новый СписокЗначений; + ДобавитьУникальноеЗначениеВСписок(СписокЗначений, Значения, Неопределено, Ложь); + Значения = СписокЗначений; + Возврат СписокЗначений; + КонецЕсли; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Вызов сервера + +&НаСервере +Процедура БыстрыеНастройкиЗаполнить(Знач ПараметрыЗаполнения) + + // Вставка значений по умолчанию для обязательных ключей параметров заполнения. + БыстрыеНастройкиДозаполнитьПараметры(ПараметрыЗаполнения); + + Если НастройкиОтчета.События.ПередЗаполнениемПанелиБыстрыхНастроек + Или НастройкиОтчета.События.ПослеЗаполненияПанелиБыстрыхНастроек Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + КонецЕсли; + + // Вызов переопределяемого модуля. + Если НастройкиОтчета.События.ПередЗаполнениемПанелиБыстрыхНастроек Тогда + ОтчетОбъект.ПередЗаполнениемПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Иначе + ФормаОтчетаПереопределяемый.ПередЗаполнениемПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + КонецЕсли; + + // Запись новых настроек варианта и пользовательских настроек в компоновщик. + БыстрыеНастройкиЗагрузитьНастройкиВКомпоновщик(ПараметрыЗаполнения); + + // Чтение настроек отчета, не связанных с полями СКД. + ПрочитатьНастройкиНеСвязанныеСПолями(); + + // Удаление элементов старых настроек. + БыстрыеНастройкиУдалитьСтарыеЭлементыИКоманды(ПараметрыЗаполнения); + + // Добавление элементов актуальных настроек и загрузка значений. + БыстрыеНастройкиСоздатьЭлементыУправленияИЗагрузитьЗначения(ПараметрыЗаполнения); + + // Обработка дополнительных настроек. + ПослеИзмененияКлючевыхСостояний(ПараметрыЗаполнения); + + // Заголовок и свойства элементов. + ВидимостьДоступностьКорректность(); + + // Вызов переопределяемого модуля. + Если НастройкиОтчета.События.ПослеЗаполненияПанелиБыстрыхНастроек Тогда + ОтчетОбъект.ПослеЗаполненияПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Иначе + ФормаОтчетаПереопределяемый.ПослеЗаполненияПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ВидимостьДоступностьКорректность(Изменения = "") + // Быстрые настройки + Если Изменения = "" Тогда + // Вычисление параметров отображения. + ПользовательскиеНастройкиКД = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; + ЕстьМедленныеНастройки = ПользовательскиеНастройкиКД.Элементы.Количество() > 0; + + // Применение параметров отображения. + Если ВариантыПанелиКлючТекущегоВарианта <> КлючТекущегоВарианта Тогда + ВариантыПанелиКлючТекущегоВарианта = КлючТекущегоВарианта; + ЗаполнитьКомандыВыбораПользовательскихНастроек(); + ЗаполнитьПанельОтчетов(); + КонецЕсли; + Если ЕстьОбычныеНастройки Или ЕстьДругиеОтчеты Тогда + Элементы.СтраницыНастроек.ОтображениеСтраниц = ОтображениеСтраницФормы.ЗакладкиСверху; + Элементы.НадписьНетНастроек.Видимость = Ложь; + ИначеЕсли ЕстьБыстрыеНастройки Тогда + Элементы.СтраницыНастроек.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; + Элементы.НадписьНетНастроек.Видимость = Ложь; + Иначе + Элементы.СтраницыНастроек.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; + Элементы.НадписьНетНастроек.Видимость = Истина; + КонецЕсли; + КонецЕсли; + + // Заголовок + Если Изменения = "" Или Изменения = "ВсеНастройки" Тогда + Если ЗначениеЗаполнено(ОтчетНаименованиеТекущегоВарианта) Тогда + Заголовок = ОтчетНаименованиеТекущегоВарианта; + Иначе + Заголовок = НастройкиОтчета.Наименование; + Конецесли; + Если Элементы.ВсеНастройки.Пометка Тогда + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВсеНастройки; + Заголовок = НСтр("ru = 'Все настройки отчета'") + " """ + Заголовок + """"; + Иначе + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаНастройкиИДругиеОтчеты; + Заголовок = НСтр("ru = 'Настройки отчета'") + " """ + Заголовок + """"; + Конецесли; + Элементы.ГруппаДругиеВариантыОтчета.Заголовок = НастройкиОтчета.Наименование + " (" + НСтр("ru = 'варианты отчета'") + "):"; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ОбновитьСвязиВедущегоСПодчиненными(ИдентификаторЭлемента, Значение, Использование, ВсеСвязиВедущего, ЗначениеИзменено) + + // Если ведущий используется, тогда связь регистрируется в элементе подчиненного в соответствии с выбранным типом. + Если ВсеСвязиВедущего.Свойство("ПараметрыВыбораПодчиненныхПоТипуВедущего") Тогда + ЗначениеТип = ТипЗнч(Значение); + Для Каждого СтрокаСвязиОтбора Из ВсеСвязиВедущего.ПараметрыВыбораПодчиненныхПоТипуВедущего Цикл + СвязьВключена = Использование И ЗначениеТип = СтрокаСвязиОтбора.ВедущийТип; + ПодчиненныйЭлемент = Элементы[СтрокаСвязиОтбора.ПодчиненныйИмяЭлемента]; + УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, СтрокаСвязиОтбора, СвязьВключена); + КонецЦикла; + КонецЕсли; + + Если ВсеСвязиВедущего.Свойство("ПараметрыВыбораПодчиненных") Тогда + Для Каждого СтрокаСвязиОтбора Из ВсеСвязиВедущего.ПараметрыВыбораПодчиненных Цикл + ПодчиненныйЭлемент = Элементы[СтрокаСвязиОтбора.ПодчиненныйИмяЭлемента]; + УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, СтрокаСвязиОтбора, Использование); + Если ЗначениеИзменено = Истина + И СтрокаСвязиОтбора.Действие = РежимИзмененияСвязанногоЗначения.Очищать Тогда + Если Не ПустаяСтрока(СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита) Тогда + ЗначениеРеквизита = ЗначениеРеквизита(СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита); + Если ЗначениеРеквизита <> Неопределено Тогда + Если ТипЗнч(ЗначениеРеквизита) = Тип("СписокЗначений") Тогда + ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита].Очистить(); + Иначе + ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита] = Неопределено; + КонецЕсли; + КонецЕсли; + КонецЕсли; + Если Не ПустаяСтрока(СтрокаСвязиОтбора.ПодчиненныйИмяФлажка) + И ЗначениеРеквизита(СтрокаСвязиОтбора.ПодчиненныйИмяФлажка) <> Неопределено Тогда + ИдентификаторКД = БыстрыйПоискПользовательскихНастроек.Получить(СтрокаСвязиОтбора.ПодчиненныйИдентификатор); + ПользовательскаяНастройка = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ИдентификаторКД); + ПользовательскаяНастройка.Использование = Ложь; + ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяФлажка] = Ложь; + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Сервер + +&НаСервере +Процедура БыстрыеНастройкиДозаполнитьПараметры(ПараметрыЗаполнения) + Если Не ПараметрыЗаполнения.Свойство("Событие") Тогда + ПараметрыЗаполнения.Вставить("Событие", Новый Структура("Имя", "")); + КонецЕсли; + Если Не ПараметрыЗаполнения.Свойство("ВариантМодифицирован") Тогда + ПараметрыЗаполнения.Вставить("ВариантМодифицирован", Ложь); + КонецЕсли; + Если Не ПараметрыЗаполнения.Свойство("ПользовательскиеНастройкиМодифицированы") Тогда + ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Ложь); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура БыстрыеНастройкиЗагрузитьНастройкиВКомпоновщик(ПараметрыЗаполнения) + Если ПараметрыЗаполнения.Свойство("КомпоновщикНастроекКД") Тогда + Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПараметрыЗаполнения.КомпоновщикНастроекКД.Настройки); + Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПараметрыЗаполнения.КомпоновщикНастроекКД.ПользовательскиеНастройки); + КонецЕсли; + + Если ПараметрыЗаполнения.Свойство("НастройкиКД") Тогда + Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПараметрыЗаполнения.НастройкиКД); + КонецЕсли; + + Если ПараметрыЗаполнения.Свойство("ПользовательскиеНастройкиКД") Тогда + Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПараметрыЗаполнения.ПользовательскиеНастройкиКД); + КонецЕсли; + + Если ПараметрыЗаполнения.Событие.Имя = "НастройкиПоУмолчанию" Тогда + ПустойКомпоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; + Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПустойКомпоновщик.ПользовательскиеНастройки); + КонецЕсли; + + Если ПараметрыЗаполнения.ВариантМодифицирован Тогда + ВариантМодифицирован = Истина; + КонецЕсли; + + Если ПараметрыЗаполнения.ПользовательскиеНастройкиМодифицированы Тогда + ПользовательскиеНастройкиМодифицированы = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ПрочитатьНастройкиНеСвязанныеСПолями() + ПользовательскиеНастройкиКД = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; + + ФормироватьСразу = Неопределено; + ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ФормироватьСразу", ФормироватьСразу); + Если ТипЗнч(ФормироватьСразу) <> Тип("Булево") Тогда + ФормироватьСразу = Ложь; + КонецЕсли; + Элементы.ФормироватьСразу.Пометка = ФормироватьСразу; + + ПоказыватьВсеНастройки = Неопределено; + ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ПоказыватьВсеНастройки", ПоказыватьВсеНастройки); + Если ТипЗнч(ПоказыватьВсеНастройки) <> Тип("Булево") Тогда + ПоказыватьВсеНастройки = Ложь; + КонецЕсли; + Элементы.ВсеНастройки.Пометка = ПоказыватьВсеНастройки; +КонецПроцедуры + +&НаСервере +Процедура БыстрыеНастройкиУдалитьСтарыеЭлементыИКоманды(ПараметрыЗаполнения) + // Удаление элементов. + УдаляемыеЭлементы = Новый Массив; + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройки.ПодчиненныеЭлементы); + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.СтраницаГлавное.ПодчиненныеЭлементы); + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.СтраницаДополнительноШапка.ПодчиненныеЭлементы); + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.СтраницаДополнительноПодвал.ПодчиненныеЭлементы); + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.СтраницаДополнительноГруппировки.ПодчиненныеЭлементы); + Для Каждого СтраницаНастроек Из Элементы.СтраницыНастроек.ПодчиненныеЭлементы Цикл + Если СтраницаНастроек <> Элементы.СтраницаГлавное + И СтраницаНастроек <> Элементы.СтраницаДополнительно + И СтраницаНастроек <> Элементы.СтраницаДругиеОтчеты + И СтраницаНастроек <> Элементы.СтраницаНеОтсортированное Тогда + ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, СтраницаНастроек.ПодчиненныеЭлементы); + УдаляемыеЭлементы.Добавить(СтраницаНастроек); + КонецЕсли; + КонецЦикла; + Для Каждого Элемент Из УдаляемыеЭлементы Цикл + Элементы.Удалить(Элемент); + КонецЦикла; + + // Удаление команд + УдаляемыеКоманды = Новый Массив; + Для Каждого Команда Из Команды Цикл + Если ПостоянныеКоманды.НайтиПоЗначению(Команда.Имя) = Неопределено Тогда + УдаляемыеКоманды.Добавить(Команда); + КонецЕсли; + КонецЦикла; + Для Каждого Команда Из УдаляемыеКоманды Цикл + Команды.Удалить(Команда); + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура ДобавитьПодчиненныеЭлементы(Куда, Откуда) + Для Каждого ПодчиненныйЭлемент Из Откуда Цикл + Если ТипЗнч(ПодчиненныйЭлемент) = Тип("ГруппаФормы") + Или ТипЗнч(ПодчиненныйЭлемент) = Тип("ТаблицаФормы") Тогда + ДобавитьПодчиненныеЭлементы(Куда, ПодчиненныйЭлемент.ПодчиненныеЭлементы); + КонецЕсли; + Куда.Добавить(ПодчиненныйЭлемент); + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура БыстрыеНастройкиСоздатьЭлементыУправленияИЗагрузитьЗначения(ПараметрыЗаполнения) + // Кэши для быстрого поиска с клиента. + СоответствиеПользовательскихНастроек = Новый Соответствие; + СоответствиеИменОбъектовМетаданных = Новый Соответствие; + СоответствиеОтключаемыхСвязей = Новый Соответствие; + + СоответствиеХранимыхСписковВыбора = Новый Соответствие; + + ЕстьБыстрыеНастройки = Ложь; + ЕстьОбычныеНастройки = Ложь; + + // Удаление реквизитов + ПараметрыЗаполнения.Вставить("Реквизиты", Новый Структура); + ПараметрыЗаполнения.Реквизиты.Вставить("Добавляемые", Новый Массив); + ПараметрыЗаполнения.Реквизиты.Вставить("Удаляемые", Новый Массив); + ПараметрыЗаполнения.Реквизиты.Вставить("Существующие", Новый Соответствие); + ОписаниеТиповТаблицаЗначений = Новый ОписаниеТипов("ТаблицаЗначений"); + ВсеРеквизиты = ПолучитьРеквизиты(); + Для Каждого Реквизит Из ВсеРеквизиты Цикл + РеквизитПолноеИмя = ПолноеИмяРеквизита(Реквизит); + Если ПостоянныеРеквизиты.НайтиПоЗначению(РеквизитПолноеИмя) = Неопределено Тогда + ПараметрыЗаполнения.Реквизиты.Существующие.Вставить(РеквизитПолноеИмя, Реквизит.ТипЗначения); + Подчиненные = ПолучитьРеквизиты(РеквизитПолноеИмя); + Если ОписанияТиповСовпадают(Реквизит.ТипЗначения, ОписаниеТиповТаблицаЗначений) Тогда + Для Каждого Подчиненный Из Подчиненные Цикл + ПодчиненныйПолноеИмя = ПолноеИмяРеквизита(Подчиненный); + ПараметрыЗаполнения.Реквизиты.Существующие.Вставить(ПодчиненныйПолноеИмя, Подчиненный.ТипЗначения); + КонецЦикла; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + // Локальные переменные для установки значений и свойств после создания реквизитов. + ДобавленныеПоляВвода = Новый Структура; + ДобавленныеСпискиЗначений = Новый Массив; + ДобавленныеТаблицыСФлажками = Новый Массив; + ДобавленныеСтандартныеПериоды = Новый Массив; + + // Структура связей. + Связи = СоздатьСтруктуруТаблицСвязей(); + + ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных = Новый Соответствие; + ИменаОсновныхРеквизитовФормы = Новый Соответствие; + ИменаЭлементовДляУстановкиСвязей = Новый Соответствие; + ИменаФлажковИспользование = Новый Соответствие; + НастройкиСВидомСравненияРавно = Новый Соответствие; + + КомпоновщикНастроекКД = Отчет.КомпоновщикНастроек; + ПользовательскиеНастройкиКД = КомпоновщикНастроекКД.ПользовательскиеНастройки; + НастройкиКД = КомпоновщикНастроекКД.ПолучитьНастройки(); + + Если ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ЭлементыФормы") Тогда + ДополнительныеНастройкиЭлементов = ПользовательскиеНастройкиКД.ДополнительныеСвойства.ЭлементыФормы; + Иначе + ДополнительныеНастройкиЭлементов = Новый Соответствие; + КонецЕсли; + + Режимы = РежимОтображенияЭлементаНастройкиКомпоновкиДанных; + + ШаблонНастройки = Новый Структура("Тип, Подтип, Шаблон, СтрокаДерева, + |ПользовательскаяСКД, ИдентификаторСКД, ВариантаСКД, ДоступнаяСКД"); + ШаблонНастройки.Вставить("Иерархия", Ложь); + ШаблонНастройки.Вставить("ФлажокИспользование", Ложь); + ШаблонНастройки.Вставить("ВыводВЗакладке", Ложь); + ШаблонНастройки.Вставить("ВводСписком", Ложь); + ШаблонНастройки.Вставить("ОграничиватьВыборУказаннымиЗначениями", Ложь); + ШаблонНастройки = Новый ФиксированнаяСтруктура(ШаблонНастройки); + + ГруппыВывода = Новый Структура; + ГруппыВывода.Вставить("Быстрые", Новый Структура("Порядок, Размер", Новый Массив, 0)); + ГруппыВывода.Вставить("Основные", Новый Структура("Порядок, Размер", Новый Массив, 0)); + ГруппыВывода.Вставить("ДополнительныеШапка", Новый Структура("Порядок, Размер", Новый Массив, 0)); + ГруппыВывода.Вставить("ДополнительныеПодвал", Новый Структура("Порядок, Размер", Новый Массив, 0)); + ГруппыВывода.Вставить("ДополнительныеЗакладки", Новый СписокЗначений); + ДополнительныеЗакладкиПоиск = Новый Соответствие; + + ОтчетОбъект = Неопределено; + + ДеревоВарианта = Новый ДеревоЗначений; + ДеревоВарианта.Колонки.Добавить("Настройка"); + ДеревоВарианта.Колонки.Добавить("ТипНастройки", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("Заголовок", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("ЕстьСтруктура", Новый ОписаниеТипов("Булево")); + ДеревоВарианта.Колонки.Добавить("ЕстьПоляИОформление", Новый ОписаниеТипов("Булево")); + + ДеревоВариантаЗарегистрироватьЭлемент(НастройкиКД, ДеревоВарианта.Строки); + + ГруппаСортировки = Элементы.СтраницаНеОтсортированное; + + ЕстьЗагрузкаДанныхИзФайла = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла"); + + // Перебор коллекций пользовательских настроек. + // Отдельный цикл верхнего уровня нужен для поддержки сценария, + // когда коллекция отборов выведена в пользовательские настройки + // и можно добавлять новые отборы не меняя настроек варианта. + НаборыПользовательскихНастроек = Новый СписокЗначений; + НаборыПользовательскихНастроек.Добавить(ПользовательскиеНастройкиКД.Элементы, "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки"); + Пока Истина Цикл + Если НаборыПользовательскихНастроек.Количество() = 0 Тогда + Прервать; + КонецЕсли; + + НаборПользовательскихНастроек = НаборыПользовательскихНастроек[0].Значение; + ПутьПользовательскихНастроек = НаборыПользовательскихНастроек[0].Представление; + НаборыПользовательскихНастроек.Удалить(0); + ЭтоНаборОтбора = (ТипЗнч(НаборПользовательскихНастроек) = Тип("КоллекцияЭлементовОтбораКомпоновкиДанных")); + + // Перебор пользовательских настроек. + Для Каждого ПользовательскаяНастройка Из НаборПользовательскихНастроек Цикл + РежимОтображения = ПользовательскаяНастройка.РежимОтображения; + Если РежимОтображения = Режимы.Недоступный Тогда + Продолжить; + КонецЕсли; + + ИндексЭлемента = НаборПользовательскихНастроек.Индекс(ПользовательскаяНастройка); + ИдентификаторСКД = ПользовательскаяНастройка.ИдентификаторПользовательскойНастройки; + Если Не ЗначениеЗаполнено(ИдентификаторСКД) Тогда + Продолжить; + КонецЕсли; + ИдентификаторЭлемента = ПривестиИдентификаторКИмени(ИдентификаторСКД); + + СоответствиеПользовательскихНастроек.Вставить(ИдентификаторЭлемента, ПользовательскиеНастройкиКД.ПолучитьИдентификаторПоОбъекту(ПользовательскаяНастройка)); + + СвойстваНастройки = Новый Структура(ШаблонНастройки); + СвойстваНастройки.Тип = ТипНастройкиСтрокой(ТипЗнч(ПользовательскаяНастройка)); + СвойстваНастройки.ПользовательскаяСКД = ПользовательскаяНастройка; + СвойстваНастройки.ИдентификаторСКД = ИдентификаторСКД; + + //СвойстваНастройки.СтрокаДерева = Неопределено; + Если ЭтоНаборОтбора Тогда + СвойстваНастройки.ВариантаСКД = ПользовательскаяНастройка; + Иначе + ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки); + //СвойстваНастройки.ВариантаСКД = ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки, СвойстваНастройки.СтрокаДерева); + //Если СвойстваНастройки.ВариантаСКД = Неопределено Тогда + // Продолжить; + //КонецЕсли; + КонецЕсли; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + //НаборыПользовательскихНастроек.Добавить(ПользовательскаяНастройка.Элементы); + //Продолжить; + КонецЕсли; + + Если РежимОтображения = Режимы.Авто Тогда + РежимОтображения = СвойстваНастройки.ВариантаСКД.РежимОтображения; + КонецЕсли; + Если РежимОтображения = Режимы.БыстрыйДоступ Тогда + ЭтоБыстраяНастройка = Истина; + ЕстьБыстрыеНастройки = Истина; + ИначеЕсли РежимОтображения = Режимы.Обычный Тогда + ЭтоБыстраяНастройка = Ложь; + ЕстьОбычныеНастройки = Истина; + Иначе + Продолжить; + КонецЕсли; + + //СвойстваНастройки.ДоступнаяСКД = ФункцииОтчетовКлиентСервер.НайтиДоступнуюНастройку(НастройкиКД, СвойстваНастройки.ВариантаСКД); + + СтруктураПредставлений = Новый Структура("Представление, ПредставлениеПользовательскойНастройки", "", ""); + ЗаполнитьЗначенияСвойств(СтруктураПредставлений, СвойстваНастройки.ВариантаСКД); + Если ЗначениеЗаполнено(СтруктураПредставлений.ПредставлениеПользовательскойНастройки) Тогда + ЭлементЗаголовок = СтруктураПредставлений.ПредставлениеПользовательскойНастройки; + ИначеЕсли ЗначениеЗаполнено(СтруктураПредставлений.Представление) Тогда + ЭлементЗаголовок = СтруктураПредставлений.Представление; + ИначеЕсли СвойстваНастройки.ДоступнаяСКД <> Неопределено И ЗначениеЗаполнено(СвойстваНастройки.ДоступнаяСКД.Заголовок) Тогда + ЭлементЗаголовок = СвойстваНастройки.ДоступнаяСКД.Заголовок; + Иначе + ЭлементЗаголовок = ПредставлениеПользовательскойНастройки(СвойстваНастройки); + КонецЕсли; + + Если ЗначениеЗаполнено(СтруктураПредставлений.Представление) Тогда + СвойстваНастройки.Тип = "ФиксированныйОтбор"; // Виртуальный тип. + КонецЕсли; + + Если СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" + Или СвойстваНастройки.Тип = "ФиксированныйОтбор" + Или СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "ФиксированныйОтбор" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + + СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование"; + + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + + Если СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда + Продолжить; // Имя параметра изменилось или параметр был удален. + КонецЕсли; + + СвойстваНастройки.ФлажокИспользование = СвойстваНастройки.ДоступнаяСКД.Использование <> ИспользованиеПараметраКомпоновкиДанных.Всегда; + Если ТипЗнч(ПользовательскаяНастройка.Значение) = Тип("СтандартныйПериод") Тогда + СвойстваНастройки.Шаблон = "СтандартныйПериод"; + ИначеЕсли СвойстваНастройки.ДоступнаяСКД.ДоступенСписокЗначений Тогда + СвойстваНастройки.ВводСписком = Истина; + Если ЭтоБыстраяНастройка Тогда + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + Иначе + СвойстваНастройки.Шаблон = "СписокСПодбором"; + КонецЕсли; + Иначе + СвойстваНастройки.Шаблон = "ПолеВвода"; + КонецЕсли; + + АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. + + Если СвойстваНастройки.Шаблон = "ПолеВвода" Тогда + НастройкиСВидомСравненияРавно.Вставить(ИдентификаторЭлемента, Истина); + КонецЕсли; + + Если Не СвойстваНастройки.ФлажокИспользование Тогда + ПользовательскаяНастройка.Использование = Истина; + КонецЕсли; + + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(СвойстваНастройки.ВариантаСКД.Параметр)); + ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Вставить(ПолеКД, ИдентификаторЭлемента); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + + Если СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда + Продолжить; // Имя поля изменилось или поле было удалено. + КонецЕсли; + + СвойстваНастройки.ФлажокИспользование = Истина; + Если ТипЗнч(ПользовательскаяНастройка.ПравоеЗначение) = Тип("СтандартныйПериод") Тогда + СвойстваНастройки.Шаблон = "СтандартныйПериод"; + ИначеЕсли ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено Тогда + СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование"; + ЭлементЗаголовок = ЭлементЗаголовок + ": " + НРег(Строка(ПользовательскаяНастройка.ВидСравнения)); + ИначеЕсли ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда + СвойстваНастройки.ВводСписком = Истина; + Если ЭтоБыстраяНастройка Тогда + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + Иначе + СвойстваНастройки.Шаблон = "СписокСПодбором"; + Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда + ЭлементЗаголовок = ЭлементЗаголовок + " (" + НСтр("ru = 'за исключением выбранных'") + ")"; + КонецЕсли; + КонецЕсли; + СвойстваНастройки.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.ГруппыИЭлементы); + Иначе + СвойстваНастройки.Шаблон = "ПолеВвода"; + Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда + НастройкиСВидомСравненияРавно.Вставить(ИдентификаторЭлемента, Истина); + КонецЕсли; + Если ПользовательскаяНастройка.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно + И ПользовательскаяНастройка.ВидСравнения <> ВидСравненияКомпоновкиДанных.Содержит Тогда + ЭлементЗаголовок = ЭлементЗаголовок + " (" + НРег(Строка(ПользовательскаяНастройка.ВидСравнения)) + ")"; + КонецЕсли; + Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии + Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВИерархии Тогда + СвойстваНастройки.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.Группы); + КонецЕсли; + КонецЕсли; + + АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. + + ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Вставить(СвойстваНастройки.ВариантаСКД.ЛевоеЗначение, ИдентификаторЭлемента); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками"; + СвойстваНастройки.Иерархия = Истина; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками"; + + Иначе + + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + + КонецЕсли; + + // Определение группы для вывода. + Если ЭтоБыстраяНастройка Тогда + ГруппаВывода = ГруппыВывода.Быстрые; + Иначе + // Определение раздела. + КорневаяСтрокаДереваВарианта = Неопределено; + ТекущаяСтрока = СвойстваНастройки.СтрокаДерева; + Пока ТекущаяСтрока <> Неопределено Цикл + Если ЗначениеЗаполнено(ТекущаяСтрока.Заголовок) И ТекущаяСтрока.Настройка <> НастройкиКД Тогда + КорневаяСтрокаДереваВарианта = ТекущаяСтрока; + КонецЕсли; + ТекущаяСтрока = ТекущаяСтрока.Родитель; + КонецЦикла; + Если КорневаяСтрокаДереваВарианта = Неопределено Тогда // Раздел не найден. Вывод в основную часть. + Если СвойстваНастройки.Шаблон = "СписокСПодбором" Тогда + ГруппаВывода = ГруппыВывода.Основные; + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" + Или СвойстваНастройки.Тип = "ЭлементОтбора" + Или СвойстваНастройки.Тип = "ФиксированныйОтбор" Тогда + ГруппаВывода = ГруппыВывода.Основные; + ИначеЕсли СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками" Тогда + // Действие не требуется, т.к. каждая таблица "падает" на свою закладку. + ИначеЕсли СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком" Тогда + ГруппаВывода = ГруппыВывода.ДополнительныеПодвал; + Иначе + ГруппаВывода = ГруппыВывода.ДополнительныеШапка; + КонецЕсли; + Иначе // Раздел найден. Вывод в группу на закладке "Дополнительно": + СвойстваНастройки.ВыводВЗакладке = Истина; + ЗаголовокЗакладки = КорневаяСтрокаДереваВарианта.Заголовок; + ГруппаВывода = ДополнительныеЗакладкиПоиск.Получить(ЗаголовокЗакладки); + Если ГруппаВывода = Неопределено Тогда + ГруппаВывода = Новый Структура("Порядок, Размер", Новый Массив, 0); + ГруппаВывода.Вставить("Заголовок", ЗаголовокЗакладки); + ГруппаВывода.Вставить("ИмяФлажка", ""); + ГруппыВывода.ДополнительныеЗакладки.Добавить(ГруппаВывода, ЗаголовокЗакладки); + ДополнительныеЗакладкиПоиск.Вставить(ЗаголовокЗакладки, ГруппаВывода); + КонецЕсли; + Если СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками" Тогда // Вместо большой таблицы с флажками... + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; //... выводится поле ввода, связанное с СКД. + КонецЕсли; + КонецЕсли; + КонецЕсли; + + // Параметры выбора: условия, ограничения и список значений. + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" + Или СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + // Значение списка. + Если СвойстваНастройки.ВводСписком Тогда + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ОтмеченныеЗначения = ЗначенияСписком(ПользовательскаяНастройка.Значение); + Иначе + ОтмеченныеЗначения = ЗначенияСписком(ПользовательскаяНастройка.ПравоеЗначение); + КонецЕсли; + СвойстваНастройки.Вставить("ОтмеченныеЗначения", ОтмеченныеЗначения); + КонецЕсли; + + // Формирование параметров и текста запроса. + СвойстваНастройки.Вставить("ЗначенияДляВыбора", Новый СписокЗначений); + СвойстваНастройки.Вставить("ЗапросЗначенийВыбора", Новый Запрос); + + Если ТипЗнч(СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения) = Тип("СписокЗначений") И СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения.Количество() > 0 Тогда + // Разработчик ограничил выбор списком доступных значений. + СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина; + Для Каждого ЭлементСписка Из СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения Цикл + ЗначениеВСКД = ЭлементСписка.Значение; + Если Не ЗначениеЗаполнено(ЭлементСписка.Представление) + И (ЗначениеВСКД = Неопределено + Или ЗначениеВСКД = Тип("Неопределено") + Или ЗначениеВСКД = Новый ОписаниеТипов("Неопределено") + Или Не ЗначениеЗаполнено(ЗначениеВСКД)) Тогда + Продолжить; // Запрет пустых значений. + КонецЕсли; + Если ТипЗнч(ЗначениеВСКД) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(ЗначениеВСКД); + ЗначениеВФорме = Новый ОписаниеТипов(МассивТипов); + Иначе + ЗначениеВФорме = ЗначениеВСКД; + КонецЕсли; + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, ЭлементСписка.Представление, Ложь); + КонецЦикла; + Иначе + Если Не СвойстваНастройки.ФлажокИспользование + И СвойстваНастройки.СодержитТипБулево + И СвойстваНастройки.КоличествоТипов = 1 + И Не СвойстваНастройки.ВводСписком Тогда + СвойстваНастройки.Шаблон = "ТолькоФлажокЗначения"; // Замена поля "Да/Нет" на флажок. + КонецЕсли; + // Чтение сохраненных ранее настроек. + НастройкиСохраненныеРанее = ДополнительныеНастройкиЭлементов[ИдентификаторЭлемента]; + Если НастройкиСохраненныеРанее <> Неопределено + И НастройкиСохраненныеРанее.Свойство("ЗначенияДляВыбора") + И ТипЗнч(НастройкиСохраненныеРанее.ЗначенияДляВыбора) = Тип("Массив") Тогда + // Фильтр выбранных если изменилось описание типов. + Если НастройкиСохраненныеРанее.Свойство("ОписаниеТипов") + И ТипЗнч(НастройкиСохраненныеРанее.ОписаниеТипов) = Тип("ОписаниеТипов") + И Не ОписанияТиповСовпадают(СвойстваНастройки.ОписаниеТипов, НастройкиСохраненныеРанее.ОписаниеТипов) Тогда + Количество = НастройкиСохраненныеРанее.ЗначенияДляВыбора.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + ЗначениеВФорме = НастройкиСохраненныеРанее.ЗначенияДляВыбора[ОбратныйИндекс]; + Если СвойстваНастройки.ОписаниеТипов.СодержитТип(ТипЗнч(ЗначениеВФорме)) Тогда + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, Неопределено, Ложь); + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + + // Текст для автоматического заполнения значений настройки. + Если СвойстваНастройки.КоличествоПеречислений > 0 Тогда + // Разработчик не ограничил выбор... + // И есть возможность автоматически заполнить список. + ШаблонЗапросаПеречислений = "ВЫБРАТЬ Ссылка ИЗ &ИмяПеречисления"; + ТекстЗапроса = ""; + Для Каждого ПеречислениеПолноеИмя Из СвойстваНастройки.Перечисления Цикл + Если ТекстЗапроса <> "" Тогда + ТекстЗапроса = ТекстЗапроса + Символы.ПС + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС; + КонецЕсли; + ТекстЗапроса = ТекстЗапроса + СтрЗаменить(ШаблонЗапросаПеречислений, "&ИмяПеречисления", ПеречислениеПолноеИмя); + КонецЦикла; + СвойстваНастройки.ЗапросЗначенийВыбора.Текст = ТекстЗапроса; + Если СвойстваНастройки.КоличествоПеречислений = СвойстваНастройки.КоличествоТипов Тогда + СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина; // Выбираются только значения перечислений. + КонецЕсли; + КонецЕсли; + КонецЕсли; + + // Механизмы расширения. + ФормаОтчетаПереопределяемый.ПриОпределенииПараметровВыбора(ЭтотОбъект, СвойстваНастройки); // Глобальные настройки вывода типов... + Если НастройкиОтчета.События.ПриОпределенииПараметровВыбора Тогда // ... можно переопределить локально для отчета. + Если ОтчетОбъект = Неопределено Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + КонецЕсли; + ОтчетОбъект.ПриОпределенииПараметровВыбора(ЭтотОбъект, СвойстваНастройки); + КонецЕсли; + + // Автоматическое заполнение. + Если СвойстваНастройки.ЗапросЗначенийВыбора.Текст <> "" Тогда + ДобавляемыеЗначения = СвойстваНастройки.ЗапросЗначенийВыбора.Выполнить().Выгрузить().ВыгрузитьКолонку(0); + Для Каждого ЗначениеВФорме Из ДобавляемыеЗначения Цикл + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, Неопределено, Ложь); + КонецЦикла; + СвойстваНастройки.ЗначенияДляВыбора.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + КонецЕсли; + + // Сохранение параметров выбора настройки в дополнительных свойствах пользовательских настроек. + НастройкиЭлемента = Новый Структура("ОписаниеТипов, ОграничиватьВыборУказаннымиЗначениями, ПараметрыВыбора"); + ЗаполнитьЗначенияСвойств(НастройкиЭлемента, СвойстваНастройки); + НастройкиЭлемента.Вставить("ЗначенияДляВыбора", СвойстваНастройки.ЗначенияДляВыбора.ВыгрузитьЗначения()); + НастройкиЭлемента.Вставить("ПредставлениеПоля", ЭлементЗаголовок); + ДополнительныеНастройкиЭлементов.Вставить(ИдентификаторЭлемента, НастройкиЭлемента); + КонецЕсли; + + ЭлементВывода = Новый Структура("Размер, ИмяЭлемента1, ИмяЭлемента2"); + + //////////////////////////////////////////////////////////////////////////////// + // Генератор + + Если СвойстваНастройки.ВыводВЗакладке + И (СвойстваНастройки.Шаблон = "СписокСПодбором" + Или СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками") Тогда + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + КонецЕсли; + + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Или СвойстваНастройки.Шаблон = "ТолькоФлажокЗначения" Тогда + + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Тогда + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ДействиеПриИзменении = "Подключаемый_ФлажокИспользование_ПриИзменении"; + Иначе + ФлажокИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + ДействиеПриИзменении = "Подключаемый_ПолеВвода_ПриИзменении"; + КонецЕсли; + + // Настройки вывода. + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" + И СвойстваНастройки.ВыводВЗакладке + И (СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "Диаграмма") + И ГруппаВывода.ИмяФлажка = "" + И СвойстваНастройки.СтрокаДерева = КорневаяСтрокаДереваВарианта Тогда + + ГруппаВывода.ИмяФлажка = ФлажокИмя; + + Иначе + + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + КонецЕсли; + + // Реквизиты. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + // Флажок. + ИспользованиеОтбора = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), ГруппаСортировки); + ИспользованиеОтбора.Вид = ВидПоляФормы.ПолеФлажка; + ИспользованиеОтбора.Заголовок = ЭлементЗаголовок; + ИспользованиеОтбора.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ИспользованиеОтбора.УстановитьДействие("ПриИзменении", ДействиеПриИзменении); + + // Значения. + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Тогда + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + Иначе + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Значение); + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком" Тогда + + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ЗначениеИмя; + + Путь = ПутьПользовательскихНастроек + "[" + ИндексЭлемента + "]"; + + ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ПутьПользовательскихНастроек + ".Элементы[" + ИндексЭлемента + "].Значение"); + ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, ЗначениеИмя); + ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(СвойстваНастройки.ФлажокИспользование, ФлажокИмя, "")); + + // Группа с флажком. + Если СвойстваНастройки.ФлажокИспользование Тогда + + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + // Флажок + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), ГруппаСортировки); + ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; + ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); + ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; + + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + + КонецЕсли; + + ПолеВвода = Элементы.Добавить(ЗначениеИмя, Тип("ПолеФормы"), ГруппаСортировки); + ПолеВвода.Вид = ВидПоляФормы.ПолеВвода; + ПолеВвода.Заголовок = ЭлементЗаголовок; + ПолеВвода.ПутьКДанным = Путь + ".Значение"; + ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + + Если СвойстваНастройки.ВводСписком Тогда + ПолеВвода.УстановитьДействие("НачалоВыбора", "Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора"); + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Шаблон = "СтандартныйПериод" Тогда + + ГруппаИмя = СвойстваНастройки.Тип + "_Группа_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ВидПериодаИмя = СвойстваНастройки.Тип + "_Вид_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + ПериодПредставлениеИмя = СвойстваНастройки.Тип + "_Представление_" + ИдентификаторЭлемента; + ПериодНачалоИмя = СвойстваНастройки.Тип + "_Начало_" + ИдентификаторЭлемента; + ПериодОкончаниеИмя = СвойстваНастройки.Тип + "_Окончание_" + ИдентификаторЭлемента; + ДекорацияИмя = СвойстваНастройки.Тип + "_Декорация_" + ИдентификаторЭлемента; + СтраницыИмя = СвойстваНастройки.Тип + "_Страницы_" + ИдентификаторЭлемента; + СтраницаСтандартныйИмя = СвойстваНастройки.Тип + "_СтраницаСтандартный_" + ИдентификаторЭлемента; + СтраницаПроизвольныйИмя = СвойстваНастройки.Тип + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ГруппаИмя; + + // Реквизиты. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ВидПериодаИмя, "ПеречислениеСсылка.ДоступныеПериодыОтчета"); + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ПериодПредставлениеИмя, "Строка"); + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ПериодЗначениеИмя, "СтандартныйПериод"); + + // Основная Группа + Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), ГруппаСортировки); + Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Группа.Отображение = ОтображениеОбычнойГруппы.Нет; + Группа.ОтображатьЗаголовок = Ложь; + Группа.Заголовок = ЭлементЗаголовок; + + Если СвойстваНастройки.ФлажокИспользование Тогда + + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + // Флажок + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), ГруппаСортировки); + ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; + ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); + ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; + + // Значение флажка. + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + + КонецЕсли; + + // Вид периода - Элемент. + ВидПериодаЭлемент = Элементы.Добавить(ВидПериодаИмя, Тип("ПолеФормы"), Группа); + ВидПериодаЭлемент.Вид = ВидПоляФормы.ПолеВвода; + ВидПериодаЭлемент.Заголовок = ЭлементЗаголовок; + ВидПериодаЭлемент.РежимВыбораИзСписка = Истина; + ВидПериодаЭлемент.РастягиватьПоГоризонтали = Ложь; + ВидПериодаЭлемент.Ширина = 11; + ВидПериодаЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ВидПериодаЭлемент.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_Вид_ПриИзменении"); + + // Вид периода - Список выбора. + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[СвойстваНастройки.ВариантаСКД.Параметр]; + Иначе + МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[СвойстваНастройки.ВариантаСКД.ЛевоеЗначение]; + КонецЕсли; + Если МинимальнаяПериодичность = Неопределено Тогда + МинимальнаяПериодичность = Перечисления.ДоступныеПериодыОтчета.День; + КонецЕсли; + + ДоступныеПериоды = ФункцииОтчетовКлиентСервер.ПолучитьСписокДоступныхПериодов(); + Для Индекс = ДоступныеПериоды.Найти(МинимальнаяПериодичность) По ДоступныеПериоды.ВГраница() Цикл + ВидПериодаЭлемент.СписокВыбора.Добавить(ДоступныеПериоды[Индекс]); + КонецЦикла; + + // Страницы. + ГруппаСтраниц = Элементы.Добавить(СтраницыИмя, Тип("ГруппаФормы"), Группа); + ГруппаСтраниц.Вид = ВидГруппыФормы.Страницы; + ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; + ГруппаСтраниц.Ширина = 24; + ГруппаСтраниц.РастягиватьПоГоризонтали = Ложь; + + // Страница СтандартныйПериод. + СтраницаСтандартныйПериод = Элементы.Добавить(СтраницаСтандартныйИмя, Тип("ГруппаФормы"), ГруппаСтраниц); + СтраницаСтандартныйПериод.Вид = ВидГруппыФормы.Страница; + СтраницаСтандартныйПериод.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + СтраницаСтандартныйПериод.ОтображатьЗаголовок = Ложь; + + // Страница Произвольный. + СтраницаПроизвольныйПериод = Элементы.Добавить(СтраницаПроизвольныйИмя, Тип("ГруппаФормы"), ГруппаСтраниц); + СтраницаПроизвольныйПериод.Вид = ВидГруппыФормы.Страница; + СтраницаПроизвольныйПериод.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + СтраницаПроизвольныйПериод.ОтображатьЗаголовок = Ложь; + + // Стандартный период. + Период = Элементы.Добавить(ПериодПредставлениеИмя, Тип("ПолеФормы"), СтраницаСтандартныйПериод); + Период.Вид = ВидПоляФормы.ПолеВвода; + Период.Заголовок = НСтр("ru = 'Период'"); + Период.РастягиватьПоГоризонтали = Истина; + Период.КнопкаВыбора = Истина; + Период.КнопкаОткрытия = Ложь; + Период.КнопкаОчистки = Ложь; + Период.КнопкаРегулирования = Ложь; + Период.РедактированиеТекста = Ложь; + Период.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + Период.УстановитьДействие("Очистка", "Подключаемый_СтандартныйПериод_Значение_Очистка"); + Период.УстановитьДействие("НачалоВыбора", "Подключаемый_СтандартныйПериод_Значение_НачалоВыбора"); + + // Начало произвольного периода + ПериодНачало = Элементы.Добавить(ПериодНачалоИмя, Тип("ПолеФормы"), СтраницаПроизвольныйПериод); + ПериодНачало.Вид = ВидПоляФормы.ПолеВвода; + ПериодНачало.РастягиватьПоГоризонтали = Истина; + ПериодНачало.КнопкаВыбора = Истина; + ПериодНачало.КнопкаОткрытия = Ложь; + ПериодНачало.КнопкаОчистки = Ложь; + ПериодНачало.КнопкаРегулирования = Ложь; + ПериодНачало.РедактированиеТекста = Истина; + ПериодНачало.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ПериодНачало.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_НачалоПериода_ПриИзменении"); + + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ПериодНачало.АвтоОтметкаНезаполненного = СвойстваНастройки.ДоступнаяСКД.ЗапрещатьНезаполненныеЗначения; + КонецЕсли; + + Тире = Элементы.Добавить(ДекорацияИмя, Тип("ДекорацияФормы"), СтраницаПроизвольныйПериод); + Тире.Вид = ВидДекорацииФормы.Надпись; + Тире.Заголовок = "–"; + + // Окончание произвольного периода. + ПериодОкончание = Элементы.Добавить(ПериодОкончаниеИмя, Тип("ПолеФормы"), СтраницаПроизвольныйПериод); + ПериодОкончание.Вид = ВидПоляФормы.ПолеВвода; + ЗаполнитьЗначенияСвойств(ПериодОкончание, ПериодНачало, "РастягиватьПоГоризонтали, Ширина, ПоложениеЗаголовка, + |РедактированиеТекста, КнопкаВыбора, КнопкаОткрытия, КнопкаОчистки, КнопкаРегулирования, АвтоОтметкаНезаполненного"); + ПериодОкончание.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_КонецПериода_ПриИзменении"); + + // Значения. + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + Значение = ПользовательскаяНастройка.Значение; + Иначе + Значение = ПользовательскаяНастройка.ПравоеЗначение; + КонецЕсли; + НачалоПериода = Значение.ДатаНачала; + КонецПериода = Значение.ДатаОкончания; + ВидПериода = ФункцииОтчетовКлиентСервер.ПолучитьВидСтандартногоПериода(Значение, ВидПериодаЭлемент.СписокВыбора); + Представление = ФункцииОтчетовКлиентСервер.ПредставлениеСтандартногоПериода(Значение, ВидПериода); + + СвойстваНастройки.Вставить("ПериодЗначениеИмя", ПериодЗначениеИмя); + СвойстваНастройки.Вставить("ВидПериодаИмя", ВидПериодаИмя); + СвойстваНастройки.Вставить("ПериодНачалоИмя", ПериодНачалоИмя); + СвойстваНастройки.Вставить("ПериодОкончаниеИмя", ПериодОкончаниеИмя); + СвойстваНастройки.Вставить("ПериодПредставлениеИмя", ПериодПредставлениеИмя); + СвойстваНастройки.Вставить("Значение", Значение); + СвойстваНастройки.Вставить("ВидПериода", ВидПериода); + СвойстваНастройки.Вставить("Представление", Представление); + ДобавленныеСтандартныеПериоды.Добавить(СвойстваНастройки); + + // Активация страницы. + Если ВидПериода = Перечисления.ДоступныеПериодыОтчета.ПроизвольныйПериод Тогда + ГруппаСтраниц.ТекущаяСтраница = СтраницаПроизвольныйПериод; + Иначе + ГруппаСтраниц.ТекущаяСтраница = СтраницаСтандартныйПериод; + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Шаблон = "ПолеВвода" Тогда + + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ЗначениеИмя; + + ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ЗначениеИмя); + ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, ЗначениеИмя); + ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(СвойстваНастройки.ФлажокИспользование, ФлажокИмя, "")); + + // Группа с флажком. + Если СвойстваНастройки.ФлажокИспользование Тогда + + // Настройки вывода. + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + // Регистрация реквизита формы. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + // Флажок + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), ГруппаСортировки); + ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; + ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); + ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; + + // Значение флажка. + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + + КонецЕсли; + + // Регистрация реквизита формы. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ЗначениеИмя, СвойстваНастройки.ОписаниеТипов); + + // Поле ввода. + ПолеВвода = Элементы.Добавить(ЗначениеИмя, Тип("ПолеФормы"), ГруппаСортировки); + ПолеВвода.Вид = ВидПоляФормы.ПолеВвода; + ПолеВвода.Заголовок = ЭлементЗаголовок; + ПолеВвода.КнопкаОткрытия = Ложь; + ПолеВвода.КнопкаРегулирования = Ложь; + ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ПолеВвода_ПриИзменении"); + + ЗаполнитьЗначенияСвойств(ПолеВвода, СвойстваНастройки.ДоступнаяСКД, "БыстрыйВыбор, Маска, ФормаВыбора, ФорматРедактирования"); + + Если СвойстваНастройки.Свойство("ВыборГруппИЭлементов") Тогда + ПолеВвода.ВыборГруппИЭлементов = СвойстваНастройки.ВыборГруппИЭлементов; + Иначе + ПолеВвода.ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуГруппыИЭлементы(СвойстваНастройки.ДоступнаяСКД.ВыборГруппИЭлементов); + КонецЕсли; + + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ПолеВвода.АвтоОтметкаНезаполненного = СвойстваНастройки.ДоступнаяСКД.ЗапрещатьНезаполненныеЗначения; + КонецЕсли; + + // Поля ввода следующих типов не растягиваются по горизонтали и не имеют кнопки очистки: + // Дата, Булево, Число, Тип. + ПолеВвода.КнопкаОчистки = СвойстваНастройки.СодержитДругиеТипы; + ПолеВвода.РастягиватьПоГоризонтали = СвойстваНастройки.СодержитДругиеТипы; + Для Каждого ЭлементСпискаВФорме Из СвойстваНастройки.ЗначенияДляВыбора Цикл + ЗаполнитьЗначенияСвойств(ПолеВвода.СписокВыбора.Добавить(), ЭлементСпискаВФорме); + КонецЦикла; + Если СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ПолеВвода.РежимВыбораИзСписка = Истина; + ПолеВвода.КнопкаСоздания = Ложь; + ПолеВвода.РастягиватьПоГоризонтали = Истина; + КонецЕсли; + + // Фиксированные параметры выбора. + Если СвойстваНастройки.Свойство("ПараметрыВыбора") Тогда + ПолеВвода.ПараметрыВыбора = Новый ФиксированныйМассив(СвойстваНастройки.ПараметрыВыбора); + КонецЕсли; + + // Значение реквизита. + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + Значение = ПользовательскаяНастройка.Значение; + Иначе + Значение = ПользовательскаяНастройка.ПравоеЗначение; + КонецЕсли; + Если ТипЗнч(Значение) = Тип("СтандартнаяДатаНачала") Тогда + Значение = Дата(Значение); + ИначеЕсли ТипЗнч(Значение) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(Значение); + Значение = Новый ОписаниеТипов(МассивТипов); + КонецЕсли; + ДобавленныеПоляВвода.Вставить(ЗначениеИмя, Значение); + + ИначеЕсли СвойстваНастройки.Шаблон = "СписокСПодбором" Тогда + + ГруппаИмя = СвойстваНастройки.Тип + "_Группа_" + ИдентификаторЭлемента; + ГруппаЗаголовокИмя = СвойстваНастройки.Тип + "_ГруппаЗаголовка_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ДекорацияИмя = СвойстваНастройки.Тип + "_Декорация_" + ИдентификаторЭлемента; + ТаблицаИмя = СвойстваНастройки.Тип + "_СписокЗначений_" + ИдентификаторЭлемента; + ГруппаКолонокИмя = СвойстваНастройки.Тип + "_ГруппаКолонок_" + ИдентификаторЭлемента; + КолонкаИспользованиеИмя = СвойстваНастройки.Тип + "_Колонка_Использование_" + ИдентификаторЭлемента; + КолонкаЗначениеИмя = СвойстваНастройки.Тип + "_Колонка_Значение_" + ИдентификаторЭлемента; + КоманднаяПанельИмя = СвойстваНастройки.Тип + "_КоманднаяПанель_" + ИдентификаторЭлемента; + КнопкаПодборИмя = СвойстваНастройки.Тип + "_Подбор_" + ИдентификаторЭлемента; + КнопкаВставитьИмя = СвойстваНастройки.Тип + "_ВставитьИзБуфера_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 5; + ЭлементВывода.ИмяЭлемента1 = ГруппаИмя; + + ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ТаблицаИмя); + ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, КолонкаЗначениеИмя); + ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(СвойстваНастройки.ФлажокИспользование, ФлажокИмя, "")); + + // Добавление основной группы + Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), ГруппаСортировки); + Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + Группа.Отображение = ОтображениеОбычнойГруппы.Нет; + Группа.Заголовок = ЭлементЗаголовок; + Группа.ОтображатьЗаголовок = Ложь; + + // Группа-строка для заголовка и командной панели таблицы. + Если СвойстваНастройки.ФлажокИспользование И СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ГруппаЗаголовокТаблицы = Группа; + Иначе + ГруппаЗаголовокТаблицы = Элементы.Добавить(ГруппаЗаголовокИмя, Тип("ГруппаФормы"), Группа); + ГруппаЗаголовокТаблицы.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ГруппаЗаголовокТаблицы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + ГруппаЗаголовокТаблицы.Отображение = ОтображениеОбычнойГруппы.Нет; + ГруппаЗаголовокТаблицы.ОтображатьЗаголовок = Ложь; + КонецЕсли; + + // Флажок. + Если СвойстваНастройки.ФлажокИспользование Тогда + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), ГруппаЗаголовокТаблицы); + ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; + ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; + ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); + + // Значение флажка + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + КонецЕсли; + + // Заголовок / Пустая декорация. + Если Не СвойстваНастройки.ФлажокИспользование Или Не СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ПустаяДекорация = Элементы.Добавить(ДекорацияИмя, Тип("ДекорацияФормы"), ГруппаЗаголовокТаблицы); + ПустаяДекорация.Вид = ВидДекорацииФормы.Надпись; + ПустаяДекорация.Заголовок = ?(СвойстваНастройки.ФлажокИспользование, " ", ЭлементЗаголовок + ":"); + ПустаяДекорация.РастягиватьПоГоризонтали = Истина; + КонецЕсли; + + // Подбор. + Если Не СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ТаблицаКоманднаяПанель = Элементы.Добавить(КоманднаяПанельИмя, Тип("ГруппаФормы"), ГруппаЗаголовокТаблицы); + ТаблицаКоманднаяПанель.Вид = ВидГруппыФормы.КоманднаяПанель; + ТаблицаКоманднаяПанель.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Право; + ТаблицаКоманднаяПанель.РастягиватьПоГоризонтали = Ложь; + ТаблицаКоманднаяПанель.Ширина = 0; + + Если СвойстваНастройки.СодержитСсылочныеТипы Тогда + КомандаПодбор = Команды.Добавить(КнопкаПодборИмя); + КомандаПодбор.Действие = "Подключаемый_СписокСПодбором_Подбор"; + КомандаПодбор.Заголовок = НСтр("ru = 'Подбор'"); + КомандаПодбор.Отображение = ОтображениеКнопки.Текст; + Иначе + КомандаПодбор = Команды.Добавить(КнопкаПодборИмя); + КомандаПодбор.Действие = "Подключаемый_СписокСПодбором_Добавить"; + КомандаПодбор.Заголовок = НСтр("ru = 'Добавить'"); + КомандаПодбор.Отображение = ОтображениеКнопки.Текст; + КомандаПодбор.Картинка = БиблиотекаКартинок.СоздатьЭлементСписка; + КонецЕсли; + + КнопкаПодбор = Элементы.Добавить(КнопкаПодборИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); + КнопкаПодбор.ИмяКоманды = КнопкаПодборИмя; + + Если ЕстьЗагрузкаДанныхИзФайла Тогда + КомандаВставить = Команды.Добавить(КнопкаВставитьИмя); + КомандаВставить.Действие = "Подключаемый_СписокСПодбором_ВставитьИзБуфера"; + КомандаВставить.Заголовок = НСтр("ru = 'Вставить из буфера обмена...'"); + КомандаВставить.Картинка = БиблиотекаКартинок.ЗаполнитьФорму; + КомандаВставить.Отображение = ОтображениеКнопки.Картинка; + + КнопкаВставить = Элементы.Добавить(КнопкаВставитьИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); + КнопкаВставить.ИмяКоманды = КнопкаВставитьИмя; + КонецЕсли; + КонецЕсли; + + // Таблица. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя, "СписокЗначений"); + + ТаблицаФормы = Элементы.Добавить(ТаблицаИмя, Тип("ТаблицаФормы"), Группа); + ТаблицаФормы.Отображение = ОтображениеТаблицы.Список; + ТаблицаФормы.Заголовок = ЭлементЗаголовок; + ТаблицаФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; + ТаблицаФормы.ВертикальныеЛинии = Ложь; + ТаблицаФормы.ГоризонтальныеЛинии = Ложь; + ТаблицаФормы.Шапка = Ложь; + ТаблицаФормы.Подвал = Ложь; + ТаблицаФормы.ИзменятьПорядокСтрок = Истина; + ТаблицаФормы.РастягиватьПоГоризонтали = Истина; + ТаблицаФормы.РастягиватьПоВертикали = Истина; + ТаблицаФормы.Высота = 3; + + // Группа колонок "в ячейке". + ГруппаКолонок = Элементы.Добавить(ГруппаКолонокИмя, Тип("ГруппаФормы"), ТаблицаФормы); + ГруппаКолонок.Вид = ВидГруппыФормы.ГруппаКолонок; + ГруппаКолонок.Группировка = ГруппировкаКолонок.ВЯчейке; + + // Колонка "Использование". + КолонкаИспользованиеЭлемент = Элементы.Добавить(КолонкаИспользованиеИмя, Тип("ПолеФормы"), ГруппаКолонок); + КолонкаИспользованиеЭлемент.Вид = ВидПоляФормы.ПолеФлажка; + + // Колонка "Значение". + КолонкаЗначениеЭлемент = Элементы.Добавить(КолонкаЗначениеИмя, Тип("ПолеФормы"), ГруппаКолонок); + КолонкаЗначениеЭлемент.Вид = ВидПоляФормы.ПолеВвода; + + ЗаполнитьЗначенияСвойств(КолонкаЗначениеЭлемент, СвойстваНастройки.ДоступнаяСКД, "БыстрыйВыбор, Маска, ФормаВыбора, ФорматРедактирования"); + + Если СвойстваНастройки.Свойство("ВыборГруппИЭлементов") Тогда + КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = СвойстваНастройки.ВыборГруппИЭлементов; + Иначе + КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуГруппыИЭлементы(СвойстваНастройки.ДоступнаяСКД.ВыборГруппИЭлементов); + КонецЕсли; + + Если СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + КолонкаЗначениеЭлемент.ТолькоПросмотр = Истина; + КонецЕсли; + + // Заполнение имен объектов метаданных в разрезах типов и идентификаторов элементов (для предустановленных). + // Используется при клике по кнопке "Подбор" для получения имени формы подбора. + Если ЗначениеЗаполнено(КолонкаЗначениеЭлемент.ФормаВыбора) Тогда + СоответствиеИменОбъектовМетаданных.Вставить(ИдентификаторЭлемента, КолонкаЗначениеЭлемент.ФормаВыбора); + КонецЕсли; + + // Фиксированные параметры выбора. + Если СвойстваНастройки.Свойство("ПараметрыВыбора") Тогда + КолонкаЗначениеЭлемент.ПараметрыВыбора = Новый ФиксированныйМассив(СвойстваНастройки.ПараметрыВыбора); + КонецЕсли; + + Если Не СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + СоответствиеХранимыхСписковВыбора.Вставить(ИдентификаторЭлемента, ТаблицаИмя); + КонецЕсли; + + СвойстваНастройки.Вставить("ИмяТаблицы", ТаблицаИмя); + СвойстваНастройки.Вставить("ИмяКолонкиЗначение", КолонкаЗначениеИмя); + СвойстваНастройки.Вставить("ИмяКолонкиИспользование", КолонкаИспользованиеИмя); + ДобавленныеСпискиЗначений.Добавить(СвойстваНастройки); + + ИначеЕсли СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками" Тогда + + ГруппаИмя = СвойстваНастройки.Тип + "_Группа_" + ИдентификаторЭлемента; + ТаблицаИмя = СвойстваНастройки.Тип + "_Таблица_" + ИдентификаторЭлемента; + КолонкаИспользованиеИмя = СвойстваНастройки.Тип + "_КолонкаИспользование_" + ИдентификаторЭлемента; + КолонкаПредставлениеИмя = СвойстваНастройки.Тип + "_КолонкаПредставление_" + ИдентификаторЭлемента; + КолонкаПорядокИмя = СвойстваНастройки.Тип + "_КолонкаПорядок_" + ИдентификаторЭлемента; + КоманднаяПанельИмя = СвойстваНастройки.Тип + "_КоманднаяПанель_" + ИдентификаторЭлемента; + КомандаПереместитьВверхИмя = СвойстваНастройки.Тип + "_Команда_ПереместитьВверх_" + ИдентификаторЭлемента; + КомандаПереместитьВнизИмя = СвойстваНастройки.Тип + "_Команда_ПереместитьВниз_" + ИдентификаторЭлемента; + КомандаСортироватьПоВозрастаниюИмя = СвойстваНастройки.Тип + "_Команда_СортироватьПоВозрастанию_" + ИдентификаторЭлемента; + КомандаСортироватьПоУбываниюИмя = СвойстваНастройки.Тип + "_Команда_СортироватьПоУбыванию_" + ИдентификаторЭлемента; + + // Реквизиты. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя, "ТаблицаЗначений"); + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Идентификатор", "Строка"); + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Использование", "Булево"); + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Представление", "Строка"); + + Если СвойстваНастройки.Тип = "Порядок" Тогда + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Направление", "НаправлениеСортировкиКомпоновкиДанных"); + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".ЭтоГруппа", "Булево"); + КонецЕсли; + + // Группы и элементы + Группа = Элементы.Вставить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.СтраницыНастроек, Элементы.СтраницаДополнительно); + Группа.Вид = ВидГруппыФормы.Страница; + Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Группа.Заголовок = ЭлементЗаголовок; + Если СвойстваНастройки.Тип = "Порядок" Тогда + Группа.Картинка = БиблиотекаКартинок.ПорядокКомпоновкиДанных; + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + Группа.Картинка = БиблиотекаКартинок.ВыборКомпоновкиДанных; + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + Группа.Картинка = БиблиотекаКартинок.ПоляГруппировкиКомпоновкиДанных; + КонецЕсли; + + ТаблицаФормы = Элементы.Добавить(ТаблицаИмя, Тип("ТаблицаФормы"), Группа); + ТаблицаФормы.Отображение = ОтображениеТаблицы.Список; + ТаблицаФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; + ТаблицаФормы.ВертикальныеЛинии = Ложь; + ТаблицаФормы.ГоризонтальныеЛинии = Ложь; + ТаблицаФормы.Шапка = Ложь; + ТаблицаФормы.Подвал = Ложь; + ТаблицаФормы.ИзменятьПорядокСтрок = Истина; + ТаблицаФормы.РастягиватьПоГоризонтали = Истина; + ТаблицаФормы.РастягиватьПоВертикали = Истина; + ТаблицаФормы.Высота = 3; + ТаблицаФормы.ИзменятьСоставСтрок = Ложь; + ТаблицаФормы.ИзменятьПорядокСтрок = Ложь; + ТаблицаФормы.РежимВыделения = РежимВыделенияТаблицы.Одиночный; + + КолонкаИспользование = Элементы.Добавить(КолонкаИспользованиеИмя, Тип("ПолеФормы"), ТаблицаФормы); + КолонкаИспользование.Вид = ВидПоляФормы.ПолеФлажка; + КолонкаИспользование.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; + КолонкаИспользование.УстановитьДействие("ПриИзменении", "Подключаемый_ТаблицаПорядка_КолонкаИспользование_ПриИзменении"); + + КолонкаПредставление = Элементы.Добавить(КолонкаПредставлениеИмя, Тип("ПолеФормы"), ТаблицаФормы); + КолонкаПредставление.Вид = ВидПоляФормы.ПолеВвода; + КолонкаПредставление.ТолькоПросмотр = Истина; + + // Командная панель + ТаблицаКоманднаяПанель = Элементы.Добавить(КоманднаяПанельИмя, Тип("ГруппаФормы"), Группа); + ТаблицаКоманднаяПанель.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТаблицаКоманднаяПанель.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТаблицаКоманднаяПанель.Отображение = ОтображениеОбычнойГруппы.Нет; + ТаблицаКоманднаяПанель.ОтображатьЗаголовок = Ложь; + + // Команды + КомандаПереместитьВверх = Команды.Добавить(КомандаПереместитьВверхИмя); + КомандаПереместитьВверх.Действие = "Подключаемый_ТаблицаПорядка_ПереместитьВверх"; + КомандаПереместитьВверх.Картинка = БиблиотекаКартинок.ПереместитьВверх; + КомандаПереместитьВверх.Отображение = ОтображениеКнопки.Картинка; + + КомандаПереместитьВниз = Команды.Добавить(КомандаПереместитьВнизИмя); + КомандаПереместитьВниз.Действие = "Подключаемый_ТаблицаПорядка_ПереместитьВниз"; + КомандаПереместитьВниз.Картинка = БиблиотекаКартинок.ПереместитьВниз; + КомандаПереместитьВниз.Отображение = ОтображениеКнопки.Картинка; + + // Кнопки + КнопкаПереместитьВверх = Элементы.Добавить(КомандаПереместитьВверхИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); + КнопкаПереместитьВверх.ИмяКоманды = КомандаПереместитьВверхИмя; + КнопкаПереместитьВверх.Заголовок = НСтр("ru = 'Переместить строку вверх'"); + + КнопкаПереместитьВниз = Элементы.Добавить(КомандаПереместитьВнизИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); + КнопкаПереместитьВниз.ИмяКоманды = КомандаПереместитьВнизИмя; + КнопкаПереместитьВниз.Заголовок = НСтр("ru = 'Переместить строку вниз'"); + + Если СвойстваНастройки.Тип = "Порядок" Тогда + + КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Поднять приоритет сортировки по колонке'"); + КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Понизить приоритет сортировки по колонке'"); + + КолонкаПорядок = Элементы.Добавить(КолонкаПорядокИмя, Тип("ПолеФормы"), ТаблицаФормы); + КолонкаПорядок.Вид = ВидПоляФормы.ПолеВвода; + КолонкаПорядок.ТолькоПросмотр = Истина; + //КолонкаПорядок.РастягиватьПоГоризонтали = Ложь; + //КолонкаПорядок.Ширина = 11; + КолонкаПорядок.ГиперссылкаЯчейки = Истина; + + // Команды + КомандаПереместитьВверх = Команды.Добавить(КомандаСортироватьПоВозрастаниюИмя); + КомандаПереместитьВверх.Действие = "Подключаемый_ТаблицаПорядка_СортироватьПоВозрастанию"; + КомандаПереместитьВверх.Картинка = БиблиотекаКартинок.СортироватьСписокПоВозрастанию; + КомандаПереместитьВверх.Отображение = ОтображениеКнопки.Картинка; + + КомандаПереместитьВниз = Команды.Добавить(КомандаСортироватьПоУбываниюИмя); + КомандаПереместитьВниз.Действие = "Подключаемый_ТаблицаПорядка_СортироватьПоУбыванию"; + КомандаПереместитьВниз.Картинка = БиблиотекаКартинок.СортироватьСписокПоУбыванию; + КомандаПереместитьВниз.Отображение = ОтображениеКнопки.Картинка; + + // Кнопки + КнопкаПереместитьВверх = Элементы.Добавить(КомандаСортироватьПоВозрастаниюИмя, Тип("КнопкаФормы"), ТаблицаФормы.КонтекстноеМеню); + КнопкаПереместитьВверх.ИмяКоманды = КомандаСортироватьПоВозрастаниюИмя; + КнопкаПереместитьВверх.Заголовок = НСтр("ru = 'Сортировать по возрастанию'"); + + КнопкаПереместитьВниз = Элементы.Добавить(КомандаСортироватьПоУбываниюИмя, Тип("КнопкаФормы"), ТаблицаФормы.КонтекстноеМеню); + КнопкаПереместитьВниз.ИмяКоманды = КомандаСортироватьПоУбываниюИмя; + КнопкаПереместитьВниз.Заголовок = НСтр("ru = 'Сортировать по убыванию'"); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Переместить поле выше или левее'"); + КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Переместить поле ниже или правее'"); + + // Условное оформление для групп + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ЭлементУсловногоОформления.Использование = Истина; + + ОтборОформления = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборОформления.Использование = Истина; + ОтборОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ТаблицаИмя + ".ЭтоГруппа"); + ОтборОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборОформления.ПравоеЗначение = Истина; + + ПолеОформление = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформление.Использование = Истина; + ПолеОформление.Поле = Новый ПолеКомпоновкиДанных(ТаблицаИмя); + + ШрифтОформления = ЭлементУсловногоОформления.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Шрифт")); + ШрифтОформления.Значение = Новый Шрифт(ШрифтОформления.Значение, , , Истина, , Истина, ); + ШрифтОформления.Использование = Истина; + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Переместить поле вверх'"); + КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Переместить поле вниз'"); + + КонецЕсли; + + // Значения. + СвойстваНастройки.Вставить("ИмяГруппы", ГруппаИмя); + СвойстваНастройки.Вставить("ИмяТаблицы", ТаблицаИмя); + СвойстваНастройки.Вставить("ИмяКолонкиИспользование", КолонкаИспользованиеИмя); + СвойстваНастройки.Вставить("ИмяКолонкиПредставление", КолонкаПредставлениеИмя); + СвойстваНастройки.Вставить("ИмяКолонкиПорядок", КолонкаПорядокИмя); + ДобавленныеТаблицыСФлажками.Добавить(СвойстваНастройки); + + КонецЕсли; + + Если ЭлементВывода.Размер <> Неопределено Тогда + Если ЭлементВывода.ИмяЭлемента1 = Неопределено Тогда // Заголовок + ЭлементВывода.ИмяЭлемента1 = СвойстваНастройки.Тип + "_Заголовок_" + ИдентификаторЭлемента; + ПолеНадписи = Элементы.Добавить(ЭлементВывода.ИмяЭлемента1, Тип("ДекорацияФормы"), Элементы.БыстрыеНастройки); + ПолеНадписи.Вид = ВидДекорацииФормы.Надпись; + ПолеНадписи.Заголовок = ЭлементЗаголовок + ":"; + КонецЕсли; + Если СвойстваНастройки.Шаблон = "СтандартныйПериод" Тогда + ГруппаВывода.Порядок.Вставить(0, ЭлементВывода); + Иначе + ГруппаВывода.Порядок.Добавить(ЭлементВывода); + КонецЕсли; + ГруппаВывода.Размер = ГруппаВывода.Размер + ЭлементВывода.Размер; + КонецЕсли; + + КонецЦикла; + КонецЦикла; + + ВывестиПоПорядку(ГруппыВывода.Быстрые, Элементы.БыстрыеНастройки, 2, Ложь); + ВывестиПоПорядку(ГруппыВывода.Основные, Элементы.СтраницаГлавное, 2, Ложь); + ВывестиПоПорядку(ГруппыВывода.ДополнительныеШапка, Элементы.СтраницаДополнительноШапка, 1); + ВывестиПоПорядку(ГруппыВывода.ДополнительныеПодвал, Элементы.СтраницаДополнительноПодвал, 1); + + НомерДополнительнойГруппы = 0; + Для Каждого ОписаниеЗакладки Из ГруппыВывода.ДополнительныеЗакладки Цикл + НомерДополнительнойГруппы = НомерДополнительнойГруппы + 1; + ГруппаВывода = ОписаниеЗакладки.Значение; + + ГруппаИмя = "ГруппаНастроек_" + Строка(НомерДополнительнойГруппы); + КолонкиИмя = "ГруппаНастроек_Колонки_" + Строка(НомерДополнительнойГруппы); + ОтступИмя = "ГруппаНастроек_Отступ_" + Строка(НомерДополнительнойГруппы); + + ТекущаяГруппа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.СтраницаДополнительноГруппировки); + ТекущаяГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТекущаяГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТекущаяГруппа.Заголовок = ГруппаВывода.Заголовок; + ТекущаяГруппа.Отображение = ОтображениеОбычнойГруппы.Нет; + + Если ГруппаВывода.ИмяФлажка = "" Тогда + ТекущаяГруппа.ОтображатьЗаголовок = Истина; + Иначе + ТекущаяГруппа.ОтображатьЗаголовок = Ложь; + Флажок = Элементы[ГруппаВывода.ИмяФлажка]; + Флажок.Заголовок = ГруппаВывода.Заголовок; + Элементы.Переместить(Флажок, ТекущаяГруппа); + КонецЕсли; + + Если ГруппаВывода.Размер > 0 Тогда + Колонки = Элементы.Добавить(КолонкиИмя, Тип("ГруппаФормы"), ТекущаяГруппа); + Колонки.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Колонки.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Колонки.Отображение = ОтображениеОбычнойГруппы.Нет; + Колонки.ОтображатьЗаголовок = Ложь; + + Отступ = Элементы.Добавить(ОтступИмя, Тип("ДекорацияФормы"), Колонки); + Отступ.Вид = ВидДекорацииФормы.Надпись; + Отступ.Заголовок = " "; + + ВывестиПоПорядку(ГруппаВывода, Колонки, 1); + КонецЕсли; + КонецЦикла; + + // Удаление старых и добавление новых реквизитов. + Для Каждого КлючИЗначение Из ПараметрыЗаполнения.Реквизиты.Существующие Цикл + ПараметрыЗаполнения.Реквизиты.Удаляемые.Добавить(КлючИЗначение.Ключ); + КонецЦикла; + ИзменитьРеквизиты(ПараметрыЗаполнения.Реквизиты.Добавляемые, ПараметрыЗаполнения.Реквизиты.Удаляемые); + + // Поля ввода (установка значений и связей). + Для Каждого КлючИЗначение Из ДобавленныеПоляВвода Цикл + ИмяРеквизита = КлючИЗначение.Ключ; + ЭтотОбъект[ИмяРеквизита] = КлючИЗначение.Значение; + Элементы[ИмяРеквизита].ПутьКДанным = ИмяРеквизита; + КонецЦикла; + + // Стандартные периоды (установка значений и связей). + Для Каждого ОписаниеРеквизита Из ДобавленныеСтандартныеПериоды Цикл + ЭтотОбъект[ОписаниеРеквизита.ПериодЗначениеИмя] = ОписаниеРеквизита.Значение; + ЭтотОбъект[ОписаниеРеквизита.ВидПериодаИмя] = ОписаниеРеквизита.ВидПериода; + ЭтотОбъект[ОписаниеРеквизита.ПериодПредставлениеИмя] = ОписаниеРеквизита.Представление; + Элементы[ОписаниеРеквизита.ВидПериодаИмя].ПутьКДанным = ОписаниеРеквизита.ВидПериодаИмя; + Элементы[ОписаниеРеквизита.ПериодПредставлениеИмя].ПутьКДанным = ОписаниеРеквизита.ПериодПредставлениеИмя; + Элементы[ОписаниеРеквизита.ПериодНачалоИмя].ПутьКДанным = ОписаниеРеквизита.ПериодЗначениеИмя + ".ДатаНачала"; + Элементы[ОписаниеРеквизита.ПериодОкончаниеИмя].ПутьКДанным = ОписаниеРеквизита.ПериодЗначениеИмя + ".ДатаОкончания"; + КонецЦикла; + + // Поля подбора (установка значений и связей). + Для Каждого СвойстваНастройки Из ДобавленныеСпискиЗначений Цикл + ИмяТаблицы = СвойстваНастройки.ИмяТаблицы; + ТаблицаФормы = Элементы[ИмяТаблицы]; + КолонкаИспользование = Элементы[СвойстваНастройки.ИмяКолонкиИспользование]; + КолонкаЗначение = Элементы[СвойстваНастройки.ИмяКолонкиЗначение]; + СписокСФлажками = Новый СписокЗначений; + + ТипНеопределено = Тип("Неопределено"); + ОписаниеТиповНеопределено = Новый ОписаниеТипов("Неопределено"); + Количество = СвойстваНастройки.ОтмеченныеЗначения.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + ЭлементСписка = СвойстваНастройки.ОтмеченныеЗначения[ОбратныйИндекс]; + Значение = ЭлементСписка.Значение; + Если Не ЗначениеЗаполнено(ЭлементСписка.Представление) + И (Значение = Неопределено + Или Значение = ТипНеопределено + Или Значение = ОписаниеТиповНеопределено + Или Не ЗначениеЗаполнено(Значение)) Тогда + СвойстваНастройки.ОтмеченныеЗначения.Удалить(ОбратныйИндекс); + Продолжить; // Запрет пустых значений. + КонецЕсли; + Если ТипЗнч(Значение) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(Значение); + Значение = Новый ОписаниеТипов(МассивТипов); + КонецЕсли; + Если СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями + И СвойстваНастройки.ЗначенияДляВыбора.НайтиПоЗначению(Значение) = Неопределено Тогда + СвойстваНастройки.ОтмеченныеЗначения.Удалить(ОбратныйИндекс); + Продолжить; // Выбранное значение не входит в список доступных для выбора. + КонецЕсли; + ДобавитьУникальноеЗначениеВСписок(СписокСФлажками, Значение, ЭлементСписка.Представление, Истина); + КонецЦикла; + + Для Каждого ЭлементСписка Из СвойстваНастройки.ЗначенияДляВыбора Цикл + ДобавитьУникальноеЗначениеВСписок(СписокСФлажками, ЭлементСписка.Значение, Неопределено, Ложь); + КонецЦикла; + + СписокСФлажками.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + ЭтотОбъект[ИмяТаблицы] = СписокСФлажками; + ЭтотОбъект[ИмяТаблицы].ТипЗначения = СвойстваНастройки.ОписаниеТипов; + ТаблицаФормы.ПутьКДанным = ИмяТаблицы; + КолонкаЗначение.ПутьКДанным = ИмяТаблицы + ".Значение"; + КолонкаИспользование.ПутьКДанным = ИмяТаблицы + ".Пометка"; + + // Некоторые обработчики событий можно подключить только после установки связи элементов с данными. + ТаблицаФормы.УстановитьДействие("ПередНачаломИзменения", "Подключаемый_СписокСПодбором_ПередНачаломИзменения"); + ТаблицаФормы.УстановитьДействие("ПередОкончаниемРедактирования", "Подключаемый_СписокСПодбором_ПередОкончаниемРедактирования"); + ТаблицаФормы.УстановитьДействие("ПриИзменении", "Подключаемый_СписокСПодбором_ПриИзменении"); + Если СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ТаблицаФормы.УстановитьДействие("ПередНачаломДобавления", "Подключаемый_ФиксированныйСписок_ПередНачаломДобавления"); + ТаблицаФормы.УстановитьДействие("ПередУдалением", "Подключаемый_ФиксированныйСписок_ПередУдалением"); + Иначе + ТаблицаФормы.УстановитьДействие("ОбработкаВыбора", "Подключаемый_СписокСПодбором_ОбработкаВыбора"); + КонецЕсли; + КолонкаИспользование.УстановитьДействие("ПриИзменении", "Подключаемый_СписокСПодбором_Использование_ПриИзменении"); + КонецЦикла; + + // Установка значений и связей таблиц порядка с флажками. + Для Каждого СвойстваНастройки Из ДобавленныеТаблицыСФлажками Цикл + ПользовательскаяНастройка = СвойстваНастройки.ПользовательскаяСКД; + Таблица = ЭтотОбъект[СвойстваНастройки.ИмяТаблицы]; + Таблица.Очистить(); + + Если СвойстваНастройки.Тип = "Порядок" Тогда + + Для Каждого ЭлементПорядка Из ПользовательскаяНастройка.Элементы Цикл + Если ТипЗнч(ЭлементПорядка) = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда + ДоступноеПоле = ФункцииОтчетовКлиентСервер.ПолучитьДоступноеПоле(НастройкиКД.ДоступныеПоляПорядка, ЭлементПорядка.Поле); + Если ДоступноеПоле = Неопределено Тогда + Продолжить; + КонецЕсли; + СтрокаПорядка = Таблица.Добавить(); + СтрокаПорядка.Использование = ЭлементПорядка.Использование; + СтрокаПорядка.Идентификатор = ПользовательскаяНастройка.ПолучитьИдентификаторПоОбъекту(ЭлементПорядка); + СтрокаПорядка.Представление = ДоступноеПоле.Заголовок; + СтрокаПорядка.Направление = ЭлементПорядка.ТипУпорядочивания; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + ФункцииОтчетовКлиентСервер.ДобавитьЭлементыНастройки( + ЭтотОбъект, + Таблица, + ПользовательскаяНастройка, + ПользовательскаяНастройка, + Истина); + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + Для Каждого ЭлементСтруктуры Из ПользовательскаяНастройка.Структура Цикл + Представление = ""; + Если ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаКомпоновкиДанных") + ИЛИ ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаТаблицыКомпоновкиДанных") + ИЛИ ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда + Для Каждого ПолеГруппировки Из ЭлементСтруктуры.ПоляГруппировки.Элементы Цикл + Если НЕ ПолеГруппировки.Использование Тогда + Продолжить; + КонецЕсли; + ДоступноеПоле = ФункцииОтчетовКлиентСервер.ПолучитьДоступноеПоле(НастройкиКД.ДоступныеПоляГруппировок, ПолеГруппировки.Поле); + Если ДоступноеПоле = Неопределено Тогда + Представление = Строка(ПолеГруппировки.Поле); + ИначеЕсли ДоступноеПоле.Родитель <> Неопределено Тогда + Представление = Представление + СтрЗаменить(СтрЗаменить(ДоступноеПоле.Заголовок, ДоступноеПоле.Родитель.Заголовок, ""), ".", "")+ ", "; + ИНаче + Представление = Представление + ДоступноеПоле.Заголовок + ", "; + КонецЕсли; + КонецЦикла; + Представление = Лев(Представление, СтрДлина(Представление) - 2); + Иначе + Представление = НСтр("ru = 'Таблица / диаграмма'"); + КонецЕсли; + СтрокиГруппировки = Таблица.Добавить(); + СтрокиГруппировки.Идентификатор = ЭлементСтруктуры.ИдентификаторПользовательскойНастройки; + СтрокиГруппировки.Использование = ЭлементСтруктуры.Использование; + СтрокиГруппировки.Представление = Представление; + КонецЦикла; + КонецЕсли; + + Если Таблица.Количество() = 0 Тогда + Элементы[СвойстваНастройки.ИмяГруппы].Видимость = Ложь; + Иначе + Элементы[СвойстваНастройки.ИмяТаблицы].ПутьКДанным = СвойстваНастройки.ИмяТаблицы; + Элементы[СвойстваНастройки.ИмяКолонкиИспользование].ПутьКДанным = СвойстваНастройки.ИмяТаблицы + ".Использование"; + Элементы[СвойстваНастройки.ИмяКолонкиПредставление].ПутьКДанным = СвойстваНастройки.ИмяТаблицы + ".Представление"; + Если СвойстваНастройки.Тип = "Порядок" Тогда + Элементы[СвойстваНастройки.ИмяКолонкиПорядок].ПутьКДанным = СвойстваНастройки.ИмяТаблицы + ".Направление"; + Элементы[СвойстваНастройки.ИмяТаблицы].УстановитьДействие("Выбор", "Подключаемый_ТаблицаПорядка_Выбор"); + КонецЕсли; + КонецЕсли; + КонецЦикла; + + // Регистрация связи параметров выбора (динамическая связь, отключаемая флажком Использование). + Найденные = Связи.ОбъектовМетаданных.НайтиСтроки(Новый Структура("ЕстьПодчиненные, ЕстьВедущие", Истина, Истина)); + Для Каждого СтрокаТаблицы Из Найденные Цикл + ПодчиненныйИмяТипа = СтрЗаменить(СтрокаТаблицы.ПодчиненныйПолноеИмя, ".", "Ссылка."); + ВедущийИмяТипа = СтрЗаменить(СтрокаТаблицы.ВедущийПолноеИмя, ".", "Ссылка."); + Для Каждого ВедущийИдентификатор Из СтрокаТаблицы.ВедущийМассивИдентификаторов Цикл + // Если ведущий - отбор, который имеет вид сравнения не равно, тогда связь игнорируется. + Если НастройкиСВидомСравненияРавно.Получить(ВедущийИдентификатор) <> Истина Тогда + Продолжить; + КонецЕсли; + + ВсеСвязиВедущего = СоответствиеОтключаемыхСвязей.Получить(ВедущийИдентификатор); + Если ВсеСвязиВедущего = Неопределено Тогда + ВсеСвязиВедущего = Новый Структура; + КонецЕсли; + Если ВсеСвязиВедущего.Свойство("ПараметрыВыбораПодчиненныхПоТипуВедущего") Тогда + ПараметрыВыбораПодчиненныхПоТипуВедущего = ВсеСвязиВедущего.ПараметрыВыбораПодчиненныхПоТипуВедущего; + Иначе + ПараметрыВыбораПодчиненныхПоТипуВедущего = Новый Массив; + КонецЕсли; + + ВедущийИдентификаторКД = СоответствиеПользовательскихНастроек.Получить(ВедущийИдентификатор); + ВедущийПользовательскаяНастройкаКД = ПользовательскиеНастройкиКД.ПолучитьОбъектПоИдентификатору(ВедущийИдентификаторКД); + Для Каждого ПодчиненныйИдентификатор Из СтрокаТаблицы.ПодчиненныйМассивИдентификаторов Цикл + + // Если ведущий может отключаться (используется НЕ всегда), + // то связь регистрируется в таблице связей. + // Связь должна включаться/отключаться из события ПриИзменении флажка Использование + // Если связь типизирована по владельцу + // - владелец имеет несколько типов + // - связь задана для конкретного типа + // тогда связь должна включаться/отключаться также и из обработчика события ПриИзменении. + ОписаниеСвязи = Новый Структура; + ОписаниеСвязи.Вставить("ВедущийТип", СтрокаТаблицы.ВедущийТип); + ОписаниеСвязи.Вставить("ВедущийИмяРеквизита", ИменаОсновныхРеквизитовФормы[ВедущийИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИдентификатор", ПодчиненныйИдентификатор); + ОписаниеСвязи.Вставить("ПодчиненныйИмяРеквизита", ИменаОсновныхРеквизитовФормы[ПодчиненныйИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИмяЭлемента", ИменаЭлементовДляУстановкиСвязей[ПодчиненныйИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИмяПараметраФормы", "Отбор." + СтрокаТаблицы.ПодчиненныйРеквизит); + ОписаниеСвязи.Вставить("Действие", РежимИзмененияСвязанногоЗначения.НеИзменять); + + ПараметрыВыбораПодчиненныхПоТипуВедущего.Добавить(ОписаниеСвязи); + + // Если ведущий используется, тогда связь регистрируется в элементе подчиненного в соответствии с выбранным типом. + Если ВедущийПользовательскаяНастройкаКД.Использование + И ТипЗнч(ЭтотОбъект[ОписаниеСвязи.ВедущийИмяРеквизита]) = ОписаниеСвязи.ВедущийТип Тогда + ПодчиненныйЭлемент = Элементы.Найти(ОписаниеСвязи.ПодчиненныйИмяЭлемента); + Если ПодчиненныйЭлемент <> Неопределено Тогда + УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, ОписаниеСвязи, Истина); + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + ВсеСвязиВедущего.Вставить("ПараметрыВыбораПодчиненныхПоТипуВедущего", ПараметрыВыбораПодчиненныхПоТипуВедущего); + СоответствиеОтключаемыхСвязей.Вставить(ВедущийИдентификатор, ВсеСвязиВедущего); + КонецЦикла; + КонецЦикла; + + ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Неопределено; + + // Связи по типу + Для Каждого СтрокаТаблицы Из Связи.ПоТипу Цикл + + ВедущийИдентификатор = ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Получить(СтрокаТаблицы.ВедущийПолеКД); + ПодчиненныйИдентификатор = СтрокаТаблицы.ПодчиненныйИдентификатор; + ПодчиненныйИмяЭлемента = ИменаЭлементовДляУстановкиСвязей[ПодчиненныйИдентификатор]; + Если Не ЗначениеЗаполнено(ПодчиненныйИмяЭлемента) Тогда + Продолжить; // Подчиненный имеет такой вид сравнения ("Заполнено" или "Не заполнено"), при котором его связи отключаются. + КонецЕсли; + ПодчиненныйЭлемент = Элементы[ПодчиненныйИмяЭлемента]; + + Если ВедущийИдентификатор = Неопределено Тогда // Ведущий не выведен в настройки. + + // Инициализация соответствия для быстрого поиска значений обычных настроек. + Если ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Неопределено Тогда + ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Новый Соответствие; + РекурсивныйАнализНастроекКД(Неопределено, ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных); // Заполнение соответствия. + КонецЕсли; + + // Поиск значения ведущего. + ВедущийЗначение = ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных.Получить(СтрокаТаблицы.ВедущийПолеКД); + Если ВедущийЗначение = Неопределено Тогда + Продолжить; + КонецЕсли; + + // Установка фиксированного ограничения типа. + МассивТипов = Новый Массив; + МассивТипов.Добавить(ТипЗнч(ВедущийЗначение)); + ПодчиненныйЭлемент.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов); + + Иначе // Ведущий выведен в быстрые настройки. + + // Регистрация отключаемой связи ведущего с подчиненным (по типу). + ВсеСвязиВедущего = СоответствиеОтключаемыхСвязей.Получить(ВедущийИдентификатор); + Если ВсеСвязиВедущего = Неопределено Тогда + ВсеСвязиВедущего = Новый Структура; + КонецЕсли; + Если ВсеСвязиВедущего.Свойство("СвязиСПодчиненнымиПоТипу") Тогда + СвязиСПодчиненнымиПоТипу = ВсеСвязиВедущего.СвязиСПодчиненнымиПоТипу; + Иначе + СвязиСПодчиненнымиПоТипу = Новый Массив; + КонецЕсли; + + ВедущийИдентификаторКД = СоответствиеПользовательскихНастроек.Получить(ВедущийИдентификатор); + ВедущийПользовательскаяНастройкаКД = ПользовательскиеНастройкиКД.ПолучитьОбъектПоИдентификатору(ВедущийИдентификаторКД); + Если ТипЗнч(ВедущийПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") + И ВедущийПользовательскаяНастройкаКД.ВидСравнения <> ВидСравненияКомпоновкиДанных.ВСписке + И ВедущийПользовательскаяНастройкаКД.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно Тогда + Продолжить; // Ведущий имеет такой вид сравнения ("Заполнено" или "Не заполнено"), при котором его связи отключаются. + КонецЕсли; + + ОписаниеСвязи = Новый Структура; + ОписаниеСвязи.Вставить("ВедущийИмяРеквизита", ИменаОсновныхРеквизитовФормы[ВедущийИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИдентификатор", ПодчиненныйИдентификатор); + ОписаниеСвязи.Вставить("ПодчиненныйИмяРеквизита", ИменаОсновныхРеквизитовФормы[ПодчиненныйИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИмяЭлемента", ПодчиненныйИмяЭлемента); + ОписаниеСвязи.Вставить("НомерСубконто", СтрокаТаблицы.НомерСубконто); + + СвязиСПодчиненнымиПоТипу.Добавить(ОписаниеСвязи); + + ВсеСвязиВедущего.Вставить("СвязиСПодчиненнымиПоТипу", СвязиСПодчиненнымиПоТипу); + СоответствиеОтключаемыхСвязей.Вставить(ВедущийИдентификатор, ВсеСвязиВедущего); + + // Если ведущий используется, тогда связь регистрируется в элементе подчиненного в соответствии с выбранным типом. + Если ВедущийПользовательскаяНастройкаКД.Использование + И Элементы.Найти(ОписаниеСвязи.ВедущийИмяРеквизита) <> Неопределено Тогда + ПодчиненныйЭлемент.СвязьПоТипу = Новый СвязьПоТипу(ОписаниеСвязи.ВедущийИмяРеквизита, ОписаниеСвязи.НомерСубконто); + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + // Связи параметров выбора + Для Каждого СтрокаТаблицы Из Связи.ПараметровВыбора Цикл + + ВедущийИдентификатор = ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Получить(СтрокаТаблицы.ВедущийПолеКД); + ПодчиненныйИдентификатор = СтрокаТаблицы.ПодчиненныйИдентификатор; + ПодчиненныйИмяЭлемента = ИменаЭлементовДляУстановкиСвязей[ПодчиненныйИдентификатор]; + Если Не ЗначениеЗаполнено(ПодчиненныйИмяЭлемента) Тогда + Продолжить; // Подчиненный имеет такой вид сравнения ("Заполнено" или "Не заполнено"), при котором его связи отключаются. + КонецЕсли; + ПодчиненныйЭлемент = Элементы[ПодчиненныйИмяЭлемента]; + + Если ВедущийИдентификатор = Неопределено Тогда // Ведущий не выведен в быстрые настройки. + + // Инициализация соответствия для быстрого поиска значений обычных настроек. + Если ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Неопределено Тогда + ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Новый Соответствие; + РекурсивныйАнализНастроекКД(Неопределено, ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных); + КонецЕсли; + + // Поиск значения ведущего. + ВедущийЗначение = ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных.Получить(СтрокаТаблицы.ВедущийПолеКД); + Если ВедущийЗначение = Неопределено Тогда + Продолжить; + КонецЕсли; + + // Установка фиксированного значения параметра подчиненного. + МассивТипов = Новый Массив; + МассивТипов.Добавить(ТипЗнч(ВедущийЗначение)); + ПодчиненныйЭлемент.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов); + + Иначе // Ведущий выведен в быстрые настройки. + + // Регистрация отключаемой связи ведущего с подчиненными (параметров выбора). + ВсеСвязиВедущего = СоответствиеОтключаемыхСвязей.Получить(ВедущийИдентификатор); + Если ВсеСвязиВедущего = Неопределено Тогда + ВсеСвязиВедущего = Новый Структура; + КонецЕсли; + Если ВсеСвязиВедущего.Свойство("ПараметрыВыбораПодчиненных") Тогда + ПараметрыВыбораПодчиненных = ВсеСвязиВедущего.ПараметрыВыбораПодчиненных; + Иначе + ПараметрыВыбораПодчиненных = Новый Массив; + КонецЕсли; + + ВедущийИдентификаторКД = СоответствиеПользовательскихНастроек.Получить(ВедущийИдентификатор); + ВедущийПользовательскаяНастройкаКД = ПользовательскиеНастройкиКД.ПолучитьОбъектПоИдентификатору(ВедущийИдентификаторКД); + Если ТипЗнч(ВедущийПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") + И ВедущийПользовательскаяНастройкаКД.ВидСравнения <> ВидСравненияКомпоновкиДанных.ВСписке + И ВедущийПользовательскаяНастройкаКД.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно Тогда + Продолжить; // Ведущий имеет такой вид сравнения ("Заполнено" или "Не заполнено"), при котором его связи отключаются. + КонецЕсли; + + ОписаниеСвязи = Новый Структура; + ОписаниеСвязи.Вставить("ВедущийИмяРеквизита", ИменаОсновныхРеквизитовФормы[ВедущийИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИдентификатор", ПодчиненныйИдентификатор); + ОписаниеСвязи.Вставить("ПодчиненныйИмяРеквизита", ИменаОсновныхРеквизитовФормы[ПодчиненныйИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИмяФлажка", ИменаФлажковИспользование[ПодчиненныйИдентификатор]); + ОписаниеСвязи.Вставить("ПодчиненныйИмяЭлемента", ПодчиненныйИмяЭлемента); + ОписаниеСвязи.Вставить("ПодчиненныйИмяПараметраФормы", СтрокаТаблицы.ПодчиненныйИмяПараметра); + ОписаниеСвязи.Вставить("Действие", СтрокаТаблицы.Действие); + + ПараметрыВыбораПодчиненных.Добавить(ОписаниеСвязи); + + ВсеСвязиВедущего.Вставить("ПараметрыВыбораПодчиненных", ПараметрыВыбораПодчиненных); + СоответствиеОтключаемыхСвязей.Вставить(ВедущийИдентификатор, ВсеСвязиВедущего); + + // Если ведущий используется, тогда связь регистрируется в элементе подчиненного в соответствии с выбранным типом. + Если ВедущийПользовательскаяНастройкаКД.Использование Тогда + УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, ОписаниеСвязи, Истина); + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + // Сохранение соответствий для быстрого поиска в данные формы. + БыстрыйПоискПользовательскихНастроек = Новый ФиксированноеСоответствие(СоответствиеПользовательскихНастроек); + БыстрыйПоискИменОбъектовМетаданных = Новый ФиксированноеСоответствие(СоответствиеИменОбъектовМетаданных); + БыстрыйПоискОтключаемыхСвязей = Новый ФиксированноеСоответствие(СоответствиеОтключаемыхСвязей); + + ХранимыеСпискиВыбора = Новый ФиксированноеСоответствие(СоответствиеХранимыхСписковВыбора); + + ПользовательскиеНастройкиКД.ДополнительныеСвойства.Вставить("ЭлементыФормы", ДополнительныеНастройкиЭлементов); +КонецПроцедуры + +&НаСервере +Процедура ВывестиПоПорядку(ГруппаВывода, Родитель, КоличествоКолонок, ГибкаяБалансировка = Истина) + Если ГибкаяБалансировка Тогда + Если ГруппаВывода.Размер <= 7 Тогда + КоличествоКолонок = 1; + КонецЕсли; + КонецЕсли; + + РодительИмя = Родитель.Имя; + + НомерКолонки = 0; + ОсталосьКолонок = КоличествоКолонок + 1; + ОсталосьМестаВсего = ГруппаВывода.Размер; + ОсталосьМестаВКолонке = 0; + + Для Каждого ЭлементВывода Из ГруппаВывода.Порядок Цикл + Если ОсталосьКолонок > 0 + И ЭлементВывода.Размер > ОсталосьМестаВКолонке*4 Тогда // Текущий шаг больше оставшегося места. + НомерКолонки = НомерКолонки + 1; + ОсталосьКолонок = ОсталосьКолонок - 1; + ОсталосьМестаВКолонке = ОсталосьМестаВсего/ОсталосьКолонок; + + КолонкаВерхнегоУровня = Элементы.Добавить(РодительИмя + НомерКолонки, Тип("ГруппаФормы"), Элементы[РодительИмя]); + КолонкаВерхнегоУровня.Вид = ВидГруппыФормы.ОбычнаяГруппа; + КолонкаВерхнегоУровня.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + КолонкаВерхнегоУровня.Отображение = ОтображениеОбычнойГруппы.Нет; + КолонкаВерхнегоУровня.ОтображатьЗаголовок = Ложь; + + НомерПодгруппы = 0; + ТекущаяГруппа1 = Неопределено; + ТекущаяГруппа2 = Неопределено; + КонецЕсли; + + Если ЭлементВывода.ИмяЭлемента2 = Неопределено Тогда // Вывод в одну колонку. + Если ТекущаяГруппа2 <> Неопределено Тогда + ТекущаяГруппа2 = Неопределено; + КонецЕсли; + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента1], КолонкаВерхнегоУровня); + Иначе + Если ТекущаяГруппа2 = Неопределено Тогда + НомерПодгруппы = НомерПодгруппы + 1; + + Колонки = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы, Тип("ГруппаФормы"), КолонкаВерхнегоУровня); + Колонки.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Колонки.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Колонки.Отображение = ОтображениеОбычнойГруппы.Нет; + Колонки.ОтображатьЗаголовок = Ложь; + + ТекущаяГруппа1 = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы + "_1", Тип("ГруппаФормы"), Колонки); + ТекущаяГруппа1.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТекущаяГруппа1.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТекущаяГруппа1.Отображение = ОтображениеОбычнойГруппы.Нет; + ТекущаяГруппа1.ОтображатьЗаголовок = Ложь; + + ТекущаяГруппа2 = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы + "_2", Тип("ГруппаФормы"), Колонки); + ТекущаяГруппа2.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТекущаяГруппа2.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТекущаяГруппа2.Отображение = ОтображениеОбычнойГруппы.Нет; + ТекущаяГруппа2.ОтображатьЗаголовок = Ложь; + КонецЕсли; + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента1], ТекущаяГруппа1); + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента2], ТекущаяГруппа2); + КонецЕсли; + + ОсталосьМестаВсего = ОсталосьМестаВсего - ЭлементВывода.Размер; + ОсталосьМестаВКолонке = ОсталосьМестаВКолонке - ЭлементВывода.Размер; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, РеквизитПолноеИмя, ТипРеквизита) + Если ТипЗнч(ТипРеквизита) = Тип("ОписаниеТипов") Тогда + ТипыДобавляемого = ТипРеквизита; + ИначеЕсли ТипЗнч(ТипРеквизита) = Тип("Строка") Тогда + ТипыДобавляемого = Новый ОписаниеТипов(ТипРеквизита); + ИначеЕсли ТипЗнч(ТипРеквизита) = Тип("Массив") Тогда + ТипыДобавляемого = Новый ОписаниеТипов(ТипРеквизита); + ИначеЕсли ТипЗнч(ТипРеквизита) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(ТипРеквизита); + ТипыДобавляемого = Новый ОписаниеТипов(МассивТипов); + Иначе + Возврат; + КонецЕсли; + + ТипыСуществующего = ПараметрыЗаполнения.Реквизиты.Существующие.Получить(РеквизитПолноеИмя); + Если ОписанияТиповСовпадают(ТипыСуществующего, ТипыДобавляемого) Тогда + ПараметрыЗаполнения.Реквизиты.Существующие.Удалить(РеквизитПолноеИмя); + Иначе + ПозицияТочки = Найти(РеквизитПолноеИмя, "."); + Если ПозицияТочки = 0 Тогда + ПутьКРеквизиту = ""; + КраткоеИмяРеквизита = РеквизитПолноеИмя; + Иначе + ПутьКРеквизиту = Лев(РеквизитПолноеИмя, ПозицияТочки - 1); + КраткоеИмяРеквизита = Сред(РеквизитПолноеИмя, ПозицияТочки + 1); + КонецЕсли; + + ПараметрыЗаполнения.Реквизиты.Добавляемые.Добавить(Новый РеквизитФормы(КраткоеИмяРеквизита, ТипыДобавляемого, ПутьКРеквизиту)); + Если ТипыСуществующего <> Неопределено Тогда + ПараметрыЗаполнения.Реквизиты.Удаляемые.Добавить(РеквизитПолноеИмя); + ПараметрыЗаполнения.Реквизиты.Существующие.Удалить(РеквизитПолноеИмя); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ОписанияТиповСовпадают(ОписаниеТипов1, ОписаниеТипов2) + Если ОписаниеТипов1 = Неопределено Или ОписаниеТипов2 = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + Возврат ОписаниеТипов1 = ОписаниеТипов2 + Или ОбщегоНазначения.ЗначениеВСтрокуXML(ОписаниеТипов1) = ОбщегоНазначения.ЗначениеВСтрокуXML(ОписаниеТипов2); +КонецФункции + +&НаСервереБезКонтекста +Процедура АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, ИменаОбъектовМетаданных, Связи) + + КоличествоИзвестныхТипов = 0; + + ИсходноеОписаниеТипов = СвойстваНастройки.ДоступнаяСКД.ТипЗначения; + ДобавляемыеТипы = Новый Массив; + ВычитаемыеТипы = Новый Массив; + + СвойстваНастройки.Вставить("СодержитТипТип", Ложь); + СвойстваНастройки.Вставить("СодержитТипДата", Ложь); + СвойстваНастройки.Вставить("СодержитТипБулево", Ложь); + СвойстваНастройки.Вставить("СодержитТипЧисло", Ложь); + СвойстваНастройки.Вставить("СодержитТипПериод", Ложь); + СвойстваНастройки.Вставить("СодержитДругиеТипы", Ложь); + СвойстваНастройки.Вставить("СодержитСсылочныеТипы", Ложь); + + СвойстваНастройки.Вставить("КоличествоТипов", 0); + СвойстваНастройки.Вставить("КоличествоПримитивныхТипов", 0); + СвойстваНастройки.Вставить("КоличествоПеречислений", 0); + СвойстваНастройки.Вставить("КоличествоПрочихСсылочныхТипов", 0); + + СвойстваНастройки.Вставить("Перечисления", Новый Массив); + + ДоступнаяНастройкаТипы = ИсходноеОписаниеТипов.Типы(); + Для Каждого Тип Из ДоступнаяНастройкаТипы Цикл + Если Тип = Тип("ПолеКомпоновкиДанных") Тогда + ВычитаемыеТипы.Добавить(Тип); + Продолжить; + КонецЕсли; + СвойстваНастройки.КоличествоТипов = СвойстваНастройки.КоличествоТипов + 1; + + Если Тип = Тип("Тип") Тогда + СвойстваНастройки.СодержитТипТип = Истина; + ДобавляемыеТипы.Добавить(Тип("ОписаниеТипов")); + ВычитаемыеТипы.Добавить(Тип("Тип")); + ИначеЕсли Тип = Тип("Дата") Тогда + СвойстваНастройки.СодержитТипДата = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("Булево") Тогда + СвойстваНастройки.СодержитТипБулево = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("Число") Тогда + СвойстваНастройки.СодержитТипЧисло = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("СтандартныйПериод") Тогда + СвойстваНастройки.СодержитТипПериод = Истина; + Иначе + СвойстваНастройки.СодержитДругиеТипы = Истина; + + ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); + Если ОбъектМетаданных <> Неопределено Тогда + СвойстваНастройки.СодержитСсылочныеТипы = Истина; + + ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); + + Если ВРег(Лев(ПолноеИмя, 13)) = "ПЕРЕЧИСЛЕНИЕ." Тогда + СвойстваНастройки.Перечисления.Добавить(ПолноеИмя); + СвойстваНастройки.КоличествоПеречислений = СвойстваНастройки.КоличествоПеречислений + 1; + Иначе + СвойстваНастройки.КоличествоПрочихСсылочныхТипов = СвойстваНастройки.КоличествоПрочихСсылочныхТипов + 1; + КонецЕсли; + + // Регистрация имени объекта метаданных. + ИменаОбъектовМетаданных.Вставить(Тип, ПолноеИмя); + + // Поиск типа в глобальных связях среди подчиненных. + Найденные = Связи.ОбъектовМетаданных.НайтиСтроки(Новый Структура("ПодчиненныйТип", Тип)); + Для Каждого СтрокаТаблицы Из Найденные Цикл // Регистрация настройки как подчиненной. + СтрокаТаблицы.ЕстьПодчиненные = Истина; + СтрокаТаблицы.ПодчиненныйПолноеИмя = ПолноеИмя; + СтрокаТаблицы.ПодчиненныйМассивИдентификаторов.Добавить(ИдентификаторЭлемента); + КонецЦикла; + + // Поиск типа в глобальных связях среди ведущих. + Найденные = Связи.ОбъектовМетаданных.НайтиСтроки(Новый Структура("ВедущийТип", Тип)); + Для Каждого СтрокаТаблицы Из Найденные Цикл // Регистрация настройки как ведущей. + СтрокаТаблицы.ЕстьВедущие = Истина; + СтрокаТаблицы.ВедущийПолноеИмя = ПолноеИмя; + СтрокаТаблицы.ВедущийМассивИдентификаторов.Добавить(ИдентификаторЭлемента); + КонецЦикла; + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + ОписаниеТипов = Новый ОписаниеТипов(ИсходноеОписаниеТипов, ДобавляемыеТипы, ВычитаемыеТипы); + СвойстваНастройки.Вставить("ОписаниеТипов", ОписаниеТипов); + + ПараметрыВыбора = Новый Массив; + + Если ЗначениеЗаполнено(СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу) Тогда + + СтрокаСвязи = Связи.ПоТипу.Добавить(); + СтрокаСвязи.ПодчиненныйИдентификатор = ИдентификаторЭлемента; + СтрокаСвязи.ВедущийПолеКД = СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу.Поле; + СтрокаСвязи.НомерСубконто = СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу.ЭлементСвязи; + + КонецЕсли; + + Для Каждого СтрокаСвязи Из СвойстваНастройки.ДоступнаяСКД.ПолучитьСвязиПараметровВыбора() Цикл + + Если Не ПустаяСтрока(Строка(СтрокаСвязи.Поле)) Тогда + СтрокаСвязиПараметров = Связи.ПараметровВыбора.Добавить(); + СтрокаСвязиПараметров.ПодчиненныйИдентификатор = ИдентификаторЭлемента; + СтрокаСвязиПараметров.ПодчиненныйИмяПараметра = СтрокаСвязи.Имя; + СтрокаСвязиПараметров.ВедущийПолеКД = СтрокаСвязи.Поле; + СтрокаСвязиПараметров.Действие = СтрокаСвязи.ИзменениеЗначения; + КонецЕсли; + + КонецЦикла; + + Для Каждого ПараметрВыбораКД Из СвойстваНастройки.ДоступнаяСКД.ПолучитьПараметрыВыбора() Цикл + ПараметрыВыбора.Добавить(Новый ПараметрВыбора(ПараметрВыбораКД.Имя, ПараметрВыбораКД.Значение)); + КонецЦикла; + + Если ПараметрыВыбора.Количество() > 0 Тогда + СвойстваНастройки.Вставить("ПараметрыВыбора", ПараметрыВыбора); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, СтруктураСвязи, ВключитьСвязь) + Если ПустаяСтрока(СтруктураСвязи.ПодчиненныйИмяПараметраФормы) Тогда + Возврат; + КонецЕсли; + Если СтрЧислоВхождений(СтруктураСвязи.ПодчиненныйИмяПараметраФормы, ".") > 1 Тогда + Возврат; // Механика связей предъявляет особые требования: путь к данным может держать не более одной точки. + КонецЕсли; + Если СтрЧислоВхождений(СтруктураСвязи.ВедущийИмяРеквизита, ".") > 2 Тогда + Возврат; // Связи с СКД не поддерживаются. + КонецЕсли; + + СвязьНайдена = Ложь; + + МассивЭлементов = Новый Массив; + Для Каждого СвязьПараметра Из ПодчиненныйЭлемент.СвязиПараметровВыбора Цикл + Если СвязьПараметра.ПутьКДанным = СтруктураСвязи.ВедущийИмяРеквизита + И СвязьПараметра.Имя = СтруктураСвязи.ПодчиненныйИмяПараметраФормы + И СвязьПараметра.ИзменениеЗначения = СтруктураСвязи.Действие Тогда + Если ВключитьСвязь Тогда + Возврат; // Включать не требуется - связь найдена. + Иначе + СвязьНайдена = Истина; + КонецЕсли; + Иначе + МассивЭлементов.Добавить(СвязьПараметра); + КонецЕсли; + КонецЦикла; + + Если Не ВключитьСвязь И Не СвязьНайдена Тогда + Возврат; // Отключать не требуется - связь не найдена. + КонецЕсли; + + Если ВключитьСвязь Тогда + МассивЭлементов.Добавить(Новый СвязьПараметраВыбора(СтруктураСвязи.ПодчиненныйИмяПараметраФормы, СтруктураСвязи.ВедущийИмяРеквизита, СтруктураСвязи.Действие)); + КонецЕсли; + + ПодчиненныйЭлемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивЭлементов); +КонецПроцедуры + +&НаСервере +Функция СоздатьСтруктуруТаблицСвязей() + // Связи из СКД. + ТаблицаСвязейПоТипу = Новый ТаблицаЗначений; + ТаблицаСвязейПоТипу.Колонки.Добавить("ПодчиненныйИдентификатор"); + ТаблицаСвязейПоТипу.Колонки.Добавить("ВедущийПолеКД"); + ТаблицаСвязейПоТипу.Колонки.Добавить("НомерСубконто"); + + ТаблицаСвязейПараметровВыбора = Новый ТаблицаЗначений; + ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ПодчиненныйИдентификатор"); + ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ВедущийПолеКД"); + ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ПодчиненныйИмяПараметра"); + ТаблицаСвязейПараметровВыбора.Колонки.Добавить("Действие"); + + // Связи из метаданных. + ТаблицаСвязейОбъектовМетаданных = Новый ТаблицаЗначений; + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйРеквизит", Новый ОписаниеТипов("Строка")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйТип", Новый ОписаниеТипов("Тип")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийТип", Новый ОписаниеТипов("Тип")); + + // Механизмы расширения. + ФормаОтчетаПереопределяемый.ДополнитьСвязиОбъектовМетаданных(ТаблицаСвязейОбъектовМетаданных); // Глобальные связи... + Если НастройкиОтчета.События.ДополнитьСвязиОбъектовМетаданных Тогда // ... можно переопределить локально для отчета. + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + ОтчетОбъект.ДополнитьСвязиОбъектовМетаданных(ТаблицаСвязейОбъектовМетаданных); + КонецЕсли; + + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ЕстьПодчиненные", Новый ОписаниеТипов("Булево")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйПолноеИмя", Новый ОписаниеТипов("Строка")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйМассивИдентификаторов", Новый ОписаниеТипов("Массив")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ЕстьВедущие", Новый ОписаниеТипов("Булево")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийПолноеИмя", Новый ОписаниеТипов("Строка")); + ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийМассивИдентификаторов", Новый ОписаниеТипов("Массив")); + + Связи = Новый Структура; + Связи.Вставить("ПоТипу", ТаблицаСвязейПоТипу); + Связи.Вставить("ПараметровВыбора", ТаблицаСвязейПараметровВыбора); + Связи.Вставить("ОбъектовМетаданных", ТаблицаСвязейОбъектовМетаданных); + + Возврат Связи; +КонецФункции + +&НаСервере +Процедура РекурсивныйАнализНастроекКД(Коллекция, Соответствие) + Если Коллекция = Неопределено Тогда + РекурсивныйАнализНастроекКД(Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы, Соответствие); + РекурсивныйАнализНастроекКД(Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы, Соответствие); + РекурсивныйАнализНастроекКД(Отчет.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы, Соответствие); + РекурсивныйАнализНастроекКД(Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.Элементы, Соответствие); + Иначе + // Регистрация значений включенных отборов и параметров КД, не выведенных в быстрый доступ. + Для Каждого НастройкаВарианта Из Коллекция Цикл + // ЭлементОтбораКомпоновкиДанных, ГруппаЭлементовОтбораКомпоновкиДанных, + // ЗначениеПараметраКомпоновкиДанных, ЗначениеПараметраНастроекКомпоновкиДанных. + Если ТипЗнч(НастройкаВарианта) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.Значение; + Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(НастройкаВарианта.Параметр)); + Соответствие.Вставить(ПолеКД, Значение); + КонецЕсли; + РекурсивныйАнализНастроекКД(НастройкаВарианта.ЗначенияВложенныхПараметров, Соответствие); + Продолжить; + КонецЕсли; + + Если НастройкаВарианта.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ + И ЗначениеЗаполнено(НастройкаВарианта.ИдентификаторПользовательскойНастройки) Тогда + Продолжить; + КонецЕсли; + Если НастройкаВарианта.Использование <> Истина Тогда + Продолжить; + КонецЕсли; + + Если ТипЗнч(НастройкаВарианта) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + РекурсивныйАнализНастроекКД(НастройкаВарианта.Элементы, Соответствие); + Продолжить; + КонецЕсли; + + Если ТипЗнч(НастройкаВарианта) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.ПравоеЗначение; + Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда + ПолеКД = НастройкаВарианта.ЛевоеЗначение; + Соответствие.Вставить(ПолеКД, Значение); + КонецЕсли; + ИначеЕсли ТипЗнч(НастройкаВарианта) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.ПравоеЗначение; + Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(НастройкаВарианта.Параметр)); + Соответствие.Вставить(ПолеКД, Значение); + КонецЕсли; + РекурсивныйАнализНастроекКД(НастройкаВарианта.ЗначенияВложенныхПараметров, Соответствие); + КонецЕсли; + + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) + Если ТипЗнч(Значение) = Тип("ПолеКомпоновкиДанных") Тогда + Возврат ЗначениеЗаполнено(Строка(Значение)); + Иначе + Возврат ЗначениеЗаполнено(Значение); + КонецЕсли; +КонецФункции + +&НаСервере +Процедура ЗаполнитьКомандыВыбораПользовательскихНастроек() + Если ЗначениеЗаполнено(НастройкиОтчета.ХранилищеПользовательскихНастроек) Тогда + МенеджерХранилища = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(НастройкиОтчета.ХранилищеПользовательскихНастроек); + Иначе + МенеджерХранилища = ХранилищеПользовательскихНастроекОтчетов; + КонецЕсли; + КлючНастроек = НастройкиОтчета.КлючОбъекта + "/" + КлючТекущегоВарианта; + СписокНастроек = МенеджерХранилища.ПолучитьСписок(КлючНастроек); + СписокНастроек.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Группа = Элементы.ВариантыПользовательскихНастроек_Левая; + КнопкиГруппы = Группа.ПодчиненныеЭлементы; + + Количество = КнопкиГруппы.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + + Кнопка = КнопкиГруппы[ОбратныйИндекс]; + Команда = Команды[Кнопка.Имя]; + + КнопкаИдентификатор = Прав(Кнопка.Имя, 32); + КнопкаУникальныйИдентификатор = ПривестиИмяКИдентификатору(КнопкаИдентификатор); + + ОписаниеНастройки = СписокНастроек.НайтиПоЗначению(КнопкаУникальныйИдентификатор); + Если ОписаниеНастройки = Неопределено Тогда + Элементы.Удалить(Кнопка); + Команды.Удалить(Команда); + Иначе + ОписаниеНастройки.Значение = Кнопка; + Команда.Заголовок = ОписаниеНастройки.Представление; + КонецЕсли; + КонецЦикла; + + Для Каждого ОписаниеНастройки Из СписокНастроек Цикл + Если ТипЗнч(ОписаниеНастройки.Значение) = Тип("КнопкаФормы") Тогда + Элементы.Переместить(ОписаниеНастройки.Значение, Группа); // Сортировка. + Продолжить; + КонецЕсли; + + КомандаИмя = "ЗагрузитьПользовательскуюНастройку_" + ПривестиИдентификаторКИмени(ОписаниеНастройки.Значение); + + Команда = Команды.Добавить(КомандаИмя); + Команда.Действие = "Подключаемый_ЗагрузитьПользовательскуюНастройку"; + Команда.Заголовок = ОписаниеНастройки.Представление; + + Кнопка = Элементы.Добавить(КомандаИмя, Тип("КнопкаФормы"), Группа); + Кнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; + Кнопка.ИмяКоманды = КомандаИмя; + + ПостоянныеКоманды.Добавить(КомандаИмя); + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьПанельОтчетов() + ЕстьДругиеОтчеты = Ложь; + + ТаблицаВывода = РеквизитФормыВЗначение("ВариантыПанели"); + ТаблицаВывода.Колонки.Добавить("ЭлементНадоДобавить", Новый ОписаниеТипов("Булево")); + ТаблицаВывода.Колонки.Добавить("ЭлементНадоОставить", Новый ОписаниеТипов("Булево")); + ТаблицаВывода.Колонки.Добавить("Группа"); + + ТекстЗапроса = + "ВЫБРАТЬ РАЗРЕШЕННЫЕ + | ВариантыОтчетов.Ссылка, + | ВариантыОтчетов.Отчет, + | ВариантыОтчетов.КлючВарианта, + | ВариантыОтчетов.Наименование КАК Наименование, + | ВЫБОР + | КОГДА ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" + | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Описание КАК СТРОКА(1000)) + | ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) + | КОНЕЦ КАК Описание, + | ВариантыОтчетов.Автор, + | ВариантыОтчетов.ТипОтчета, + | ВариантыОтчетов.Отчет.Имя КАК ИмяОтчета + |ИЗ + | Справочник.ВариантыОтчетов КАК ВариантыОтчетов + |ГДЕ + | ВариантыОтчетов.Отчет = &Отчет + | И ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ + | И (ВариантыОтчетов.ТолькоДляАвтора = ЛОЖЬ + | ИЛИ ВариантыОтчетов.Автор = &ТекущийПользователь) + | И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы) + | И ВариантыОтчетов.КлючВарианта <> """" + | + |УПОРЯДОЧИТЬ ПО + | Наименование"; + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("Отчет", НастройкиОтчета.Ссылка); + Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.ТекущийПользователь()); + Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()); + Запрос.Текст = ТекстЗапроса; + + ОбщиеНастройки = ВариантыОтчетов.ОбщиеНастройкиПанели(); + ПоказыватьПодсказки = ОбщиеНастройки.ПоказыватьПодсказки = 1; + + ТаблицаВариантов = Запрос.Выполнить().Выгрузить(); + Для Каждого СтрокаТаблицы Из ТаблицаВариантов Цикл + // Только другие варианты. + Если СтрокаТаблицы.Ссылка = ВариантСсылка Тогда + Продолжить; + КонецЕсли; + ЕстьДругиеОтчеты = Истина; + ВывестиГиперссылкуВПанель(ТаблицаВывода, СтрокаТаблицы, Элементы.ГруппаДругиеВариантыОтчета, ПоказыватьПодсказки); + КонецЦикла; + Элементы.ГруппаДругиеВариантыОтчета.Видимость = (ТаблицаВариантов.Количество() > 0); + + ВидимостьГруппыПохожиеОтчеты = Ложь; + Если ЗначениеЗаполнено(НастройкиОтчета.Подсистема) Тогда + Подсистемы = Подсистемы(); + + ПараметрыПоиска = Новый Структура; + ПараметрыПоиска.Вставить("Подсистемы", Подсистемы); + ПараметрыПоиска.Вставить("ТолькоВидимыеВПанелиОтчетов", Истина); + ПараметрыПоиска.Вставить("ПолучатьИтоговуюТаблицу", Истина); + ПараметрыПоиска.Вставить("ПометкаУдаления", Ложь); + + РезультатПоиска = ВариантыОтчетов.НайтиСсылки(ПараметрыПоиска); + + ТаблицаВариантов = РезультатПоиска.ТаблицаЗначений; + ТаблицаВариантов.Колонки.НаименованиеВарианта.Имя = "Наименование"; + ТаблицаВариантов.Сортировать("Наименование"); + + // Удаление строк, соответствующих текущему (открытому сейчас) варианту. + Найденные = ТаблицаВариантов.НайтиСтроки(Новый Структура("Ссылка", ВариантСсылка)); + Для Каждого СтрокаТаблицы Из Найденные Цикл + ТаблицаВариантов.Удалить(СтрокаТаблицы); + КонецЦикла; + + // Обход подсистем и вывод найденных вариантов. + Для Каждого ПодсистемаСсылка Из Подсистемы Цикл + Найденные = ТаблицаВариантов.НайтиСтроки(Новый Структура("Подсистема", ПодсистемаСсылка)); + Если Найденные.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Группа = ОпределитьГруппуВывода(Найденные[0].НаименованиеПодсистемы); + Для Каждого СтрокаТаблицы Из Найденные Цикл + ЕстьДругиеОтчеты = Истина; + ВывестиГиперссылкуВПанель(ТаблицаВывода, СтрокаТаблицы, Группа, ПоказыватьПодсказки); + КонецЦикла; + КонецЦикла; + КонецЕсли; + + НайденныеДляУдаления = ТаблицаВывода.НайтиСтроки(Новый Структура("ЭлементНадоОставить", Ложь)); //ВариантыПанелиНомерЭлемента + Для Каждого СтрокаТаблицы Из НайденныеДляУдаления Цикл + ЭлементВарианта = Элементы.Найти(СтрокаТаблицы.НадписьИмя); + Если ЭлементВарианта <> Неопределено Тогда + Элементы.Удалить(ЭлементВарианта); + КонецЕсли; + ТаблицаВывода.Удалить(СтрокаТаблицы); + КонецЦикла; + + ТаблицаВывода.Колонки.Удалить("ЭлементНадоОставить"); + ТаблицаВывода.Колонки.Удалить("Группа"); + ЗначениеВРеквизитФормы(ТаблицаВывода, "ВариантыПанели"); +КонецПроцедуры + +&НаСервере +Процедура ВывестиГиперссылкуВПанель(ТаблицаВывода, Вариант, Группа, ПоказыватьПодсказки) + + Найденные = ТаблицаВывода.НайтиСтроки(Новый Структура("Ссылка, Группа", Вариант.Ссылка, Группа.Имя)); + Если Найденные.Количество() > 0 Тогда + СтрокаВывода = Найденные[0]; + СтрокаВывода.ЭлементНадоОставить = Истина; + Возврат; + КонецЕсли; + + СтрокаВывода = ТаблицаВывода.Добавить(); + ЗаполнитьЗначенияСвойств(СтрокаВывода, Вариант); + ВариантыПанелиНомерЭлемента = ВариантыПанелиНомерЭлемента + 1; + СтрокаВывода.НадписьИмя = "Вариант" + Формат(ВариантыПанелиНомерЭлемента, "ЧГ="); + СтрокаВывода.Дополнительный = (Вариант.ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный); + СтрокаВывода.ИмяГруппы = Группа.Имя; + СтрокаВывода.ЭлементНадоОставить = Истина; + СтрокаВывода.Группа = Группа; + + // Добавление надписи-гиперссылки варианта отчета + Надпись = Элементы.Вставить(СтрокаВывода.НадписьИмя, Тип("ДекорацияФормы"), СтрокаВывода.Группа); + Надпись.Вид = ВидДекорацииФормы.Надпись; + Надпись.Гиперссылка = Истина; + Надпись.РастягиватьПоГоризонтали = Истина; + Надпись.РастягиватьПоВертикали = Ложь; + Надпись.Высота = 1; + Надпись.ЦветТекста = ЦветаСтиля.ВидимыйВариантОтчетаЦвет; + Надпись.Заголовок = СокрЛП(Строка(Вариант.Ссылка)); + Если ЗначениеЗаполнено(Вариант.Описание) Тогда + Надпись.Подсказка = СокрЛП(Вариант.Описание); + КонецЕсли; + Если ЗначениеЗаполнено(Вариант.Автор) Тогда + Надпись.Подсказка = СокрЛ(Надпись.Подсказка + Символы.ПС) + НСтр("ru = 'Автор:'") + " " + СокрЛП(Строка(Вариант.Автор)); + КонецЕсли; + Если ПоказыватьПодсказки Тогда + Надпись.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу; + Надпись.РасширеннаяПодсказка.РастягиватьПоГоризонтали = Истина; + Надпись.РасширеннаяПодсказка.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; + КонецЕсли; + Надпись.УстановитьДействие("Нажатие", "ВариантНажатие"); + +КонецПроцедуры + +&НаСервере +Функция Подсистемы() + Результат = Новый Массив; + Результат.Добавить(НастройкиОтчета.Подсистема); + + ДеревоПодсистем = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя(); + Найденные = ДеревоПодсистем.Строки.НайтиСтроки(Новый Структура("Ссылка", НастройкиОтчета.Подсистема), Истина); + Пока Найденные.Количество() > 0 Цикл + КоллекцияСтрок = Найденные[0].Строки; + Найденные.Удалить(0); + Для Каждого СтрокаДерева Из КоллекцияСтрок Цикл + Результат.Добавить(СтрокаДерева.Ссылка); + Найденные.Добавить(СтрокаДерева); + КонецЦикла; + КонецЦикла; + + Возврат Результат; +КонецФункции + +&НаСервере +Функция ОпределитьГруппуВывода(ПодсистемаПредставление) + ЭлементСписка = ГруппыПодсистем.НайтиПоЗначению(ПодсистемаПредставление); + Если ЭлементСписка <> Неопределено Тогда + Возврат Элементы.Найти(ЭлементСписка.Представление); + КонецЕсли; + + НомерГруппы = ГруппыПодсистем.Количество() + 1; + ДекорацияИмя = "ОтступПодсистемы_" + НомерГруппы; + ГруппаИмя = "ГруппаПодсистемы_" + НомерГруппы; + + Если ЕстьДругиеОтчеты Тогда + Декорация = Элементы.Добавить(ДекорацияИмя, Тип("ДекорацияФормы"), Элементы.СтраницаДругиеОтчеты); + Декорация.Вид = ВидДекорацииФормы.Надпись; + Декорация.Заголовок = " "; + КонецЕсли; + + Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.СтраницаДругиеОтчеты); + Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Группа.Заголовок = ПодсистемаПредставление; + Группа.ОтображатьЗаголовок = Истина; + Группа.ЦветТекстаЗаголовка = ЦветГруппыВариантовОтчетов; + Группа.ШрифтЗаголовка = ШрифтОбычнойГруппы; + + ГруппыПодсистем.Добавить(ПодсистемаПредставление, ГруппаИмя); + Возврат Группа; +КонецФункции + +&НаСервере +Процедура ПослеИзмененияКлючевыхСостояний(ПараметрыЗаполнения) + Если ПараметрыЗаполнения.Событие.Имя <> "ПослеФормирования" Тогда + Если ФормаОткрыта + И НастройкиОтчета.ФормироватьСразу + И ПараметрыЗаполнения.Событие.Имя = "ПриОбновленииСоставаПользовательскихНастроекНаСервере" Тогда + НадоСформировать = Истина; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ДеревоВариантаЗарегистрироватьЭлемент(ЭлементСтруктурыСКД, НаборСтрокДерева) + СтрокаДерева = НаборСтрокДерева.Добавить(); + СтрокаДерева.Настройка = ЭлементСтруктурыСКД; + СтрокаДерева.ТипНастройки = ТипНастройкиСтрокой(ТипЗнч(ЭлементСтруктурыСКД)); + Если СтрокаДерева.ТипНастройки = "Настройки" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Группировка" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Таблица" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Колонки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Колонки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Колонки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Строки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Строки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Строки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "Диаграмма" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Серии: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Серии"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Серии Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Точки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Точки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Точки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "НастройкиВложенногоОбъекта" Тогда + ДеревоВариантаЗарегистрироватьЭлемент(ЭлементСтруктурыСКД.Настройки, СтрокаДерева.Строки); + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаТаблицы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаДиаграммы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + Иначе + Возврат; + КонецЕсли; + + Если СтрокаДерева.ТипНастройки = "НастройкиВложенногоОбъекта" Тогда + ПараметрыВывода = ЭлементСтруктурыСКД.Настройки.ПараметрыВывода; + Иначе + ПараметрыВывода = ЭлементСтруктурыСКД.ПараметрыВывода; + КонецЕсли; + ПараметрЗаголовок = ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок")); + Если ПараметрЗаголовок <> Неопределено И ПараметрЗаголовок.Использование Тогда + СтрокаДерева.Заголовок = ПараметрЗаголовок.Значение; + КонецЕсли; + + Если СтрокаДерева.ЕстьСтруктура Тогда + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Структура Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, СтрокаДерева.Строки); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ТипНастройкиСтрокой(ТипНастройки) + Если ТипНастройки = Тип("НастройкиКомпоновкиДанных") Тогда + Возврат "Настройки"; + ИначеЕсли ТипНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда + Возврат "НастройкиВложенногоОбъекта"; + + ИначеЕсли ТипНастройки = Тип("ОтборКомпоновкиДанных") Тогда + Возврат "Отбор"; + ИначеЕсли ТипНастройки = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Возврат "ЭлементОтбора"; + ИначеЕсли ТипНастройки = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Возврат "ГруппаЭлементовОтбора"; + + ИначеЕсли ТипНастройки = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + Возврат "ЗначениеПараметраНастроек"; + + ИначеЕсли ТипНастройки = Тип("ГруппировкаКомпоновкиДанных") Тогда + Возврат "Группировка"; + ИначеЕсли ТипНастройки = Тип("ПорядокКомпоновкиДанных") Тогда + Возврат "Порядок"; + ИначеЕсли ТипНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда + Возврат "ВыбранныеПоля"; + + ИначеЕсли ТипНастройки = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда + Возврат "УсловноеОформление"; + ИначеЕсли ТипНастройки = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда + Возврат "ЭлементУсловногоОформления"; + + ИначеЕсли ТипНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда + Возврат "СтруктураНастроек"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыНастроек"; + + ИначеЕсли ТипНастройки = Тип("ТаблицаКомпоновкиДанных") Тогда + Возврат "Таблица"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда + Возврат "ГруппировкаТаблицы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыТаблицы"; + + ИначеЕсли ТипНастройки = Тип("ДиаграммаКомпоновкиДанных") Тогда + Возврат "Диаграмма"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда + Возврат "ГруппировкаДиаграммы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыДиаграммы"; + + ИначеЕсли ТипНастройки = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда + Возврат "ПолеГруппировки"; + ИначеЕсли ТипНастройки = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда + Возврат "ПоляГруппировки"; + ИначеЕсли ТипНастройки = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда + Возврат "КоллекцияПолейГруппировки"; + + Иначе + Возврат ""; + КонецЕсли; +КонецФункции + +&НаСервере +Функция ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки) + ИдентификаторСКД = СвойстваНастройки.ИдентификаторСКД; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + + //Настройки, свойство Отбор + //Группировка, свойство Отбор + //ГруппировкаТаблицы, свойство Отбор + //ГруппировкаДиаграммы, свойство Отбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Отбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Отбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" + Или СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + + //Настройки, свойство Отбор.Элементы + //Группировка, свойство Отбор.Элементы + //ГруппировкаТаблицы, свойство Отбор.Элементы + //ГруппировкаДиаграммы, свойство Отбор.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + НайденныйЭлемент = НайтиПоИдентификатору(СтрокаДерева.Настройка.Отбор.Элементы, ИдентификаторСКД); + Если НайденныйЭлемент <> Неопределено Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = НайденныйЭлемент; + Если СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + СвойстваНастройки.ДоступнаяСКД = СтрокаДерева.Настройка.Отбор.ДоступныеПоляОтбора.НайтиПоле(НайденныйЭлемент.ЛевоеЗначение); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + //Настройки, свойство Порядок + //Группировка, свойство Порядок + //ГруппировкаТаблицы, свойство Порядок + //ГруппировкаДиаграммы, свойство Порядок + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Порядок.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Порядок; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + //Настройки, свойство Выбор + //Таблица, свойство Выбор + //Диаграмма, свойство Выбор + //Группировка, свойство Выбор + //ГруппировкаДиаграммы, свойство Выбор + //ГруппировкаТаблицы, свойство Выбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Выбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Выбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + + //Настройки, свойство УсловноеОформление + //Таблица, свойство УсловноеОформление + //Диаграмма, свойство УсловноеОформление + //Группировка, свойство УсловноеОформление + //ГруппировкаДиаграммы, свойство УсловноеОформление + //ГруппировкаТаблицы, свойство УсловноеОформление + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.УсловноеОформление.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.УсловноеОформление; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + + //Настройки, свойство УсловноеОформление.Элементы + //Таблица, свойство УсловноеОформление.Элементы + //Диаграмма, свойство УсловноеОформление.Элементы + //Группировка, свойство УсловноеОформление.Элементы + //ГруппировкаДиаграммы, свойство УсловноеОформление.Элементы + //ГруппировкаТаблицы, свойство УсловноеОформление.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Для Каждого ЭлементУО Из СтрокаДерева.Настройка.УсловноеОформление.Элементы Цикл + Если ЭлементУО.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЭлементУО; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + + ПараметрКД = СвойстваНастройки.ПользовательскаяСКД.Параметр; + + //ПараметрКомпоновкиДанных содержится в КоллекцияЗначенийПараметровКомпоновкиДанных, которая в свою очередь: + // ЗначенияПараметровДанныхКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыДанных + // ЗначенияПараметровВыводаКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Группировка, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаТаблицы, свойство ПараметрыВывода + // ЗначенияПараметровВыводаТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Таблица, свойство ПараметрыВывода + // ЗначенияПараметровВыводаДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Диаграмма, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаДиаграммы, свойство ПараметрыВывода + // ОформлениеКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ЭлементОбластиМакетаОформленияКомпоновкиДанных, свойство Оформление + // ЭлементУсловногоОформленияКомпоновкиДанных, свойство Оформление + // ПолеНабораДанныхСхемыКомпоновкиДанных, свойство Оформление + // ВычисляемоеПолеСхемыКомпоновкиДанных, свойство Оформление + // ЗначениеПараметраКомпоновкиДанных, свойство ЗначенияВложенныхПараметров + + //Настройки, свойство ПараметрыДанных, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Настройки"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + ДоступныеПараметры = СтрокаДерева.Настройка.ПараметрыДанных.ДоступныеПараметры; + Если ДоступныеПараметры <> Неопределено Тогда + СвойстваНастройки.ДоступнаяСКД = ДоступныеПараметры.НайтиПараметр(ПараметрКД); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Настройки, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Группировка, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Таблица, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Диаграмма, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаТаблицы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаДиаграммы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыВывода.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Тип = "ЗначениеПараметраВывода"; // Подмена типа... + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + + // Прямо в структуре. + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", СвойстваНастройки.Тип), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Если СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + СвойстваНастройки.ДоступнаяСКД = Отчет.КомпоновщикНастроек.Настройки.ДоступныеОбъекты.Элементы.Найти(СтрокаДерева.Настройка.ИдентификаторОбъекта); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Если СвойстваНастройки.Тип = "Группировка" Тогда + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаТаблицы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаТаблицы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаДиаграммы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаДиаграммы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + //Настройки, свойство Структура + //Группировка, свойство Структура + //ГруппировкаТаблицы, свойство Структура + //ГруппировкаДиаграммы, свойство Структура + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Структура.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "Структура"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Структура; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Таблица, свойство Колонки + //Таблица, свойство Строки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Таблица"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Строки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаСтроки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Строки; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Колонки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаКолонки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Колонки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Диаграмма, свойство Серии + //Диаграмма, свойство Точки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Диаграмма"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Серии.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаСерии"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Серии; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Точки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаТочки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Точки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +&НаСервере +Функция НайтиПоИдентификатору(ЭлементыСКД, ИдентификаторСКД) + Для Каждого ЭлементСКД Из ЭлементыСКД Цикл + Если ЭлементСКД.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + Возврат ЭлементСКД; + ИначеЕсли ТипЗнч(ЭлементСКД) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Найденный = НайтиПоИдентификатору(ЭлементСКД.Элементы, ИдентификаторСКД); + Если Найденный <> Неопределено Тогда + Возврат Найденный; + КонецЕсли; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + +&НаСервереБезКонтекста +Функция ПредставлениеПользовательскойНастройки(СвойстваНастройки) + ЭлементЗаголовок = ""; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + ЭлементЗаголовок = НСтр("ru = 'Отбор'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ПользовательскаяСКД.ТипГруппы); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.ЛевоеЗначение); + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + ЭлементЗаголовок = НСтр("ru = 'Сортировка'"); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + ЭлементЗаголовок = НСтр("ru = 'Поля'"); + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + ЭлементЗаголовок = НСтр("ru = 'Оформление'"); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + ПредставлениеЗначения = Строка(СвойстваНастройки.ПользовательскаяСКД.Оформление); + ПредставлениеТипа = НСтр("ru = 'Элемент оформления'"); + Если ПустаяСтрока(ПредставлениеЗначения) Тогда + ЭлементЗаголовок = ПредставлениеТипа; + Иначе + ЭлементЗаголовок = ПредставлениеЗначения +" ("+ НРег(ПредставлениеТипа) +")"; + КонецЕсли; + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.Параметр); + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаТаблицы" Тогда + ЭлементЗаголовок = НСтр("ru = 'Группировка таблицы'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаДиаграммы" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка диаграммы'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "Таблица" Тогда + ЭлементЗаголовок = НСтр("ru = 'Таблица'"); + + ИначеЕсли СвойстваНастройки.Тип = "Диаграмма" Тогда + ЭлементЗаголовок = НСтр("ru = 'Диаграмма'"); + + ИначеЕсли СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + ЭлементЗаголовок = СтрЗаменить(НСтр("ru = 'Вложенная группировка ''%1'''"), "%1", Строка(СвойстваНастройки.ПользовательскаяСКД)); + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + Если СвойстваНастройки.Подтип = "ТаблицаСтроки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Строки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ТаблицаКолонки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Колонки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаСерии" Тогда + ЭлементЗаголовок = НСтр("ru = 'Серии'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаТочки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Точки'"); + + Иначе + ЭлементЗаголовок = НСтр("ru = 'Структура'"); + + КонецЕсли; + + Иначе + ЭлементЗаголовок = Строка(СвойстваНастройки.Тип); + + КонецЕсли; + + Возврат СокрЛП(ЭлементЗаголовок); +КонецФункции + +&НаСервере +Функция ПолноеИмяРеквизита(Реквизит) + Возврат ?(ПустаяСтрока(Реквизит.Путь), "", Реквизит.Путь + ".") + Реквизит.Имя; +КонецФункции + +&НаСервере +Функция ЗначениеРеквизита(Имя) + Структура = Новый Структура(Имя); + ЗаполнитьЗначенияСвойств(Структура, ЭтотОбъект); + Возврат Структура[Имя]; +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonForms/ФормаОтчета/Form.form b/SSL/src/CommonForms/ФормаОтчета/Form.form index c790cc247..cbc4dab77 100644 --- a/SSL/src/CommonForms/ФормаОтчета/Form.form +++ b/SSL/src/CommonForms/ФормаОтчета/Form.form @@ -1,93 +1,24 @@ - ВыборВариантаОтчета - 1 - - ОтчетНаименованиеТекущегоВарианта - 2 - true - true - - true - - - ОтчетНаименованиеТекущегоВарианта - - Left - - ОтчетНаименованиеТекущегоВариантаExtendedTooltip - 113 - Label - true - true - - Left - - - - ОтчетНаименованиеТекущегоВариантаКонтекстноеМеню - 3 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - ЗагрузитьВариант - 4 - true - true - - true - - - ЗагрузитьВариантExtendedTooltip - 114 - Label - true - true - - Left - - - UsualButton - Form.StandardCommand.LoadVariant - Normal - Auto - true - true - UserCmds - Auto - + БыстрыеНастройки + 416 + true true true <key>ru</key> - <value>Выбор варианта отчета</value> + <value>Быстрые настройки</value> ru - Выбор варианта отчета + Быстрые настройки - ВыборВариантаОтчетаExtendedTooltip - 112 + БыстрыеНастройкиРасширеннаяПодсказка + 417 Label true true @@ -105,22 +36,22 @@ - ОсновнаяКоманднаяПанель + Кнопки 44 - ЛеваяЧастьКоманднойПанели + КомандыЛевая 49 - СформироватьОтчет - 100 + СформироватьОтчет_Левая + 412 true true true - СформироватьОтчетExtendedTooltip - 117 + СформироватьОтчет_ЛеваяРасширеннаяПодсказка + 413 Label true true @@ -129,7 +60,6 @@ Form.Command.ОтчетСкомпоноватьРезультат - Auto true true true @@ -137,15 +67,16 @@ Auto - КнопкаСформировать - 48 + ВсеНастройки_Левая + 500 + true true true - КнопкаСформироватьExtendedTooltip - 118 + ВсеНастройки_ЛеваяРасширеннаяПодсказка + 501 Label true true @@ -153,28 +84,35 @@ Left - Form.StandardCommand.Generate + Form.Command.ВсеНастройки Normal - Auto true true UserCmds Auto - КнопкиТабличногоДокумента - 88 - - Найти - 62 + ГруппаПользовательскиеНастройки_Левая + 358 + + ВариантыПользовательскихНастроек_Левая + 360 true true true + + <key>ru</key> + <value>Варианты пользовательских настроек левая</value> + + + ru + Варианты пользовательских настроек левая + - НайтиExtendedTooltip - 120 + ВариантыПользовательскихНастроек_ЛеваяРасширеннаяПодсказка + 361 Label true true @@ -182,26 +120,19 @@ Left - Form.Item.ОтчетТабличныйДокумент.StandardCommand.Find - Normal - PictureAndText - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu + - СвернутьВсеГруппы - 60 + СброситьНастройки_Левая + 382 true true true - СвернутьВсеГруппыExtendedTooltip - 121 + СброситьНастройки_ЛеваяРасширеннаяПодсказка + 383 Label true true @@ -209,41 +140,13 @@ Left - Form.Item.ОтчетТабличныйДокумент.StandardCommand.CollapseAllGroups + Form.Command.НастройкиПоУмолчанию Normal Auto true true UserCmds Auto - InCommandBarAndInAdditionalSubmenu - - - РазвернутьВсеГруппы - 61 - true - true - - true - - - РазвернутьВсеГруппыExtendedTooltip - 122 - Label - true - true - - Left - - - Form.Item.ОтчетТабличныйДокумент.StandardCommand.ExpandAllGroups - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu true true @@ -252,15 +155,15 @@ <key>ru</key> - <value>Кнопки табличного документа</value> + <value>Выбрать настройки</value> ru - Кнопки табличного документа + Выбрать настройки - КнопкиТабличногоДокументаExtendedTooltip - 119 + ГруппаПользовательскиеНастройки_ЛеваяРасширеннаяПодсказка + 359 Label true true @@ -268,92 +171,97 @@ Left - - - - ГруппаПечать - 103 - - Печать - 56 - true - true - - true - - - ПечатьExtendedTooltip - 124 - Label - true - true - - Left - - - Form.StandardCommand.Print - Normal + Popup + + + StdPicture.LoadReportSettings + Picture - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ПредварительныйПросмотр - 102 - true - true - - true - - - ПредварительныйПросмотрExtendedTooltip - 125 - Label - true - true - - Left - - - Form.Item.ОтчетТабличныйДокумент.StandardCommand.Preview - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Печать</value> - - - ru - - - - ГруппаПечатьExtendedTooltip - 123 - Label - true - true - - Left - - - + Normal + - Сохранить + Найти_Левая + 62 + true + true + + true + + + Найти_ЛеваяРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + Form.Item.ОтчетТабличныйДокумент.StandardCommand.Find + Normal + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Печать_Левая + 56 + true + true + + true + + + Печать_ЛеваяРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + Form.StandardCommand.Print + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ПредварительныйПросмотр_Левая + 102 + true + true + + true + + + ПредварительныйПросмотр_ЛеваяРасширеннаяПодсказка + 125 + Label + true + true + + Left + + + Form.Item.ОтчетТабличныйДокумент.StandardCommand.Preview + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Сохранить_Левая 57 <key>ru</key> @@ -365,7 +273,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>СохранитьExtendedTooltip</name> + <name>Сохранить_ЛеваяРасширеннаяПодсказка</name> <id>126</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -376,7 +284,7 @@ </extendedTooltip> <commandName>Form.StandardCommand.Save</commandName> <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> + <representation>Picture</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> @@ -395,7 +303,7 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>ОтправитьПоЭлектроннойПочтеExtendedTooltip</name> + <name>ОтправитьПоЭлектроннойПочтеРасширеннаяПодсказка</name> <id>128</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -406,7 +314,7 @@ </extendedTooltip> <commandName>Form.Command.ОтправитьПоЭлектроннойПочте</commandName> <buttonImportance>Normal</buttonImportance> - <representation>PictureAndText</representation> + <representation>Picture</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> @@ -427,7 +335,7 @@ <value>Отправить отчет по электронной почте</value> </toolTip> <extendedTooltip> - <name>ОтправитьExtendedTooltip</name> + <name>ОтправитьРасширеннаяПодсказка</name> <id>127</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -441,10 +349,64 @@ <picture xsi:type="core:PictureRef"> <picture>CommonPicture.ЭлектронноеПисьмо</picture> </picture> - <representation>Auto</representation> + <representation>Picture</representation> <importance>Normal</importance> </extInfo> </items> + <items xsi:type="form:Button"> + <name>СвернутьВсеГруппы_Левая</name> + <id>60</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>СвернутьВсеГруппы_ЛеваяРасширеннаяПодсказка</name> + <id>121</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.CollapseAllGroups</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Picture</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> + </items> + <items xsi:type="form:Button"> + <name>РазвернутьВсеГруппы_Левая</name> + <id>61</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>РазвернутьВсеГруппы_ЛеваяРасширеннаяПодсказка</name> + <id>122</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Item.ОтчетТабличныйДокумент.StandardCommand.ExpandAllGroups</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Picture</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + <locationInCommandBar>InCommandBarAndInAdditionalSubmenu</locationInCommandBar> + </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -452,14 +414,14 @@ </userVisible> <title> <key>ru</key> - <value>Левая часть командной панели</value> + <value>Команды левая</value> ru - Левая часть командной панели + Команды левая - ЛеваяЧастьКоманднойПанелиExtendedTooltip + КомандыЛеваяРасширеннаяПодсказка 116 Label true @@ -474,10 +436,10 @@ - ГруппаСумма + АвтоСуммаГруппа 110 - ВычислитьСумму + АвтоСуммаКнопка 111 true true @@ -485,7 +447,7 @@ true - ВычислитьСуммуExtendedTooltip + АвтоСуммаКнопкаРасширеннаяПодсказка 130 Label true @@ -504,7 +466,7 @@ Auto - Сумма + АвтоСуммаНадпись 105 true true @@ -520,7 +482,7 @@ Сумма чисел выделенных ячеек - СуммаExtendedTooltip + АвтоСуммаНадписьРасширеннаяПодсказка 131 Label true @@ -530,12 +492,11 @@ - СуммаКонтекстноеМеню + АвтоСуммаНадписьКонтекстноеМеню 106 true InputField - true Enter true Left @@ -544,6 +505,8 @@ 10 true true + false + false true ru @@ -551,7 +514,6 @@ true true - true Style.FormBackColor @@ -575,7 +537,7 @@ - ГруппаСуммаExtendedTooltip + АвтоСуммаГруппаРасширеннаяПодсказка 129 Label true @@ -593,313 +555,20 @@ Auto - - ПустаяДекорация1 - 84 - true - - true - - - ПустаяДекорация1ExtendedTooltip - 132 - Label - true - true - - Left - - - - ПустаяДекорация1КонтекстноеМеню - 85 - true - - Label - true - true - true - false - - Center - - - ПраваяЧастьКоманднойПанели + КомандыЕще 5 - - КомандыВажные - 50 - - ФормаОтчетСкомпоноватьРезультат - 101 - true - true - - true - - - ФормаОтчетСкомпоноватьРезультатExtendedTooltip - 135 - Label - true - true - - Left - - - Form.Command.ОтчетСкомпоноватьРезультат - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаСформировать - 46 - true - - true - - - ФормаСформироватьExtendedTooltip - 136 - Label - true - true - - Left - - - Form.StandardCommand.Generate - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаГруппаПечать - 93 - - ФормаПечать - 52 - true - true - - true - - - ФормаПечатьExtendedTooltip - 138 - Label - true - true - - Left - - - Form.StandardCommand.Print - Normal - Auto - true - true - UserCmds - Auto - - - ФормаПредварительныйПросмотр - 90 - true - true - - true - - - ФормаПредварительныйПросмотрExtendedTooltip - 139 - Label - true - true - - Left - - - Form.Item.ОтчетТабличныйДокумент.StandardCommand.Preview - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаПараметрыСтраницы - 94 - true - true - - true - - - ФормаПараметрыСтраницыExtendedTooltip - 140 - Label - true - true - - Left - - - Form.Item.ОтчетТабличныйДокумент.StandardCommand.PageSetup - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Печать</value> - - - ru - - - - ФормаГруппаПечатьExtendedTooltip - 137 - Label - true - true - - Left - - - - - - ФормаСохранить - 51 - - <key>ru</key> - <value>Сохранить...</value> - - true - true - - true - - - ФормаСохранитьExtendedTooltip - 141 - Label - true - true - - Left - - - Form.StandardCommand.Save - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтправитьВсеДействия - 74 - - ОтправитьПоЭлектроннойПочтеВсеДействия - 98 - true - true - - true - - - ОтправитьПоЭлектроннойПочтеВсеДействияExtendedTooltip - 143 - Label - true - true - - Left - - - Form.Command.ОтправитьПоЭлектроннойПочте - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Отправить</value> - - - ru - Отправить отчет по электронной почте - - - ОтправитьВсеДействияExtendedTooltip - 142 - Label - true - true - - Left - - - Popup - - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Auto - Normal - - + + СформироватьОтчет + 101 true true true - - <key>ru</key> - <value>Команды важные</value> - - - ru - Команды важные - - КомандыВажныеExtendedTooltip - 134 + СформироватьОтчетРасширеннаяПодсказка + 135 Label true true @@ -907,65 +576,48 @@ Left - + Form.Command.ОтчетСкомпоноватьРезультат + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормироватьСразу + 468 + true + true + + true + + + ФормироватьСразуРасширеннаяПодсказка + 469 + Label + true + true + + Left + + + Form.Command.ФормироватьСразу + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu - ГруппаСкрытьПоказатьБыстрыеНастройки + ГруппаПользовательскиеНастройки 104 - - СкрытьПоказатьНастройкиИДругиеОтчеты - 273 - true - true - - true - - - СкрытьПоказатьНастройкиИДругиеОтчетыРасширеннаяПодсказка - 274 - Label - true - true - - Left - - - Form.Command.СкрытьПоказатьНастройкиИДругиеОтчеты - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СкрытьПоказатьБыстрыеНастройки - 13 - true - true - - - СкрытьПоказатьБыстрыеНастройкиExtendedTooltip - 145 - Label - true - true - - Left - - - Form.Command.СкрытьПоказатьБыстрыеНастройки - Normal - Auto - true - true - UserCmds - Auto - ВсеНастройки - 12 + 458 true true @@ -973,7 +625,7 @@ ВсеНастройкиРасширеннаяПодсказка - 147 + 459 Label true true @@ -983,56 +635,23 @@ Form.Command.ВсеНастройки Normal - Picture + Auto true true UserCmds Auto - InAdditionalSubmenu - true - true - - true - - - <key>ru</key> - <value> </value> - - - ru - - - - ГруппаСкрытьПоказатьБыстрыеНастройкиExtendedTooltip - 144 - Label - true - true - - Left - - - - - - КомандыВариантовПользовательскихНастроек - 36 - ФормаЗагрузитьНастройкиОтчета - 38 - - <key>ru</key> - <value>Загрузить настройки...</value> - + ВыбратьНастройки + 462 true true true - ФормаЗагрузитьНастройкиОтчетаExtendedTooltip - 148 + ВыбратьНастройкиРасширеннаяПодсказка + 463 Label true true @@ -1050,20 +669,16 @@ InAdditionalSubmenu - ФормаСохранитьНастройкиОтчета - 37 - - <key>ru</key> - <value>Сохранить настройки...</value> - + СохранитьНастройки + 460 true true true - ФормаСохранитьНастройкиОтчетаExtendedTooltip - 149 + СохранитьНастройкиРасширеннаяПодсказка + 461 Label true true @@ -1078,92 +693,7 @@ true UserCmds Auto - InAdditionalSubmenu - - - ДополнительныеКомандыВариантовПользовательскихНастроек - 11 - - ФормаСтандартныеНастройки - 39 - - <key>ru</key> - <value>Сбросить настройки</value> - - true - - true - - - ФормаСтандартныеНастройкиExtendedTooltip - 151 - Label - true - true - - Left - - - Form.StandardCommand.StandardSettings - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СброситьНастройки - 87 - true - true - - true - - - СброситьНастройкиExtendedTooltip - 152 - Label - true - true - - Left - - - Form.Command.СброситьНастройки - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Дополнительные команды вариантов пользовательских настроек</value> - - - ru - - - - ДополнительныеКомандыВариантовПользовательскихНастроекExtendedTooltip - 150 - Label - true - true - - Left - - - + InCommandBarAndInAdditionalSubmenu true true @@ -1172,15 +702,15 @@ <key>ru</key> - <value>Команды вариантов пользовательских настроек</value> + <value> </value> ru - Команды вариантов пользовательских настроек + - КомандыВариантовПользовательскихНастроекExtendedTooltip - 146 + ГруппаПользовательскиеНастройкиРасширеннаяПодсказка + 144 Label true true @@ -1191,17 +721,19 @@ - ГруппаСкрытьПоказатьПанельОтчетов - 238 + ГруппаПечать + 93 - СкрытьПоказатьПанельОтчетов - 217 + Печать + 52 true true - + + true + - СкрытьПоказатьПанельОтчетовРасширеннаяПодсказка - 218 + ПечатьРасширеннаяПодсказка + 138 Label true true @@ -1209,7 +741,7 @@ Left - Form.Command.СкрытьПоказатьПанельОтчетов + Form.StandardCommand.Print Normal Auto true @@ -1217,6 +749,60 @@ UserCmds Auto + + ПредварительныйПросмотр + 90 + true + true + + true + + + ПредварительныйПросмотрРасширеннаяПодсказка + 139 + Label + true + true + + Left + + + Form.Item.ОтчетТабличныйДокумент.StandardCommand.Preview + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ПараметрыСтраницы + 94 + true + true + + true + + + ПараметрыСтраницыРасширеннаяПодсказка + 140 + Label + true + true + + Left + + + Form.Item.ОтчетТабличныйДокумент.StandardCommand.PageSetup + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + true true @@ -1224,15 +810,15 @@ <key>ru</key> - <value> </value> + <value>Печать</value> ru - ГруппаСкрытьПоказатьПанельОтчетовРасширеннаяПодсказка - 239 + ГруппаПечатьРасширеннаяПодсказка + 137 Label true true @@ -1242,20 +828,113 @@ + + Сохранить + 51 + + <key>ru</key> + <value>Сохранить...</value> + + true + true + + true + + + СохранитьРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + Form.StandardCommand.Save + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + - КомандыВариантовОтчета - 32 + ОтправитьВсеДействия + 74 - ИзменитьВариантОтчета - 86 + ОтправитьПоЭлектроннойПочтеВсеДействия + 98 true true true - ИзменитьВариантОтчетаExtendedTooltip - 154 + ОтправитьПоЭлектроннойПочтеВсеДействияРасширеннаяПодсказка + 143 + Label + true + true + + Left + + + Form.Command.ОтправитьПоЭлектроннойПочте + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Отправить</value> + + + ru + Отправить отчет по электронной почте + + + ОтправитьВсеДействияРасширеннаяПодсказка + 142 + Label + true + true + + Left + + + Popup + + + CommonPicture.ОтправитьЭлектронноеПисьмо + + Auto + Normal + + + + КомандыВариантовОтчета + 450 + + ИзменитьВариант + 452 + true + true + + true + + + ИзменитьВариантРасширеннаяПодсказка + 453 Label true true @@ -1273,38 +952,8 @@ InAdditionalSubmenu - ФормаИзменитьВариант - 33 - - <key>ru</key> - <value>Изменить вариант отчета...</value> - - true - - true - - - ФормаИзменитьВариантExtendedTooltip - 155 - Label - true - true - - Left - - - Form.StandardCommand.ChangeVariant - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаЗагрузитьВариант - 35 + ВыбратьВариант + 454 <key>ru</key> <value>Выбрать вариант отчета...</value> @@ -1315,8 +964,8 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>ФормаЗагрузитьВариантExtendedTooltip</name> - <id>156</id> + <name>ВыбратьВариантРасширеннаяПодсказка</name> + <id>455</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -1334,8 +983,8 @@ <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> </items> <items xsi:type="form:Button"> - <name>ФормаСохранитьВариант</name> - <id>34</id> + <name>СохранитьВариант</name> + <id>456</id> <title> <key>ru</key> <value>Сохранить вариант отчета...</value> @@ -1346,8 +995,8 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>ФормаСохранитьВариантExtendedTooltip</name> - <id>157</id> + <name>СохранитьВариантРасширеннаяПодсказка</name> + <id>457</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -1377,91 +1026,10 @@ <key>ru</key> <value>Команды вариантов отчета</value> </toolTip> + <enableContentChange>true</enableContentChange> <extendedTooltip> - <name>КомандыВариантовОтчетаExtendedTooltip</name> - <id>153</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <extInfo xsi:type="form:ButtonGroupExtInfo"/> - </items> - <items xsi:type="form:FormGroup"> - <name>КомандыСмТакже</name> - <id>40</id> - <items xsi:type="form:Button"> - <name>ФормаНовоеОкно</name> - <id>41</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <extendedTooltip> - <name>ФормаНовоеОкноExtendedTooltip</name> - <id>159</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.StandardCommand.NewWindow</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> - </items> - <items xsi:type="form:Button"> - <name>ФормаИзменитьФорму</name> - <id>42</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <extendedTooltip> - <name>ФормаИзменитьФормуExtendedTooltip</name> - <id>160</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.StandardCommand.CustomizeForm</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> - </items> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <title> - <key>ru</key> - <value>Команды см также</value> - - - ru - Команды см также - - - КомандыСмТакжеExtendedTooltip - 158 + КомандыВариантовОтчетаРасширеннаяПодсказка + 451 Label true true @@ -1472,7 +1040,61 @@ - ФормаСправка + НовоеОкно + 41 + true + true + + true + + + НовоеОкноРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + Form.StandardCommand.NewWindow + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИзменитьФорму + 42 + true + true + + true + + + ИзменитьФормуРасширеннаяПодсказка + 160 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + Справка 43 true true @@ -1480,7 +1102,7 @@ true - ФормаСправкаExtendedTooltip + СправкаРасширеннаяПодсказка 161 Label true @@ -1505,17 +1127,16 @@ <key>ru</key> - <value>Правая часть командной панели</value> + <value>Команды еще</value> ru - Правая часть командной панели + Команды еще - 35 + 10 false - false - ПраваяЧастьКоманднойПанелиExtendedTooltip + КомандыЕщеРасширеннаяПодсказка 133 Label true @@ -1527,7 +1148,6 @@ CommandBar Right - Form true @@ -1537,14 +1157,14 @@ <key>ru</key> - <value>Основная командная панель</value> + <value>Кнопки</value> ru - Основная командная панель + Кнопки - ОсновнаяКоманднаяПанельExtendedTooltip + КнопкиРасширеннаяПодсказка 115 Label true @@ -1562,412 +1182,21 @@ Auto - - РезультатИБыстрыеНастройки - 6 - - ОтчетТабличныйДокумент - 7 - true - true - - true - - - ОтчетТабличныйДокумент - - None - - ОтчетТабличныйДокументExtendedTooltip - 163 - Label - true - true - - Left - - - - ОтчетТабличныйДокументКонтекстноеМеню - 8 - - ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультат - 168 - true - true - - true - - - ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультатРасширеннаяПодсказка - 169 - Label - true - true - - Left - - - Form.Command.ОтчетСкомпоноватьРезультат - Normal - Auto - true - true - UserCmds - Auto - - true - - SpreadsheetDocumentField - Enter - true - Left - true - - - AdditionalDetailProcessing - ОтчетТабличныйДокументОбработкаДополнительнойРасшифровки - - - OnActivate - ОтчетТабличныйДокументПриАктивизацииОбласти - - - DetailProcessing - ОтчетТабличныйДокументОбработкаРасшифровки - - 60 - true - 15 - true - true - true - Special - ScrollAlways - ScrollAlways - Always - Auto - true - true - true - - - - ПраваяПанель - 275 - - СтраницаБыстрыеНастройки - 277 - - Периоды - 170 - true - true - - true - - - <key>ru</key> - <value>Периоды</value> - - - ru - Периоды - - - ПериодыРасширеннаяПодсказка - 171 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - БыстрыеНастройки - 172 - true - true - - true - - - <key>ru</key> - <value>Быстрые настройки</value> - - - ru - Быстрые настройки - - - БыстрыеНастройкиРасширеннаяПодсказка - 173 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Настройки</value> - - - ru - - - - СтраницаБыстрыеНастройкиРасширеннаяПодсказка - 278 - Label - true - true - - Left - - - Page - - - CommonPicture.БыстрыеНастройкиОтчета - - Vertical - auto - - - - СтраницаДругиеОтчеты - 279 - - ГруппаДругиеВариантыОтчета - 240 - true - true - - true - - - <key>ru</key> - <value>Варианты отчета</value> - - - Style.ГруппаВариантовОтчетовЦвет - - - System.DefaultGUIFont - true - false - false - false - - - ru - - - - ГруппаДругиеВариантыОтчетаРасширеннаяПодсказка - 241 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - auto - Auto - Auto - - - - РазделительГруппВариантов - 242 - - <key>ru</key> - <value> </value> - - true - true - - true - - - РазделительГруппВариантовРасширеннаяПодсказка - 244 - Label - true - true - - Left - - - - РазделительГруппВариантовКонтекстноеМеню - 243 - true - - Label - true - true - - Left - - - - ГруппаПохожиеОтчеты - 245 - true - true - - true - - - <key>ru</key> - <value>Отчеты группы</value> - - - Style.ГруппаВариантовОтчетовЦвет - - - System.DefaultGUIFont - true - false - false - false - - - ГруппаПохожиеОтчетыРасширеннаяПодсказка - 246 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - auto - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Другие отчеты</value> - - - ru - Страница другие отчеты - - - СтраницаДругиеОтчетыРасширеннаяПодсказка - 280 - Label - true - true - - Left - - - Page - - - StdPicture.Report - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Правая панель</value> - - - ru - Правая панель - - true - true - - ПраваяПанельРасширеннаяПодсказка - 276 - Label - true - true - - Left - - - Pages - - TabsOnTop - Auto - - + + ОтчетТабличныйДокумент + 7 true true true - - <key>ru</key> - <value>Результат и быстрые настройки</value> - - - ru - - + + ОтчетТабличныйДокумент + + None - РезультатИБыстрыеНастройкиExtendedTooltip - 162 + ОтчетТабличныйДокументExtendedTooltip + 163 Label true true @@ -1975,13 +1204,69 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ОтчетТабличныйДокументКонтекстноеМеню + 8 + + ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультат + 168 + true + true + + true + + + ОтчетТабличныйДокументКонтекстноеМенюОтчетСкомпоноватьРезультатРасширеннаяПодсказка + 169 + Label + true + true + + Left + + + Form.Command.ОтчетСкомпоноватьРезультат + Normal + Auto + true + true + UserCmds + Auto + + true + + SpreadsheetDocumentField + Enter + true + Left + true + + + AdditionalDetailProcessing + ОтчетТабличныйДокументОбработкаДополнительнойРасшифровки + + + OnActivate + ОтчетТабличныйДокументПриАктивизацииОбласти + + + DetailProcessing + ОтчетТабличныйДокументОбработкаРасшифровки + + 60 + true + 15 + true + true + true + Special + ScrollAlways + ScrollAlways + Always + Auto + true + true + true None @@ -2133,24 +1418,6 @@ - - ВерсияСтандартныхФункцийОтчетов - - <key>ru</key> - <value>Версия стандартных функций отчетов</value> - - 11 - - String - - - - true - - - true - - КлючОбъекта @@ -2692,11 +1959,90 @@ <common>true</common> </edit> </attributes> + <attributes> + <name>ЕстьОбычныеНастройки</name> + <title> + <key>ru</key> + <value>Есть обычные настройки</value> + + 31 + + Boolean + + + true + + + true + + + + ФормаОткрыта + + <key>ru</key> + <value>Форма открыта</value> + + 11 + + Boolean + + + true + + + true + + + + НадоСформировать + + <key>ru</key> + <value>Надо сформировать</value> + + 32 + + Boolean + + + true + + + true + + + + ХранимыеСпискиВыбора + + <key>ru</key> + <value>Хранимые списки выбора</value> + + 33 + + + + + + ПервоеЧтениеПользовательскихНастроек + + <key>ru</key> + <value>Первое чтение пользовательских настроек</value> + + 34 + + Boolean + + + true + + + true + + ВсеНастройки <key>ru</key> - <value>Все настройки...</value> + <value>Настройки...</value> 1 @@ -2718,28 +2064,6 @@ Auto Auto - - СкрытьПоказатьБыстрыеНастройки - - <key>ru</key> - <value>Настройки</value> - - 2 - - true - - - CommonPicture.БыстрыеНастройкиОтчета - - - - СкрытьПоказатьБыстрыеНастройки - - - TextPicture - Auto - Auto - ИзменитьВариантОтчета @@ -2754,6 +2078,7 @@ <use> <common>true</common> </use> + <shortcut>Ctrl+F2</shortcut> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>ИзменитьВариантОтчета</name> @@ -2763,22 +2088,22 @@ <selectedRowsUse>Auto</selectedRowsUse> </formCommands> <formCommands> - <name>СброситьНастройки</name> + <name>НастройкиПоУмолчанию</name> <title> <key>ru</key> - <value>Сбросить настройки</value> + <value>Стандартные настройки</value> 7 ru - Сбросить настройки + Настройки по умолчанию true - СброситьНастройки + НастройкиПоУмолчанию Auto @@ -2823,6 +2148,7 @@ true + F5 StdPicture.GenerateReport @@ -2831,7 +2157,7 @@ ОтчетСкомпоноватьРезультат - TextPicture + Text Auto Auto @@ -2862,51 +2188,24 @@ Auto - СкрытьПоказатьПанельОтчетов + ФормироватьСразу <key>ru</key> - <value>Отчеты</value> + <value>Формировать сразу</value> - 8 + 2 ru - Скрыть показать панель отчетов - - - true - - - StdPicture.Report - - - - СкрытьПоказатьОтчеты - - - TextPicture - Auto - Auto - - - СкрытьПоказатьНастройкиИДругиеОтчеты - - <key>ru</key> - <value>Настройки и другие отчеты</value> - - 9 - - ru - Скрыть показать настройки и другие отчеты + Формировать сразу true - СкрытьПоказатьНастройкиИДругиеОтчеты + ФормироватьСразу - TextPicture Auto Auto diff --git a/SSL/src/CommonForms/ФормаОтчета/Help/ru.html b/SSL/src/CommonForms/ФормаОтчета/Help/ru.html index f9b58b4d7..c3b8c444b 100644 --- a/SSL/src/CommonForms/ФормаОтчета/Help/ru.html +++ b/SSL/src/CommonForms/ФормаОтчета/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                          Просмотр отчета

                          • По умолчанию форма отчета состоит из двух частей: в левой части выводятся сведения отчета, в правой части располагаются быстрые настройки.  diff --git a/SSL/src/CommonForms/ФормаОтчета/Module.bsl b/SSL/src/CommonForms/ФормаОтчета/Module.bsl index 706a87cbe..adbf7c12b 100644 --- a/SSL/src/CommonForms/ФормаОтчета/Module.bsl +++ b/SSL/src/CommonForms/ФормаОтчета/Module.bsl @@ -6,6 +6,9 @@ #Область ОбработчикиСобытийФормы +//////////////////////////////////////////////////////////////////////////////// +// Форма + &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Параметры.Свойство("АвтоТест") Тогда @@ -14,6 +17,10 @@ ПанельОтчетовКлючВарианта = " - "; + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.КомандыЕще.Ширина = 11; + КонецЕсли; + // Локальные переменные ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); ОтчетМетаданные = ОтчетОбъект.Метаданные(); @@ -24,30 +31,6 @@ НаименованиеОтчета = СокрЛП(ОтчетМетаданные.Представление()); ПравоВывода = ПравоДоступа("Вывод", Метаданные); - // Реквизиты - ВерсияСтандартныхФункцийОтчетов = ""; - Попытка - ВерсияСтандартныхФункцийОтчетов = ОтчетОбъект.ВерсияСтандартныхФункцийОтчетов(); - Исключение - // Обработка не требуется. Отчет не имеет программного интерфейса для тесной интеграции с формой отчета. - КонецПопытки; - - // Параметры по умолчанию - Если ВерсияСтандартныхФункцийОтчетов = "1" Тогда - НастройкиОтчета = ОтчетОбъект.ПолучитьНастройкиОтчета(); - Иначе - НастройкиОтчета = ФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(); - КонецЕсли; - - Если НастройкиОтчета.Свойство("ВыводитьСуммуВыделенныхЯчеек") И Не НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек Тогда - Элементы.ГруппаСумма.Видимость = Ложь; - Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", ""); - КонецЕсли; - Элементы.ПустаяДекорация1.Видимость = Не Элементы.ГруппаСумма.Видимость; - - // Параметры печати печати и сохранения положения окна. - УстановитьКлючиФормы(); - // Параметры формы ФормаПараметры = Новый Структура( "КлючНазначенияИспользования, КлючПользовательскихНастроек, @@ -63,29 +46,55 @@ КонецЕсли; КонецЕсли; - ФормаПараметры = Новый ФиксированнаяСтруктура(ФормаПараметры); - ВариантСсылка = ВариантыОтчетов.ПолучитьСсылку(ФормаПараметры.ОтчетСсылка, КлючТекущегоВарианта); + // Реквизиты + НастройкиОтчета = ФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(); + НастройкиОтчета.Вставить("Отбор", Новый Структура); + НастройкиОтчета.Вставить("ПрочитатьФлажокФормироватьСразуИзПользовательскихНастроек", Истина); + Если ТипЗнч(Параметры.Отбор) = Тип("Структура") Тогда + ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(НастройкиОтчета.Отбор, Параметры.Отбор, Истина); + Параметры.Отбор.Очистить(); + КонецЕсли; + Если ВариантыОтчетовПовтИсп.ОтчетыСНастройками().Найти(ФормаПараметры.ОтчетСсылка) <> Неопределено Тогда + ОтчетОбъект.ОпределитьНастройкиФормы(ЭтотОбъект, КлючТекущегоВарианта, НастройкиОтчета); + КонецЕсли; + Если ОтчетМетаданные.ХранилищеНастроек = Неопределено Тогда + НастройкиОтчета.Вставить("ХранилищеПользовательскихНастроек", Неопределено); + Иначе + НастройкиОтчета.Вставить("ХранилищеПользовательскихНастроек", ОтчетМетаданные.ХранилищеНастроек.ПолноеИмя()); + КонецЕсли; + + Если Параметры.Свойство("СформироватьПриОткрытии") И Параметры.СформироватьПриОткрытии = Истина Тогда + Параметры.СформироватьПриОткрытии = Ложь; + НастройкиОтчета.ФормироватьСразу = Истина; + НастройкиОтчета.ПрочитатьФлажокФормироватьСразуИзПользовательскихНастроек = Ложь; + КонецЕсли; + + // Параметры по умолчанию + Если НастройкиОтчета.Свойство("ВыводитьСуммуВыделенныхЯчеек") И Не НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек Тогда + Элементы.АвтоСуммаГруппа.Видимость = Ложь; + Элементы.ОтчетТабличныйДокумент.УстановитьДействие("ПриАктивизацииОбласти", ""); + КонецЕсли; + // Скрытие команд вариантов Если Не Параметры.Свойство("ВидимостьКомандВариантовОтчетов", ВидимостьКомандВариантовОтчетов) Тогда ВидимостьКомандВариантовОтчетов = ВариантыОтчетовПовтИсп.ПравоДобавления(); КонецЕсли; - // Регистрация элементов, команд и реквизитов формы, которые не удаляются при перезаполнении быстрых настроек + // Регистрация команд и реквизитов формы, которые не удаляются при перезаполнении быстрых настроек. НаборРеквизитов = ПолучитьРеквизиты(); Для Каждого Реквизит Из НаборРеквизитов Цикл ПолноеИмяРеквизита = Реквизит.Имя + ?(ПустаяСтрока(Реквизит.Путь), "", "." + Реквизит.Путь); ПостоянныеРеквизиты.Добавить(ПолноеИмяРеквизита); КонецЦикла; - Для Каждого Команда Из Команды Цикл ПостоянныеКоманды.Добавить(Команда.Имя); КонецЦикла; // Скрытие кнопки выбора варианта из расшифровки. Если РежимРасшифровки Тогда - Элементы.ФормаЗагрузитьВариант.Видимость = Ложь; + Элементы.ВыбратьВариант.Видимость = Ложь; Если ЗначениеЗаполнено(ОтчетНаименованиеТекущегоВарианта) Тогда РежимРасшифровкиПредставлениеВладельца = ОтчетНаименованиеТекущегоВарианта; КонецЕсли; @@ -94,14 +103,16 @@ // Приведение зависимых элементов формы к кондиции ВидимостьДоступностьКорректность(); - Элементы.ГруппаДругиеВариантыОтчета.Заголовок = НаименованиеОтчета + " (" + НСтр("ru = 'варианты отчета'") + "):"; - // Механизмы расширения Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РассылкаОтчетов") Тогда МодульРассылкаОтчетов = ОбщегоНазначения.ОбщийМодуль("РассылкаОтчетов"); МодульРассылкаОтчетов.ФормаОтчетаДобавитьКоманды(ЭтотОбъект, Отказ, СтандартнаяОбработка); КонецЕсли; - ФормаОтчетаПереопределяемый.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка); + Если НастройкиОтчета.События.ПриСозданииНаСервере Тогда + ОтчетОбъект.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка); + Иначе + ФормаОтчетаПереопределяемый.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка); + КонецЕсли; // Если в подменю одна команда, то выпадающий список не отображается. Если Элементы.Отправить.ПодчиненныеЭлементы.Количество() = 1 Тогда @@ -113,18 +124,22 @@ Элементы.ОтправитьПоЭлектроннойПочтеВсеДействия.Заголовок = Элементы.ОтправитьВсеДействия.Заголовок + "..."; КонецЕсли; + ФормаПараметры = Новый ФиксированнаяСтруктура(ФормаПараметры); + КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) ПеременныеКлиента = Новый Структура; - Если НеобходимоОбновитьНастройки Тогда - ПриОбновленииСоставаПользовательскихНастроекНаСервере(Истина); + СформироватьПриНеобходимости(); + Если Не Отказ Тогда + ФормаОткрыта = Истина; КонецЕсли; + ПодключитьОбработчикОжидания("СформироватьПриНеобходимости", 1, Ложь); КонецПроцедуры &НаКлиенте -Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора) +Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора) Экспорт Результат = Ложь; СуффиксФормыИсточника = ИсточникВыбора.ИмяФормы; @@ -146,6 +161,7 @@ Если ИзмененияИзФормыВариантаОтчета <> Неопределено Тогда БыстрыеНастройкиЗаполнить(ВыбранноеЗначение); + СформироватьПриНеобходимости(); Результат = Истина; КонецЕсли; @@ -178,7 +194,12 @@ НеобходимоОбновитьНастройки = Истина; // Вызов переопределяемого модуля - ФормаОтчетаПереопределяемый.ПередЗагрузкойВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + Если НастройкиОтчета.События.ПередЗагрузкойВариантаНаСервере Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + ОтчетОбъект.ПередЗагрузкойВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + Иначе + ФормаОтчетаПереопределяемый.ПередЗагрузкойВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + КонецЕсли; // Загрузка фиксированных настроек для режима расшифровки. Если РежимРасшифровки Тогда @@ -187,6 +208,43 @@ Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ДополнительныеСвойства.Вставить("РежимРасшифровки", Истина); КонецЕсли; КонецЕсли; + Если ТипЗнч(НастройкиОтчета.Отбор) = Тип("Структура") Тогда + ПараметрыКД = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных; + ОтборыКД = Отчет.КомпоновщикНастроек.Настройки.Отбор; + Недоступный = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; + Для Каждого КлючИЗначение Из НастройкиОтчета.Отбор Цикл + Имя = КлючИЗначение.Ключ; + Значение = КлючИЗначение.Значение; + Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Тогда + Значение = Новый Массив(Значение); + КонецЕсли; + Если ТипЗнч(Значение) = Тип("Массив") Тогда + Список = Новый СписокЗначений; + Список.ЗагрузитьЗначения(Значение); + Значение = Список; + КонецЕсли; + ПараметрКД = ПараметрыКД.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Имя)); + Если ТипЗнч(ПараметрКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + ПараметрКД.ИдентификаторПользовательскойНастройки = ""; + ПараметрКД.Использование = Истина; + ПараметрКД.РежимОтображения = Недоступный; + ПараметрКД.Значение = Значение; + Продолжить; + КонецЕсли; + ДоступноеПолеКД = ОтборыКД.ДоступныеПоляОтбора.НайтиПоле(Новый ПолеКомпоновкиДанных(Имя)); + Если ТипЗнч(ДоступноеПолеКД) = Тип("ДоступноеПолеОтбораКомпоновкиДанных") Тогда + Если ТипЗнч(Значение) = Тип("СписокЗначений") Тогда + ВидСравненияКД = ВидСравненияКомпоновкиДанных.ВСписке; + Иначе + ВидСравненияКД = ВидСравненияКомпоновкиДанных.Равно; + КонецЕсли; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(ОтборыКД, Имя, Значение, ВидСравненияКД, , Истина, Недоступный, ""); + Продолжить; + КонецЕсли; + ТекстОшибки = НСтр("ru = 'Не удалось установить фиксированный отбор ""%1"".'"); + ВариантыОтчетов.ОшибкаПоВарианту(ВариантСсылка, ТекстОшибки, Имя); + КонецЦикла; + КонецЕсли; // Параметры печати печати и сохранения положения окна. УстановитьКлючиФормы(); @@ -196,7 +254,11 @@ ВариантСсылка = ВариантыОтчетов.ПолучитьСсылку(ФормаПараметры.ОтчетСсылка, КлючТекущегоВарианта); // Вызов переопределяемого модуля - ФормаОтчетаПереопределяемый.ПриЗагрузкеВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + Если НастройкиОтчета.События.ПриЗагрузкеВариантаНаСервере Тогда + ОтчетОбъект.ПриЗагрузкеВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + Иначе + ФормаОтчетаПереопределяемый.ПриЗагрузкеВариантаНаСервере(ЭтотОбъект, НовыеНастройкиКД); + КонецЕсли; КонецПроцедуры &НаСервере @@ -209,16 +271,33 @@ &НаСервере Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(НовыеПользовательскиеНастройкиКД) - - НеобходимоОбновитьНастройки = Истина; + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; // Вызов переопределяемого модуля - ФормаОтчетаПереопределяемый.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтотОбъект, НовыеПользовательскиеНастройкиКД); + Если НастройкиОтчета.События.ПриЗагрузкеПользовательскихНастроекНаСервере Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + ОтчетОбъект.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтотОбъект, НовыеПользовательскиеНастройкиКД); + Иначе + ФормаОтчетаПереопределяемый.ПриЗагрузкеПользовательскихНастроекНаСервере(ЭтотОбъект, НовыеПользовательскиеНастройкиКД); + КонецЕсли; + + Если НеобходимоОбновитьНастройки Тогда + ПриОбновленииСоставаПользовательскихНастроекНаСервере(Истина); + Иначе + НеобходимоОбновитьНастройки = Истина; + КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриОбновленииСоставаПользовательскихНастроекНаСервере(СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + НеобходимоОбновитьНастройки = Ложь; ПараметрыЗаполнения = Новый Структура; @@ -232,8 +311,25 @@ КонецПроцедуры &НаСервере -Процедура ПриСохраненииПользовательскихНастроекНаСервере(Настройки) - ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере(ЭтотОбъект, Настройки); +Процедура ПриСохраненииПользовательскихНастроекНаСервере(ПользовательскиеНастройкиКД) + ВариантыОтчетов.ПриСохраненииПользовательскихНастроекНаСервере(ЭтотОбъект, ПользовательскиеНастройкиКД); + + // Сохранение выбранных значений в дополнительных свойствах. + Если ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ЭлементыФормы") Тогда + ДополнительныеНастройкиЭлементов = ПользовательскиеНастройкиКД.ДополнительныеСвойства.ЭлементыФормы; + Для Каждого КлючИЗначение Из ДополнительныеНастройкиЭлементов Цикл + ИдентификаторЭлемента = КлючИЗначение.Ключ; + НастройкиЭлемента = КлючИЗначение.Значение; + ИмяРеквизита = ХранимыеСпискиВыбора.Получить(ИдентификаторЭлемента); + Если ИмяРеквизита = Неопределено Тогда + ДополнительныеНастройкиЭлементов.Удалить(ИдентификаторЭлемента); + Продолжить; + КонецЕсли; + НастройкиЭлемента.ЗначенияДляВыбора = ЭтотОбъект[ИмяРеквизита].ВыгрузитьЗначения(); + КонецЦикла; + КонецЕсли; + + ЗаполнитьКомандыВыбораПользовательскихНастроек(); КонецПроцедуры &НаКлиенте @@ -294,9 +390,9 @@ Процедура Подключаемый_ПолеВвода_ПриИзменении(Элемент) ЗначениеИмя = Элемент.Имя; ИдентификаторЭлемента = Прав(ЗначениеИмя, 32); - ШаблонГенерацииПрефикс = Лев(ЗначениеИмя, Найти(ЗначениеИмя, "_Значение_")-1); + СвойстваНастройкиТип = Лев(ЗначениеИмя, Найти(ЗначениеИмя, "_Значение_")-1); - ИспользованиеИмя = ШаблонГенерацииПрефикс + "_Использование_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; Значение = ЭтотОбъект[ЗначениеИмя]; Если ТипЗнч(Значение) = Тип("ОписаниеТипов") Тогда @@ -331,45 +427,92 @@ КонецПроцедуры &НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_Выбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) +Процедура Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; - ИмяКолонки = Поле.Имя; - Если Лев(ИмяКолонки, 39) = "ПорядокКомпоновкиДанных_КолонкаПорядок_" Тогда // Изменение порядка. - - СтандартнаяОбработка = Ложь; - - ИзменитьНаправлениеСортировкиТаблицы(ИмяКолонки, Неопределено); - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_КолонкаИспользование_ПриИзменении(Элемент) - - КолонкаИспользованиеИмя = Элемент.Имя; - - ТаблицаИмя = СтрЗаменить(КолонкаИспользованиеИмя, "_КолонкаИспользование_", "_Таблица_"); - СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; - Если СтрокаТаблицы = Неопределено Тогда + ИдентификаторЭлемента = Прав(Элемент.Имя, 32); + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + Если ДополнительныеНастройки = Неопределено Тогда Возврат; КонецЕсли; - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(КолонкаИспользованиеИмя); + ПараметрыФормы = Новый Структура("Отмеченные"); + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ПараметрыФормы.Отмеченные = ЗначенияСписком(ПользовательскаяНастройкаКД.ПравоеЗначение); + Иначе + ПараметрыФормы.Отмеченные = ЗначенияСписком(ПользовательскаяНастройкаКД.Значение); + КонецЕсли; + ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ДополнительныеНастройки, Истина); - // Отражение изменений флажка элемента таблицы в соответствующей пользовательской настройке. - Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("СтруктураНастроекКомпоновкиДанных") Тогда - ИндексСтрокиТаблицы = ЭтотОбъект[ТаблицаИмя].Индекс(СтрокаТаблицы); - ПолеГруппировки = ПользовательскаяНастройкаКД.Структура.Получить(ИндексСтрокиТаблицы); - ПолеГруппировки.Использование = СтрокаТаблицы.Использование; - ПолеГруппировки.Состояние = СостояниеЭлементаНастройкиКомпоновкиДанных[?(СтрокаТаблицы.Использование, "Включен", "Отключен")]; - Иначе //ВыбранныеПоляКомпоновкиДанных, ПорядокКомпоновкиДанных - СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); - Если СтрокаПользовательскойНастройки <> Неопределено Тогда - СтрокаПользовательскойНастройки.Использование = СтрокаТаблицы.Использование; + ПараметрыФормы.Вставить("ПараметрыВыбора", Новый Массив); + + // Добавление фиксированных параметров выбора. + Для Каждого ПараметрВыбора Из Элемент.ПараметрыВыбора Цикл + Если ПустаяСтрока(ПараметрВыбора.Имя) Тогда + Продолжить; КонецЕсли; + Если ЗначениеЗаполнено(ПараметрВыбора.Имя) Тогда + ПараметрыФормы.ПараметрыВыбора.Добавить(ПараметрВыбора); + КонецЕсли; + КонецЦикла; + + // Добавление динамических параметров выбора (от ведущих). + Для Каждого СвязьПараметраВыбора Из Элемент.СвязиПараметровВыбора Цикл + Если ПустаяСтрока(СвязьПараметраВыбора.Имя) Тогда + Продолжить; + КонецЕсли; + ВедущийЗначение = ЭтотОбъект[СвязьПараметраВыбора.ПутьКДанным]; + ПараметрыФормы.ПараметрыВыбора.Добавить(Новый ПараметрВыбора(СвязьПараметраВыбора.Имя, ВедущийЗначение)); + КонецЦикла; + + ПараметрыОбработчика = Новый Структура; + ПараметрыОбработчика.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); + ПараметрыОбработчика.Вставить("ФлажокИмя", СтрЗаменить(Элемент.Имя, "_Значение_", "_Использование_")); + Обработчик = Новый ОписаниеОповещения("Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора_Завершение", ЭтотОбъект, ПараметрыОбработчика); + + Блокировать = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; + + ОткрытьФорму("ОбщаяФорма.ВводЗначенийСпискомСФлажками", ПараметрыФормы, ЭтотОбъект, , , , Обработчик, Блокировать); +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора_Завершение(РезультатВыбора, ПараметрыОбработчика) Экспорт + Если ТипЗнч(РезультатВыбора) <> Тип("СписокЗначений") Тогда + Возврат; КонецЕсли; + ПользовательскиеНастройкиМодифицированы = Истина; + ИдентификаторЭлемента = ПараметрыОбработчика.ИдентификаторЭлемента; + + ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); + ДополнительныеНастройки = НайтиДополнительныеНастройкиЭлемента(ИдентификаторЭлемента); + + // Загрузка выбранных значений в 2 списка. + Отмеченные = Новый СписокЗначений; + Если Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора = Новый Массив; + КонецЕсли; + Для Каждого ЭлементСписка Из РезультатВыбора Цикл + Значение = ЭлементСписка.Значение; + Если ЭлементСписка.Пометка Тогда + Если ТипЗнч(Значение) = Тип("ОписаниеТипов") Тогда + Значение = Значение.Типы()[0]; + КонецЕсли; + Отмеченные.Добавить().Значение = Значение; + ИначеЕсли Не ДополнительныеНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда + ДополнительныеНастройки.ЗначенияДляВыбора.Добавить(Значение); // Не отмечен, но выбран. + КонецЕсли; + КонецЦикла; + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ПользовательскаяНастройкаКД.ПравоеЗначение = Отмеченные; + Иначе + ПользовательскаяНастройкаКД.Значение = Отмеченные; + КонецЕсли; + + // Включение флажка Использование. + ЭтотОбъект[ПараметрыОбработчика.ФлажокИмя] = Истина; + ПользовательскаяНастройкаКД.Использование = Истина; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -380,21 +523,24 @@ ВидПериодаИмя = Элемент.Имя; ИдентификаторЭлемента = Прав(ВидПериодаИмя, 32); - ШаблонГенерацииПрефикс = Лев(ВидПериодаИмя, Найти(ВидПериодаИмя, "_Вид_")-1); + СвойстваНастройкиТип = Лев(ВидПериодаИмя, Найти(ВидПериодаИмя, "_Вид_")-1); - СтраницыИмя = ШаблонГенерацииПрефикс + "_Страницы_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерацииПрефикс + "_Использование_" + ИдентификаторЭлемента; - ПериодЗначениеИмя = ШаблонГенерацииПрефикс + "_Значение_" + ИдентификаторЭлемента; - ПериодПредставлениеИмя = ШаблонГенерацииПрефикс + "_Представление_" + ИдентификаторЭлемента; + СтраницыИмя = СвойстваНастройкиТип + "_Страницы_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ПериодПредставлениеИмя = СвойстваНастройкиТип + "_Представление_" + ИдентификаторЭлемента; + СтраницаПроизвольныйИмя = СвойстваНастройкиТип + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; + СтраницаСтандартныйИмя = СвойстваНастройкиТип + "_СтраницаСтандартный_" + ИдентификаторЭлемента; Значение = ЭтотОбъект[ПериодЗначениеИмя]; ВидПериода = ЭтотОбъект[ВидПериодаИмя]; - Если ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.ПроизвольныйПериод") Тогда + ВыбранПроизвольный = ВидПериода = ПредопределенноеЗначение("Перечисление.ДоступныеПериодыОтчета.ПроизвольныйПериод"); + + Если ВыбранПроизвольный Тогда // Переключение страницы. - СтраницаПроизвольныйИмя = ШаблонГенерацииПрефикс + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; Элементы[СтраницыИмя].ТекущаяСтраница = Элементы[СтраницаПроизвольныйИмя]; Значение.Вариант = ВариантСтандартногоПериода.ПроизвольныйПериод; @@ -402,7 +548,6 @@ Иначе // Переключение страницы. - СтраницаСтандартныйИмя = ШаблонГенерацииПрефикс + "_СтраницаСтандартный_" + ИдентификаторЭлемента; Элементы[СтраницыИмя].ТекущаяСтраница = Элементы[СтраницаСтандартныйИмя]; // Приведение значения периода в соответствие с выбранным видом. @@ -423,7 +568,7 @@ ЭтотОбъект[ПериодЗначениеИмя] = Значение; ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); - Если ШаблонГенерацииПрефикс = "Параметр" Тогда + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ПользовательскаяНастройкаКД.Значение = Значение; Иначе ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; @@ -443,11 +588,11 @@ // Формирование сведений по элементу. ПериодПредставлениеИмя = Элемент.Имя; ИдентификаторЭлемента = Прав(ПериодПредставлениеИмя, 32); - ШаблонГенерацииПрефикс = Лев(ПериодПредставлениеИмя, Найти(ПериодПредставлениеИмя, "_Представление_")-1); + СвойстваНастройкиТип = Лев(ПериодПредставлениеИмя, Найти(ПериодПредставлениеИмя, "_Представление_")-1); - ПериодЗначениеИмя = ШаблонГенерацииПрефикс + "_Значение_" + ИдентификаторЭлемента; - ВидПериодаИмя = ШаблонГенерацииПрефикс + "_Вид_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерацииПрефикс + "_Использование_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ВидПериодаИмя = СвойстваНастройкиТип + "_Вид_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; Значение = ЭтотОбъект[ПериодЗначениеИмя]; ВидПериода = ЭтотОбъект[ВидПериодаИмя]; @@ -468,7 +613,7 @@ ПараметрыВыбора.Вставить("ПериодЗначениеИмя", ПериодЗначениеИмя); ПараметрыВыбора.Вставить("ИспользованиеИмя", ИспользованиеИмя); ПараметрыВыбора.Вставить("ВидПериода", ВидПериода); - ПараметрыВыбора.Вставить("ЭтоПараметр", (ШаблонГенерацииПрефикс = "Параметр")); + ПараметрыВыбора.Вставить("ЭтоПараметр", СвойстваНастройкиТип = "ЗначениеПараметраНастроек"); ВыборПериодаИзВыпадающегоСписка(-1, ПараметрыВыбора); КонецПроцедуры @@ -479,9 +624,9 @@ // Формирование сведений по элементу. ПериодНачалоИмя = Элемент.Имя; ИдентификаторЭлемента = Прав(ПериодНачалоИмя, 32); - ШаблонГенерацииПрефикс = Лев(ПериодНачалоИмя, Найти(ПериодНачалоИмя, "_Начало_")-1); - ПериодЗначениеИмя = ШаблонГенерацииПрефикс + "_Значение_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерацииПрефикс + "_Использование_" + ИдентификаторЭлемента; + СвойстваНастройкиТип = Лев(ПериодНачалоИмя, Найти(ПериодНачалоИмя, "_Начало_")-1); + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; Значение = ЭтотОбъект[ПериодЗначениеИмя]; @@ -491,7 +636,7 @@ // Запись значения в пользовательские настройки компоновки данных. ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); - Если ШаблонГенерацииПрефикс = "Параметр" Тогда + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ПользовательскаяНастройкаКД.Значение = Значение; Иначе ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; @@ -510,10 +655,10 @@ // Формирование сведений по элементу. ПериодОкончаниеИмя = Элемент.Имя; ИдентификаторЭлемента = Прав(ПериодОкончаниеИмя, 32); - ШаблонГенерацииПрефикс = Лев(ПериодОкончаниеИмя, Найти(ПериодОкончаниеИмя, "_Окончание_")-1); + СвойстваНастройкиТип = Лев(ПериодОкончаниеИмя, Найти(ПериодОкончаниеИмя, "_Окончание_")-1); - ПериодЗначениеИмя = ШаблонГенерацииПрефикс + "_Значение_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерацииПрефикс + "_Использование_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройкиТип + "_Значение_" + ИдентификаторЭлемента; + ИспользованиеИмя = СвойстваНастройкиТип + "_Использование_" + ИдентификаторЭлемента; Значение = ЭтотОбъект[ПериодЗначениеИмя]; @@ -523,7 +668,7 @@ // Запись значения в пользовательские настройки компоновки данных. ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); - Если ШаблонГенерацииПрефикс = "Параметр" Тогда + Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда ПользовательскаяНастройкаКД.Значение = Значение; Иначе ПользовательскаяНастройкаКД.ПравоеЗначение = Значение; @@ -541,202 +686,30 @@ СтандартнаяОбработка = Ложь; КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// Подключаемые - Список значений с кнопкой "Подбор" - -&НаКлиенте -Процедура Подключаемый_СписокСПодбором_ПриИзменении(Элемент) - - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(Элемент.Имя); - Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда - ПользовательскаяНастройкаКД.Значение = ЭтотОбъект[Элемент.Имя]; - Иначе - ПользовательскаяНастройкаКД.ПравоеЗначение = ЭтотОбъект[Элемент.Имя]; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_СписокСПодбором_ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) - СтандартнаяОбработка = Ложь; - - // Добавление выбранных элементов с контролем уникальности. - СписокЗначений = ЭтотОбъект[Элемент.Имя]; - Если ТипЗнч(ВыбранноеЗначение) = Тип("Массив") Тогда - Для Каждого ЭлементМассива Из ВыбранноеЗначение Цикл - Если СписокЗначений.НайтиПоЗначению(ЭлементМассива) = Неопределено Тогда - СписокЗначений.Добавить(ЭлементМассива); - КонецЕсли; - КонецЦикла; - Иначе - Если СписокЗначений.НайтиПоЗначению(ВыбранноеЗначение) = Неопределено Тогда - СписокЗначений.Добавить(ВыбранноеЗначение); - КонецЕсли; - КонецЕсли; - - // Отражение изменений в пользовательской настройке. - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(Элемент.Имя); - Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда - ПользовательскаяНастройкаКД.Значение = СписокЗначений; - Иначе - ПользовательскаяНастройкаКД.ПравоеЗначение = СписокЗначений; - КонецЕсли; - - // Включение флажка Использование. - ИспользованиеИмя = СтрЗаменить(Элемент.Имя, "_СписокЗначений_", "_Использование_"); - Если Элементы.Найти(ИспользованиеИмя) <> Неопределено Тогда - ЭтотОбъект[ИспользованиеИмя] = Истина; - КонецЕсли; - ПользовательскаяНастройкаКД.Использование = Истина; - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_СписокСТипомТип_ПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ) - Если ОтменаРедактирования Тогда - Возврат; - КонецЕсли; - - СписокЗначений = ЭтотОбъект[Элемент.Имя]; - ТекущееЗначение = Элемент.ТекущиеДанные.Значение; - Если ТекущееЗначение = Новый ОписаниеТипов("Неопределено") Тогда - Отказ = Истина; // Запрет пустых значений для типа "Тип". - Иначе - Для Каждого ЭлементСписка Из СписокЗначений Цикл - Если ЭлементСписка.Значение = ТекущееЗначение И ЭлементСписка.ПолучитьИдентификатор() <> Элемент.ТекущаяСтрока Тогда - Отказ = Истина; // Запрет дублей. - Прервать; - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Если Отказ Тогда - Элемент.ЗакончитьРедактированиеСтроки(Истина); // Перезапуск события "ПередОкончаниемРедактирования" с ОтменаРедактирования = Истина. - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_СписокСТипомТип_ПриИзменении(Элемент) - - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(Элемент.Имя); - СписокЗначений = ЭтотОбъект[Элемент.Имя]; - СписокЗначенийДляСКД = Новый СписокЗначений; - ТипОписаниеТипов = Тип("ОписаниеТипов"); - ОписаниеТиповНеопределено = Новый ОписаниеТипов("Неопределено"); - - Для Каждого ЭлементСписка Из СписокЗначений Цикл - ЗначениеЭлемента = ЭлементСписка.Значение; - Если ТипЗнч(ЗначениеЭлемента) = ТипОписаниеТипов Тогда - Если ЗначениеЭлемента = ОписаниеТиповНеопределено Тогда - Продолжить; // Запрет пустых значений для типа "Тип". - КонецЕсли; - ЗначениеЭлемента = ЗначениеЭлемента.Типы()[0]; - КонецЕсли; - СписокЗначенийДляСКД.Добавить(ЗначениеЭлемента); - КонецЦикла; - - Если ТипЗнч(ПользовательскаяНастройкаКД) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда - ПользовательскаяНастройкаКД.Значение = СписокЗначенийДляСКД; - Иначе - ПользовательскаяНастройкаКД.ПравоеЗначение = СписокЗначенийДляСКД; - КонецЕсли; - -КонецПроцедуры - #КонецОбласти #Область ОбработчикиКомандФормы -&НаКлиенте -Процедура СкрытьПоказатьНастройкиИДругиеОтчеты(Команда) - СостояниеДоИзменения = Новый Структура("Видимость, ДополнительныйРежимОтображения, Картинка, Текст"); - ЗаполнитьЗначенияСвойств(СостояниеДоИзменения, Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния); - - Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ВидимостьПравойПанели", Не Элементы.ПраваяПанель.Видимость); - ВидимостьДоступностьКорректность("СкрытьПоказатьНастройкиИДругиеОтчеты"); - - ЗаполнитьЗначенияСвойств(Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния, СостояниеДоИзменения); -КонецПроцедуры - -&НаКлиенте -Процедура СкрытьПоказатьБыстрыеНастройки(Команда) - СостояниеДоИзменения = Новый Структура("Видимость, ДополнительныйРежимОтображения, Картинка, Текст"); - ЗаполнитьЗначенияСвойств(СостояниеДоИзменения, Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния); - - Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ВидимостьБыстрыхНастроек", Не Элементы.ПанельБыстрыхНастроек.Видимость); - Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ВидимостьПанелиОтчетов", Ложь); - ВидимостьДоступностьКорректность("СкрытьПоказатьБыстрыеНастройки"); - - ЗаполнитьЗначенияСвойств(Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния, СостояниеДоИзменения); -КонецПроцедуры - -&НаКлиенте -Процедура СкрытьПоказатьОтчеты(Команда) - СостояниеДоИзменения = Новый Структура("Видимость, ДополнительныйРежимОтображения, Картинка, Текст"); - ЗаполнитьЗначенияСвойств(СостояниеДоИзменения, Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния); - - Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ВидимостьБыстрыхНастроек", Ложь); - Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ВидимостьПанелиОтчетов", Не Элементы.ПанельОтчетов.Видимость); - ВидимостьДоступностьКорректность("СкрытьПоказатьПанельОтчетов"); - - ЗаполнитьЗначенияСвойств(Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния, СостояниеДоИзменения); -КонецПроцедуры - -&НаКлиенте -Процедура ВариантНажатие(Элемент) - Найденные = ВариантыПанели.НайтиСтроки(Новый Структура("НадписьИмя", Элемент.Имя)); - Если Найденные.Количество() <> 1 Тогда - Возврат; - КонецЕсли; - Вариант = Найденные[0]; - - ПараметрыОткрытия = Новый Структура; - ПараметрыОткрытия.Вставить("КлючВарианта", Вариант.КлючВарианта); - ПараметрыОткрытия.Вставить("Раздел", ФормаПараметры.Раздел); - ПараметрыОткрытия.Вставить("Подсистема", ФормаПараметры.Подсистема); - ПараметрыОткрытия.Вставить("ПодсистемаПредставление", ФормаПараметры.ПодсистемаПредставление); - - // Открытие - Если Вариант.Дополнительный Тогда - - ПараметрыОткрытия.Вставить("Вариант", Вариант.Ссылка); - ПараметрыОткрытия.Вставить("Отчет", Вариант.Отчет); - ВариантыОтчетовКлиент.ОткрытьВариантДополнительногоОтчета(ПараметрыОткрытия); - - ИначеЕсли Не ЗначениеЗаполнено(Вариант.ИмяОтчета) Тогда - - ТекстПредупреждения = СтрЗаменить(НСтр("ru = 'Не заполнено имя отчета для варианта ""%1"".'"), "%1", Вариант.Наименование); - ПоказатьПредупреждение(, ТекстПредупреждения); - - Иначе - - Уникальность = "Отчет." + Вариант.ИмяОтчета; - Если ЗначениеЗаполнено(Вариант.КлючВарианта) Тогда - Уникальность = Уникальность + "/КлючВарианта." + Вариант.КлючВарианта; - КонецЕсли; - - ПараметрыОткрытия.Вставить("КлючПараметровПечати", Уникальность); - ПараметрыОткрытия.Вставить("КлючСохраненияПоложенияОкна", Уникальность); - - ОткрытьФорму("Отчет." + Вариант.ИмяОтчета + ".Форма", ПараметрыОткрытия, Неопределено, Уникальность); - - КонецЕсли; -КонецПроцедуры - &НаКлиенте Процедура ВсеНастройки(Команда) ПараметрыФормы = Новый Структура; - Для Каждого КлючИЗначение Из ФормаПараметры Цикл - ПараметрыФормы.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение); - КонецЦикла; - ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); - ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); - ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); - ПараметрыФормы.Вставить("ПредставлениеВарианта", Строка(ОтчетНаименованиеТекущегоВарианта)); + + ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(ПараметрыФормы, ФормаПараметры, Истина); + + ПараметрыФормы.Вставить("Вариант", Отчет.КомпоновщикНастроек.Настройки); + ПараметрыФормы.Вставить("КлючОбъекта", Строка(КлючОбъекта)); + ПараметрыФормы.Вставить("КлючВарианта", Строка(КлючТекущегоВарианта)); + ПараметрыФормы.Вставить("ВариантСсылка", ВариантСсылка); + ПараметрыФормы.Вставить("НастройкиОтчета", НастройкиОтчета); + ПараметрыФормы.Вставить("НаименованиеОтчета", НаименованиеОтчета); + ПараметрыФормы.Вставить("ПредставлениеВарианта", Строка(ОтчетНаименованиеТекущегоВарианта)); + ПараметрыФормы.Вставить("ПользовательскиеНастройки", Отчет.КомпоновщикНастроек.ПользовательскиеНастройки); ПараметрыФормы.Вставить("ПредставлениеПользовательскихНастроек", ""); - ОткрытьФорму(КлючОбъекта + ".ФормаНастроек", ПараметрыФормы, ЭтотОбъект); + Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; + + ОткрытьФорму(КлючОбъекта + ".ФормаНастроек", ПараметрыФормы, ЭтотОбъект, , , , , Режим); КонецПроцедуры @@ -758,12 +731,11 @@ КонецПроцедуры &НаКлиенте -Процедура СброситьНастройки(Команда) +Процедура НастройкиПоУмолчанию(Команда) ПараметрыЗаполнения = Новый Структура; ПараметрыЗаполнения.Вставить("Событие", Новый Структура); - ПараметрыЗаполнения.Событие.Вставить("Имя", "СброситьНастройки"); + ПараметрыЗаполнения.Событие.Вставить("Имя", "НастройкиПоУмолчанию"); ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Истина); - ПараметрыЗаполнения.Вставить("СброситьНастройки", Истина); БыстрыеНастройкиЗаполнить(ПараметрыЗаполнения); КонецПроцедуры @@ -805,6 +777,23 @@ СуммаВыделенныхЯчеек = ВычислитьСуммуСервер(ОтчетТабличныйДокумент, ВыделенныеОбласти()); КонецПроцедуры +&НаКлиенте +Процедура ФормироватьСразу(Команда) + + ФормироватьСразу = Не НастройкиОтчета.ФормироватьСразу; + НастройкиОтчета.ФормироватьСразу = ФормироватьСразу; + Элементы.ФормироватьСразу.Пометка = ФормироватьСразу; + + СостояниеДоИзменения = Новый Структура("Видимость, ДополнительныйРежимОтображения, Картинка, Текст"); + ЗаполнитьЗначенияСвойств(СостояниеДоИзменения, Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния); + + Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ФормироватьСразу", ФормироватьСразу); + ПользовательскиеНастройкиМодифицированы = Истина; + + ЗаполнитьЗначенияСвойств(Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния, СостояниеДоИзменения); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Подключаемые @@ -820,123 +809,11 @@ КонецПроцедуры &НаКлиенте -Процедура Подключаемый_СписокСПодбором_Подбор(Команда) - - КнопкаПодборИмя = Команда.Имя; - - ИдентификаторЭлемента = Прав(КнопкаПодборИмя, 32); - ШаблонГенерацииПрефикс = Лев(КнопкаПодборИмя, Найти(КнопкаПодборИмя, "_Подбор_")-1); - - ТаблицаИмя = ШаблонГенерацииПрефикс + "_СписокЗначений_" + ИдентификаторЭлемента; - КолонкаЗначениеИмя = ШаблонГенерацииПрефикс + "_Колонка_Значение_" + ИдентификаторЭлемента; - КоманднаяПанельИмя = ШаблонГенерацииПрефикс + "_КоманднаяПанель_" + ИдентификаторЭлемента; - - ТаблицаЗначение = ЭтотОбъект[ТаблицаИмя]; - КолонкаЗначениеЭлемент = Элементы[КолонкаЗначениеИмя]; - - ПараметрыЭлемента = Новый Структура; - ПараметрыЭлемента.Вставить("ИдентификаторЭлемента", ИдентификаторЭлемента); - ПараметрыЭлемента.Вставить("ВыбранныйТип", Неопределено); - ПараметрыЭлемента.Вставить("КолонкаЗначениеЭлемент", КолонкаЗначениеЭлемент); - ПараметрыЭлемента.Вставить("ТаблицаЭлемент", Элементы[ТаблицаИмя]); - ПараметрыЭлемента.Вставить("ВыборТолькоГрупп", КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = ГруппыИЭлементы.Группы); - - Если ЗначениеЗаполнено(КолонкаЗначениеЭлемент.СвязьПоТипу.ПутьКДанным) Тогда - ЗначениеВедущего = ЭтотОбъект[КолонкаЗначениеЭлемент.СвязьПоТипу.ПутьКДанным]; - Если ЗначениеЗаполнено(ЗначениеВедущего) Тогда - ТипВедущего = ТипЗнч(ЗначениеВедущего); - Если ТаблицаЗначение.ТипЗначения.СодержитТип(ТипВедущего) Тогда - // Тип определен ведущим. - ПараметрыЭлемента.ВыбранныйТип = ТипВедущего; - ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); - Возврат; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - // Выбор типа из списка. - СписокВыбора = Новый СписокЗначений; - - ПростыеТипы = Новый Соответствие; - ПростыеТипы.Вставить(Тип("Строка"), Истина); - ПростыеТипы.Вставить(Тип("Дата"), Истина); - ПростыеТипы.Вставить(Тип("Число"), Истина); - - МассивТипов = ТаблицаЗначение.ТипЗначения.Типы(); - Для Каждого Тип Из МассивТипов Цикл - // Исключение типов, для которых нет групп. - Если ПараметрыЭлемента.ВыборТолькоГрупп Тогда - ИмяОбъектаМетаданных = БыстрыйПоискИменОбъектовМетаданных.Получить(Тип); - ВидОбъектаМетаданных = ВРег(Лев(ИмяОбъектаМетаданных, Найти(ИмяОбъектаМетаданных, ".")-1)); - Если ВидОбъектаМетаданных <> "СПРАВОЧНИК" И ВидОбъектаМетаданных <> "ПЛАНВИДОВХАРАКТЕРИСТИК" И ВидОбъектаМетаданных <> "ПЛАНСЧЕТОВ" Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - // Исключение простых типов. - Если ПростыеТипы[Тип] = Истина Тогда - Продолжить; - КонецЕсли; - // Добавление типа в список выбора. - СписокВыбора.Добавить(Тип, Строка(Тип)); - КонецЦикла; - - Если СписокВыбора.Количество() = 0 Тогда - ПараметрыЭлемента.ТаблицаЭлемент.ДобавитьСтроку(); - Возврат; - ИначеЕсли СписокВыбора.Количество() = 1 Тогда - // Один тип - выбор не требуется. - ПараметрыЭлемента.ВыбранныйТип = СписокВыбора[0].Значение; - ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); - Иначе - // Более одного типа. - Обработчик = Новый ОписаниеОповещения("ПоказатьДиалогПодбораДляСпискаПослеВыбораТипа", ЭтотОбъект, ПараметрыЭлемента); - ПоказатьВыборИзМеню(Обработчик, СписокВыбора, Элементы[КоманднаяПанельИмя]); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_СписокСПодбором_Добавить(Команда) - - КнопкаПодборИмя = Команда.Имя; - - ИдентификаторЭлемента = Прав(КнопкаПодборИмя, 32); - ШаблонГенерацииПрефикс = Лев(КнопкаПодборИмя, Найти(КнопкаПодборИмя, "_Подбор_") - 1); - - ТаблицаИмя = ШаблонГенерацииПрефикс + "_СписокЗначений_" + ИдентификаторЭлемента; - - Элементы[ТаблицаИмя].ДобавитьСтроку(); - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_ПереместитьВверх(Команда) - Направление = -1; - ТаблицаИмя = СтрЗаменить(Команда.Имя, "_Команда_ПереместитьВверх_", "_Таблица_"); - ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя); -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_ПереместитьВниз(Команда) - Направление = 1; - ТаблицаИмя = СтрЗаменить(Команда.Имя, "_Команда_ПереместитьВниз_", "_Таблица_"); - ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя); -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_СортироватьПоВозрастанию(Команда) - - // Установка направления сортировки. - ИзменитьНаправлениеСортировкиТаблицы(Команда.Имя, НаправлениеСортировкиКомпоновкиДанных.Возр); - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ТаблицаПорядка_СортироватьПоУбыванию(Команда) - - // Установка направления сортировки. - ИзменитьНаправлениеСортировкиТаблицы(Команда.Имя, НаправлениеСортировкиКомпоновкиДанных.Убыв); - +Процедура Подключаемый_ЗагрузитьПользовательскуюНастройку(Команда) + КнопкаИдентификатор = Прав(Команда.Имя, 32); + КнопкаУникальныйИдентификатор = ПривестиИмяКИдентификатору(КнопкаИдентификатор); + НеобходимоОбновитьНастройки = Истина; + УстановитьТекущиеПользовательскиеНастройки(КнопкаУникальныйИдентификатор); КонецПроцедуры #КонецОбласти @@ -1094,63 +971,6 @@ КонецЕсли; КонецФункции -&НаКлиенте -Процедура ПереместитьСтрокуТаблицы(Направление, ТаблицаИмя) - - СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; - Если СтрокаТаблицы = Неопределено Тогда - Возврат; - КонецЕсли; - - Таблица = ЭтотОбъект[ТаблицаИмя]; - ИндексСтрокиТаблицы = Таблица.Индекс(СтрокаТаблицы); - Если ИндексСтрокиТаблицы + Направление < 0 ИЛИ ИндексСтрокиТаблицы + Направление >= Таблица.Количество() Тогда - Возврат; - КонецЕсли; - - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ТаблицаИмя); - СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); - - ПользовательскаяНастройкаКД.Элементы.Сдвинуть(СтрокаПользовательскойНастройки, Направление); - Таблица.Сдвинуть(ИндексСтрокиТаблицы, Направление); - -КонецПроцедуры - -&НаКлиенте -Процедура ИзменитьНаправлениеСортировкиТаблицы(ИмяЭлемента, Направление) - - // Формирование сведений о таблице. - ИдентификаторЭлемента = Прав(ИмяЭлемента, 32); - ШаблонГенерацииПрефикс = Лев(ИмяЭлемента, Найти(ИмяЭлемента, "_")-1); - ТаблицаИмя = ШаблонГенерацииПрефикс + "_Таблица_" + ИдентификаторЭлемента; - - // Получение данных. - СтрокаТаблицы = Элементы[ТаблицаИмя].ТекущиеДанные; - Если СтрокаТаблицы = Неопределено Тогда - Возврат; - КонецЕсли; - - ПользовательскаяНастройкаКД = НайтиПользовательскуюНастройкуЭлемента(ИдентификаторЭлемента); - СтрокаПользовательскойНастройки = ФункцииОтчетовКлиентСервер.НайтиВложеннуюПользовательскуюНастройку(ПользовательскаяНастройкаКД, СтрокаТаблицы.Идентификатор); - Если СтрокаПользовательскойНастройки = Неопределено Тогда - Возврат; - КонецЕсли; - - // Заполнение необязательных параметров. - Если Направление = Неопределено Тогда - Если СтрокаПользовательскойНастройки.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда - Направление = НаправлениеСортировкиКомпоновкиДанных.Убыв; - Иначе - Направление = НаправлениеСортировкиКомпоновкиДанных.Возр; - КонецЕсли; - КонецЕсли; - - // Изменение направления сортировки. - СтрокаПользовательскойНастройки.ТипУпорядочивания = Направление; - СтрокаТаблицы.Направление = Направление; - -КонецПроцедуры - &НаКлиенте Функция НайтиПользовательскуюНастройкуЭлемента(ИмяИлиИдентификаторЭлемента) // Для пользовательских настроек хранятся идентификаторы компоновки данных, @@ -1164,6 +984,25 @@ Возврат Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ИдентификаторКД); КонецФункции +&НаКлиенте +Функция НайтиДополнительныеНастройкиЭлемента(ИмяИлиИдентификаторЭлемента) + // Для пользовательских настроек хранятся идентификаторы компоновки данных, + // поскольку они не могут храниться по ссылке (происходит копирование значения). + Если СтрДлина(ИмяИлиИдентификаторЭлемента) = 32 Тогда + ИдентификаторЭлемента = ИмяИлиИдентификаторЭлемента; + Иначе + ИдентификаторЭлемента = Прав(ИмяИлиИдентификаторЭлемента, 32); + КонецЕсли; + + ВсеДополнительныеНастройки = Неопределено; + Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Свойство("ЭлементыФормы", ВсеДополнительныеНастройки); + Если ВсеДополнительныеНастройки = Неопределено Тогда + Возврат Неопределено + Иначе + Возврат ВсеДополнительныеНастройки[ИдентификаторЭлемента]; + КонецЕсли; +КонецФункции + &НаКлиенте Функция ВыполнитьКонтекстныйВызовСервера(КлючОперации, ПараметрыОперации) Экспорт // Исключение из стандартов разработки // Программный интерфейс для контекстного вызова сервера из клиентского общего модуля. @@ -1230,79 +1069,14 @@ КонецПроцедуры &НаКлиенте -Процедура ПоказатьДиалогПодбораДляСпискаПослеВыбораТипа(ВыбранныйЭлемент, ПараметрыЭлемента) Экспорт - Если ВыбранныйЭлемент <> Неопределено Тогда - ПараметрыЭлемента.ВыбранныйТип = ВыбранныйЭлемент.Значение; - ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента); +Процедура СформироватьПриНеобходимости() + Если НеобходимоОбновитьНастройки Тогда + ПриОбновленииСоставаПользовательскихНастроекНаСервере(Истина); КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ПоказатьДиалогПодбораДляСписка(ПараметрыЭлемента) - КолонкаЗначениеЭлемент = ПараметрыЭлемента.КолонкаЗначениеЭлемент; - - // Полное имя формы выбора. - // Свойство "ФормаВыбора" недоступно на клиенте даже для чтения, - // поэтому для хранения предустановленных имен форм выбора используется коллекция БыстрыйПоискИменОбъектовМетаданных. - ПутьКФорме = БыстрыйПоискИменОбъектовМетаданных.Получить(ПараметрыЭлемента.ИдентификаторЭлемента); - Если Не ЗначениеЗаполнено(ПутьКФорме) Тогда - ИмяОбъектаМетаданных = БыстрыйПоискИменОбъектовМетаданных.Получить(ПараметрыЭлемента.ВыбранныйТип); - Если ПараметрыЭлемента.ВыборТолькоГрупп Тогда - ВидОбъектаМетаданных = ВРег(Лев(ИмяОбъектаМетаданных, Найти(ИмяОбъектаМетаданных, ".")-1)); - Если ВидОбъектаМетаданных = "СПРАВОЧНИК" Или ВидОбъектаМетаданных = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда - ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбораГруппы"; - Иначе - ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбора"; - КонецЕсли; - Иначе - ПутьКФорме = ИмяОбъектаМетаданных + ".ФормаВыбора"; - КонецЕсли; + Если НадоСформировать Тогда + НадоСформировать = Ложь; + ОтчетСкомпоноватьРезультат(Неопределено); КонецЕсли; - - ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуИспользованиеГруппИЭлементов(КолонкаЗначениеЭлемент.ВыборГруппИЭлементов); - - ПараметрыФормыВыбора = Новый Структура; - // Стандартные параметры формы. - ПараметрыФормыВыбора.Вставить("ЗакрыватьПриВыборе", Ложь); - ПараметрыФормыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", Истина); - ПараметрыФормыВыбора.Вставить("Отбор", Новый Структура); - // Стандартные параметры формы выбора (см. Расширение управляемой формы для динамического списка). - ПараметрыФормыВыбора.Вставить("ВыборГруппИЭлементов", ВыборГруппИЭлементов); - ПараметрыФормыВыбора.Вставить("МножественныйВыбор", Истина); - ПараметрыФормыВыбора.Вставить("РежимВыбора", Истина); - // Предполагаемые реквизиты. - ПараметрыФормыВыбора.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); - ПараметрыФормыВыбора.Вставить("РазрешитьНачалоПеретаскивания", Ложь); - - // Добавление фиксированных параметров выбора. - Для Каждого ПараметрВыбора Из КолонкаЗначениеЭлемент.ПараметрыВыбора Цикл - Если ПустаяСтрока(ПараметрВыбора.Имя) Тогда - Продолжить; - КонецЕсли; - Если ЗначениеЗаполнено(ПараметрВыбора.Имя) Тогда - Если ВРег(Лев(ПараметрВыбора.Имя, 6)) = ВРег("Отбор.") Тогда - ПараметрыФормыВыбора.Отбор.Вставить(Сред(ПараметрВыбора.Имя, 7), ПараметрВыбора.Значение); - Иначе - ПараметрыФормыВыбора.Вставить(ПараметрВыбора.Имя, ПараметрВыбора.Значение); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - // Добавление динамических параметров выбора (от ведущих). - Для Каждого СвязьПараметраВыбора Из КолонкаЗначениеЭлемент.СвязиПараметровВыбора Цикл - Если ПустаяСтрока(СвязьПараметраВыбора.Имя) Тогда - Продолжить; - КонецЕсли; - ВедущийЗначение = ЭтотОбъект[СвязьПараметраВыбора.ПутьКДанным]; - Если ВРег(Лев(СвязьПараметраВыбора.Имя, 6)) = ВРег("Отбор.") Тогда - ПараметрыФормыВыбора.Отбор.Вставить(Сред(СвязьПараметраВыбора.Имя, 7), ВедущийЗначение); - Иначе - ПараметрыФормыВыбора.Вставить(СвязьПараметраВыбора.Имя, ВедущийЗначение); - КонецЕсли; - КонецЦикла; - - ОткрытьФорму(ПутьКФорме, ПараметрыФормыВыбора, ПараметрыЭлемента.ТаблицаЭлемент); - КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -1310,7 +1084,12 @@ &НаКлиентеНаСервереБезКонтекста Функция ПривестиИдентификаторКИмени(Идентификатор) - Возврат СтрЗаменить(Строка(Идентификатор), "-", ""); + Возврат СтрЗаменить(СтрЗаменить(Строка(Идентификатор), "-", ""), ".", "_"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПривестиИмяКИдентификатору(Имя) + Возврат Лев(Имя, 8) + "-" + Сред(Имя, 9, 4) + "-" + Сред(Имя, 13, 4) + "-" + Сред(Имя, 17, 4) + "-" + Сред(Имя, 21); КонецФункции &НаКлиентеНаСервереБезКонтекста @@ -1413,11 +1192,16 @@ КодСимвола = КодСимвола(ИсходнаяСтрока, НомерСимвола); Если КодСимвола = 32 Или КодСимвола = 160 Тогда // Пробел или неразрывный пробел. // Пропуск (действие не требуется). - ИначеЕсли КодСимвола = 45 Тогда // Минус. + ИначеЕсли КодСимвола = 45 Или КодСимвола = 40 Тогда // Минус или открывающая скобка. Если Результат <> 0 Тогда Возврат 0; КонецЕсли; ЗнакОтрицательный = Истина; + ИначеЕсли КодСимвола = 41 Тогда // Закрывающая скобка. + Если Не ЗнакОтрицательный Или Результат = 0 Тогда // Не было открывающей скобки или нет числа. + Возврат 0; + КонецЕсли; + // Пропуск (действие не требуется). ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. Если ЗнаковПослеЗапятой <> -1 Тогда Возврат 0; // Разделитель уже был, следовательно это не число. @@ -1444,16 +1228,46 @@ Возврат Результат; КонецФункции +&НаКлиентеНаСервереБезКонтекста +Функция ДобавитьУникальноеЗначениеВСписок(СписокЗначений, Значение, Представление, Использование) + Если Не ЗначениеЗаполнено(Значение) И Не ЗначениеЗаполнено(Представление) Тогда + Возврат Неопределено; + КонецЕсли; + ЭлементСписка = СписокЗначений.НайтиПоЗначению(Значение); + Если ЭлементСписка = Неопределено Тогда + ЭлементСписка = СписокЗначений.Добавить(); + ЭлементСписка.Значение = Значение; + КонецЕсли; + Если ЗначениеЗаполнено(Представление) Тогда + ЭлементСписка.Представление = Представление; + ИначеЕсли Не ЗначениеЗаполнено(ЭлементСписка.Представление) Тогда + ЭлементСписка.Представление = Строка(Значение); + КонецЕсли; + Если Использование И Не ЭлементСписка.Пометка Тогда + ЭлементСписка.Пометка = Истина; + КонецЕсли; + Возврат ЭлементСписка; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЗначенияСписком(Значения) + Если ТипЗнч(Значения) = Тип("СписокЗначений") Тогда + Возврат Значения; + Иначе + СписокЗначений = Новый СписокЗначений; + ДобавитьУникальноеЗначениеВСписок(СписокЗначений, Значения, Неопределено, Ложь); + Значения = СписокЗначений; + Возврат СписокЗначений; + КонецЕсли; +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Вызов сервера &НаСервере Процедура ВидимостьДоступностьКорректность(Изменения = "") // Быстрые настройки - Если Изменения = "" - Или Изменения = "СкрытьПоказатьБыстрыеНастройки" - Или Изменения = "СкрытьПоказатьПанельОтчетов" - Или Изменения = "СкрытьПоказатьНастройкиИДругиеОтчеты" Тогда + Если Изменения = "" Тогда // Вычисление параметров отображения. ПользовательскиеНастройкиКД = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки; @@ -1463,42 +1277,17 @@ // Применение параметров отображения. Элементы.ВсеНастройки.Видимость = ЕстьМедленныеНастройки; Элементы.КомандыВариантовОтчета.Видимость = ПоказыватьКомандыВариантовОтчетов; - Элементы.КомандыВариантовПользовательскихНастроек.Видимость = ПоказыватьКомандыВариантовОтчетов И ЕстьМедленныеНастройки; + Элементы.ГруппаПользовательскиеНастройки_Левая.Видимость = ПоказыватьКомандыВариантовОтчетов И ЕстьМедленныеНастройки; + Элементы.ГруппаПользовательскиеНастройки.Видимость = ПоказыватьКомандыВариантовОтчетов И ЕстьМедленныеНастройки; - Если ПоказыватьКомандыВариантовОтчетов Тогда - ЗаполнитьПанельОтчета(); + Если ВариантыПанелиКлючТекущегоВарианта <> КлючТекущегоВарианта Тогда + ВариантыПанелиКлючТекущегоВарианта = КлючТекущегоВарианта; + ЗаполнитьКомандыВыбораПользовательскихНастроек(); КонецЕсли; - ВидимостьПравойПанели = Неопределено; - ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ВидимостьПравойПанели", ВидимостьПравойПанели); - Если ТипЗнч(ВидимостьПравойПанели) <> Тип("Булево") Тогда - ВидимостьПравойПанели = Истина; - КонецЕсли; - - Элементы.СтраницаБыстрыеНастройки.Видимость = ЕстьБыстрыеНастройки; - Элементы.СтраницаДругиеОтчеты.Видимость = ЕстьДругиеОтчеты; - Если ЕстьБыстрыеНастройки И ЕстьДругиеОтчеты Тогда - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Видимость = Истина; - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Заголовок = НСтр("ru = 'Настройки и другие отчеты'"); - Элементы.ПраваяПанель.ОтображениеСтраниц = ОтображениеСтраницФормы.ЗакладкиСверху; - ИначеЕсли ЕстьБыстрыеНастройки Тогда - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Видимость = Истина; - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Заголовок = НСтр("ru = 'Настройки'"); - Элементы.ПраваяПанель.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; - ИначеЕсли ЕстьДругиеОтчеты Тогда - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Видимость = Истина; - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Заголовок = НСтр("ru = 'Другие отчеты'"); - Элементы.ПраваяПанель.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; - Иначе - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Видимость = Ложь; - ВидимостьПравойПанели = Ложь; - КонецЕсли; - - Если Элементы.ПраваяПанель.Видимость <> ВидимостьПравойПанели Тогда - Элементы.ПраваяПанель.Видимость = ВидимостьПравойПанели; - КонецЕсли; - Элементы.СкрытьПоказатьНастройкиИДругиеОтчеты.Пометка = ВидимостьПравойПанели; - + //Элементы.ВсеНастройки_Левая.Видимость = ЕстьОбычныеНастройки Или ЕстьДругиеОтчеты; + //Элементы.ВсеНастройки.Видимость = ЕстьОбычныеНастройки Или ЕстьДругиеОтчеты; + Элементы.ФормироватьСразу.Пометка = НастройкиОтчета.ФормироватьСразу; КонецЕсли; // Заголовок @@ -1513,13 +1302,30 @@ Заголовок = РежимРасшифровкиПредставлениеВладельца + " (" + НРег(Заголовок) + ")"; КонецЕсли; КонецЕсли; + КонецПроцедуры &НаСервере Процедура БыстрыеНастройкиЗаполнить(Знач ПараметрыЗаполнения) + Если ПараметрыЗаполнения.Свойство("Переформировать") И ПараметрыЗаполнения.Переформировать Тогда + НадоСформировать = Истина; + КонецЕсли; + + // Вставка значений по умолчанию для обязательных ключей параметров заполнения. + БыстрыеНастройкиДозаполнитьПараметры(ПараметрыЗаполнения); + + Если НастройкиОтчета.События.ПередЗаполнениемПанелиБыстрыхНастроек + Или НастройкиОтчета.События.ПослеЗаполненияПанелиБыстрыхНастроек Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + КонецЕсли; + // Вызов переопределяемого модуля. - ФормаОтчетаПереопределяемый.ПередЗаполнениемПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Если НастройкиОтчета.События.ПередЗаполнениемПанелиБыстрыхНастроек Тогда + ОтчетОбъект.ПередЗаполнениемПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Иначе + ФормаОтчетаПереопределяемый.ПередЗаполнениемПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + КонецЕсли; // Запись новых настроек варианта и пользовательских настроек в компоновщик. БыстрыеНастройкиЗагрузитьНастройкиВКомпоновщик(ПараметрыЗаполнения); @@ -1530,18 +1336,30 @@ // Добавление элементов актуальных настроек и загрузка значений. БыстрыеНастройкиСоздатьЭлементыУправленияИЗагрузитьЗначения(ПараметрыЗаполнения); + // Обработка дополнительных настроек. + ПослеИзмененияКлючевыхСостояний(ПараметрыЗаполнения); + // Заголовок и свойства элементов. ВидимостьДоступностьКорректность(); // Вызов переопределяемого модуля. - ФормаОтчетаПереопределяемый.ПослеЗаполненияПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Если НастройкиОтчета.События.ПослеЗаполненияПанелиБыстрыхНастроек Тогда + ОтчетОбъект.ПослеЗаполненияПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + Иначе + ФормаОтчетаПереопределяемый.ПослеЗаполненияПанелиБыстрыхНастроек(ЭтотОбъект, ПараметрыЗаполнения); + КонецЕсли; КонецПроцедуры &НаСервере Функция КонтекстныйВызовСервера(КлючОперации, ПараметрыОперации) РезультатВызова = Новый Структура; - ФормаОтчетаПереопределяемый.КонтекстныйВызовСервера(ЭтотОбъект, КлючОперации, ПараметрыОперации, РезультатВызова); + Если НастройкиОтчета.События.КонтекстныйВызовСервера Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + ОтчетОбъект.КонтекстныйВызовСервера(ЭтотОбъект, КлючОперации, ПараметрыОперации, РезультатВызова); + Иначе + ФормаОтчетаПереопределяемый.КонтекстныйВызовСервера(ЭтотОбъект, КлючОперации, ПараметрыОперации, РезультатВызова); + КонецЕсли; Возврат РезультатВызова; КонецФункции @@ -1552,10 +1370,7 @@ // Формирование отчета. ДопСвойства.Вставить("КлючВарианта", КлючТекущегоВарианта); - - ПараметрыПечатиДоФормирования = НастройкиОтчета.ПараметрыПечатиПоУмолчанию; - ЗаполнитьЗначенияСвойств(ПараметрыПечатиДоФормирования, ОтчетТабличныйДокумент); - + НастройкиПечатиСохранить(); ИнформацияОбОшибке = Неопределено; Попытка СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто); @@ -1563,8 +1378,7 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); КонецПопытки; ДопСвойства.Удалить("КлючВарианта"); - - ЗаполнитьЗначенияСвойств(ОтчетТабличныйДокумент, ПараметрыПечатиДоФормирования); + НастройкиПечатиВосстановить(); Если ИнформацияОбОшибке <> Неопределено Тогда ПоказатьОшибкиФормирования(ИнформацияОбОшибке); @@ -1687,13 +1501,23 @@ Для Каждого СтрокаСвязиОтбора Из ВсеСвязиВедущего.ПараметрыВыбораПодчиненных Цикл ПодчиненныйЭлемент = Элементы[СтрокаСвязиОтбора.ПодчиненныйИмяЭлемента]; УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, СтрокаСвязиОтбора, Использование); - Если ЗначениеИзменено = Истина И СтрокаСвязиОтбора.Действие = РежимИзмененияСвязанногоЗначения.Очищать Тогда - Если ТипЗнч(ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита]) = Тип("СписокЗначений") Тогда - ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита].Очистить(); - Иначе - ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита] = Неопределено; + Если ЗначениеИзменено = Истина + И СтрокаСвязиОтбора.Действие = РежимИзмененияСвязанногоЗначения.Очищать Тогда + Если Не ПустаяСтрока(СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита) Тогда + ЗначениеРеквизита = ЗначениеРеквизита(СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита); + Если ЗначениеРеквизита <> Неопределено Тогда + Если ТипЗнч(ЗначениеРеквизита) = Тип("СписокЗначений") Тогда + ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита].Очистить(); + Иначе + ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяРеквизита] = Неопределено; + КонецЕсли; + КонецЕсли; КонецЕсли; - Если Не ПустаяСтрока(СтрокаСвязиОтбора.ПодчиненныйИмяФлажка) Тогда + Если Не ПустаяСтрока(СтрокаСвязиОтбора.ПодчиненныйИмяФлажка) + И ЗначениеРеквизита(СтрокаСвязиОтбора.ПодчиненныйИмяФлажка) <> Неопределено Тогда + ИдентификаторКД = БыстрыйПоискПользовательскихНастроек.Получить(СтрокаСвязиОтбора.ПодчиненныйИдентификатор); + ПользовательскаяНастройка = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ИдентификаторКД); + ПользовательскаяНастройка.Использование = Ложь; ЭтотОбъект[СтрокаСвязиОтбора.ПодчиненныйИмяФлажка] = Ложь; КонецЕсли; КонецЕсли; @@ -1706,14 +1530,20 @@ // Сервер &НаСервере -Процедура БыстрыеНастройкиЗагрузитьНастройкиВКомпоновщик(ПараметрыЗаполнения) +Процедура БыстрыеНастройкиДозаполнитьПараметры(ПараметрыЗаполнения) + Если Не ПараметрыЗаполнения.Свойство("Событие") Тогда + ПараметрыЗаполнения.Вставить("Событие", Новый Структура("Имя", "")); + КонецЕсли; Если Не ПараметрыЗаполнения.Свойство("ВариантМодифицирован") Тогда ПараметрыЗаполнения.Вставить("ВариантМодифицирован", Ложь); КонецЕсли; Если Не ПараметрыЗаполнения.Свойство("ПользовательскиеНастройкиМодифицированы") Тогда ПараметрыЗаполнения.Вставить("ПользовательскиеНастройкиМодифицированы", Ложь); КонецЕсли; - +КонецПроцедуры + +&НаСервере +Процедура БыстрыеНастройкиЗагрузитьНастройкиВКомпоновщик(ПараметрыЗаполнения) Если ПараметрыЗаполнения.Свойство("КомпоновщикНастроекКД") Тогда Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ПараметрыЗаполнения.КомпоновщикНастроекКД.Настройки); Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПараметрыЗаполнения.КомпоновщикНастроекКД.ПользовательскиеНастройки); @@ -1727,7 +1557,7 @@ Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПараметрыЗаполнения.ПользовательскиеНастройкиКД); КонецЕсли; - Если ПараметрыЗаполнения.Свойство("СброситьНастройки") И ПараметрыЗаполнения.СброситьНастройки = Истина Тогда + Если ПараметрыЗаполнения.Событие.Имя = "НастройкиПоУмолчанию" Тогда ПустойКомпоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; Отчет.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПустойКомпоновщик.ПользовательскиеНастройки); КонецЕсли; @@ -1740,26 +1570,24 @@ ПользовательскиеНастройкиМодифицированы = Истина; КонецЕсли; - Если ПараметрыЗаполнения.ВариантМодифицирован - Или ПараметрыЗаполнения.ПользовательскиеНастройкиМодифицированы Тогда - Если ПараметрыЗаполнения.Свойство("Событие") И ПараметрыЗаполнения.Событие.Имя = "ПослеФормирования" Тогда - Возврат; - КонецЕсли; - ОтображениеСостояния = Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния; - ОтображениеСостояния.Видимость = Истина; - ОтображениеСостояния.Текст = НСтр("ru = 'Отчет не сформирован. Нажмите ""Сформировать"" для получения отчета.'"); - ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.Неактуальность; + Если НастройкиОтчета.ПрочитатьФлажокФормироватьСразуИзПользовательскихНастроек Тогда + НастройкиОтчета.ПрочитатьФлажокФормироватьСразуИзПользовательскихНастроек = Ложь; + НастройкиОтчета.ФормироватьСразу = ВариантыОтчетовКлиентСервер.СвойствоСтруктуры( + Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства, + "ФормироватьСразу", + НастройкиОтчета.ФормироватьСразу); КонецЕсли; - КонецПроцедуры &НаСервере Процедура БыстрыеНастройкиУдалитьСтарыеЭлементыИКоманды(ПараметрыЗаполнения) - // Удаление элементов. УдаляемыеЭлементы = Новый Массив; - ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.Периоды.ПодчиненныеЭлементы); ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройки.ПодчиненныеЭлементы); + //ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройкиКолонка1.ПодчиненныеЭлементы); + //ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройкиКолонка2.ПодчиненныеЭлементы); + //ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройкиКолонка3.ПодчиненныеЭлементы); + //ДобавитьПодчиненныеЭлементы(УдаляемыеЭлементы, Элементы.БыстрыеНастройкиКолонка4.ПодчиненныеЭлементы); Для Каждого Элемент Из УдаляемыеЭлементы Цикл Элементы.Удалить(Элемент); КонецЦикла; @@ -1774,7 +1602,6 @@ Для Каждого Команда Из УдаляемыеКоманды Цикл Команды.Удалить(Команда); КонецЦикла; - КонецПроцедуры &НаСервере @@ -1795,7 +1622,10 @@ СоответствиеИменОбъектовМетаданных = Новый Соответствие; СоответствиеОтключаемыхСвязей = Новый Соответствие; + СоответствиеХранимыхСписковВыбора = Новый Соответствие; + ЕстьБыстрыеНастройки = Ложь; + ЕстьОбычныеНастройки = Ложь; // Удаление реквизитов ПараметрыЗаполнения.Вставить("Реквизиты", Новый Структура); @@ -1812,8 +1642,6 @@ // Локальные переменные для установки значений и свойств после создания реквизитов. ДобавленныеПоляВвода = Новый Структура; - ДобавленныеСпискиЗначений = Новый Массив; - ДобавленныеТаблицыСФлажками = Новый Массив; ДобавленныеСтандартныеПериоды = Новый Массив; // Структура связей. @@ -1829,30 +1657,62 @@ ПользовательскиеНастройкиКД = КомпоновщикНастроекКД.ПользовательскиеНастройки; НастройкиКД = КомпоновщикНастроекКД.ПолучитьНастройки(); + Если ПользовательскиеНастройкиКД.ДополнительныеСвойства.Свойство("ЭлементыФормы") Тогда + ДополнительныеНастройкиЭлементов = ПользовательскиеНастройкиКД.ДополнительныеСвойства.ЭлементыФормы; + Иначе + ДополнительныеНастройкиЭлементов = Новый Соответствие; + КонецЕсли; + Режимы = РежимОтображенияЭлементаНастройкиКомпоновкиДанных; + ШаблонНастройки = Новый Структура("Тип, Подтип, Шаблон, СтрокаДерева, + |ПользовательскаяСКД, ИдентификаторСКД, ВариантаСКД, ДоступнаяСКД"); + ШаблонНастройки.Вставить("Иерархия", Ложь); + ШаблонНастройки.Вставить("ФлажокИспользование", Ложь); + ШаблонНастройки.Вставить("ВыводВЗакладке", Ложь); + ШаблонНастройки.Вставить("ВводСписком", Ложь); + ШаблонНастройки.Вставить("ОграничиватьВыборУказаннымиЗначениями", Ложь); + ШаблонНастройки = Новый ФиксированнаяСтруктура(ШаблонНастройки); + + ГруппыВывода = Новый Структура; + ГруппыВывода.Вставить("Быстрые", Новый Структура("Порядок, Размер", Новый Массив, 0)); + + ОтчетОбъект = Неопределено; + + ДеревоВарианта = Новый ДеревоЗначений; + ДеревоВарианта.Колонки.Добавить("Настройка"); + ДеревоВарианта.Колонки.Добавить("ТипНастройки", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("Заголовок", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("ЕстьСтруктура", Новый ОписаниеТипов("Булево")); + ДеревоВарианта.Колонки.Добавить("ЕстьПоляИОформление", Новый ОписаниеТипов("Булево")); + ДеревоВариантаЗарегистрироватьЭлемент(НастройкиКД, ДеревоВарианта.Строки); + + ЕстьЗагрузкаДанныхИзФайла = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЗагрузкаДанныхИзФайла"); + // Перебор коллекций пользовательских настроек. // Отдельный цикл верхнего уровня нужен для поддержки сценария, // когда коллекция отборов выведена в пользовательские настройки // и можно добавлять новые отборы не меняя настроек варианта. - НаборыПользовательскихНастроек = Новый Массив; - НаборыПользовательскихНастроек.Добавить(ПользовательскиеНастройкиКД.Элементы); + НаборыПользовательскихНастроек = Новый СписокЗначений; + НаборыПользовательскихНастроек.Добавить(ПользовательскиеНастройкиКД.Элементы, "Отчет.КомпоновщикНастроек.ПользовательскиеНастройки"); Пока Истина Цикл Если НаборыПользовательскихНастроек.Количество() = 0 Тогда Прервать; КонецЕсли; - НаборПользовательскихНастроек = НаборыПользовательскихНастроек[0]; + + НаборПользовательскихНастроек = НаборыПользовательскихНастроек[0].Значение; + ПутьПользовательскихНастроек = НаборыПользовательскихНастроек[0].Представление; НаборыПользовательскихНастроек.Удалить(0); ЭтоНаборОтбора = (ТипЗнч(НаборПользовательскихНастроек) = Тип("КоллекцияЭлементовОтбораКомпоновкиДанных")); // Перебор пользовательских настроек. Для Каждого ПользовательскаяНастройка Из НаборПользовательскихНастроек Цикл - - Если ПользовательскаяНастройка.РежимОтображения = Режимы.Недоступный - Или ПользовательскаяНастройка.РежимОтображения = Режимы.Обычный Тогда + РежимОтображения = ПользовательскаяНастройка.РежимОтображения; + Если РежимОтображения = Режимы.Недоступный Тогда Продолжить; КонецЕсли; + ИндексЭлемента = НаборПользовательскихНастроек.Индекс(ПользовательскаяНастройка); ИдентификаторСКД = ПользовательскаяНастройка.ИдентификаторПользовательскойНастройки; Если Не ЗначениеЗаполнено(ИдентификаторСКД) Тогда Продолжить; @@ -1861,154 +1721,121 @@ СоответствиеПользовательскихНастроек.Вставить(ИдентификаторЭлемента, ПользовательскиеНастройкиКД.ПолучитьИдентификаторПоОбъекту(ПользовательскаяНастройка)); + СвойстваНастройки = Новый Структура(ШаблонНастройки); + СвойстваНастройки.Тип = ТипНастройкиСтрокой(ТипЗнч(ПользовательскаяНастройка)); + СвойстваНастройки.ПользовательскаяСКД = ПользовательскаяНастройка; + СвойстваНастройки.ИдентификаторСКД = ИдентификаторСКД; + + //СвойстваНастройки.СтрокаДерева = Неопределено; Если ЭтоНаборОтбора Тогда - ОбщаяНастройка = ПользовательскаяНастройка; + СвойстваНастройки.ВариантаСКД = ПользовательскаяНастройка; Иначе - ОбщаяНастройка = ФункцииОтчетовКлиентСервер.ПолучитьОбъектПоПользовательскомуИдентификатору(НастройкиКД, ИдентификаторСКД); - Если ОбщаяНастройка = Неопределено Тогда + ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки); + //СвойстваНастройки.ВариантаСКД = ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки, СвойстваНастройки.СтрокаДерева); + Если СвойстваНастройки.ВариантаСКД = Неопределено Тогда Продолжить; КонецЕсли; КонецЕсли; - ТипОбщейНастройки = ТипЗнч(ОбщаяНастройка); - Если ТипОбщейНастройки = Тип("ОтборКомпоновкиДанных") Тогда - НаборыПользовательскихНастроек.Добавить(ПользовательскаяНастройка.Элементы); - Продолжить; + Если СвойстваНастройки.Тип = "Отбор" Тогда + //НаборыПользовательскихНастроек.Добавить(ПользовательскаяНастройка.Элементы); + //Продолжить; КонецЕсли; - Если Не ЭтоНаборОтбора - И ПользовательскаяНастройка.РежимОтображения = Режимы.Авто - И ОбщаяНастройка.РежимОтображения <> Режимы.БыстрыйДоступ Тогда + + Если РежимОтображения = Режимы.Авто Тогда + РежимОтображения = СвойстваНастройки.ВариантаСКД.РежимОтображения; + КонецЕсли; + Если РежимОтображения = Режимы.БыстрыйДоступ Тогда + ЭтоБыстраяНастройка = Истина; + ИначеЕсли РежимОтображения = Режимы.Обычный Тогда + ЕстьОбычныеНастройки = Истина; + Продолжить; + Иначе Продолжить; КонецЕсли; - ДоступнаяНастройка = ФункцииОтчетовКлиентСервер.НайтиДоступнуюНастройку(НастройкиКД, ОбщаяНастройка); + //СвойстваНастройки.ДоступнаяСКД = ФункцииОтчетовКлиентСервер.НайтиДоступнуюНастройку(НастройкиКД, СвойстваНастройки.ВариантаСКД); СтруктураПредставлений = Новый Структура("Представление, ПредставлениеПользовательскойНастройки", "", ""); - ЗаполнитьЗначенияСвойств(СтруктураПредставлений, ОбщаяНастройка); + ЗаполнитьЗначенияСвойств(СтруктураПредставлений, СвойстваНастройки.ВариантаСКД); Если ЗначениеЗаполнено(СтруктураПредставлений.ПредставлениеПользовательскойНастройки) Тогда ЭлементЗаголовок = СтруктураПредставлений.ПредставлениеПользовательскойНастройки; ИначеЕсли ЗначениеЗаполнено(СтруктураПредставлений.Представление) Тогда ЭлементЗаголовок = СтруктураПредставлений.Представление; - ИначеЕсли ДоступнаяНастройка <> Неопределено И ЗначениеЗаполнено(ДоступнаяНастройка.Заголовок) Тогда - ЭлементЗаголовок = ДоступнаяНастройка.Заголовок; + ИначеЕсли СвойстваНастройки.ДоступнаяСКД <> Неопределено И ЗначениеЗаполнено(СвойстваНастройки.ДоступнаяСКД.Заголовок) Тогда + ЭлементЗаголовок = СвойстваНастройки.ДоступнаяСКД.Заголовок; Иначе - ЭлементЗаголовок = ПредставлениеПользовательскойНастройки(ПользовательскаяНастройка, ОбщаяНастройка, ТипОбщейНастройки); + ЭлементЗаголовок = ПредставлениеПользовательскойНастройки(СвойстваНастройки); КонецЕсли; - СменитьТипНаГруппуЭлементовОтбора = ЗначениеЗаполнено(СтруктураПредставлений.Представление); + Если ЗначениеЗаполнено(СтруктураПредставлений.Представление) Тогда + СвойстваНастройки.Тип = "ФиксированныйОтбор"; // Виртуальный тип. + КонецЕсли; - Если ТипОбщейНастройки = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") - ИЛИ ТипОбщейНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") - ИЛИ СменитьТипНаГруппуЭлементовОтбора Тогда + Если СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" + Или СвойстваНастройки.Тип = "ФиксированныйОтбор" + Или СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "ФиксированныйОтбор" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТолькоФлажокИспользование"); - ШаблонГенерации.Вставить("Префикс", "ГруппаОтбора"); + СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование"; - ИначеЕсли ТипОбщейНастройки = Тип("ГруппировкаКомпоновкиДанных") - ИЛИ ТипОбщейНастройки = Тип("ТаблицаКомпоновкиДанных") - ИЛИ ТипОбщейНастройки = Тип("ГруппировкаТаблицыКомпоновкиДанных") - ИЛИ ТипОбщейНастройки = Тип("ДиаграммаКомпоновкиДанных") - ИЛИ ТипОбщейНастройки = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТолькоФлажокИспользование"); - ШаблонГенерации.Вставить("Префикс", "ЭлементСтруктуры"); - - ИначеЕсли ТипОбщейНастройки = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда - - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТолькоФлажокИспользование"); - ШаблонГенерации.Вставить("Префикс", "УсловноеОформление"); - - ИначеЕсли ТипОбщейНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда - - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТаблицаПорядкаСФлажками"); - ШаблонГенерации.Вставить("Префикс", "ВыбранныеПоляКомпоновкиДанных"); - ШаблонГенерации.Вставить("Иерархия", Истина); - - ИначеЕсли ТипОбщейНастройки = Тип("ПорядокКомпоновкиДанных") Тогда - - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТаблицаПорядкаСФлажками"); - ШаблонГенерации.Вставить("Префикс", "ПорядокКомпоновкиДанных"); - ШаблонГенерации.Вставить("Иерархия", Ложь); - - ИначеЕсли ТипОбщейНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда - - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Тип", "ТаблицаПорядкаСФлажками"); - ШаблонГенерации.Вставить("Префикс", "СтруктураНастроекКомпоновкиДанных"); - ШаблонГенерации.Вставить("Иерархия", Ложь); - - ИначеЕсли ТипОбщейНастройки = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда - - Если ДоступнаяНастройка = Неопределено Тогда + Если СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда Продолжить; // Имя параметра изменилось или параметр был удален. КонецЕсли; - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Префикс", "Параметр"); - - АнализТиповИСвязей(ИдентификаторЭлемента, ДоступнаяНастройка, ШаблонГенерации, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. - - ШаблонГенерации.Вставить("ФлажокИспользование", ДоступнаяНастройка.Использование <> ИспользованиеПараметраКомпоновкиДанных.Всегда); + СвойстваНастройки.ФлажокИспользование = СвойстваНастройки.ДоступнаяСКД.Использование <> ИспользованиеПараметраКомпоновкиДанных.Всегда; Если ТипЗнч(ПользовательскаяНастройка.Значение) = Тип("СтандартныйПериод") Тогда - ШаблонГенерации.Вставить("Тип", "СтандартныйПериод"); - ИначеЕсли ДоступнаяНастройка.ДоступенСписокЗначений Тогда - ШаблонГенерации.Вставить("Тип", "СписокСПодбором"); - НастройкиСВидомСравненияРавно.Вставить(ИдентификаторЭлемента, Истина); - ИначеЕсли Не ШаблонГенерации.ФлажокИспользование И ШаблонГенерации.СодержитТипБулево И ШаблонГенерации.КоличествоТипов = 1 Тогда - ШаблонГенерации.Вставить("Тип", "ТолькоФлажокЗначения"); // Замена поля "Да/Нет" на флажок. + СвойстваНастройки.Шаблон = "СтандартныйПериод"; + ИначеЕсли СвойстваНастройки.ДоступнаяСКД.ДоступенСписокЗначений Тогда + СвойстваНастройки.ВводСписком = Истина; + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; Иначе - ШаблонГенерации.Вставить("Тип", "ПолеВвода"); + СвойстваНастройки.Шаблон = "ПолеВвода"; + КонецЕсли; + + АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. + + Если СвойстваНастройки.Шаблон = "ПолеВвода" Тогда НастройкиСВидомСравненияРавно.Вставить(ИдентификаторЭлемента, Истина); КонецЕсли; - Если ТипЗнч(ДоступнаяНастройка.ДоступныеЗначения) = Тип("СписокЗначений") И ДоступнаяНастройка.ДоступныеЗначения.Количество() > 0 Тогда - ШаблонГенерации.Вставить("ВыборИзСписка", Истина); - Иначе - ШаблонГенерации.Вставить("ВыборИзСписка", Ложь); - КонецЕсли; - - Если Не ШаблонГенерации.ФлажокИспользование Тогда + Если Не СвойстваНастройки.ФлажокИспользование Тогда ПользовательскаяНастройка.Использование = Истина; КонецЕсли; - ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(ОбщаяНастройка.Параметр)); + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(СвойстваНастройки.ВариантаСКД.Параметр)); ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Вставить(ПолеКД, ИдентификаторЭлемента); - ИначеЕсли ТипОбщейНастройки = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда - Если ДоступнаяНастройка = Неопределено Тогда + Если СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда Продолжить; // Имя поля изменилось или поле было удалено. КонецЕсли; - ШаблонГенерации = Новый Структура; - ШаблонГенерации.Вставить("Префикс", "Отбор"); - ШаблонГенерации.Вставить("ФлажокИспользование", Истина); - - АнализТиповИСвязей(ИдентификаторЭлемента, ДоступнаяНастройка, ШаблонГенерации, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. - + СвойстваНастройки.ФлажокИспользование = Истина; Если ТипЗнч(ПользовательскаяНастройка.ПравоеЗначение) = Тип("СтандартныйПериод") Тогда - ШаблонГенерации.Вставить("Тип", "СтандартныйПериод"); + СвойстваНастройки.Шаблон = "СтандартныйПериод"; ИначеЕсли ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено Тогда - ШаблонГенерации.Вставить("Тип", "ТолькоФлажокИспользование"); + СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование"; ЭлементЗаголовок = ЭлементЗаголовок + ": " + НРег(Строка(ПользовательскаяНастройка.ВидСравнения)); ИначеЕсли ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда - ШаблонГенерации.Вставить("Тип", "СписокСПодбором"); - Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке - Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда - ЭлементЗаголовок = ЭлементЗаголовок + " (" + НСтр("ru = 'за исключением выбранных'") + ")"; - КонецЕсли; - ШаблонГенерации.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.ГруппыИЭлементы); + СвойстваНастройки.ВводСписком = Истина; + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + СвойстваНастройки.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.ГруппыИЭлементы); Иначе - ШаблонГенерации.Вставить("Тип", "ПолеВвода"); + СвойстваНастройки.Шаблон = "ПолеВвода"; Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда НастройкиСВидомСравненияРавно.Вставить(ИдентификаторЭлемента, Истина); КонецЕсли; @@ -2018,39 +1845,163 @@ КонецЕсли; Если ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии Или ПользовательскаяНастройка.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВИерархии Тогда - ШаблонГенерации.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.Группы); + СвойстваНастройки.Вставить("ВыборГруппИЭлементов", ГруппыИЭлементы.Группы); КонецЕсли; КонецЕсли; - ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Вставить(ОбщаяНастройка.ЛевоеЗначение, ИдентификаторЭлемента); + АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, СоответствиеИменОбъектовМетаданных, Связи); // Определение типа значения настройки. - Если ТипЗнч(ДоступнаяНастройка.ДоступныеЗначения) = Тип("СписокЗначений") И ДоступнаяНастройка.ДоступныеЗначения.Количество() > 0 Тогда - ШаблонГенерации.Вставить("ВыборИзСписка", Истина); - Иначе - ШаблонГенерации.Вставить("ВыборИзСписка", Ложь); - КонецЕсли; + ПоискИдентификаторовБыстрыхНастроекПоПолюКомпоновкиДанных.Вставить(СвойстваНастройки.ВариантаСКД.ЛевоеЗначение, ИдентификаторЭлемента); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками"; + СвойстваНастройки.Иерархия = Истина; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками"; Иначе - Продолжить; + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; КонецЕсли; - ЕстьБыстрыеНастройки = Истина; + Если ЭтоБыстраяНастройка И СвойстваНастройки.Шаблон = "ТаблицаПорядкаСФлажками" Тогда + СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком"; + КонецЕсли; + + // Параметры выбора: условия, ограничения и список значений. + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" + Или СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + // Значение списка. + Если СвойстваНастройки.ВводСписком Тогда + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ОтмеченныеЗначения = ЗначенияСписком(ПользовательскаяНастройка.Значение); + Иначе + ОтмеченныеЗначения = ЗначенияСписком(ПользовательскаяНастройка.ПравоеЗначение); + КонецЕсли; + СвойстваНастройки.Вставить("ОтмеченныеЗначения", ОтмеченныеЗначения); + КонецЕсли; + + // Формирование параметров и текста запроса. + СвойстваНастройки.Вставить("ЗначенияДляВыбора", Новый СписокЗначений); + СвойстваНастройки.Вставить("ЗапросЗначенийВыбора", Новый Запрос); + + Если ТипЗнч(СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения) = Тип("СписокЗначений") И СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения.Количество() > 0 Тогда + // Разработчик ограничил выбор списком доступных значений. + СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина; + Для Каждого ЭлементСписка Из СвойстваНастройки.ДоступнаяСКД.ДоступныеЗначения Цикл + ЗначениеВСКД = ЭлементСписка.Значение; + Если Не ЗначениеЗаполнено(ЭлементСписка.Представление) + И (ЗначениеВСКД = Неопределено + Или ЗначениеВСКД = Тип("Неопределено") + Или ЗначениеВСКД = Новый ОписаниеТипов("Неопределено") + Или Не ЗначениеЗаполнено(ЗначениеВСКД)) Тогда + Продолжить; // Запрет пустых значений. + КонецЕсли; + Если ТипЗнч(ЗначениеВСКД) = Тип("Тип") Тогда + МассивТипов = Новый Массив; + МассивТипов.Добавить(ЗначениеВСКД); + ЗначениеВФорме = Новый ОписаниеТипов(МассивТипов); + Иначе + ЗначениеВФорме = ЗначениеВСКД; + КонецЕсли; + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, ЭлементСписка.Представление, Ложь); + КонецЦикла; + Иначе + Если Не СвойстваНастройки.ФлажокИспользование + И СвойстваНастройки.СодержитТипБулево + И СвойстваНастройки.КоличествоТипов = 1 + И Не СвойстваНастройки.ВводСписком Тогда + СвойстваНастройки.Шаблон = "ТолькоФлажокЗначения"; // Замена поля "Да/Нет" на флажок. + КонецЕсли; + // Чтение сохраненных ранее настроек. + НастройкиСохраненныеРанее = ДополнительныеНастройкиЭлементов[ИдентификаторЭлемента]; + Если НастройкиСохраненныеРанее <> Неопределено + И НастройкиСохраненныеРанее.Свойство("ЗначенияДляВыбора") + И ТипЗнч(НастройкиСохраненныеРанее.ЗначенияДляВыбора) = Тип("Массив") Тогда + // Фильтр выбранных если изменилось описание типов. + Если НастройкиСохраненныеРанее.Свойство("ОписаниеТипов") + И ТипЗнч(НастройкиСохраненныеРанее.ОписаниеТипов) = Тип("ОписаниеТипов") + И Не ОписанияТиповСовпадают(СвойстваНастройки.ОписаниеТипов, НастройкиСохраненныеРанее.ОписаниеТипов) Тогда + Количество = НастройкиСохраненныеРанее.ЗначенияДляВыбора.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + ЗначениеВФорме = НастройкиСохраненныеРанее.ЗначенияДляВыбора[ОбратныйИндекс]; + Если СвойстваНастройки.ОписаниеТипов.СодержитТип(ТипЗнч(ЗначениеВФорме)) Тогда + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, Неопределено, Ложь); + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + + // Текст для автоматического заполнения значений настройки. + Если СвойстваНастройки.КоличествоПеречислений > 0 Тогда + // Разработчик не ограничил выбор... + // И есть возможность автоматически заполнить список. + ШаблонЗапросаПеречислений = "ВЫБРАТЬ Ссылка ИЗ &ИмяПеречисления"; + ТекстЗапроса = ""; + Для Каждого ПеречислениеПолноеИмя Из СвойстваНастройки.Перечисления Цикл + Если ТекстЗапроса <> "" Тогда + ТекстЗапроса = ТекстЗапроса + Символы.ПС + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС + Символы.ПС; + КонецЕсли; + ТекстЗапроса = ТекстЗапроса + СтрЗаменить(ШаблонЗапросаПеречислений, "&ИмяПеречисления", ПеречислениеПолноеИмя); + КонецЦикла; + СвойстваНастройки.ЗапросЗначенийВыбора.Текст = ТекстЗапроса; + Если СвойстваНастройки.КоличествоПеречислений = СвойстваНастройки.КоличествоТипов Тогда + СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями = Истина; // Выбираются только значения перечислений. + КонецЕсли; + КонецЕсли; + КонецЕсли; + + // Механизмы расширения. + ФормаОтчетаПереопределяемый.ПриОпределенииПараметровВыбора(ЭтотОбъект, СвойстваНастройки); // Глобальные настройки вывода типов... + Если НастройкиОтчета.События.ПриОпределенииПараметровВыбора Тогда // ... можно переопределить локально для отчета. + Если ОтчетОбъект = Неопределено Тогда + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + КонецЕсли; + ОтчетОбъект.ПриОпределенииПараметровВыбора(ЭтотОбъект, СвойстваНастройки); + КонецЕсли; + + // Автоматическое заполнение. + Если СвойстваНастройки.ЗапросЗначенийВыбора.Текст <> "" Тогда + ДобавляемыеЗначения = СвойстваНастройки.ЗапросЗначенийВыбора.Выполнить().Выгрузить().ВыгрузитьКолонку(0); + Для Каждого ЗначениеВФорме Из ДобавляемыеЗначения Цикл + ДобавитьУникальноеЗначениеВСписок(СвойстваНастройки.ЗначенияДляВыбора, ЗначениеВФорме, Неопределено, Ложь); + КонецЦикла; + СвойстваНастройки.ЗначенияДляВыбора.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + КонецЕсли; + + // Сохранение параметров выбора настройки в дополнительных свойствах пользовательских настроек. + НастройкиЭлемента = Новый Структура("ОписаниеТипов, ОграничиватьВыборУказаннымиЗначениями, ПараметрыВыбора"); + ЗаполнитьЗначенияСвойств(НастройкиЭлемента, СвойстваНастройки); + НастройкиЭлемента.Вставить("ЗначенияДляВыбора", СвойстваНастройки.ЗначенияДляВыбора.ВыгрузитьЗначения()); + НастройкиЭлемента.Вставить("ПредставлениеПоля", ЭлементЗаголовок); + ДополнительныеНастройкиЭлементов.Вставить(ИдентификаторЭлемента, НастройкиЭлемента); + КонецЕсли; + + // Определение группы для вывода. + ЭлементВывода = Новый Структура("Размер, ИмяЭлемента1, ИмяЭлемента2"); //////////////////////////////////////////////////////////////////////////////// - // Генерация - // - Если ШаблонГенерации.Тип = "ТолькоФлажокИспользование" Или ШаблонГенерации.Тип = "ТолькоФлажокЗначения" Тогда + // Генератор + + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Или СвойстваНастройки.Шаблон = "ТолькоФлажокЗначения" Тогда - Если ШаблонГенерации.Тип = "ТолькоФлажокИспользование" Тогда - ФлажокИмя = ШаблонГенерации.Префикс + "_Использование_" + ИдентификаторЭлемента; + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Тогда + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; ДействиеПриИзменении = "Подключаемый_ФлажокИспользование_ПриИзменении"; Иначе - ФлажокИмя = ШаблонГенерации.Префикс + "_Значение_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; ДействиеПриИзменении = "Подключаемый_ПолеВвода_ПриИзменении"; КонецЕсли; + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + // Реквизиты. БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); @@ -2062,24 +2013,72 @@ ИспользованиеОтбора.УстановитьДействие("ПриИзменении", ДействиеПриИзменении); // Значения. - Если ШаблонГенерации.Тип = "ТолькоФлажокИспользование" Тогда + Если СвойстваНастройки.Шаблон = "ТолькоФлажокИспользование" Тогда ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); Иначе ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Значение); КонецЕсли; - ИначеЕсли ШаблонГенерации.Тип = "СтандартныйПериод" Тогда + ИначеЕсли СвойстваНастройки.Шаблон = "СвязьСКомпоновщиком" Тогда - ГруппаИмя = ШаблонГенерации.Префикс + "_Группа_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерации.Префикс + "_Использование_" + ИдентификаторЭлемента; - ВидПериодаИмя = ШаблонГенерации.Префикс + "_Вид_" + ИдентификаторЭлемента; - ПериодЗначениеИмя = ШаблонГенерации.Префикс + "_Значение_" + ИдентификаторЭлемента; - ПериодПредставлениеИмя = ШаблонГенерации.Префикс + "_Представление_" + ИдентификаторЭлемента; - ПериодНачалоИмя = ШаблонГенерации.Префикс + "_Начало_" + ИдентификаторЭлемента; - ПериодОкончаниеИмя = ШаблонГенерации.Префикс + "_Окончание_" + ИдентификаторЭлемента; - СтраницыИмя = ШаблонГенерации.Префикс + "_Страницы_" + ИдентификаторЭлемента; - СтраницаСтандартныйИмя = ШаблонГенерации.Префикс + "_СтраницаСтандартный_" + ИдентификаторЭлемента; - СтраницаПроизвольныйИмя = ШаблонГенерации.Префикс + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ЗначениеИмя; + + Путь = ПутьПользовательскихНастроек + "[" + ИндексЭлемента + "]"; + + ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ЗначениеИмя); + ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, ЗначениеИмя); + ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(СвойстваНастройки.ФлажокИспользование, ФлажокИмя, "")); + + // Группа с флажком. + Если СвойстваНастройки.ФлажокИспользование Тогда + + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); + + // Флажок + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), Элементы.БыстрыеНастройки); + ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; + ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; + ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); + ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; + + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); + + КонецЕсли; + + ПолеВвода = Элементы.Добавить(ЗначениеИмя, Тип("ПолеФормы"), Элементы.БыстрыеНастройки); + ПолеВвода.Вид = ВидПоляФормы.ПолеВвода; + ПолеВвода.Заголовок = ЭлементЗаголовок; + ПолеВвода.ПутьКДанным = Путь + ".Значение"; + ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + + Если СвойстваНастройки.ВводСписком Тогда + ПолеВвода.УстановитьДействие("НачалоВыбора", "Подключаемый_СписокКомпоновщика_Значение_НачалоВыбора"); + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Шаблон = "СтандартныйПериод" Тогда + + ГруппаИмя = СвойстваНастройки.Тип + "_Группа_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ВидПериодаИмя = СвойстваНастройки.Тип + "_Вид_" + ИдентификаторЭлемента; + ПериодЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + ПериодПредставлениеИмя = СвойстваНастройки.Тип + "_Представление_" + ИдентификаторЭлемента; + ПериодНачалоИмя = СвойстваНастройки.Тип + "_Начало_" + ИдентификаторЭлемента; + ПериодОкончаниеИмя = СвойстваНастройки.Тип + "_Окончание_" + ИдентификаторЭлемента; + ДекорацияИмя = СвойстваНастройки.Тип + "_Декорация_" + ИдентификаторЭлемента; + СтраницыИмя = СвойстваНастройки.Тип + "_Страницы_" + ИдентификаторЭлемента; + СтраницаСтандартныйИмя = СвойстваНастройки.Тип + "_СтраницаСтандартный_" + ИдентификаторЭлемента; + СтраницаПроизвольныйИмя = СвойстваНастройки.Тип + "_СтраницаПроизвольный_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ГруппаИмя; // Реквизиты. БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ВидПериодаИмя, "ПеречислениеСсылка.ДоступныеПериодыОтчета"); @@ -2087,7 +2086,7 @@ БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ПериодЗначениеИмя, "СтандартныйПериод"); // Основная Группа - ГруппаСтрок = ?(ШаблонГенерации.Префикс = "Параметр", Элементы.Периоды, Элементы.БыстрыеНастройки); + ГруппаСтрок = Элементы.БыстрыеНастройки; Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), ГруппаСтрок); Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; @@ -2095,19 +2094,21 @@ Группа.ОтображатьЗаголовок = Ложь; Группа.Заголовок = ЭлементЗаголовок; - Если ШаблонГенерации.ФлажокИспользование Тогда + Если СвойстваНастройки.ФлажокИспользование Тогда - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ИспользованиеИмя, "Булево"); + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; + + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); // Флажок - ПолеФлажка = Элементы.Добавить(ИспользованиеИмя, Тип("ПолеФормы"), Группа); + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), Элементы.БыстрыеНастройки); ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; // Значение флажка. - ДобавленныеПоляВвода.Вставить(ИспользованиеИмя, ПользовательскаяНастройка.Использование); + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); КонецЕсли; @@ -2117,20 +2118,15 @@ ВидПериодаЭлемент.Заголовок = ЭлементЗаголовок; ВидПериодаЭлемент.РежимВыбораИзСписка = Истина; ВидПериодаЭлемент.РастягиватьПоГоризонтали = Ложь; - ВидПериодаЭлемент.Ширина = 12; + ВидПериодаЭлемент.Ширина = 11; + ВидПериодаЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ВидПериодаЭлемент.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_Вид_ПриИзменении"); - Если ШаблонГенерации.ФлажокИспользование Тогда - ВидПериодаЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - Иначе - ВидПериодаЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Лево; - КонецЕсли; - // Вид периода - Список выбора. - Если ШаблонГенерации.Префикс = "Параметр" Тогда - МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[ОбщаяНастройка.Параметр]; + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[СвойстваНастройки.ВариантаСКД.Параметр]; Иначе - МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[ОбщаяНастройка.ЛевоеЗначение]; + МинимальнаяПериодичность = НастройкиОтчета.СоответствиеПериодичностиПараметров[СвойстваНастройки.ВариантаСКД.ЛевоеЗначение]; КонецЕсли; Если МинимальнаяПериодичность = Неопределено Тогда МинимальнаяПериодичность = Перечисления.ДоступныеПериодыОтчета.День; @@ -2145,6 +2141,8 @@ ГруппаСтраниц = Элементы.Добавить(СтраницыИмя, Тип("ГруппаФормы"), Группа); ГруппаСтраниц.Вид = ВидГруппыФормы.Страницы; ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; + ГруппаСтраниц.Ширина = 24; + ГруппаСтраниц.РастягиватьПоГоризонтали = Ложь; // Страница СтандартныйПериод. СтраницаСтандартныйПериод = Элементы.Добавить(СтраницаСтандартныйИмя, Тип("ГруппаФормы"), ГруппаСтраниц); @@ -2160,43 +2158,47 @@ // Стандартный период. Период = Элементы.Добавить(ПериодПредставлениеИмя, Тип("ПолеФормы"), СтраницаСтандартныйПериод); - Период.Вид = ВидПоляФормы.ПолеВвода; - Период.Заголовок = НСтр("ru = 'Период'"); - Период.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - Период.КнопкаВыбора = Истина; - Период.КнопкаОткрытия = Ложь; - Период.КнопкаОчистки = Ложь; + Период.Вид = ВидПоляФормы.ПолеВвода; + Период.Заголовок = НСтр("ru = 'Период'"); + Период.РастягиватьПоГоризонтали = Истина; + Период.КнопкаВыбора = Истина; + Период.КнопкаОткрытия = Ложь; + Период.КнопкаОчистки = Ложь; Период.КнопкаРегулирования = Ложь; Период.РедактированиеТекста = Ложь; + Период.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Период.УстановитьДействие("Очистка", "Подключаемый_СтандартныйПериод_Значение_Очистка"); Период.УстановитьДействие("НачалоВыбора", "Подключаемый_СтандартныйПериод_Значение_НачалоВыбора"); // Начало произвольного периода ПериодНачало = Элементы.Добавить(ПериодНачалоИмя, Тип("ПолеФормы"), СтраницаПроизвольныйПериод); - ПериодНачало.Вид = ВидПоляФормы.ПолеВвода; - ПериодНачало.РастягиватьПоГоризонтали = Истина; - ПериодНачало.КнопкаВыбора = Истина; - ПериодНачало.КнопкаОткрытия = Ложь; - ПериодНачало.КнопкаОчистки = Ложь; - ПериодНачало.КнопкаРегулирования = Ложь; - ПериодНачало.РедактированиеТекста = Истина; - ПериодНачало.Заголовок = НСтр("ru = 'с'"); + ПериодНачало.Вид = ВидПоляФормы.ПолеВвода; + ПериодНачало.РастягиватьПоГоризонтали = Истина; + ПериодНачало.КнопкаВыбора = Истина; + ПериодНачало.КнопкаОткрытия = Ложь; + ПериодНачало.КнопкаОчистки = Ложь; + ПериодНачало.КнопкаРегулирования = Ложь; + ПериодНачало.РедактированиеТекста = Истина; + ПериодНачало.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ПериодНачало.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_НачалоПериода_ПриИзменении"); - Если ШаблонГенерации.Префикс = "Параметр" Тогда - ПериодНачало.АвтоОтметкаНезаполненного = ДоступнаяНастройка.ЗапрещатьНезаполненныеЗначения; + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ПериодНачало.АвтоОтметкаНезаполненного = СвойстваНастройки.ДоступнаяСКД.ЗапрещатьНезаполненныеЗначения; КонецЕсли; + Тире = Элементы.Добавить(ДекорацияИмя, Тип("ДекорацияФормы"), СтраницаПроизвольныйПериод); + Тире.Вид = ВидДекорацииФормы.Надпись; + Тире.Заголовок = "–"; + // Окончание произвольного периода. ПериодОкончание = Элементы.Добавить(ПериодОкончаниеИмя, Тип("ПолеФормы"), СтраницаПроизвольныйПериод); ПериодОкончание.Вид = ВидПоляФормы.ПолеВвода; - ЗаполнитьЗначенияСвойств(ПериодОкончание, ПериодНачало, "РастягиватьПоГоризонтали, РедактированиеТекста, - |КнопкаВыбора, КнопкаОткрытия, КнопкаОчистки, КнопкаРегулирования, АвтоОтметкаНезаполненного"); - ПериодОкончание.Заголовок = НСтр("ru = 'по'"); + ЗаполнитьЗначенияСвойств(ПериодОкончание, ПериодНачало, "РастягиватьПоГоризонтали, Ширина, ПоложениеЗаголовка, + |РедактированиеТекста, КнопкаВыбора, КнопкаОткрытия, КнопкаОчистки, КнопкаРегулирования, АвтоОтметкаНезаполненного"); ПериодОкончание.УстановитьДействие("ПриИзменении", "Подключаемый_СтандартныйПериод_КонецПериода_ПриИзменении"); // Значения. - Если ШаблонГенерации.Префикс = "Параметр" Тогда + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда Значение = ПользовательскаяНастройка.Значение; Иначе Значение = ПользовательскаяНастройка.ПравоеЗначение; @@ -2206,16 +2208,15 @@ ВидПериода = ФункцииОтчетовКлиентСервер.ПолучитьВидСтандартногоПериода(Значение, ВидПериодаЭлемент.СписокВыбора); Представление = ФункцииОтчетовКлиентСервер.ПредставлениеСтандартногоПериода(Значение, ВидПериода); - ОписаниеРеквизита = Новый Структура; - ОписаниеРеквизита.Вставить("ПериодЗначениеИмя", ПериодЗначениеИмя); - ОписаниеРеквизита.Вставить("ВидПериодаИмя", ВидПериодаИмя); - ОписаниеРеквизита.Вставить("ПериодНачалоИмя", ПериодНачалоИмя); - ОписаниеРеквизита.Вставить("ПериодОкончаниеИмя", ПериодОкончаниеИмя); - ОписаниеРеквизита.Вставить("ПериодПредставлениеИмя", ПериодПредставлениеИмя); - ОписаниеРеквизита.Вставить("Значение", Значение); - ОписаниеРеквизита.Вставить("ВидПериода", ВидПериода); - ОписаниеРеквизита.Вставить("Представление", Представление); - ДобавленныеСтандартныеПериоды.Добавить(ОписаниеРеквизита); + СвойстваНастройки.Вставить("ПериодЗначениеИмя", ПериодЗначениеИмя); + СвойстваНастройки.Вставить("ВидПериодаИмя", ВидПериодаИмя); + СвойстваНастройки.Вставить("ПериодНачалоИмя", ПериодНачалоИмя); + СвойстваНастройки.Вставить("ПериодОкончаниеИмя", ПериодОкончаниеИмя); + СвойстваНастройки.Вставить("ПериодПредставлениеИмя", ПериодПредставлениеИмя); + СвойстваНастройки.Вставить("Значение", Значение); + СвойстваНастройки.Вставить("ВидПериода", ВидПериода); + СвойстваНастройки.Вставить("Представление", Представление); + ДобавленныеСтандартныеПериоды.Добавить(СвойстваНастройки); // Активация страницы. Если ВидПериода = Перечисления.ДоступныеПериодыОтчета.ПроизвольныйПериод Тогда @@ -2224,102 +2225,84 @@ ГруппаСтраниц.ТекущаяСтраница = СтраницаСтандартныйПериод; КонецЕсли; - ИначеЕсли ШаблонГенерации.Тип = "ПолеВвода" Тогда + ИначеЕсли СвойстваНастройки.Шаблон = "ПолеВвода" Тогда - ГруппаИмя = ШаблонГенерации.Префикс + "_Группа_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерации.Префикс + "_Использование_" + ИдентификаторЭлемента; - ЗначениеИмя = ШаблонГенерации.Префикс + "_Значение_" + ИдентификаторЭлемента; + ФлажокИмя = СвойстваНастройки.Тип + "_Использование_" + ИдентификаторЭлемента; + ЗначениеИмя = СвойстваНастройки.Тип + "_Значение_" + ИдентификаторЭлемента; + + // Настройки вывода. + ЭлементВывода.Размер = 1; + ЭлементВывода.ИмяЭлемента2 = ЗначениеИмя; ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ЗначениеИмя); ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, ЗначениеИмя); - ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(ШаблонГенерации.ФлажокИспользование, ИспользованиеИмя, "")); + ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(СвойстваНастройки.ФлажокИспользование, ФлажокИмя, "")); // Группа с флажком. - Если ШаблонГенерации.ФлажокИспользование Тогда + Если СвойстваНастройки.ФлажокИспользование Тогда - // Добавление основной группы - Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.БыстрыеНастройки); - Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; - Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; - Группа.Отображение = ОтображениеОбычнойГруппы.Нет; - Группа.Заголовок = ЭлементЗаголовок; - Группа.ОтображатьЗаголовок = Ложь; + // Настройки вывода. + ЭлементВывода.ИмяЭлемента1 = ФлажокИмя; - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ИспользованиеИмя, "Булево"); + // Регистрация реквизита формы. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ФлажокИмя, "Булево"); // Флажок - ПолеФлажка = Элементы.Добавить(ИспользованиеИмя, Тип("ПолеФормы"), Группа); + ПолеФлажка = Элементы.Добавить(ФлажокИмя, Тип("ПолеФормы"), Элементы.БыстрыеНастройки); ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; // Значение флажка. - ДобавленныеПоляВвода.Вставить(ИспользованиеИмя, ПользовательскаяНастройка.Использование); - - Иначе - - Группа = Элементы.БыстрыеНастройки; + ДобавленныеПоляВвода.Вставить(ФлажокИмя, ПользовательскаяНастройка.Использование); КонецЕсли; - // Реквизит - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ЗначениеИмя, ШаблонГенерации.ОписаниеТипов); + // Регистрация реквизита формы. + БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ЗначениеИмя, СвойстваНастройки.ОписаниеТипов); - ПолеВвода = Элементы.Добавить(ЗначениеИмя, Тип("ПолеФормы"), Группа); + // Поле ввода. + ПолеВвода = Элементы.Добавить(ЗначениеИмя, Тип("ПолеФормы"), Элементы.БыстрыеНастройки); ПолеВвода.Вид = ВидПоляФормы.ПолеВвода; ПолеВвода.Заголовок = ЭлементЗаголовок; ПолеВвода.КнопкаОткрытия = Ложь; ПолеВвода.КнопкаРегулирования = Ложь; + ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ПолеВвода.УстановитьДействие("ПриИзменении", "Подключаемый_ПолеВвода_ПриИзменении"); - ЗаполнитьЗначенияСвойств(ПолеВвода, ДоступнаяНастройка, "БыстрыйВыбор, Маска, ФормаВыбора, ФорматРедактирования"); + ЗаполнитьЗначенияСвойств(ПолеВвода, СвойстваНастройки.ДоступнаяСКД, "БыстрыйВыбор, Маска, ФормаВыбора, ФорматРедактирования"); - Если ШаблонГенерации.ФлажокИспользование Тогда - ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + Если СвойстваНастройки.Свойство("ВыборГруппИЭлементов") Тогда + ПолеВвода.ВыборГруппИЭлементов = СвойстваНастройки.ВыборГруппИЭлементов; Иначе - ПолеВвода.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Авто; + ПолеВвода.ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуГруппыИЭлементы(СвойстваНастройки.ДоступнаяСКД.ВыборГруппИЭлементов); КонецЕсли; - Если ШаблонГенерации.Свойство("ВыборГруппИЭлементов") Тогда - ПолеВвода.ВыборГруппИЭлементов = ШаблонГенерации.ВыборГруппИЭлементов; - Иначе - ПолеВвода.ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуГруппыИЭлементы(ДоступнаяНастройка.ВыборГруппИЭлементов); - КонецЕсли; - - Если ШаблонГенерации.Префикс = "Параметр" Тогда - ПолеВвода.АвтоОтметкаНезаполненного = ДоступнаяНастройка.ЗапрещатьНезаполненныеЗначения; + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ПолеВвода.АвтоОтметкаНезаполненного = СвойстваНастройки.ДоступнаяСКД.ЗапрещатьНезаполненныеЗначения; КонецЕсли; // Поля ввода следующих типов не растягиваются по горизонтали и не имеют кнопки очистки: // Дата, Булево, Число, Тип. - ПолеВвода.КнопкаОчистки = ШаблонГенерации.СодержитДругиеТипы; - ПолеВвода.РастягиватьПоГоризонтали = ШаблонГенерации.СодержитДругиеТипы; - - Если ШаблонГенерации.ВыборИзСписка Тогда + ПолеВвода.КнопкаОчистки = СвойстваНастройки.СодержитДругиеТипы; + ПолеВвода.РастягиватьПоГоризонтали = СвойстваНастройки.СодержитДругиеТипы; + Для Каждого ЭлементСпискаВФорме Из СвойстваНастройки.ЗначенияДляВыбора Цикл + ЗаполнитьЗначенияСвойств(ПолеВвода.СписокВыбора.Добавить(), ЭлементСпискаВФорме); + КонецЦикла; + Если СвойстваНастройки.ОграничиватьВыборУказаннымиЗначениями Тогда ПолеВвода.РежимВыбораИзСписка = Истина; + ПолеВвода.КнопкаСоздания = Ложь; ПолеВвода.РастягиватьПоГоризонтали = Истина; - Для Каждого ЭлементСписка Из ДоступнаяНастройка.ДоступныеЗначения Цикл - Если ЭлементСписка.Значение = Тип("Неопределено") Тогда - Продолжить; // Запрет пустых значений для типа "Тип". - КонецЕсли; - ЭлементСпискаВыбора = ПолеВвода.СписокВыбора.Добавить(); - ЗаполнитьЗначенияСвойств(ЭлементСпискаВыбора, ЭлементСписка); - Если ТипЗнч(ЭлементСпискаВыбора.Значение) = Тип("Тип") Тогда - МассивТипов = Новый Массив; - МассивТипов.Добавить(ЭлементСпискаВыбора.Значение); - ЭлементСпискаВыбора.Значение = Новый ОписаниеТипов(МассивТипов); - КонецЕсли; - КонецЦикла; КонецЕсли; // Фиксированные параметры выбора. - Если ШаблонГенерации.Свойство("ПараметрыВыбора") Тогда - ПолеВвода.ПараметрыВыбора = Новый ФиксированныйМассив(ШаблонГенерации.ПараметрыВыбора); + Если СвойстваНастройки.Свойство("ПараметрыВыбора") Тогда + ПолеВвода.ПараметрыВыбора = Новый ФиксированныйМассив(СвойстваНастройки.ПараметрыВыбора); КонецЕсли; // Значение реквизита. - Если ШаблонГенерации.Префикс = "Параметр" Тогда + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда Значение = ПользовательскаяНастройка.Значение; Иначе Значение = ПользовательскаяНастройка.ПравоеЗначение; @@ -2333,338 +2316,45 @@ КонецЕсли; ДобавленныеПоляВвода.Вставить(ЗначениеИмя, Значение); - ИначеЕсли ШаблонГенерации.Тип = "СписокСПодбором" Тогда - - ГруппаИмя = ШаблонГенерации.Префикс + "_Группа_" + ИдентификаторЭлемента; - ГруппаЗаголовокИмя = ШаблонГенерации.Префикс + "_ГруппаЗаголовка_" + ИдентификаторЭлемента; - ИспользованиеИмя = ШаблонГенерации.Префикс + "_Использование_" + ИдентификаторЭлемента; - ДекорацияИмя = ШаблонГенерации.Префикс + "_Декорация_" + ИдентификаторЭлемента; - ТаблицаИмя = ШаблонГенерации.Префикс + "_СписокЗначений_" + ИдентификаторЭлемента; - КолонкаЗначениеИмя = ШаблонГенерации.Префикс + "_Колонка_Значение_" + ИдентификаторЭлемента; - КоманднаяПанельИмя = ШаблонГенерации.Префикс + "_КоманднаяПанель_" + ИдентификаторЭлемента; - КнопкаПодборИмя = ШаблонГенерации.Префикс + "_Подбор_" + ИдентификаторЭлемента; - - ИменаОсновныхРеквизитовФормы.Вставить(ИдентификаторЭлемента, ТаблицаИмя); - ИменаЭлементовДляУстановкиСвязей.Вставить(ИдентификаторЭлемента, КолонкаЗначениеИмя); - ИменаФлажковИспользование.Вставить(ИдентификаторЭлемента, ?(ШаблонГенерации.ФлажокИспользование, ИспользованиеИмя, "")); - - // Добавление основной группы - Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.БыстрыеНастройки); - Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; - Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; - Группа.Отображение = ОтображениеОбычнойГруппы.Нет; - Группа.Заголовок = ЭлементЗаголовок; - Группа.ОтображатьЗаголовок = Ложь; - - // Группа-строка для заголовка и командной панели таблицы. - ГруппаЗаголовокТаблицы = Элементы.Добавить(ГруппаЗаголовокИмя, Тип("ГруппаФормы"), Группа); - ГруппаЗаголовокТаблицы.Вид = ВидГруппыФормы.ОбычнаяГруппа; - ГруппаЗаголовокТаблицы.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; - ГруппаЗаголовокТаблицы.Отображение = ОтображениеОбычнойГруппы.Нет; - ГруппаЗаголовокТаблицы.ОтображатьЗаголовок = Ложь; - - // Флажок. - Если ШаблонГенерации.ФлажокИспользование Тогда - - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ИспользованиеИмя, "Булево"); - - ПолеФлажка = Элементы.Добавить(ИспользованиеИмя, Тип("ПолеФормы"), ГруппаЗаголовокТаблицы); - ПолеФлажка.Вид = ВидПоляФормы.ПолеФлажка; - ПолеФлажка.Заголовок = ЭлементЗаголовок + ":"; - ПолеФлажка.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Право; - ПолеФлажка.УстановитьДействие("ПриИзменении", "Подключаемый_ФлажокИспользование_ПриИзменении"); - - // Значение флажка - ДобавленныеПоляВвода.Вставить(ИспользованиеИмя, ПользовательскаяНастройка.Использование); - - КонецЕсли; - - // Заголовок / Пустая декорация. - ПустаяДекорация = Элементы.Добавить(ДекорацияИмя, Тип("ДекорацияФормы"), ГруппаЗаголовокТаблицы); - ПустаяДекорация.Вид = ВидДекорацииФормы.Надпись; - ПустаяДекорация.Заголовок = ?(ШаблонГенерации.ФлажокИспользование, " ", ЭлементЗаголовок + ":"); - ПустаяДекорация.РастягиватьПоГоризонтали = Истина; - - // Подбор. - ТаблицаКоманднаяПанель = Элементы.Добавить(КоманднаяПанельИмя, Тип("ГруппаФормы"), ГруппаЗаголовокТаблицы); - ТаблицаКоманднаяПанель.Вид = ВидГруппыФормы.КоманднаяПанель; - ТаблицаКоманднаяПанель.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Право; - ТаблицаКоманднаяПанель.РастягиватьПоГоризонтали = Ложь; - ТаблицаКоманднаяПанель.Ширина = 10; - - Если ШаблонГенерации.СодержитСсылочныеТипы Тогда - КомандаПодбор = Команды.Добавить(КнопкаПодборИмя); - КомандаПодбор.Действие = "Подключаемый_СписокСПодбором_Подбор"; - КомандаПодбор.Заголовок = НСтр("ru = 'Подбор'"); - КомандаПодбор.Отображение = ОтображениеКнопки.Текст; - Иначе - КомандаПодбор = Команды.Добавить(КнопкаПодборИмя); - КомандаПодбор.Действие = "Подключаемый_СписокСПодбором_Добавить"; - КомандаПодбор.Заголовок = НСтр("ru = 'Добавить'"); - КомандаПодбор.Отображение = ОтображениеКнопки.Текст; - КомандаПодбор.Картинка = БиблиотекаКартинок.СоздатьЭлементСписка; - КонецЕсли; - - КнопкаПодбор = Элементы.Добавить(КнопкаПодборИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); - КнопкаПодбор.ИмяКоманды = КнопкаПодборИмя; - - // Таблица. - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя, "СписокЗначений"); - - ТаблицаФормы = Элементы.Добавить(ТаблицаИмя, Тип("ТаблицаФормы"), Группа); - ТаблицаФормы.Отображение = ОтображениеТаблицы.Список; - ТаблицаФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; - ТаблицаФормы.ВертикальныеЛинии = Ложь; - ТаблицаФормы.ГоризонтальныеЛинии = Ложь; - ТаблицаФормы.Шапка = Ложь; - ТаблицаФормы.Подвал = Ложь; - ТаблицаФормы.ИзменятьПорядокСтрок = Истина; - ТаблицаФормы.РастягиватьПоГоризонтали = Истина; - ТаблицаФормы.РастягиватьПоВертикали = Истина; - ТаблицаФормы.Высота = 3; - - // Колонка "Значение". - КолонкаЗначениеЭлемент = Элементы.Добавить(КолонкаЗначениеИмя, Тип("ПолеФормы"), ТаблицаФормы); - КолонкаЗначениеЭлемент.Вид = ВидПоляФормы.ПолеВвода; - - ЗаполнитьЗначенияСвойств(КолонкаЗначениеЭлемент, ДоступнаяНастройка, "БыстрыйВыбор, Маска, ФормаВыбора, ФорматРедактирования"); - - Если ШаблонГенерации.Свойство("ВыборГруппИЭлементов") Тогда - КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = ШаблонГенерации.ВыборГруппИЭлементов; - Иначе - КолонкаЗначениеЭлемент.ВыборГруппИЭлементов = ФункцииОтчетовКлиентСервер.ПривестиЗначениеКТипуГруппыИЭлементы(ДоступнаяНастройка.ВыборГруппИЭлементов); - КонецЕсли; - - Если ШаблонГенерации.ВыборИзСписка Тогда - КолонкаЗначениеЭлемент.РежимВыбораИзСписка = Истина; - Для Каждого ЭлементСписка Из ДоступнаяНастройка.ДоступныеЗначения Цикл - Если ЭлементСписка.Значение = Тип("Неопределено") Тогда - Продолжить; - КонецЕсли; - ЭлементСпискаВыбора = КолонкаЗначениеЭлемент.СписокВыбора.Добавить(); - ЗаполнитьЗначенияСвойств(ЭлементСпискаВыбора, ЭлементСписка); - Если ТипЗнч(ЭлементСпискаВыбора.Значение) = Тип("Тип") Тогда - МассивТипов = Новый Массив; - МассивТипов.Добавить(ЭлементСпискаВыбора.Значение); - ЭлементСпискаВыбора.Значение = Новый ОписаниеТипов(МассивТипов); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - // Заполнение имен объектов метаданных в разрезах типов и идентификаторов элементов (для предустановленных). - // Используется при клике по кнопке "Подбор" для получения имени формы подбора. - Если ЗначениеЗаполнено(КолонкаЗначениеЭлемент.ФормаВыбора) Тогда - СоответствиеИменОбъектовМетаданных.Вставить(ИдентификаторЭлемента, КолонкаЗначениеЭлемент.ФормаВыбора); - КонецЕсли; - - // Фиксированные параметры выбора. - Если ШаблонГенерации.Свойство("ПараметрыВыбора") Тогда - КолонкаЗначениеЭлемент.ПараметрыВыбора = Новый ФиксированныйМассив(ШаблонГенерации.ПараметрыВыбора); - КонецЕсли; - - // Некоторые обработчики событий можно подключить только после установки связи элементов с данными. - СобытияТаблицы = Новый Структура; - Если ШаблонГенерации.СодержитТипТип Тогда - СобытияТаблицы.Вставить("ПередОкончаниемРедактирования", "Подключаемый_СписокСТипомТип_ПередОкончаниемРедактирования"); - СобытияТаблицы.Вставить("ПриИзменении", "Подключаемый_СписокСТипомТип_ПриИзменении"); - Иначе - СобытияТаблицы.Вставить("ПриИзменении", "Подключаемый_СписокСПодбором_ПриИзменении"); - СобытияТаблицы.Вставить("ОбработкаВыбора", "Подключаемый_СписокСПодбором_ОбработкаВыбора"); - КонецЕсли; - - // Значение списка. - Если ШаблонГенерации.Префикс = "Параметр" Тогда - СписокЗначений = ПользовательскаяНастройка.Значение; - Иначе - СписокЗначений = ПользовательскаяНастройка.ПравоеЗначение; - КонецЕсли; - - ОписаниеРеквизита = Новый Структура; - ОписаниеРеквизита.Вставить("ИмяТаблицы", ТаблицаИмя); - ОписаниеРеквизита.Вставить("СобытияТаблицы", СобытияТаблицы); - ОписаниеРеквизита.Вставить("ИмяКолонкиЗначение", КолонкаЗначениеИмя); - ОписаниеРеквизита.Вставить("Значение", СписокЗначений); - ОписаниеРеквизита.Вставить("ОписаниеТипов", ШаблонГенерации.ОписаниеТипов); - ОписаниеРеквизита.Вставить("СодержитТипТип", ШаблонГенерации.СодержитТипТип); - ДобавленныеСпискиЗначений.Добавить(ОписаниеРеквизита); - - ИначеЕсли ШаблонГенерации.Тип = "ТаблицаПорядкаСФлажками" Тогда - - ГруппаИмя = ШаблонГенерации.Префикс + "_Группа_" + ИдентификаторЭлемента; - ТаблицаИмя = ШаблонГенерации.Префикс + "_Таблица_" + ИдентификаторЭлемента; - КолонкаИспользованиеИмя = ШаблонГенерации.Префикс + "_КолонкаИспользование_" + ИдентификаторЭлемента; - КолонкаПредставлениеИмя = ШаблонГенерации.Префикс + "_КолонкаПредставление_" + ИдентификаторЭлемента; - КолонкаПорядокИмя = ШаблонГенерации.Префикс + "_КолонкаПорядок_" + ИдентификаторЭлемента; - КоманднаяПанельИмя = ШаблонГенерации.Префикс + "_КоманднаяПанель_" + ИдентификаторЭлемента; - КомандаПереместитьВверхИмя = ШаблонГенерации.Префикс + "_Команда_ПереместитьВверх_" + ИдентификаторЭлемента; - КомандаПереместитьВнизИмя = ШаблонГенерации.Префикс + "_Команда_ПереместитьВниз_" + ИдентификаторЭлемента; - КомандаСортироватьПоВозрастаниюИмя = ШаблонГенерации.Префикс + "_Команда_СортироватьПоВозрастанию_" + ИдентификаторЭлемента; - КомандаСортироватьПоУбываниюИмя = ШаблонГенерации.Префикс + "_Команда_СортироватьПоУбыванию_" + ИдентификаторЭлемента; - - // Реквизиты. - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя, "ТаблицаЗначений"); - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Идентификатор", "Строка"); - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Использование", "Булево"); - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Представление", "Строка"); - - Если ШаблонГенерации.Префикс = "ПорядокКомпоновкиДанных" Тогда - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".Направление", "НаправлениеСортировкиКомпоновкиДанных"); - ИначеЕсли ШаблонГенерации.Префикс = "ВыбранныеПоляКомпоновкиДанных" Тогда - БыстрыеНастройкиДобавитьРеквизит(ПараметрыЗаполнения, ТаблицаИмя + ".ЭтоГруппа", "Булево"); - КонецЕсли; - - // Группы и элементы - Группа = Элементы.Добавить(ГруппаИмя, Тип("ГруппаФормы"), Элементы.БыстрыеНастройки); - Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; - Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; - Группа.Отображение = ОтображениеОбычнойГруппы.СлабоеВыделение; - Группа.ОтображатьЗаголовок = Истина; - Группа.РастягиватьПоГоризонтали = Истина; - Группа.Заголовок = ЭлементЗаголовок + ":"; - - ТаблицаФормы = Элементы.Добавить(ТаблицаИмя, Тип("ТаблицаФормы"), Группа); - ТаблицаФормы.Отображение = ОтображениеТаблицы.Список; - ТаблицаФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; - ТаблицаФормы.ВертикальныеЛинии = Ложь; - ТаблицаФормы.ГоризонтальныеЛинии = Ложь; - ТаблицаФормы.Шапка = Ложь; - ТаблицаФормы.Подвал = Ложь; - ТаблицаФормы.ИзменятьПорядокСтрок = Истина; - ТаблицаФормы.РастягиватьПоГоризонтали = Истина; - ТаблицаФормы.РастягиватьПоВертикали = Истина; - ТаблицаФормы.Высота = 3; - ТаблицаФормы.ИзменятьСоставСтрок = Ложь; - ТаблицаФормы.ИзменятьПорядокСтрок = Ложь; - ТаблицаФормы.РежимВыделения = РежимВыделенияТаблицы.Одиночный; - - КолонкаИспользование = Элементы.Добавить(КолонкаИспользованиеИмя, Тип("ПолеФормы"), ТаблицаФормы); - КолонкаИспользование.Вид = ВидПоляФормы.ПолеФлажка; - КолонкаИспользование.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; - КолонкаИспользование.УстановитьДействие("ПриИзменении", "Подключаемый_ТаблицаПорядка_КолонкаИспользование_ПриИзменении"); - - КолонкаПредставление = Элементы.Добавить(КолонкаПредставлениеИмя, Тип("ПолеФормы"), ТаблицаФормы); - КолонкаПредставление.Вид = ВидПоляФормы.ПолеВвода; - КолонкаПредставление.ТолькоПросмотр = Истина; - - // Командная панель - ТаблицаКоманднаяПанель = Элементы.Добавить(КоманднаяПанельИмя, Тип("ГруппаФормы"), Группа); - ТаблицаКоманднаяПанель.Вид = ВидГруппыФормы.ОбычнаяГруппа; - ТаблицаКоманднаяПанель.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; - ТаблицаКоманднаяПанель.Отображение = ОтображениеОбычнойГруппы.Нет; - ТаблицаКоманднаяПанель.ОтображатьЗаголовок = Ложь; - - // Команды - КомандаПереместитьВверх = Команды.Добавить(КомандаПереместитьВверхИмя); - КомандаПереместитьВверх.Действие = "Подключаемый_ТаблицаПорядка_ПереместитьВверх"; - КомандаПереместитьВверх.Картинка = БиблиотекаКартинок.ПереместитьВверх; - КомандаПереместитьВверх.Отображение = ОтображениеКнопки.Картинка; - - КомандаПереместитьВниз = Команды.Добавить(КомандаПереместитьВнизИмя); - КомандаПереместитьВниз.Действие = "Подключаемый_ТаблицаПорядка_ПереместитьВниз"; - КомандаПереместитьВниз.Картинка = БиблиотекаКартинок.ПереместитьВниз; - КомандаПереместитьВниз.Отображение = ОтображениеКнопки.Картинка; - - // Кнопки - КнопкаПереместитьВверх = Элементы.Добавить(КомандаПереместитьВверхИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); - КнопкаПереместитьВверх.ИмяКоманды = КомандаПереместитьВверхИмя; - КнопкаПереместитьВверх.Заголовок = НСтр("ru = 'Переместить строку вверх'"); - - КнопкаПереместитьВниз = Элементы.Добавить(КомандаПереместитьВнизИмя, Тип("КнопкаФормы"), ТаблицаКоманднаяПанель); - КнопкаПереместитьВниз.ИмяКоманды = КомандаПереместитьВнизИмя; - КнопкаПереместитьВниз.Заголовок = НСтр("ru = 'Переместить строку вниз'"); - - Если ШаблонГенерации.Префикс = "ПорядокКомпоновкиДанных" Тогда - - КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Поднять приоритет сортировки по колонке'"); - КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Понизить приоритет сортировки по колонке'"); - - КолонкаПорядок = Элементы.Добавить(КолонкаПорядокИмя, Тип("ПолеФормы"), ТаблицаФормы); - КолонкаПорядок.Вид = ВидПоляФормы.ПолеВвода; - КолонкаПорядок.ТолькоПросмотр = Истина; - КолонкаПорядок.РастягиватьПоГоризонтали = Ложь; - КолонкаПорядок.Ширина = 11; - КолонкаПорядок.ГиперссылкаЯчейки = Истина; - - // Команды - КомандаПереместитьВверх = Команды.Добавить(КомандаСортироватьПоВозрастаниюИмя); - КомандаПереместитьВверх.Действие = "Подключаемый_ТаблицаПорядка_СортироватьПоВозрастанию"; - КомандаПереместитьВверх.Картинка = БиблиотекаКартинок.СортироватьСписокПоВозрастанию; - КомандаПереместитьВверх.Отображение = ОтображениеКнопки.Картинка; - - КомандаПереместитьВниз = Команды.Добавить(КомандаСортироватьПоУбываниюИмя); - КомандаПереместитьВниз.Действие = "Подключаемый_ТаблицаПорядка_СортироватьПоУбыванию"; - КомандаПереместитьВниз.Картинка = БиблиотекаКартинок.СортироватьСписокПоУбыванию; - КомандаПереместитьВниз.Отображение = ОтображениеКнопки.Картинка; - - // Кнопки - КнопкаПереместитьВверх = Элементы.Добавить(КомандаСортироватьПоВозрастаниюИмя, Тип("КнопкаФормы"), ТаблицаФормы.КонтекстноеМеню); - КнопкаПереместитьВверх.ИмяКоманды = КомандаСортироватьПоВозрастаниюИмя; - КнопкаПереместитьВверх.Заголовок = НСтр("ru = 'Сортировать по возрастанию'"); - - КнопкаПереместитьВниз = Элементы.Добавить(КомандаСортироватьПоУбываниюИмя, Тип("КнопкаФормы"), ТаблицаФормы.КонтекстноеМеню); - КнопкаПереместитьВниз.ИмяКоманды = КомандаСортироватьПоУбываниюИмя; - КнопкаПереместитьВниз.Заголовок = НСтр("ru = 'Сортировать по убыванию'"); - - ИначеЕсли ШаблонГенерации.Префикс = "ВыбранныеПоляКомпоновкиДанных" Тогда - - КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Переместить поле выше или левее'"); - КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Переместить поле ниже или правее'"); - - // Условное оформление для групп - ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); - ЭлементУсловногоОформления.Использование = Истина; - - ОтборОформления = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - ОтборОформления.Использование = Истина; - ОтборОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ТаблицаИмя + ".ЭтоГруппа"); - ОтборОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; - ОтборОформления.ПравоеЗначение = Истина; - - ПолеОформление = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); - ПолеОформление.Использование = Истина; - ПолеОформление.Поле = Новый ПолеКомпоновкиДанных(ТаблицаИмя); - - ШрифтОформления = ЭлементУсловногоОформления.Оформление.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Шрифт")); - ШрифтОформления.Значение = Новый Шрифт(ШрифтОформления.Значение, , , Истина, , Истина, ); - ШрифтОформления.Использование = Истина; - - ИначеЕсли ШаблонГенерации.Префикс = "СтруктураНастроекКомпоновкиДанных" Тогда - - КомандаПереместитьВверх.Подсказка = НСтр("ru = 'Переместить поле вверх'"); - КомандаПереместитьВниз.Подсказка = НСтр("ru = 'Переместить поле вниз'"); - - КонецЕсли; - - // Значения. - ОписаниеРеквизита = Новый Структура; - ОписаниеРеквизита.Вставить("ИмяГруппы", ГруппаИмя); - ОписаниеРеквизита.Вставить("ИмяТаблицы", ТаблицаИмя); - ОписаниеРеквизита.Вставить("ИмяКолонкиИспользование", КолонкаИспользованиеИмя); - ОписаниеРеквизита.Вставить("ИмяКолонкиПредставление", КолонкаПредставлениеИмя); - ОписаниеРеквизита.Вставить("ИмяКолонкиПорядок", КолонкаПорядокИмя); - ОписаниеРеквизита.Вставить("ПользовательскаяНастройка", ПользовательскаяНастройка); - ДобавленныеТаблицыСФлажками.Добавить(ОписаниеРеквизита); - + Иначе + Продолжить; КонецЕсли; + + Если ЭлементВывода.Размер <> Неопределено Тогда + Если ЭлементВывода.ИмяЭлемента1 = Неопределено Тогда // Заголовок + ЭлементВывода.ИмяЭлемента1 = СвойстваНастройки.Тип + "_Заголовок_" + ИдентификаторЭлемента; + ПолеНадписи = Элементы.Добавить(ЭлементВывода.ИмяЭлемента1, Тип("ДекорацияФормы"), Элементы.БыстрыеНастройки); + ПолеНадписи.Вид = ВидДекорацииФормы.Надпись; + ПолеНадписи.Заголовок = ЭлементЗаголовок + ":"; + КонецЕсли; + ГруппаВывода = ГруппыВывода.Быстрые; + Если СвойстваНастройки.Шаблон = "СтандартныйПериод" Тогда + ГруппаВывода.Порядок.Вставить(0, ЭлементВывода); + Иначе + ГруппаВывода.Порядок.Добавить(ЭлементВывода); + КонецЕсли; + ГруппаВывода.Размер = ГруппаВывода.Размер + ЭлементВывода.Размер; + КонецЕсли; + КонецЦикла; КонецЦикла; + ВывестиПоПорядку(ГруппыВывода.Быстрые, Элементы.БыстрыеНастройки, 2); + // Удаление старых и добавление новых реквизитов. Для Каждого КлючИЗначение Из ПараметрыЗаполнения.Реквизиты.Существующие Цикл ПараметрыЗаполнения.Реквизиты.Удаляемые.Добавить(КлючИЗначение.Ключ); КонецЦикла; ИзменитьРеквизиты(ПараметрыЗаполнения.Реквизиты.Добавляемые, ПараметрыЗаполнения.Реквизиты.Удаляемые); - // Установка значений и связей полей ввода. + // Поля ввода (установка значений и связей). Для Каждого КлючИЗначение Из ДобавленныеПоляВвода Цикл ИмяРеквизита = КлючИЗначение.Ключ; ЭтотОбъект[ИмяРеквизита] = КлючИЗначение.Значение; Элементы[ИмяРеквизита].ПутьКДанным = ИмяРеквизита; КонецЦикла; - // Установка значений и связей списков значений. + // Стандартные периоды (установка значений и связей). Для Каждого ОписаниеРеквизита Из ДобавленныеСтандартныеПериоды Цикл ЭтотОбъект[ОписаниеРеквизита.ПериодЗначениеИмя] = ОписаниеРеквизита.Значение; ЭтотОбъект[ОписаниеРеквизита.ВидПериодаИмя] = ОписаниеРеквизита.ВидПериода; @@ -2675,112 +2365,6 @@ Элементы[ОписаниеРеквизита.ПериодОкончаниеИмя].ПутьКДанным = ОписаниеРеквизита.ПериодЗначениеИмя + ".ДатаОкончания"; КонецЦикла; - // Установка значений и связей списков значений. - Для Каждого ОписаниеРеквизита Из ДобавленныеСпискиЗначений Цикл - ИмяТаблицы = ОписаниеРеквизита.ИмяТаблицы; - ТаблицаФормы = Элементы[ИмяТаблицы]; - Если ОписаниеРеквизита.СодержитТипТип И ТипЗнч(ОписаниеРеквизита.Значение) = Тип("СписокЗначений") Тогда - СписокЗначений = Новый СписокЗначений; - Для Каждого ЭлементСпискаСКД Из ОписаниеРеквизита.Значение Цикл - ЭлементСписка = СписокЗначений.Добавить(); - ЗаполнитьЗначенияСвойств(ЭлементСписка, ЭлементСпискаСКД); - Если ТипЗнч(ЭлементСписка.Значение) = Тип("Тип") Тогда - МассивТипов = Новый Массив; - МассивТипов.Добавить(ЭлементСписка.Значение); - ЭлементСписка.Значение = Новый ОписаниеТипов(МассивТипов); - КонецЕсли; - КонецЦикла; - ЭтотОбъект[ИмяТаблицы] = СписокЗначений; - Иначе - ЭтотОбъект[ИмяТаблицы] = ОписаниеРеквизита.Значение; - КонецЕсли; - ЭтотОбъект[ИмяТаблицы].ТипЗначения = ОписаниеРеквизита.ОписаниеТипов; - ТаблицаФормы.ПутьКДанным = ИмяТаблицы; - Элементы[ОписаниеРеквизита.ИмяКолонкиЗначение].ПутьКДанным = ИмяТаблицы + ".Значение"; - // Некоторые обработчики событий можно подключить только после установки связи элементов с данными. - Для Каждого КлючИЗначение Из ОписаниеРеквизита.СобытияТаблицы Цикл - ТаблицаФормы.УстановитьДействие(КлючИЗначение.Ключ, КлючИЗначение.Значение); - КонецЦикла; - КонецЦикла; - - // Установка значений и связей таблиц порядка с флажками. - Для Каждого ОписаниеРеквизита Из ДобавленныеТаблицыСФлажками Цикл - - ИмяТаблицы = ОписаниеРеквизита.ИмяТаблицы; - Таблица = ЭтотОбъект[ИмяТаблицы]; - Таблица.Очистить(); - ПользовательскаяНастройка = ОписаниеРеквизита.ПользовательскаяНастройка; - ТипОбщейНастройки = ТипЗнч(ПользовательскаяНастройка); - - Если ТипОбщейНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда - - ФункцииОтчетовКлиентСервер.ДобавитьЭлементыНастройки(ЭтотОбъект, Таблица, ПользовательскаяНастройка, ПользовательскаяНастройка, Истина); - - ИначеЕсли ТипОбщейНастройки = Тип("ПорядокКомпоновкиДанных") Тогда - - Для Каждого ЭлементПорядка Из ПользовательскаяНастройка.Элементы Цикл - Если ТипЗнч(ЭлементПорядка) = Тип("ЭлементПорядкаКомпоновкиДанных") Тогда - ДоступноеПоле = ФункцииОтчетовКлиентСервер.ПолучитьДоступноеПоле(НастройкиКД.ДоступныеПоляПорядка, ЭлементПорядка.Поле); - Если ДоступноеПоле = Неопределено Тогда - Продолжить; - КонецЕсли; - СтрокаПорядка = Таблица.Добавить(); - СтрокаПорядка.Использование = ЭлементПорядка.Использование; - СтрокаПорядка.Идентификатор = ПользовательскаяНастройка.ПолучитьИдентификаторПоОбъекту(ЭлементПорядка); - СтрокаПорядка.Представление = ДоступноеПоле.Заголовок; - СтрокаПорядка.Направление = ЭлементПорядка.ТипУпорядочивания; - КонецЕсли; - КонецЦикла; - - ИначеЕсли ТипОбщейНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда - - Для Каждого ЭлементСтруктуры Из ПользовательскаяНастройка.Структура Цикл - Представление = ""; - Если ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаКомпоновкиДанных") - ИЛИ ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаТаблицыКомпоновкиДанных") - ИЛИ ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда - - Для Каждого ПолеГруппировки Из ЭлементСтруктуры.ПоляГруппировки.Элементы Цикл - Если НЕ ПолеГруппировки.Использование Тогда - Продолжить; - КонецЕсли; - ДоступноеПоле = ФункцииОтчетовКлиентСервер.ПолучитьДоступноеПоле(НастройкиКД.ДоступныеПоляГруппировок, ПолеГруппировки.Поле); - Если ДоступноеПоле = Неопределено Тогда - Представление = Строка(ПолеГруппировки.Поле); - ИначеЕсли ДоступноеПоле.Родитель <> Неопределено Тогда - Представление = Представление + СтрЗаменить(СтрЗаменить(ДоступноеПоле.Заголовок, ДоступноеПоле.Родитель.Заголовок, ""), ".", "")+ ", "; - ИНаче - Представление = Представление + ДоступноеПоле.Заголовок + ", "; - КонецЕсли; - КонецЦикла; - - Представление = Лев(Представление, СтрДлина(Представление) - 2); - Иначе - Представление = НСтр("ru = 'Таблица / диаграмма'"); - КонецЕсли; - - СтрокиГруппировки = Таблица.Добавить(); - СтрокиГруппировки.Идентификатор = ЭлементСтруктуры.ИдентификаторПользовательскойНастройки; - СтрокиГруппировки.Использование = ЭлементСтруктуры.Использование; - СтрокиГруппировки.Представление = Представление; - КонецЦикла; - - КонецЕсли; - - Если Таблица.Количество() = 0 Тогда - Элементы[ОписаниеРеквизита.ИмяГруппы].Видимость = Ложь; - Иначе - Элементы[ИмяТаблицы].ПутьКДанным = ИмяТаблицы; - Элементы[ОписаниеРеквизита.ИмяКолонкиИспользование].ПутьКДанным = ИмяТаблицы + ".Использование"; - Элементы[ОписаниеРеквизита.ИмяКолонкиПредставление].ПутьКДанным = ИмяТаблицы + ".Представление"; - Если ТипОбщейНастройки = Тип("ПорядокКомпоновкиДанных") Тогда - Элементы[ОписаниеРеквизита.ИмяКолонкиПорядок].ПутьКДанным = ИмяТаблицы + ".Направление"; - Элементы[ИмяТаблицы].УстановитьДействие("Выбор", "Подключаемый_ТаблицаПорядка_Выбор"); - КонецЕсли; - КонецЕсли; - - КонецЦикла; - // Регистрация связи параметров выбора (динамическая связь, отключаемая флажком Использование). Найденные = Связи.ОбъектовМетаданных.НайтиСтроки(Новый Структура("ЕстьПодчиненные, ЕстьВедущие", Истина, Истина)); Для Каждого СтрокаТаблицы Из Найденные Цикл @@ -2853,7 +2437,7 @@ КонецЕсли; ПодчиненныйЭлемент = Элементы[ПодчиненныйИмяЭлемента]; - Если ВедущийИдентификатор = Неопределено Тогда // Ведущий не выведен в быстрые настройки. + Если ВедущийИдентификатор = Неопределено Тогда // Ведущий не выведен в настройки. // Инициализация соответствия для быстрого поиска значений обычных настроек. Если ПоискЗначенийОбычныхНастроекПоПолюКомпоновкиДанных = Неопределено Тогда @@ -2906,7 +2490,8 @@ СоответствиеОтключаемыхСвязей.Вставить(ВедущийИдентификатор, ВсеСвязиВедущего); // Если ведущий используется, тогда связь регистрируется в элементе подчиненного в соответствии с выбранным типом. - Если ВедущийПользовательскаяНастройкаКД.Использование Тогда + Если ВедущийПользовательскаяНастройкаКД.Использование + И Элементы.Найти(ОписаниеСвязи.ВедущийИмяРеквизита) <> Неопределено Тогда ПодчиненныйЭлемент.СвязьПоТипу = Новый СвязьПоТипу(ОписаниеСвязи.ВедущийИмяРеквизита, ОписаниеСвязи.НомерСубконто); КонецЕсли; @@ -2988,17 +2573,77 @@ КонецЦикла; - Если Элементы.Периоды.ПодчиненныеЭлементы.Количество() > 0 Тогда - Элементы.БыстрыеНастройки.Отображение = ОтображениеОбычнойГруппы.СлабоеВыделение; - Иначе - Элементы.БыстрыеНастройки.Отображение = ОтображениеОбычнойГруппы.Нет; - КонецЕсли; - // Сохранение соответствий для быстрого поиска в данные формы. БыстрыйПоискПользовательскихНастроек = Новый ФиксированноеСоответствие(СоответствиеПользовательскихНастроек); БыстрыйПоискИменОбъектовМетаданных = Новый ФиксированноеСоответствие(СоответствиеИменОбъектовМетаданных); БыстрыйПоискОтключаемыхСвязей = Новый ФиксированноеСоответствие(СоответствиеОтключаемыхСвязей); + ХранимыеСпискиВыбора = Новый ФиксированноеСоответствие(СоответствиеХранимыхСписковВыбора); + + ПользовательскиеНастройкиКД.ДополнительныеСвойства.Вставить("ЭлементыФормы", ДополнительныеНастройкиЭлементов); +КонецПроцедуры + +&НаСервере +Процедура ВывестиПоПорядку(ГруппаВывода, Родитель, КоличествоКолонок) + РодительИмя = Родитель.Имя; + + НомерКолонки = 0; + ОсталосьКолонок = КоличествоКолонок + 1; + ОсталосьМестаВсего = ГруппаВывода.Размер; + ОсталосьМестаВКолонке = 0; + + Для Каждого ЭлементВывода Из ГруппаВывода.Порядок Цикл + Если ОсталосьКолонок > 1 + И ЭлементВывода.Размер > ОсталосьМестаВКолонке*4 Тогда // Текущий шаг больше оставшегося места. + НомерКолонки = НомерКолонки + 1; + ОсталосьКолонок = ОсталосьКолонок - 1; + ОсталосьМестаВКолонке = ОсталосьМестаВсего/ОсталосьКолонок; + + КолонкаВерхнегоУровня = Элементы.Добавить(РодительИмя + НомерКолонки, Тип("ГруппаФормы"), Родитель); + КолонкаВерхнегоУровня.Вид = ВидГруппыФормы.ОбычнаяГруппа; + КолонкаВерхнегоУровня.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + КолонкаВерхнегоУровня.Отображение = ОтображениеОбычнойГруппы.Нет; + КолонкаВерхнегоУровня.ОтображатьЗаголовок = Ложь; + + НомерПодгруппы = 0; + ТекущаяГруппа1 = Неопределено; + ТекущаяГруппа2 = Неопределено; + КонецЕсли; + + Если ЭлементВывода.ИмяЭлемента2 = Неопределено Тогда // Вывод в одну колонку. + Если ТекущаяГруппа2 <> Неопределено Тогда + ТекущаяГруппа2 = Неопределено; + КонецЕсли; + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента1], КолонкаВерхнегоУровня); + Иначе + Если ТекущаяГруппа2 = Неопределено Тогда + НомерПодгруппы = НомерПодгруппы + 1; + + Колонки = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы, Тип("ГруппаФормы"), КолонкаВерхнегоУровня); + Колонки.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Колонки.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Колонки.Отображение = ОтображениеОбычнойГруппы.Нет; + Колонки.ОтображатьЗаголовок = Ложь; + + ТекущаяГруппа1 = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы + "_1", Тип("ГруппаФормы"), Колонки); + ТекущаяГруппа1.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТекущаяГруппа1.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТекущаяГруппа1.Отображение = ОтображениеОбычнойГруппы.Нет; + ТекущаяГруппа1.ОтображатьЗаголовок = Ложь; + + ТекущаяГруппа2 = Элементы.Добавить(РодительИмя + НомерКолонки + "_" + НомерПодгруппы + "_2", Тип("ГруппаФормы"), Колонки); + ТекущаяГруппа2.Вид = ВидГруппыФормы.ОбычнаяГруппа; + ТекущаяГруппа2.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ТекущаяГруппа2.Отображение = ОтображениеОбычнойГруппы.Нет; + ТекущаяГруппа2.ОтображатьЗаголовок = Ложь; + КонецЕсли; + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента1], ТекущаяГруппа1); + Элементы.Переместить(Элементы[ЭлементВывода.ИмяЭлемента2], ТекущаяГруппа2); + КонецЕсли; + + ОсталосьМестаВсего = ОсталосьМестаВсего - ЭлементВывода.Размер; + ОсталосьМестаВКолонке = ОсталосьМестаВКолонке - ЭлементВывода.Размер; + КонецЦикла; КонецПроцедуры &НаСервере @@ -3018,7 +2663,7 @@ КонецЕсли; ТипыСуществующего = ПараметрыЗаполнения.Реквизиты.Существующие.Получить(ПолноеИмяРеквизита); - Если ОписанияТиповСовпадает(ТипыСуществующего, ТипыДобавляемого) Тогда + Если ОписанияТиповСовпадают(ТипыСуществующего, ТипыДобавляемого) Тогда ПараметрыЗаполнения.Реквизиты.Существующие.Удалить(ПолноеИмяРеквизита); Иначе ПозицияТочки = Найти(ПолноеИмяРеквизита, "."); @@ -3039,7 +2684,7 @@ КонецПроцедуры &НаСервере -Функция ОписанияТиповСовпадает(ОписаниеТипов1, ОписаниеТипов2) +Функция ОписанияТиповСовпадают(ОписаниеТипов1, ОписаниеТипов2) Если ОписаниеТипов1 = Неопределено Или ОписаниеТипов2 = Неопределено Тогда Возврат Ложь; КонецЕсли; @@ -3058,11 +2703,21 @@ КлючСохраненияПоложенияОкна = Уникальность; - НастройкиОтчета.ПараметрыПечатиПоУмолчанию.Вставить("КлючПараметровПечати", Уникальность); - ЗаполнитьЗначенияСвойств(ОтчетТабличныйДокумент, НастройкиОтчета.ПараметрыПечатиПоУмолчанию); + НастройкиОтчета.Печать.Вставить("КлючПараметровПечати", Уникальность); + НастройкиПечатиВосстановить(); КонецЕсли; КонецПроцедуры +&НаСервере +Процедура НастройкиПечатиСохранить() + ЗаполнитьЗначенияСвойств(НастройкиОтчета.Печать, ОтчетТабличныйДокумент); +КонецПроцедуры + +&НаСервере +Процедура НастройкиПечатиВосстановить() + ЗаполнитьЗначенияСвойств(ОтчетТабличныйДокумент, НастройкиОтчета.Печать); +КонецПроцедуры + &НаСервере Процедура ФоновоеЗаданиеЗагрузитьРезультат() @@ -3080,12 +2735,9 @@ Иначе - ПараметрыПечатиДоФормирования = НастройкиОтчета.ПараметрыПечатиПоУмолчанию; - ЗаполнитьЗначенияСвойств(ПараметрыПечатиДоФормирования, ОтчетТабличныйДокумент); - + НастройкиПечатиСохранить(); ОтчетТабличныйДокумент = РезультатФормирования.ОтчетТабличныйДокумент; - - ЗаполнитьЗначенияСвойств(ОтчетТабличныйДокумент, ПараметрыПечатиДоФормирования); + НастройкиПечатиВосстановить(); Если ЗначениеЗаполнено(ОтчетДанныеРасшифровки) И ЭтоАдресВременногоХранилища(ОтчетДанныеРасшифровки) Тогда УдалитьИзВременногоХранилища(ОтчетДанныеРасшифровки); @@ -3122,94 +2774,68 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПредставлениеПользовательскойНастройки(ПользовательскаяНастройка, ОбщаяНастройка, ТипОбщейНастройки) - - Если ТипОбщейНастройки = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда - ЭлементЗаголовок = Строка(ПользовательскаяНастройка.ТипГруппы); - ИначеЕсли ТипОбщейНастройки = Тип("ЭлементОтбораКомпоновкиДанных") Тогда - ЭлементЗаголовок = Строка(ОбщаяНастройка.ЛевоеЗначение); - ИначеЕсли ТипОбщейНастройки = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда - ЭлементЗаголовок = Строка(ОбщаяНастройка.Параметр); - ИначеЕсли ТипОбщейНастройки = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Оформление'"); - Если НЕ ПустаяСтрока(Строка(ПользовательскаяНастройка.Оформление)) Тогда - ЭлементЗаголовок = ЭлементЗаголовок +" ("+ НРег(Строка(ПользовательскаяНастройка.Оформление)) +")"; - КонецЕсли; - ИначеЕсли ТипОбщейНастройки = Тип("ГруппировкаКомпоновкиДанных") Тогда - Суффикс = СокрЛП(Строка(ОбщаяНастройка.ПоляГруппировки)); - ЭлементЗаголовок = НСтр("ru = 'Группировка'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); - ИначеЕсли ТипОбщейНастройки = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда - Суффикс = СокрЛП(Строка(ОбщаяНастройка.ПоляГруппировки)); - ЭлементЗаголовок = НСтр("ru = 'Группировка диаграммы'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); - ИначеЕсли ТипОбщейНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Выбранные поля'"); - ИначеЕсли ТипОбщейНастройки = Тип("ПорядокКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Сортировка'"); - ИначеЕсли ТипОбщейНастройки = Тип("ОтборКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Отбор'"); - ИначеЕсли ТипОбщейНастройки = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Условное оформление'"); - ИначеЕсли ТипОбщейНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Структура настроек'"); - ИначеЕсли ТипОбщейНастройки = Тип("ТаблицаКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Таблица'"); - ИначеЕсли ТипОбщейНастройки = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Группировка таблицы'"); - ИначеЕсли ТипОбщейНастройки = Тип("ДиаграммаКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Диаграмма'"); - ИначеЕсли ТипОбщейНастройки = Тип("ГруппировкаДиаграммыМакетаКомпоновкиДанных") Тогда - ЭлементЗаголовок = НСтр("ru = 'Группировка диаграммы макета'"); - ИначеЕсли ТипОбщейНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда - ЭлементЗаголовок = СтрЗаменить(НСтр("ru = 'Вложенная группировка ''%1'''"), "%1", Строка(ПользовательскаяНастройка)); - Иначе - ЭлементЗаголовок = Строка(ПользовательскаяНастройка); - КонецЕсли; - - Возврат СокрЛП(ЭлементЗаголовок); -КонецФункции - -&НаСервереБезКонтекста -Процедура АнализТиповИСвязей(ИдентификаторЭлемента, ДоступнаяНастройка, ШаблонГенерации, ИменаОбъектовМетаданных, Связи) +Процедура АнализТиповИСвязей(ИдентификаторЭлемента, СвойстваНастройки, ИменаОбъектовМетаданных, Связи) КоличествоИзвестныхТипов = 0; - ИсходноеОписаниеТипов = ДоступнаяНастройка.ТипЗначения; + ИсходноеОписаниеТипов = СвойстваНастройки.ДоступнаяСКД.ТипЗначения; ДобавляемыеТипы = Новый Массив; ВычитаемыеТипы = Новый Массив; - ШаблонГенерации.Вставить("СодержитТипТип", Ложь); - ШаблонГенерации.Вставить("СодержитТипДата", Ложь); - ШаблонГенерации.Вставить("СодержитТипБулево", Ложь); - ШаблонГенерации.Вставить("СодержитТипЧисло", Ложь); - ШаблонГенерации.Вставить("СодержитТипПериод", Ложь); - ШаблонГенерации.Вставить("СодержитДругиеТипы", Ложь); - ШаблонГенерации.Вставить("СодержитСсылочныеТипы", Ложь); + СвойстваНастройки.Вставить("СодержитТипТип", Ложь); + СвойстваНастройки.Вставить("СодержитТипДата", Ложь); + СвойстваНастройки.Вставить("СодержитТипБулево", Ложь); + СвойстваНастройки.Вставить("СодержитТипЧисло", Ложь); + СвойстваНастройки.Вставить("СодержитТипПериод", Ложь); + СвойстваНастройки.Вставить("СодержитДругиеТипы", Ложь); + СвойстваНастройки.Вставить("СодержитСсылочныеТипы", Ложь); + + СвойстваНастройки.Вставить("КоличествоТипов", 0); + СвойстваНастройки.Вставить("КоличествоПримитивныхТипов", 0); + СвойстваНастройки.Вставить("КоличествоПеречислений", 0); + СвойстваНастройки.Вставить("КоличествоПрочихСсылочныхТипов", 0); + + СвойстваНастройки.Вставить("Перечисления", Новый Массив); ДоступнаяНастройкаТипы = ИсходноеОписаниеТипов.Типы(); Для Каждого Тип Из ДоступнаяНастройкаТипы Цикл Если Тип = Тип("ПолеКомпоновкиДанных") Тогда ВычитаемыеТипы.Добавить(Тип); - ИначеЕсли Тип = Тип("Тип") Тогда - ШаблонГенерации.СодержитТипТип = Истина; + Продолжить; + КонецЕсли; + СвойстваНастройки.КоличествоТипов = СвойстваНастройки.КоличествоТипов + 1; + + Если Тип = Тип("Тип") Тогда + СвойстваНастройки.СодержитТипТип = Истина; ДобавляемыеТипы.Добавить(Тип("ОписаниеТипов")); ВычитаемыеТипы.Добавить(Тип("Тип")); ИначеЕсли Тип = Тип("Дата") Тогда - ШаблонГенерации.СодержитТипДата = Истина; + СвойстваНастройки.СодержитТипДата = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; ИначеЕсли Тип = Тип("Булево") Тогда - ШаблонГенерации.СодержитТипБулево = Истина; + СвойстваНастройки.СодержитТипБулево = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; ИначеЕсли Тип = Тип("Число") Тогда - ШаблонГенерации.СодержитТипЧисло = Истина; + СвойстваНастройки.СодержитТипЧисло = Истина; + СвойстваНастройки.КоличествоПримитивныхТипов = СвойстваНастройки.КоличествоПримитивныхТипов + 1; ИначеЕсли Тип = Тип("СтандартныйПериод") Тогда - ШаблонГенерации.СодержитТипПериод = Истина; + СвойстваНастройки.СодержитТипПериод = Истина; Иначе - ШаблонГенерации.СодержитДругиеТипы = Истина; + СвойстваНастройки.СодержитДругиеТипы = Истина; ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); Если ОбъектМетаданных <> Неопределено Тогда - ШаблонГенерации.СодержитСсылочныеТипы = Истина; + СвойстваНастройки.СодержитСсылочныеТипы = Истина; ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); + Если ВРег(Лев(ПолноеИмя, 13)) = "ПЕРЕЧИСЛЕНИЕ." Тогда + СвойстваНастройки.Перечисления.Добавить(ПолноеИмя); + СвойстваНастройки.КоличествоПеречислений = СвойстваНастройки.КоличествоПеречислений + 1; + Иначе + СвойстваНастройки.КоличествоПрочихСсылочныхТипов = СвойстваНастройки.КоличествоПрочихСсылочныхТипов + 1; + КонецЕсли; + // Регистрация имени объекта метаданных. ИменаОбъектовМетаданных.Вставить(Тип, ПолноеИмя); @@ -3234,23 +2860,20 @@ КонецЦикла; ОписаниеТипов = Новый ОписаниеТипов(ИсходноеОписаниеТипов, ДобавляемыеТипы, ВычитаемыеТипы); + СвойстваНастройки.Вставить("ОписаниеТипов", ОписаниеТипов); - ШаблонГенерации.Вставить("ОписаниеТипов", ОписаниеТипов); - ШаблонГенерации.Вставить("КоличествоТипов", ОписаниеТипов.Типы().Количество()); - - // Переменные цикла ПараметрыВыбора = Новый Массив; - Если ЗначениеЗаполнено(ДоступнаяНастройка.СвязьПоТипу) Тогда + Если ЗначениеЗаполнено(СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу) Тогда СтрокаСвязи = Связи.ПоТипу.Добавить(); СтрокаСвязи.ПодчиненныйИдентификатор = ИдентификаторЭлемента; - СтрокаСвязи.ВедущийПолеКД = ДоступнаяНастройка.СвязьПоТипу.Поле; - СтрокаСвязи.НомерСубконто = ДоступнаяНастройка.СвязьПоТипу.ЭлементСвязи; + СтрокаСвязи.ВедущийПолеКД = СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу.Поле; + СтрокаСвязи.НомерСубконто = СвойстваНастройки.ДоступнаяСКД.СвязьПоТипу.ЭлементСвязи; КонецЕсли; - Для Каждого СтрокаСвязи Из ДоступнаяНастройка.ПолучитьСвязиПараметровВыбора() Цикл + Для Каждого СтрокаСвязи Из СвойстваНастройки.ДоступнаяСКД.ПолучитьСвязиПараметровВыбора() Цикл Если Не ПустаяСтрока(Строка(СтрокаСвязи.Поле)) Тогда СтрокаСвязиПараметров = Связи.ПараметровВыбора.Добавить(); @@ -3262,19 +2885,18 @@ КонецЦикла; - Для Каждого ПараметрВыбораКД Из ДоступнаяНастройка.ПолучитьПараметрыВыбора() Цикл + Для Каждого ПараметрВыбораКД Из СвойстваНастройки.ДоступнаяСКД.ПолучитьПараметрыВыбора() Цикл ПараметрыВыбора.Добавить(Новый ПараметрВыбора(ПараметрВыбораКД.Имя, ПараметрВыбораКД.Значение)); КонецЦикла; Если ПараметрыВыбора.Количество() > 0 Тогда - ШаблонГенерации.Вставить("ПараметрыВыбора", ПараметрыВыбора); + СвойстваНастройки.Вставить("ПараметрыВыбора", ПараметрыВыбора); КонецЕсли; КонецПроцедуры &НаСервереБезКонтекста Процедура УстановитьСвязьПараметровВыбора(ПодчиненныйЭлемент, СтруктураСвязи, ВключитьСвязь) - Если ПустаяСтрока(СтруктураСвязи.ПодчиненныйИмяПараметраФормы) Тогда Возврат; КонецЕсли; @@ -3305,27 +2927,21 @@ КонецЕсли; ПодчиненныйЭлемент.СвязиПараметровВыбора = Новый ФиксированныйМассив(МассивЭлементов); - КонецПроцедуры &НаСервере Функция СоздатьСтруктуруТаблицСвязей() - - Связи = Новый Структура; - // Связи из СКД. ТаблицаСвязейПоТипу = Новый ТаблицаЗначений; ТаблицаСвязейПоТипу.Колонки.Добавить("ПодчиненныйИдентификатор"); ТаблицаСвязейПоТипу.Колонки.Добавить("ВедущийПолеКД"); ТаблицаСвязейПоТипу.Колонки.Добавить("НомерСубконто"); - Связи.Вставить("ПоТипу", ТаблицаСвязейПоТипу); ТаблицаСвязейПараметровВыбора = Новый ТаблицаЗначений; ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ПодчиненныйИдентификатор"); ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ВедущийПолеКД"); ТаблицаСвязейПараметровВыбора.Колонки.Добавить("ПодчиненныйИмяПараметра"); ТаблицаСвязейПараметровВыбора.Колонки.Добавить("Действие"); - Связи.Вставить("ПараметровВыбора", ТаблицаСвязейПараметровВыбора); // Связи из метаданных. ТаблицаСвязейОбъектовМетаданных = Новый ТаблицаЗначений; @@ -3333,7 +2949,12 @@ ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйТип", Новый ОписаниеТипов("Тип")); ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийТип", Новый ОписаниеТипов("Тип")); - ФормаОтчетаПереопределяемый.ДополнитьСвязиОбъектовМетаданных(ТаблицаСвязейОбъектовМетаданных); + // Механизмы расширения. + ФормаОтчетаПереопределяемый.ДополнитьСвязиОбъектовМетаданных(ТаблицаСвязейОбъектовМетаданных); // Глобальные связи... + Если НастройкиОтчета.События.ДополнитьСвязиОбъектовМетаданных Тогда // ... можно переопределить локально для отчета. + ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); + ОтчетОбъект.ДополнитьСвязиОбъектовМетаданных(ТаблицаСвязейОбъектовМетаданных); + КонецЕсли; ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ЕстьПодчиненные", Новый ОписаниеТипов("Булево")); ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ПодчиненныйПолноеИмя", Новый ОписаниеТипов("Строка")); @@ -3341,10 +2962,13 @@ ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ЕстьВедущие", Новый ОписаниеТипов("Булево")); ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийПолноеИмя", Новый ОписаниеТипов("Строка")); ТаблицаСвязейОбъектовМетаданных.Колонки.Добавить("ВедущийМассивИдентификаторов", Новый ОписаниеТипов("Массив")); + + Связи = Новый Структура; + Связи.Вставить("ПоТипу", ТаблицаСвязейПоТипу); + Связи.Вставить("ПараметровВыбора", ТаблицаСвязейПараметровВыбора); Связи.Вставить("ОбъектовМетаданных", ТаблицаСвязейОбъектовМетаданных); Возврат Связи; - КонецФункции &НаСервере @@ -3356,45 +2980,45 @@ РекурсивныйАнализНастроекКД(Отчет.КомпоновщикНастроек.ФиксированныеНастройки.ПараметрыДанных.Элементы, Соответствие); Иначе // Регистрация значений включенных отборов и параметров КД, не выведенных в быстрый доступ. - Для Каждого ОбщаяНастройка Из Коллекция Цикл + Для Каждого НастройкаВарианта Из Коллекция Цикл // ЭлементОтбораКомпоновкиДанных, ГруппаЭлементовОтбораКомпоновкиДанных, // ЗначениеПараметраКомпоновкиДанных, ЗначениеПараметраНастроекКомпоновкиДанных. - Если ТипЗнч(ОбщаяНастройка) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда - Значение = ОбщаяНастройка.Значение; + Если ТипЗнч(НастройкаВарианта) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.Значение; Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда - ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(ОбщаяНастройка.Параметр)); + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(НастройкаВарианта.Параметр)); Соответствие.Вставить(ПолеКД, Значение); КонецЕсли; - РекурсивныйАнализНастроекКД(ОбщаяНастройка.ЗначенияВложенныхПараметров, Соответствие); + РекурсивныйАнализНастроекКД(НастройкаВарианта.ЗначенияВложенныхПараметров, Соответствие); Продолжить; КонецЕсли; - Если ОбщаяНастройка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ - И ЗначениеЗаполнено(ОбщаяНастройка.ИдентификаторПользовательскойНастройки) Тогда + Если НастройкаВарианта.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ + И ЗначениеЗаполнено(НастройкаВарианта.ИдентификаторПользовательскойНастройки) Тогда Продолжить; КонецЕсли; - Если ОбщаяНастройка.Использование <> Истина Тогда + Если НастройкаВарианта.Использование <> Истина Тогда Продолжить; КонецЕсли; - Если ТипЗнч(ОбщаяНастройка) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда - РекурсивныйАнализНастроекКД(ОбщаяНастройка.Элементы, Соответствие); + Если ТипЗнч(НастройкаВарианта) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + РекурсивныйАнализНастроекКД(НастройкаВарианта.Элементы, Соответствие); Продолжить; КонецЕсли; - Если ТипЗнч(ОбщаяНастройка) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда - Значение = ОбщаяНастройка.ПравоеЗначение; + Если ТипЗнч(НастройкаВарианта) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.ПравоеЗначение; Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда - ПолеКД = ОбщаяНастройка.ЛевоеЗначение; + ПолеКД = НастройкаВарианта.ЛевоеЗначение; Соответствие.Вставить(ПолеКД, Значение); КонецЕсли; - ИначеЕсли ТипЗнч(ОбщаяНастройка) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда - Значение = ОбщаяНастройка.ПравоеЗначение; + ИначеЕсли ТипЗнч(НастройкаВарианта) = Тип("ЗначениеПараметраКомпоновкиДанных") Тогда + Значение = НастройкаВарианта.ПравоеЗначение; Если ЗначениеИлиПолеКомпоновкиДанныхЗаполнено(Значение) Тогда - ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(ОбщаяНастройка.Параметр)); + ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(НастройкаВарианта.Параметр)); Соответствие.Вставить(ПолеКД, Значение); КонецЕсли; - РекурсивныйАнализНастроекКД(ОбщаяНастройка.ЗначенияВложенныхПараметров, Соответствие); + РекурсивныйАнализНастроекКД(НастройкаВарианта.ЗначенияВложенныхПараметров, Соответствие); КонецЕсли; КонецЦикла; @@ -3412,154 +3036,570 @@ КонецФункции &НаСервере -Процедура ЗаполнитьПанельОтчета() - Если ВариантыПанелиКлючТекущегоВарианта = КлючТекущегоВарианта Тогда - Возврат; +Процедура ЗаполнитьКомандыВыбораПользовательскихНастроек() + Если ЗначениеЗаполнено(НастройкиОтчета.ХранилищеПользовательскихНастроек) Тогда + МенеджерХранилища = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(НастройкиОтчета.ХранилищеПользовательскихНастроек); + Иначе + МенеджерХранилища = ХранилищеПользовательскихНастроекОтчетов; КонецЕсли; - ВариантыПанелиКлючТекущегоВарианта = КлючТекущегоВарианта; + КлючНастроек = КлючОбъекта + "/" + КлючТекущегоВарианта; + СписокНастроек = МенеджерХранилища.ПолучитьСписок(КлючНастроек); + СписокНастроек.СортироватьПоПредставлению(НаправлениеСортировки.Возр); - ТаблицаВывода = РеквизитФормыВЗначение("ВариантыПанели"); - ТаблицаВывода.Колонки.Добавить("ЭлементНадоДобавить", Новый ОписаниеТипов("Булево")); - ТаблицаВывода.Колонки.Добавить("ЭлементНадоОставить", Новый ОписаниеТипов("Булево")); - ТаблицаВывода.Колонки.Добавить("Группа"); + Группа = Элементы.ВариантыПользовательскихНастроек_Левая; + КнопкиГруппы = Группа.ПодчиненныеЭлементы; - ТекстЗапроса = - "ВЫБРАТЬ РАЗРЕШЕННЫЕ - | ВариантыОтчетов.Ссылка, - | ВариантыОтчетов.Отчет, - | ВариантыОтчетов.КлючВарианта, - | ВариантыОтчетов.Наименование КАК Наименование, - | ВЫБОР - | КОГДА ПОДСТРОКА(ВариантыОтчетов.Описание, 1, 1) = """" - | ТОГДА ВЫРАЗИТЬ(ВариантыОтчетов.ПредопределенныйВариант.Описание КАК СТРОКА(1000)) - | ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) - | КОНЕЦ КАК Описание, - | ВариантыОтчетов.Автор, - | ВариантыОтчетов.ТипОтчета, - | ВариантыОтчетов.Отчет.Имя КАК ИмяОтчета - |ИЗ - | Справочник.ВариантыОтчетов КАК ВариантыОтчетов - |ГДЕ - | ВариантыОтчетов.Отчет = &Отчет - | И ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ - | И (ВариантыОтчетов.ТолькоДляАвтора = ЛОЖЬ - | ИЛИ ВариантыОтчетов.Автор = &ТекущийПользователь) - | И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы) - | И ВариантыОтчетов.КлючВарианта <> """" - | - |УПОРЯДОЧИТЬ ПО - | Наименование"; + Количество = КнопкиГруппы.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + + Кнопка = КнопкиГруппы[ОбратныйИндекс]; + Команда = Команды[Кнопка.Имя]; + + КнопкаИдентификатор = Прав(Кнопка.Имя, 32); + КнопкаУникальныйИдентификатор = ПривестиИмяКИдентификатору(КнопкаИдентификатор); + + ОписаниеНастройки = СписокНастроек.НайтиПоЗначению(КнопкаУникальныйИдентификатор); + Если ОписаниеНастройки = Неопределено Тогда + Элементы.Удалить(Кнопка); + Команды.Удалить(Команда); + Иначе + ОписаниеНастройки.Значение = Кнопка; + Команда.Заголовок = ОписаниеНастройки.Представление; + КонецЕсли; + КонецЦикла; - Запрос = Новый Запрос; - Запрос.УстановитьПараметр("Отчет", ФормаПараметры.ОтчетСсылка); - Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.ТекущийПользователь()); - Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()); - Запрос.Текст = ТекстЗапроса; - - ОбщиеНастройки = ВариантыОтчетов.ОбщиеНастройкиПанели(); - ПоказыватьПодсказки = ОбщиеНастройки.ПоказыватьПодсказки = 1; - - ВидимостьГруппыВариантыОтчета = Ложь; - ТаблицаВариантов = Запрос.Выполнить().Выгрузить(); - Для Каждого СтрокаТаблицы Из ТаблицаВариантов Цикл - // Только другие варианты. - Если СтрокаТаблицы.Ссылка = ВариантСсылка Тогда + Для Каждого ОписаниеНастройки Из СписокНастроек Цикл + Если ТипЗнч(ОписаниеНастройки.Значение) = Тип("КнопкаФормы") Тогда + Элементы.Переместить(ОписаниеНастройки.Значение, Группа); // Сортировка. Продолжить; КонецЕсли; - ВидимостьГруппыВариантыОтчета = Истина; - ВывестиГиперссылкуВПанель(ТаблицаВывода, СтрокаТаблицы, Элементы.ГруппаДругиеВариантыОтчета, ПоказыватьПодсказки); + + КомандаИмя = "ЗагрузитьПользовательскуюНастройку_" + ПривестиИдентификаторКИмени(ОписаниеНастройки.Значение); + + Команда = Команды.Добавить(КомандаИмя); + Команда.Действие = "Подключаемый_ЗагрузитьПользовательскуюНастройку"; + Команда.Заголовок = ОписаниеНастройки.Представление; + + Кнопка = Элементы.Добавить(КомандаИмя, Тип("КнопкаФормы"), Группа); + Кнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; + Кнопка.ИмяКоманды = КомандаИмя; + + ПостоянныеКоманды.Добавить(КомандаИмя); КонецЦикла; - ВидимостьГруппыПохожиеОтчеты = Ложь; - Если ЗначениеЗаполнено(ФормаПараметры.Подсистема) Тогда - Элементы.ГруппаПохожиеОтчеты.Заголовок = ФормаПараметры.ПодсистемаПредставление; - ПараметрыПоиска = Новый Структура; - ПараметрыПоиска.Вставить("Подсистемы", Новый Массив); - ПараметрыПоиска.Подсистемы.Добавить(ФормаПараметры.Подсистема); - ПараметрыПоиска.Вставить("ТолькоВидимыеВПанелиОтчетов", Истина); - ПараметрыПоиска.Вставить("ПолучатьИтоговуюТаблицу", Истина); - ПараметрыПоиска.Вставить("ПометкаУдаления", Ложь); - - РезультатПоиска = ВариантыОтчетов.НайтиСсылки(ПараметрыПоиска); - - ТаблицаВариантов = РезультатПоиска.ТаблицаЗначений; - ТаблицаВариантов.Колонки.НаименованиеВарианта.Имя = "Наименование"; - ТаблицаВариантов.Сортировать("Наименование"); - Для Каждого СтрокаТаблицы Из ТаблицаВариантов Цикл - // Только другие варианты. - Если СтрокаТаблицы.Ссылка = ВариантСсылка Тогда - Продолжить; - КонецЕсли; - // Также не показывать вариант "по умолчанию" этого отчета. - Если СтрокаТаблицы.КлючВарианта = "" И СтрокаТаблицы.Отчет = ФормаПараметры.ОтчетСсылка Тогда - Продолжить; - КонецЕсли; - ВидимостьГруппыПохожиеОтчеты = Истина; - ВывестиГиперссылкуВПанель(ТаблицаВывода, СтрокаТаблицы, Элементы.ГруппаПохожиеОтчеты, ПоказыватьПодсказки); - КонецЦикла; - КонецЕсли; - - Элементы.ГруппаДругиеВариантыОтчета.Видимость = ВидимостьГруппыВариантыОтчета; - Элементы.ГруппаПохожиеОтчеты.Видимость = ВидимостьГруппыПохожиеОтчеты; - Элементы.РазделительГруппВариантов.Видимость = ВидимостьГруппыВариантыОтчета И ВидимостьГруппыПохожиеОтчеты; - - НайденныеДляУдаления = ТаблицаВывода.НайтиСтроки(Новый Структура("ЭлементНадоОставить", Ложь)); //ВариантыПанелиНомерЭлемента - Для Каждого СтрокаТаблицы Из НайденныеДляУдаления Цикл - ЭлементВарианта = Элементы.Найти(СтрокаТаблицы.НадписьИмя); - Если ЭлементВарианта <> Неопределено Тогда - Элементы.Удалить(ЭлементВарианта); - КонецЕсли; - ТаблицаВывода.Удалить(СтрокаТаблицы); - КонецЦикла; - - ЕстьДругиеОтчеты = ВидимостьГруппыВариантыОтчета Или ВидимостьГруппыПохожиеОтчеты; - - ТаблицаВывода.Колонки.Удалить("ЭлементНадоОставить"); - ТаблицаВывода.Колонки.Удалить("Группа"); - ЗначениеВРеквизитФормы(ТаблицаВывода, "ВариантыПанели"); КонецПроцедуры &НаСервере -Процедура ВывестиГиперссылкуВПанель(ТаблицаВывода, Вариант, Группа, ПоказыватьПодсказки) - - Найденные = ТаблицаВывода.НайтиСтроки(Новый Структура("Ссылка", Вариант.Ссылка)); - Если Найденные.Количество() > 0 Тогда - СтрокаВывода = Найденные[0]; - СтрокаВывода.ЭлементНадоОставить = Истина; +Процедура ПослеИзмененияКлючевыхСостояний(ПараметрыЗаполнения) + Если ПараметрыЗаполнения.Событие.Имя <> "ПослеФормирования" Тогда + Если НастройкиОтчета.ФормироватьСразу Тогда + НадоСформировать = Истина; + ИначеЕсли ПараметрыЗаполнения.ВариантМодифицирован + Или ПараметрыЗаполнения.ПользовательскиеНастройкиМодифицированы + Или ПараметрыЗаполнения.Событие.Имя = "НастройкиПоУмолчанию" Тогда + ОтображениеСостояния = Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния; + ОтображениеСостояния.Видимость = Истина; + ОтображениеСостояния.Текст = НСтр("ru = 'Отчет не сформирован. Нажмите ""Сформировать"" для получения отчета.'"); + ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.Неактуальность; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ДеревоВариантаЗарегистрироватьЭлемент(ЭлементСтруктурыСКД, НаборСтрокДерева) + СтрокаДерева = НаборСтрокДерева.Добавить(); + СтрокаДерева.Настройка = ЭлементСтруктурыСКД; + СтрокаДерева.ТипНастройки = ТипНастройкиСтрокой(ТипЗнч(ЭлементСтруктурыСКД)); + Если СтрокаДерева.ТипНастройки = "Настройки" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Группировка" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Таблица" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Колонки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Колонки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Колонки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Строки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Строки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Строки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "Диаграмма" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Серии: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Серии"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Серии Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Точки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Точки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Точки Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "НастройкиВложенногоОбъекта" Тогда + ДеревоВариантаЗарегистрироватьЭлемент(ЭлементСтруктурыСКД.Настройки, СтрокаДерева.Строки); + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаТаблицы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаДиаграммы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + Иначе Возврат; КонецЕсли; - СтрокаВывода = ТаблицаВывода.Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаВывода, Вариант); - ВариантыПанелиНомерЭлемента = ВариантыПанелиНомерЭлемента + 1; - СтрокаВывода.НадписьИмя = "Вариант" + Формат(ВариантыПанелиНомерЭлемента, "ЧГ="); - СтрокаВывода.Дополнительный = (Вариант.ТипОтчета = Перечисления.ТипыОтчетов.Дополнительный); - СтрокаВывода.ИмяГруппы = Группа.Имя; - СтрокаВывода.ЭлементНадоОставить = Истина; - СтрокаВывода.Группа = Группа; + Если СтрокаДерева.ТипНастройки <> "НастройкиВложенногоОбъекта" Тогда + ПараметрЗаголовок = ЭлементСтруктурыСКД.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок")); + Если ПараметрЗаголовок <> Неопределено И ПараметрЗаголовок.Использование Тогда + СтрокаДерева.Заголовок = ПараметрЗаголовок.Значение; + КонецЕсли; + КонецЕсли; - // Добавление надписи-гиперссылки варианта отчета - Надпись = Элементы.Вставить(СтрокаВывода.НадписьИмя, Тип("ДекорацияФормы"), СтрокаВывода.Группа); - Надпись.Вид = ВидДекорацииФормы.Надпись; - Надпись.Гиперссылка = Истина; - Надпись.РастягиватьПоГоризонтали = Истина; - Надпись.РастягиватьПоВертикали = Ложь; - Надпись.Высота = 1; - Надпись.ЦветТекста = ЦветаСтиля.ВидимыйВариантОтчетаЦвет; - Надпись.Заголовок = СокрЛП(Строка(Вариант.Ссылка)); - Если ЗначениеЗаполнено(Вариант.Описание) Тогда - Надпись.Подсказка = СокрЛП(Вариант.Описание); + Если СтрокаДерева.ЕстьСтруктура Тогда + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Структура Цикл + ДеревоВариантаЗарегистрироватьЭлемент(ВложенныйЭлемент, СтрокаДерева.Строки); + КонецЦикла; КонецЕсли; - Если ЗначениеЗаполнено(Вариант.Автор) Тогда - Надпись.Подсказка = СокрЛ(Надпись.Подсказка + Символы.ПС) + НСтр("ru = 'Автор:'") + " " + СокрЛП(Строка(Вариант.Автор)); - КонецЕсли; - Если ПоказыватьПодсказки Тогда - Надпись.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу; - Надпись.РасширеннаяПодсказка.РастягиватьПоГоризонтали = Истина; - Надпись.РасширеннаяПодсказка.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; - КонецЕсли; - Надпись.УстановитьДействие("Нажатие", "ВариантНажатие"); - КонецПроцедуры +&НаСервере +Функция ТипНастройкиСтрокой(ТипНастройки) + Если ТипНастройки = Тип("НастройкиКомпоновкиДанных") Тогда + Возврат "Настройки"; + ИначеЕсли ТипНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда + Возврат "НастройкиВложенногоОбъекта"; + + ИначеЕсли ТипНастройки = Тип("ОтборКомпоновкиДанных") Тогда + Возврат "Отбор"; + ИначеЕсли ТипНастройки = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Возврат "ЭлементОтбора"; + ИначеЕсли ТипНастройки = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Возврат "ГруппаЭлементовОтбора"; + + ИначеЕсли ТипНастройки = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + Возврат "ЗначениеПараметраНастроек"; + + ИначеЕсли ТипНастройки = Тип("ГруппировкаКомпоновкиДанных") Тогда + Возврат "Группировка"; + ИначеЕсли ТипНастройки = Тип("ПорядокКомпоновкиДанных") Тогда + Возврат "Порядок"; + ИначеЕсли ТипНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда + Возврат "ВыбранныеПоля"; + + ИначеЕсли ТипНастройки = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда + Возврат "УсловноеОформление"; + ИначеЕсли ТипНастройки = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда + Возврат "ЭлементУсловногоОформления"; + + ИначеЕсли ТипНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда + Возврат "СтруктураНастроек"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыНастроек"; + + ИначеЕсли ТипНастройки = Тип("ТаблицаКомпоновкиДанных") Тогда + Возврат "Таблица"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда + Возврат "ГруппировкаТаблицы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыТаблицы"; + + ИначеЕсли ТипНастройки = Тип("ДиаграммаКомпоновкиДанных") Тогда + Возврат "Диаграмма"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда + Возврат "ГруппировкаДиаграммы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыДиаграммы"; + + ИначеЕсли ТипНастройки = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда + Возврат "ПолеГруппировки"; + ИначеЕсли ТипНастройки = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда + Возврат "ПоляГруппировки"; + ИначеЕсли ТипНастройки = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда + Возврат "КоллекцияПолейГруппировки"; + + Иначе + Возврат ""; + КонецЕсли; +КонецФункции + +&НаСервере +Функция ДеревоВариантаНайти(ДеревоВарианта, СвойстваНастройки) + ИдентификаторСКД = СвойстваНастройки.ИдентификаторСКД; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + + //Настройки, свойство Отбор + //Группировка, свойство Отбор + //ГруппировкаТаблицы, свойство Отбор + //ГруппировкаДиаграммы, свойство Отбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Отбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Отбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" + Или СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + + //Настройки, свойство Отбор.Элементы + //Группировка, свойство Отбор.Элементы + //ГруппировкаТаблицы, свойство Отбор.Элементы + //ГруппировкаДиаграммы, свойство Отбор.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + НайденныйЭлемент = НайтиПоИдентификатору(СтрокаДерева.Настройка.Отбор.Элементы, ИдентификаторСКД); + Если НайденныйЭлемент <> Неопределено Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = НайденныйЭлемент; + Если СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + СвойстваНастройки.ДоступнаяСКД = СтрокаДерева.Настройка.Отбор.ДоступныеПоляОтбора.НайтиПоле(НайденныйЭлемент.ЛевоеЗначение); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + //Настройки, свойство Порядок + //Группировка, свойство Порядок + //ГруппировкаТаблицы, свойство Порядок + //ГруппировкаДиаграммы, свойство Порядок + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Порядок.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Порядок; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + //Настройки, свойство Выбор + //Таблица, свойство Выбор + //Диаграмма, свойство Выбор + //Группировка, свойство Выбор + //ГруппировкаДиаграммы, свойство Выбор + //ГруппировкаТаблицы, свойство Выбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Выбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Выбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + + //Настройки, свойство УсловноеОформление + //Таблица, свойство УсловноеОформление + //Диаграмма, свойство УсловноеОформление + //Группировка, свойство УсловноеОформление + //ГруппировкаДиаграммы, свойство УсловноеОформление + //ГруппировкаТаблицы, свойство УсловноеОформление + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.УсловноеОформление.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.УсловноеОформление; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + + //Настройки, свойство УсловноеОформление.Элементы + //Таблица, свойство УсловноеОформление.Элементы + //Диаграмма, свойство УсловноеОформление.Элементы + //Группировка, свойство УсловноеОформление.Элементы + //ГруппировкаДиаграммы, свойство УсловноеОформление.Элементы + //ГруппировкаТаблицы, свойство УсловноеОформление.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Для Каждого ЭлементУО Из СтрокаДерева.Настройка.УсловноеОформление.Элементы Цикл + Если ЭлементУО.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЭлементУО; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + + ПараметрКД = СвойстваНастройки.ПользовательскаяСКД.Параметр; + + //ПараметрКомпоновкиДанных содержится в КоллекцияЗначенийПараметровКомпоновкиДанных, которая в свою очередь: + // ЗначенияПараметровДанныхКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыДанных + // ЗначенияПараметровВыводаКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Группировка, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаТаблицы, свойство ПараметрыВывода + // ЗначенияПараметровВыводаТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Таблица, свойство ПараметрыВывода + // ЗначенияПараметровВыводаДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Диаграмма, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаДиаграммы, свойство ПараметрыВывода + // ОформлениеКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ЭлементОбластиМакетаОформленияКомпоновкиДанных, свойство Оформление + // ЭлементУсловногоОформленияКомпоновкиДанных, свойство Оформление + // ПолеНабораДанныхСхемыКомпоновкиДанных, свойство Оформление + // ВычисляемоеПолеСхемыКомпоновкиДанных, свойство Оформление + // ЗначениеПараметраКомпоновкиДанных, свойство ЗначенияВложенныхПараметров + + //Настройки, свойство ПараметрыДанных, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Настройки"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + ДоступныеПараметры = СтрокаДерева.Настройка.ПараметрыДанных.ДоступныеПараметры; + Если ДоступныеПараметры <> Неопределено Тогда + СвойстваНастройки.ДоступнаяСКД = ДоступныеПараметры.НайтиПараметр(ПараметрКД); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Настройки, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Группировка, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Таблица, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Диаграмма, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаТаблицы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаДиаграммы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыВывода.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Тип = "ЗначениеПараметраВывода"; // Подмена типа... + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + + // Прямо в структуре. + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", СвойстваНастройки.Тип), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Если СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + СвойстваНастройки.ДоступнаяСКД = Отчет.КомпоновщикНастроек.Настройки.ДоступныеОбъекты.Элементы.Найти(СтрокаДерева.Настройка.ИдентификаторОбъекта); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Если СвойстваНастройки.Тип = "Группировка" Тогда + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаТаблицы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаТаблицы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаДиаграммы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаДиаграммы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + //Настройки, свойство Структура + //Группировка, свойство Структура + //ГруппировкаТаблицы, свойство Структура + //ГруппировкаДиаграммы, свойство Структура + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Структура.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "Структура"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Структура; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Таблица, свойство Колонки + //Таблица, свойство Строки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Таблица"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Строки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаСтроки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Строки; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Колонки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаКолонки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Колонки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Диаграмма, свойство Серии + //Диаграмма, свойство Точки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Диаграмма"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Серии.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаСерии"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Серии; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Точки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаТочки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Точки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +&НаСервере +Функция НайтиПоИдентификатору(ЭлементыСКД, ИдентификаторСКД) + Для Каждого ЭлементСКД Из ЭлементыСКД Цикл + Если ЭлементСКД.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + Возврат ЭлементСКД; + ИначеЕсли ТипЗнч(ЭлементСКД) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Найденный = НайтиПоИдентификатору(ЭлементСКД.Элементы, ИдентификаторСКД); + Если Найденный <> Неопределено Тогда + Возврат Найденный; + КонецЕсли; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + +&НаСервереБезКонтекста +Функция ПредставлениеПользовательскойНастройки(СвойстваНастройки) + ЭлементЗаголовок = ""; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + ЭлементЗаголовок = НСтр("ru = 'Отбор'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ПользовательскаяСКД.ТипГруппы); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.ЛевоеЗначение); + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + ЭлементЗаголовок = НСтр("ru = 'Сортировка'"); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + ЭлементЗаголовок = НСтр("ru = 'Поля'"); + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + ЭлементЗаголовок = НСтр("ru = 'Оформление'"); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + ПредставлениеЗначения = Строка(СвойстваНастройки.ПользовательскаяСКД.Оформление); + ПредставлениеТипа = НСтр("ru = 'Элемент оформления'"); + Если ПустаяСтрока(ПредставлениеЗначения) Тогда + ЭлементЗаголовок = ПредставлениеТипа; + Иначе + ЭлементЗаголовок = ПредставлениеЗначения +" ("+ НРег(ПредставлениеТипа) +")"; + КонецЕсли; + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.Параметр); + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаТаблицы" Тогда + ЭлементЗаголовок = НСтр("ru = 'Группировка таблицы'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаДиаграммы" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка диаграммы'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "Таблица" Тогда + ЭлементЗаголовок = НСтр("ru = 'Таблица'"); + + ИначеЕсли СвойстваНастройки.Тип = "Диаграмма" Тогда + ЭлементЗаголовок = НСтр("ru = 'Диаграмма'"); + + ИначеЕсли СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + ЭлементЗаголовок = СтрЗаменить(НСтр("ru = 'Вложенная группировка ''%1'''"), "%1", Строка(СвойстваНастройки.ПользовательскаяСКД)); + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + Если СвойстваНастройки.Подтип = "ТаблицаСтроки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Строки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ТаблицаКолонки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Колонки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаСерии" Тогда + ЭлементЗаголовок = НСтр("ru = 'Серии'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаТочки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Точки'"); + + Иначе + ЭлементЗаголовок = НСтр("ru = 'Структура'"); + + КонецЕсли; + + Иначе + ЭлементЗаголовок = Строка(СвойстваНастройки.Тип); + + КонецЕсли; + + Возврат СокрЛП(ЭлементЗаголовок); +КонецФункции + +&НаСервере +Функция ЗначениеРеквизита(Имя) + Структура = Новый Структура(Имя); + ЗаполнитьЗначенияСвойств(Структура, ЭтотОбъект); + Возврат Структура[Имя]; +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/АвтономнаяРаботаСлужебный/Module.bsl b/SSL/src/CommonModules/АвтономнаяРаботаСлужебный/Module.bsl index bd75d9f35..86a5cf742 100644 --- a/SSL/src/CommonModules/АвтономнаяРаботаСлужебный/Module.bsl +++ b/SSL/src/CommonModules/АвтономнаяРаботаСлужебный/Module.bsl @@ -27,26 +27,32 @@ КонецПроцедуры -// Переопределяет действие перед авторизацией пользователя, -// выполняемой при начале работы системы (в процессе получения -// параметров работы клиента при запуске). -// -// Можно заполнить состав пользователей и выполнить перезапуск. +// Настраивает автономное рабочее место при первом запуске. +// Заполняет состав пользователей и другие настройки. +// Вызывается перед авторизацией пользователя. Может потребоваться перезапуск. // -// Требуется, например, при настройке автономного рабочего места. -// -// Параметры: -// Перезапустить - Булево, начальное значение Ложь. Если указать -// Истина, тогда работа системы будет прекращена. -// -Процедура ПередАвторизациейТекущегоПользователяПриНачалеРаботыСистемы(Перезапустить) Экспорт +Функция ПродолжитьНастройкуАвтономногоРабочегоМеста(Параметры) Экспорт - Если НеобходимоВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске() Тогда - ВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске(); - Перезапустить = Истина; + Если Не НеобходимоВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске() Тогда + Возврат Ложь; КонецЕсли; + + Попытка + ВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске(); + Параметры.Вставить("ПерезапуститьПослеНастройкиАвтономногоРабочегоМеста"); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + + ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста(), + УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + + Параметры.Вставить("ОшибкаПриНастройкеАвтономногоРабочегоМеста", + КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); + КонецПопытки; -КонецПроцедуры + Возврат Истина; + +КонецФункции //////////////////////////////////////////////////////////////////////////////// // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ, ИСПОЛЬЗУЕМЫЕ НА СТОРОНЕ СЕРВИСА @@ -539,18 +545,25 @@ // Правила обмена не мигрируют в РИБ, поэтому выполняем загрузку правил ОбменДаннымиСервер.ВыполнитьОбновлениеПравилДляОбменаДанными(); - ЗагрузитьДанныеНачальногоОбраза(); - ЗагрузитьПараметрыИзНачальногоОбраза(); + УстановитьПривилегированныйРежим(Ложь); + + ПриПродолженииНастройкиАвтономногоРабочегоМеста(); + +КонецПроцедуры + +Процедура ПриПродолженииНастройкиАвтономногоРабочегоМеста() + УстановитьПривилегированныйРежим(Истина); + ПользователиСлужебный.ОчиститьИдентификаторыНесуществующихПользователейИБ(); Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда МодульРаботаСПочтовымиСообщениямиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениямиСлужебный"); МодульРаботаСПочтовымиСообщениямиСлужебный.ОтключитьИспользованиеУчетныхЗаписей(); КонецЕсли; - КонецПроцедуры + // Для внутреннего использования // Процедура ОтключитьАвтоматическуюСинхронизациюДанныхСПриложениемВИнтернете() Экспорт @@ -571,9 +584,7 @@ Функция НеобходимоВыполнитьНастройкуАвтономногоРабочегоМестаПриПервомЗапуске() Экспорт УстановитьПривилегированныйРежим(Истина); - - Возврат Не Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() - И ЭтоАвтономноеРабочееМесто(); + Возврат Не Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() И ЭтоАвтономноеРабочееМесто(); КонецФункции @@ -726,8 +737,9 @@ УзелПриложенияВСервисе.ДополнительныеСвойства.Вставить("ПолучениеСообщенияОбмена"); УзелПриложенияВСервисе.Записать(); - // Назначаем созданный узел главным + // Назначение созданного узла главным. ПланыОбмена.УстановитьГлавныйУзел(УзелПриложенияВСервисе.Ссылка); + СтандартныеПодсистемыСервер.СохранитьГлавныйУзел(); НачатьТранзакцию(); Попытка diff --git a/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/Module.bsl new file mode 100644 index 000000000..7daeaf8ee --- /dev/null +++ b/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/Module.bsl @@ -0,0 +1,42 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Обмен данными в модели сервиса". +// +//////////////////////////////////////////////////////////////////////////////// + +#Область СлужебныеПроцедурыИФункции + +// Проверяет настройку автономного рабочего места и уведомляет об ошибке. +Процедура ПередНачаломРаботыСистемы(Параметры) Экспорт + + ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); + + Если ПараметрыКлиента.Свойство("ПерезапуститьПослеНастройкиАвтономногоРабочегоМеста") Тогда + Параметры.Отказ = Истина; + Параметры.Перезапустить = Истина; + Возврат; + КонецЕсли; + + Если НЕ ПараметрыКлиента.Свойство("ОшибкаПриНастройкеАвтономногоРабочегоМеста") Тогда + Возврат; + КонецЕсли; + + Параметры.Отказ = Истина; + Параметры.ИнтерактивнаяОбработка = Новый ОписаниеОповещения( + "ИнтерактивнаяОбработкаПриПроверкеНастройкиАвтономногоРабочегоМеста", ЭтотОбъект); + +КонецПроцедуры + +/////////////////////////////////////////////////////////////////////////////// +// Обработчики оповещений. + +// Предупреждает об ошибке настройки автономного рабочего места. +Процедура ИнтерактивнаяОбработкаПриПроверкеНастройкиАвтономногоРабочегоМеста(Параметры, Неопределен) Экспорт + + ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); + + СтандартныеПодсистемыКлиент.ПоказатьПредупреждениеИПродолжить( + Параметры, ПараметрыКлиента.ОшибкаПриНастройкеАвтономногоРабочегоМеста); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/АвтономнаяРаботаСлужебныйКлиент.mdo b/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/АвтономнаяРаботаСлужебныйКлиент.mdo new file mode 100644 index 000000000..9c7e397de --- /dev/null +++ b/SSL/src/CommonModules/АвтономнаяРаботаСлужебныйКлиент/АвтономнаяРаботаСлужебныйКлиент.mdo @@ -0,0 +1,10 @@ + + + АвтономнаяРаботаСлужебныйКлиент + + ru + Автономная работа служебный клиент + + true + true + diff --git a/SSL/src/CommonModules/АдминистрированиеКластераCOMКлиентСервер/Module.bsl b/SSL/src/CommonModules/АдминистрированиеКластераCOMКлиентСервер/Module.bsl index 43f773f99..bb1d499ef 100644 --- a/SSL/src/CommonModules/АдминистрированиеКластераCOMКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/АдминистрированиеКластераCOMКлиентСервер/Module.bsl @@ -1024,7 +1024,7 @@ Функция СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер) Для Каждого РабочийПроцесс Из СоединениеСАгентомСервера.GetWorkingProcesses(Кластер) Цикл - Если РабочийПроцесс.Running Тогда + Если РабочийПроцесс.Running И РабочийПроцесс.IsEnable Тогда СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ="); Возврат COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом); КонецЕсли; @@ -1225,40 +1225,31 @@ Соединения = Новый Массив(); Словарь = СловарьСвойствСоединений(); - Для Каждого РабочийПроцесс Из СоединениеСАгентомСервера.GetWorkingProcesses(Кластер) Цикл + СоединениеСРабочимПроцессом = СоединениеСРабочимПроцессом(COMСоединитель, СоединениеСАгентомСервера, Кластер); + + СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ); + + Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл - Если РабочийПроцесс.Running Тогда + Если ИнформационнаяБаза.Name = ИмяВКластере Тогда - СтрокаСоединенияСРабочимПроцессом = РабочийПроцесс.HostName + ":" + Формат(РабочийПроцесс.MainPort, "ЧГ="); - СоединениеСРабочимПроцессом = COMСоединитель.ConnectWorkingProcess(СтрокаСоединенияСРабочимПроцессом); - - СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ); - - Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл + Для Каждого Соединение Из СоединениеСРабочимПроцессом.GetInfoBaseConnections(ИнформационнаяБаза) Цикл - Если ИнформационнаяБаза.Name = ИмяВКластере Тогда - - Для Каждого Соединение Из СоединениеСРабочимПроцессом.GetInfoBaseConnections(ИнформационнаяБаза) Цикл - - ОписаниеСоединения = ОписаниеОбъектаОбъектнойМоделиCOMАдминистратора(Соединение, Словарь); - - Если АдминистрированиеКластераКлиентСервер.ПроверитьУсловияФильтра(ОписаниеСоединения, Фильтр) Тогда - - Если Описания Тогда - Соединения.Добавить(ОписаниеСоединения); - Иначе - Соединения.Добавить(Новый Структура("СоединениеСРабочимПроцессом, Соединение", СоединениеСРабочимПроцессом, Соединение)); - КонецЕсли; - - КонецЕсли; - - КонецЦикла; + ОписаниеСоединения = ОписаниеОбъектаОбъектнойМоделиCOMАдминистратора(Соединение, Словарь); + + Если АдминистрированиеКластераКлиентСервер.ПроверитьУсловияФильтра(ОписаниеСоединения, Фильтр) Тогда + Если Описания Тогда + Соединения.Добавить(ОписаниеСоединения); + Иначе + Соединения.Добавить(Новый Структура("СоединениеСРабочимПроцессом, Соединение", СоединениеСРабочимПроцессом, Соединение)); + КонецЕсли; КонецЕсли; - + КонецЦикла; + КонецЕсли; КонецЦикла; diff --git a/SSL/src/CommonModules/АдминистрированиеКластераRASКлиентСервер/Module.bsl b/SSL/src/CommonModules/АдминистрированиеКластераRASКлиентСервер/Module.bsl index 0f8a71f67..ff3645d7e 100644 --- a/SSL/src/CommonModules/АдминистрированиеКластераRASКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/АдминистрированиеКластераRASКлиентСервер/Module.bsl @@ -794,7 +794,7 @@ ПотокВывода = ВыполнитьКоманду(Шаблон, ПараметрыАдминистрированияКластера, Параметры); РабочиеПроцессыСервера = ПарсерВывода(ПотокВывода, Неопределено, Фильтр); Для Каждого РабочийПроцесс Из РабочиеПроцессыСервера Цикл - Если РабочийПроцесс.Получить("running") Тогда + Если РабочийПроцесс.Получить("running") = "yes" И РабочийПроцесс.Получить("is-enable") = "yes" Тогда Результат.Добавить(РабочийПроцесс); КонецЕсли; КонецЦикла; diff --git a/SSL/src/CommonModules/АдресныйКлассификатор/Module.bsl b/SSL/src/CommonModules/АдресныйКлассификатор/Module.bsl index f490d640a..ae5cc0e01 100644 --- a/SSL/src/CommonModules/АдресныйКлассификатор/Module.bsl +++ b/SSL/src/CommonModules/АдресныйКлассификатор/Module.bsl @@ -6,16 +6,24 @@ #Область ПрограммныйИнтерфейс // Возвращает версии адресных объектов, записанные при последнем обновлении. -// Если записи об адресном объекте нет - возвращается дата 01.09.2008 +// Если записи об адресном объекте нет - возвращается пустая дата // -// Возвращаемое значение -// СписокЗначений - в ключе помещается номер адресного объекта, в значении - дата выпуска версии. +// Возвращаемое значение: +// СписокЗначений - в представлении - номер адресного объекта, в значении - UTC дата выпуска версии. // Функция ВерсииАдресныхОбъектов() Экспорт Запрос = Новый Запрос(" |ВЫБРАТЬ - | Регион.КодАдресногоОбъектаВКоде КАК АдресныйОбъект + | Версии.АдресныйОбъект КАК АдресныйОбъект, + | Версии.ДатаВыпускаВерсии КАК ДатаВерсии + |ИЗ + | РегистрСведений.ВерсииОбъектовАдресногоКлассификатора КАК Версии + |; + |//////////////////////////////////////////////////////////////////////////////// + | + |ВЫБРАТЬ + | Регион.КодАдресногоОбъектаВКоде КАК КодРегиона |ИЗ | РегистрСведений.АдресныйКлассификатор КАК Регион |ГДЕ @@ -27,46 +35,39 @@ | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 5 | ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде=Регион.КодАдресногоОбъектаВКоде И ТипАдресногоЭлемента = 6 | ) - |УПОРЯДОЧИТЬ ПО - | АдресныйОбъект - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ - | Версии.АдресныйОбъект КАК АдресныйОбъект, - | Версии.ДатаВыпускаВерсии КАК ДатаВыпускаВерсии - |ИЗ - | РегистрСведений.ВерсииОбъектовАдресногоКлассификатора КАК Версии |"); РезультатЗапроса= Запрос.ВыполнитьПакет(); - АдресныеОбъекты = РезультатЗапроса[0].Выгрузить().ВыгрузитьКолонку("АдресныйОбъект"); - УстановленныеВерсии = РезультатЗапроса[1].Выгрузить(); + ТекущиеВерсии = РезультатЗапроса[0].Выгрузить(); + ТекущиеВерсии.Индексы.Добавить("АдресныйОбъект"); - Результат = Новый СписокЗначений; + ДатаВерсии = '00000000'; + Результат = Новый СписокЗначений; - Для Каждого АдресныйОбъект Из АдресныеОбъекты Цикл - ДобавитьВерсиюВСписок(Формат(АдресныйОбъект, "ЧЦ=2; ЧВН=; ЧГ=0"), УстановленныеВерсии, Результат); + Для Каждого КодРегиона Из РезультатЗапроса[1].Выгрузить().ВыгрузитьКолонку("КодРегиона") Цикл + КодСтрокой = Формат(КодРегиона, "ЧЦ=2; ЧН=; ЧВН="); + СтрокаВерсии = ТекущиеВерсии.Найти(КодСтрокой, "АдресныйОбъект"); + Результат.Добавить( ?(СтрокаВерсии = Неопределено, ДатаВерсии, СтрокаВерсии.ДатаВерсии), КодСтрокой); КонецЦикла; Если Результат.Количество() > 0 Тогда - ДобавитьВерсиюВСписок("AL", УстановленныеВерсии, Результат); - ДобавитьВерсиюВСписок("SO", УстановленныеВерсии, Результат); + Результат.Добавить(ДатаВерсии, "AL"); + Результат.Добавить(ДатаВерсии, "SO"); КонецЕсли; Возврат Результат; - КонецФункции // Процедура для загрузки данных в КЛАДР // // Параметры: -// КодАдресногоОбъекта - Строка - код адресного объекта в формате NN -// ПутьКДаннымНаСервере - Строка - путь к каталогу на сервере, в котором хранятся файлы кладр -// ЗагрузкаСВеб - Булево - если Истина, данные загружаются с веб сервера 1С +// КодАдресногоОбъекта - Строка - Код адресного объекта в формате NN +// ПутьКДаннымНаСервере - Строка - Путь к каталогу на сервере, в котором хранятся файлы кладр +// ЗагрузкаСВеб - Булево - Если Истина, данные загружаются с веб сервера 1С (другое формирование имени файла) +// Версия - Дата - Дата и время загружаемой версии // -Процедура ЗагрузитьКлассификаторПоАдресномуОбъекту(Знач КодАдресногоОбъекта, ПутьКДаннымНаСервере, ЗагрузкаСВеб) Экспорт +Процедура ЗагрузитьКлассификаторПоАдресномуОбъекту(Знач КодАдресногоОбъекта, Знач ПутьКДаннымНаСервере, Знач ЗагрузкаСВеб, Знач Версия) Экспорт КодАдресногоОбъекта = Лев(КодАдресногоОбъекта, 2); @@ -117,18 +118,28 @@ ЗаполнитьАльтернативныеНазвания(ПутьКДаннымНаСервере + ИмяФайлаАльтернативныхНазваний + Постфикс, АдресныеСведения, АльтернативныеНазвания, ЗагрузкаСВеб); - // Записываем классификатор с выравниванием кода + // Выравнивание кода - для совместимости АдресныеСведения.Индексы.Удалить(ИндексПоКоду); Для Каждого Элемент Из АдресныеСведения Цикл Элемент.Код = Лев(Строка(Элемент.Код) + "000000000000000000000", 21); КонецЦикла; - НаборАдресныхСведений = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); - НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Использование = Истина; - НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Значение = Число(КодАдресногоОбъекта); - НаборАдресныхСведений.Загрузить(АдресныеСведения); - НаборАдресныхСведений.Записать(); - + // Запись в одной транзакции с версией + НачатьТранзакцию(); + Попытка + НаборАдресныхСведений = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); + НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Установить( Число(КодАдресногоОбъекта) ); + НаборАдресныхСведений.Загрузить(АдресныеСведения); + НаборАдресныхСведений.Записать(); + + УстановитьВерсиюКлассификатора(КодАдресногоОбъекта, Версия); + + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации, УровеньЖурналаРегистрации.Информация, , , СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Загружен адресный классификатор по региону %1, %2 записей.'"), @@ -136,7 +147,7 @@ )); КонецПроцедуры -// Процедура очищает адресные сведений по переданным адресным объектам. +// Очищает адресные сведений по переданным адресным объектам. // // Параметры: // МассивАдресныхОбъектов - Массив - каждый элемент - строка, номер адресного объекта в формате NN @@ -144,11 +155,20 @@ Процедура УдалитьАдресныеСведения(Знач МассивАдресныхОбъектов) Экспорт Для Каждого КодАдресногоОбъекта Из МассивАдресныхОбъектов Цикл - НаборАдресныхСведений = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); - НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Использование = Истина; - НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Значение = Число(КодАдресногоОбъекта); - НаборАдресныхСведений.Записать(); - УстановитьВерсиюКлассификатора(КодАдресногоОбъекта); + + НачатьТранзакцию(); + Попытка + НаборАдресныхСведений = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); + НаборАдресныхСведений.Отбор.КодАдресногоОбъектаВКоде.Установить( Число(КодАдресногоОбъекта) ); + НаборАдресныхСведений.Записать(); + + УстановитьВерсиюКлассификатора(КодАдресногоОбъекта); + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + КонецЦикла; КонецПроцедуры @@ -156,7 +176,7 @@ // Функция возвращает число адресных объектов по которым заполнены адресные сведения // // Возвращаемое значение: -// Число заполненных адресных объектов. +// Число - Количество заполненных адресных объектов. // Функция ЧислоЗаполненныхАдресныхОбъектов() Экспорт @@ -218,50 +238,71 @@ КонецФункции +// Функция сообщает, загружен ли адресный классификатор +// +// Возвращаемое значение: +// Булево - Истина, если адресный классификатор загружен, Ложь - в противном случае. +// +Функция КлассификаторЗагружен() Экспорт + Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 + | АдресныйКлассификатор.КодАдресногоОбъектаВКоде КАК КодАдресногоОбъектаВКоде + |ИЗ + | РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор + |ГДЕ + | АдресныйКлассификатор.ТипАдресногоЭлемента > 1"); + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + + // Возвращает структуру, содержащую информацию по адресному объекту // // Параметры // КодАдресногоОбъекта - Строка - номер адресного объекта от 1 до 89 + 99 в формате NN // -// Возвращаемое значение -// Структура, с ключами: -// КодАдресногоОбъекта - Строка - код адресного объекта. -// Наименование - Строка - наименование адресного объекта. -// Сокращение - Строка - сокращение адресного объекта. -// Индекс - Строка - индекс. +// Возвращаемое значение: +// Структура - описание адресного объекта, содержит ключи: +// * КодАдресногоОбъекта - Строка - код адресного объекта. +// * Наименование - Строка - наименование адресного объекта. +// * Сокращение - Строка - сокращение адресного объекта. +// * Индекс - Строка - индекс. // -Функция ИнформацияПоАдресномуОбъекту(КодАдресногоОбъекта) Экспорт - - КлассификаторАдресныхОбъектовXML = РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; +Функция ИнформацияПоАдресномуОбъекту(Знач КодАдресногоОбъекта) Экспорт Результат = Новый Структура("КодАдресногоОбъекта, Наименование, Сокращение, Индекс"); Если КодАдресногоОбъекта = "AL" Тогда - // Результат.КодАдресногоОбъекта = "AL"; Результат.Наименование = НСтр("ru = 'Альтернативные названия'"); Результат.Сокращение = ""; Результат.Индекс = ""; - // + ИначеЕсли КодАдресногоОбъекта = "SO" Тогда - // Результат.КодАдресногоОбъекта = "SO"; Результат.Наименование = НСтр("ru = 'Адресные сокращения'"); Результат.Сокращение = ""; Результат.Индекс = ""; - Иначе - Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл - Если Лев(АдресныйОбъект.Code, 2) = КодАдресногоОбъекта Тогда - Прервать; - КонецЕсли; - КонецЦикла; - Результат.КодАдресногоОбъекта = АдресныйОбъект.Code; - Результат.Наименование = АдресныйОбъект.Name; - Результат.Сокращение = АдресныйОбъект.Socr; - Результат.Индекс = АдресныйОбъект.Index; + Иначе + Классификатор = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); + Если ТипЗнч(КодАдресногоОбъекта) = Тип("Строка") Тогда + ТипЧисло = Новый ОписаниеТипов("Число"); + КодАдресногоОбъекта = ТипЧисло.ПривестиЗначение(КодАдресногоОбъекта); + КонецЕсли; + + АдресныйОбъект = Классификатор.Найти(КодАдресногоОбъекта, "КодСубъектаРФ"); + Если АдресныйОбъект <> Неопределено ТОгда + Результат.КодАдресногоОбъекта = Формат(АдресныйОбъект.КодСубъектаРФ, "ЧЦ=2; ЧН=; ЧВН="); + Результат.Наименование = АдресныйОбъект.Наименование; + Результат.Сокращение = АдресныйОбъект.Сокращение; + Результат.Индекс = АдресныйОбъект.ПочтовыйИндекс; + КонецЕсли; + КонецЕсли; Возврат Результат; @@ -276,12 +317,12 @@ // Индекс - Строка - индекс, по которому будет производиться поиск // // Возвращаемое значение: -// Структура с полями: -// Количество - Число - количество найденных вариантов -// НайденныйРегион - Строка - если найден один регион -// НайденныйРайон - Строка - если найден один район -// ПризнакАктуальности - Число - признак актуальности если найден один вариант -// АдресВХранилище - Строка - идентификатор сохраненной в хранилище таблицы с найденными вариантами +// Структура - описание найденного. Содержит поля: +// * Количество - Число - количество найденных вариантов +// * НайденныйРегион - Строка - если найден один регион +// * НайденныйРайон - Строка - если найден один район +// * ПризнакАктуальности - Число - признак актуальности если найден один вариант +// * АдресВХранилище - Строка - идентификатор сохраненной в хранилище таблицы с найденными вариантами // Функция НайтиЗаписиПоИндексу(Индекс) Экспорт @@ -474,9 +515,9 @@ // Получить компоненты адресного элемента по его коду // // Параметры: -// КодАдресногоЭлемента - Число - код адресного элемента, по которому ищутся компоненты адреса -// Результат - структура с полями, в которую выгружается результат поиска: -// ПризнакАктуальности - Число - признак актуальности найденного адреса +// КодАдресногоЭлемента - Число - код адресного элемента, по которому ищутся компоненты адреса +// Результат - Структура - заполняется результатами поиска. Поля: +// ПризнакАктуальности - Число - признак актуальности найденного адреса // Регион - Строка - наименование найденного региона // Район - Строка - наименование найденного района // Город - Строка - наименование найденного города @@ -585,7 +626,7 @@ // Квартира - Строка - номер квартиры, если требуется // // Возвращаемое значение: -// Структура - с полями: +// Структура - описание результата с полями: // * Индекс - Строка - индекс адреса по переданным параметрам // * Регион - Строка - регион по переданному коду // * Район - Строка - район по переданному коду @@ -634,14 +675,14 @@ // Определяет индекс по переданным региону, району, городу, населенному пункту, улице, дому и корпусу. // // Параметры: -// НазваниеРегиона - название региона с сокращением -// НазваниеРайона - название района с сокращением -// НазваниеГорода - название города с сокращением -// НазваниеНаселенногоПункта - название населенного пункта с сокращением -// Улица - название улицы с сокращением -// НомерДома - номер дома, для которого необходимо получить индекс -// НомерКорпуса - номер корпуса -// РодительИндекса - переменная, в которой сохраняется структура найденного адресного элемента +// НазваниеРегиона - Строка - название региона с сокращением +// НазваниеРайона - Строка - название района с сокращением +// НазваниеГорода - Строка - название города с сокращением +// НазваниеНаселенногоПункта - Строка - название населенного пункта с сокращением +// Улица - Строка - название улицы с сокращением +// НомерДома - Строка - номер дома, для которого необходимо получить индекс +// НомерКорпуса - Строка - номер корпуса +// РодительИндекса - Структура - заполняется данными найденного адресного элемента // // Возвращаемое значение: // Строка - шестизначный почтовый индекс @@ -710,7 +751,8 @@ // ПризнакАктуальности - Число - признак актуальности элемента. // // Возвращаемое значение: -// СписокЗначений или Неопределено +// СписокЗначений - данные для автоподбора +// Неопределено - в случае отсутствия данных // Функция АвтоПодборТекстВАдресномЭлементе(Текст, Регион, Район, Город, НаселенныйПункт, УровеньЭлемента, ПризнакАктуальности = 0) Экспорт @@ -757,7 +799,7 @@ // НомерКорпуса - Строка - номер корпуса (строения, литеры) // // Возвращаемое значение: -// Структура с полями: +// Структура - описание результата проверки: // Индекс - Структура - структура полей найденного индекса // Регион - Структура - структура полей найденного региона // Район - Структура - структура полей найденного района @@ -973,11 +1015,11 @@ // // Возвращаемое значение: // Структура - Результаты анализа. Содержит поля -// * Ошибки - Структура - Описание ошибок, ключ - идентификатор части адреса (имя поля из ОбъектАдреса), -// значение - текст ошибки. Если нет ошибок, то возвращается пустая структура -// * Варианты - ТаблицаЗначений - Варианты адресных объектов, успешно прошедших проверку. Колонки: -// ** Код - Число - код адресного объекта -// ** Индекс - Строка - почтовый индекс адресного объекта +// * Ошибки - Структура - Описание ошибок, ключ - идентификатор части адреса (имя поля из ОбъектАдреса), значение - текст ошибки. +// Если нет ошибок, то возвращается пустая структура +// * Варианты - ТаблицаЗначений - Описание найденных вариантов. Содержит колонки: +// ** Код - Число - Код классификатора объекта - варианта +// ** Индекс - Строка - Почтовый индекс объекта - варианта // Функция АнализСоответствияАдресаКлассификатору(Знач ОбъектАдреса) Экспорт Результат = Новый Структура("Варианты, Ошибки", Новый ТаблицаЗначений, Новый Структура); @@ -1755,16 +1797,16 @@ // Возвращает структуру ограничений по переданным параметрам со значениями адресных полей. // // Параметры: -// НазваниеРегиона - название региона с сокращением -// НазваниеРайона - название района с сокращением -// НазваниеГорода - название города с сокращением -// НазваниеНаселенногоПункта - название населенного пункта с сокращением -// НазваниеУлицы - название улицы с сокращением -// КодРодителя - Число - код родительского элемента -// Уровень - Число - текущий уровень элемента +// НазваниеРегиона - Строка - название региона с сокращением +// НазваниеРайона - Строка - название района с сокращением +// НазваниеГорода - Строка - название города с сокращением +// НазваниеНаселенногоПункта - Строка - название населенного пункта с сокращением +// НазваниеУлицы - Строка - название улицы с сокращением +// КодРодителя - Число - код родительского элемента +// Уровень - Число - текущий уровень элемента // // Возвращаемое значение: -// Структура со следующими полями: +// Структура - описание ограничений со следующими полями: // КодАдресногоОбъектаВКоде - Строка - код региона для ограничения // КодРайонаВКоде - Строка - код района для ограничения // КодГородаВКоде - Строка - код города для ограничения @@ -1805,14 +1847,14 @@ // Возвращает строку(структуру) адресного классификатора по значениям адресных элементов // // Параметры: -// НазваниеРегиона - название региона с сокращением -// НазваниеРайона - название района с сокращением -// НазваниеГорода - название города с сокращением -// НазваниеНаселенногоПункта - название населенного пункта с сокращением -// НазваниеУлицы - название улицы с сокращением +// НазваниеРегиона - Строка - название региона с сокращением +// НазваниеРайона - Строка - название района с сокращением +// НазваниеГорода - Строка - название города с сокращением +// НазваниеНаселенногоПункта - Строка - название населенного пункта с сокращением +// НазваниеУлицы - Строка - название улицы с сокращением // // Возвращаемое значение: -// Структура полей по найденому адресному элементу (см. функцию "АдресныйКлассификаторКлиентСервер.ПустаяСтруктураАдреса()") +// Структура - описание полей по найденому адресному элементу (см. функцию "АдресныйКлассификаторКлиентСервер.ПустаяСтруктураАдреса()") // Функция ВернутьСтруктуруАдресногоКлассификатораПоАдреснымЭлементам(Знач НазваниеРегиона, Знач НазваниеРайона, Знач НазваниеГорода, Знач НазваниеНаселенногоПункта, Знач НазваниеУлицы) Экспорт @@ -1854,14 +1896,14 @@ // Процедура очищает потомков определенного адресного элемента // // Параметры: -// Регион - строка - строка, куда будет помещено строковое представление "родительского" региона. -// Район - строка - строка, куда будет помещено строковое представление "родительского" района. -// Город - строка - строка, куда будет помещено строковое представление "родительского" города. -// НаселенныйПункт - строка - строка, куда будет помещено строковое представление "родительского" населенного пункта. -// Улица - строка - строка, куда будет помещено строковое представление "родительской" улицы. -// Дом - строка - строка, куда будет помещено строковое представление "родительского" номера дома. -// Корпус - строка - строка, куда будет помещено строковое представление "родительского" номера корпуса дома. -// Квартира - строка - строка, куда будет помещено строковое представление "родительского" номера квартиры. +// Регион - Строка - строка, куда будет помещено строковое представление "родительского" региона. +// Район - Строка - строка, куда будет помещено строковое представление "родительского" района. +// Город - Строка - строка, куда будет помещено строковое представление "родительского" города. +// НаселенныйПункт - Строка - строка, куда будет помещено строковое представление "родительского" населенного пункта. +// Улица - Строка - строка, куда будет помещено строковое представление "родительской" улицы. +// Дом - Строка - строка, куда будет помещено строковое представление "родительского" номера дома. +// Корпус - Строка - строка, куда будет помещено строковое представление "родительского" номера корпуса дома. +// Квартира - Строка - строка, куда будет помещено строковое представление "родительского" номера квартиры. // Уровень - Число - уровень адресного элемента. // Процедура ОчиститьПотомковПоУровнюАдресногоЭлемента(Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус, Квартира, Уровень) Экспорт @@ -1974,8 +2016,8 @@ // при создании информационной базы или обновлении программы. // // Параметры: -// ЗапросыРазрешений - Массив - список значений, возвращенных функцией -// РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(). +// ЗапросыРазрешений - Массив - перечень значений, возвращенных функцией +// РаботаВБезопасномРежиме.ЗапросНаИспользованиеВнешнихРесурсов(). // Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт @@ -1989,7 +2031,10 @@ КонецПроцедуры -// Возвращает базовое имя события для регистрации в журнале событий +// Базовое имя события для регистрации в журнале событий +// +// Возвращаемое значение: +// Строка - имя // Функция СобытиеЖурналаРегистрации() Экспорт Возврат НСтр("ru='Адресный классификатор'", @@ -2053,7 +2098,7 @@ Обработчик.ОбщиеДанные = Истина; Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "2.2.2.44"; + Обработчик.Версия = "2.2.3.5"; Обработчик.Процедура = "АдресныйКлассификатор.ЗагрузитьАдресныеОбъектыПервогоУровня"; Обработчик.ОбщиеДанные = Истина; @@ -2063,25 +2108,7 @@ // Процедура ЗагрузитьАдресныеОбъектыПервогоУровня() Экспорт - КлассификаторАдресныхОбъектовXML = РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; - - НаборЗаписей = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.ТипАдресногоЭлемента.Установить(1); - - Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл - МенеджерЗаписи = НаборЗаписей.Добавить(); - - МенеджерЗаписи.Код = АдресныйОбъект.Code; - МенеджерЗаписи.ТипАдресногоЭлемента = 1; - МенеджерЗаписи.Наименование = АдресныйОбъект.Name; - МенеджерЗаписи.Сокращение = АдресныйОбъект.Socr; - МенеджерЗаписи.Индекс = АдресныйОбъект.Index; - МенеджерЗаписи.КодАдресногоОбъектаВКоде = Лев(АдресныйОбъект.Code,2); - КонецЦикла; - - НаборЗаписей.Записать(); + РегистрыСведений.АдресныйКлассификатор.ОбновитьСоставСубъектовРФПоКлассификатору(); КонецПроцедуры @@ -2128,14 +2155,15 @@ // Загружает адресные сокращения в регистр АдресныеСокращения. // // Параметры: -// ПутьКДаннымНаСервере - путь к каталогу в котором находится файл socrbase.dbf +// ПутьКДаннымНаСервере - Строка - путь к каталогу в котором находится файл SOCRBASE.DBF +// Версия - Дата - UTC версия данных // -// Возвращаемое значение -// Булево - истина - сведения успешно записаны, ложь - ошибка при подготовке записи сведений в регистр +// Возвращаемое значение: +// Булево - Истина, если сведения успешно записаны, ложь если ошибка при подготовке записи сведений в регистр // -Функция ЗагрузитьАдресныеСокращения(ПутьКДаннымНаСервере) Экспорт +Функция ЗагрузитьАдресныеСокращения(Знач ПутьКДаннымНаСервере, Знач Версия) Экспорт - ФайлАдресныхСокращений = ПутьКДаннымНаСервере + "SOCRBASE.DBF"; + ФайлАдресныхСокращений = ПутьКДаннымНаСервере + "SOCRBASE.DBF"; ТаблицаАдресныеСокращения = Новый ТаблицаЗначений; ТаблицаАдресныеСокращения.Колонки.Добавить("Код"); @@ -2146,19 +2174,18 @@ АдресныеСокращения = РегистрыСведений.АдресныеСокращения; НаборЗаписей = АдресныеСокращения.СоздатьНаборЗаписей(); - НаборЗаписей.Записать(); xB = Новый XBase(ФайлАдресныхСокращений); xB.Кодировка = КодировкаXBase.OEM; // Контроль уникальности кодов в файле классификатора - Контроль = Новый Соответствие; + КонтрольУникальностиКодов = Новый Соответствие; ЕстьОшибки = Ложь; Если xB.Открыта() Тогда Пока Не xB.ВКонце() Цикл КодУникальности = Число(xB.level) * 10000 + Число(xB.kod_t_st); - Если Контроль[КодУникальности] = НеОпределено Тогда - Контроль[КодУникальности] = 0; + Если КонтрольУникальностиКодов[КодУникальности] = НеОпределено Тогда + КонтрольУникальностиКодов[КодУникальности] = 0; НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Код = xB.kod_t_st; НоваяЗапись.Уровень = xB.level; @@ -2180,7 +2207,16 @@ ПараметрыВСтроке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаОшибки, "socrbase.dbf"); ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка, , , ПараметрыВСтроке); КонецЕсли; - НаборЗаписей.Записать(); + + НачатьТранзакцию(); + Попытка + НаборЗаписей.Записать(); + УстановитьВерсиюКлассификатора("SO", Версия); + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; Возврат Истина; КонецФункции @@ -2196,76 +2232,99 @@ // Процедура ЗагрузкаАдресныхСведенийИзФайловКЛАДРВРегистрСведений(ПараметрыЗагрузки, АдресХранилища) Экспорт - СтатусВыполнения = Истина; - СообщениеПользователю = ""; + СтруктураВозврата = Новый Структура; - СтруктураВозврата = Новый Структура("СтатусВыполнения, СообщениеПользователю, ПутьКДанным, ПутьКДаннымНаСервере"); + СтруктураВозврата.Вставить("ПутьКДаннымНаСервере", ПараметрыЗагрузки.ПутьКДаннымНаСервере); + СтруктураВозврата.Вставить("СтатусВыполнения", Истина); + СтруктураВозврата.Вставить("СообщениеПользователю", ""); + СтруктураВозврата.Вставить("ПутьКДанным"); - СтруктураВозврата.ПутьКДаннымНаСервере = ПараметрыЗагрузки.ПутьКДаннымНаСервере; + ДоступныеВерсии = Новый Соответствие; + + // Флаг загрузки специальных файлов с особыми именами + ЗагрузкаСпециальныхФайлов = ПараметрыЗагрузки.ИсточникДанныхДляЗагрузки = 1; + + Если ЗагрузкаСпециальныхФайлов Тогда + Для Каждого КлючЗначение Из ПараметрыЗагрузки.ДоступныеВерсии Цикл + АдресныйОбъект = КлючЗначение.Ключ; + КодСтрокой = ?(ТипЗнч(АдресныйОбъект) = Тип("Число"), Формат(АдресныйОбъект, "ЧЦ=2; ЧН=; ЧВН="), АдресныйОбъект); + ДоступныеВерсии[КодСтрокой] = КлючЗначение.Ключ + КонецЦикла; + Иначе + Для Каждого АдресныйОбъект Из ПараметрыЗагрузки.АдресныеОбъекты Цикл + КодСтрокой = ?(ТипЗнч(АдресныйОбъект) = Тип("Число"), Формат(АдресныйОбъект, "ЧЦ=2; ЧН=; ЧВН="), АдресныйОбъект); + ДоступныеВерсии[КодСтрокой] = ПараметрыЗагрузки.ВерсияЗагружаемогоКЛАДР; + КонецЦикла; + КонецЕсли; + + ТекущиеВерсии = Новый Соответствие; + Для Каждого ЭлементСписка Из ВерсииАдресныхОбъектов() Цикл + ТекущиеВерсии.Вставить(ЭлементСписка.Представление, ЭлементСписка.Значение); + КонецЦикла; + + ВерсияЗагрузкиСегодня = ТекущаяУниверсальнаяДата(); + + // Принудительная загрузка всегда + ДоступныеВерсии.Очистить(); Попытка - Если ПараметрыЗагрузки.ИсточникДанныхДляЗагрузки = 1 Тогда - ДоступныеВерсии = ПараметрыЗагрузки.ДоступныеВерсии; - Иначе - ДоступныеВерсии = Новый Соответствие; - Для Каждого АдресныйОбъект Из ПараметрыЗагрузки.АдресныеОбъекты Цикл - ДоступныеВерсии.Вставить(АдресныйОбъект, ПараметрыЗагрузки.ВерсияЗагружаемогоКЛАДР); - КонецЦикла; - КонецЕсли; - - ВерсииХранимыхСведений = ВерсииАдресныхОбъектов(); - ТекущиеВерсии = Новый Соответствие; - Для Каждого ЭлементСписка Из ВерсииХранимыхСведений Цикл - ТекущиеВерсии.Вставить(ЭлементСписка.Представление, ЭлементСписка.Значение); - КонецЦикла; - НовыеВерсииАдресныхОбъектов = Новый Соответствие; - Для Каждого АдресныйОбъект Из ПараметрыЗагрузки.АдресныеОбъекты Цикл - Если АдресныйОбъект = "AL" Тогда - // Альтернативные названия загружаются с регионом - Продолжить; - ИначеЕсли АдресныйОбъект = "SO" Тогда - // Адресные сокращения загружаются отдельно (ниже) + Если АдресныйОбъект = "AL" Или АдресныйОбъект = "SO" Тогда + // Альтернативные названия и адресные сокращения загружаются отдельно Продолжить; КонецЕсли; - АдресныеСведения = ИнформацияПоАдресномуОбъекту(АдресныйОбъект); - ТекущаяВерсия = ?(ТекущиеВерсии[АдресныйОбъект] = Неопределено, '00000000', ТекущиеВерсии[АдресныйОбъект]); - ДоступнаяВерсия = ?(ДоступныеВерсии[АдресныйОбъект] = Неопределено, '00000000', ДоступныеВерсии[АдресныйОбъект]); // Пропускаем загрузку, если адресные сведения уже актуальны. - Если ДоступнаяВерсия <= ТекущаяВерсия Тогда - Продолжить; + ДоступнаяВерсия = ДоступныеВерсии[АдресныйОбъект]; + Если ДоступнаяВерсия = Неопределено Тогда + // Версия не указана - используем текущую и загружаем всегда + ДоступнаяВерсия = ВерсияЗагрузкиСегодня; + ТекущаяВерсия = '00000000'; + Иначе + ТекущаяВерсия = ТекущиеВерсии[АдресныйОбъект]; + Если ТекущаяВерсия = Неопределено Тогда + ТекущаяВерсия = '00000000'; + КонецЕсли; КонецЕсли; - НовыеВерсииАдресныхОбъектов.Вставить(АдресныйОбъект, ДоступнаяВерсия); - - ЗагрузитьКлассификаторПоАдресномуОбъекту(АдресныйОбъект, - ПараметрыЗагрузки.ПутьКДаннымНаСервере, ПараметрыЗагрузки.ИсточникДанныхДляЗагрузки = 1); + Если ДоступнаяВерсия > ТекущаяВерсия Тогда + + ДлительныеОперации.СообщитьПрогресс( , СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Загрузка региона ""%1 - %2"" (осталось %3) ...'"), + АдресныйОбъект, РегистрыСведений.АдресныйКлассификатор.НаименованиеРегионаПоКоду(АдресныйОбъект), + Формат(ПараметрыЗагрузки.АдресныеОбъекты.ВГраница() - ПараметрыЗагрузки.АдресныеОбъекты.Найти(АдресныйОбъект), "ЧН=") + )); + + ЗагрузитьКлассификаторПоАдресномуОбъекту(АдресныйОбъект, ПараметрыЗагрузки.ПутьКДаннымНаСервере, ЗагрузкаСпециальныхФайлов, ДоступнаяВерсия); + Иначе + + ДлительныеОперации.СообщитьПрогресс( , СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Для региона ""%1 - %2"" уже загружены актуальные данные (осталось %3) ...'"), + АдресныйОбъект, РегистрыСведений.АдресныйКлассификатор.НаименованиеРегионаПоКоду(АдресныйОбъект), + Формат(ПараметрыЗагрузки.АдресныеОбъекты.ВГраница() - ПараметрыЗагрузки.АдресныеОбъекты.Найти(АдресныйОбъект), "ЧН=") + )); + + КонецЕсли; КонецЦикла; - ТекущаяВерсия = ?(ТекущиеВерсии["SO"] = Неопределено, '00000000', ТекущиеВерсии["SO"]); - ДоступнаяВерсия = ?(ДоступныеВерсии["SO"] = Неопределено, '00000000', ДоступныеВерсии["SO"]); - Если ДоступнаяВерсия > ТекущаяВерсия Тогда - ЗагрузитьАдресныеСокращения(ПараметрыЗагрузки.ПутьКДаннымНаСервере); - НовыеВерсииАдресныхОбъектов.Вставить("SO", ДоступнаяВерсия); - КонецЕсли; - - ОбновитьВерсииАдресныхСведений(НовыеВерсииАдресныхОбъектов); + ЗагрузитьАдресныеСокращения(ПараметрыЗагрузки.ПутьКДаннымНаСервере, ДоступнаяВерсия); + Исключение - ТекстСообщенияОшибки = НСтр("ru = 'Ошибка при загрузке адресных сведений'"); - СообщениеПользователю = ТекстСообщенияОшибки + ": " + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); - СтруктураВозврата.СообщениеПользователю = СообщениеПользователю; - СтруктураВозврата.СтатусВыполнения = Ложь; - ПоместитьВоВременноеХранилище(СтруктураВозврата, АдресХранилища); - Возврат; + Информация = ИнформацияОбОшибке(); + ЗаписьЖурналаРегистрации( СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(Информация) ); + + СтруктураВозврата.СтатусВыполнения = Ложь; + СтруктураВозврата.СообщениеПользователю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при загрузке адресных сведений: + |%1'"), + КраткоеПредставлениеОшибки(Информация) + ); КонецПопытки; - СтруктураВозврата.СтатусВыполнения = СтатусВыполнения; - СтруктураВозврата.СообщениеПользователю = СообщениеПользователю; ПоместитьВоВременноеХранилище(СтруктураВозврата, АдресХранилища); КонецПроцедуры @@ -2275,26 +2334,24 @@ // Устанавливает версию адресного объекта в регистре // // Параметры: -// НомерАО - строка - код адресного объекта в формате NN -// Наименование - наименование адресного объекта -// ВерсияСведенийПоАдресномуОбъекту - дата - версия адресного объекта +// КодРегиона - Строка, Число - Код адресного объекта +// Версия - Дата - Версия адресного объекта // -Процедура УстановитьВерсиюКлассификатора(Знач НомерАО, Знач Наименование = "", Знач ВерсияСведенийПоАдресномуОбъекту = "") Экспорт +Процедура УстановитьВерсиюКлассификатора(Знач КодРегиона, Знач Версия = '00000000') Экспорт - МенеджерЗаписи = РегистрыСведений.ВерсииОбъектовАдресногоКлассификатора.СоздатьМенеджерЗаписи(); + КодСтрокой = ?(ТипЗнч(КодРегиона) = Тип("Число"), Формат(КодРегиона, ""), КодРегиона); - Если ПустаяСтрока(ВерсияСведенийПоАдресномуОбъекту) Тогда - МенеджерЗаписи.АдресныйОбъект = НомерАО; - МенеджерЗаписи.Прочитать(); - МенеджерЗаписи.Удалить(); - Иначе - МенеджерЗаписи.АдресныйОбъект = НомерАО; - МенеджерЗаписи.ДатаВыпускаВерсии = ВерсияСведенийПоАдресномуОбъекту; - МенеджерЗаписи.Наименование = Наименование; - - МенеджерЗаписи.Записать(Истина); + Набор = РегистрыСведений.ВерсииОбъектовАдресногоКлассификатора.СоздатьНаборЗаписей(); + Набор.Отбор.АдресныйОбъект.Установить(КодСтрокой); + + Если Версия <> '00000000' Тогда + Данные = Набор.Добавить(); + Данные.АдресныйОбъект = КодСтрокой; + Данные.ДатаВыпускаВерсии = Версия; + Данные.Наименование = РегистрыСведений.АдресныйКлассификатор.НаименованиеРегионаПоКоду(КодСтрокой); КонецЕсли; + Набор.Записать(Истина); КонецПроцедуры // Считывает с диска файл версий адресных объектов и возвращает версии сведений по адресным объектам @@ -2303,7 +2360,7 @@ // ТекстXML - Строка - строка, содержащая текст XML. // // Возвращаемое значение: -// Соответствие, в котором ключ - строка адресного объекта, значение - дата актуальности адресного объекта. +// Соответствие - описание адресных сведений. Ключ - строка адресного объекта, значение - дата актуальности адресного объекта. // Функция ПолучитьВерсииАдресныхСведений(Знач ТекстXML) Экспорт @@ -2316,11 +2373,10 @@ Пока ЧтениеXML.Прочитать() Цикл Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда - Если ЧтениеXML.ИмяАтрибута(0) = "code" - Или ЧтениеXML.ИмяАтрибута(0) = "name" - Тогда + ИмяАтрибута = НРег(ЧтениеXML.ИмяАтрибута(0)); + Если ИмяАтрибута = "code" Или ИмяАтрибута = "name" Тогда ДатаВыпуска = ПолучитьАтрибут(ЧтениеXML, "date"); - Результат.Вставить(ВРег(ЧтениеXML.ЗначениеАтрибута(0)), ДатаВыпуска); + Результат.Вставить( ВРег(ЧтениеXML.ЗначениеАтрибута(0)), ДатаВыпуска); КонецЕсли; КонецЕсли; КонецЦикла; @@ -2333,9 +2389,9 @@ // Сохраняет файл архива из двоичных данных на сервере по переданному имени в переданном каталоге, и распаковывает его. // // Параметры: -// ДвоичныеДанные - ДвоичныеДанные -данные файла -// ИмяФайлаАрхива - строка - имя файла -// ПутьККаталогуНаСервере - путь к каталогу, в который требуется положить распакованный файл +// ДвоичныеДанные - ДвоичныеДанные - данные файла +// ИмяФайлаАрхива - Строка - имя файла +// ПутьККаталогуНаСервере - Строка - путь к каталогу, в который требуется положить распакованный файл // Процедура СохранитьФайлНаСервереИРаспаковать(Знач ДвоичныеДанные, ИмяФайлаАрхива, ПутьККаталогуНаСервере) Экспорт @@ -2355,57 +2411,70 @@ //////////////////////////////////////////////////////////////////////////////// // Аутентификация на пользовательском сайте 1С -// Получает параметры аутентификации пользователя (логин и пароль) на пользовательском сайте 1с. -// -// Возвращаемое значение: -// Булево - Истина - параметры аутентификации заполнены, Ложь - хотя бы один из параметров не заполнен -// -Функция ПолучитьПараметрыАутентификации(КодПользователя, Пароль) Экспорт - - КодПользователя = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "АутентификацияНаПользовательскомСайте", "КодПользователя", ""); - - Пароль = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "АутентификацияНаПользовательскомСайте", "Пароль", ""); - - Возврат Не ПустаяСтрока(КодПользователя) И Не ПустаяСтрока(Пароль); -КонецФункции - -// Сохраняет код пользователя и пароль в системном хранилище настроек ИБ -// -// Параметры -// КодПользователя - Строка - код пользователя, или логин, для доступа к пользовательскому сайту 1с -// Пароль - Строка - пароль -// -Процедура СохранитьПараметрыАутентификации(КодПользователя, Пароль) Экспорт - - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить( - "АутентификацияНаПользовательскомСайте", "КодПользователя", КодПользователя); - - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить( - "АутентификацияНаПользовательскомСайте", "Пароль", Пароль); - -КонецПроцедуры - -// Обновляет версии адресных сведений. +// Получает и сохраняет параметры аутентификации пользователя (логин и пароль) на пользовательском сайте 1с. // // Параметры: -// НовыеВерсии - Соответствие - новые версии. +// СохраняемыеПараметры - Структура - сохраняемые значения, если не указано, сохранение не производится +// * Логин - Строка - параметр авторизации +// * Пароль - Строка - параметр авторизации +// +// Возвращаемое значение: +// Структура - текущие значения: +// * Заполнено - Булево - флаг заполненности параметров +// * Логин - Строка - параметр авторизации +// * Пароль - Строка - параметр авторизации // -Процедура ОбновитьВерсииАдресныхСведений(НовыеВерсии) Экспорт +Функция ПараметрыАутентификацииНаСайте(Знач СохраняемыеПараметры = Неопределено) Экспорт - Для Каждого ОписаниеВерсии Из НовыеВерсии Цикл - АдресныеСведения = ИнформацияПоАдресномуОбъекту(ОписаниеВерсии.Ключ); - УстановитьВерсиюКлассификатора(ОписаниеВерсии.Ключ, - АдресныеСведения.Наименование + " " + АдресныеСведения.Сокращение, - ОписаниеВерсии.Значение); - КонецЦикла; + Если СохраняемыеПараметры = Неопределено Тогда + // Чтение + Логин = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("АутентификацияНаПользовательскомСайте", "КодПользователя", ""); + Пароль = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("АутентификацияНаПользовательскомСайте", "Пароль", ""); + Иначе + // Запись + Логин = СохраняемыеПараметры.Логин; + Пароль = СохраняемыеПараметры.Пароль; + + ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("АутентификацияНаПользовательскомСайте", "КодПользователя", Логин); + ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("АутентификацияНаПользовательскомСайте", "Пароль", Пароль); + + КонецЕсли; -КонецПроцедуры + Результат = Новый Структура; + Результат.Вставить("Логин", Логин); + Результат.Вставить("Пароль", Пароль); + Результат.Вставить("Заполнено", Не ПустаяСтрока(Логин) И Не ПустаяСтрока(Пароль) ); + + Возврат Результат; +КонецФункции //////////////////////////////////////////////////////////////////////////////// // Локальные служебные процедуры и функции +// Возвращает ближайший по иерархии почтовый индекс в выборке с известными полями +// +Функция ПочтовыйИндексПоИерархии(Знач Выборка) + + Индекс = СокрЛП(Выборка.Индекс); + Если ПустаяСтрока(Индекс) Тогда + Индекс = СокрЛП(Выборка.УлицаИндекс); + Если ПустаяСтрока(Индекс) Тогда + Индекс = СокрЛП(Выборка.НаселенныйПунктИндекс); + Если ПустаяСтрока(Индекс) Тогда + Индекс = СокрЛП(Выборка.ГородИндекс); + Если ПустаяСтрока(Индекс) Тогда + Индекс = СокрЛП(Выборка.РайонИндекс); + Если ПустаяСтрока(Индекс) Тогда + Индекс = СокрЛП(Выборка.РегионИндекс); + КонецЕсли; + КонецЕсли; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Возврат Индекс; +КонецФункции + // Функция для заполнения данных с 2-го по 6-й уровень классификации: // 2-й - районы (улусы) республик, краев, областей, автономных областей, // автономных округов, входящих в состав Российской Федерации. @@ -2419,7 +2488,7 @@ // городского типа // // Параметры: -// КодАдресногоОбъекта - строка (2 символа) - строковое представление номера адресного объекта +// КодАдресногоОбъекта - Строка - строковое представление номера адресного объекта // ПутьКДаннымНаСервере - Строка - путь к каталогу на сервере, в котором хранятся файлы кладр. // Путь заканчивается слешем (обратным или прямым) // АдресныеСведения - ТаблицаЗначений - таблица, которая заполняется загружаемыми элементами @@ -2687,10 +2756,11 @@ // чем глубже уровень иерархии тем более младшие разряды являются заполненными // // Параметры: -// Код - строка - код, взятый из поля записи CODE файла данных +// Код - Строка - код, взятый из поля записи CODE файла данных // // Возвращаемое значение: -// Число [1-6] +// Число - уровень 1-6 +// Функция ПолучитьТипАдресногоЭлементаПоКоду(Знач Код) Размерность = СтрДлина(Код); @@ -2755,9 +2825,9 @@ // Читает значение атрибута по имени из указанного объекта, приводит значение к указанному примитивному типу // // Параметры: -// ЧтениеXML - объект типа ЧтениеXML, спозиционированный на начале элемента, атрибут которого требуется получить -// Тип - Значение типа Тип. Тип атрибута -// Имя - Строка. Имя атрибута +// ЧтениеXML - ЧтениеXML - объект, спозиционированный на начале элемента, атрибут которого требуется получить +// Тип - Тип - тип атрибута +// Имя - Строка - имя атрибута // // Возвращаемое значение: // Строка - значение атрибута полученное по имени и приведенное к указанному типу @@ -2774,41 +2844,20 @@ КонецФункции -// Добавляет версию в список. -// -// Параметры: -// АдресныйОбъект - Число - адресный объект. -// Версии - Массив - массив версий. -// Список - СписокЗначений. -// -Процедура ДобавитьВерсиюВСписок(АдресныйОбъект, Версии, Список) - - ЭлементСписка = Список.Добавить(); - ЭлементСписка.Представление = АдресныйОбъект; - - ОписаниеВерсии = Версии.Найти(АдресныйОбъект, "АдресныйОбъект"); - Если ОписаниеВерсии = Неопределено Тогда - ЭлементСписка.Значение = '00000000'; - Иначе - ЭлементСписка.Значение = ОписаниеВерсии.ДатаВыпускаВерсии; - КонецЕсли; - -КонецПроцедуры - // По коду и типу адресного элемента получает коды его составных частей // // Параметры: -// КодАдресногоЭлемента - строка или число - номер адресного объекта -// ТипАдресногоЭлемента - число - уровень адресного объекта. +// КодАдресногоЭлемента - Строка, Число - код адресного объекта +// ТипАдресногоЭлемента - Число - уровень адресного объекта. // // Возвращаемое значение: -// Структура с полями: -// КодАдресногоОбъектаВКоде - число - код элемента региона -// КодРайонаВКоде - число - код элемента района -// КодГородаВКоде - число - код элемента города -// КодНаселенногоПунктаВКоде - число - код элемента населенного пункта -// КодУлицыВКоде - число - код элемента улицы -// ПризнакАктуальности - число - код элемента признака актуальности +// Структура - описание найденного элемента: +// * КодАдресногоОбъектаВКоде - Число - код элемента региона +// * КодРайонаВКоде - Число - код элемента района +// * КодГородаВКоде - Число - код элемента города +// * КодНаселенногоПунктаВКоде - Число - код элемента населенного пункта +// * КодУлицыВКоде - Число - код элемента улицы +// * ПризнакАктуальности - Число - код элемента признака актуальности // Функция РазобратьАдресныйОбъектПоЭлементам(КодАдресногоЭлемента, ТипАдресногоЭлемента) @@ -2855,7 +2904,7 @@ // Получаемые таблицы соответствуют адресам,полученным из временной таблицы Адреса в менеджере временных таблиц // // Параметры: -// МенеджерВременныхТаблиц - менеджер временных таблиц, в котором уже должна быть временная таблица Адреса +// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - менеджер временных таблиц, в котором уже должна быть временная таблица Адреса // Процедура РазложитьЭлементыАдресаВоВременныеТаблицы(МенеджерВременныхТаблиц) @@ -2983,7 +3032,7 @@ // ЭлементРодитель - Структура - Описывает родительский элемент // // Возвращаемое значение: -// Найденная структура классификатора или пустая структура в случае неудачи +// Структура - описание адресного элемента // Функция ПолучитьАдресныйЭлемент(Знач НазваниеЭлемента, ТипЭлемента, ЭлементРодитель) @@ -3089,9 +3138,9 @@ // Строит запрос автоподбора для регистра // // Параметры: -// Текст - Строка - строка запроса. +// Текст - Строка - строка запроса. // СтруктураПараметров - Структура - структура параметров. -// КоличествоЭлементов - Число - количество первых элементов. +// КоличествоЭлементов - Число - количество первых элементов. // // Возвращаемое значение: // ТаблицаЗначений - результат выполнения запроса. @@ -3235,7 +3284,7 @@ // ПолеГорода - Строка - город. // ПолеНаселенногоПункта - Строка - населенный пункт. // ИмяУлицы - Строка - улица. -// УровеньЭлемента - Число - уровень адресного элемента. +// УровеньЭлемента - Число - уровень адресного элемента. // // Возвращаемое значение: // Структура - структура ограничений. @@ -3262,9 +3311,9 @@ // Параметры: // УровеньРодителя - Число - уровень родителя. // ДанныеСтруктуры - Структура - структура, в которую необходимо добавить данные. -// ИмяЭлемента - Строка - имя элемента. +// ИмяЭлемента - Строка - имя элемента. // УровеньЭлемента - Число - уровень элемента. -// КодЭлемента - Число - код элемента. +// КодЭлемента - Число - код элемента. // Процедура ДобавитьКодВСтруктуру(МаксимальныйУровень, УровеньРодителя, ДанныеСтруктуры, ИмяЭлемента, УровеньЭлемента, КодЭлемента) @@ -3282,197 +3331,135 @@ // Фоновое задание загрузки данных КЛАДР // -// Распаковывает по необходимости и загружает в регистр файлы кладр, запускает фоновое +// Обработчик фоновой загрузки // -// Параметры: -// ОбъектыДляЗагрузки - Массив - регионы для загрузки -// ПереданныеФайлы - Массив - описание переданных файлов -// ИсточникДанных - Число - описание файлов: 1 - zip с сайта, 2 - exe с ИТС, 3 - dbf с диска -// ИдентификаторХранилища - УникальныйИдентификатор - для привязки к форме -// -Функция ОбработатьФайлыКЛАДР(Знач ОбъектыЗагрузки, Знач ПереданныеФайлы, Знач ИсточникДанных, Знач ИдентификаторХранилища) Экспорт +Процедура ФоновоеЗаданиеЗагрузкиКлассификатораАдресов(Знач Параметры, Знач АдресРезультата) Экспорт - Параметры = Новый Структура; - Параметры.Вставить("ОбъектыЗагрузки", ОбъектыЗагрузки); - Параметры.Вставить("ИсточникДанных", ИсточникДанных); + КодыРегионов = Параметры[0]; // Массив кодов регионов для загрузки + ОписаниеФайлов = Параметры[1]; // Массив структур описаний переданных файлов - // Всегда через фоновое + // Флаг того, что файлы разбиты по регионам, для каждого региона свой набор файлов + ОтдельныеФайлыПоРегионам = Параметры.Количество() > 2 И (Параметры[2] = "КЛАДРВебСайт"); - // Описание файлов передаем в фоновое задание как двоичные данные - другая сессия - Параметры.Вставить("ПереданныеФайлы", ДвоичныеДанныеФайловКЛАДР(ПереданныеФайлы)); + // Извлекаем файлы, все имена файлов - в верхнем регистре + РабочийКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла()); + СоздатьКаталог(РабочийКаталог); - Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне(ИдентификаторХранилища, - "АдресныйКлассификатор.ФоноваяЗагрузкаФайловКЛАДР", Параметры, - НСтр("ru = 'Загрузка адресного классификатора'")); - - АдресХранилища = Результат.АдресХранилища; - - Если Результат.ЗаданиеВыполнено Тогда - Результат.Вставить("РезультатЗагрузки", ПолучитьИзВременногоХранилища(АдресХранилища)); - КонецЕсли; - - Возврат Результат; -КонецФункции - -Функция ДвоичныеДанныеФайловКЛАДР(Знач ПереданныеФайлы) - Результат = Новый Массив; - - Для Каждого Элемент Из ПереданныеФайлы Цикл - Описание = Новый Структура("Имя", Элемент.Имя); - Описание.Вставить("Хранение", ПолучитьИзВременногоХранилища(Элемент.Хранение)); - Результат.Добавить(Описание); - КонецЦикла; - - Возврат Результат; -КонецФункции - -Процедура ФоноваяЗагрузкаФайловКЛАДР(Знач Параметры, Знач АдресХранилища) Экспорт - - ОбъектыЗагрузки = Параметры.ОбъектыЗагрузки; - ИсточникДанных = Параметры.ИсточникДанных; - - ПереданныеФайлы = Параметры.ПереданныеФайлы; - Если ТипЗнч(ПереданныеФайлы)=Тип("Строка") Тогда - ПереданныеФайлы = ПолучитьИзВременногоХранилища(ПереданныеФайлы); - КонецЕсли; - - Если ИсточникДанных = 1 Тогда - КаталогФайлов = ИзвлечьФайлыКЛАДРСайт(ПереданныеФайлы); - - ИначеЕсли ИсточникДанных = 2 Тогда - КаталогФайлов = ИзвлечьФайлыКЛАДРИТС(ПереданныеФайлы); - - ИначеЕсли ИсточникДанных = 3 Тогда - КаталогФайлов = ИзвлечьФайлыКЛАДРДиск(ПереданныеФайлы); - - Иначе - ВызватьИсключение НСтр("ru = 'Не поддерживаемый источник данных КЛАДР'"); - КонецЕсли; - - // После извлечения ожидаем, что все имена файлов - в верхнем регистре - - // Определяем версию того, что грузим - ФайлыВерсии = НайтиФайлы(КаталогФайлов, "KLADR.DBF", Ложь); - Если ФайлыВерсии.Количество() = 0 Тогда - ЗагружаемаяВерсия = ТекущаяДатаСеанса(); - Иначе - ЗагружаемаяВерсия = ФайлыВерсии[0].ПолучитьВремяИзменения(); - КонецЕсли; - - ДоступныеВерсии = Новый Соответствие; - Для Каждого ОбъектЗагрузки Из ОбъектыЗагрузки Цикл - ДоступныеВерсии.Вставить(ОбъектЗагрузки, ЗагружаемаяВерсия); - КонецЦикла; - - ПараметрыЗагрузки = Новый Структура; - ПараметрыЗагрузки.Вставить("АдресныеОбъекты", ОбъектыЗагрузки); - ПараметрыЗагрузки.Вставить("ПутьКДаннымНаСервере", КаталогФайлов); - ПараметрыЗагрузки.Вставить("ВерсияЗагружаемогоКЛАДР", ЗагружаемаяВерсия); - ПараметрыЗагрузки.Вставить("ИсточникДанныхДляЗагрузки", ИсточникДанных); - ПараметрыЗагрузки.Вставить("ДоступныеВерсии", ДоступныеВерсии); - - ЗагрузкаАдресныхСведенийИзФайловКЛАДРВРегистрСведений(ПараметрыЗагрузки, АдресХранилища); - - // И чистим за собой - УдалитьВременныеФайлы(КаталогФайлов); -КонецПроцедуры - -Процедура УдалитьВременныеФайлы(Путь) - Попытка - УдалитьФайлы(Путь); - Исключение - // Будут удалены при перезапуске сеанса, обработка не требуется - КонецПопытки; -КонецПроцедуры - -Функция ИзвлечьФайлыКЛАДРСайт(Знач ПереданныеФайлы) - // С сайта приходят ZIP, внутри которых DBF по регионам - - СерверныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла()); - СоздатьКаталог(СерверныйКаталог); - - Для Каждого Описание Из ПереданныеФайлы Цикл + ВерсииФайлов = Новый Соответствие; + Для Каждого Описание Из ОписаниеФайлов Цикл + // Имена файлов должны быть всегда в верхнем регистре Файл = Новый Файл(Описание.Имя); - Если Врег(Файл.Расширение) <> ".ZIP" Тогда - Продолжить; - КонецЕсли; - ИмяАрхива = СерверныйКаталог + Файл.Имя; + ИмяФайла = РабочийКаталог + ВРег(Файл.Имя); Данные = ?(ТипЗнч(Описание.Хранение) = Тип("Строка"), ПолучитьИзВременногоХранилища(Описание.Хранение), Описание.Хранение); - Данные.Записать(ИмяАрхива); + Данные.Записать(ИмяФайла); - Архив = Новый ЧтениеZipФайла(ИмяАрхива); + Файл = Новый Файл(ИмяФайла); + Файл.УстановитьУниверсальноеВремяИзменения(Описание.ВремяИзменения); - Для Каждого ЭлементАрхива Из Архив.Элементы Цикл + Если Врег(Прав(ИмяФайла, 4)) = ".ZIP" Тогда + // Распаковываем, оригинал удалится вместе с рабочим каталогом + ЧтениеZIP = Новый ЧтениеZipФайла(ИмяФайла); + ЧтениеZIP.ИзвлечьВсе(РабочийКаталог, РежимВосстановленияПутейФайловZIP.НеВосстанавливать); + КонецЕсли; + + ВерсииФайлов.Вставить(ИмяФайла, Описание.ВремяИзменения); + КонецЦикла; + + // Определяем даты - версии и формируем массив для загрузки + АдресныеОбъекты = Новый Массив; + ДоступныеВерсии = Новый Соответствие; + + // Сокращения + АдресныеОбъекты.Добавить("SO"); + + ЗагружаемаяВерсияСейчас = ТекущаяУниверсальнаяДата(); + + Если ОтдельныеФайлыПоРегионам Тогда + + Для Каждого КодРегиона Из КодыРегионов Цикл + АдресныйОбъект = Формат(КодРегиона, "ЧЦ=2; ЧН=; ЧВН=; ЧГ="); + АдресныеОбъекты.Добавить(АдресныйОбъект); - Расширение = Врег(ЭлементАрхива.Расширение); - Если Расширение = "DBF" Тогда - Архив.Извлечь(ЭлементАрхива, СерверныйКаталог, РежимВосстановленияПутейФайловZIP.НеВосстанавливать); - - // Имена распакованных файлов должны быть всегда в верхнем регистре - Для Каждого РаспакованныйФайл Из НайтиФайлы(СерверныйКаталог, ЭлементАрхива.Имя, Ложь) Цикл - РезультирующееИмя = ВРег(РаспакованныйФайл.Имя); - Если РаспакованныйФайл.Имя <> РезультирующееИмя Тогда - ПереместитьФайл(РаспакованныйФайл.ПолноеИмя, РаспакованныйФайл.Путь + РезультирующееИмя) - КонецЕсли; - КонецЦикла; + ИмяФайла = РабочийКаталог + "BASE" + АдресныйОбъект + ".ZIP"; + ЗагружаемаяВерсия = ВерсииФайлов[ИмяФайла]; + Если ЗагружаемаяВерсия = Неопределено Тогда + ЗагружаемаяВерсия = ЗагружаемаяВерсияСейчас; КонецЕсли; + ДоступныеВерсии.Вставить(АдресныйОбъект, ЗагружаемаяВерсия); КонецЦикла; - Архив.Закрыть(); - УдалитьВременныеФайлы(ИмяАрхива); - КонецЦикла; + Иначе + // По файлу KLADR.DBF + ИмяФайла = РабочийКаталог + "KLADR.DBF"; + ЗагружаемаяВерсия = ВерсииФайлов[ИмяФайла]; + Если ЗагружаемаяВерсия = Неопределено Тогда + ЗагружаемаяВерсия = ЗагружаемаяВерсияСейчас; + КонецЕсли; - Возврат СерверныйКаталог; -КонецФункции - -Функция ИзвлечьФайлыКЛАДРИТС(Знач ПереданныеФайлы) - // С ИТC приходят файлы *.exe, представляющие собой самораспаковывающийся RAR - // Сейчас они распаковываются на клиенте и здесь мы получаем dbf - - СерверныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла()); - СоздатьКаталог(СерверныйКаталог); - - Для Каждого Описание Из ПереданныеФайлы Цикл - Файл = Новый Файл(Описание.Имя); - Расширение = Врег(Файл.Расширение); - - Если Расширение = ".DBF" Тогда - // Имена файлов должны быть всегда в верхнем регистре - ИмяАрхива = СерверныйКаталог + ВРег(Файл.Имя); + Для Каждого КодРегиона Из КодыРегионов Цикл + АдресныйОбъект = Формат(КодРегиона, "ЧЦ=2; ЧН=; ЧВН=; ЧГ="); + АдресныеОбъекты.Добавить(АдресныйОбъект); - Данные = ?(ТипЗнч(Описание.Хранение) = Тип("Строка"), ПолучитьИзВременногоХранилища(Описание.Хранение), Описание.Хранение); - Данные.Записать(ИмяАрхива); - КонецЕсли; - - КонецЦикла; + ДоступныеВерсии.Вставить(АдресныйОбъект, ЗагружаемаяВерсия); + КонецЦикла; + КонецЕсли; - Возврат СерверныйКаталог; -КонецФункции + ПараметрыЗагрузки = Новый Структура; + ПараметрыЗагрузки.Вставить("АдресныеОбъекты", АдресныеОбъекты); + ПараметрыЗагрузки.Вставить("ПутьКДаннымНаСервере", РабочийКаталог); + ПараметрыЗагрузки.Вставить("ВерсияЗагружаемогоКЛАДР", ЗагружаемаяВерсия); + ПараметрыЗагрузки.Вставить("ИсточникДанныхДляЗагрузки", ?(ОтдельныеФайлыПоРегионам, 1, 2)); + ПараметрыЗагрузки.Вставить("ДоступныеВерсии", ДоступныеВерсии); + + // Собственно загрузка + ЗагрузкаАдресныхСведенийИзФайловКЛАДРВРегистрСведений(ПараметрыЗагрузки, Неопределено); + + // И чистим за собой + Попытка + УдалитьФайлы(РабочийКаталог); + Исключение + // Обработка не требуется, файлы будут удалены позднее + КонецПопытки; + + // Обновляем состав регионов + РегистрыСведений.АдресныйКлассификатор.ОбновитьСоставСубъектовРФПоКлассификатору(); +КонецПроцедуры -Функция ИзвлечьФайлыКЛАДРДиск(Знач ПереданныеФайлы) - // На диске находятся файлы dbf, можно грузить сразу +// Обработчик фоновой очистки +// +Процедура ФоновоеЗаданиеОчисткиКлассификатораАдресов(Знач Параметры, Знач АдресРезультата) Экспорт - СерверныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла()); - СоздатьКаталог(СерверныйКаталог); + КодыРегионов = Параметры[0]; // Массив чисел - кодов регионов для загрузки - Для Каждого Описание Из ПереданныеФайлы Цикл - Файл = Новый Файл(Описание.Имя); - Расширение = Врег(Файл.Расширение); + КоличествоУдаляемых = КодыРегионов.Количество(); + Позиция = 0; + + Удаляемые = Новый Массив(1); + + Пока Позиция < КоличествоУдаляемых Цикл + КодРегиона = КодыРегионов[Позиция]; - Если Расширение = ".DBF" Тогда - // Имена файлов должны быть всегда в верхнем регистре - ИмяФайла = СерверныйКаталог + ВРег(Файл.Имя); + КодРегионаСтрокой = Формат(КодРегиона, "ЧЦ=2; ЧН=; ЧВН="); - Данные = ?(ТипЗнч(Описание.Хранение) = Тип("Строка"), ПолучитьИзВременногоХранилища(Описание.Хранение), Описание.Хранение); - Данные.Записать(ИмяФайла); - КонецЕсли; + ДлительныеОперации.СообщитьПрогресс( , СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Очистка региона ""%1 - %2"" (осталось %3) ...'"), + КодРегионаСтрокой, РегистрыСведений.АдресныйКлассификатор.НаименованиеРегионаПоКоду(КодРегиона), + Формат(КоличествоУдаляемых - Позиция - 1, "ЧН=") + )); + // Удаление одновременно с обновлением версии + Удаляемые[0] = КодРегионаСтрокой; + УдалитьАдресныеСведения(Удаляемые); + + Позиция = Позиция + 1; КонецЦикла; - Возврат СерверныйКаталог; -КонецФункции + // Обновляем состав регионов + РегистрыСведений.АдресныйКлассификатор.ОбновитьСоставСубъектовРФПоКлассификатору(); +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Учет изменений КЛАДР в упаковке домов по данным ФИАС @@ -3569,7 +3556,7 @@ ТекстОшибки = НСтр("ru = 'Дом (владение, домовладение) ""%6"" не найден в адресном классификаторе.'"); ИначеЕсли ПолеОшибки = "Корпус" Тогда - ТекстОшибки = НСтр("ru = 'Корпус (строение, литера) ""%7"" для дома (владения, домовладения) ""%6"" не найден в адресном классификаторе.'"); + ТекстОшибки = НСтр("ru = 'Корпус (строение, литера, сооружение, участок) ""%7"" для дома (владения, домовладения) ""%6"" не найден в адресном классификаторе.'"); ИначеЕсли ПолеОшибки = "Индекс" Тогда ТекстОшибки = НСтр("ru = 'Индекс ""%8"" не соответствует адресу.'"); @@ -3622,8 +3609,8 @@ // // Параметры: // Описание - Строка - рассматриваемое описание диапазона -// Диапазоном упрощенно считаем или буквы "Н" и "Ч" - все нечетные и четные соответственно -// или строку с дефисом +// Диапазоном упрощенно считаем или буквы "Н" и "Ч" - все нечетные и четные соответственно +// или строку с дефисом // // Возвращаемое значение: // Булево - Истина, если переданная строка может быть рассмотрена как диапазон домов @@ -3748,7 +3735,8 @@ // Если указано Неопределено, то будет вычислено. // КэшОписанийЗданий - Соответствие - кэш описаний зданий, заполняется автоматически // -// Возвращаемые значение - Булево - признак вхождения +// Возвращаемые значение: +// Булево - признак вхождения // Функция ЗданиеВходитВОписание(Знач Здание, Знач Описание, Знач ПолноеСоответствие = Истина, ТипыЧастейЗдания = Неопределено, КэшОписанийЗданий = Неопределено) @@ -3805,7 +3793,7 @@ // Параметры: // Номер - Строка, Число - полный номер дома // -// Возвращаемое значение +// Возвращаемое значение: // Число - Числовая частью номера. Если числовой части нет, то возвращается ноль // Функция ЧисловаяЧастьНомера(Знач Номер) @@ -3844,7 +3832,10 @@ // Вычисляет основной номер здания выбором из заполненного дом, владение, домовладение // // Параметры: -// Здание - Структура - Анализируемое здание с полями Дом, Домовладение, Владение +// Здание - Структура - Анализируемое здание с полями: +// * Дом - Строка - значение соответствующего номера +// * Домовладение - Строка - значение соответствующего номера +// * Владение - Строка - значение соответствующего номера // // Возвращаемое значение // Строка - Основной номер здания @@ -3876,7 +3867,6 @@ // Возвращаемое значение: // Структура - Ключ - идентификатор, значение - номер здания. // Набор идентификаторов определяется по данным таблицы-результата ТипыЧастейЗдания -// // Неопределено - если описание не удалось распознать. // Функция СтруктураОписанияЗдания(Знач Описание, ТипыЧастейЗдания = Неопределено) @@ -3954,11 +3944,10 @@ НоваяСтрокаТаблицы("К", "Корпус", НоваяСтрокаТаблицы("СТР", "Строение", НоваяСтрокаТаблицы("СТРОЕНИЕ", "Строение", - НоваяСтрокаТаблицы("ЛИТЕРА", "Литера", - НоваяСтрокаТаблицы("ЛИТЕР", "Литера", + НоваяСтрокаТаблицы("ЛИТЕР", "Литер", НоваяСтрокаТаблицы("СООРУЖЕНИЕ", "Сооружение", НоваяСтрокаТаблицы("УЧАСТОК", "Участок", - "Префикс, Идентификатор, Длина")))))))))); + "Префикс, Идентификатор, Длина"))))))))); Результат.Сортировать("Длина УБЫВ, Префикс"); @@ -4006,30 +3995,6 @@ КонецПроцедуры -// Возвращает ближайший по иерархии почтовый индекс в выборке с известными полями -// -Функция ПочтовыйИндексПоИерархии(Знач Выборка) - - Индекс = СокрЛП(Выборка.Индекс); - Если ПустаяСтрока(Индекс) Тогда - Индекс = СокрЛП(Выборка.УлицаИндекс); - Если ПустаяСтрока(Индекс) Тогда - Индекс = СокрЛП(Выборка.НаселенныйПунктИндекс); - Если ПустаяСтрока(Индекс) Тогда - Индекс = СокрЛП(Выборка.ГородИндекс); - Если ПустаяСтрока(Индекс) Тогда - Индекс = СокрЛП(Выборка.РайонИндекс); - Если ПустаяСтрока(Индекс) Тогда - Индекс = СокрЛП(Выборка.РегионИндекс); - КонецЕсли; - КонецЕсли; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - Возврат Индекс; -КонецФункции - //////////////////////////////////////////////////////////////////////////////// // Данные для подсистемы КонтактнаяИнформация -разрыв связей подсистем // @@ -4793,12 +4758,11 @@ | КОНЕЦ КАК Неактуален, | | ПочтовыеИндексы.Индекс КАК Индекс, - | - | // Синтетический код объекта, к которому относится индекс - СС РРР ГГГ ППП УУУУ АА ДДДД - | 1000000 * ВЫРАЗИТЬ( ПочтовыеИндексы.Код /1000000 - 0.5 КАК ЧИСЛО(21,0)) КАК Код, + | ВЫБОР КОГДА НЕ Улицы.Код ЕСТЬ NULL ТОГДА Улицы.Код + | ИНАЧЕ НаселенныеПункты.Код + | КОНЕЦ КАК Код, | | // Остальные колонки - вспомогательные, будут удалены из результата - | | Улицы.Наименование КАК УлицаНаименование, | Улицы.Сокращение КАК УлицаСокращение, | Улицы.Наименование + "" "" + Улицы.Сокращение КАК ПредставлениеУлица, @@ -4879,7 +4843,7 @@ | И Регионы.КодУлицыВКоде = 0 | |ГДЕ - | ПочтовыеИндексы.Индекс = &ПочтовыйИндекс + | (НЕ Улицы.Код ЕСТЬ NULL ИЛИ НЕ НаселенныеПункты.Код ЕСТЬ NULL) И ПочтовыеИндексы.Индекс = &ПочтовыйИндекс | " + ?(СкрыватьНеактуальные, "И ПочтовыеИндексы.ПризнакАктуальности = 0","") + " | |" + ?(ПустаяСтрока(ФрагментПервые), "", " diff --git a/SSL/src/CommonModules/АдресныйКлассификаторВызовСервера/Module.bsl b/SSL/src/CommonModules/АдресныйКлассификаторВызовСервера/Module.bsl index e00c3fb98..add09d517 100644 --- a/SSL/src/CommonModules/АдресныйКлассификаторВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/АдресныйКлассификаторВызовСервера/Module.bsl @@ -9,11 +9,11 @@ // для тех объектов, которые ранее уже загружались. // // Возвращаемое значение - Массив - Содержит структуры с полями: -// КодАдресногоОбъекта - Строка - Код адресного объекта -// Наименование - Строка - Наименование адресного объекта -// Сокращение - Строка - Сокращение адресного объекта -// Индекс - Строка - Индекс адресного объекта -// ОбновлениеДоступно - Булево +// * КодАдресногоОбъекта - Строка - Код адресного объекта +// * Наименование - Строка - Наименование адресного объекта +// * Сокращение - Строка - Сокращение адресного объекта +// * Индекс - Строка - Индекс адресного объекта +// * ОбновлениеДоступно - Булево // Функция ПроверитьОбновлениеАдресныхОбъектовСервер() Экспорт @@ -38,11 +38,12 @@ // Параметры: // КодАдресногоОбъекта - Строка - Номер адресного объекта от 1 до 89 + 99 в формате NN // -// Возвращаемое значение - Структура - Описание адресного объекта с полями: -// КодАдресногоОбъекта - Строка - Код адресного объекта. -// Наименование - Строка - Наименование адресного объекта. -// Сокращение - Строка - Сокращение адресного объекта. -// Индекс - Строка - Индекс. +// Возвращаемое значение: +// Структура - Описание адресного объекта с полями: +// * КодАдресногоОбъекта - Строка - Код адресного объекта. +// * Наименование - Строка - Наименование адресного объекта. +// * Сокращение - Строка - Сокращение адресного объекта. +// * Индекс - Строка - Индекс. // Функция ИнформацияПоАдресномуОбъекту(КодАдресногоОбъекта) Экспорт @@ -56,7 +57,8 @@ // Параметры: // ТекстXML - Строка - Строка, содержащая текст XML. // -// Возвращаемое значение - Соответствие - Описание файла версий: Ключ - Строка - адресный объект, Значение - Дата - дата актуальности адресного объекта. +// Возвращаемое значение: +// Соответствие - Описание файла версий: Ключ - Строка - адресный объект, Значение - Дата - дата актуальности адресного объекта. // Функция ПолучитьВерсииАдресныхСведений(ТекстXML) Экспорт @@ -82,4 +84,12 @@ Возврат Результат; КонецФункции +// Возвращает флаг разрешения загрузки или очистки адресного классификатора +// +Функция МожноИзменятьАдресныйКлассификатор() Экспорт + + Возврат Не ОбщегоНазначенияПовтИсп.РазделениеВключено(); + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/АдресныйКлассификаторКлиент/Module.bsl b/SSL/src/CommonModules/АдресныйКлассификаторКлиент/Module.bsl index fc7023b31..d7fb17853 100644 --- a/SSL/src/CommonModules/АдресныйКлассификаторКлиент/Module.bsl +++ b/SSL/src/CommonModules/АдресныйКлассификаторКлиент/Module.bsl @@ -7,13 +7,16 @@ // Вызывает форму загрузки классификатора. Может использоваться как интерфейс. // -Процедура ЗагрузитьАдресныйКлассификатор() Экспорт +// Параметры: +// ПараметрыЗагрузки - Структура - параметры, передаваемые в форму при открытии +// +Процедура ЗагрузитьАдресныйКлассификатор(Знач ПараметрыЗагрузки = Неопределено) Экспорт -#Если ВебКлиент Тогда - ПоказатьПредупреждение(, НСтр("ru='В веб-клиенте загрузка адресного классификатора не поддерживается.'")); -#Иначе - ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.ЗагрузкаАдресногоКлассификатора"); -#КонецЕсли + Если АдресныйКлассификаторВызовСервера.МожноИзменятьАдресныйКлассификатор() Тогда + ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.ЗагрузкаАдресногоКлассификатора", ПараметрыЗагрузки); + Иначе + ПоказатьПредупреждение(, НСтр("ru='В разделенном режиме загрузка адресного классификатора не поддерживается.'")); + КонецЕсли; КонецПроцедуры @@ -25,6 +28,11 @@ // Процедура ОпределитьНеобходимостьОбновленияАдресныхОбъектов(Владелец = Неопределено) Экспорт + Если Не АдресныйКлассификаторВызовСервера.МожноИзменятьАдресныйКлассификатор() Тогда + ПоказатьПредупреждение(, НСтр("ru='В разделенном режиме запрос версии данных адресного классификатора не поддерживается.'")); + Возврат; + КонецЕсли; + Если ЗапрашиватьДоступПриИспользовании() Тогда // Нужен запрос профиля безопасности РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов( @@ -49,7 +57,11 @@ // Процедура ОчиститьКлассификатор(Владелец = Неопределено) Экспорт - ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.ОчисткаАдресногоКлассификатора", , Владелец); + Если АдресныйКлассификаторВызовСервера.МожноИзменятьАдресныйКлассификатор() Тогда + ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.ОчисткаАдресногоКлассификатора", , Владелец); + Иначе + ПоказатьПредупреждение(, НСтр("ru='В разделенном режиме очистка адресного классификатора не поддерживается.'")); + КонецЕсли; КонецПроцедуры @@ -195,7 +207,7 @@ // Строка - Строка - строка с расширением "DBF". // // Возвращаемое значение: -// Строка - строка с расширением "ZIP". +// Строка - Строка с расширением "ZIP". // Функция ЗаменитьРасширение_DBF_На_ZIP(Строка) Экспорт @@ -223,7 +235,7 @@ // Проверяет существование файлов адресного классификатора на диске ИТС. // // Параметры: -// ПутьКДискуИТС - строка - путь к корню диска ИТС +// ПутьКДискуИТС - Строка - путь к корню диска ИТС // // Возвращаемое значение: // Булево - истина - файлы присутствуют @@ -260,7 +272,7 @@ // Функция возвращает относительный путь на диске ИТС по которому находятся файлы КЛАДР. // // Параметры: -// ПутьКДискуИТС - путь к корневому каталогу диска ИТС. +// ПутьКДискуИТС - Строка - путь к корневому каталогу диска ИТС. // // Возвращаемое значение: // Строка - относительный путь на диске ИТС к файлам КЛАДР (самораспаковывающийся архив). @@ -311,12 +323,10 @@ // Проверяет существование файлов данных в переданном каталоге // // Параметры: -// ПутьККаталогу - строка - путь к каталогу, который необходимо проверить на наличие файлов +// ПутьККаталогу - Строка - путь к каталогу, который необходимо проверить на наличие файлов // // Возвращаемое значение: -// Истина - файлы существуют на диске -// Ложь - хотя бы одного файла из необходимого набора файлов -// не существует на диске +// Булево - Истина, если файлы существуют на диске, Ложь, если нет хотя бы одного файла из необходимого набора файлов // Функция ПроверитьНаличиеФайловДанныхВКаталоге(Знач ПутьККаталогу) Экспорт @@ -347,16 +357,16 @@ Уникальность, Окно, НавигационнаяСсылка, ОписаниеОповещенияОЗакрытии); КонецФункции - + #Если Не ВебКлиент Тогда - + // Распаковывает файлы КЛАДР с диска ИТС и выполняет их архивацию в ZIP-архив. // -// Параметры -// ДискИТС - строка - путь к корневой папке диска ИТС +// Параметры: +// ДискИТС - Строка - путь к корневой папке диска ИТС // -// Возвращаемое значение -// Строка - путь к временному каталогу с файлами архива кладр +// Возвращаемое значение: +// Строка - Путь к временному каталогу с файлами архива кладр // Функция ПреобразоватьФайлыКЛАДРEXEВZIP(Знач ДискИТС) Экспорт @@ -397,10 +407,10 @@ // Сжимает файл из поставки КЛАДР в ZIP архив. // -// Параметры -// ПутьКDBFФайлам - строка - путь к каталогу с файлами DBF -// ИмяФайла - строка - имя файла, который требуется сжать -// КаталогВременныхФайлов - строка - каталог, в который требуется сохранить файл архива +// Параметры: +// ПутьКDBFФайлам - Строка - путь к каталогу с файлами DBF +// ИмяФайла - Строка - имя файла, который требуется сжать +// КаталогВременныхФайлов - Строка - каталог, в который требуется сохранить файл архива // Процедура СжатьФайл(Знач ПутьКDBFФайлам, ИмяФайла, КаталогВременныхФайлов) Экспорт @@ -423,15 +433,18 @@ // Загружает файлы КЛАДР региона с Веб сервера // // Параметры -// АдресныйОбъект - Массив - каждая строка идентификатор адресного объекта в формате NN +// АдресныйОбъект - Массив - каждая строка идентификатор адресного объекта в формате NN // ДанныеАутентификации - Структура - параметры аутентификации на пользовательском сайте 1С -// ключ - КодПользователя - значение - пользователь (логин) -// ключ - Пароль - значение - пароль пользователя -// ВременныйКаталог - Строка - путь к временному каталогу. +// * КодПользователя - Строка - пользователь (логин) +// * Пароль - Строка - пароль пользователя +// ВременныйКаталог - Строка - путь к временному каталогу. // -// Возвращаемое значение: Структура, ключ Статус - булево - истина или ложь -// ключ значение - строка - если Статус ложь, содержит -// пояснение об ошибке. +// Возвращаемое значение: +// Структура - описание результата: +// * Статус - Булево - успешность загрузки +// * Путь - Строка - путь к файлу на сервере, ключ используется только если статус Истина +// * СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь +// * Заголовки - Соответствие - см. описание параметра Заголовки объекта HTTPОтвет // Функция ЗагрузитьКЛАДРСВебСервера(Знач АдресныйОбъект, Знач ДанныеАутентификации, ВременныйКаталог) Экспорт @@ -442,45 +455,47 @@ СоздатьКаталог(ВременныйКаталог); КонецЕсли; + ВременныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ВременныйКаталог); + ПараметрыЗагрузкиФайла = Новый Структура; ПараметрыЗагрузкиФайла.Вставить("Пользователь", ДанныеАутентификации.КодПользователя); ПараметрыЗагрузкиФайла.Вставить("Пароль", ДанныеАутентификации.Пароль); Если АдресныйОбъект = "AL" Тогда - // - Файл = Новый Файл(ВременныйКаталог + "\ALTNAMES.ZIP"); + Файл = Новый Файл(ВременныйКаталог + "ALTNAMES.ZIP"); Если Не Файл.Существует() Тогда - ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + "\ALTNAMES.ZIP"); + ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + "ALTNAMES.ZIP"); Результат = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(URLСтрока + "ALTNAMES.ZIP", ПараметрыЗагрузкиФайла); Если Не Результат.Статус Тогда Возврат Результат; КонецЕсли; КонецЕсли; - // + ИначеЕсли АдресныйОбъект = "SO" Тогда - // - Файл = Новый Файл(ВременныйКаталог + "\SOCRBASE.ZIP"); + Файл = Новый Файл(ВременныйКаталог + "SOCRBASE.ZIP"); Если Не Файл.Существует() Тогда - ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + "\SOCRBASE.ZIP"); + ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + "SOCRBASE.ZIP"); Результат = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(URLСтрока + "SOCRBASE.ZIP", ПараметрыЗагрузкиФайла); Если Не Результат.Статус Тогда Возврат Результат; КонецЕсли; КонецЕсли; + Иначе ИмяZIP = "BASE" + АдресныйОбъект + ".ZIP"; - ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + "\" + ИмяZIP); + ПараметрыЗагрузкиФайла.Вставить("ПутьДляСохранения", ВременныйКаталог + ИмяZIP); Результат = ПолучениеФайловИзИнтернетаКлиент.СкачатьФайлНаКлиенте(URLСтрока + ИмяZIP, ПараметрыЗагрузкиФайла); Если Не Результат.Статус Тогда Возврат Результат; КонецЕсли; + КонецЕсли; - Возврат Новый Структура("Статус", Истина); - + // Успешная загрузка + Возврат Результат; КонецФункции #КонецЕсли @@ -491,4 +506,88 @@ КонецФункции +// Вызывает диалог выбора каталога +// +// Параметры: +// Форма - УправляемаяФорма - вызывающий объект +// ПутьКДанным - Строка - полное имя реквизита формы, содержащего значение каталога. Например "РабочийКаталог" +// или "Объект.КаталогИзображений" +// Заголовок - Строка - Заголовок для диалога +// СтандартнаяОбработка - Булево - для использования в обработчике "ПриНачалаВыбора". Будет заполнено значением Ложь +// +Процедура ВыбратьКаталог(Знач Форма, Знач ПутьКДанным, Знач Заголовок = Неопределено, СтандартнаяОбработка = Ложь) Экспорт + + СтандартнаяОбработка = Ложь; + + Оповещение = Новый ОписаниеОповещения("ВыбратьКаталогЗавершениеКонтроляРасширенияРаботыСФайлами", ЭтотОбъект, Новый Структура); + Оповещение.ДополнительныеПараметры.Вставить("Форма", Форма); + Оповещение.ДополнительныеПараметры.Вставить("ПутьКДанным", ПутьКДанным); + Оповещение.ДополнительныеПараметры.Вставить("Заголовок", Заголовок); + + ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(Оповещение, , Ложь); +КонецПроцедуры + +// Завершение немодального выбора каталога +// +Процедура ВыбратьКаталогЗавершениеКонтроляРасширенияРаботыСФайлами(Знач Результат, Знач ДополнительныеПараметры) Экспорт + + Если Результат <> Истина Тогда + // Отказ от установки расширения + Возврат; + + ИначеЕсли Не ПодключитьРасширениеРаботыСФайлами() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Расширение для работы с файлами не подключено.'")); + Возврат; + КонецЕсли; + + Форма = ДополнительныеПараметры.Форма; + ПутьКДанным = ДополнительныеПараметры.ПутьКДанным; + Заголовок = ДополнительныеПараметры.Заголовок; + + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + Если Заголовок <> Неопределено Тогда + Диалог.Заголовок = Заголовок; + КонецЕсли; + + ВладелецЗначения = Форма; + ТекущееЗначение = Форма; + ИмяРеквизита = ПутьКДанным; + + ЧастиПути = СтрЗаменить(ПутьКДанным, ".", Символы.ПС); + Для Позиция = 1 По СтрЧислоСтрок(ЧастиПути) Цикл + ИмяРеквизита = СтрПолучитьСтроку(ЧастиПути, Позиция); + ВладелецЗначения = ТекущееЗначение; + ТекущееЗначение = ТекущееЗначение[ИмяРеквизита]; + КонецЦикла; + + Диалог.Каталог = ТекущееЗначение; + + Если Диалог.Выбрать() Тогда + ВладелецЗначения[ИмяРеквизита] = Диалог.Каталог; + ДанныеВыбора = Диалог.Каталог; + КонецЕсли; + +КонецПроцедуры + +// Создает и возвращает временный каталог на клиенте. +// +// Возвращаемое значение: +// Строка - полное имя созданного каталога +// +Функция ВременныйКаталогКлиента() Экспорт + +#Если ВебКлиент Тогда + Разделитель = ПолучитьРазделительПути(); + + КаталогКлиента = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогВременныхФайлов()) + + Разделитель + Строка(Новый УникальныйИдентификатор) + Разделитель; +#Иначе + КаталогКлиента = ПолучитьИмяВременногоФайла(); +#КонецЕсли + + СоздатьКаталог(КаталогКлиента); + + Возврат КаталогКлиента; +КонецФункции + #КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/АдресныйКлассификаторКлиентСервер/Module.bsl b/SSL/src/CommonModules/АдресныйКлассификаторКлиентСервер/Module.bsl index e755a06bc..6d1e46173 100644 --- a/SSL/src/CommonModules/АдресныйКлассификаторКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/АдресныйКлассификаторКлиентСервер/Module.bsl @@ -61,9 +61,9 @@ // Получает версии, доступные на сайте 1С. // // Возвращаемое значение: -// Структура - с двумя ключами: -// * Статус - Булево - статус наличия доступных версий. -// * ДоступныеВерсии - Соответствие - доступные версии. +// Структура - описание версий: +// * Статус - Булево - статус наличия доступных версий. +// * ДоступныеВерсии - Соответствие - доступные версии. // Функция ВерсииДоступныеНаСайте1С() Экспорт @@ -106,7 +106,7 @@ // Путь к файлу на веб сервере, содержащему информацию по версиям адресных сведений // // Возвращаемое значение: -// Строка - путь к файлу описания данных КЛАДР. +// Строка - путь к файлу описания данных КЛАДР. // Функция ПутьКФайлуОписаниюДанныхКЛАДР() Экспорт @@ -117,12 +117,12 @@ // Формирует структуру с ключами Статус (Истина) и Значение. // // Параметры: -// Значение - ПроизвольныйТип - передаваемое значение. -// Статус - Булево - передаваемый статус. +// Значение - Произвольный - передаваемое значение. +// Статус - Булево - передаваемый статус. // // Возвращаемое значение: -// Структура - возвращаемая структура. -// +// Структура - структура-результат +// Функция ЗаполнитьРезультат(Знач Значение, Знач Статус = Истина) Если Статус Тогда @@ -133,12 +133,11 @@ КонецФункции -// Функция возвращает структуру с набором полей как у записи регистра сведений -// АдресныйКлассификатор с пустым набором значений +// Функция возвращает структуру с набором полей, аналогичным записи регистра сведений +// АдресныйКлассификатор с пустым набором значений // // Возвращаемое значение: -// Структура - структуру с набором полей как у записи регистра сведений -// АдресныйКлассификатор с пустым набором значений +// Структура - требуемая структура // Функция ПустаяСтруктураАдреса() Экспорт @@ -184,4 +183,189 @@ КонецФункции +// Возвращает вариант адресного классификатора: +// +// Возвращаемое значение: +// Строка - идентификатор используемого адресного классфикатора "КЛАДР" +// Неопределено - если не удалось определить используемый вариант классификатора +// +Функция ИспользуемыйАдресныйКлассификатор() Экспорт + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + ЕстьПодсистемаАдресныйКлассификатор = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор"); +#Иначе + ЕстьПодсистемаАдресныйКлассификатор = ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.АдресныйКлассификатор"); +#КонецЕсли + + Если ЕстьПодсистемаАдресныйКлассификатор Тогда + Возврат "КЛАДР"; + КонецЕсли; + + // Нет подсистемы + Возврат Неопределено; +КонецФункции + +// Проверка на доступность всех необходимых файлов для загрузки +// +// Параметры: +// КодыРегионов - Массив - содержит числовые значения - коды регионов-субъектов РФ (для последующей загрузки) +// РабочийКаталог - Строка - каталог с проверяемыми файлами +// ПараметрыЗагрузки - Структура - содержит поля +// * КодИсточникаЗагрузки - Строка - описывает набор анализируемых файлов. Возможные значения: "КАТАЛОГ", "ИТС" +// * ПолеОшибки - Строка - имя реквизита для привязки сообщений об ошибке +// +// Возвращаемое значение - структура с полями: +// * КодыРегионов - Массив - содержит числовые значения кодов регионов-субъектов для которых доступны все файлы +// * ЕстьВсеФайлы - Булево - флаг того, что можно загружать все регионы +// * Ошибки - Структура - см. описание ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю +// * ФайлыПоРегионам - Соответствие - соответствие файлов регионам. Ключ может быть: +// - числом (код региона), тогда значение - массив имен файлов, необходимых для загрузки этого региона +// - символом "*", тогда значение - массив имен файлов, необходимых для загрузки всех регионов +// +Функция АнализДоступностиФайловКлассификатораВКаталоге(Знач КодыРегионов, Знач РабочийКаталог, Знач ПараметрыЗагрузки) Экспорт + + // В зависимости от классификатора будет разный набор файлов + ТипКлассификатора = ИспользуемыйАдресныйКлассификатор(); + Если ТипКлассификатора = "КЛАДР" Тогда + Возврат АнализДоступностиФайловКлассификатораВКаталогеКЛАДР(КодыРегионов, РабочийКаталог, ПараметрыЗагрузки); + КонецЕсли; + + // Фиктивный вызов для получения пустой структуры + ПараметрыЗагрузки = Новый Структура("КодИсточникаЗагрузки"); + Возврат АнализДоступностиФайловКлассификатораВКаталогеКЛАДР(КодыРегионов, РабочийКаталог, ПараметрыЗагрузки); +КонецФункции + +Функция АнализДоступностиФайловКлассификатораВКаталогеКЛАДР(Знач КодыРегионов, Знач РабочийКаталог, Знач ПараметрыЗагрузки) + + Результат = Новый Структура; + Результат.Вставить("КодыРегионов", КодыРегионов); + Результат.Вставить("ЕстьВсеФайлы", Истина); + Результат.Вставить("Ошибки", Неопределено); + Результат.Вставить("ФайлыПоРегионам", Новый Соответствие); + + Если ПараметрыЗагрузки.КодИсточникаЗагрузки = "КАТАЛОГ" Тогда + // Полный состав файлов КЛАДР + ШаблонОшибки = НСтр("ru = 'Не найден файл КЛАДР ""%1""'"); + Расширение = ".DBF"; + ИменаФайлов = "ALTNAMES, DOMA, KLADR, SOCRBASE, STREET"; + + ИначеЕсли ПараметрыЗагрузки.КодИсточникаЗагрузки = "ИТС" Тогда + // Поставляемые файлы + ШаблонОшибки = НСтр("ru = 'Не найден файл ""%1""'"); + Расширение = ".EXE"; + ИменаФайлов = "ALTNAMES, DOMA, KLADR, SOCRBASE, STREET"; + + Иначе + Возврат Результат; + + КонецЕсли; + + РабочийКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(РабочийКаталог); + + Результат.ФайлыПоРегионам["*"] = Новый Массив; + Для Каждого КлючЗначение Из Новый Структура(ИменаФайлов) Цикл + ИмяФайла = КлючЗначение.Ключ + Расширение; + Файл = НайтиФайл(РабочийКаталог, ИмяФайла); + Если Файл.Существует Тогда + Результат.ФайлыПоРегионам["*"].Добавить(Файл.ПолноеИмя); + Иначе + Результат.ЕстьВсеФайлы = Ложь; + ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Результат.Ошибки, ПараметрыЗагрузки.ПолеОшибки, + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОшибки, ИмяФайла)); + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Поиск первого файла по маске без учета регистра (особенностей операционной системы) +// +// Параметры: +// Каталог - Строка - каталог, в котором ищется файл +// ИмяФайла - Строка - имя искомого файла +// +// Возвращаемое значение: +// Структура - описание найденного файла. Содержит поля: +// * Существует - Булево - флаг того, что указанный файл существует +// * Имя - Строка - характеристика найденного файла, см. описания типа Файл +// * ИмяБезРасширения - Строка - характеристика найденного файла, см. описания типа Файл +// * ПолноеИмя - Строка - характеристика найденного файла, см. описания типа Файл +// * Путь - Строка - характеристика найденного файла, см. описания типа Файл +// * Расширение - Строка - характеристика найденного файла, см. описания типа Файл +// +Функция НайтиФайл(Знач Каталог, Знач ИмяФайла) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Платформа = СистемнаяИнформация.ТипПлатформы; + + НеУчитыватьРегистр = Платформа = ТипПлатформы.Windows_x86 Или Платформа = ТипПлатформы.Windows_x86_64; + + Если НеУчитыватьРегистр Тогда + Маска = ВРег(ИмяФайла); + Иначе + Маска = ""; + Для Позиция = 1 По СтрДлина(ИмяФайла) Цикл + Символ = Сред(ИмяФайла, Позиция, 1); + ВерхнийРегистр = ВРег(Символ); + НижнийРегистр = НРег(Символ); + Если ВерхнийРегистр = НижнийРегистр Тогда + Маска = Маска + Символ; + Иначе + Маска = Маска + "[" + ВерхнийРегистр + НижнийРегистр + "]"; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Результат = Новый Структура("Существует, Имя, ИмяБезРасширения, ПолноеИмя, Путь, Расширение", Ложь); + Варианты = НайтиФайлы(Каталог, Маска); + Если Варианты.Количество() > 0 Тогда + Результат.Существует = Истина; + ЗаполнитьЗначенияСвойств(Результат, Варианты[0]); + КонецЕсли; + + Возврат Результат; +КонецФункции + +// Возвращает флаг того, что клиент работает под windows +// +// Возвращаемое значение: +// Булево - Истина, если клиент работает windows +// +Функция ЭтоWindowsКлиент() Экспорт + +#Если Клиент Или ВнешнееСоединение Тогда + СистемнаяИнформация = Новый СистемнаяИнформация; + Результат = СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86 + Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Windows_x86_64; + +#Иначе + + УстановитьПривилегированныйРежим(Истина); + + ЭтоLinuxКлиент = СтандартныеПодсистемыСервер.ПараметрыКлиентаНаСервере().Получить("ЭтоLinuxКлиент"); + + Если ЭтоLinuxКлиент = Неопределено Тогда + // Нет клиентского приложения. + Возврат Ложь; + КонецЕсли; + + Результат = Не ЭтоLinuxКлиент; +#КонецЕсли + + Возврат Результат; +КонецФункции + +// Удаляет временный файл. +// Если при попытке удаления возникает ошибка, она игнорируется - файл будет удален позднее +// +Процедура УдалитьВременныйФайл(Знач ПолноеИмяФайла) Экспорт + + Попытка + УдалитьФайлы(ПолноеИмяФайла) + Исключение + // Дополнительная обработка не требуется + КонецПопытки + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/АдресныйКлассификаторСлужебныйВМоделиСервиса/Module.bsl b/SSL/src/CommonModules/АдресныйКлассификаторСлужебныйВМоделиСервиса/Module.bsl index fffb9c8a9..1fdd0786f 100644 --- a/SSL/src/CommonModules/АдресныйКлассификаторСлужебныйВМоделиСервиса/Module.bsl +++ b/SSL/src/CommonModules/АдресныйКлассификаторСлужебныйВМоделиСервиса/Module.bsl @@ -107,18 +107,15 @@ Возврат Истина; КонецЕсли; - КлассификаторАдресныхОбъектовXML = - РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; ВерсииХранимыхСведений = АдресныйКлассификатор.ВерсииАдресныхОбъектов(); ТекущиеВерсии = Новый Соответствие; Для Каждого ЭлементСписка Из ВерсииХранимыхСведений Цикл ТекущиеВерсии.Вставить(ЭлементСписка.Представление, ЭлементСписка.Значение); КонецЦикла; + КлассификаторТаблица = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл - ТекущаяВерсия = ТекущиеВерсии[Лев(АдресныйОбъект.Code, 2)]; + ТекущаяВерсия = ТекущиеВерсии[ Формат(АдресныйОбъект.КодСубъектаРФ, "ЧЦ=2; ЧН=; ЧВН=") ]; Если Не ЗначениеЗаполнено(ТекущаяВерсия) Или ТекущаяВерсия < ДатаНовыхДанных Тогда Возврат Истина; КонецЕсли; @@ -145,38 +142,41 @@ ФайлВерсий = Новый Файл(ПутьККаталогуНаСервере + "versions.xml"); Если ФайлВерсий.Существует() Тогда - ТекстовыйДокумент = Новый ТекстовыйДокумент; ТекстовыйДокумент.Прочитать(ФайлВерсий.ПолноеИмя); ТекстXML = ТекстовыйДокумент.ПолучитьТекст(); ДоступныеВерсии = АдресныйКлассификатор.ПолучитьВерсииАдресныхСведений(ТекстXML); + ИсточникДанныхДляЗагрузки = 1; Иначе - ВерсияЗагружаемогоКЛАДР =ДатаКЛАДРа(Дескриптор); + ВерсияЗагружаемогоКЛАДР = ДатаКЛАДРа(Дескриптор); Если ВерсияЗагружаемогоКЛАДР = Неопределено Тогда ФайлКЛАДР = Новый Файл(ПутьККаталогуНаСервере + "KLADR.DBF"); - ВерсияЗагружаемогоКЛАДР = НачалоДня(ФайлКЛАДР.ПолучитьВремяИзменения()); - КонецЕсли; + ВерсияЗагружаемогоКЛАДР = ФайлКЛАДР.ПолучитьУниверсальноеВремяИзменения(); + КонецЕсли; + ИсточникДанныхДляЗагрузки = 0; КонецЕсли; - КлассификаторАдресныхОбъектовXML = - РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; + КлассификаторТаблица = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); АдресныеОбъекты = Новый Массив; Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл - АдресныеОбъекты.Добавить(Лев(АдресныйОбъект.Code, 2)); + АдресныеОбъекты.Добавить( Формат(АдресныйОбъект.КодСубъектаРФ, "ЧЦ=2; ЧН=; ЧВН=") ); КонецЦикла; АдресныеОбъекты.Добавить("SO"); - ПараметрыЗагрузки = Новый Структура("АдресныеОбъекты, ПутьКДаннымНаСервере, ВерсияЗагружаемогоКЛАДР, ИсточникДанныхДляЗагрузки, ДоступныеВерсии", - АдресныеОбъекты, ПутьККаталогуНаСервере, ВерсияЗагружаемогоКЛАДР, ИсточникДанныхДляЗагрузки, ДоступныеВерсии); + ПараметрыЗагрузки = Новый Структура; + ПараметрыЗагрузки.Вставить("АдресныеОбъекты", АдресныеОбъекты); + ПараметрыЗагрузки.Вставить("ПутьКДаннымНаСервере", ПутьККаталогуНаСервере); + ПараметрыЗагрузки.Вставить("ВерсияЗагружаемогоКЛАДР", ВерсияЗагружаемогоКЛАДР); + ПараметрыЗагрузки.Вставить("ИсточникДанныхДляЗагрузки", ИсточникДанныхДляЗагрузки); + ПараметрыЗагрузки.Вставить("ДоступныеВерсии", ДоступныеВерсии); АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено); АдресныйКлассификатор.ЗагрузкаАдресныхСведенийИзФайловКЛАДРВРегистрСведений(ПараметрыЗагрузки, АдресХранилища); + СтруктураВозврата = ПолучитьИзВременногоХранилища(АдресХранилища); Если Не СтруктураВозврата.СтатусВыполнения Тогда ВызватьИсключение СтруктураВозврата.СообщениеПользователю; diff --git a/SSL/src/CommonModules/АнализЖурналаРегистрацииСлужебный/Module.bsl b/SSL/src/CommonModules/АнализЖурналаРегистрацииСлужебный/Module.bsl index ab23c4c31..e5275e1eb 100644 --- a/SSL/src/CommonModules/АнализЖурналаРегистрацииСлужебный/Module.bsl +++ b/SSL/src/CommonModules/АнализЖурналаРегистрацииСлужебный/Module.bsl @@ -13,7 +13,7 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииПереименованийОбъектовМетаданных"].Добавить( "АнализЖурналаРегистрацииСлужебный"); - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда СерверныеОбработчики["СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"].Добавить( "АнализЖурналаРегистрацииСлужебный"); КонецЕсли; @@ -52,33 +52,8 @@ // См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт - МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); - - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.АнализЖурналаРегистрации); - - МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, Отчет, Ложь); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "КонтрольЖурналаРегистрации"); - Вариант.НастройкиДляПоиска.ИменаМакетов = "МакетОтчетаПоОшибкамВЖурналеРегистрации"; - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПродолжительностьРаботыРегламентныхЗаданий"); - Вариант.НастройкиДляПоиска.ИменаМакетов = "ПродолжительностьРаботыРегламентныхЗаданий, РасшифровкаРегламентныхЗаданий"; - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "АнализАктивностиПользователей"); - Вариант.Описание = НСтр("ru = 'Позволяет выполнять мониторинг активности пользователей - |в программе (насколько интенсивно и с какими объектами работают пользователи).'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "АктивностьПользователя"); - Вариант.Описание = НСтр("ru = 'Подробная информация о том, - |с какими объектами работал пользователь в программе.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "КонтрольЖурналаРегистрации"); - Вариант.Описание = НСтр("ru = 'Список критичных записей журнала регистрации.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПродолжительностьРаботыРегламентныхЗаданий"); - Вариант.Описание = НСтр("ru = 'Выводит график выполнения регламентных заданий в программе.'"); - + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АнализЖурналаРегистрации); КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonModules/Анкетирование/Module.bsl b/SSL/src/CommonModules/Анкетирование/Module.bsl index d9033b91a..08bab5878 100644 --- a/SSL/src/CommonModules/Анкетирование/Module.bsl +++ b/SSL/src/CommonModules/Анкетирование/Module.bsl @@ -13,7 +13,7 @@ СерверныеОбработчики["СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПриДобавленииОбработчиковОбновления"].Добавить( "Анкетирование"); - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда СерверныеОбработчики["СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"].Добавить( "Анкетирование"); КонецЕсли; @@ -48,61 +48,9 @@ // См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт - МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); - - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.АнализОпроса); - МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, Отчет, Истина); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, ""); - Вариант.НастройкиДляПоиска.НаименованияПолей = - НСтр("ru = 'Респондент - |Опрос - |Вопрос - |Ответ'"); - Вариант.НастройкиДляПоиска.НаименованияПараметровИОтборов = - НСтр("ru = 'Опрос - |Вид отчета'"); - Вариант.Описание = НСтр("ru = 'Информация о респондентах заполнивших анкеты по опросу, - |количестве ответов на вопросы, количестве данных вариантов ответов.'"); - - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.АналитическийОтчетПоАнкетированию); - МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, Отчет, Ложь); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПросмотрОтветовПростыеВопросы"); - Вариант.Описание = НСтр("ru = 'Информация о том, как отвечали респонденты на простые вопросы.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПросмотрТабличныхВопросовПлоскийВид"); - Вариант.Описание = НСтр("ru = 'Информация о том, как отвечали респонденты на табличные вопросы. - |Выводится в виде списка с группировками.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПросмотрТабличныхВопросовТабличныйВид"); - Вариант.Описание = НСтр("ru = 'Информация о том, как отвечали респонденты на табличные вопросы. - |Каждый ответ респондента представлен в виде таблицы.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПростыеВопросыКоличествоОтветов"); - Вариант.Описание = НСтр("ru = 'Информация о том, сколько раз был дан вариант ответа на простой вопрос.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПростыеВопросыАгрегируемыеПоказатели"); - Вариант.Описание = НСтр("ru = 'Информация о среднем, минимальном, максимальном ответе на простой вопрос, - |который требует числового ответа.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ТабличныеВопросыКоличествоОтветов"); - Вариант.Описание = НСтр("ru = 'Информация о том, сколько раз был дан варианта ответа для табличных вопросов, - |который требует указания числового значения.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ТабличныеВопросыАгрегируемыеПоказатели"); - Вариант.Описание = НСтр("ru = 'Информация о среднем, минимальном, максимальном ответе в ячейке табличного вопроса, - |который требует указания числового значения.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПростыеВопросыКоличествоОтветовСравнениеПоОпросам"); - Вариант.Описание = НСтр("ru = 'Сравнительный анализ количества данных вариантов ответов - |на простые вопросы в разных опросах.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ТабличныеВопросыАгрегируемыеПоказателиСравнениеПоОпросам"); - Вариант.Описание = НСтр("ru = 'Сравнительный анализ агрегируемых показателей ответов в ячейках - |табличных вопросов разных опросов.'"); - + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АнализОпроса); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.АналитическийОтчетПоАнкетированию); КонецПроцедуры //Инвертирует значение реквизита НеПоказыватьВАрхивеАнкет в соответствии с новым названием ПоказыватьВАрхивеАнкет @@ -344,7 +292,7 @@ // ШаблонАнкеты - СправочникСсылка.ШаблоныАнкет - ссылка на шаблон анкеты, согласно которому будет заполнено дерево // ЗаполнятьСтраницыПревью - Булево - признак, необходимо ли формировать таблицы превью табличных вопросов // -Процедура ЗаполнитьДеревоШаблонаАнкеты(Форма, ИмяДереваАнкеты, ШаблонАнкеты,ЗаполнятьСтраницыПревью = Истина) Экспорт +Процедура ЗаполнитьДеревоШаблонаАнкеты(Форма, ИмяДереваАнкеты, ШаблонАнкеты) Экспорт Если ШаблонАнкеты = Справочники.ШаблоныАнкет.ПустаяСсылка() Тогда Возврат; @@ -363,11 +311,6 @@ ДобавитьСтрокиДереваАнкеты(Выборка,ДеревоАнкетыСервер.Строки[0],1,Форма); КонецЕсли; - Если ЗаполнятьСтраницыПревью Тогда - НайденныеСтроки = ДеревоАнкетыСервер.Строки.НайтиСтроки(Новый Структура("ТипВопроса",Перечисления.ТипыВопросовШаблонаАнкеты.Табличный),Истина); - ДобавитьСтраницыПревью(НайденныеСтроки,Форма,ШаблонАнкеты); - КонецЕсли; - Форма.ЗначениеВРеквизитФормы(ДеревоАнкетыСервер,ИмяДереваАнкеты); КонецПроцедуры @@ -401,6 +344,7 @@ НоваяСтрока.Обязательный = ?(Выборка.ЭтоРаздел,Неопределено,?(Выборка.ТипВопроса <> Перечисления.ТипыВопросовШаблонаАнкеты.Табличный,Выборка.Обязательный,Неопределено)); НоваяСтрока.Формулировка = ?(Выборка.ЭтоРаздел,Выборка.Наименование,Выборка.Формулировка); НоваяСтрока.Заметки = Выборка.Заметки; + НоваяСтрока.ЕстьЗаметки = Не ПустаяСтрока(Выборка.Заметки); Иначе НоваяСтрока.Формулировка = Выборка.Формулировка; НоваяСтрока.ЭлементарныйВопрос = Выборка.ЭлементарныйВопрос; @@ -421,7 +365,6 @@ НоваяСтрока.ПояснениеКомментария = Выборка.ПояснениеКомментария; НоваяСтрока.ТипЗначения = ?(Выборка.ТипЗначения = NULL,Неопределено,Выборка.ТипЗначения); НоваяСтрока.Точность = Выборка.Точность; - НоваяСтрока.ВысотаЭлементаФормулировкиВопроса = Выборка.ВысотаЭлементаФормулировкиВопроса; ПодчиненнаяВыборка = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Если ПодчиненнаяВыборка.Количество() > 0 Тогда @@ -471,7 +414,6 @@ | ЕСТЬNULL(ВопросыДляАнкетирования.ТипОтвета, ЗНАЧЕНИЕ(Перечисление.ТипыОтветовНаВопрос.ПустаяСсылка)) КАК ТипОтвета, | ЕСТЬNULL(ВопросыШаблонаАнкеты.Формулировка, """") КАК Формулировка, | ЕСТЬNULL(ВопросыДляАнкетирования.Точность, 0) КАК Точность, - | ВопросыШаблонаАнкеты.ВысотаЭлементаФормулировкиВопроса КАК ВысотаЭлементаФормулировкиВопроса, | ВопросыШаблонаАнкеты.Заметки |ИЗ | Справочник.ВопросыШаблонаАнкеты КАК ВопросыШаблонаАнкеты @@ -490,186 +432,6 @@ КонецФункции -// Добавляет страницы превью табличных вопросов -// -// Параметры -// СтрокиДерева - СтрокиДереваЗначений - строки дерева значений подчиненные корню дерева -// Форма - УправляемаяФорма - форма для которой добавляются превью табличного вопроса -// ШаблонАнкеты - СправочникСсылка.ШаблоныАнкет - шаблон, на основании которого формируются превью -// -Процедура ДобавитьСтраницыПревью(СтрокиДерева,Форма,ШаблонАнкеты) - - ДобавляемыеРеквизиты = Новый Массив; - - УдаляемыеРеквизиты = Новый Массив; - МассивРеквизитов = Форма.ПолучитьРеквизиты(); - Для каждого Реквизит Из МассивРеквизитов Цикл - Если СтрЧислоВхождений(Реквизит.Имя,"ПревьюТабличногоВопроса") > 0 Тогда - УдаляемыеРеквизиты.Добавить(Реквизит.Имя); - КонецЕсли - КонецЦикла; - - ПредставленияВопросов = ПолучитьПредставленияЭлементарныхВопросовТабличногоВопроса(ШаблонАнкеты); - ДобавитьРеквизитыТаблицПревью(СтрокиДерева,Форма,ДобавляемыеРеквизиты,ПредставленияВопросов); - Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты,УдаляемыеРеквизиты); - ДобавитьЭлементыФормыТаблицПревью(СтрокиДерева,Форма,ДобавляемыеРеквизиты,ПредставленияВопросов); - -КонецПроцедуры - -// Добавляет реквизиты таблиц превью табличный вопросов -// -// Параметры -// СтрокиДерева - СтрокиДереваЗначений - строки дерева значений подчиненные корню дерева -// Форма - УправляемаяФорма - форма для которой добавляются превью табличного вопроса -// ДобавляемыеРеквизиты - Массив - массив, в котором аккумулируются добавляемые реквизиты -// ПредставленияВопросов - Соответствие - в нем хранятся представления элементарных вопросов -// -Процедура ДобавитьРеквизитыТаблицПревью(СтрокиДерева,Форма,ДобавляемыеРеквизиты,ПредставленияВопросов) - - ОписаниеТиповСтрока30 = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(70)); - ОписаниеТиповСтрока300 = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(300)); - - Для каждого СтрокаДерева Из СтрокиДерева Цикл - - СтрокаКлюч = СтрЗаменить(Строка(СтрокаДерева.КлючСтроки),"-","_"); - ИмяТаблицы = "ПревьюТабличногоВопроса_" + СтрокаКлюч; - ИмяКолонкиБезНомера = "ПревьюТаблицаКолонка_" + СтрокаКлюч + "_"; - ТипТабличногоВопроса = СтрокаДерева.ТипТабличногоВопроса; - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяТаблицы,Новый ОписаниеТипов("ТаблицаЗначений"))); - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Формулировка_" + ИмяТаблицы,ОписаниеТиповСтрока300)); - - Если ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.Составной Тогда - - Для инд = 1 По СтрокаДерева.СоставТабличногоВопроса.Количество() Цикл - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + Строка(инд),ОписаниеТиповСтрока30,ИмяТаблицы,ПредставленияВопросов.Получить(СтрокаДерева.СоставТабличногоВопроса[инд-1].ЭлементарныйВопрос).Формулировка)); - КонецЦикла; - - ИначеЕсли ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках Тогда - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + "1",СтрокаДерева.СоставТабличногоВопроса[0].ЭлементарныйВопрос.ТипЗначения,ИмяТаблицы,ПредставленияВопросов.Получить(СтрокаДерева.СоставТабличногоВопроса[0].ЭлементарныйВопрос).Формулировка)); - - Для инд = 2 По СтрокаДерева.СоставТабличногоВопроса.Количество() Цикл - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + Строка(инд),ОписаниеТиповСтрока30,ИмяТаблицы,ПредставленияВопросов.Получить(СтрокаДерева.СоставТабличногоВопроса[инд-1].ЭлементарныйВопрос).Формулировка)); - - КонецЦикла; - - ИначеЕсли ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках Тогда - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + "1",ОписаниеТиповСтрока300,ИмяТаблицы,ПредставленияВопросов.Получить(СтрокаДерева.СоставТабличногоВопроса[0].ЭлементарныйВопрос).Формулировка)); - Для инд = 1 По СтрокаДерева.ПредопределенныеОтветы.Количество() Цикл - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + Строка(инд+1),ОписаниеТиповСтрока30,ИмяТаблицы,СтрокаДерева.ПредопределенныеОтветы[инд-1].Ответ)); - КонецЦикла; - - ИначеЕсли ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках Тогда - - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + "1",СтрокаДерева.СоставТабличногоВопроса[0].ЭлементарныйВопрос.ТипЗначения,ИмяТаблицы)); - - ОтветыВКолонках = СтрокаДерева.ПредопределенныеОтветы.НайтиСтроки(Новый Структура("ЭлементарныйВопрос",СтрокаДерева.СоставТабличногоВопроса[1].ЭлементарныйВопрос)); - Для инд = 1 По ОтветыВКолонках.Количество() Цикл - ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяКолонкиБезНомера + Строка(инд + 1),ОписаниеТиповСтрока30,ИмяТаблицы,ОтветыВКолонках[инд-1].Ответ)); - КонецЦикла; - - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры - -// Добавляет элементы формы таблиц превью табличный вопросов -// -// Параметры -// СтрокиДерева - СтрокиДереваЗначений - строки дерева значений подчиненные корню дерева -// Форма - УправляемаяФорма - форма для которой добавляются превью табличного вопроса -// ДобавляемыеРеквизиты - Массив - массив, в котором аккумулируются добавляемые реквизиты -// ПредставленияВопросов - Соответствие - в нем хранятся представления элементарных вопросов -// -Процедура ДобавитьЭлементыФормыТаблицПревью(СтрокиДерева,Форма,ДобавляемыеРеквизиты,ПредставленияВопросов) - - Для каждого СтрокаДерева Из СтрокиДерева Цикл - - ТипТабличногоВопроса = СтрокаДерева.ТипТабличногоВопроса; - СтрокаКлюч = СтрЗаменить(Строка(СтрокаДерева.КлючСтроки),"-","_"); - ИмяТаблицы = "ПревьюТабличногоВопроса_" + СтрокаКлюч; - ИмяКолонкиБезНомера = "ПревьюТаблицаКолонка_" + СтрокаКлюч + "_"; - - ЭлементСтраница = Форма.Элементы.Добавить("Страница_" + ИмяТаблицы,Тип("ГруппаФормы"),Форма.Элементы.СтраницыИнформация); - ЭлементСтраница.Вид = ВидГруппыФормы.Страница; - ЭлементСтраница.ОтображатьЗаголовок = Ложь; - ЭлементСтраница.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; - - Элемент = Форма.Элементы.Добавить("Формулировка_" + ИмяТаблицы,Тип("ПолеФормы"),ЭлементСтраница); - Элемент.ПутьКДанным = "Формулировка_" + ИмяТаблицы; - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - Элемент.Высота = 2; - Элемент.Шрифт = Новый Шрифт("MS Shell Dlg",10,Истина); - - Форма["Формулировка_" + ИмяТаблицы] = СтрокаДерева.ПолныйКод + " " + СтрокаДерева.Формулировка; - - Элемент = Форма.Элементы.Добавить(ИмяТаблицы,Тип("ТаблицаФормы"),ЭлементСтраница); - Элемент.ТолькоПросмотр = Истина; - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - Элемент.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; - Элемент.ПутьКДанным = ИмяТаблицы; - - ТаблицаСервер = Форма.РеквизитФормыВЗначение(ИмяТаблицы); - - Если ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках Тогда - - Для инд = 1 По СтрокаДерева.ПредопределенныеОтветы.Количество() Цикл - - НоваяСтрока = ТаблицаСервер.Добавить(); - НоваяСтрока[0] = СтрокаДерева.ПредопределенныеОтветы[инд - 1].Ответ; - - КонецЦикла; - - ИначеЕсли ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВКолонках Тогда - - Для инд = 2 По СтрокаДерева.СоставТабличногоВопроса.Количество() Цикл - - НоваяСтрока = ТаблицаСервер.Добавить(); - НоваяСтрока[0] = ПредставленияВопросов.Получить(СтрокаДерева.СоставТабличногоВопроса[инд-1].ЭлементарныйВопрос).Формулировка; - - КонецЦикла; - - ИначеЕсли ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтрокахИКолонках Тогда - - ОтветыВСтроках = СтрокаДерева.ПредопределенныеОтветы.НайтиСтроки(Новый Структура("ЭлементарныйВопрос",СтрокаДерева.СоставТабличногоВопроса[0].ЭлементарныйВопрос)); - Для инд = 1 По ОтветыВСтроках.Количество() Цикл - - НоваяСтрока = ТаблицаСервер.Добавить(); - НоваяСтрока[0] = ОтветыВСтроках[инд - 1].Ответ; - - КонецЦикла; - - КонецЕсли; - - Для инд = 1 По ТаблицаСервер.Колонки.Количество() Цикл - - Элемент = Форма.Элементы.Добавить(ИмяКолонкиБезНомера + Строка(инд),Тип("ПолеФормы"), Форма.Элементы[ИмяТаблицы]); - Если ТаблицаСервер.Колонки[инд-1].ТипЗначения = Новый ОписаниеТипов("Булево") Тогда - Элемент.Вид = ВидПоляФормы.ПолеФлажка; - Иначе - Элемент.Вид = ВидПоляФормы.ПолеВвода; - КонецЕсли; - - Элемент.ПутьКДанным = ИмяТаблицы + "." + ИмяКолонкиБезНомера + Строка(инд); - Если (ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.Составной - ИЛИ ТипТабличногоВопроса = Перечисления.ТипыТабличныхВопросов.ПредопределенныеОтветыВСтроках) ИЛИ (инд > 1) Тогда - Элемент.Заголовок = ТаблицаСервер.Колонки[инд -1].Заголовок; - Иначе - Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - КонецЕсли; - - КонецЦикла; - - Форма.ЗначениеВРеквизитФормы(ТаблицаСервер,ИмяТаблицы); - - КонецЦикла; - -КонецПроцедуры - //////////////////////////////////////////////////////////////////////////////// // Формирование формы заполнения анкеты @@ -687,8 +449,13 @@ Если ТекущиеДанныеДеревоРазделов.ТипСтроки = "Раздел" Тогда Форма.Элементы.НадписьВступление.Заголовок = НСтр("ru = 'Раздел'") + " " + ТекущиеДанныеДеревоРазделов.Формулировка; - Форма.Элементы.НадписьВступление.ЦветТекста = WebЦвета.НейтральноКоричневый; - Форма.Элементы.НадписьВступление.Шрифт = Новый Шрифт(, 8, Истина, , , ); + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Форма.Элементы.НадписьВступление.ЦветТекста = WebЦвета.НейтральноКоричневый; + Форма.Элементы.НадписьВступление.Шрифт = Новый Шрифт(, 8, Истина, , , ); + Иначе + Форма.Элементы.НадписьВступление.ЦветТекста = Новый Цвет(0, 150, 70); + Форма.Элементы.НадписьВступление.Шрифт = Новый Шрифт(, 12, Ложь, , , ); + КонецЕсли; Раздел = ТекущиеДанныеДеревоРазделов.Ссылка; ПолныйКодРаздела = ТекущиеДанныеДеревоРазделов.ПолныйКод; @@ -700,7 +467,10 @@ Иначе - Форма.Элементы.НадписьВступление.Заголовок = ?(ТекущиеДанныеДеревоРазделов.ТипСтроки = "Вступление",Форма.Вступление,Форма.Заключение); + Вступление = ?(ПустаяСтрока(Форма.Вступление), НСтр("ru = 'Нажмите далее для заполнения анкеты.'"), Форма.Вступление); + Заключение = ?(ПустаяСтрока(Форма.Заключение), НСтр("ru = 'Спасибо за то что заполнили анкету.'"), Форма.Заключение); + + Форма.Элементы.НадписьВступление.Заголовок = ?(ТекущиеДанныеДеревоРазделов.ТипСтроки = "Вступление", Вступление, Заключение); Форма.Элементы.НадписьВступление.ЦветТекста = ЦветаСтиля.ЦветТекстаПоля; Форма.Элементы.НадписьВступление.Шрифт = Новый Шрифт(, 8, Ложь, , , ); @@ -1014,10 +784,9 @@ ЭлементГруппаВопроса = Форма.Элементы.Добавить(ИмяВопроса + "_Группа" ,Тип("ГруппаФормы"),ЭлементГруппа); ЭлементГруппаВопроса.Вид = ВидГруппыФормы.ОбычнаяГруппа ; ЭлементГруппаВопроса.ОтображатьЗаголовок = Ложь; - ЭлементГруппаВопроса.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение; - ЭлементГруппаВопроса.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; - ЭлементГруппаВопроса.ШиринаПодчиненныхЭлементов = ШиринаПодчиненныхЭлементовФормы.ЛевыйОченьУзкий; - ЭлементГруппаВопроса.РастягиватьПоГоризонтали = Истина; + ЭлементГруппаВопроса.Отображение = ОтображениеОбычнойГруппы.Нет; + ЭлементГруппаВопроса.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + ЭлементГруппаВопроса.РастягиватьПоГоризонтали = ?(СтрокаТаблицы.ТипВопроса = Перечисления.ТипыВопросовШаблонаАнкеты.Табличный, Истина, Ложь); ЭлементГруппаВопроса.РастягиватьПоВертикали = Ложь; Форма[ИмяВопроса + "_Формулировка"] = ПолныйКодНаименование(СтрокаТаблицы); @@ -1026,11 +795,7 @@ Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Элемент.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; Элемент.ПутьКДанным = ИмяВопроса + "_Формулировка"; - Если СтрокаТаблицы.ВысотаЭлементаФормулировкиВопроса = 0 Тогда - Элемент.АвтоВысотаЯчейки = Истина; - Иначе - Элемент.Высота = СтрокаТаблицы.ВысотаЭлементаФормулировкиВопроса; - КонецЕсли; + Элемент.РастягиватьПоВертикали = Истина; ЭлементГруппаВопросКомментарий = Форма.Элементы.Добавить(ИмяВопроса + "_Группа_Вопрос_Комментарий",Тип("ГруппаФормы"),ЭлементГруппаВопроса); @@ -1055,15 +820,12 @@ ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Текст Тогда - Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"),ЭлементГруппаВопросКомментарий); + Элемент = Форма.Элементы.Добавить(ИмяВопроса,Тип("ПолеФормы"),ЭлементГруппаВопросКомментарий); Элемент.Вид = ВидПоляФормы.ПолеВвода; Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Элемент.АвтоОтметкаНезаполненного = СтрокаТаблицы.Обязательный; Элемент.ПутьКДанным = ИмяВопроса; Элемент.РастягиватьПоВертикали = Ложь; - Если СтрокаТаблицы.ВысотаЭлементаФормулировкиВопроса > 2 Тогда - Элемент.Высота = СтрокаТаблицы.ВысотаЭлементаФормулировкиВопроса; - КонецЕсли; УстановитьПараметрыЭлементаЯчейкаТекст(Элемент); ИначеЕсли СтрокаТаблицы.ТипОтвета = Перечисления.ТипыОтветовНаВопрос.Булево Тогда @@ -1213,9 +975,10 @@ ЭлементТаблица.ИзменятьСоставСтрок = Ложь; ЭлементТаблица.ИзменятьПорядокСтрок = Ложь; КонецЕсли; - ЭлементТаблица.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; - ЭлементТаблица.ПутьКДанным = ИмяТаблицы; - ЭлементТаблица.РастягиватьПоВертикали = Ложь; + ЭлементТаблица.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; + ЭлементТаблица.ПутьКДанным = ИмяТаблицы; + ЭлементТаблица.РастягиватьПоГоризонтали = Истина; + ЭлементТаблица.РастягиватьПоВертикали = Ложь; //Добавление колонок в элемент формы таблица. ТаблицаВопроса = Форма.РеквизитФормыВЗначение(ИмяТаблицы); @@ -1633,8 +1396,7 @@ | ЕСТЬNULL(ВопросыДляАнкетирования.МаксимальноеЗначение, 0) КАК МаксимальноеЗначение, | ЕСТЬNULL(ВопросыДляАнкетирования.ТипОтвета, ЗНАЧЕНИЕ(Перечисление.ТипыОтветовНаВопрос.ПустаяСсылка)) КАК ТипОтвета, | ЕСТЬNULL(ВопросыШаблонаАнкеты.Формулировка, """") КАК Формулировка, - | ЕСТЬNULL(ВопросыДляАнкетирования.Точность, 0) КАК Точность, - | ВопросыШаблонаАнкеты.ВысотаЭлементаФормулировкиВопроса КАК ВысотаЭлементаФормулировкиВопроса + | ЕСТЬNULL(ВопросыДляАнкетирования.Точность, 0) КАК Точность |ИЗ | Справочник.ВопросыШаблонаАнкеты КАК ВопросыШаблонаАнкеты | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ВопросыДляАнкетирования КАК ВопросыДляАнкетирования diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиВызовСервера/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиВызовСервера/Module.bsl index 2190c6ccb..9010f4794 100644 --- a/SSL/src/CommonModules/БизнесПроцессыИЗадачиВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиВызовСервера/Module.bsl @@ -65,7 +65,10 @@ БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(ЗадачаСсылка); ЗадачаОбъект = ЗадачаСсылка.ПолучитьОбъект(); - ЗадачаОбъект.Прочитать(); + Если ЗадачаОбъект.Выполнена Тогда + ВызватьИсключение НСтр("ru = 'Задача уже была выполнена ранее.'"); + КонецЕсли; + Если ДействиеПоУмолчанию И ЗадачаОбъект.БизнесПроцесс <> Неопределено И НЕ ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда ТипБизнесПроцесса = ЗадачаОбъект.БизнесПроцесс.Метаданные(); @@ -104,10 +107,11 @@ МассивПеренаправленныхЗадач = Неопределено) Экспорт Результат = Истина; - Для Каждого Задача Из МассивЗадач Цикл + + СведенияОЗадачах = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивЗадач, "БизнесПроцесс,Выполнена"); + Для Каждого Задача Из СведенияОЗадачах Цикл - ЗадачаВыполнена = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Задача, "Выполнена"); - Если ЗадачаВыполнена Тогда + Если Задача.Значение.Выполнена Тогда Результат = Ложь; Если ТолькоПроверка Тогда Прервать; @@ -124,11 +128,14 @@ НачатьТранзакцию(); Попытка - БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(Задача); + БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(Задача.Ключ); + Если Не Задача.Значение.БизнесПроцесс.Пустая() Тогда + БизнесПроцессыИЗадачиСервер.ЗаблокироватьБизнесПроцессы(Задача.Значение.БизнесПроцесс); + КонецЕсли; // Не устанавливаем объектную блокировку на задачу Задача для того, чтобы // позволить выполнять перенаправление по команде из формы этой задачи. - ЗадачаОбъект = Задача.ПолучитьОбъект(); + ЗадачаОбъект = Задача.Ключ.ПолучитьОбъект(); УстановитьПривилегированныйРежим(Истина); НоваяЗадача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу(); @@ -143,7 +150,23 @@ ЗадачаОбъект.РезультатВыполнения = ИнфоОПеренаправлении.Комментарий; ЗадачаОбъект.Выполнена = Ложь; ЗадачаОбъект.ВыполнитьЗадачу(); - + + УстановитьПривилегированныйРежим(Истина); + ПодчиненныеБизнесПроцессы = БизнесПроцессыИЗадачиСервер.ВыбратьБизнесПроцессыВедущейЗадачи(Задача.Ключ, Истина).Выбрать(); + УстановитьПривилегированныйРежим(Ложь); + Пока ПодчиненныеБизнесПроцессы.Следующий() Цикл + БизнесПроцессОбъект = ПодчиненныеБизнесПроцессы.Ссылка.ПолучитьОбъект(); + БизнесПроцессОбъект.ВедущаяЗадача = НоваяЗадача.Ссылка; + БизнесПроцессОбъект.Записать(); + КонецЦикла; + + ПодчиненныеБизнесПроцессы = БизнесПроцессыИЗадачиСервер.БизнесПроцессыГлавнойЗадачи(Задача.Ключ, Истина); + Для каждого ПодчиненныйБизнесПроцесс Из ПодчиненныеБизнесПроцессы Цикл + БизнесПроцессОбъект = ПодчиненныйБизнесПроцесс.ПолучитьОбъект(); + БизнесПроцессОбъект.ГлавнаяЗадача = НоваяЗадача.Ссылка; + БизнесПроцессОбъект.Записать(); + КонецЦикла; + ПриПеренаправленииЗадачи(ЗадачаОбъект, НоваяЗадача); ЗафиксироватьТранзакцию(); @@ -283,10 +306,16 @@ БизнесПроцессыИЗадачиСервер.ЗаблокироватьЗадачи(Задачи); Для каждого Задача Из Задачи Цикл + Если ТипЗнч(Задача) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда Продолжить; КонецЕсли; + ЗадачаОбъект = Задача.ПолучитьОбъект(); + Если ЗадачаОбъект.Выполнена Тогда + Продолжить; + КонецЕсли; + ЗадачаОбъект.Заблокировать(); ЗадачаОбъект.ПринятаКИсполнению = Истина; ЗадачаОбъект.ДатаПринятияКИсполнению = ТекущаяДатаСеанса(); @@ -296,6 +325,7 @@ ЗадачаОбъект.Записать(); НовыйМассивЗадач.Добавить(Задача); + КонецЦикла; ЗафиксироватьТранзакцию(); Исключение @@ -324,6 +354,10 @@ КонецЕсли; ЗадачаОбъект = Задача.ПолучитьОбъект(); + Если ЗадачаОбъект.Выполнена Тогда + Продолжить; + КонецЕсли; + ЗадачаОбъект.Заблокировать(); ЗадачаОбъект.ПринятаКИсполнению = Ложь; ЗадачаОбъект.ДатаПринятияКИсполнению = "00010101000000"; @@ -333,6 +367,7 @@ ЗадачаОбъект.Записать(); НовыйМассивЗадач.Добавить(Задача); + КонецЦикла; ЗафиксироватьТранзакцию(); Исключение @@ -1012,7 +1047,7 @@ Процедура ПриПеренаправленииЗадачи(ЗадачаОбъект, НоваяЗадачаОбъект) - Если ЗадачаОбъект.БизнесПроцесс = Неопределено ИЛИ ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда + Если ЗадачаОбъект.БизнесПроцесс.Пустая() Тогда Возврат; КонецЕсли; diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиент/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиент/Module.bsl index d51868906..7dd63b987 100644 --- a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиент/Module.bsl +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиент/Module.bsl @@ -457,6 +457,30 @@ #Область СлужебныеПроцедурыИФункции +Процедура ОткрытьБизнесПроцесс(Список) Экспорт + Если ТипЗнч(Список.ТекущаяСтрока) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'")); + Возврат; + КонецЕсли; + Если Список.ТекущиеДанные.БизнесПроцесс = Неопределено Тогда + ПоказатьПредупреждение(,НСтр("ru = 'У выбранной задачи не указан бизнес-процесс.'")); + Возврат; + КонецЕсли; + ПоказатьЗначение(, Список.ТекущиеДанные.БизнесПроцесс); +КонецПроцедуры + +Процедура ОткрытьПредметЗадачи(Список) Экспорт + Если ТипЗнч(Список.ТекущаяСтрока) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'")); + Возврат; + КонецЕсли; + Если Список.ТекущиеДанные.Предмет = Неопределено Тогда + ПоказатьПредупреждение(,НСтр("ru = 'У выбранной задачи не указан предмет.'")); + Возврат; + КонецЕсли; + ПоказатьЗначение(, Список.ТекущиеДанные.Предмет); +КонецПроцедуры + // Стандартный обработчик ПометкаУдаления для списков бизнес-процессов. // Для вызова из обработчика события списка ПометкаУдаления. // @@ -489,9 +513,17 @@ // Процедура ВыбратьИсполнителя(ЭлементИсполнитель, РеквизитИсполнитель, ТолькоПростыеРоли = Ложь, БезВнешнихРолей = Ложь) Экспорт + СтандартнаяОбработка = Истина; + БизнесПроцессыИЗадачиКлиентПереопределяемый.ПриВыбореИсполнителя(ЭлементИсполнитель, РеквизитИсполнитель, + ТолькоПростыеРоли, БезВнешнихРолей, СтандартнаяОбработка); + Если Не СтандартнаяОбработка Тогда + Возврат; + КонецЕсли; + + // Для обратной совместимости. Отказ = БизнесПроцессыИЗадачиКлиентПереопределяемый.ВыбратьИсполнителя(ЭлементИсполнитель, РеквизитИсполнитель, ТолькоПростыеРоли, БезВнешнихРолей); - Если Отказ Тогда + Если Отказ = Истина Тогда Возврат; КонецЕсли; diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентПереопределяемый/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентПереопределяемый/Module.bsl index 9bfc5ee5e..0c3930758 100644 --- a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентПереопределяемый/Module.bsl @@ -5,6 +5,38 @@ #Область ПрограммныйИнтерфейс +// Вызывается при открытии формы выбора исполнителя. +// Позволяет переопределить стандартную форму выбора. +// +// Параметры: +// ЭлементИсполнитель - ЭлементФормы - элемент формы, в которой выполняется выбора исполнителя, +// который будет указан как владелец формы выбора исполнителя +// РеквизитИсполнитель - СправочникСсылка.Пользователи - выбранное ранее значение исполнителя. +// Используется для установки текущей строки в форме выбора исполнителя +// ТолькоПростыеРоли - Булево, если Истина, то указывает что для выбора нужно +// использовать только роли без объектов адресации +// БезВнешнихРолей - Булево, если Истина, то указывает, что для выбора надо +// использовать только роли, у которых не установлен признак ВнешняяРоль +// СтандартнаяОбработка - Булево - если установить в Ложь, то не требуется выводить стандартную форму выбора исполнителя. +// +Процедура ПриВыбореИсполнителя(ЭлементИсполнитель, РеквизитИсполнитель, ТолькоПростыеРоли, БезВнешнихРолей, + СтандартнаяОбработка) Экспорт + +КонецПроцедуры + +// Заполняет список узлов планов обмена - доступных информационных баз, +// в которых могут быть определены внешние роли. +// +// Параметры: +// ПланыОбменаДляВыбора - Массив - список узлов планов обмена. +// Если оставить незаполненным, то будут доступны все узлы всех планов обменов, +// предусмотренных в конфигурации. +// +Процедура ЗаполнитьМассивПлановОбмена(ПланыОбменаДляВыбора) Экспорт + +КонецПроцедуры + +// Устарела. Следует использовать ПриВыбореИсполнителя. // Открывает форму выбора исполнителя. // // Параметры: @@ -26,16 +58,4 @@ КонецФункции -// Заполняет список узлов планов обмена - доступных информационных баз, -// в которых могут быть определены внешние роли. -// -// Параметры: -// ПланыОбменаДляВыбора - Массив - список узлов планов обмена. -// Если оставить незаполненным, то будут доступны все узлы всех планов обменов, -// предусмотренных в конфигурации. -// -Процедура ЗаполнитьМассивПлановОбмена(ПланыОбменаДляВыбора) Экспорт - -КонецПроцедуры - #КонецОбласти diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/Module.bsl new file mode 100644 index 000000000..6b6566693 --- /dev/null +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/Module.bsl @@ -0,0 +1,36 @@ + +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Бизнес-процессы и задачи" +// +//////////////////////////////////////////////////////////////////////////////// + +#Область ПрограммныйИнтерфейс + +//////////////////////////////////////////////////////////////////////////////// +// Обработчики подписок на события + +Процедура ОбработкаПолученияПолейПредставленияБизнесПроцесса(МенеджерОбъекта, Поля, СтандартнаяОбработка) Экспорт + + Поля.Добавить("Наименование"); + Поля.Добавить("Дата"); + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +Процедура ОбработкаПолученияПредставленияБизнесПроцесса(МенеджерОбъекта, Данные, Представление, СтандартнаяОбработка) Экспорт + + Наименование = ?(ПустаяСтрока(Данные.Наименование), НСтр("ru = 'Без описания'"), Данные.Наименование); +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Или ВнешнееСоединение Тогда + Дата = Формат(Данные.Дата, ?(ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"), "ДЛФ=DT", "ДЛФ=D")); + Представление = Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).Представление(); +#Иначе + Дата = Формат(Данные.Дата, "ДЛФ=D"); + Представление = НСтр("ru = 'Бизнес-процесс'"); +#КонецЕсли + ШаблонПредставления = НСтр("ru = '%1 от %2 (%3)'"); + Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, Наименование, Дата, Представление); + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/БизнесПроцессыИЗадачиКлиентСервер.mdo b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/БизнесПроцессыИЗадачиКлиентСервер.mdo new file mode 100644 index 000000000..93e7d3d6b --- /dev/null +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиКлиентСервер/БизнесПроцессыИЗадачиКлиентСервер.mdo @@ -0,0 +1,12 @@ + + + БизнесПроцессыИЗадачиКлиентСервер + + ru + Бизнес процессы и задачи клиент сервер + + true + true + true + true + diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиПереопределяемый/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиПереопределяемый/Module.bsl index 41a3e0d50..99a867bb1 100644 --- a/SSL/src/CommonModules/БизнесПроцессыИЗадачиПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиПереопределяемый/Module.bsl @@ -16,6 +16,52 @@ КонецПроцедуры // Вызывается для проверки прав на остановку и продолжение бизнес-процесса +// у текущего пользователя. +// +// Параметры: +// БизнесПроцесс - БизнесПроцессСсылка - ссылка на бизнес-процесс. +// ЕстьПрава - Булево - если установить Ложь, то прав нет. +// СтандартнаяОбработка - Булево - если установить Ложь, то стандартная проверка прав не будет выполнена. +// +Процедура ПриПроверкеПравНаОстановкуБизнесПроцесса(БизнесПроцесс, ЕстьПрава, СтандартнаяОбработка) Экспорт + +КонецПроцедуры + +// Вызывается для заполнения реквизита ГлавнаяЗадача из данных заполнения. +// +// Параметры +// БизнесПроцессОбъект - БизнесПроцессОбъект - бизнес-процесс. +// ДанныеЗаполнения - Произвольный - данные заполнения, которые передаются в обработчик заполнения. +// СтандартнаяОбработка - Булево - если установить Ложь, то стандартная обработка заполнения не будет выполнена. +// +Процедура ПриЗаполненииГлавнойЗадачиБизнесПроцесса(БизнесПроцессОбъект, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт + +КонецПроцедуры + +// Вызывается для заполнения параметров формы внешней задачи. +// +// Параметры: +// ИмяБизнесПроцесса - Строка - название бизнес-процесса +// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя - задача. +// ТочкаМаршрутаБизнесПроцесса - ТочкаМаршрутаБизнесПроцессаСсылка.Задание - действие. +// ПараметрыФормы - Структура - описание выполнения задачи со свойствами: +// * ИмяФормы - имя формы, передаваемое в метод ОткрытьФорму. +// * ПараметрыФормы - содержит параметры открываемой формы. +// +// Пример заполнения: +// Если ИмяБизнесПроцесса = "Задание" Тогда +// ИмяФормы = "БизнесПроцесс.Задание.Форма.ВнешнееДействие" + ТочкаМаршрутаБизнесПроцесса.Имя; +// ПараметрыФормы.Вставить("ИмяФормы", ИмяФормы); +// КонецЕсли; +// +Процедура ПриПолученииФормыВыполненияЗадачи(ИмяБизнесПроцесса, ЗадачаСсылка, + ТочкаМаршрутаБизнесПроцесса, ПараметрыФормы) Экспорт + +КонецПроцедуры + +// Устарела. Следует использовать ПриПроверкеПравНаОстановкуБизнесПроцесса. +// Вызывается для проверки прав на остановку и продолжение бизнес-процесса. +// // Параметры // БизнесПроцесс - Ссылка на бизнес-процесс // @@ -25,8 +71,10 @@ КонецФункции -// Вызывается для заполнения реквизита ГлавнаяЗадача из данных заполнения +// Устарела. Следует использовать ПриЗаполненииГлавнойЗадачиБизнесПроцесса. +// Вызывается для заполнения реквизита ГлавнаяЗадача из данных заполнения. // Параметры +// // БизнесПроцессОбъект - бизнес-процесс // ДанныеЗаполнения - данные заполнения, которые передаются в обработчик заполнения // @@ -36,25 +84,4 @@ КонецФункции -// Вызывается для заполнения параметров формы внешней задачи -// -// Параметры: -// ИмяБизнесПроцесса - Строка - название бизнес-процесса -// ЗадачаСсылка - ЗадачаСсылка.ЗадачаИсполнителя - задача. -// ТочкаМаршрутаБизнесПроцесса - ТочкаМаршрутаБизнесПроцессаСсылка.Задание - действие. -// ПараметрыФормы - Структура - описание выполнения задачи. -// Ключ "ИмяФормы" содержит имя формы, передаваемое в метод контекста ОткрытьФорму(). -// Ключ "ПараметрыФормы" содержит параметры формы. -// -// Пример заполнения: -// Если ИмяБизнесПроцесса = "Задание" Тогда -// ИмяФормы = "БизнесПроцесс.Задание.Форма.ВнешнееДействие" + ТочкаМаршрутаБизнесПроцесса.Имя; -// ПараметрыФормы.Вставить("ИмяФормы", ИмяФормы); -// КонецЕсли; -// -Процедура ПриПолученииФормыВыполненияЗадачи(ИмяБизнесПроцесса, ЗадачаСсылка, - ТочкаМаршрутаБизнесПроцесса, ПараметрыФормы) Экспорт - -КонецПроцедуры - #КонецОбласти diff --git a/SSL/src/CommonModules/БизнесПроцессыИЗадачиСервер/Module.bsl b/SSL/src/CommonModules/БизнесПроцессыИЗадачиСервер/Module.bsl index d47cf035b..ddc187131 100644 --- a/SSL/src/CommonModules/БизнесПроцессыИЗадачиСервер/Module.bsl +++ b/SSL/src/CommonModules/БизнесПроцессыИЗадачиСервер/Module.bsl @@ -72,8 +72,8 @@ // Вызывается при создании формы списка задач на сервере. // -// Параметры -// УсловноеОформлениеСпискаЗадач - УсловноеОформление - условное оформление списка задач +// Параметры: +// УсловноеОформлениеСпискаЗадач - УсловноеОформление - условное оформление списка задач. // Процедура УстановитьОформлениеЗадач(Знач СписокЗадачИлиЕгоУсловноеОформление) Экспорт @@ -131,7 +131,7 @@ ЭлементОтбораДанных.ПравоеЗначение = Истина; ЭлементОтбораДанных.Использование = Истина; - ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("TextColor"); + ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("ЦветТекста"); ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ВыполненнаяЗадача.Значение; ЭлементЦветаОформления.Использование = Истина; @@ -145,10 +145,67 @@ ЭлементОтбораДанных.ПравоеЗначение = Ложь; ЭлементОтбораДанных.Использование = Истина; - ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Font"); + ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Шрифт"); ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.НеПринятыеКИсполнениюЗадачи.Значение; ЭлементЦветаОформления.Использование = Истина; + // установка оформления для незаполненного поля "Срок" + ЭлементУсловногоОформления = УсловноеОформлениеСпискаЗадач.Элементы.Добавить(); + ЭлементУсловногоОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; + + ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("СрокИсполнения"); + ОформляемоеПоле.Использование = Истина; + + ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СрокИсполнения"); + ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ЭлементОтбораДанных.ПравоеЗначение = Истина; + ЭлементОтбораДанных.Использование = Истина; + + ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("ЦветТекста"); + ЭлементЦветаОформления.Значение = Метаданные.ЭлементыСтиля.ТекстЗапрещеннойЯчейкиЦвет.Значение; + ЭлементЦветаОформления.Использование = Истина; + + ЭлементЦветаОформления = ЭлементУсловногоОформления.Оформление.Элементы.Найти("Текст"); + ЭлементЦветаОформления.Значение = НСтр("ru = 'Срок не указан'"); + ЭлементЦветаОформления.Использование = Истина; + +КонецПроцедуры + +// Вызывается при создании формы списка бизнес-процессов на сервере. +// +// Параметры: +// УсловноеОформлениеБизнесПроцессов - УсловноеОформление - условное оформление списка бизнес-процессов. +// +Процедура УстановитьОформлениеБизнесПроцессов(Знач УсловноеОформлениеБизнесПроцессов) Экспорт + + // Наименование не задано + ЭлементУсловногоОформления = УсловноеОформлениеБизнесПроцессов.Элементы.Добавить(); + ЭлементУсловногоОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; + + ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Наименование"); + ОформляемоеПоле.Использование = Истина; + + ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование"); + ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет); + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Без описания'")); + + // Завершенный бизнес-процесс + ЭлементУсловногоОформления = УсловноеОформлениеБизнесПроцессов.Элементы.Добавить(); + ЭлементУсловногоОформления.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; + + ЭлементОтбораДанных = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбораДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Завершен"); + ЭлементОтбораДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ЭлементОтбораДанных.ПравоеЗначение = Истина; + + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЗавершенныйБизнесПроцесс); + КонецПроцедуры // Возвращает строковое представление исполнителя задачи Исполнитель, @@ -565,6 +622,11 @@ "БизнесПроцессыИЗадачиСервер"); КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "БизнесПроцессыИЗадачиСервер"); + КонецЕсли; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -845,13 +907,95 @@ // См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.БизнесПроцессы); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ЗависшиеЗадачи); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.Задания); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.Задачи); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ЗадачиИстекающиеНаДату); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ПросроченныеЗадачи); +КонецПроцедуры + +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт - Отчеты.БизнесПроцессы.НастроитьВариантыОтчета(Настройки); - Отчеты.ЗависшиеЗадачи.НастроитьВариантыОтчета(Настройки); - Отчеты.Задания.НастроитьВариантыОтчета(Настройки); - Отчеты.Задачи.НастроитьВариантыОтчета(Настройки); - Отчеты.ЗадачиИстекающиеНаДату.НастроитьВариантыОтчета(Настройки); - Отчеты.ПросроченныеЗадачи.НастроитьВариантыОтчета(Настройки); + Если Не ПравоДоступа("Редактирование", Метаданные.Задачи.ЗадачаИсполнителя) Тогда + Возврат; + КонецЕсли; + + Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда + Возврат; + КонецЕсли; + + КоличествоЗадачИсполнителя = КоличествоЗадачИсполнителя(); + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.Задачи.ЗадачаИсполнителя.ПолноеИмя()]; + + Если Разделы = Неопределено Тогда + Возврат; // Задачи не вынесены в командный интерфейс пользователя. + КонецЕсли; + + Для Каждого Раздел Из Разделы Цикл + + ИдентификаторМоихЗадач = "ЗадачиИсполнителя" + СтрЗаменить(Раздел.ПолноеИмя(), ".", ""); + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = ИдентификаторМоихЗадач; + Дело.ЕстьДела = КоличествоЗадачИсполнителя.Всего > 0; + Дело.Представление = НСтр("ru = 'Мои задачи'"); + Дело.Количество = КоличествоЗадачИсполнителя.Всего; + Дело.Форма = "Задача.ЗадачаИсполнителя.Форма.МоиЗадачи"; + Дело.ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Выполнена", Ложь)); + Дело.Владелец = Раздел; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ЗадачиИсполнителяПросроченные"; + Дело.ЕстьДела = КоличествоЗадачИсполнителя.Просроченные > 0; + Дело.Представление = НСтр("ru = 'просроченные'"); + Дело.Количество = КоличествоЗадачИсполнителя.Просроченные; + Дело.Важное = Истина; + Дело.Владелец = ИдентификаторМоихЗадач; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ЗадачиИсполнителяНаСегодня"; + Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаСегодня > 0; + Дело.Представление = НСтр("ru = 'сегодня'"); + Дело.Количество = КоличествоЗадачИсполнителя.НаСегодня; + Дело.Владелец = ИдентификаторМоихЗадач; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ЗадачиИсполнителяНаНеделю"; + Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаНеделю > 0; + Дело.Представление = НСтр("ru = 'на этой неделе'"); + Дело.Количество = КоличествоЗадачИсполнителя.НаНеделю; + Дело.Владелец = ИдентификаторМоихЗадач; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ЗадачиИсполнителяНаСледующуюНеделю"; + Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаСледующуюНеделю > 0; + Дело.Представление = НСтр("ru = 'на следующей неделе'"); + Дело.Количество = КоличествоЗадачИсполнителя.НаСледующуюНеделю > 0; + Дело.Владелец = ИдентификаторМоихЗадач; + КонецЦикла; КонецПроцедуры @@ -1155,12 +1299,18 @@ КонецПроцедуры // Заполняет реквизит ГлавнаяЗадача при создании бизнес-процесса -// на основании другого бизнес-процесса +// на основании другого бизнес-процесса. // Процедура ЗаполнитьГлавнуюЗадачу(БизнесПроцессОбъект, ДанныеЗаполнения) Экспорт - Отказ = БизнесПроцессыИЗадачиПереопределяемый.ЗаполнитьГлавнуюЗадачу(БизнесПроцессОбъект, ДанныеЗаполнения); + СтандартнаяОбработка = Истина; + БизнесПроцессыИЗадачиПереопределяемый.ПриЗаполненииГлавнойЗадачиБизнесПроцесса(БизнесПроцессОбъект, ДанныеЗаполнения, СтандартнаяОбработка); + Если Не СтандартнаяОбработка Тогда + Возврат; + КонецЕсли; + // Для обратной совместимости. + Отказ = БизнесПроцессыИЗадачиПереопределяемый.ЗаполнитьГлавнуюЗадачу(БизнесПроцессОбъект, ДанныеЗаполнения); Если Отказ Тогда Возврат; КонецЕсли; @@ -1312,11 +1462,12 @@ // Помечаем вложенные бизнес-процессы УстановитьПривилегированныйРежим(Истина); ВложенныеБизнесПроцессы = БизнесПроцессыВедущейЗадачи(ЗадачаСсылка, Истина); + УстановитьПривилегированныйРежим(Ложь); + // Без привилегированного режима, с проверкой прав Для Каждого ВложенныйБизнесПроцесс Из ВложенныеБизнесПроцессы Цикл БизнесПроцессОбъект = ВложенныйБизнесПроцесс.ПолучитьОбъект(); БизнесПроцессОбъект.УстановитьПометкуУдаления(НовоеЗначениеПометкиУдаления); КонецЦикла; - УстановитьПривилегированныйРежим(Ложь); // Помечаем подчиненные бизнес-процессы ПодчиненныеБизнесПроцессы = БизнесПроцессыГлавнойЗадачи(ЗадачаСсылка, Истина); @@ -1345,6 +1496,14 @@ // Функция ЕстьПраваНаОстановкуБизнесПроцесса(БизнесПроцесс) + ЕстьПрава = Ложь; + СтандартнаяОбработка = Истина; + БизнесПроцессыИЗадачиПереопределяемый.ПриПроверкеПравНаОстановкуБизнесПроцесса(БизнесПроцесс, ЕстьПрава, СтандартнаяОбработка); + Если Не СтандартнаяОбработка Тогда + Возврат ЕстьПрава; + КонецЕсли; + + // Для обратной совместимости. Результат = БизнесПроцессыИЗадачиПереопределяемый.ЕстьПраваНаОстановкуБизнесПроцесса(БизнесПроцесс); Если Результат <> Неопределено Тогда Возврат Результат; @@ -1358,7 +1517,114 @@ Возврат Истина; КонецЕсли; - Возврат Ложь; + Возврат ЕстьПрава; + +КонецФункции + +Процедура УстановитьПараметрыСпискаМоихЗадач(Список) Экспорт + + ТекущаяДатаСеанса = ТекущаяДатаСеанса(); + Сегодня = Новый СтандартныйПериод(ВариантСтандартногоПериода.Сегодня); + ЭтаНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтаНеделя); + СледующаяНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.СледующаяНеделя); + + Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", ТекущаяДатаСеанса); + Список.Параметры.УстановитьЗначениеПараметра("КонецДня", Сегодня.ДатаОкончания); + Список.Параметры.УстановитьЗначениеПараметра("КонецНедели", ЭтаНеделя.ДатаОкончания); + Список.Параметры.УстановитьЗначениеПараметра("КонецСледующейНедели", СледующаяНеделя.ДатаОкончания); + Список.Параметры.УстановитьЗначениеПараметра("Просрочено", НСтр("ru = ' Просрочено'")); + Список.Параметры.УстановитьЗначениеПараметра("Сегодня", НСтр("ru = 'В течение сегодня'")); + Список.Параметры.УстановитьЗначениеПараметра("ЭтаНеделя", НСтр("ru = 'До конца недели'")); + Список.Параметры.УстановитьЗначениеПараметра("СледующаяНеделя", НСтр("ru = 'На следующей неделе'")); + Список.Параметры.УстановитьЗначениеПараметра("Позднее", НСтр("ru = 'Позднее'")); + Список.Параметры.УстановитьЗначениеПараметра("НачалоДня", НачалоДня(ТекущаяДатаСеанса)); + Список.Параметры.УстановитьЗначениеПараметра("НезаполненнаяДата", Дата(1,1,1)); + +КонецПроцедуры + +Функция КоличествоЗадачИсполнителя() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ РАЗРЕШЕННЫЕ + | КОЛИЧЕСТВО(ЗадачиПоИсполнителю.Ссылка) КАК Количество + |ИЗ + | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю + |ГДЕ + | НЕ ЗадачиПоИсполнителю.ПометкаУдаления + | И НЕ ЗадачиПоИсполнителю.Выполнена + | И ЗадачиПоИсполнителю.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен) + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | КОЛИЧЕСТВО(ЗадачиПоИсполнителю.Ссылка) + |ИЗ + | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю + |ГДЕ + | ЗадачиПоИсполнителю.СрокИсполнения <= &ТекущаяДата + | И НЕ ЗадачиПоИсполнителю.ПометкаУдаления + | И НЕ ЗадачиПоИсполнителю.Выполнена + | И ЗадачиПоИсполнителю.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен) + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | КОЛИЧЕСТВО(ЗадачиПоИсполнителю.Ссылка) + |ИЗ + | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю + |ГДЕ + | ЗадачиПоИсполнителю.СрокИсполнения > &ТекущаяДата + | И ЗадачиПоИсполнителю.СрокИсполнения <= &Сегодня + | И НЕ ЗадачиПоИсполнителю.ПометкаУдаления + | И НЕ ЗадачиПоИсполнителю.Выполнена + | И ЗадачиПоИсполнителю.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен) + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | КОЛИЧЕСТВО(ЗадачиПоИсполнителю.Ссылка) + |ИЗ + | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю + |ГДЕ + | ЗадачиПоИсполнителю.СрокИсполнения > &Сегодня + | И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецНедели + | И НЕ ЗадачиПоИсполнителю.ПометкаУдаления + | И НЕ ЗадачиПоИсполнителю.Выполнена + | И ЗадачиПоИсполнителю.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен) + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | КОЛИЧЕСТВО(ЗадачиПоИсполнителю.Ссылка) + |ИЗ + | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю + |ГДЕ + | ЗадачиПоИсполнителю.СрокИсполнения > &КонецНедели + | И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецСледующейНедели + | И НЕ ЗадачиПоИсполнителю.ПометкаУдаления + | И НЕ ЗадачиПоИсполнителю.Выполнена + | И ЗадачиПоИсполнителю.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен)"; + + Сегодня = Новый СтандартныйПериод(ВариантСтандартногоПериода.Сегодня); + ЭтаНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтаНеделя); + СледующаяНеделя = Новый СтандартныйПериод(ВариантСтандартногоПериода.СледующаяНеделя); + + Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса()); + Запрос.УстановитьПараметр("Сегодня", Сегодня.ДатаОкончания); + Запрос.УстановитьПараметр("КонецНедели", ЭтаНеделя.ДатаОкончания); + Запрос.УстановитьПараметр("КонецСледующейНедели", СледующаяНеделя.ДатаОкончания); + + РезультатЗапроса = Запрос.Выполнить().Выгрузить(); + + Результат = Новый Структура("Всего,Просроченные,НаСегодня,НаНеделю,НаСледующуюНеделю"); + Результат.Всего = РезультатЗапроса[0].Количество; + Результат.Просроченные = РезультатЗапроса[1].Количество; + Результат.НаСегодня = РезультатЗапроса[2].Количество; + Результат.НаНеделю = РезультатЗапроса[3].Количество; + Результат.НаСледующуюНеделю = РезультатЗапроса[4].Количество; + + Возврат Результат; КонецФункции diff --git a/SSL/src/CommonModules/ВариантыОтчетов/Module.bsl b/SSL/src/CommonModules/ВариантыОтчетов/Module.bsl index 839216210..657bf291c 100644 --- a/SSL/src/CommonModules/ВариантыОтчетов/Module.bsl +++ b/SSL/src/CommonModules/ВариантыОтчетов/Module.bsl @@ -173,7 +173,7 @@ ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Ошибка получения описания отчета ""%1"", |он не подключен к подсистеме ""%2""'"), - СтрокаОтчет.Метаданные.Имя, + Строка(ОтчетЗначениеИлиМетаданные), ВариантыОтчетовКлиентСервер.НаименованиеПодсистемы("")); КонецЕсли; @@ -201,7 +201,11 @@ СтрокаОтчет = ОписаниеОтчета(ДеревоВариантов, ОтчетСтрокаДереваИлиЗначениеИлиМетаданные); КонецЕсли; - СтрокаВариант = СтрокаОтчет.Строки.Найти(КлючВарианта, "КлючВарианта", Ложь); + Если КлючВарианта = "" Тогда + СтрокаВариант = СтрокаОтчет.ОсновнойВариант; + Иначе + СтрокаВариант = СтрокаОтчет.Строки.Найти(КлючВарианта, "КлючВарианта", Ложь); + КонецЕсли; Если СтрокаВариант = Неопределено Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( @@ -683,7 +687,7 @@ Для Каждого СтрокаПодсистема Из Найденные Цикл СтрокаРаздел = ВариантОбъект.Размещение.Добавить(); СтрокаРаздел.Использование = Истина; - СтрокаРаздел.РазделИлиГруппа = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(СтрокаПодсистема.ПодсистемаМетаданные); + СтрокаРаздел.Подсистема = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(СтрокаПодсистема.ПодсистемаМетаданные); КонецЦикла; ВариантОбъект.Записать(); @@ -776,16 +780,14 @@ //////////////////////////////////////////////////////////////////////////////// // 1. Обновить общие данные. - Если Не ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ() Тогда - Обработчик = Обработчики.Добавить(); - Обработчик.ВыполнятьВГруппеОбязательных = Ложь; - Обработчик.ОбщиеДанные = Истина; - Обработчик.УправлениеОбработчиками = Истина; - Обработчик.РежимВыполнения = "Оперативно"; - Обработчик.Версия = "*"; - Обработчик.Процедура = "ВариантыОтчетов.ОбновитьОбщиеДанные"; - Обработчик.Приоритет = 90; - КонецЕсли; + Обработчик = Обработчики.Добавить(); + Обработчик.ВыполнятьВГруппеОбязательных = Ложь; + Обработчик.ОбщиеДанные = Истина; + Обработчик.УправлениеОбработчиками = Истина; + Обработчик.РежимВыполнения = "Оперативно"; + Обработчик.Версия = "*"; + Обработчик.Процедура = "ВариантыОтчетов.ОбновитьОбщиеДанные"; + Обработчик.Приоритет = 90; //////////////////////////////////////////////////////////////////////////////// // 2. Обновить разделенные данные. @@ -830,12 +832,21 @@ |Поиск отчетов временно недоступен.'"); КонецЕсли; + // 3.2. Заполнить информацию для поиска вариантов отчетов. + Обработчик = Обработчики.Добавить(); + Обработчик.РежимВыполнения = "Отложенно"; + Обработчик.ОбщиеДанные = Ложь; + Обработчик.Версия = "2.2.3.31"; + Обработчик.Процедура = "ВариантыОтчетов.СократитьКоличествоБыстрыхНастроек"; + Обработчик.Комментарий = НСтр("ru = 'Уменьшает количество быстрых настроек + |в пользовательских отчетах до 2 шт.'"); + КонецПроцедуры // Возникает при получении исключений поиска ссылок. Процедура ПриДобавленииИсключенийПоискаСсылок(ИсключенияПоискаСсылок) Экспорт - ИсключенияПоискаСсылок.Добавить(Метаданные.Справочники.ВариантыОтчетов.ТабличныеЧасти.Размещение.Реквизиты.РазделИлиГруппа); + ИсключенияПоискаСсылок.Добавить(Метаданные.Справочники.ВариантыОтчетов.ТабличныеЧасти.Размещение.Реквизиты.Подсистема); КонецПроцедуры @@ -904,7 +915,7 @@ // * Объект - ОтчетОбъект.<Имя отчета>, ВнешнийОтчет - Объект отчета. // * Имя - Строка - Имя объекта отчета. // * Метаданные - ОбъектМетаданных - Объект метаданных отчета. -// * Ссылка - * - Ссылка отчета. +// * Ссылка - Произвольный - Ссылка отчета. // * Ошибки - Строка - Текст ошибки. // // Места использования: @@ -1062,7 +1073,6 @@ ВариантОбъект.КлючВарианта = ЭлементСписка.Значение; ВариантОбъект.Наименование = ЭлементСписка.Представление; ВариантОбъект.Пользовательский = Ложь; - ВариантОбъект.ВидимостьПоУмолчанию = Истина; ВариантОбъект.ДополнительныеСвойства.Вставить("ОтчетОбъект", ВнешнийОбъект); ВариантОбъект.Записать(); КонецЦикла; @@ -1148,7 +1158,7 @@ // Поиск связи вариантов отчетов с этой функциональной опцией. Если Не ПеременныеИнициализированы Тогда ПеременныеИнициализированы = Истина; - ТаблицаОпций = Константы.ПараметрыВариантовОтчетов.Получить().Получить(); + ТаблицаОпций = Константы.ПараметрыВариантовОтчетов.Получить().Получить().ТаблицаФункциональныхОпций; ИмяСобытия = ВариантыОтчетовКлиентСервер.ИмяСобытияИзменениеВарианта(); КонецЕсли; @@ -1175,6 +1185,7 @@ // Прочие процедуры служебного программного интерфейса // Актуализирует данные подсистемы с учетом режима работы программы. +// Пример использования: после очистки хранилищ настроек. Процедура Обновить(Настройки = Неопределено) Экспорт Если Настройки = Неопределено Тогда @@ -1204,10 +1215,12 @@ ПараметрыОбновления = Новый Структура("РазделенныеОбработчики"); ПараметрыОбновления.РазделенныеОбработчики = ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления(); ОбновитьОбщиеДанные(ПараметрыОбновления); + ОтложенноеПолноеОбновлениеОбщихДанных(ПараметрыОбновления); КонецЕсли; Если Настройки.РазделенныеДанные = Истина Тогда ОбновитьРазделенныеДанные(); + ОтложенноеПолноеОбновлениеРазделенныхДанных(); КонецЕсли; КонецПроцедуры @@ -1296,6 +1309,22 @@ // Имена перечисляются через запятую. // К сожалению, в макетах отсутствует информация о связях полей и их представлений (которая есть в СКД), // поэтому для более точной работы механизма поиска рекомендуется заполнять НаименованияПолей, а не ИменаМакетов. +// * ОпределитьНастройкиФормы - Булево - Отчет имеет программный интерфейс для тесной интеграции с формой отчета, +// в том числе может переопределять некоторые настройки формы и подписываться на ее события. +// Если Истина и отчет подключен к общей форме ФормаОтчета, +// тогда в модуле объекта отчета следует определить процедуру по шаблону: +// +// // Настройки общей формы отчета подсистемы "Варианты отчетов". +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // КлючВарианта - Строка - Имя предопределенного варианта отчета или уникальный идентификатор пользовательского. +// // Настройки - Структура - см. возвращаемое значение ФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(). +// // +// Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт +// // Код процедуры. +// КонецПроцедуры +// // Служебные реквизиты (только для чтения): // * Отчет - <см. Справочники.ВариантыОтчетов.Реквизиты.Отчет> - Полное имя или ссылка на отчет. // * Метаданные - ОбъектМетаданных: Отчет - Метаданные отчета. @@ -1320,7 +1349,9 @@ ДеревоВариантов.Колонки.Добавить("СистемнаяИнформация", Новый ОписаниеТипов("Структура")); ДеревоВариантов.Колонки.Добавить("ЭтоВариант", Новый ОписаниеТипов("Булево")); ДеревоВариантов.Колонки.Добавить("ФункциональныеОпции", Новый ОписаниеТипов("Массив")); - ДеревоВариантов.Колонки.Добавить("ВыводитьТолькоОтчет", Новый ОписаниеТипов("Булево")); + ДеревоВариантов.Колонки.Добавить("ГруппироватьПоОтчету", Новый ОписаниеТипов("Булево")); + ДеревоВариантов.Колонки.Добавить("ОсновнойВариант"); + ДеревоВариантов.Колонки.Добавить("ОпределитьНастройкиФормы", Новый ОписаниеТипов("Булево")); ВыводитьОтчетыВместоВариантов = ГлобальныеНастройки().ВыводитьОтчетыВместоВариантов; РазрешеноИндексирование = РазрешеноИндексированиеНеразделенныхДанных(); @@ -1346,7 +1377,7 @@ СтрокаОтчет.Наименование = ОтчетМетаданные.Представление(); СтрокаОтчет.ОписаниеПолучено = Истина; СтрокаОтчет.ЭтоВариант = Ложь; - СтрокаОтчет.ВыводитьТолькоОтчет = ВыводитьОтчетыВместоВариантов; + СтрокаОтчет.ГруппироватьПоОтчету = ВыводитьОтчетыВместоВариантов; СтрокаОтчет.СистемнаяИнформация = Новый Структура; СтрокаОтчет.СистемнаяИнформация.Вставить("ПостроенНаСКД", ОтчетМетаданные.ОсновнаяСхемаКомпоновкиДанных <> Неопределено); @@ -1359,12 +1390,6 @@ // Поиск. СтрокаОтчет.НастройкиДляПоиска = Новый Структура("НаименованияПолей, НаименованияПараметровИОтборов, ИменаМакетов"); - // Вариант по умолчанию (последний открытый). - ВариантПоУмолчанию = СтрокаОтчет.Строки.Добавить(); - ВариантПоУмолчанию.Отчет = СтрокаОтчет.Отчет; - ВариантПоУмолчанию.КлючВарианта = ""; - ВариантПоУмолчанию.ЭтоВариант = Истина; - // Предопределенные варианты. Если СтрокаОтчет.СистемнаяИнформация.ПостроенНаСКД Тогда ОтчетМенеджер = Отчеты[ОтчетМетаданные.Имя]; @@ -1391,17 +1416,17 @@ ПредупреждениеПоВарианту(Неопределено, ТекстОшибки); КонецПопытки; КонецЕсли; - // Чтение настроек по умолчанию из схемы. - Если РазрешеноИндексирование И СхемаКД <> Неопределено Тогда - Попытка - ВариантПоУмолчанию.СистемнаяИнформация.Вставить("НастройкиКД", СхемаКД.НастройкиПоУмолчанию); - Исключение - ТекстОшибки = НСтр("ru = 'Не удалось прочитать настройки по умолчанию отчета ""%1"":'"); - ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ОтчетМетаданные.Имя); - ТекстОшибки = ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - ПредупреждениеПоВарианту(Неопределено, ТекстОшибки); - КонецПопытки; - КонецЕсли; + //// Чтение настроек по умолчанию из схемы. + //Если РазрешеноИндексирование И СхемаКД <> Неопределено Тогда + // Попытка + // ВариантПоУмолчанию.СистемнаяИнформация.Вставить("НастройкиКД", СхемаКД.НастройкиПоУмолчанию); + // Исключение + // ТекстОшибки = НСтр("ru = 'Не удалось прочитать настройки по умолчанию отчета ""%1"":'"); + // ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", ОтчетМетаданные.Имя); + // ТекстОшибки = ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + // ПредупреждениеПоВарианту(Неопределено, ТекстОшибки); + // КонецПопытки; + //КонецЕсли; // Чтение настроек вариантов отчета из модуля менеджера (если не получилось из схемы). Если ВариантыНастроек = Неопределено Тогда Попытка @@ -1421,6 +1446,9 @@ Вариант.КлючВарианта = ВариантНастроекКД.Имя; Вариант.Наименование = ВариантНастроекКД.Представление; Вариант.ЭтоВариант = Истина; + Если СтрокаОтчет.ОсновнойВариант = Неопределено Тогда + СтрокаОтчет.ОсновнойВариант = Вариант; + КонецЕсли; Если РазрешеноИндексирование И ТипЗнч(ВариантНастроекКД) = Тип("ВариантНастроекКомпоновкиДанных") Тогда Попытка Вариант.СистемнаяИнформация.Вставить("НастройкиКД", ВариантНастроекКД.Настройки); @@ -1438,8 +1466,18 @@ КонецЕсли; КонецЕсли; + // Сам отчет. + Если СтрокаОтчет.ОсновнойВариант = Неопределено Тогда + Вариант = СтрокаОтчет.Строки.Добавить(); + ЗаполнитьЗначенияСвойств(Вариант, СтрокаОтчет, "Отчет, Наименование"); + Вариант.КлючВарианта = ""; + Вариант.ЭтоВариант = Истина; + СтрокаОтчет.ОсновнойВариант = Вариант; + КонецЕсли; + КонецЦикла; + // Механизмы расширения: // Подключаемые обработчики подсистем БСП. Обработчики = ОбщегоНазначения.ОбработчикиСлужебногоСобытия("СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"); Для Каждого Обработчик Из Обработчики Цикл @@ -1449,31 +1487,22 @@ // Переопределяемая часть. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(ДеревоВариантов); - // Переключение в режим "По вариантам" для отчетов, у которых включен только 1 вариант. + // Определение основных вариантов. Для Каждого СтрокаОтчет Из ДеревоВариантов.Строки Цикл - ВариантПоУмолчанию = Неопределено; - ВключенныйВариант = Неопределено; - КоличествоВключенныхВариантов = 0; - Для Каждого СтрокаВариант Из СтрокаОтчет.Строки Цикл - ЗаполнитьОписаниеСтрокиВарианта(СтрокаВариант, СтрокаОтчет); - Если СтрокаВариант.КлючВарианта = "" Тогда - ВариантПоУмолчанию = СтрокаВариант; - Иначе - Если СтрокаВариант.Включен Тогда - КоличествоВключенныхВариантов = КоличествоВключенныхВариантов + 1; - Если КоличествоВключенныхВариантов > 1 Тогда + Если СтрокаОтчет.ГруппироватьПоОтчету = Истина Тогда + Если СтрокаОтчет.ОсновнойВариант = Неопределено + Или Не СтрокаОтчет.ОсновнойВариант.Включен Тогда + Для Каждого Вариант Из СтрокаОтчет.Строки Цикл + ЗаполнитьОписаниеСтрокиВарианта(Вариант, СтрокаОтчет); + Если Вариант.Включен Тогда + СтрокаОтчет.ОсновнойВариант = Вариант; + Вариант.ВидимостьПоУмолчанию = Истина; Прервать; КонецЕсли; - ВключенныйВариант = СтрокаВариант; - КонецЕсли; + КонецЦикла; КонецЕсли; - КонецЦикла; - Если ВариантПоУмолчанию <> Неопределено - И КоличествоВключенныхВариантов = 1 - И ВключенныйВариант <> Неопределено - И Не ВключенныйВариант.ВидимостьПоУмолчанию Тогда - ВариантПоУмолчанию.Включен = Ложь; - ВключенныйВариант.ВидимостьПоУмолчанию = Истина; + Иначе + СтрокаОтчет.ОсновнойВариант = Неопределено; КонецЕсли; КонецЦикла; @@ -1499,18 +1528,15 @@ СтрокаВариант.ОписаниеПолучено = Истина; // Копирование настроек отчета. - ЗаполнитьЗначенияСвойств(СтрокаВариант, СтрокаОтчет, "Включен, ВидимостьПоУмолчанию, ВыводитьТолькоОтчет"); + ЗаполнитьЗначенияСвойств(СтрокаВариант, СтрокаОтчет, "Включен, ВидимостьПоУмолчанию, ГруппироватьПоОтчету"); - Если СтрокаВариант.КлючВарианта = "" Тогда + Если СтрокаВариант = СтрокаОтчет.ОсновнойВариант Тогда // Вариант "по умолчанию". - СтрокаВариант.Наименование = СтрокаОтчет.Наименование; СтрокаВариант.Описание = СтрокаОтчет.Описание; - Если Не СтрокаВариант.ВыводитьТолькоОтчет Тогда - СтрокаВариант.Включен = Ложь; - КонецЕсли; + СтрокаВариант.ВидимостьПоУмолчанию = Истина; Иначе // Предопределенный вариант. - Если СтрокаВариант.ВыводитьТолькоОтчет Тогда + Если СтрокаВариант.ГруппироватьПоОтчету Тогда СтрокаВариант.ВидимостьПоУмолчанию = Ложь; КонецЕсли; КонецЕсли; @@ -1540,7 +1566,7 @@ Возврат; КонецЕсли; КонецЕсли; - СтрокаОтчет.ВыводитьТолькоОтчет = ВыводитьОтчетыВместоВариантов; + СтрокаОтчет.ГруппироватьПоОтчету = ВыводитьОтчетыВместоВариантов; КонецПроцедуры // Формирует таблицу замен старых ключей вариантов на актуальные. @@ -1754,15 +1780,19 @@ Функция СброситьНастройкиВариантаОтчета(ВариантОбъект) Экспорт Если ВариантОбъект.Пользовательский Или ВариантОбъект.ТипОтчета <> Перечисления.ТипыОтчетов.Внутренний - Или ВариантОбъект.ПредопределенныйВариант = Справочники.ПредопределенныеВариантыОтчетов.ПустаяСсылка() Тогда + Или Не ЗначениеЗаполнено(ВариантОбъект.ПредопределенныйВариант) Тогда Возврат Ложь; КонецЕсли; - ВариантОбъект.Автор = Неопределено; - ВариантОбъект.Описание = ""; + ВариантОбъект.Автор = Неопределено; + ВариантОбъект.ТолькоДляАвтора = Ложь; + ВариантОбъект.Описание = ""; ВариантОбъект.Размещение.Очистить(); ВариантОбъект.ВидимостьПоУмолчаниюПереопределена = Ложь; - ЗаполнитьЗначенияСвойств(ВариантОбъект, ВариантОбъект.ПредопределенныйВариант, "Наименование, ВидимостьПоУмолчанию"); + Предопределенный = ОбщегоНазначения.ЗначенияРеквизитовОбъекта( + ВариантОбъект.ПредопределенныйВариант, + "Наименование, ВидимостьПоУмолчанию"); + ЗаполнитьЗначенияСвойств(ВариантОбъект, Предопределенный); Возврат Истина; КонецФункции @@ -1871,6 +1901,26 @@ Возврат (Метаданные.ХранилищеВариантовОтчетов <> Неопределено И Метаданные.ХранилищеВариантовОтчетов.Имя = "ХранилищеВариантовОтчетов"); КонецФункции +// Определяет способ подключения общей формы отчета. +Функция ФормаОтчетаИспользуетсяПоУмолчанию() Экспорт + ФормаМетаданные = Метаданные.ОсновнаяФормаОтчета; + Возврат (ФормаМетаданные <> Неопределено И ФормаМетаданные = Метаданные.ОбщиеФормы.ФормаОтчета); +КонецФункции + +// Определяет способ подключения общей формы отчета. +Функция ФормаОтчетаИспользуетсяДляОтчета(ОтчетМетаданные, ФормаОтчетаИспользуетсяПоУмолчанию = Неопределено) Экспорт + ФормаМетаданные = ОтчетМетаданные.ОсновнаяФорма; + Если ФормаМетаданные = Неопределено Тогда + Если ФормаОтчетаИспользуетсяПоУмолчанию = Неопределено Тогда + ФормаОтчетаИспользуетсяПоУмолчанию = ФормаОтчетаИспользуетсяПоУмолчанию(); + КонецЕсли; + ОтчетПодключен = ФормаОтчетаИспользуетсяПоУмолчанию; + Иначе + ОтчетПодключен = (ФормаМетаданные = Метаданные.ОбщиеФормы.ФормаОтчета); + КонецЕсли; + Возврат ОтчетПодключен; +КонецФункции + // Создает фильтр по реквизиту КлючОбъекта для СтандартноеХранилищеНастроекМенеджер.Выбрать(). Функция НовыйФильтрПоКлючуОбъекта(ИменаОтчетов) Экспорт Если ИменаОтчетов = "" Или ИменаОтчетов = "*" Тогда @@ -1896,10 +1946,8 @@ // Глобальные настройки подсистемы. Функция ГлобальныеНастройки() Экспорт Результат = Новый Структура; - // * ВыводитьОтчетыВместоВариантов - Булево - Умолчание для вывода гиперссылок в панели отчетов: - // - Истина - Варианты отчетов по умолчанию скрыты, а отчеты включены и видимы. - // - Ложь - Значение по умолчанию. Варианты отчетов по умолчанию видимы, а отчеты отключены. Результат.Вставить("ВыводитьОтчетыВместоВариантов", Ложь); + Результат.Вставить("ВыводитьОписания", Истина); ВариантыОтчетовПереопределяемый.ОпределитьГлобальныеНастройки(Результат); @@ -1914,7 +1962,7 @@ Если ОбщиеНастройки = Неопределено Тогда ОбщиеНастройки = Новый Структура("ПоказатьОповещениеОПодсказках, ПоказыватьПодсказки, ИскатьВоВсехРазделах"); ОбщиеНастройки.ПоказатьОповещениеОПодсказках = Истина; - ОбщиеНастройки.ПоказыватьПодсказки = 1; + ОбщиеНастройки.ПоказыватьПодсказки = ?(ГлобальныеНастройки().ВыводитьОписания, 1, 0); ОбщиеНастройки.ИскатьВоВсехРазделах = Ложь; Иначе ОбщиеНастройки.Вставить("ПоказатьОповещениеОПодсказках", Ложь); @@ -1974,9 +2022,13 @@ КонецПроцедуры // Записывает в журнал регистрации событие завершения процедуры и фиксирует транзакцию. -Процедура ЗавершениеПроцедуры(ПредставлениеПроцедуры) +Процедура ЗавершениеПроцедуры(ПредставлениеПроцедуры, Изменено = Неопределено) ЗафиксироватьТранзакцию(); - ИнформацияПоВарианту(Неопределено, НСтр("ru = 'Завершение процедуры ""%1"".'"), ПредставлениеПроцедуры); + Текст = НСтр("ru = 'Завершение процедуры ""%1"".'"); + Если Изменено <> Неопределено Тогда + Текст = Текст + " " + НСтр("ru = 'Изменено %2 объектов.'"); + КонецЕсли; + ИнформацияПоВарианту(Неопределено, Текст, ПредставлениеПроцедуры, Изменено); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -2020,7 +2072,7 @@ Возврат; КонецЕсли; - РазделИлиГруппа = ИдентификаторОбъектаМетаданныхОбъект.Ссылка; + Подсистема = ИдентификаторОбъектаМетаданныхОбъект.Ссылка; ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ @@ -2028,17 +2080,17 @@ |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов |ГДЕ - | ВариантыОтчетов.Размещение.РазделИлиГруппа = &РазделИлиГруппа"; + | ВариантыОтчетов.Размещение.Подсистема = &Подсистема"; Запрос = Новый Запрос; - Запрос.УстановитьПараметр("РазделИлиГруппа", РазделИлиГруппа); + Запрос.УстановитьПараметр("Подсистема", Подсистема); Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); - Найденные = ВариантОбъект.Размещение.НайтиСтроки(Новый Структура("РазделИлиГруппа", РазделИлиГруппа)); + Найденные = ВариантОбъект.Размещение.НайтиСтроки(Новый Структура("Подсистема", Подсистема)); Для Каждого СтрокаТаблицы Из Найденные Цикл ВариантОбъект.Размещение.Удалить(СтрокаТаблицы); КонецЦикла; @@ -2173,7 +2225,7 @@ ВариантОбъект.УдалитьКлючОбъекта = ""; ВариантОбъект.УдалитьПредставлениеОбъекта = ""; ВариантОбъект.УдалитьИсключенияБыстрогоДоступа.Очистить(); - ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВариантОбъект); + ЗаписатьПредопределенный(ВариантОбъект); КонецЦикла; ЗавершениеПроцедуры(ПредставлениеПроцедуры); @@ -2221,7 +2273,7 @@ | ВариантыОтчетов.Пользовательский = ЛОЖЬ | И ВариантыОтчетов.ТипОтчета = &ТипОтчета | И ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ - | И ВариантыОтчетов.ПредопределенныйВариант = &ПредопределенныйВариант + | И ВариантыОтчетов.ПредопределенныйВариант = &ПустойПредопределенный | |ИНДЕКСИРОВАТЬ ПО | Отчет, @@ -2244,7 +2296,7 @@ Запрос = Новый Запрос; Запрос.УстановитьПараметр("Изменения", Изменения); Запрос.УстановитьПараметр("ТипОтчета", Перечисления.ТипыОтчетов.Внутренний); - Запрос.УстановитьПараметр("ПредопределенныйВариант", Справочники.ПредопределенныеВариантыОтчетов.ПустаяСсылка()); + Запрос.УстановитьПараметр("ПустойПредопределенный", Справочники.ПредопределенныеВариантыОтчетов.ПустаяСсылка()); Запрос.Текст = ТекстЗапроса; // Заменить имена вариантов на ссылки. @@ -2294,28 +2346,22 @@ ДеревоВариантов = ДеревоНастроекВариантовОтчетовКонфигурации(); - ТекстЗапроса = - "ВЫБРАТЬ - | Таблица.Ссылка - |ИЗ - | Справочник.ПредопределенныеВариантыОтчетов КАК Таблица - |ГДЕ - | Таблица.ПометкаУдаления = ЛОЖЬ"; - - Запрос = Новый Запрос(ТекстЗапроса); + СтарыеСведения = Новый Структура("ХешНастроек, НаименованияПолей, НаименованияПараметровИОтборов"); + Запрос = Новый Запрос("Выбрать Ссылка Из Справочник.ПредопределенныеВариантыОтчетов Где ПометкаУдаления = Ложь"); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); ВариантОбъект.ДополнительныеСвойства.Вставить("ДеревоВариантов", ДеревоВариантов); + ЗаполнитьЗначенияСвойств(СтарыеСведения, ВариантОбъект); ВариантОбъект.НаименованияПолей = ""; ВариантОбъект.НаименованияПараметровИОтборов = ""; - Если Полное Тогда + Если Полное Тогда // Переиндексировать принудительно, без проверки хеш-суммы. ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Истина); КонецЕсли; - ЕстьИзменения = ПроиндексироватьСодержимоеСхемы(ВариантОбъект); - Если ЕстьИзменения Тогда - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных"); - ВариантОбъект.Записать(); + СхемаПроиндексирована = ПроиндексироватьСодержимоеСхемы(ВариантОбъект); + Если Полное Или (СхемаПроиндексирована + И ИзменилисьНастройкиПоискаПредопределенного(ВариантОбъект, СтарыеСведения)) Тогда + ЗаписатьПредопределенный(ВариантОбъект); КонецЕсли; КонецЦикла; @@ -2360,15 +2406,63 @@ КонецЕсли; ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных"); ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Истина); ВариантОбъект.ДополнительныеСвойства.Вставить("ОтчетОбъект", ОтчетОбъект); - ВариантОбъект.Записать(); + ЗаписатьПредопределенный(ВариантОбъект); КонецЦикла; ЗавершениеПроцедуры(ПредставлениеПроцедуры); КонецПроцедуры +// [2.2.3.30] Уменьшает количество быстрых настроек в пользовательских вариантах отчетов до 2 шт. +Процедура СократитьКоличествоБыстрыхНастроек(Параметры = Неопределено) Экспорт + ПредставлениеПроцедуры = НСтр("ru = 'Сокращение количества быстрых настроек в отчетах'"); + ЗапускПроцедуры(ПредставлениеПроцедуры); + + Записано = 0; + + КэшОтчетов = Новый Соответствие; + + ИспользуетсяПоУмолчанию = ФормаОтчетаИспользуетсяПоУмолчанию(); + + Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Отчет ИЗ Справочник.ВариантыОтчетов ГДЕ Пользовательский И ТипОтчета <> &Внешний"); + Запрос.УстановитьПараметр("Внешний", Перечисления.ТипыОтчетов.Внешний); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + ОтчетОбъект = КэшОтчетов.Получить(Выборка.Отчет); // Чтение кэша. + Если ОтчетОбъект = Неопределено Тогда // Запись в кэш. + РезультатПодключения = ПодключитьОтчетОбъект(Выборка.Отчет); + Если РезультатПодключения.Подключен Тогда + ОтчетОбъект = РезультатПодключения.Объект; + ОтчетМетаданные = РезультатПодключения.Метаданные; + Если Не ФормаОтчетаИспользуетсяДляОтчета(ОтчетМетаданные, ИспользуетсяПоУмолчанию) Тогда + // Отчет не подключен к общей форме отчета. Уменьшение количества быстрых настроек должно выполняться прикладным кодом. + ОтчетОбъект = ""; + КонецЕсли; + Иначе // Отчет не найден. + ОшибкаПоВарианту(Выборка.Ссылка, РезультатПодключения.Ошибки); + ОтчетОбъект = ""; + КонецЕсли; + КэшОтчетов.Вставить(Выборка.Отчет, ОтчетОбъект); + КонецЕсли; + Если ОтчетОбъект = "" Тогда + Продолжить; + КонецЕсли; + + ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); + ТребуетсяЗапись = УменьшитьКоличествоБыстрыхНастроек(ВариантОбъект, ОтчетОбъект); + Если Не ТребуетсяЗапись Тогда + Продолжить; + КонецЕсли; + ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Ложь); + ВариантОбъект.ДополнительныеСвойства.Вставить("ОтчетОбъект", ОтчетОбъект); + ЗаписатьПредопределенный(ВариантОбъект); + Записано = Записано + 1; + КонецЦикла; + + ЗавершениеПроцедуры(ПредставлениеПроцедуры, Записано); +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обновление информационной базы / Начальное заполнение и актуализация справочников @@ -2421,9 +2515,7 @@ Кэш.ОбновитьОбласти = Истина; ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); ВариантОбъект.КлючВарианта = Выборка.АктуальноеИмяВарианта; - ВариантОбъект.ДополнительныеСвойства.Вставить("ДеревоВариантов", Кэш.ДеревоВариантов); - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.Записать(); + ЗаписатьПредопределенный(ВариантОбъект); КонецЦикла; ЗавершениеПроцедуры(ПредставлениеПроцедуры); @@ -2438,77 +2530,131 @@ ТаблицаФункциональныхОпций.Колонки.Добавить("Отчет", Новый ОписаниеТипов("СправочникСсылка.ИдентификаторыОбъектовМетаданных")); ТаблицаФункциональныхОпций.Колонки.Добавить("ПредопределенныйВариант", Новый ОписаниеТипов("СправочникСсылка.ПредопределенныеВариантыОтчетов")); ТаблицаФункциональныхОпций.Колонки.Добавить("ИмяФункциональнойОпции", Новый ОписаниеТипов("Строка")); + Кэш.Вставить("ТаблицаФункциональныхОпций", ТаблицаФункциональныхОпций); + + ОтчетыСНастройкамиСписок = Новый СписокЗначений; Кэш.ДеревоВариантов.Колонки.Добавить("НайденВБазеДанных", Новый ОписаниеТипов("Булево")); + Кэш.ДеревоВариантов.Колонки.Добавить("ВариантИзБазы", Новый ОписаниеТипов("СтрокаТаблицыЗначений")); + Кэш.ДеревоВариантов.Колонки.Добавить("ВариантРодитель", Новый ОписаниеТипов("СправочникСсылка.ПредопределенныеВариантыОтчетов")); ПоискВарианта = Новый Структура("Отчет, КлючВарианта, НайденВБазеДанных, ЭтоВариант", , , Ложь, Истина); + ПустаяСсылка = Справочники.ПредопределенныеВариантыОтчетов.ПустаяСсылка(); + // Сопоставление информации из базы и из метаданных и пометка на удаление устаревших объектов из базы. Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ Справочник.ПредопределенныеВариантыОтчетов УПОРЯДОЧИТЬ ПО ПометкаУдаления"); - ВариантВыборка = Запрос.Выполнить().Выбрать(); - Пока ВариантВыборка.Следующий() Цикл - ЗаполнитьЗначенияСвойств(ПоискВарианта, ВариантВыборка, "Отчет, КлючВарианта"); - + ТаблицаПредопределенные = Запрос.Выполнить().Выгрузить(); + Для Каждого ВариантИзБазы Из ТаблицаПредопределенные Цикл + ЗаполнитьЗначенияСвойств(ПоискВарианта, ВариантИзБазы, "Отчет, КлючВарианта"); Найденные = Кэш.ДеревоВариантов.Строки.НайтиСтроки(ПоискВарианта, Истина); Если Найденные.Количество() = 0 Тогда - ВариантОбъект = ВариантВыборка.Ссылка.ПолучитьОбъект(); - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Ложь); - ВариантОбъект.УстановитьПометкуУдаления(Истина); + Если ВариантИзБазы.ПометкаУдаления И ВариантИзБазы.Родитель <> ПустаяСсылка Тогда + Продолжить; // Действие не требуется. + КонецЕсли; + ВариантОбъект = ВариантИзБазы.Ссылка.ПолучитьОбъект(); + ВариантОбъект.ПометкаУдаления = Истина; + ВариантОбъект.Родитель = ПустаяСсылка; + ЗаписатьПредопределенный(ВариантОбъект); Кэш.ОбновитьОбласти = Истина; - Продолжить; - КонецЕсли; - - ОписаниеВарианта = Найденные[0]; - ЗаполнитьОписаниеСтрокиВарианта(ОписаниеВарианта); - ОписаниеВарианта.НайденВБазеДанных = Истина; - - Для Каждого ИмяФункциональнойОпции Из ОписаниеВарианта.ФункциональныеОпции Цикл - СвязьСФункциональнойОпцией = ТаблицаФункциональныхОпций.Добавить(); - СвязьСФункциональнойОпцией.Отчет = ОписаниеВарианта.Отчет; - СвязьСФункциональнойОпцией.ПредопределенныйВариант = ВариантВыборка.Ссылка; - СвязьСФункциональнойОпцией.ИмяФункциональнойОпции = ИмяФункциональнойОпции; - КонецЦикла; - - Если ИзменилисьКлючевыеНастройкиПредопределенного(ВариантВыборка, ОписаниеВарианта) Тогда - Кэш.ОбновитьОбласти = Истина; - ИначеЕсли ИзменилисьВторостепенныеНастройкиПредопределенного(ВариантВыборка, ОписаниеВарианта) Тогда - // Обновлять области не требуется. Иначе - Продолжить; + ОписаниеВарианта = Найденные[0]; + ЗаполнитьОписаниеСтрокиВарианта(ОписаниеВарианта); + ОписаниеВарианта.НайденВБазеДанных = Истина; + ОписаниеВарианта.ВариантИзБазы = ВариантИзБазы; КонецЕсли; - - ЗаписатьНастройкиПредопределенного(ОписаниеВарианта, ВариантВыборка.Ссылка); КонецЦикла; - // Добавить варианты, которых нет в базы данных. - Найденные = Кэш.ДеревоВариантов.Строки.НайтиСтроки(Новый Структура("НайденВБазеДанных, ЭтоВариант", Ложь, Истина), Истина); - Для Каждого ОписаниеВарианта Из Найденные Цикл - Кэш.ОбновитьОбласти = Истина; - ЗаполнитьОписаниеСтрокиВарианта(ОписаниеВарианта); - - СсылкаПредопределенного = ЗаписатьНастройкиПредопределенного(ОписаниеВарианта); - - Для Каждого ИмяФункциональнойОпции Из ОписаниеВарианта.ФункциональныеОпции Цикл - СвязьСФункциональнойОпцией = ТаблицаФункциональныхОпций.Добавить(); - СвязьСФункциональнойОпцией.Отчет = ОписаниеВарианта.Отчет; - СвязьСФункциональнойОпцией.ПредопределенныйВариант = СсылкаПредопределенного; - СвязьСФункциональнойОпцией.ИмяФункциональнойОпции = ИмяФункциональнойОпции; + // Добавление/обновление информации в базе данных. + Для Каждого ОписаниеОтчета Из Кэш.ДеревоВариантов.Строки Цикл + ОсновнойВариантСсылка = ПустаяСсылка; + ОсновнойВариант = ОписаниеОтчета.ОсновнойВариант; + Если ТипЗнч(ОсновнойВариант) = Тип("СтрокаДереваЗначений") Тогда + ЗаполнитьОписаниеСтрокиВарианта(ОсновнойВариант); + ОсновнойВариант.ВариантРодитель = ПустаяСсылка; + ОсновнойВариантСсылка = ОбновитьПредопределенный(Кэш, ОсновнойВариант); // Вариант без родителя. + КонецЕсли; + Если ОписаниеОтчета.ОпределитьНастройкиФормы Тогда + ОтчетыСНастройкамиСписок.Добавить(ОписаниеОтчета.Отчет); + КонецЕсли; + Для Каждого ОписаниеВарианта Из ОписаниеОтчета.Строки Цикл + ЗаполнитьОписаниеСтрокиВарианта(ОписаниеВарианта); + Если ОписаниеВарианта = ОсновнойВариант Тогда + ВариантСсылка = ОсновнойВариантСсылка; + Иначе + ОписаниеВарианта.ВариантРодитель = ОсновнойВариантСсылка; + ВариантСсылка = ОбновитьПредопределенный(Кэш, ОписаниеВарианта); + КонецЕсли; + Для Каждого ИмяФункциональнойОпции Из ОписаниеВарианта.ФункциональныеОпции Цикл + СвязьСФункциональнойОпцией = ТаблицаФункциональныхОпций.Добавить(); + СвязьСФункциональнойОпцией.Отчет = ОписаниеВарианта.Отчет; + СвязьСФункциональнойОпцией.ПредопределенныйВариант = ВариантСсылка; + СвязьСФункциональнойОпцией.ИмяФункциональнойОпции = ИмяФункциональнойОпции; + КонецЦикла; КонецЦикла; КонецЦикла; // Перезапись константы только в случае если обработчик обновления был запущен "для записи" (в монопольном режиме). - МенеджерКонстанты = Константы.ПараметрыВариантовОтчетов.СоздатьМенеджерЗначения(); - МенеджерКонстанты.Значение = Новый ХранилищеЗначения(ТаблицаФункциональныхОпций, Новый СжатиеДанных(9)); - МенеджерКонстанты.ОбменДанными.Загрузка = Истина; - МенеджерКонстанты.Записать(); + ТаблицаФункциональныхОпций.Сортировать("Отчет, ПредопределенныйВариант, ИмяФункциональнойОпции"); + ОтчетыСНастройкамиСписок.СортироватьПоЗначению(); + ОтчетыСНастройками = ОтчетыСНастройкамиСписок.ВыгрузитьЗначения(); + + НовоеЗначение = Новый Структура; + НовоеЗначение.Вставить("ТаблицаФункциональныхОпций", ТаблицаФункциональныхОпций); + НовоеЗначение.Вставить("ОтчетыСНастройками", ОтчетыСНастройками); + + СтароеЗначение = Константы.ПараметрыВариантовОтчетов.Получить().Получить(); + Если ОбщегоНазначения.ЗначениеВСтрокуXML(НовоеЗначение) <> ОбщегоНазначения.ЗначениеВСтрокуXML(СтароеЗначение) Тогда + КонстантаОбъект = Константы.ПараметрыВариантовОтчетов.СоздатьМенеджерЗначения(); + КонстантаОбъект.Значение = Новый ХранилищеЗначения(НовоеЗначение, Новый СжатиеДанных(9)); + ОбновлениеИнформационнойБазы.ЗаписатьДанные(КонстантаОбъект, Ложь, Ложь); + КонецЕсли; ЗавершениеПроцедуры(ПредставлениеПроцедуры); КонецПроцедуры +// Записывает настройки варианта в данные справочника. +Функция ОбновитьПредопределенный(Кэш, ОписаниеВарианта) + Если ОписаниеВарианта.НайденВБазеДанных Тогда + ВариантИзБазы = ОписаниеВарианта.ВариантИзБазы; + Если ИзменилисьКлючевыеНастройкиПредопределенного(ОписаниеВарианта, ВариантИзБазы) Тогда + Кэш.ОбновитьОбласти = Истина; // Перезапись с обновлением разделенных данных. + ИначеЕсли ИзменилисьВторостепенныеНастройкиПредопределенного(ОписаниеВарианта, ВариантИзБазы) Тогда + // Перезапись без обновления разделенных данных. + Иначе + Возврат ВариантИзБазы.Ссылка; + КонецЕсли; + + ВариантОбъект = ОписаниеВарианта.ВариантИзБазы.Ссылка.ПолучитьОбъект(); + ВариантОбъект.Размещение.Очистить(); + Если ВариантОбъект.ПометкаУдаления Тогда + ВариантОбъект.ПометкаУдаления = Ложь; + КонецЕсли; + Иначе + Кэш.ОбновитьОбласти = Истина; // Регистрация нового. + ВариантОбъект = Справочники.ПредопределенныеВариантыОтчетов.СоздатьЭлемент(); + КонецЕсли; + + ЗаполнитьЗначенияСвойств(ВариантОбъект, ОписаниеВарианта, "Отчет, КлючВарианта, Наименование, Включен, ВидимостьПоУмолчанию, Описание, ГруппироватьПоОтчету"); + + ВариантОбъект.Родитель = ОписаниеВарианта.ВариантРодитель; + + Для Каждого КлючИЗначение Из ОписаниеВарианта.Размещение Цикл + СтрокаРазмещения = ВариантОбъект.Размещение.Добавить(); + СтрокаРазмещения.Подсистема = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(КлючИЗначение.Ключ); + СтрокаРазмещения.Важный = (НРег(КлючИЗначение.Значение) = НРег("Важный")); + СтрокаРазмещения.СмТакже = (НРег(КлючИЗначение.Значение) = НРег("СмТакже")); + КонецЦикла; + + ЗаписатьПредопределенный(ВариантОбъект); + + Возврат ВариантОбъект.Ссылка; +КонецФункции + // Определяет изменились ли ключевые настройки предопределенного варианта отчета. -Функция ИзменилисьКлючевыеНастройкиПредопределенного(ВариантВыборка, ОписаниеВарианта) - Если ВариантВыборка.ПометкаУдаления = Истина // Описание получено => требуется снять пометку удаления. - Или ВариантВыборка.Наименование <> ОписаниеВарианта.Наименование - Или ВариантВыборка.ВидимостьПоУмолчанию <> ОписаниеВарианта.ВидимостьПоУмолчанию Тогда +Функция ИзменилисьКлючевыеНастройкиПредопределенного(ОписаниеВарианта, ВариантИзБазы) + Если ВариантИзБазы.ПометкаУдаления = Истина // Описание получено => требуется снять пометку удаления. + Или ВариантИзБазы.Наименование <> ОписаниеВарианта.Наименование + Или ВариантИзБазы.Родитель <> ОписаниеВарианта.ВариантРодитель + Или ВариантИзБазы.ВидимостьПоУмолчанию <> ОписаниеВарианта.ВидимостьПоУмолчанию Тогда Возврат Истина; Иначе Возврат Ложь; @@ -2516,16 +2662,16 @@ КонецФункции // Определяет изменились ли второстепенные настройки предопределенного варианта отчета. -Функция ИзменилисьВторостепенныеНастройкиПредопределенного(ВариантВыборка, ОписаниеВарианта) +Функция ИзменилисьВторостепенныеНастройкиПредопределенного(ОписаниеВарианта, ВариантИзБазы) // Шапка - Если ВариантВыборка.Включен <> ОписаниеВарианта.Включен - Или ВариантВыборка.Описание <> ОписаниеВарианта.Описание - Или ВариантВыборка.ВыводитьТолькоОтчет <> ОписаниеВарианта.ВыводитьТолькоОтчет Тогда + Если ВариантИзБазы.Включен <> ОписаниеВарианта.Включен + Или ВариантИзБазы.Описание <> ОписаниеВарианта.Описание + Или ВариантИзБазы.ГруппироватьПоОтчету <> ОписаниеВарианта.ГруппироватьПоОтчету Тогда Возврат Истина; КонецЕсли; // Таблица "Размещение" - ТаблицаРазмещения = ВариантВыборка.Размещение.Выгрузить(); + ТаблицаРазмещения = ВариантИзБазы.Размещение; Если ТаблицаРазмещения.Количество() <> ОписаниеВарианта.Размещение.Количество() Тогда Возврат Истина; КонецЕсли; @@ -2543,49 +2689,34 @@ Возврат Ложь; КонецФункции -// Записывает настройки варианта в данные справочника. -Функция ЗаписатьНастройкиПредопределенного(ОписаниеВарианта, ВариантСсылка = Неопределено) - Если ВариантСсылка = Неопределено Тогда - ВариантОбъект = Справочники.ПредопределенныеВариантыОтчетов.СоздатьЭлемент(); +// Определяет изменились ли настройки поиска предопределенного варианта отчета. +Функция ИзменилисьНастройкиПоискаПредопределенного(ВариантИзБазы, СтарыеСведения) + Если ВариантИзБазы.ХешНастроек <> СтарыеСведения.ХешНастроек + Или ВариантИзБазы.НаименованияПолей <> СтарыеСведения.НаименованияПолей + Или ВариантИзБазы.НаименованияПараметровИОтборов <> СтарыеСведения.НаименованияПараметровИОтборов Тогда + Возврат Истина; Иначе - ВариантОбъект = ВариантСсылка.ПолучитьОбъект(); - ВариантОбъект.Размещение.Очистить(); - Если ВариантОбъект.ПометкаУдаления Тогда - ВариантОбъект.ПометкаУдаления = Ложь; - КонецЕсли; + Возврат Ложь; КонецЕсли; - - ЗаполнитьЗначенияСвойств(ВариантОбъект, ОписаниеВарианта, "Отчет, КлючВарианта, Наименование, Включен, ВидимостьПоУмолчанию, Описание, ВыводитьТолькоОтчет"); - - Для Каждого КлючИЗначение Из ОписаниеВарианта.Размещение Цикл - СтрокаРазмещения = ВариантОбъект.Размещение.Добавить(); - СтрокаРазмещения.Подсистема = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(КлючИЗначение.Ключ); - СтрокаРазмещения.Важный = (НРег(КлючИЗначение.Значение) = НРег("Важный")); - СтрокаРазмещения.СмТакже = (НРег(КлючИЗначение.Значение) = НРег("СмТакже")); - КонецЦикла; - - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.Записать(); - - Возврат ВариантОбъект.Ссылка; КонецФункции -// Приводит в соответствие данные разделенного и неразделенного справочников. -// Для разделенного справочника (ВариантыОтчетов). -// +// Приводит разделенные данные в соответствие с неразделенными данными. Процедура АктуализироватьСоставОбласти() ПредставлениеПроцедуры = НСтр("ru = 'Обновить разделенные вариантов отчетов'"); ЗапускПроцедуры(ПредставлениеПроцедуры); + // Обновление сведений предопределенных вариантов. ТекстЗапроса = "ВЫБРАТЬ | ПредопределенныеВариантыОтчетов.Ссылка КАК ПредопределенныйВариант, | ПредопределенныеВариантыОтчетов.Наименование КАК Наименование, | ПредопределенныеВариантыОтчетов.Отчет КАК Отчет, + | ПредопределенныеВариантыОтчетов.ГруппироватьПоОтчету КАК ГруппироватьПоОтчету, | ПредопределенныеВариантыОтчетов.КлючВарианта КАК КлючВарианта, - | ПредопределенныеВариантыОтчетов.ВидимостьПоУмолчанию - |ПОМЕСТИТЬ втОбщие + | ПредопределенныеВариантыОтчетов.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию, + | ПредопределенныеВариантыОтчетов.Родитель КАК Родитель + |ПОМЕСТИТЬ втПредопределенные |ИЗ | Справочник.ПредопределенныеВариантыОтчетов КАК ПредопределенныеВариантыОтчетов |ГДЕ @@ -2597,79 +2728,223 @@ | ВариантыОтчетов.Ссылка, | ВариантыОтчетов.ПометкаУдаления, | ВариантыОтчетов.Отчет, + | ВариантыОтчетов.ТипОтчета, | ВариантыОтчетов.КлючВарианта, | ВариантыОтчетов.Наименование, | ВариантыОтчетов.ПредопределенныйВариант, | ВариантыОтчетов.ВидимостьПоУмолчанию, - | ВариантыОтчетов.ВидимостьПоУмолчаниюПереопределена - |ПОМЕСТИТЬ втРазделенные + | ВариантыОтчетов.Родитель + |ПОМЕСТИТЬ втВариантыОтчетов |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов |ГДЕ - | ВариантыОтчетов.ТипОтчета = &ТипОтчета + | (ВариантыОтчетов.ТипОтчета = ЗНАЧЕНИЕ(Перечисление.ТипыОтчетов.Внутренний) + | ИЛИ ТИПЗНАЧЕНИЯ(ВариантыОтчетов.Отчет) = ТИП(Справочник.ИдентификаторыОбъектовМетаданных)) | И ВариантыОтчетов.Пользовательский = ЛОЖЬ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ - | ЕСТЬNULL(втРазделенные.Ссылка, НЕОПРЕДЕЛЕНО) КАК Ссылка, - | ЕСТЬNULL(втОбщие.ПредопределенныйВариант, НЕОПРЕДЕЛЕНО) КАК ПредопределенныйВариант, - | втОбщие.Наименование, - | втОбщие.Отчет, - | втОбщие.КлючВарианта, - | втОбщие.ВидимостьПоУмолчанию + | ВЫБОР + | КОГДА втПредопределенные.ПредопределенныйВариант ЕСТЬ NULL + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК УстановитьПометкуУдаления, + | ВЫБОР + | КОГДА втВариантыОтчетов.Ссылка ЕСТЬ NULL + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК СоздатьНовый, + | втПредопределенные.ПредопределенныйВариант КАК ПредопределенныйВариант, + | втПредопределенные.Наименование КАК Наименование, + | втПредопределенные.Отчет КАК Отчет, + | втПредопределенные.КлючВарианта КАК КлючВарианта, + | втПредопределенные.ГруппироватьПоОтчету КАК ГруппироватьПоОтчету, + | втПредопределенные.Родитель КАК ПредопределенныйВариантРодитель, + | втПредопределенные.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию, + | втВариантыОтчетов.Ссылка КАК РеквизитСсылка, + | втВариантыОтчетов.Родитель КАК РеквизитРодитель, + | втВариантыОтчетов.ТипОтчета КАК РеквизитТипОтчета, + | втВариантыОтчетов.Отчет КАК РеквизитОтчет, + | втВариантыОтчетов.КлючВарианта КАК РеквизитКлючВарианта, + | втВариантыОтчетов.Наименование КАК РеквизитНаименование, + | втВариантыОтчетов.ПредопределенныйВариант КАК РеквизитПредопределенныйВариант, + | втВариантыОтчетов.ПометкаУдаления КАК РеквизитПометкаУдаления, + | втВариантыОтчетов.ВидимостьПоУмолчанию КАК РеквизитВидимостьПоУмолчанию |ИЗ - | втОбщие КАК втОбщие - | ПОЛНОЕ СОЕДИНЕНИЕ втРазделенные КАК втРазделенные - | ПО втОбщие.ПредопределенныйВариант = втРазделенные.ПредопределенныйВариант - |ГДЕ - | (втРазделенные.Ссылка ЕСТЬ NULL - | Или втОбщие.ПредопределенныйВариант ЕСТЬ NULL - | Или втОбщие.Наименование <> втРазделенные.Наименование - | Или втОбщие.КлючВарианта <> втРазделенные.КлючВарианта - | Или втРазделенные.ВидимостьПоУмолчаниюПереопределена - | И втОбщие.ВидимостьПоУмолчанию <> втРазделенные.ВидимостьПоУмолчанию)"; + | втВариантыОтчетов КАК втВариантыОтчетов + | ПОЛНОЕ СОЕДИНЕНИЕ втПредопределенные КАК втПредопределенные + | ПО втВариантыОтчетов.ПредопределенныйВариант = втПредопределенные.ПредопределенныйВариант"; Запрос = Новый Запрос; - Запрос.УстановитьПараметр("ТипОтчета", Перечисления.ТипыОтчетов.Внутренний); Запрос.Текст = ТекстЗапроса; + Кэш = Новый Структура; + Кэш.Вставить("ПустаяСсылка", Справочники.ВариантыОтчетов.ПустаяСсылка()); + Кэш.Вставить("ПоискРодителей", Новый Соответствие); + Кэш.Вставить("ОбработанныеПредопределенные", Новый Массив); + Кэш.Вставить("ОсновныеВарианты", Новый ТаблицаЗначений); + Кэш.ОсновныеВарианты.Колонки.Добавить("Отчет", Метаданные.Справочники.ВариантыОтчетов.Реквизиты.Отчет.Тип); + Кэш.ОсновныеВарианты.Колонки.Добавить("Вариант", Новый ОписаниеТипов("СправочникСсылка.ВариантыОтчетов")); + + Шаблоны = Новый Структура; + + Шаблоны.Вставить("УстановкаПометкиУдаления", Новый Структура); + Шаблоны.УстановкаПометкиУдаления.Вставить("Родитель", Кэш.ПустаяСсылка); + Шаблоны.УстановкаПометкиУдаления.Вставить("ПометкаУдаления", Истина); + + Шаблоны.Вставить("ОбновлениеСведений", Новый Структура); + Шаблоны.ОбновлениеСведений.Вставить("ТипОтчета", Перечисления.ТипыОтчетов.Внутренний); + Шаблоны.ОбновлениеСведений.Вставить("ПометкаУдаления", Ложь); + Шаблоны.ОбновлениеСведений.Вставить("Родитель", Неопределено); + Шаблоны.ОбновлениеСведений.Вставить("Наименование", Неопределено); + Шаблоны.ОбновлениеСведений.Вставить("Отчет", Неопределено); + Шаблоны.ОбновлениеСведений.Вставить("КлючВарианта", Неопределено); + Шаблоны.ОбновлениеСведений.Вставить("ПредопределенныйВариант", Неопределено); + Шаблоны.ОбновлениеСведений.Вставить("ВидимостьПоУмолчанию", Неопределено); + + СводнаяТаблицаПредопределенных = Запрос.Выполнить().Выгрузить(); + СводнаяТаблицаПредопределенных.Колонки.Добавить("Обработана", Новый ОписаниеТипов("Булево")); + СводнаяТаблицаПредопределенных.Колонки.Добавить("Родитель", Новый ОписаниеТипов("СправочникСсылка.ВариантыОтчетов")); + + // Обновление основных предопределенных вариантов (без родителя). + Поиск = Новый Структура("ПредопределенныйВариантРодитель, УстановитьПометкуУдаления", Справочники.ПредопределенныеВариантыОтчетов.ПустаяСсылка(), Ложь); + Найденные = СводнаяТаблицаПредопределенных.НайтиСтроки(Поиск); + Для Каждого СтрокаТаблицы Из Найденные Цикл + Если СтрокаТаблицы.Обработана Тогда + Продолжить; + КонецЕсли; + Если Кэш.ОбработанныеПредопределенные.Найти(СтрокаТаблицы.ПредопределенныйВариант) <> Неопределено Тогда + СтрокаТаблицы.УстановитьПометкуУдаления = Истина; + КонецЕсли; + + СтрокаТаблицы.Родитель = Кэш.ПустаяСсылка; + ОбновитьРазделенныйПредопределенный(Кэш, Шаблоны, СтрокаТаблицы); + + Если Не СтрокаТаблицы.УстановитьПометкуУдаления + И СтрокаТаблицы.ГруппироватьПоОтчету + И Кэш.ПоискРодителей.Получить(СтрокаТаблицы.Отчет) = Неопределено Тогда + Кэш.ПоискРодителей.Вставить(СтрокаТаблицы.Отчет, СтрокаТаблицы.РеквизитСсылка); + ОсновнойВариант = Кэш.ОсновныеВарианты.Добавить(); + ОсновнойВариант.Отчет = СтрокаТаблицы.Отчет; + ОсновнойВариант.Вариант = СтрокаТаблицы.РеквизитСсылка; + КонецЕсли; + КонецЦикла; + + // Обновление всех оставшихся предопределенных вариантов (подчиненных). + СводнаяТаблицаПредопределенных.Сортировать("УстановитьПометкуУдаления Возр"); + Для Каждого СтрокаТаблицы Из СводнаяТаблицаПредопределенных Цикл + Если СтрокаТаблицы.Обработана Тогда + Продолжить; + КонецЕсли; + Если Кэш.ОбработанныеПредопределенные.Найти(СтрокаТаблицы.ПредопределенныйВариант) <> Неопределено Тогда + СтрокаТаблицы.УстановитьПометкуУдаления = Истина; + КонецЕсли; + Если СтрокаТаблицы.УстановитьПометкуУдаления Тогда + РодительСсылка = Кэш.ПустаяСсылка; + Иначе + РодительСсылка = Кэш.ПоискРодителей.Получить(СтрокаТаблицы.Отчет); + КонецЕсли; + + СтрокаТаблицы.Родитель = РодительСсылка; + ОбновитьРазделенныйПредопределенный(Кэш, Шаблоны, СтрокаТаблицы); + КонецЦикла; + + // Обновление родителей пользовательских вариантов. + ТекстЗапроса = + "ВЫБРАТЬ + | ОсновныеВариантыОтчетов.Отчет, + | ОсновныеВариантыОтчетов.Вариант + |ПОМЕСТИТЬ втОсновные + |ИЗ + | &ОсновныеВариантыОтчетов КАК ОсновныеВариантыОтчетов + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | ВариантыОтчетов.Ссылка, + | втОсновные.Вариант КАК Родитель + |ИЗ + | Справочник.ВариантыОтчетов КАК ВариантыОтчетов + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОсновные КАК втОсновные + | ПО ВариантыОтчетов.Отчет = втОсновные.Отчет + | И ВариантыОтчетов.Родитель <> втОсновные.Вариант + | И ВариантыОтчетов.Ссылка <> втОсновные.Вариант + |ГДЕ + | (ВариантыОтчетов.Пользовательский + | ИЛИ НЕ ВариантыОтчетов.ПометкаУдаления)"; + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ОсновныеВариантыОтчетов", Кэш.ОсновныеВарианты); + Запрос.Текст = ТекстЗапроса; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - Если Выборка.ПредопределенныйВариант = Неопределено Тогда - // Удалить (нет в общих, но есть в разделенных). - ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Ложь); - ВариантОбъект.УстановитьПометкуУдаления(Истина); - Иначе - Если Выборка.Ссылка = Неопределено Тогда - // Зарегистрировать (есть в общих, но нет в разделенных). - ВариантОбъект = Справочники.ВариантыОтчетов.СоздатьЭлемент(); - ВариантОбъект.Заблокировать(); - Иначе - // Актуализировать (изменилось наименование или ключ варианта). - ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); - ВариантОбъект.Заблокировать(); - // Перенести пользовательские настройки. - ЗаменитьКлючиПользовательскихНастроек(ВариантОбъект, Выборка); - КонецЕсли; - ВариантОбъект.ОбменДанными.Загрузка = Истина; - ВариантОбъект.ОбменДанными.Получатели.АвтоЗаполнение = Ложь; - ВариантОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов"); - ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний; - ЗаполнитьЗначенияСвойств(ВариантОбъект, Выборка, "Наименование, Отчет, КлючВарианта, ПредопределенныйВариант"); - Если Не ВариантОбъект.ВидимостьПоУмолчаниюПереопределена Тогда - ВариантОбъект.ВидимостьПоУмолчанию = Выборка.ВидимостьПоУмолчанию; - КонецЕсли; - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.Записать(); - КонецЕсли; + ВариантОбъект = Выборка.Ссылка.ПолучитьОбъект(); + ВариантОбъект.Родитель = Выборка.Родитель; + ВариантОбъект.Заблокировать(); + ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВариантОбъект, ВариантОбъект.ЭтоНовый(), Ложь); КонецЦикла; ЗавершениеПроцедуры(ПредставлениеПроцедуры); КонецПроцедуры +// Обновляет предопределенные данные в разделенном режиме. +Процедура ОбновитьРазделенныйПредопределенный(Кэш, Шаблоны, СтрокаТаблицы) + Если СтрокаТаблицы.Обработана Тогда + Возврат; + КонецЕсли; + + СтрокаТаблицы.Обработана = Истина; + + Если СтрокаТаблицы.УстановитьПометкуУдаления Тогда // Пометить к удалению. + Если СовпадаютЗначенияСвойств(Шаблоны.УстановкаПометкиУдаления, СтрокаТаблицы, "Реквизит") Тогда + Возврат; // Уже помечен. + КонецЕсли; + ВариантОбъект = СтрокаТаблицы.РеквизитСсылка.ПолучитьОбъект(); + ЗаполнитьЗначенияСвойств(ВариантОбъект, Шаблоны.УстановкаПометкиУдаления); + Иначе + Если СтрокаТаблицы.ГруппироватьПоОтчету И Не ЗначениеЗаполнено(СтрокаТаблицы.ПредопределенныйВариантРодитель) Тогда + СтрокаТаблицы.Родитель = Кэш.ПустаяСсылка; + КонецЕсли; + Кэш.ОбработанныеПредопределенные.Добавить(СтрокаТаблицы.ПредопределенныйВариант); + ЗаполнитьЗначенияСвойств(Шаблоны.ОбновлениеСведений, СтрокаТаблицы); + Шаблоны.ОбновлениеСведений.ПометкаУдаления = Ложь; + Если СтрокаТаблицы.СоздатьНовый Тогда // Добавить. + ВариантОбъект = Справочники.ВариантыОтчетов.СоздатьЭлемент(); + ВариантОбъект.ПредопределенныйВариант = СтрокаТаблицы.ПредопределенныйВариант; + ВариантОбъект.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний; + ВариантОбъект.Пользовательский = Ложь; + Иначе // Обновить (если есть изменения). + Если СовпадаютЗначенияСвойств(Шаблоны.ОбновлениеСведений, СтрокаТаблицы, "Реквизит") Тогда + Возврат; // Изменений нет. + КонецЕсли; + ЗаменитьКлючиПользовательскихНастроек(Шаблоны.ОбновлениеСведений, СтрокаТаблицы); // Перенос пользовательских настроек. + ВариантОбъект = СтрокаТаблицы.РеквизитСсылка.ПолучитьОбъект(); + КонецЕсли; + Если ВариантОбъект.ВидимостьПоУмолчаниюПереопределена Тогда + ИсключаяСвойства = "ВидимостьПоУмолчанию"; + Иначе + ИсключаяСвойства = Неопределено; + КонецЕсли; + ЗаполнитьЗначенияСвойств(ВариантОбъект, Шаблоны.ОбновлениеСведений, , ИсключаяСвойства); + КонецЕсли; + + ВариантОбъект.Заблокировать(); + ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВариантОбъект, ВариантОбъект.ЭтоНовый(), Ложь); + + СтрокаТаблицы.РеквизитСсылка = ВариантОбъект.Ссылка; +КонецПроцедуры + +// Возвращает Истина если совпадают значения свойств Структуры и Коллекции с Префиксом. +Функция СовпадаютЗначенияСвойств(Структура, Коллекция, ПрефиксВКоллекции = "") + Для Каждого КлючИЗначение Из Структура Цикл + Если Коллекция[ПрефиксВКоллекции + КлючИЗначение.Ключ] <> КлючИЗначение.Значение Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + Возврат Истина; +КонецФункции + // Установка пометки удаления вариантов удаленных отчетов. Процедура ПометитьНаУдалениеВариантыУдаленныхОтчетов(Кэш, ОбщиеДанные) Запрос = Новый Запрос; @@ -2706,12 +2981,8 @@ Для Каждого ВариантСсылка Из МассивСсылокВариантов Цикл ВариантОбъект = ВариантСсылка.ПолучитьОбъект(); ВариантОбъект.Заблокировать(); - ВариантОбъект.ОбменДанными.Загрузка = Истина; - ВариантОбъект.ОбменДанными.Получатели.АвтоЗаполнение = Ложь; - ВариантОбъект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов"); - ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных", Истина); - ВариантОбъект.ДополнительныеСвойства.Вставить("ИндексироватьСхему", Ложь); - ВариантОбъект.УстановитьПометкуУдаления(Истина); + ВариантОбъект.ПометкаУдаления = Истина; + ЗаписатьПредопределенный(ВариантОбъект); КонецЦикла; ЗавершениеПроцедуры(ПредставлениеПроцедуры); @@ -2777,6 +3048,12 @@ ХранилищеПользовательскихНастроекОтчетов.Удалить(СтарыйКлючОбъекта, Неопределено, Неопределено); КонецПроцедуры +// Записывает предопределенный объект. +Процедура ЗаписатьПредопределенный(ВариантОбъект) + ВариантОбъект.ДополнительныеСвойства.Вставить("ЗаполнениеПредопределенных"); + ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВариантОбъект, ВариантОбъект.ЭтоНовый(), Ложь); +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обновление информационной базы / Переход к редакции 2.1 @@ -2785,7 +3062,7 @@ // Процедура Редакция21ПривестиНастройкиПоРазделам(ВариантОбъект) - Найденные = ВариантОбъект.Размещение.НайтиСтроки(Новый Структура("РазделИлиГруппа", Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка())); + Найденные = ВариантОбъект.Размещение.НайтиСтроки(Новый Структура("Подсистема", Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка())); Для Каждого СтрокаТаблицы Из Найденные Цикл Если Не ЗначениеЗаполнено(СтрокаТаблицы.УдалитьПодсистема) Тогда @@ -2807,7 +3084,7 @@ КонецЕсли; СтрокаТаблицы.Использование = Истина; - СтрокаТаблицы.РазделИлиГруппа = ПодсистемаСсылка; + СтрокаТаблицы.Подсистема = ПодсистемаСсылка; СтрокаТаблицы.УдалитьПодсистема = ""; СтрокаТаблицы.УдалитьНазвание = ""; @@ -2820,32 +3097,29 @@ // Процедура Редакция21ПеренестиПользовательскиеНастройкиВРегистр(ВариантОбъект) ТаблицаПодсистем = ВариантОбъект.Размещение.Выгрузить(Новый Структура("Использование", Истина)); - ТаблицаПодсистем.Свернуть("РазделИлиГруппа"); + ТаблицаПодсистем.Свернуть("Подсистема"); ТаблицаПользователей = ВариантОбъект.УдалитьИсключенияБыстрогоДоступа.Выгрузить(); ТаблицаПользователей.Колонки.УдалитьПользователь.Имя = "Пользователь"; ТаблицаПользователей.Свернуть("Пользователь"); - НаборЗаписей = РегистрыСведений.НастройкиВариантовОтчетов.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Вариант.Установить(ВариантОбъект.Ссылка, Истина); + ПакетНастроек = Новый ТаблицаЗначений; + ПакетНастроек.Колонки.Добавить("Подсистема", ТаблицаПодсистем.Колонки.Подсистема.Тип); + ПакетНастроек.Колонки.Добавить("Пользователь", ТаблицаПользователей.Колонки.Пользователь.Тип); + ПакетНастроек.Колонки.Добавить("Видимость", Новый ОписаниеТипов("Булево")); Для Каждого СтрокаПодсистема Из ТаблицаПодсистем Цикл - Для Каждого СтрокаПользователь Из ТаблицаПользователей Цикл - - Запись = НаборЗаписей.Добавить(); - Запись.Активность = Истина; - Запись.Вариант = ВариантОбъект.Ссылка; - Запись.РазделИлиГруппа = СтрокаПодсистема.РазделИлиГруппа; - Запись.Пользователь = СтрокаПользователь.Пользователь; - Запись.Видимость = Не ВариантОбъект.ВидимостьПоУмолчанию; - + Настройка = ПакетНастроек.Добавить(); + Настройка.Подсистема = СтрокаПодсистема.РазделИлиГруппа; + Настройка.Пользователь = СтрокаПользователь.Пользователь; + Настройка.Видимость = Не ВариантОбъект.ВидимостьПоУмолчанию; КонецЦикла; - КонецЦикла; - НаборЗаписей.Записать(Истина); - + Измерения = Новый Структура("Вариант", ВариантОбъект.Ссылка); + Ресурсы = Новый Структура("БыстрыйДоступ", Ложь); + РегистрыСведений.НастройкиВариантовОтчетов.ЗаписатьПакетНастроек(ПакетНастроек, Измерения, Ресурсы, Истина); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -2862,8 +3136,9 @@ Инструкция.Оформление.Вставить("ТолькоПросмотр", Истина); ДобавитьЭлементУсловногоОформления(Форма, Инструкция); + Инструкция = ИнструкцияУсловногоОформления(); Инструкция.Поля = "ДеревоПодсистемИспользование, ДеревоПодсистемВажность"; - Инструкция.Оформление.Очистить(); + Инструкция.Отборы.Вставить("ДеревоПодсистем.Приоритет", ""); Инструкция.Оформление.Вставить("Отображать", Ложь); ДобавитьЭлементУсловногоОформления(Форма, Инструкция); КонецПроцедуры @@ -2919,52 +3194,55 @@ // Формирует дерево подсистем по данным варианта-основания. Функция ДеревоПодсистемСформировать(Форма, ВариантОснование) Экспорт - ДеревоИсточник = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя(); + // Пустое дерево без настроек. + Прототип = Форма.РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений")); + ДеревоПодсистем = ВариантыОтчетовПовтИсп.ПодсистемыТекущегоПользователя().Скопировать(); + Для Каждого КолонкаПрототипа Из Прототип.Колонки Цикл + Если ДеревоПодсистем.Колонки.Найти(КолонкаПрототипа.Имя) = Неопределено Тогда + ДеревоПодсистем.Колонки.Добавить(КолонкаПрототипа.Имя, КолонкаПрототипа.ТипЗначения); + КонецЕсли; + КонецЦикла; - ДеревоПриемник = Форма.РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений")); - ДеревоПриемник.Строки.Очистить(); + // Параметры. + Контекст = Новый Структура("ДеревоПодсистем"); + Контекст.ДеревоПодсистем = ДеревоПодсистем; - РазмещениеПредопределенного = Неопределено; - Если Не ВариантОснование.Пользовательский И ВариантОснование.ТипОтчета = Перечисления.ТипыОтчетов.Внутренний Тогда - РазмещениеПредопределенного = ВариантОснование.ПредопределенныйВариант.Размещение; - КонецЕсли; + // Размещение, настроенное администратором. + Подсистемы = Новый Массив; + Для Каждого СтрокаРазмещения Из ВариантОснование.Размещение Цикл + Подсистемы.Добавить(СтрокаРазмещения.Подсистема); + ДеревоПодсистемЗарегистрироватьНастройкиПодсистемы(Контекст, СтрокаРазмещения, СтрокаРазмещения.Использование); + КонецЦикла; - ДобавитьПодсистемыВДерево(ДеревоПриемник, ДеревоИсточник, ВариантОснование, РазмещениеПредопределенного); + // Размещение, предопределенное разработчиком. + Запрос = Новый Запрос("Выбрать * Из Справочник.ПредопределенныеВариантыОтчетов.Размещение Где Ссылка = &Ссылка И Не Подсистема В (&Подсистемы)"); + Запрос.УстановитьПараметр("Ссылка", ВариантОснование.ПредопределенныйВариант); + Запрос.УстановитьПараметр("Подсистемы", Подсистемы); // Не зачитывать настройки подсистем, переопределенные администратором. + РазмещениеПредопределенного = Запрос.Выполнить().Выгрузить(); + Для Каждого СтрокаРазмещения Из РазмещениеПредопределенного Цикл + ДеревоПодсистемЗарегистрироватьНастройкиПодсистемы(Контекст, СтрокаРазмещения, Истина); + КонецЦикла; - Возврат ДеревоПриемник; + Возврат Контекст.ДеревоПодсистем; КонецФункции -// Добавляет строки дерева-источника в строки дерева-приемника. -Процедура ДобавитьПодсистемыВДерево(ПриемникРодитель, ИсточникРодитель, ВариантОснование, РазмещениеПредопределенного) - Для Каждого Источник Из ИсточникРодитель.Строки Цикл - Приемник = ПриемникРодитель.Строки.Добавить(); - ЗаполнитьЗначенияСвойств(Приемник, Источник); - - Найденные = ВариантОснование.Размещение.НайтиСтроки(Новый Структура("РазделИлиГруппа", Приемник.Ссылка)); - НайденВПредопределенном = Ложь; - Если Найденные.Количество() = 0 И РазмещениеПредопределенного <> Неопределено Тогда - НайденВПредопределенном = Истина; - Найденные = РазмещениеПредопределенного.НайтиСтроки(Новый Структура("Подсистема", Приемник.Ссылка)); - КонецЕсли; - Если Найденные.Количество() > 0 Тогда - СтрокаТаблицы = Найденные[0]; - Если СтрокаТаблицы.Важный Тогда - Приемник.ВажностьПоУмолчанию = ВариантыОтчетовКлиентСервер.ПредставлениеВажный(); - ИначеЕсли СтрокаТаблицы.СмТакже Тогда - Приемник.ВажностьПоУмолчанию = ВариантыОтчетовКлиентСервер.ПредставлениеСмТакже(); - Иначе - Приемник.ВажностьПоУмолчанию = ""; - КонецЕсли; - - Приемник.ИспользованиеПоУмолчанию = ?(НайденВПредопределенном Или СтрокаТаблицы.Использование, 1, 0); - КонецЕсли; - - Приемник.Важность = Приемник.ВажностьПоУмолчанию; - Приемник.Использование = Приемник.ИспользованиеПоУмолчанию; - - // Рекурсия - ДобавитьПодсистемыВДерево(Приемник, Источник, ВариантОснование, РазмещениеПредопределенного); - КонецЦикла; +// Добавляет подсистему в дерево. +Процедура ДеревоПодсистемЗарегистрироватьНастройкиПодсистемы(Контекст, СтрокаРазмещения, Использование) + Найденные = Контекст.ДеревоПодсистем.Строки.НайтиСтроки(Новый Структура("Ссылка", СтрокаРазмещения.Подсистема), Истина); + Если Найденные.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + СтрокаДерева = Найденные[0]; + + Если СтрокаРазмещения.Важный Тогда + СтрокаДерева.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеВажный(); + ИначеЕсли СтрокаРазмещения.СмТакже Тогда + СтрокаДерева.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеСмТакже(); + Иначе + СтрокаДерева.Важность = ""; + КонецЕсли; + СтрокаДерева.Использование = Использование; КонецПроцедуры // Сохраняет настройки размещения, измененные пользователем в табличную часть варианта отчета. @@ -2975,53 +3253,47 @@ // Кэш - Структура - Необязательный. // Процедура ДеревоПодсистемЗаписать(Форма, ВариантОбъект, Кэш = Неопределено) Экспорт - Если Кэш <> Неопределено И Кэш.Свойство("ИзмененияПодсистем") Тогда + Если Кэш = Неопределено Тогда + Кэш = Новый Структура; + КонецЕсли; + Если Кэш.Свойство("ИзмененияПодсистем") Тогда ИзмененияПодсистем = Кэш.ИзмененияПодсистем; Иначе ДеревоПриемник = Форма.РеквизитФормыВЗначение("ДеревоПодсистем", Тип("ДеревоЗначений")); - ИзмененияПодсистем = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("ИзмененПользователем", Истина), Истина); - Если Кэш <> Неопределено Тогда - Кэш.Вставить("ИзмененияПодсистем", ИзмененияПодсистем); + Если ВариантОбъект.ЭтоНовый() Тогда + ИзмененияПодсистем = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 1), Истина); + Иначе + ИзмененияПодсистем = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Модифицированность", Истина), Истина); КонецЕсли; + Кэш.Вставить("ИзмененияПодсистем", ИзмененияПодсистем); КонецЕсли; - Если ИзмененияПодсистем.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Для Каждого Изменение Из ИзмененияПодсистем Цикл - СтрокаТабличнойЧасти = ВариантОбъект.Размещение.Найти(Изменение.Ссылка, "РазделИлиГруппа"); + Для Каждого Подсистема Из ИзмененияПодсистем Цикл + СтрокаТабличнойЧасти = ВариантОбъект.Размещение.Найти(Подсистема.Ссылка, "Подсистема"); Если СтрокаТабличнойЧасти = Неопределено Тогда // Необходимо зарегистрировать настройку размещения варианта безусловно (даже флажок Использование отключен) // - только тогда эта настройка заменит предопределенную (из неразделенного справочника). СтрокаТабличнойЧасти = ВариантОбъект.Размещение.Добавить(); - СтрокаТабличнойЧасти.РазделИлиГруппа = Изменение.Ссылка; - ЭтоНоваяСтрока = Истина; + СтрокаТабличнойЧасти.Подсистема = Подсистема.Ссылка; + КонецЕсли; + + Если Подсистема.Использование = 0 Тогда + СтрокаТабличнойЧасти.Использование = Ложь; + ИначеЕсли Подсистема.Использование = 1 Тогда + СтрокаТабличнойЧасти.Использование = Истина; Иначе - ЭтоНоваяСтрока = Ложь; + // Оставить как есть КонецЕсли; - Если ЭтоНоваяСтрока Или Изменение.Использование <> Изменение.ИспользованиеПоУмолчанию Тогда - Если Изменение.Использование = 0 Тогда - СтрокаТабличнойЧасти.Использование = Ложь; - ИначеЕсли Изменение.Использование = 1 Тогда - СтрокаТабличнойЧасти.Использование = Истина; - Иначе - // Оставить как есть - КонецЕсли; - КонецЕсли; - - Если ЭтоНоваяСтрока Или Изменение.Важность <> Изменение.ВажностьПоУмолчанию Тогда - Если Изменение.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеВажный() Тогда - СтрокаТабличнойЧасти.Важный = Истина; - СтрокаТабличнойЧасти.СмТакже = Ложь; - ИначеЕсли Изменение.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеСмТакже() Тогда - СтрокаТабличнойЧасти.Важный = Ложь; - СтрокаТабличнойЧасти.СмТакже = Истина; - Иначе - СтрокаТабличнойЧасти.Важный = Ложь; - СтрокаТабличнойЧасти.СмТакже = Ложь; - КонецЕсли; + Если Подсистема.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеВажный() Тогда + СтрокаТабличнойЧасти.Важный = Истина; + СтрокаТабличнойЧасти.СмТакже = Ложь; + ИначеЕсли Подсистема.Важность = ВариантыОтчетовКлиентСервер.ПредставлениеСмТакже() Тогда + СтрокаТабличнойЧасти.Важный = Ложь; + СтрокаТабличнойЧасти.СмТакже = Истина; + Иначе + СтрокаТабличнойЧасти.Важный = Ложь; + СтрокаТабличнойЧасти.СмТакже = Ложь; КонецЕсли; КонецЦикла; КонецПроцедуры @@ -3384,12 +3656,842 @@ КонецЕсли; КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// Уменьшение количества пользовательских настроек. + +// Вызывается из события ПриЗаписи вариантов. Часть проверок выполняется до вызова. +Функция УменьшитьКоличествоБыстрыхНастроек(ВариантОбъект, ОтчетОбъект) Экспорт + Перем НастройкиКД, ЭтоПредопределенный; + + // Схема компоновки, на основании которой будет выполняться отчет. + СхемаКД = ОтчетОбъект.СхемаКомпоновкиДанных; + Если СхемаКД = Неопределено Тогда + Возврат Ложь; // Отчет не на СКД. Заполнение не требуется. + КонецЕсли; + + // Чтение настроек из данных варианта. + НастройкиКД = ВариантОбъект.Настройки.Получить(); + Если ТипЗнч(НастройкиКД) <> Тип("НастройкиКомпоновкиДанных") Тогда + ТекстОшибки = НСтр("ru = 'Обнаружены пустые настройки пользовательского варианта ""%1"" отчета ""%2"".'"); + ОшибкаПоВарианту(ВариантОбъект.Ссылка, ТекстОшибки, ВариантОбъект.КлючВарианта, ВариантОбъект.Отчет); + Возврат Ложь; // Возникла проблема. + КонецЕсли; + + ИнформацияОбОшибке = Неопределено; + Попытка + // Описывает связь настроек компоновки данных и схемы компоновки данных. + КомпоновщикНастроекКД = ОтчетОбъект.КомпоновщикНастроек; + + // Выполняет инициализацию компоновщика и его настроек (Настройки) источником доступных настроек. + КомпоновщикНастроекКД.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКД)); + + // Загружает настройки в компоновщик. + КомпоновщикНастроекКД.ЗагрузитьНастройки(НастройкиКД); + + Информация = РасширеннаяИнформацияОНастройках(КомпоновщикНастроекКД); + БыстрыеНастройки = Информация.ТаблицаНастроек.Скопировать(Новый Структура("ВыводРазрешен, Быстрая", Истина, Истина)); + Если БыстрыеНастройки.Количество() <= 2 Тогда + Возврат Ложь; // Уменьшение количества не требуется. + КонецЕсли; + + Исключаемые = БыстрыеНастройки.НайтиСтроки(Новый Структура("ТипЭлементов", "СтандартныйПериод")); + Для Каждого СтрокаТаблицы Из Исключаемые Цикл + БыстрыеНастройки.Удалить(СтрокаТаблицы); + КонецЦикла; + + Потрачено = Исключаемые.Количество(); + Для Каждого СтрокаТаблицы Из БыстрыеНастройки Цикл + Если Потрачено < 2 Тогда + Потрачено = Потрачено + 1; + Продолжить; + КонецЕсли; + СтрокаТаблицы.ВариантаСКД.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный; + КонецЦикла; + + НовыеНастройки = Новый ХранилищеЗначения(КомпоновщикНастроекКД.Настройки); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + КонецПопытки; + + Если ИнформацияОбОшибке <> Неопределено Тогда + ТекстОшибки = НСтр("ru = 'Вариант ""%1"" отчета ""%2"":'") + + Символы.ПС + НСтр("ru = 'При уменьшении количества быстрых настроек пользовательского возникла ошибка:'") + + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + ОшибкаПоВарианту(ВариантОбъект.Ссылка, ТекстОшибки, ВариантОбъект.КлючВарианта, ВариантОбъект.Отчет); + Возврат Ложь; // Возникла проблема. + КонецЕсли; + + ВариантОбъект.Настройки = НовыеНастройки; + Возврат Истина; +КонецФункции + +Функция РасширеннаяИнформацияОНастройках(КомпоновщикНастроекКД) + НастройкиКД = КомпоновщикНастроекКД.Настройки; + ПользовательскиеНастройкиКД = КомпоновщикНастроекКД.ПользовательскиеНастройки; + + ДеревоВарианта = Новый ДеревоЗначений; + ДеревоВарианта.Колонки.Добавить("Настройка"); + ДеревоВарианта.Колонки.Добавить("ТипНастройки", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("Заголовок", Новый ОписаниеТипов("Строка")); + ДеревоВарианта.Колонки.Добавить("ЕстьСтруктура", Новый ОписаниеТипов("Булево")); + ДеревоВарианта.Колонки.Добавить("ЕстьПоляИОформление", Новый ОписаниеТипов("Булево")); + ДеревоВариантаЗарегистрироватьУзел(НастройкиКД, ДеревоВарианта.Строки); + + ТаблицаНастроек = Новый ТаблицаЗначений; + ТаблицаНастроек.Колонки.Добавить("ПользовательскаяСКД"); + ТаблицаНастроек.Колонки.Добавить("ВариантаСКД"); + ТаблицаНастроек.Колонки.Добавить("ДоступнаяСКД"); + ТаблицаНастроек.Колонки.Добавить("ИдентификаторСКД", Новый ОписаниеТипов("Строка")); + ТаблицаНастроек.Колонки.Добавить("ИдентификаторЭлемента", Новый ОписаниеТипов("Строка")); + ТаблицаНастроек.Колонки.Добавить("ИндексВКоллекции", Новый ОписаниеТипов("Число")); + ТаблицаНастроек.Колонки.Добавить("ИдентификаторВКоллекции"); + + ТаблицаНастроек.Колонки.Добавить("СтрокаДерева"); + ТаблицаНастроек.Колонки.Добавить("ИнформацияОТипах"); + + ТаблицаНастроек.Колонки.Добавить("Тип", Новый ОписаниеТипов("Строка")); + ТаблицаНастроек.Колонки.Добавить("Подтип", Новый ОписаниеТипов("Строка")); + + ТаблицаНастроек.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); + ТаблицаНастроек.Колонки.Добавить("Быстрая", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("Обычная", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ВыводРазрешен", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ВыводитьФлажок", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ВыводитьЗначение", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ВводСписком", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ЗначенияДляВыбора", Новый ОписаниеТипов("Массив")); + ТаблицаНастроек.Колонки.Добавить("ОграничиватьВыборУказаннымиЗначениями", Новый ОписаниеТипов("Булево")); + ТаблицаНастроек.Колонки.Добавить("ДобавляемыеРеквизиты", Новый ОписаниеТипов("Массив")); + + ТаблицаНастроек.Колонки.Добавить("Значение"); + ТаблицаНастроек.Колонки.Добавить("ПолеСКД"); + ТаблицаНастроек.Колонки.Добавить("ВидСравнения"); + ТаблицаНастроек.Колонки.Добавить("ТипЭлементов", Новый ОписаниеТипов("Строка")); + ТаблицаНастроек.Колонки.Добавить("ВыборТолькоГрупп", Новый ОписаниеТипов("Булево")); + + Режимы = РежимОтображенияЭлементаНастройкиКомпоновкиДанных; + + // Перебор пользовательских настроек. + НаборПользовательскихНастроек = ПользовательскиеНастройкиКД.Элементы; + Для Каждого ПользовательскаяНастройка Из НаборПользовательскихНастроек Цикл + СвойстваНастройки = ТаблицаНастроек.Добавить(); + СвойстваНастройки.ПользовательскаяСКД = ПользовательскаяНастройка; + + РежимОтображения = ПользовательскаяНастройка.РежимОтображения; + Если РежимОтображения = Режимы.Недоступный Тогда + Продолжить; + КонецЕсли; + + СвойстваНастройки.ИндексВКоллекции = НаборПользовательскихНастроек.Индекс(ПользовательскаяНастройка); + СвойстваНастройки.ИдентификаторВКоллекции = ПользовательскиеНастройкиКД.ПолучитьИдентификаторПоОбъекту(ПользовательскаяНастройка); + СвойстваНастройки.ИдентификаторСКД = ПользовательскаяНастройка.ИдентификаторПользовательскойНастройки; + Если Не ЗначениеЗаполнено(СвойстваНастройки.ИдентификаторСКД) Тогда + Продолжить; + КонецЕсли; + СвойстваНастройки.ИдентификаторЭлемента = ПривестиИдентификаторКИмени(СвойстваНастройки.ИдентификаторСКД); + СвойстваНастройки.Тип = ТипНастройкиСтрокой(ТипЗнч(ПользовательскаяНастройка)); + СвойстваНастройки.ПользовательскаяСКД = ПользовательскаяНастройка; + + ДеревоВариантаНайти(НастройкиКД, ДеревоВарианта, СвойстваНастройки); + Если СвойстваНастройки.ВариантаСКД = Неопределено Тогда + Продолжить; + КонецЕсли; + + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" + И СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда + Продолжить; // Имя параметра изменилось или параметр был удален. + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" + И СвойстваНастройки.ДоступнаяСКД = Неопределено Тогда + Продолжить; // Имя поля изменилось или поле было удалено. + КонецЕсли; + + Если РежимОтображения = Режимы.Авто Тогда + РежимОтображения = СвойстваНастройки.ВариантаСКД.РежимОтображения; + КонецЕсли; + Если РежимОтображения = Режимы.БыстрыйДоступ Тогда + СвойстваНастройки.Быстрая = Истина; + ИначеЕсли РежимОтображения = Режимы.Обычный Тогда + СвойстваНастройки.Обычная = Истина; + Иначе + Продолжить; + КонецЕсли; + + СвойстваНастройки.ВыводРазрешен = Истина; + СвойстваНастройки.ВыводитьФлажок = Истина; + СвойстваНастройки.ВыводитьЗначение = Истина; + + СтруктураПредставлений = Новый Структура("Представление, ПредставлениеПользовательскойНастройки", "", ""); + ЗаполнитьЗначенияСвойств(СтруктураПредставлений, СвойстваНастройки.ВариантаСКД); + Если ЗначениеЗаполнено(СтруктураПредставлений.Представление) Тогда + СвойстваНастройки.Представление = СтруктураПредставлений.Представление; + СвойстваНастройки.ВыводитьЗначение = Ложь; + ИначеЕсли ЗначениеЗаполнено(СтруктураПредставлений.ПредставлениеПользовательскойНастройки) Тогда + СвойстваНастройки.Представление = СтруктураПредставлений.ПредставлениеПользовательскойНастройки; + ИначеЕсли СвойстваНастройки.ДоступнаяСКД <> Неопределено И ЗначениеЗаполнено(СвойстваНастройки.ДоступнаяСКД.Заголовок) Тогда + СвойстваНастройки.Представление = СвойстваНастройки.ДоступнаяСКД.Заголовок; + Иначе + СвойстваНастройки.Представление = ПредставлениеПользовательскойНастройки(СвойстваНастройки); + КонецЕсли; + + Если СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" + Или СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + + СвойстваНастройки.ВыводитьЗначение = Ложь; + + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" + Или СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + СвойстваНастройки.Значение = ПользовательскаяНастройка.Значение; + Иначе + СвойстваНастройки.Значение = ПользовательскаяНастройка.ПравоеЗначение; + КонецЕсли; + + СвойстваНастройки.ИнформацияОТипах = АнализТипов(СвойстваНастройки.ДоступнаяСКД.ТипЗначения); // Определение типа значения настройки. + + Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + Если СвойстваНастройки.ДоступнаяСКД.Использование = ИспользованиеПараметраКомпоновкиДанных.Всегда Тогда + СвойстваНастройки.ВыводитьФлажок = Ложь; + ПользовательскаяНастройка.Использование = Истина; + КонецЕсли; + Если СвойстваНастройки.ДоступнаяСКД.ДоступенСписокЗначений Тогда + СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; + Иначе + СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + КонецЕсли; + СвойстваНастройки.ПолеСКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных." + Строка(СвойстваНастройки.ВариантаСКД.Параметр)); + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + СвойстваНастройки.ВидСравнения = ПользовательскаяНастройка.ВидСравнения; + СвойстваНастройки.ПолеСКД = СвойстваНастройки.ВариантаСКД.ЛевоеЗначение; + КонецЕсли; + + Если СвойстваНастройки.ИнформацияОТипах.СодержитТипПериод + И СвойстваНастройки.ИнформацияОТипах.КоличествоТипов = 1 Тогда + + СвойстваНастройки.ТипЭлементов = "СтандартныйПериод"; + + ИначеЕсли Не СвойстваНастройки.ВыводитьФлажок + И СвойстваНастройки.ИнформацияОТипах.СодержитТипБулево + И СвойстваНастройки.ИнформацияОТипах.КоличествоТипов = 1 Тогда + + СвойстваНастройки.ТипЭлементов = "ТолькоФлажок"; + + ИначеЕсли СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено + Или СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено Тогда + + СвойстваНастройки.ВыводитьЗначение = Ложь; + СвойстваНастройки.ТипЭлементов = "ТолькоФлажок"; + СвойстваНастройки.Представление = СвойстваНастройки.Представление + ": " + НРег(Строка(СвойстваНастройки.ВидСравнения)); + + ИначеЕсли СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке + Или СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии + Или СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке + Или СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСпискеПоИерархии Тогда + + СвойстваНастройки.ВводСписком = Истина; + СвойстваНастройки.ТипЭлементов = "СписокСПодбором"; + + Иначе + + СвойстваНастройки.ТипЭлементов = "ПолеВвода"; + Если СвойстваНастройки.ВидСравнения <> ВидСравненияКомпоновкиДанных.Равно + И СвойстваНастройки.ВидСравнения <> ВидСравненияКомпоновкиДанных.Содержит Тогда + СвойстваНастройки.Представление = СвойстваНастройки.Представление + " (" + НРег(Строка(СвойстваНастройки.ВидСравнения)) + ")"; + КонецЕсли; + Если СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии + Или СвойстваНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВИерархии Тогда + СвойстваНастройки.ВыборТолькоГрупп = Истина; + КонецЕсли; + + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + СвойстваНастройки.ТипЭлементов = "ТаблицаПорядкаСФлажками"; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + СвойстваНастройки.ТипЭлементов = "ТаблицаПорядкаСФлажками"; + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" + И СвойстваНастройки.Подтип = "Структура" Тогда + + СвойстваНастройки.ТипЭлементов = "ТаблицаПорядкаСФлажками"; + + Иначе + + СвойстваНастройки.ТипЭлементов = "СвязьСКомпоновщиком"; + + КонецЕсли; + + Если Не СвойстваНастройки.ВыводитьЗначение Тогда + СвойстваНастройки.ТипЭлементов = "Нет"; + КонецЕсли; + + КонецЦикла; + + Результат = Новый Структура; + Результат.Вставить("ДеревоВарианта", ДеревоВарианта); + Результат.Вставить("ТаблицаНастроек", ТаблицаНастроек); + + Возврат Результат; +КонецФункции + +Функция ПривестиИдентификаторКИмени(Идентификатор) + Возврат СтрЗаменить(Строка(Идентификатор), "-", ""); +КонецФункции + +Функция ТипНастройкиСтрокой(ТипНастройки) + Если ТипНастройки = Тип("НастройкиКомпоновкиДанных") Тогда + Возврат "Настройки"; + ИначеЕсли ТипНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда + Возврат "НастройкиВложенногоОбъекта"; + + ИначеЕсли ТипНастройки = Тип("ОтборКомпоновкиДанных") Тогда + Возврат "Отбор"; + ИначеЕсли ТипНастройки = Тип("ЭлементОтбораКомпоновкиДанных") Тогда + Возврат "ЭлементОтбора"; + ИначеЕсли ТипНастройки = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Возврат "ГруппаЭлементовОтбора"; + + ИначеЕсли ТипНастройки = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда + Возврат "ЗначениеПараметраНастроек"; + + ИначеЕсли ТипНастройки = Тип("ГруппировкаКомпоновкиДанных") Тогда + Возврат "Группировка"; + ИначеЕсли ТипНастройки = Тип("ПорядокКомпоновкиДанных") Тогда + Возврат "Порядок"; + ИначеЕсли ТипНастройки = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда + Возврат "ВыбранныеПоля"; + + ИначеЕсли ТипНастройки = Тип("УсловноеОформлениеКомпоновкиДанных") Тогда + Возврат "УсловноеОформление"; + ИначеЕсли ТипНастройки = Тип("ЭлементУсловногоОформленияКомпоновкиДанных") Тогда + Возврат "ЭлементУсловногоОформления"; + + ИначеЕсли ТипНастройки = Тип("СтруктураНастроекКомпоновкиДанных") Тогда + Возврат "СтруктураНастроек"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыНастроек"; + + ИначеЕсли ТипНастройки = Тип("ТаблицаКомпоновкиДанных") Тогда + Возврат "Таблица"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаТаблицыКомпоновкиДанных") Тогда + Возврат "ГруппировкаТаблицы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыТаблицы"; + + ИначеЕсли ТипНастройки = Тип("ДиаграммаКомпоновкиДанных") Тогда + Возврат "Диаграмма"; + ИначеЕсли ТипНастройки = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда + Возврат "ГруппировкаДиаграммы"; + ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") Тогда + Возврат "КоллекцияЭлементовСтруктурыДиаграммы"; + + ИначеЕсли ТипНастройки = Тип("ПолеГруппировкиКомпоновкиДанных") Тогда + Возврат "ПолеГруппировки"; + ИначеЕсли ТипНастройки = Тип("ПоляГруппировкиКомпоновкиДанных") Тогда + Возврат "ПоляГруппировки"; + ИначеЕсли ТипНастройки = Тип("КоллекцияПолейГруппировкиКомпоновкиДанных") Тогда + Возврат "КоллекцияПолейГруппировки"; + + Иначе + Возврат ""; + КонецЕсли; +КонецФункции + +Процедура ДеревоВариантаЗарегистрироватьУзел(ЭлементСтруктурыСКД, НаборСтрокДерева) + СтрокаДерева = НаборСтрокДерева.Добавить(); + СтрокаДерева.Настройка = ЭлементСтруктурыСКД; + СтрокаДерева.ТипНастройки = ТипНастройкиСтрокой(ТипЗнч(ЭлементСтруктурыСКД)); + Если СтрокаДерева.ТипНастройки = "Настройки" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Группировка" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "Таблица" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Колонки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Колонки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Колонки Цикл + ДеревоВариантаЗарегистрироватьУзел(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Строки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Строки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Строки Цикл + ДеревоВариантаЗарегистрироватьУзел(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "Диаграмма" Тогда + СтрокаДерева.ЕстьПоляИОформление = Истина; + // Серии: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Серии"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Серии Цикл + ДеревоВариантаЗарегистрироватьУзел(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + // Точки: + ПодчиненнаяСтрокаДерева = СтрокаДерева.Строки.Добавить(); + ПодчиненнаяСтрокаДерева.Настройка = ЭлементСтруктурыСКД; + ПодчиненнаяСтрокаДерева.ТипНастройки = СтрокаДерева.ТипНастройки + "_Точки"; + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Точки Цикл + ДеревоВариантаЗарегистрироватьУзел(ВложенныйЭлемент, ПодчиненнаяСтрокаДерева.Строки); + КонецЦикла; + ИначеЕсли СтрокаДерева.ТипНастройки = "НастройкиВложенногоОбъекта" Тогда + ДеревоВариантаЗарегистрироватьУзел(ЭлементСтруктурыСКД.Настройки, СтрокаДерева.Строки); + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаТаблицы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + ИначеЕсли СтрокаДерева.ТипНастройки = "ГруппировкаДиаграммы" Тогда + СтрокаДерева.ЕстьСтруктура = Истина; + СтрокаДерева.ЕстьПоляИОформление = Истина; + Иначе + Возврат; + КонецЕсли; + + Если СтрокаДерева.ТипНастройки <> "НастройкиВложенногоОбъекта" Тогда + ПараметрЗаголовок = ЭлементСтруктурыСКД.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Заголовок")); + Если ПараметрЗаголовок <> Неопределено И ПараметрЗаголовок.Использование Тогда + СтрокаДерева.Заголовок = ПараметрЗаголовок.Значение; + КонецЕсли; + КонецЕсли; + + Если СтрокаДерева.ЕстьСтруктура Тогда + Для Каждого ВложенныйЭлемент Из ЭлементСтруктурыСКД.Структура Цикл + ДеревоВариантаЗарегистрироватьУзел(ВложенныйЭлемент, СтрокаДерева.Строки); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +Функция ДеревоВариантаНайти(НастройкиКД, ДеревоВарианта, СвойстваНастройки) + ИдентификаторСКД = СвойстваНастройки.ИдентификаторСКД; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + + //Настройки, свойство Отбор + //Группировка, свойство Отбор + //ГруппировкаТаблицы, свойство Отбор + //ГруппировкаДиаграммы, свойство Отбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Отбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Отбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" + Или СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + + //Настройки, свойство Отбор.Элементы + //Группировка, свойство Отбор.Элементы + //ГруппировкаТаблицы, свойство Отбор.Элементы + //ГруппировкаДиаграммы, свойство Отбор.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + НайденныйЭлемент = НайтиПоИдентификатору(СтрокаДерева.Настройка.Отбор.Элементы, ИдентификаторСКД); + Если НайденныйЭлемент <> Неопределено Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = НайденныйЭлемент; + Если СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + СвойстваНастройки.ДоступнаяСКД = СтрокаДерева.Настройка.Отбор.ДоступныеПоляОтбора.НайтиПоле(НайденныйЭлемент.ЛевоеЗначение); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + + //Настройки, свойство Порядок + //Группировка, свойство Порядок + //ГруппировкаТаблицы, свойство Порядок + //ГруппировкаДиаграммы, свойство Порядок + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Порядок.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Порядок; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + + //Настройки, свойство Выбор + //Таблица, свойство Выбор + //Диаграмма, свойство Выбор + //Группировка, свойство Выбор + //ГруппировкаДиаграммы, свойство Выбор + //ГруппировкаТаблицы, свойство Выбор + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Выбор.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Выбор; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + + //Настройки, свойство УсловноеОформление + //Таблица, свойство УсловноеОформление + //Диаграмма, свойство УсловноеОформление + //Группировка, свойство УсловноеОформление + //ГруппировкаДиаграммы, свойство УсловноеОформление + //ГруппировкаТаблицы, свойство УсловноеОформление + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.УсловноеОформление.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.УсловноеОформление; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + + //Настройки, свойство УсловноеОформление.Элементы + //Таблица, свойство УсловноеОформление.Элементы + //Диаграмма, свойство УсловноеОформление.Элементы + //Группировка, свойство УсловноеОформление.Элементы + //ГруппировкаДиаграммы, свойство УсловноеОформление.Элементы + //ГруппировкаТаблицы, свойство УсловноеОформление.Элементы + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Для Каждого ЭлементУО Из СтрокаДерева.Настройка.УсловноеОформление.Элементы Цикл + Если ЭлементУО.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЭлементУО; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + + ПараметрКД = СвойстваНастройки.ПользовательскаяСКД.Параметр; + + //ПараметрКомпоновкиДанных содержится в КоллекцияЗначенийПараметровКомпоновкиДанных, которая в свою очередь: + // ЗначенияПараметровДанныхКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыДанных + // ЗначенияПараметровВыводаКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Настройки, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Группировка, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаТаблицы, свойство ПараметрыВывода + // ЗначенияПараметровВыводаТаблицыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Таблица, свойство ПараметрыВывода + // ЗначенияПараметровВыводаДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // Диаграмма, свойство ПараметрыВывода + // ЗначенияПараметровВыводаГруппировкиДиаграммыКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ГруппировкаДиаграммы, свойство ПараметрыВывода + // ОформлениеКомпоновкиДанных, свойство Элементы / метод НайтиЗначениеПараметра + // ЭлементОбластиМакетаОформленияКомпоновкиДанных, свойство Оформление + // ЭлементУсловногоОформленияКомпоновкиДанных, свойство Оформление + // ПолеНабораДанныхСхемыКомпоновкиДанных, свойство Оформление + // ВычисляемоеПолеСхемыКомпоновкиДанных, свойство Оформление + // ЗначениеПараметраКомпоновкиДанных, свойство ЗначенияВложенныхПараметров + + //Настройки, свойство ПараметрыДанных, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Настройки"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + ДоступныеПараметры = СтрокаДерева.Настройка.ПараметрыДанных.ДоступныеПараметры; + Если ДоступныеПараметры <> Неопределено Тогда + СвойстваНастройки.ДоступнаяСКД = ДоступныеПараметры.НайтиПараметр(ПараметрКД); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Настройки, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Группировка, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Таблица, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //Диаграмма, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаТаблицы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + //ГруппировкаДиаграммы, свойство ПараметрыВывода, метод НайтиЗначениеПараметра() + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьПоляИОформление", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + ЗначениеПараметра = СтрокаДерева.Настройка.ПараметрыВывода.НайтиЗначениеПараметра(ПараметрКД); + Если ЗначениеПараметра <> Неопределено + И ЗначениеПараметра.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Тип = "ЗначениеПараметраВывода"; // Подмена типа... + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = ЗначениеПараметра; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" + Или СвойстваНастройки.Тип = "ГруппировкаТаблицы" + Или СвойстваНастройки.Тип = "ГруппировкаДиаграммы" + Или СвойстваНастройки.Тип = "Таблица" + Или СвойстваНастройки.Тип = "Диаграмма" + Или СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + + // Прямо в структуре. + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", СвойстваНастройки.Тип), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Если СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + СвойстваНастройки.ДоступнаяСКД = НастройкиКД.ДоступныеОбъекты.Элементы.Найти(СтрокаДерева.Настройка.ИдентификаторОбъекта); + КонецЕсли; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Если СвойстваНастройки.Тип = "Группировка" Тогда + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаТаблицы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаТаблицы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "ГруппировкаДиаграммы"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ГруппировкаДиаграммы"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка; + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + //Настройки, свойство Структура + //Группировка, свойство Структура + //ГруппировкаТаблицы, свойство Структура + //ГруппировкаДиаграммы, свойство Структура + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ЕстьСтруктура", Истина), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Структура.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "Структура"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Структура; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Таблица, свойство Колонки + //Таблица, свойство Строки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Таблица"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Строки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаСтроки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Строки; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Колонки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ТаблицаКолонки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Колонки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + //Диаграмма, свойство Серии + //Диаграмма, свойство Точки + Найденные = ДеревоВарианта.Строки.НайтиСтроки(Новый Структура("ТипНастройки", "Диаграмма"), Истина); + Для Каждого СтрокаДерева Из Найденные Цикл + Если СтрокаДерева.Настройка.Серии.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаСерии"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Серии; + Возврат Истина; + ИначеЕсли СтрокаДерева.Настройка.Точки.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + СвойстваНастройки.Подтип = "ДиаграммаТочки"; + СвойстваНастройки.СтрокаДерева = СтрокаДерева; + СвойстваНастройки.ВариантаСКД = СтрокаДерева.Настройка.Точки; + Возврат Истина; + КонецЕсли; + КонецЦикла; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +Функция НайтиПоИдентификатору(ЭлементыСКД, ИдентификаторСКД) + Для Каждого ЭлементСКД Из ЭлементыСКД Цикл + Если ЭлементСКД.ИдентификаторПользовательскойНастройки = ИдентификаторСКД Тогда + Возврат ЭлементСКД; + ИначеЕсли ТипЗнч(ЭлементСКД) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Найденный = НайтиПоИдентификатору(ЭлементСКД.Элементы, ИдентификаторСКД); + Если Найденный <> Неопределено Тогда + Возврат Найденный; + КонецЕсли; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + +Функция ПредставлениеПользовательскойНастройки(СвойстваНастройки) + ЭлементЗаголовок = ""; + + Если СвойстваНастройки.Тип = "Отбор" Тогда + ЭлементЗаголовок = НСтр("ru = 'Отбор'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппаЭлементовОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ПользовательскаяСКД.ТипГруппы); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементОтбора" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.ЛевоеЗначение); + + ИначеЕсли СвойстваНастройки.Тип = "Порядок" Тогда + ЭлементЗаголовок = НСтр("ru = 'Сортировка'"); + + ИначеЕсли СвойстваНастройки.Тип = "ВыбранныеПоля" Тогда + ЭлементЗаголовок = НСтр("ru = 'Поля'"); + + ИначеЕсли СвойстваНастройки.Тип = "УсловноеОформление" Тогда + ЭлементЗаголовок = НСтр("ru = 'Оформление'"); + + ИначеЕсли СвойстваНастройки.Тип = "ЭлементУсловногоОформления" Тогда + ПредставлениеЗначения = Строка(СвойстваНастройки.ПользовательскаяСКД.Оформление); + ПредставлениеТипа = НСтр("ru = 'Элемент оформления'"); + Если ПустаяСтрока(ПредставлениеЗначения) Тогда + ЭлементЗаголовок = ПредставлениеТипа; + Иначе + ЭлементЗаголовок = ПредставлениеЗначения +" ("+ НРег(ПредставлениеТипа) +")"; + КонецЕсли; + ИначеЕсли СвойстваНастройки.Тип = "ЗначениеПараметраНастроек" Тогда + ЭлементЗаголовок = Строка(СвойстваНастройки.ВариантаСКД.Параметр); + + ИначеЕсли СвойстваНастройки.Тип = "Группировка" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаТаблицы" Тогда + ЭлементЗаголовок = НСтр("ru = 'Группировка таблицы'"); + + ИначеЕсли СвойстваНастройки.Тип = "ГруппировкаДиаграммы" Тогда + Суффикс = СокрЛП(Строка(СвойстваНастройки.ВариантаСКД.ПоляГруппировки)); + ЭлементЗаголовок = НСтр("ru = 'Группировка диаграммы'") + ?(Суффикс = "", "", " '" + Суффикс + "'"); + + ИначеЕсли СвойстваНастройки.Тип = "Таблица" Тогда + ЭлементЗаголовок = НСтр("ru = 'Таблица'"); + + ИначеЕсли СвойстваНастройки.Тип = "Диаграмма" Тогда + ЭлементЗаголовок = НСтр("ru = 'Диаграмма'"); + + ИначеЕсли СвойстваНастройки.Тип = "НастройкиВложенногоОбъекта" Тогда + ЭлементЗаголовок = СтрЗаменить(НСтр("ru = 'Вложенная группировка ''%1'''"), "%1", Строка(СвойстваНастройки.ПользовательскаяСКД)); + + ИначеЕсли СвойстваНастройки.Тип = "СтруктураНастроек" Тогда + + Если СвойстваНастройки.Подтип = "ТаблицаСтроки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Строки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ТаблицаКолонки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Колонки'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаСерии" Тогда + ЭлементЗаголовок = НСтр("ru = 'Серии'"); + + ИначеЕсли СвойстваНастройки.Подтип = "ДиаграммаТочки" Тогда + ЭлементЗаголовок = НСтр("ru = 'Точки'"); + + Иначе + ЭлементЗаголовок = НСтр("ru = 'Структура'"); + + КонецЕсли; + + Иначе + ЭлементЗаголовок = Строка(СвойстваНастройки.Тип); + + КонецЕсли; + + Возврат СокрЛП(ЭлементЗаголовок); +КонецФункции + +Функция АнализТипов(ИсходноеОписаниеТипов) + ИнформацияОТипах = Новый Структура; + ИнформацияОТипах.Вставить("СодержитТипТип", Ложь); + ИнформацияОТипах.Вставить("СодержитТипДата", Ложь); + ИнформацияОТипах.Вставить("СодержитТипБулево", Ложь); + ИнформацияОТипах.Вставить("СодержитТипЧисло", Ложь); + ИнформацияОТипах.Вставить("СодержитТипПериод", Ложь); + ИнформацияОТипах.Вставить("СодержитОбъектныеТипы", Ложь); + + ИнформацияОТипах.Вставить("КоличествоТипов", 0); + ИнформацияОТипах.Вставить("КоличествоПримитивныхТипов", 0); + + ИнформацияОТипах.Вставить("ОбъектныеТипы", Новый Массив); + + ДобавляемыеТипы = Новый Массив; + ВычитаемыеТипы = Новый Массив; + + ДоступнаяНастройкаТипы = ИсходноеОписаниеТипов.Типы(); + Для Каждого Тип Из ДоступнаяНастройкаТипы Цикл + Если Тип = Тип("ПолеКомпоновкиДанных") Тогда + ВычитаемыеТипы.Добавить(Тип); + Продолжить; + КонецЕсли; + ИнформацияОТипах.КоличествоТипов = ИнформацияОТипах.КоличествоТипов + 1; + + Если Тип = Тип("Тип") Тогда + ИнформацияОТипах.СодержитТипТип = Истина; + ДобавляемыеТипы.Добавить(Тип("ОписаниеТипов")); + ВычитаемыеТипы.Добавить(Тип("Тип")); + ИначеЕсли Тип = Тип("Дата") Тогда + ИнформацияОТипах.СодержитТипДата = Истина; + ИнформацияОТипах.КоличествоПримитивныхТипов = ИнформацияОТипах.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("Булево") Тогда + ИнформацияОТипах.СодержитТипБулево = Истина; + ИнформацияОТипах.КоличествоПримитивныхТипов = ИнформацияОТипах.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("Число") Тогда + ИнформацияОТипах.СодержитТипЧисло = Истина; + ИнформацияОТипах.КоличествоПримитивныхТипов = ИнформацияОТипах.КоличествоПримитивныхТипов + 1; + ИначеЕсли Тип = Тип("СтандартныйПериод") Тогда + ИнформацияОТипах.СодержитТипПериод = Истина; + Иначе + ИнформацияОТипах.СодержитОбъектныеТипы = Истина; + ИнформацияОТипах.ОбъектныеТипы.Добавить(Тип); + КонецЕсли; + + КонецЦикла; + + ОписаниеТиповДляФормы = Новый ОписаниеТипов(ИсходноеОписаниеТипов, ДобавляемыеТипы, ВычитаемыеТипы); + + ИнформацияОТипах.Вставить("ОписаниеТиповИсходное", ИсходноеОписаниеТипов); + ИнформацияОТипах.Вставить("ОписаниеТиповДляФормы", ОписаниеТиповДляФормы); + + Возврат ИнформацияОТипах; +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Поиск. // Можно ли индексировать содержимое схемы отчета. Функция РазрешеноИндексированиеНеразделенныхДанных() Экспорт - Возврат Не ОбщегоНазначенияПовтИсп.РазделениеВключено() И Не ОбщегоНазначения.ЭтоПодчиненныйУзелРИБ(); + Возврат Не ОбщегоНазначенияПовтИсп.РазделениеВключено(); КонецФункции // Находит ссылки по параметрам поиска. @@ -3439,12 +4541,6 @@ ПараметрыПоиска.Вставить("ОтчетыПользователя", ОтчетыТекущегоПользователя()); ПараметрыПоиска.Вставить("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()); - Если ПараметрыПоиска.Свойство("Автор") И ЗначениеЗаполнено(ПараметрыПоиска.Автор) Тогда - ЕстьОтборПоАвтору = Истина; - Иначе - ЕстьОтборПоАвтору = Ложь; - КонецЕсли; - Если ПараметрыПоиска.Свойство("СтрокаПоиска") И ЗначениеЗаполнено(ПараметрыПоиска.СтрокаПоиска) Тогда ЕстьСтрокаПоиска = Истина; Иначе @@ -3481,7 +4577,7 @@ ЕстьОтборПоПометкеУдаления = Ложь; КонецЕсли; - Если Не ЕстьОтборПоПодсистемам И Не ЕстьСтрокаПоиска И Не ЕстьОтборПоАвтору И Не ЕстьОтборПоТипамОтчетов Тогда + Если Не ЕстьОтборПоПодсистемам И Не ЕстьСтрокаПоиска И Не ЕстьОтборПоТипамОтчетов Тогда Возврат Неопределено; КонецЕсли; @@ -3497,8 +4593,11 @@ ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВариантыОтчетов.Ссылка, + | ВариантыОтчетов.Родитель КАК Родитель, | ВариантыОтчетов.Наименование КАК НаименованиеВарианта, | ВариантыОтчетов.Автор КАК Автор, + | ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора, + | ВЫРАЗИТЬ(ВариантыОтчетов.Автор.Наименование КАК СТРОКА(1000)) КАК АвторПредставление, | ВариантыОтчетов.Отчет КАК Отчет, | ВариантыОтчетов.КлючВарианта КАК КлючВарианта, | ВариантыОтчетов.ТипОтчета КАК ТипОтчета, @@ -3519,23 +4618,14 @@ | ТОГДА ВЫРАЗИТЬ(Предопределенные.Описание КАК СТРОКА(1000)) | ИНАЧЕ ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(1000)) | КОНЕЦ КАК Описание, - | ВЫБОР - | КОГДА ВариантыОтчетов.Автор = &ТекущийПользователь - | ТОГДА ИСТИНА - | КОГДА ВариантыОтчетов.ВидимостьПоУмолчаниюПереопределена - | ИЛИ ВариантыОтчетов.Пользовательский - | ИЛИ ВариантыОтчетов.ПредопределенныйВариант = ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка) - | ТОГДА ВариантыОтчетов.ВидимостьПоУмолчанию - | ИНАЧЕ ВариантыОтчетов.ПредопределенныйВариант.ВидимостьПоУмолчанию - | КОНЕЦ КАК ВидимостьПоУмолчанию + | ВариантыОтчетов.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию |ПОМЕСТИТЬ Варианты |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов КАК Предопределенные | ПО ВариантыОтчетов.ПредопределенныйВариант = Предопределенные.Ссылка |ГДЕ - | ВариантыОтчетов.Автор = &Автор - | И ВариантыОтчетов.ТипОтчета В(&ТипыОтчетов) + | ВариантыОтчетов.ТипОтчета В(&ТипыОтчетов) | И ВариантыОтчетов.Отчет В(&ОтчетыПользователя) | И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы) | И ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ @@ -3548,19 +4638,24 @@ | ЕСТЬNULL(РазмещениеВариантов.Ссылка, РазмещениеПредопределенных.Ссылка) КАК Ссылка, | ЕСТЬNULL(РазмещениеВариантов.Подсистема, РазмещениеПредопределенных.Подсистема) КАК Подсистема, | ЕСТЬNULL(РазмещениеВариантов.НаименованиеПодсистемы, РазмещениеПредопределенных.НаименованиеПодсистемы) КАК НаименованиеПодсистемы, - | ЕСТЬNULL(РазмещениеВариантов.Использование, ИСТИНА) КАК Использование + | ЕСТЬNULL(РазмещениеВариантов.Использование, ИСТИНА) КАК Использование, + | ВЫБОР + | КОГДА РазмещениеВариантов.Ссылка ЕСТЬ NULL + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК ЭтоНастройкаРазработчика |ПОМЕСТИТЬ РазмещениеВсех |ИЗ | (ВЫБРАТЬ | ВариантыОтчетов.Ссылка КАК Ссылка, | ВариантыРазмещение.Использование КАК Использование, - | ВариантыРазмещение.РазделИлиГруппа КАК Подсистема, - | ВариантыРазмещение.РазделИлиГруппа.Синоним КАК НаименованиеПодсистемы + | ВариантыРазмещение.Подсистема КАК Подсистема, + | ВариантыРазмещение.Подсистема.Синоним КАК НаименованиеПодсистемы | ИЗ | Варианты КАК ВариантыОтчетов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Размещение КАК ВариантыРазмещение | ПО ВариантыОтчетов.Ссылка = ВариантыРазмещение.Ссылка - | И (ВариантыРазмещение.РазделИлиГруппа В (&МассивПодсистем))) КАК РазмещениеВариантов + | И (ВариантыРазмещение.Подсистема В (&МассивПодсистем))) КАК РазмещениеВариантов | ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ВариантыОтчетов.Ссылка КАК Ссылка, | ПредопределенныеРазмещение.Подсистема КАК Подсистема, @@ -3579,25 +4674,29 @@ | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ - | РазмещениеВсех.Ссылка, - | РазмещениеВсех.Подсистема, - | РазмещениеВсех.НаименованиеПодсистемы + | РазмещениеВсех.Ссылка КАК Ссылка, + | РазмещениеВсех.Подсистема КАК Подсистема, + | РазмещениеВсех.НаименованиеПодсистемы КАК НаименованиеПодсистемы |ПОМЕСТИТЬ РазмещениеВидимых |ИЗ | РазмещениеВсех КАК РазмещениеВсех | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК ЛичныеНастройки - | ПО РазмещениеВсех.Подсистема = ЛичныеНастройки.РазделИлиГруппа + | ПО РазмещениеВсех.Подсистема = ЛичныеНастройки.Подсистема | И РазмещениеВсех.Ссылка = ЛичныеНастройки.Вариант | И (ЛичныеНастройки.Пользователь = &ТекущийПользователь) + | ЛЕВОЕ СОЕДИНЕНИЕ Варианты КАК Варианты + | ПО РазмещениеВсех.Ссылка = Варианты.Ссылка |ГДЕ - | ЕСТЬNULL(ЛичныеНастройки.Видимость, РазмещениеВсех.Использование) + | ЕСТЬNULL(ЛичныеНастройки.Видимость, Варианты.ВидимостьПоУмолчанию) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВариантыОтчетов.Ссылка КАК Ссылка, + | ВариантыОтчетов.Родитель КАК Родитель, | ВариантыОтчетов.НаименованиеВарианта КАК НаименованиеВарианта, | ВариантыОтчетов.Автор КАК Автор, + | ВариантыОтчетов.АвторПредставление КАК АвторПредставление, | ВариантыОтчетов.Отчет КАК Отчет, | ВариантыОтчетов.Отчет.Имя КАК ИмяОтчета, | ВариантыОтчетов.КлючВарианта КАК КлючВарианта, @@ -3607,7 +4706,6 @@ | ВариантыОтчетов.НаименованияПараметровИОтборов КАК НаименованияПараметровИОтборов, | ВариантыОтчетов.НаименованияПолей КАК НаименованияПолей, | ВариантыОтчетов.Описание КАК Описание, - | ВариантыОтчетов.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию, | Размещение.Подсистема КАК Подсистема, | Размещение.НаименованиеПодсистемы КАК НаименованиеПодсистемы, | НЕОПРЕДЕЛЕНО КАК КлючПользовательскойНастройки, @@ -3623,6 +4721,7 @@ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | Пользовательские.Вариант, + | Варианты.Родитель, | НЕОПРЕДЕЛЕНО, | НЕОПРЕДЕЛЕНО, | НЕОПРЕДЕЛЕНО, @@ -3649,39 +4748,12 @@ | И Пользовательские.ПометкаУдаления = ЛОЖЬ"; Если ЕстьОтборПоВидимости Тогда - //ИмяИтоговойТаблицы = "РазмещениеВидимых"; + // Действие не требуется. Иначе - //ИмяИтоговойТаблицы = "РазмещениеВсех"; // Удаление временной таблицы для фильтра по видимости. УдалитьВременнуюТаблицу(ТекстЗапроса, "РазмещениеВидимых"); // Подмена имени временной таблицы, из которой нужно делать выборку. - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РазмещениеВсех", "РазмещениеВидимых"); - // Удаление поля для вычисления видимости. - Если Не ПолучатьИтоговуюТаблицу Тогда - ТекстЗапроса = СтрЗаменить( - ТекстЗапроса, - "ВЫБОР - | КОГДА ВариантыОтчетов.Автор = &ТекущийПользователь - | ТОГДА ИСТИНА - | КОГДА ВариантыОтчетов.ВидимостьПоУмолчаниюПереопределена - | ИЛИ ВариантыОтчетов.Пользовательский - | ИЛИ ВариантыОтчетов.ПредопределенныйВариант = ЗНАЧЕНИЕ(Справочник.ПредопределенныеВариантыОтчетов.ПустаяСсылка) - | ТОГДА ВариантыОтчетов.ВидимостьПоУмолчанию - | ИНАЧЕ ВариантыОтчетов.ПредопределенныйВариант.ВидимостьПоУмолчанию - | КОНЕЦ КАК", - "НЕОПРЕДЕЛЕНО КАК"); - КонецЕсли; - КонецЕсли; - - Если ЕстьОтборПоАвтору Тогда - Запрос.УстановитьПараметр("Автор", ПараметрыПоиска.Автор); - Иначе - // Удаление отбора по автору. - ТекстЗапроса = СтрЗаменить( - ТекстЗапроса, - "ВариантыОтчетов.Автор = &Автор - | И ", - ""); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "РазмещениеВидимых", "РазмещениеВсех"); КонецЕсли; Если ЕстьОтборПоТипамОтчетов Тогда @@ -3705,7 +4777,7 @@ КонецЕсли; Иначе // Удаление отбора по подсистемам. - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И (ВариантыРазмещение.РазделИлиГруппа В (&МассивПодсистем))", ""); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И (ВариантыРазмещение.Подсистема В (&МассивПодсистем))", ""); ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "И (ПредопределенныеРазмещение.Подсистема В (&МассивПодсистем))", ""); КонецЕсли; @@ -3735,8 +4807,8 @@ Для НомерСлова = 1 По МассивСлов.Количество() Цикл Слово = МассивСлов[НомерСлова-1]; ИмяСлова = "Слово" + Формат(НомерСлова, "ЧГ="); - Запрос.УстановитьПараметр(ИмяСлова, Слово); - Шаблон = "<ИмяТаблицы.ИмяПоля> ПОДОБНО ""%"" + &"+ ИмяСлова +" + ""%"""; + Запрос.УстановитьПараметр(ИмяСлова, "%" + Слово + "%"); + Шаблон = "<ИмяТаблицы.ИмяПоля> ПОДОБНО &" + ИмяСлова; Если НомерСлова = 1 Тогда ШаблонПоиска = Шаблон; Иначе @@ -3759,20 +4831,18 @@ + " | Или " + СтрЗаменить(ШаблонПоиска, "<ИмяТаблицы.ИмяПоля>", "ВариантыОтчетов.Описание") + + " + | Или " + + СтрЗаменить(ШаблонПоиска, "<ИмяТаблицы.ИмяПоля>", "ВариантыОтчетов.АвторПредставление") + ")"; ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоискВариантовИПодсистем", ПоискВариантовИПодсистем); - Если ЕстьОтборПоАвтору И ПараметрыПоиска.Автор <> ТекущийПользователь Тогда - // Удаление запроса к таблице пользовательских настроек. - ТекстЗапроса = СокрП(Лев(ТекстЗапроса, Найти(ТекстЗапроса, "ОБЪЕДИНИТЬ ВСЕ") - 1)); - Иначе - ПоискПользовательскихНастроек = ( - "(" - + СтрЗаменить(ШаблонПоиска, "<ИмяТаблицы.ИмяПоля>", "Пользовательские.Наименование") - + ")" - ); - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоискПользовательскихНастроек", ПоискПользовательскихНастроек); - КонецЕсли; + ПоискПользовательскихНастроек = ( + "(" + + СтрЗаменить(ШаблонПоиска, "<ИмяТаблицы.ИмяПоля>", "Пользовательские.Наименование") + + ")" + ); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПоискПользовательскихНастроек", ПоискПользовательскихНастроек); Иначе // Удаление отбора для поиска в данных вариантов и подсистем. ТекстЗапроса = СтрЗаменить( @@ -3823,7 +4893,7 @@ // НаименованиеПодсистемы ТекстЗапроса = СтрЗаменить( ТекстЗапроса, - "ВариантыРазмещение.РазделИлиГруппа.Синоним КАК", + "ВариантыРазмещение.Подсистема.Синоним КАК", "НЕОПРЕДЕЛЕНО КАК"); ТекстЗапроса = СтрЗаменить( ТекстЗапроса, @@ -3844,26 +4914,16 @@ ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ - | ВариантыОтчетов.Ссылка КАК Ссылка + | ВариантыОтчетов.Ссылка КАК Ссылка, + | ВариантыОтчетов.Родитель |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов |ГДЕ - | ВариантыОтчетов.Автор = &Автор - | И ВариантыОтчетов.ТипОтчета В(&ТипыОтчетов) + | ВариантыОтчетов.ТипОтчета В(&ТипыОтчетов) | И ВариантыОтчетов.Отчет В(&ОтчетыПользователя) | И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы) | И ВариантыОтчетов.ПометкаУдаления = ЛОЖЬ"; - Если ЕстьОтборПоАвтору Тогда - Запрос.УстановитьПараметр("Автор", ПараметрыПоиска.Автор); - Иначе - ТекстЗапроса = СтрЗаменить( - ТекстЗапроса, - "ВариантыОтчетов.Автор = &Автор - | И ", - ""); - КонецЕсли; - Если ЕстьОтборПоТипамОтчетов Тогда Запрос.УстановитьПараметр("ТипыОтчетов", ПараметрыПоиска.ТипыОтчетов); Иначе @@ -3904,11 +4964,14 @@ КонецЕсли; Если Не ЕстьСтрокаПоиска Тогда - ТаблицаВариантов = ТаблицаЗначений.Скопировать(, "Ссылка"); - ТаблицаВариантов.Свернуть("Ссылка"); + ТаблицаВариантов = ТаблицаЗначений.Скопировать(, "Ссылка, Родитель"); + ТаблицаВариантов.Свернуть("Ссылка, Родитель"); Для Каждого СтрокаТаблицы Из ТаблицаВариантов Цикл - Если ЗначениеЗаполнено(СтрокаТаблицы.Ссылка) Тогда + Если ЗначениеЗаполнено(СтрокаТаблицы.Ссылка) И Результат.Ссылки.Найти(СтрокаТаблицы.Ссылка) = Неопределено Тогда Результат.Ссылки.Добавить(СтрокаТаблицы.Ссылка); + Если ЗначениеЗаполнено(СтрокаТаблицы.Родитель) И Результат.Ссылки.Найти(СтрокаТаблицы.Родитель) = Неопределено Тогда + Результат.Ссылки.Добавить(СтрокаТаблицы.Родитель); + КонецЕсли; КонецЕсли; КонецЦикла; Возврат Результат; @@ -3921,13 +4984,15 @@ СтрокаТаблицы = ТаблицаЗначений[0]; Вариант = Новый Структура; Вариант.Вставить("Ссылка", СтрокаТаблицы.Ссылка); + Вариант.Вставить("Родитель", СтрокаТаблицы.Родитель); Вариант.Вставить("НаименованиеВарианта", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("Описание", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПолей", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПараметровИОтборов", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПользовательскихНастроек", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПодсистем", Новый Структура(ШаблонОбластиПоиска)); - Вариант.Вставить("Подсистемы", Новый Массив); + Вариант.Вставить("Подсистемы", Новый Массив); + Вариант.Вставить("ПредставлениеАвтора", Новый Структура(ШаблонОбластиПоиска)); РазделительХранения = ВариантыОтчетовКлиентСервер.РазделительХранения(); РазделительПредставления = ВариантыОтчетовКлиентСервер.РазделительПредставления(); @@ -3947,6 +5012,9 @@ Если Не ЗначениеЗаполнено(Вариант.НаименованияПараметровИОтборов.Значение) И ЗначениеЗаполнено(СтрокаТаблицы.НаименованияПараметровИОтборов) Тогда Вариант.НаименованияПараметровИОтборов.Значение = СтрокаТаблицы.НаименованияПараметровИОтборов; КонецЕсли; + Если Не ЗначениеЗаполнено(Вариант.ПредставлениеАвтора.Значение) И ЗначениеЗаполнено(СтрокаТаблицы.АвторПредставление) Тогда + Вариант.ПредставлениеАвтора.Значение = СтрокаТаблицы.АвторПредставление; + КонецЕсли; Если ЗначениеЗаполнено(СтрокаТаблицы.ПредставлениеПользовательскойНастройки) Тогда Если Вариант.НаименованияПользовательскихНастроек.Значение = "" Тогда Вариант.НаименованияПользовательскихНастроек.Значение = СтрокаТаблицы.ПредставлениеПользовательскойНастройки; @@ -4011,6 +5079,10 @@ СловоНайдено = Истина; КонецЕсли; + Если ОтметитьСлово(Вариант.ПредставлениеАвтора, Слово, Истина) Тогда + СловоНайдено = Истина; + КонецЕсли; + Если ОтметитьСлово(Вариант.НаименованияПараметровИОтборов, Слово, Истина) Тогда СловоНайдено = Истина; КонецЕсли; @@ -4041,6 +5113,9 @@ Если СвязанныеПодсистемы.Количество() > 0 Тогда Результат.ВариантыСвязанныеСПодсистемами.Вставить(Вариант.Ссылка, СвязанныеПодсистемы); КонецЕсли; + Если ЗначениеЗаполнено(Вариант.Родитель) И Результат.Ссылки.Найти(Вариант.Родитель) = Неопределено Тогда + Результат.Ссылки.Добавить(Вариант.Родитель); + КонецЕсли; КонецЕсли; Если Индекс = Количество Тогда @@ -4050,13 +5125,15 @@ // Обнуление переменных. Вариант = Новый Структура; Вариант.Вставить("Ссылка", СтрокаТаблицы.Ссылка); + Вариант.Вставить("Родитель", СтрокаТаблицы.Родитель); Вариант.Вставить("НаименованиеВарианта", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("Описание", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПолей", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПараметровИОтборов", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПользовательскихНастроек", Новый Структура(ШаблонОбластиПоиска)); Вариант.Вставить("НаименованияПодсистем", Новый Структура(ШаблонОбластиПоиска)); - Вариант.Вставить("Подсистемы", Новый Массив); + Вариант.Вставить("Подсистемы", Новый Массив); + Вариант.Вставить("ПредставлениеАвтора", Новый Структура(ШаблонОбластиПоиска)); КонецЕсли; КонецЦикла; diff --git a/SSL/src/CommonModules/ВариантыОтчетовКлиент/Module.bsl b/SSL/src/CommonModules/ВариантыОтчетовКлиент/Module.bsl index 236b47567..25214195c 100644 --- a/SSL/src/CommonModules/ВариантыОтчетовКлиент/Module.bsl +++ b/SSL/src/CommonModules/ВариантыОтчетовКлиент/Module.bsl @@ -147,6 +147,14 @@ КонецЕсли; КонецПроцедуры +// Открывает форму настроек (в частности размещения) варианта отчета. +Процедура ПоказатьНастройкиОтчета(ВариантСсылка) Экспорт + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("НастройкаРазмещения", Истина); + ПараметрыФормы.Вставить("Ключ", ВариантСсылка); + ОткрытьФорму("Справочник.ВариантыОтчетов.ФормаОбъекта", ПараметрыФормы); +КонецПроцедуры + // Процедура обслуживает событие реквизита ДеревоПодсистем в формах редактирования. Процедура ДеревоПодсистемИспользованиеПриИзменении(Форма, Элемент) Экспорт СтрокаДерева = Форма.Элементы.ДеревоПодсистем.ТекущиеДанные; @@ -160,11 +168,26 @@ Возврат; КонецЕсли; - Если СтрокаДерева.Использование = 2 И СтрокаДерева.ИспользованиеПоУмолчанию <> 2 Тогда + Если СтрокаДерева.Использование = 2 Тогда СтрокаДерева.Использование = 0; КонецЕсли; - УстановитьИзмененПользователем(Форма, СтрокаДерева); + //Если Не СтрокаДерева.Модифицированность + // И СтрокаДерева.Использование = 1 + // И СтрокаДерева.ПользователиПредставление = "" Тогда + // Если Форма.Доступен = "2" Тогда // Всем пользователям. + // Пользователь = ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ГруппыПользователей.ВсеПользователи"); + // Иначе + // Если Форма.ИмяФормы = "Справочник.ВариантыОтчетов.Форма.ФормаЭлемента" Тогда + // Пользователь = Форма.Объект.Автор; + // Иначе + // Пользователь = Форма.ВариантАвтор; + // КонецЕсли; + // КонецЕсли; + // ВариантыОтчетовКлиентСервер.ДеревоПодсистемЗарегистрироватьПользователя(СтрокаДерева, Пользователь); + //КонецЕсли; + + СтрокаДерева.Модифицированность = Истина; КонецПроцедуры // Процедура обслуживает событие реквизита ДеревоПодсистем в формах редактирования. @@ -180,24 +203,11 @@ Возврат; КонецЕсли; - Если СтрокаДерева.Важность <> СтрокаДерева.ВажностьПоУмолчанию Тогда + Если СтрокаДерева.Важность <> "" Тогда СтрокаДерева.Использование = 1; КонецЕсли; - УстановитьИзмененПользователем(Форма, СтрокаДерева); -КонецПроцедуры - -// Вспомогательная процедура для обработки изменений ДеревоПодсистем. -Процедура УстановитьИзмененПользователем(Форма, СтрокаДерева) - Если СтрокаДерева.Использование = СтрокаДерева.ИспользованиеПоУмолчанию - И СтрокаДерева.Важность = СтрокаДерева.ВажностьПоУмолчанию Тогда - СтрокаДерева.ИзмененПользователем = Ложь; - Иначе - СтрокаДерева.ИзмененПользователем = Истина; - Если Форма.ИмяФормы = "Справочник.ВариантыОтчетов.Форма.ФормаЭлемента" Тогда - Форма.Модифицированность = Истина; - КонецЕсли; - КонецЕсли; + СтрокаДерева.Модифицированность = Истина; КонецПроцедуры // Аналог ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста, работающий за 1 вызов. diff --git a/SSL/src/CommonModules/ВариантыОтчетовКлиентСервер/Module.bsl b/SSL/src/CommonModules/ВариантыОтчетовКлиентСервер/Module.bsl index b843c640d..0f9fa1277 100644 --- a/SSL/src/CommonModules/ВариантыОтчетовКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ВариантыОтчетовКлиентСервер/Module.bsl @@ -6,9 +6,7 @@ #Область СлужебныеПроцедурыИФункции -// Представление наименования данной подсистемы, используется -// для записи в журнале регистрации и в других местах. -// +// Представление подсистемы. Используется при записи в журнал регистрации и в других местах. Функция НаименованиеПодсистемы(КодЯзыка) Экспорт Возврат НСтр("ru = 'Варианты отчетов'", ?(КодЯзыка = Неопределено, ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка(), КодЯзыка)); КонецФункции diff --git a/SSL/src/CommonModules/ВариантыОтчетовПереопределяемый/Module.bsl b/SSL/src/CommonModules/ВариантыОтчетовПереопределяемый/Module.bsl index 51ccb59d3..7faa150dd 100644 --- a/SSL/src/CommonModules/ВариантыОтчетовПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ВариантыОтчетовПереопределяемый/Module.bsl @@ -172,6 +172,9 @@ // * ВыводитьОтчетыВместоВариантов - Булево - Умолчание для вывода гиперссылок в панели отчетов: // - Истина - Варианты отчетов по умолчанию скрыты, а отчеты включены и видимы. // - Ложь - Значение по умолчанию. Варианты отчетов по умолчанию видимы, а отчеты отключены. +// * ВыводитьОписания - Булево - Умолчание для вывода описаний в панели отчетов: +// - Истина - Выводить описания в виде подписей под гиперссылками вариантов (режим чтения описаний). +// - Ложь - Выводить описания в виде всплывающих подсказок (как раньше). // Процедура ОпределитьГлобальныеНастройки(Настройки) Экспорт diff --git a/SSL/src/CommonModules/ВариантыОтчетовПовтИсп/Module.bsl b/SSL/src/CommonModules/ВариантыОтчетовПовтИсп/Module.bsl index b1630e08d..1ab902e2a 100644 --- a/SSL/src/CommonModules/ВариантыОтчетовПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/ВариантыОтчетовПовтИсп/Module.bsl @@ -41,9 +41,10 @@ // Функция ОтключенныеВариантыПрограммы() Экспорт // Получить варианты, недоступные по функциональным опциям - ХранилищеТаблицыОпций = Константы.ПараметрыВариантовОтчетов.Получить(); - ТаблицаОпций = ХранилищеТаблицыОпций.Получить(); + ЗначениеКонстанты = Константы.ПараметрыВариантовОтчетов.Получить(); + Структура = ЗначениеКонстанты.Получить(); + ТаблицаОпций = Структура.ТаблицаФункциональныхОпций; ТаблицаОпций.Колонки.Добавить("ОтчетДоступен", Новый ОписаниеТипов("Булево")); ТаблицаОпций.Колонки.Добавить("ЗначениеОпции", Новый ОписаниеТипов("Число")); @@ -127,4 +128,19 @@ Возврат ПравоДоступа("СохранениеДанныхПользователя", Метаданные) И ПравоДоступа("Добавление", Метаданные.Справочники.ВариантыОтчетов); КонецФункции +// Массив отчетов, которые хранят настройки общей формы "ФормаОтчета" и переопределяют их в модуле объекта. +// +// Возвращаемое значение: +// Массив из <см. Справочники.ВариантыОтчетов.Реквизиты.Отчет> - +// Ссылки отчетов, в модулях объектов которых есть процедура ОпределитьНастройкиФормы(). +// +// См. также: +// ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +Функция ОтчетыСНастройками() Экспорт + ЗначениеКонстанты = Константы.ПараметрыВариантовОтчетов.Получить(); + Структура = ЗначениеКонстанты.Получить(); + Возврат Структура.ОтчетыСНастройками; +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ВерсионированиеОбъектов/Module.bsl b/SSL/src/CommonModules/ВерсионированиеОбъектов/Module.bsl index 69a09a9d9..5a2fb5cb3 100644 --- a/SSL/src/CommonModules/ВерсионированиеОбъектов/Module.bsl +++ b/SSL/src/CommonModules/ВерсионированиеОбъектов/Module.bsl @@ -6,8 +6,8 @@ #Область ПрограммныйИнтерфейс // Выполняется при обновлении конфигурации. -// 1. Очищает настройки версионирования по объектам, для которых версионирование не применено -// 2. Устанавливает настройки версионирования по умолчанию +// 1. Очищает настройки версионирования по объектам, для которых версионирование не применено. +// 2. Устанавливает настройки версионирования по умолчанию. // Процедура ОбновитьНастройкиВерсионированияОбъектов() Экспорт @@ -104,7 +104,7 @@ // Возвращает табличный документ, заполненный данными объекта. // // Параметры: -// СсылкаНаОбъект - ЛюбаяСсылка +// СсылкаНаОбъект - ЛюбаяСсылка. // // Возвращаемое значение: // ТабличныйДокумент - печатная форма объекта. @@ -143,6 +143,80 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриПолученииДанныхОтГлавного"].Добавить( "ВерсионированиеОбъектов"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "ВерсионированиеОбъектов"); + КонецЕсли; + + СерверныеОбработчики["СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПриДобавленииОбработчиковОбновления"].Добавить( + "ВерсионированиеОбъектов"); + +КонецПроцедуры + +// Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. +// +// Параметры: +// Обработчики - ТаблицаЗначений - см. описание функции НоваяТаблицаОбработчиковОбновления +// общего модуля ОбновлениеИнформационнойБазы. +// +Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт + + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.3.8"; + Обработчик.Процедура = "ВерсионированиеОбъектов.ОбновитьСведенияОВерсияхОбъектов"; + Обработчик.РежимВыполнения = "Отложенно"; + Обработчик.Комментарий = НСтр("ru = 'Обновление сведений о записанных версиях объектов.'"); + +КонецПроцедуры + +// Дозаполняет реквизиты регистра версий. +Процедура ОбновитьСведенияОВерсияхОбъектов(Параметры) Экспорт + + ТекстЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 10000 + | ВерсииОбъектов.Объект, + | ВерсииОбъектов.НомерВерсии + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.РазмерДанных = 0"; + + Запрос = Новый Запрос(ТекстЗапроса); + Выборка = Запрос.Выполнить().Выбрать(); + + ОбработаноЗаписей = 0; + Пока Выборка.Следующий() Цикл + НаборЗаписей = РегистрыСведений.ВерсииОбъектов.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Объект.Установить(Выборка.Объект); + НаборЗаписей.Отбор.НомерВерсии.Установить(Выборка.НомерВерсии); + НаборЗаписей.Прочитать(); + Попытка + НаборЗаписей.Записать(); + ОбработаноЗаписей = ОбработаноЗаписей + 1; + Исключение + ЗаписьЖурналаРегистрации( + НСтр("ru = 'Версионирование'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + УровеньЖурналаРегистрации.Ошибка, НаборЗаписей.Метаданные(), + , + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не удалось обновить сведения о версии №%1 объекта ""%2"" по причине: + |%3'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + Выборка.НомерВерсии, + ОбщегоНазначения.ПредметСтрокой(Выборка.Объект), + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); + КонецПопытки; + КонецЦикла; + + Если Выборка.Количество() > 0 Тогда + Если ОбработаноЗаписей = 0 Тогда + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Процедуре ОбновитьСведенияОВерсияхОбъектов не удалось обработать некоторые записи регистра сведений ВерсииОбъектов (пропущены): %1'"), + Выборка.Количество()); + ВызватьИсключение ТекстСообщения; + КонецЕсли; + Параметры.ОбработкаЗавершена = Ложь; + КонецЕсли; + КонецПроцедуры // Записывает версию объекта в информационную базу. @@ -150,11 +224,11 @@ // Параметры // Объект - для создания версии // -Процедура ПриСозданииВерсииОбъекта(Объект) Экспорт +Процедура ПриСозданииВерсииОбъекта(Объект, РежимЗаписиПроведение) Экспорт Перем НомерПоследнейВерсии, Комментарий; - Если НЕ ОбъектВерсионируется(Объект, НомерПоследнейВерсии) Тогда + Если НЕ ОбъектВерсионируется(Объект, НомерПоследнейВерсии, РежимЗаписиПроведение) Тогда Возврат; КонецЕсли; @@ -224,38 +298,117 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не ПравоДоступа("Редактирование", Метаданные.РегистрыСведений.НастройкиВерсионированияОбъектов) Тогда + Возврат; + КонецЕсли; + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.РегистрыСведений.НастройкиВерсионированияОбъектов.ПолноеИмя()]; + + Если Разделы = Неопределено Тогда + Возврат; + КонецЕсли; + + ИнформацияОбУстаревшихВерсиях = ИнформацияОбУстаревшихВерсиях(); + РазмерУстаревшихДанных = РазмерДанныхСтрокой(ИнформацияОбУстаревшихВерсиях.РазмерДанных); + Подсказка = НСтр("ru = 'Устаревших версий: %1 (%2)'"); + + Для Каждого Раздел Из Разделы Цикл + + ИдентификаторУстаревшиеОбъекты = "УстаревшиеВерсииОбъектов" + СтрЗаменить(Раздел.ПолноеИмя(), ".", ""); + // Добавление дела. + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = ИдентификаторУстаревшиеОбъекты; + // Выводим дело, если размер устаревших данных больше 1 Гб + Дело.ЕстьДела = ИнформацияОбУстаревшихВерсиях.РазмерДанных > (1024 * 1024 * 1024); + Дело.Представление = НСтр("ru = 'Устаревшие версии объектов'"); + Дело.Форма = "РегистрСведений.НастройкиВерсионированияОбъектов.Форма.ВерсионированиеОбъектов"; + Дело.Подсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Подсказка, ИнформацияОбУстаревшихВерсиях.КоличествоВерсий, РазмерУстаревшихДанных); + Дело.Владелец = Раздел; + + КонецЦикла; + +КонецПроцедуры + // Создает и записывает версию объекта в информационную базу. // Процедура СоздатьВерсиюОбъекта(Объект, СведенияОВерсииОбъекта, ЗаписьОбычнойВерсии = Истина) - Если Не ПривилегированныйРежим() Тогда - ВыполнитьПроверкуПравДоступа("Изменение", Объект.Метаданные()); - КонецЕсли; - - ЗаписьXML = Новый ЗаписьFastInfoset; - ЗаписьXML.УстановитьДвоичныеДанные(); - ЗаписьXML.ЗаписатьОбъявлениеXML(); - ЗаписатьXML(ЗаписьXML, Объект, НазначениеТипаXML.Явное); - ДвоичныеДанные = ЗаписьXML.Закрыть(); - ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); + ПроверитьНаличиеПравНаИзменениеОбъекта(Объект.Метаданные()); УстановитьПривилегированныйРежим(Истина); - МенеджерЗаписиВерсииОбъектов = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); - МенеджерЗаписиВерсииОбъектов.ДатаВерсии = ТекущаяДатаСеанса(); - МенеджерЗаписиВерсииОбъектов.ВерсияОбъекта = ХранилищеДанных; - - ЗаполнитьЗначенияСвойств(МенеджерЗаписиВерсииОбъектов, СведенияОВерсииОбъекта); - Если ЗаписьОбычнойВерсии Тогда + // Запись данных предыдущей версии + Если Не Объект.ЭтоНовый() И ВерсияОтличаетсяОтРанееЗаписанной(Объект) Тогда + МенеджерЗаписи = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.Объект = Объект.Ссылка; + МенеджерЗаписи.НомерВерсии = СведенияОВерсииОбъекта.НомерВерсии - 1; + МенеджерЗаписи.Прочитать(); + Если МенеджерЗаписи.Выбран() Тогда + ДвоичныеДанные = СериализоватьОбъект(Объект.Ссылка.ПолучитьОбъект()); + ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); + МенеджерЗаписи.ВерсияОбъекта = ХранилищеДанных; + МенеджерЗаписи.Записать(); + КонецЕсли; + КонецЕсли; - МенеджерЗаписиВерсииОбъектов.Объект = Объект.Ссылка; - МенеджерЗаписиВерсииОбъектов.АвторВерсии = Пользователи.АвторизованныйПользователь(); - МенеджерЗаписиВерсииОбъектов.ТипВерсииОбъекта = Перечисления.ТипыВерсийОбъекта.ИзмененоПользователем; + СсылкаНаОбъект = Объект.Ссылка;; + Если СсылкаНаОбъект.Пустая() Тогда + СсылкаНаОбъект = Объект.ПолучитьСсылкуНового(); + Если СсылкаНаОбъект.Пустая() Тогда + СсылкаНаОбъект = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Объект.Ссылка).ПолучитьСсылку(); + Объект.УстановитьСсылкуНового(СсылкаНаОбъект); + КонецЕсли; + КонецЕсли; + // Запись текущей версии без данных + МенеджерЗаписи = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.Объект = СсылкаНаОбъект; + МенеджерЗаписи.НомерВерсии = СведенияОВерсииОбъекта.НомерВерсии; + МенеджерЗаписи.ДатаВерсии = ТекущаяДатаСеанса(); + + АвторВерсии = Неопределено; + Если Не Объект.ДополнительныеСвойства.Свойство("АвторВерсии", АвторВерсии) Тогда + АвторВерсии = Пользователи.АвторизованныйПользователь(); + КонецЕсли; + МенеджерЗаписи.АвторВерсии = АвторВерсии; + + МенеджерЗаписи.ТипВерсииОбъекта = Перечисления.ТипыВерсийОбъекта.ИзмененоПользователем; + СведенияОВерсииОбъекта.Свойство("Комментарий", МенеджерЗаписи.Комментарий); + Иначе + ДвоичныеДанные = СериализоватьОбъект(Объект); + ХранилищеДанных = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); + + МенеджерЗаписи = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.ДатаВерсии = ТекущаяДатаСеанса(); + МенеджерЗаписи.ВерсияОбъекта = ХранилищеДанных; + ЗаполнитьЗначенияСвойств(МенеджерЗаписи, СведенияОВерсииОбъекта); КонецЕсли; - МенеджерЗаписиВерсииОбъектов.Записать(); + МенеджерЗаписи.Записать(); КонецПроцедуры @@ -306,9 +459,7 @@ // Процедура ИгнорироватьВерсиюОбъекта(Ссылка, НомерВерсии, Игнорировать) Экспорт - Если Не ПривилегированныйРежим() Тогда - ВыполнитьПроверкуПравДоступа("Изменение", Ссылка.Метаданные()); - КонецЕсли; + ПроверитьНаличиеПравНаИзменениеОбъекта(Ссылка.Метаданные()); УстановитьПривилегированныйРежим(Истина); @@ -471,7 +622,7 @@ КонецФункции -Процедура ЗаписатьВерсиюПоверхПредыдущей(Ссылка, Объект, НомерВерсии, СведенияОВерсииОбъекта); +Процедура ЗаписатьВерсиюПоверхПредыдущей(Ссылка, Объект, НомерВерсии, СведенияОВерсииОбъекта) УстановитьПривилегированныйРежим(Истина); @@ -508,6 +659,16 @@ КонецПроцедуры +Процедура ПроверитьНаличиеПравНаИзменениеОбъекта(ОбъектМетаданных) + + Если Не ПривилегированныйРежим() И Не ПравоДоступа("Изменение", ОбъектМетаданных)Тогда + ТекстСообщения = Нстр("ru = 'Недостаточно прав на изменение ""%1"".'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ОбъектМетаданных.Представление()); + ВызватьИсключение ТекстСообщения; + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов в эту подсистему @@ -521,9 +682,7 @@ // Процедура ПриПереходеНаВерсиюОбъекта(СсылкаНаОбъект, Знач НомерВерсии) Экспорт - Если Не ПривилегированныйРежим() Тогда - ВыполнитьПроверкуПравДоступа("Изменение", СсылкаНаОбъект.Метаданные()); - КонецЕсли; + ПроверитьНаличиеПравНаИзменениеОбъекта(СсылкаНаОбъект.Метаданные()); УстановитьПривилегированныйРежим(Истина); @@ -575,6 +734,10 @@ // Функция НомерПоследнейВерсии(Ссылка) Экспорт + Если Ссылка.Пустая() Тогда + Возврат 0; + КонецЕсли; + УстановитьПривилегированныйРежим(Истина); Запрос = Новый Запрос; @@ -629,7 +792,7 @@ // Возвращаемое значение: // Перечисление.ВариантыВерсионированияОбъектов. // -Функция ВариантВерсионированияОбъекта(ПолноеИмяОбъекта) Экспорт +Функция ВариантВерсионированияОбъекта(ПолноеИмяОбъекта) Возврат ПолучитьФункциональнуюОпцию("ВариантыВерсионированияОбъектов", Новый Структура("ТипВерсионируемогоОбъекта", ПолноеИмяОбъекта)); @@ -686,41 +849,46 @@ // Функцию требуется вызвать в привилегированном режиме. // Функция СведенияОВерсииОбъекта(Знач Ссылка, Знач НомерВерсии) Экспорт + СообщениеНеУдалосьПолучитьВерсию = НСтр("ru = 'Не удалось получить предыдущую версию объекта.'"); + Если Не ЕстьПравоНаЧтениеВерсийОбъектов() Тогда + ВызватьИсключение СообщениеНеУдалосьПолучитьВерсию; + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | ВерсииОбъектов.ВерсияОбъекта КАК ВерсияОбъекта, - | ВерсииОбъектов.АвторВерсии КАК АвторВерсии, - | ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии, - | ВерсииОбъектов.Комментарий КАК Комментарий - |ИЗ - | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов - |ГДЕ - | ВерсииОбъектов.Объект = &Ссылка - | И ВерсииОбъектов.НомерВерсии = &НомерВерсии"; + Запрос.Текст = + "ВЫБРАТЬ + | ВерсииОбъектов.АвторВерсии КАК АвторВерсии, + | ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии, + | ВерсииОбъектов.Комментарий КАК Комментарий, + | ВерсииОбъектов.ВерсияОбъекта + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.Объект = &Ссылка + | И ВерсииОбъектов.НомерВерсии = &НомерВерсии"; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("НомерВерсии", Число(НомерВерсии)); - ВерсияОбъекта = Неопределено; + Результат = Новый Структура("ВерсияОбъекта, АвторВерсии, ДатаВерсии, Комментарий"); - Если ЕстьПравоНаЧтениеВерсийОбъектов() Тогда - УстановитьПривилегированныйРежим(Истина); - Выборка = Запрос.Выполнить().Выбрать(); - Если Выборка.Следующий() Тогда - ВерсияОбъекта = Выборка.ВерсияОбъекта.Получить(); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + ЗаполнитьЗначенияСвойств(Результат, Выборка); + Результат.ВерсияОбъекта = Результат.ВерсияОбъекта.Получить(); + Если Результат.ВерсияОбъекта = Неопределено Тогда + Результат.ВерсияОбъекта = ДанныеВерсииОбъекта(Ссылка, НомерВерсии); КонецЕсли; КонецЕсли; + - Если ВерсияОбъекта = Неопределено Тогда - ВызватьИсключение НСтр("ru = 'Не удалось получить предыдущую версию объекта.'"); + Если Результат.ВерсияОбъекта = Неопределено Тогда + ВызватьИсключение НСтр("ru = 'Выбранная версия объекта отсутствует в программе.'"); КонецЕсли; - Возврат Новый Структура("ВерсияОбъекта, АвторВерсии, ДатаВерсии, Комментарий", - ВерсияОбъекта, - Выборка.АвторВерсии, - Выборка.ДатаВерсии, - Выборка.Комментарий); + Возврат Результат; КонецФункции @@ -729,7 +897,7 @@ // версионирование, то он версионируется в соответствии с правилами // версионирования "по умолчанию". // -Функция ОбъектВерсионируется(Знач Источник, НомерПоследнейВерсии) Экспорт +Функция ОбъектВерсионируется(Знач Источник, НомерПоследнейВерсии, РежимЗаписиПроведение = Ложь, Стартован = Ложь) Экспорт // Проверяем, что подсистема версионирования включена Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьВерсионированиеОбъектов") Тогда @@ -743,10 +911,10 @@ НомерПоследнейВерсии = НомерПоследнейВерсии(Источник.Ссылка); - Возврат Не (ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать - Или ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриПроведении - И НомерПоследнейВерсии = 0 - И Не Источник.Проведен); + Возврат + ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриЗаписи + Или ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриПроведении + И (НомерПоследнейВерсии > 0 Или РежимЗаписиПроведение) Или ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриСтарте КонецФункции @@ -774,43 +942,333 @@ Возврат Пользователи.РолиДоступны("ЧтениеВерсийОбъектов, ЧтениеИнформацииОВерсияхОбъектов"); КонецФункции -//////////////////////////////////////////////////////////////////////////////// -// Обработчики служебных событий подсистем БСП - -// Заполняет массив списком имен объектов метаданных, данные которых могут содержать ссылки на различные объекты метаданных, -// но при этом эти ссылки не должны учитываться в бизнес-логике приложения. +// Записывает версию объекта в информационную базу. // -// Параметры: -// Массив - массив строк, например, "РегистрСведений.ВерсииОбъектов". +// Параметры +// Источник - Объект - записываемый объект ИБ; +// Отказ - Булево - признак отказа от записи объекта. // -Процедура ПриДобавленииИсключенийПоискаСсылок(Массив) Экспорт +Процедура ЗаписатьВерсиюОбъекта(Источник, РежимЗаписиПроведение = Ложь) Экспорт - Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.ПолноеИмя()); + Если Источник.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Если Источник.ДополнительныеСвойства.Свойство("СведенияОВерсииОбъекта") Тогда + Возврат; + КонецЕсли; + + ПриСозданииВерсииОбъекта(Источник, РежимЗаписиПроведение); КонецПроцедуры -// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной информационной базе. -// -// Параметры: -// см. описание обработчика события ПриПолученииДанныхОтПодчиненного() в синтаксис-помощнике. -// -Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт +// Контрольная сумма по алгоритму MD5. +Функция КонтрольнаяСумма(Данные) Экспорт + ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5); + ХешированиеДанных.Добавить(Данные); + Возврат СтрЗаменить(ХешированиеДанных.ХешСумма, " ", ""); +КонецФункции + +Функция ДанныеВерсииОбъекта(СсылкаНаОбъект, НомерВерсии) - ДобавлениеСведенийОВерсииОбъектаПриОбменеДанными(ЭлементДанных, Отправитель); + ТекстЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ВерсииОбъектов.ВерсияОбъекта + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.Объект = &Объект + | И ВерсииОбъектов.НомерВерсии >= &НомерВерсии + | И ВерсииОбъектов.КонтрольнаяСумма <> """" + | + |УПОРЯДОЧИТЬ ПО + | ВерсииОбъектов.НомерВерсии"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект); + Запрос.УстановитьПараметр("НомерВерсии", НомерВерсии); + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.ВерсияОбъекта.Получить(); + КонецЕсли; + + Возврат СериализоватьОбъект(СсылкаНаОбъект.ПолучитьОбъект()); + +КонецФункции + +Функция ВерсияОтличаетсяОтРанееЗаписанной(Объект) + + ТекстЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ВерсииОбъектов.КонтрольнаяСумма + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.Объект = &Объект + | И ВерсииОбъектов.ЕстьДанныеВерсии + | + |УПОРЯДОЧИТЬ ПО + | ВерсииОбъектов.НомерВерсии УБЫВ"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Объект", Объект.Ссылка); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.КонтрольнаяСумма <> КонтрольнаяСумма(СериализоватьОбъект(Объект)); + КонецЕсли; + + Возврат Объект.ЭтоНовый() Или КонтрольнаяСумма(СериализоватьОбъект(Объект)) <> КонтрольнаяСумма(СериализоватьОбъект(Объект.Ссылка.ПолучитьОбъект())); + +КонецФункции + +// Только для служебного использования. +Процедура ОчиститьУстаревшиеВерсииОбъектов() Экспорт + + УстановитьПривилегированныйРежим(Истина); + + ГраницыУдаленияОбъектов = ГраницыУдаленияОбъектов(); + + Запрос = Новый Запрос; + ТекстЗапроса = + "ВЫБРАТЬ + | ВерсииОбъектов.Объект, + | ВерсииОбъектов.НомерВерсии + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.ЕстьДанныеВерсии + | И &ДополнительныеУсловия"; + + ДополнительныеУсловия = ""; + Для Индекс = 0 По ГраницыУдаленияОбъектов.Количество() - 1 Цикл + Если Не ПустаяСтрока(ДополнительныеУсловия) Тогда + ДополнительныеУсловия = ДополнительныеУсловия + " + | ИЛИ"; + КонецЕсли; + ИндексСтрокой = Формат(Индекс, "ЧН=0; ЧГ=0"); + Условие = ""; + Для Каждого Тип Из ГраницыУдаленияОбъектов[Индекс].СписокТипов Цикл + Если Не ПустаяСтрока(Условие) Тогда + Условие = Условие + " + | ИЛИ"; + КонецЕсли; + Условие = Условие + " + | ВерсииОбъектов.Объект ССЫЛКА " + Тип; + КонецЦикла; + Если ПустаяСтрока(Условие) Тогда + Продолжить; + КонецЕсли; + Условие = "(" + Условие + ")"; + ДополнительныеУсловия = ДополнительныеУсловия + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + " + | %1 + | И ВерсииОбъектов.ДатаВерсии < &ГраницаУдаления%2", + Условие, + ИндексСтрокой); + Запрос.УстановитьПараметр("СписокТипов" + ИндексСтрокой, ГраницыУдаленияОбъектов[Индекс].СписокТипов); + Запрос.УстановитьПараметр("ГраницаУдаления" + ИндексСтрокой, ГраницыУдаленияОбъектов[Индекс].ГраницаУдаления); + КонецЦикла; + + Если ПустаяСтрока(ДополнительныеУсловия) Тогда + ДополнительныеУсловия = "ЛОЖЬ"; + Иначе + ДополнительныеУсловия = "(" + ДополнительныеУсловия + ")"; + КонецЕсли; + + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ДополнительныеУсловия", ДополнительныеУсловия); + + Запрос.Текст = ТекстЗапроса; + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + МенеджерЗаписи = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.Объект = Выборка.Объект; + МенеджерЗаписи.НомерВерсии = Выборка.НомерВерсии; + МенеджерЗаписи.Прочитать(); + МенеджерЗаписи.ВерсияОбъекта = Неопределено; + МенеджерЗаписи.Записать(); + КонецЦикла; КонецПроцедуры -// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной информационной базе. -// -// Параметры: -// см. описание обработчика события ПриПолученииДанныхОтГлавного() в синтаксис-помощнике. -// -Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт +Функция ГраницыУдаленияОбъектов() Экспорт - ДобавлениеСведенийОВерсииОбъектаПриОбменеДанными(ЭлементДанных, Отправитель); + Результат = Новый ТаблицаЗначений; + Результат.Колонки.Добавить("СписокТипов", Новый ОписаниеТипов("Массив")); + Результат.Колонки.Добавить("ГраницаУдаления", Новый ОписаниеТипов("Дата")); + + ТекстЗапроса = + "ВЫБРАТЬ + | НастройкиВерсионированияОбъектов.ТипОбъекта, + | НастройкиВерсионированияОбъектов.СрокХраненияВерсий КАК СрокХраненияВерсий + |ИЗ + | РегистрСведений.НастройкиВерсионированияОбъектов КАК НастройкиВерсионированияОбъектов + | + |УПОРЯДОЧИТЬ ПО + | СрокХраненияВерсий + |ИТОГИ ПО + | СрокХраненияВерсий"; + + Запрос = Новый Запрос(ТекстЗапроса); + ВыборкаСроковХранения = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); + Пока ВыборкаСроковХранения.Следующий() Цикл + ВыборкаОбъектов = ВыборкаСроковХранения.Выбрать(); + СписокТипов = Новый Массив; + Пока ВыборкаОбъектов.Следующий() Цикл + Попытка + ТипОбъекта = Тип(СтрЗаменить(ВыборкаОбъектов.ТипОбъекта, ".", "Ссылка.")); + Исключение + Продолжить; + КонецПопытки; + СписокТипов.Добавить(ВыборкаОбъектов.ТипОбъекта); + КонецЦикла; + СоответствиеГраницыТипамОбъектов = Результат.Добавить(); + СоответствиеГраницыТипамОбъектов.ГраницаУдаления = ГраницаУдаления(ВыборкаСроковХранения.СрокХраненияВерсий); + СоответствиеГраницыТипамОбъектов.СписокТипов = СписокТипов; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +Функция ГраницаУдаления(СрокХраненияВерсий) + Если СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.ЗаПоследнийГод Тогда + Возврат ДобавитьМесяц(ТекущаяДатаСеанса(), -12); + ИначеЕсли СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.ЗаПоследниеШестьМесяцев Тогда + Возврат ДобавитьМесяц(ТекущаяДатаСеанса(), -6); + ИначеЕсли СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.ЗаПоследниеТриМесяца Тогда + Возврат ДобавитьМесяц(ТекущаяДатаСеанса(), -3); + ИначеЕсли СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.ЗаПоследнийМесяц Тогда + Возврат ДобавитьМесяц(ТекущаяДатаСеанса(), -1); + ИначеЕсли СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.ЗаПоследнююНеделю Тогда + Возврат ТекущаяДатаСеанса() - 7*24*60*60; + Иначе // СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.Бессрочно + Возврат '000101010000'; + КонецЕсли; +КонецФункции + +// Только для служебного использования. +// Комментарий записывается, если пользователь является либо автором версии, либо администратором. +Процедура ДобавитьКомментарийКВерсии(СсылкаНаОбъект, НомерВерсии, Комментарий) Экспорт + + Если Не ЕстьПравоНаЧтениеВерсийОбъектов() Тогда + Возврат; + КонецЕсли; + + МенеджерЗаписи = РегистрыСведений.ВерсииОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.Объект = СсылкаНаОбъект; + МенеджерЗаписи.НомерВерсии = НомерВерсии; + МенеджерЗаписи.Прочитать(); + Если МенеджерЗаписи.Выбран() Тогда + Если МенеджерЗаписи.АвторВерсии = Пользователи.ТекущийПользователь() Или Пользователи.ЭтоПолноправныйПользователь() Тогда + МенеджерЗаписи.Комментарий = Комментарий; + МенеджерЗаписи.Записать(); + КонецЕсли; + КонецЕсли; КонецПроцедуры +// Предоставляет информацию о количестве и объеме устаревших версий объектов. +Функция ИнформацияОбУстаревшихВерсиях() Экспорт + + УстановитьПривилегированныйРежим(Истина); + + ГраницыУдаленияОбъектов = ГраницыУдаленияОбъектов(); + + Запрос = Новый Запрос; + ТекстЗапроса = + "ВЫБРАТЬ + | ЕСТЬNULL(СУММА(ВерсииОбъектов.РазмерДанных), 0) КАК РазмерДанных, + | ЕСТЬNULL(СУММА(1), 0) КАК КоличествоВерсий + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.ЕстьДанныеВерсии + | И &ДополнительныеУсловия"; + + ДополнительныеУсловия = ""; + Для Индекс = 0 По ГраницыУдаленияОбъектов.Количество() - 1 Цикл + Если Не ПустаяСтрока(ДополнительныеУсловия) Тогда + ДополнительныеУсловия = ДополнительныеУсловия + " + | ИЛИ"; + КонецЕсли; + ИндексСтрокой = Формат(Индекс, "ЧН=0; ЧГ=0"); + Условие = ""; + Для Каждого Тип Из ГраницыУдаленияОбъектов[Индекс].СписокТипов Цикл + Если Не ПустаяСтрока(Условие) Тогда + Условие = Условие + " + | ИЛИ"; + КонецЕсли; + Условие = Условие + " + | ВерсииОбъектов.Объект ССЫЛКА " + Тип; + КонецЦикла; + Если ПустаяСтрока(Условие) Тогда + Продолжить; + КонецЕсли; + Условие = "(" + Условие + ")"; + ДополнительныеУсловия = ДополнительныеУсловия + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + " + | %1 + | И ВерсииОбъектов.ДатаВерсии < &ГраницаУдаления%2", + Условие, + ИндексСтрокой); + Запрос.УстановитьПараметр("СписокТипов" + ИндексСтрокой, ГраницыУдаленияОбъектов[Индекс].СписокТипов); + Запрос.УстановитьПараметр("ГраницаУдаления" + ИндексСтрокой, ГраницыУдаленияОбъектов[Индекс].ГраницаУдаления); + КонецЦикла; + + Если ПустаяСтрока(ДополнительныеУсловия) Тогда + ДополнительныеУсловия = "ЛОЖЬ"; + Иначе + ДополнительныеУсловия = "(" + ДополнительныеУсловия + ")"; + КонецЕсли; + + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ДополнительныеУсловия", ДополнительныеУсловия); + Запрос.Текст = ТекстЗапроса; + + Выборка = Запрос.Выполнить().Выбрать(); + КоличествоВерсий = 0; + РазмерДанных = 0; + Если Выборка.Следующий() Тогда + РазмерДанных = Выборка.РазмерДанных; + КоличествоВерсий = Выборка.КоличествоВерсий; + КонецЕсли; + + Результат = Новый Структура; + Результат.Вставить("КоличествоВерсий", КоличествоВерсий); + Результат.Вставить("РазмерДанных", РазмерДанных); + + Возврат Результат; + +КонецФункции + +// Строковое представление объемов данных. Например: "1,23 Гб". +Функция РазмерДанныхСтрокой(Знач РазмерДанных) Экспорт + + ЕдиницаИзмерения = НСтр("ru = 'байт'"); + Если 1024 <= РазмерДанных И РазмерДанных < 1024 * 1024 Тогда + РазмерДанных = РазмерДанных / 1024; + ЕдиницаИзмерения = НСтр("ru = 'Кб'"); + ИначеЕсли 1024 * 1024 <= РазмерДанных И РазмерДанных < 1024 * 1024 * 1024 Тогда + РазмерДанных = РазмерДанных / 1024 / 1024; + ЕдиницаИзмерения = НСтр("ru = 'Мб'"); + ИначеЕсли 1024 * 1024 * 1024 <= РазмерДанных Тогда + РазмерДанных = РазмерДанных / 1024 / 1024 / 1024; + ЕдиницаИзмерения = НСтр("ru = 'Гб'"); + КонецЕсли; + + Если РазмерДанных < 10 Тогда + РазмерДанных = Окр(РазмерДанных, 2); + ИначеЕсли РазмерДанных < 100 Тогда + РазмерДанных = Окр(РазмерДанных, 1); + Иначе + РазмерДанных = Окр(РазмерДанных, 0); + КонецЕсли; + + Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '%1 %2'"), РазмерДанных, ЕдиницаИзмерения); + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Функции для получения отчета по объекту @@ -821,7 +1279,7 @@ // // Возвращаемое значение: // ДвоичныеДанные - сериализованный объект. -Функция СериализоватьОбъект(Объект) +Функция СериализоватьОбъект(Объект) Экспорт ЗаписьXML = Новый ЗаписьFastInfoset; ЗаписьXML.УстановитьДвоичныеДанные(); @@ -859,7 +1317,7 @@ // ... // ИмяРеквизитаN -> ЗначениеN // -Функция РазборПредставленияОбъектаXML(ДвоичныеДанные, Ссылка) +Функция РазборПредставленияОбъектаXML(ДвоичныеДанные, Ссылка) Экспорт // содержит имя метаданного измененного объекта Перем ИмяОбъекта; @@ -909,6 +1367,9 @@ // любой реквизит "может оказаться" табличной частью, поэтому на всякий случай его запомним. ИмяТабличнойЧасти = ИмяРеквизита; + Если МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти) <> Неопределено И ТабличныеЧасти[ИмяТабличнойЧасти] = Неопределено Тогда + ТабличныеЧасти.Вставить(ИмяТабличнойЧасти, Новый ТаблицаЗначений); + КонецЕсли; НовоеЗР = ЗначенияРеквизитов.Добавить(); НовоеЗР.НаименованиеРеквизита = ИмяРеквизита; @@ -992,9 +1453,11 @@ ТипЗначения = ""; ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда Если (УровеньЧтения = 2) Тогда // значение реквизита - - НовоеЗР.ЗначениеРеквизита = ?(ЗначениеЗаполнено(НовоеЗР.Тип), XMLЗначение(НовоеЗР.Тип, ЧтениеXML.Значение), ЧтениеXML.Значение); - + Попытка + НовоеЗР.ЗначениеРеквизита = ?(ЗначениеЗаполнено(НовоеЗР.Тип), XMLЗначение(НовоеЗР.Тип, ЧтениеXML.Значение), ЧтениеXML.Значение); + Исключение + НовоеЗР.ЗначениеРеквизита = ЧтениеXML.Значение; + КонецПопытки; ИначеЕсли (УровеньЧтения = 4) Тогда // значение реквизита ПоследняяСтрока = ТабличныеЧасти[ИмяТабличнойЧасти].Получить(ТабличныеЧасти[ИмяТабличнойЧасти].Количество()-1); @@ -1045,7 +1508,7 @@ // Получает представление наименования системного реквизита // -Функция ПолучитьПредставлениеРеквизитаНаЯзыке(Знач ИмяРеквизита) +Функция ПолучитьПредставлениеРеквизитаНаЯзыке(Знач ИмяРеквизита) Экспорт Если ИмяРеквизита = "Number" Тогда Возврат НСтр("ru = 'Номер'; en='Number'"); @@ -1432,4 +1895,41 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Обработчики служебных событий подсистем БСП + +// Заполняет массив списком имен объектов метаданных, данные которых могут содержать ссылки на различные объекты метаданных, +// но при этом эти ссылки не должны учитываться в бизнес-логике приложения. +// +// Параметры: +// Массив - массив строк, например, "РегистрСведений.ВерсииОбъектов". +// +Процедура ПриДобавленииИсключенийПоискаСсылок(Массив) Экспорт + + Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.ПолноеИмя()); + +КонецПроцедуры + +// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной информационной базе. +// +// Параметры: +// см. описание обработчика события ПриПолученииДанныхОтПодчиненного() в синтаксис-помощнике. +// +Процедура ПриПолученииДанныхОтПодчиненного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт + + ДобавлениеСведенийОВерсииОбъектаПриОбменеДанными(ЭлементДанных, Отправитель); + +КонецПроцедуры + +// Процедура является обработчиком одноименного события, возникающего при обмене данными в распределенной информационной базе. +// +// Параметры: +// см. описание обработчика события ПриПолученииДанныхОтГлавного() в синтаксис-помощнике. +// +Процедура ПриПолученииДанныхОтГлавного(ЭлементДанных, ПолучениеЭлемента, ОтправкаНазад, Отправитель) Экспорт + + ДобавлениеСведенийОВерсииОбъектаПриОбменеДанными(ЭлементДанных, Отправитель); + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/ВерсионированиеОбъектовСобытия/Module.bsl b/SSL/src/CommonModules/ВерсионированиеОбъектовСобытия/Module.bsl index 6462a42d7..5a69a1dba 100644 --- a/SSL/src/CommonModules/ВерсионированиеОбъектовСобытия/Module.bsl +++ b/SSL/src/CommonModules/ВерсионированиеОбъектовСобытия/Module.bsl @@ -5,7 +5,7 @@ #Область ПрограммныйИнтерфейс -// Записывает версию объекта в информационную базу. +// Записывает версию объекта (кроме документов) в информационную базу. // // Параметры // Источник - Объект - записываемый объект ИБ; @@ -13,15 +13,19 @@ // Процедура ЗаписатьВерсиюОбъекта(Источник, Отказ) Экспорт - Если Источник.ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; + ВерсионированиеОбъектов.ЗаписатьВерсиюОбъекта(Источник, Ложь); - Если Источник.ДополнительныеСвойства.Свойство("СведенияОВерсииОбъекта") Тогда - Возврат; - КонецЕсли; +КонецПроцедуры + +// Записывает версию документа в информационную базу. +// +// Параметры +// Источник - Объект - записываемый документ ИБ; +// Отказ - Булево - признак отказа от записи документа. +// +Процедура ЗаписатьВерсиюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт - ВерсионированиеОбъектов.ПриСозданииВерсииОбъекта(Источник); + ВерсионированиеОбъектов.ЗаписатьВерсиюОбъекта(Источник, РежимЗаписи = РежимЗаписиДокумента.Проведение); КонецПроцедуры diff --git a/SSL/src/CommonModules/Взаимодействия/Module.bsl b/SSL/src/CommonModules/Взаимодействия/Module.bsl index 6b0a7f63a..387c93c3b 100644 --- a/SSL/src/CommonModules/Взаимодействия/Module.bsl +++ b/SSL/src/CommonModules/Взаимодействия/Module.bsl @@ -2427,7 +2427,16 @@ ПараметрыПисьма.Вставить("ИдентификаторыОснований", Объект.ИдентификаторыОснований); КонецЕсли; - соотвВложения = Новый Соответствие; + СоотвВложения = Новый Соответствие; + + ДанныеПрисоединенныхФайловПисьма = ВзаимодействияПереопределяемый.ПолучитьДанныеОбъектаМетаданныхПрисоединенныхФайловПисьма(Объект); + Если ДанныеПрисоединенныхФайловПисьма = Неопределено Тогда + ИмяОбъектаМетаданных = УправлениеЭлектроннойПочтой.ПолучитьИмяОбъектаМетаданныхПрисоединенныхФайловПисьма(Объект.Ссылка); + ВладелецФайлов = Объект.Ссылка; + Иначе + ИмяОбъектаМетаданных = ДанныеПрисоединенныхФайловПисьма.ИмяСправочникаПрисоединенныеФайлы; + ВладелецФайлов = ДанныеПрисоединенныхФайловПисьма.Владелец; + КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = @@ -2441,30 +2450,30 @@ | ), | Файлы.ИДФайлаЭлектронногоПисьма |ИЗ - | Справочник.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы КАК Файлы + | Справочник." + ИмяОбъектаМетаданных + " КАК Файлы |ГДЕ | Файлы.ВладелецФайла = &ВладелецФайла"; - Запрос.УстановитьПараметр("ВладелецФайла", Объект.Ссылка); + Запрос.УстановитьПараметр("ВладелецФайла", ВладелецФайлов); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ИмяФайла = Выборка.ПолноеНаименование + ?(Выборка.Расширение = "", "", "." + Выборка.Расширение); Если ПустаяСтрока(Выборка.ИДФайлаЭлектронногоПисьма) Тогда - соотвВложения.Вставить(ИмяФайла, ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Выборка.Ссылка)); + СоотвВложения.Вставить(ИмяФайла, ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Выборка.Ссылка)); Иначе СтруктураДанныеВложения = Новый Структура; СтруктураДанныеВложения.Вставить("ДвоичныеДанные", ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(Выборка.Ссылка)); СтруктураДанныеВложения.Вставить("Идентификатор", Выборка.ИДФайлаЭлектронногоПисьма); - соотвВложения.Вставить(ИмяФайла, СтруктураДанныеВложения); + СоотвВложения.Вставить(ИмяФайла, СтруктураДанныеВложения); КонецЕсли; Для каждого ЭП Из Выборка.ЭлектронныеПодписи.Выгрузить() Цикл - соотвВложения.Вставить(Выборка.ПолноеНаименование + "-DS("+ ЭП.НомерСтроки + ")." + + СоотвВложения.Вставить(Выборка.ПолноеНаименование + "-DS("+ ЭП.НомерСтроки + ")." + РасширениеДляФайловПодписи,ЭП.Подпись.Получить()); КонецЦикла; КонецЦикла; - ПараметрыПисьма.Вставить("Вложения", соотвВложения); + ПараметрыПисьма.Вставить("Вложения", СоотвВложения); ПараметрыПисьма.Вставить("ОбрабатыватьТексты", Ложь); Если Объект.УведомитьОДоставке Тогда @@ -3081,8 +3090,9 @@ Процедура РассчитатьРассмотреноПоКонтактамПриЗаписиИзФормы(ТекущийОбъект, Форма, СтарыеЗначенияРеквизитов) - Если НеЗаписыватьКонтакты(ТекущийОбъект.ДополнительныеСвойства) - И СтарыеЗначенияРеквизитов.Рассмотрено <> Форма.Рассмотрено Тогда + Если (НеЗаписыватьКонтакты(ТекущийОбъект.ДополнительныеСвойства) + И СтарыеЗначенияРеквизитов.Рассмотрено <> Форма.Рассмотрено) + ИЛИ Форма.Объект.Ссылка.Пустая() Тогда МассивВзаимодействий = Новый Массив; МассивВзаимодействий.Добавить(ТекущийОбъект.Ссылка); @@ -3740,7 +3750,15 @@ // Функция ПолучитьВложенияПисьмаСНеПустымИД(Письмо) Экспорт - ИмяМетаданныхПисьма = Письмо.Метаданные().Имя; + ДанныеПрисоединенныхФайловПисьма = ВзаимодействияПереопределяемый.ПолучитьДанныеОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо); + + Если ДанныеПрисоединенныхФайловПисьма = Неопределено Тогда + ИмяОбъектаМетаданных = УправлениеЭлектроннойПочтой.ПолучитьИмяОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо); + ВладелецФайлов = Письмо; + Иначе + ИмяОбъектаМетаданных = ДанныеПрисоединенныхФайловПисьма.ИмяСправочникаПрисоединенныеФайлы; + ВладелецФайлов = ДанныеПрисоединенныхФайловПисьма.Владелец; + КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = " @@ -3750,14 +3768,14 @@ | ПрисоединенныеФайлыПисьма.Размер, | ПрисоединенныеФайлыПисьма.ИДФайлаЭлектронногоПисьма |ИЗ - | Справочник." + ИмяМетаданныхПисьма + "ПрисоединенныеФайлы КАК ПрисоединенныеФайлыПисьма + | Справочник." + ИмяОбъектаМетаданных + " КАК ПрисоединенныеФайлыПисьма |ГДЕ - | ПрисоединенныеФайлыПисьма.ВладелецФайла = &Письмо + | ПрисоединенныеФайлыПисьма.ВладелецФайла = &ВладелецФайлов | И (НЕ ПрисоединенныеФайлыПисьма.ПометкаУдаления) | И ПрисоединенныеФайлыПисьма.ИДФайлаЭлектронногоПисьма <> &ПустаяСтрока"; Запрос.УстановитьПараметр("ПустаяСтрока",""); - Запрос.УстановитьПараметр("Письмо",Письмо); + Запрос.УстановитьПараметр("ВладелецФайлов",ВладелецФайлов); Возврат Запрос.Выполнить().Выгрузить(); @@ -4594,9 +4612,20 @@ | СообщениеSMSАдресаты.СостояниеСообщения = ЗНАЧЕНИЕ(Перечисление.СостоянияСообщенияSMS.Исходящее) | И НЕ СообщениеSMS.ПометкаУдаления | И СообщениеSMSАдресаты.ИдентификаторСообщения = """" + | И ВЫБОР + | КОГДА СообщениеSMS.ДатаКогдаОтправить <> ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ СообщениеSMS.ДатаКогдаОтправить < &ТекущаяДата + | КОНЕЦ + | И ВЫБОР + | КОГДА СообщениеSMS.ДатаАктуальностиОтправки = ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ СообщениеSMS.ДатаАктуальностиОтправки > &ТекущаяДата + | КОНЕЦ |ИТОГИ ПО | Ссылка"; + Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса()); ВыборкаДокументы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаДокументы.Следующий() Цикл @@ -5884,7 +5913,7 @@ | Взаимодействия.Ссылка КАК Ссылка, | ЕСТЬNULL(Взаимодействия.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаПоследнегоВзаимодействия, | ВЫБОР - | КОГДА ЕСТЬNULL(ПредметыПапкиВзаимодействий.Рассмотрено, ЛОЖЬ) + | КОГДА ЕСТЬNULL(ПредметыПапкиВзаимодействий.Рассмотрено, ИСТИНА) | ТОГДА 0 | ИНАЧЕ 1 | КОНЕЦ КАК КоличествоНеРассмотрено @@ -6367,10 +6396,11 @@ | КОНЕЦ КАК НомерКартинки, | ЖурналДокументовВзаимодействия.Ссылка, | ЖурналДокументовВзаимодействия.Дата, - | ЖурналДокументовВзаимодействия.ПометкаУдаления, + | ЖурналДокументовВзаимодействия.ПометкаУдаления КАК ПометкаУдаления, | ЖурналДокументовВзаимодействия.Номер, | ЖурналДокументовВзаимодействия.Проведен, | ЖурналДокументовВзаимодействия.Автор, + | ЖурналДокументовВзаимодействия.ВзаимодействиеОснование, | ЖурналДокументовВзаимодействия.Входящий, | ЖурналДокументовВзаимодействия.Тема, | ЖурналДокументовВзаимодействия.Ответственный КАК Ответственный, @@ -6379,6 +6409,15 @@ | ЖурналДокументовВзаимодействия.Участники, | ЖурналДокументовВзаимодействия.Тип, | ЖурналДокументовВзаимодействия.УчетнаяЗапись, + | ЖурналДокументовВзаимодействия.ЕстьВложения, + | ЖурналДокументовВзаимодействия.Важность, + | ВЫБОР + | КОГДА ЖурналДокументовВзаимодействия.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиВзаимодействия.Высокая) + | ТОГДА 2 + | КОГДА ЖурналДокументовВзаимодействия.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиВзаимодействия.Низкая) + | ТОГДА 0 + | ИНАЧЕ 1 + | КОНЕЦ КАК ВажностьНомерКартинки, | %Предмет% КАК Предмет, | ТИПЗНАЧЕНИЯ(ПредметыВзаимодействий.Предмет) КАК ТипПредмета, | ЕСТЬNULL(ПредметыВзаимодействий.ПапкаЭлектронногоПисьма, ЗНАЧЕНИЕ(Справочник.ПапкиЭлектронныхПисем.ПустаяСсылка)) КАК Папка, @@ -6802,4 +6841,70 @@ КонецФункции +Процедура ЗаполнитьПодменюСтатус(ГруппаПодменю , Форма) Экспорт + + СписокСтатусов = ВзаимодействияКлиентСервер.СписокСтатусов(); + + Для Инд = 0 По СписокСтатусов.Количество() - 1 Цикл + + Представление = СписокСтатусов.Получить(Инд).Представление; + Значение = СписокСтатусов.Получить(Инд).Значение; + + НоваяКоманда = Форма.Команды.Добавить("УстановитьОтборСтатус_" + Значение); + НоваяКоманда.Действие = "Подключаемый_ИзменитьОтборСтатус"; + ЭлементКнопкаПодменю = Форма.Элементы.Добавить("УстановитьОтборСтатус_" + Значение, Тип("КнопкаФормы"), ГруппаПодменю); + ЭлементКнопкаПодменю.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; + ЭлементКнопкаПодменю.ИмяКоманды = НоваяКоманда.Имя; + ЭлементКнопкаПодменю.Заголовок = Представление; + ЭлементКнопкаПодменю.ТолькоВоВсехДействиях = Истина; + + КонецЦикла; + +КонецПроцедуры + +Процедура ЗаполнитьПодменюПоТипуВзаимодействия(ГруппаПодменю , Форма) Экспорт + + СписокОтборов = ВзаимодействияКлиентСервер.СписокОтборовПоТипуВзаимодействий(Форма.ТолькоПочта); + + Для Инд = 0 По СписокОтборов.Количество() - 1 Цикл + + Представление = СписокОтборов.Получить(Инд).Представление; + Значение = СписокОтборов.Получить(Инд).Значение; + + ИмяКоманды = "УстановитьОтборТипВзаимодействия_" + Значение; + НайденнаяКоманда = Форма.Команды.Найти(ИмяКоманды); + + Если НайденнаяКоманда = Неопределено Тогда + НоваяКоманда = Форма.Команды.Добавить("УстановитьОтборТипВзаимодействия_" + Значение); + НоваяКоманда.Действие = "Подключаемый_ИзменитьОтборТипВзаимодействия"; + Иначе + НоваяКоманда = НайденнаяКоманда; + КонецЕсли; + + ЭлементКнопкаПодменю = Форма.Элементы.Добавить("УстановитьОтборТипВзаимодействия_" + ГруппаПодменю.Имя + "_"+ Значение, Тип("КнопкаФормы"), ГруппаПодменю); + ЭлементКнопкаПодменю.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; + ЭлементКнопкаПодменю.ИмяКоманды = НоваяКоманда.Имя; + ЭлементКнопкаПодменю.Заголовок = Представление; + ЭлементКнопкаПодменю.ТолькоВоВсехДействиях = Истина; + + КонецЦикла; + +КонецПроцедуры + +Процедура ОбработатьПодменюОтборПоТипуВзаимодействий(Форма) Экспорт + + ШаблонЗаголовка = НСтр("ru = 'Тип взаимодействий: %1'"); + ПредставлениеТипа = ВзаимодействияКлиентСервер.СписокОтборовПоТипуВзаимодействий(Форма.ТолькоПочта).НайтиПоЗначению(Форма.ТипВзаимодействия).Представление; + Форма.Элементы.СписокТипВзаимодействия.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ПредставлениеТипа); + Для Каждого ЭлементПодменю Из Форма.Элементы.СписокТипВзаимодействия.ПодчиненныеЭлементы Цикл + Если ЭлементПодменю.Имя = ("УстановитьОтборТипВзаимодействия_СписокТипВзаимодействия_" + Форма.ТипВзаимодействия) Тогда + ЭлементПодменю.Пометка = Истина; + Иначе + ЭлементПодменю.Пометка = Ложь; + КонецЕсли; + КонецЦикла + +КонецПроцедуры + + #КонецОбласти diff --git a/SSL/src/CommonModules/ВзаимодействияКлиент/Module.bsl b/SSL/src/CommonModules/ВзаимодействияКлиент/Module.bsl index 814e130ad..8e38f03c8 100644 --- a/SSL/src/CommonModules/ВзаимодействияКлиент/Module.bsl +++ b/SSL/src/CommonModules/ВзаимодействияКлиент/Module.bsl @@ -423,9 +423,7 @@ МассивОписанияКонтактов = ВзаимодействияКлиентСервер.ПолучитьМассивОписанияВозможныхКонтактов(); Для каждого ЭлементМассиваОписания Из МассивОписанияКонтактов Цикл Если ЭлементМассиваОписания.ИмяВладельца = ИмяТаблицыБезПрефикса Тогда - Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда - КоллекцияОтборов = Форма["Список_" + ЭлементМассиваОписания.Имя].КомпоновщикНастроек.ФиксированныеНастройки.Отбор; - КонецЕсли; + КоллекцияОтборов = Форма["Список_" + ЭлементМассиваОписания.Имя].КомпоновщикНастроек.ФиксированныеНастройки.Отбор; КоллекцияОтборов.Элементы[0].ПравоеЗначение = ЗначениеОтбора; КонецЕсли; КонецЦикла; @@ -554,4 +552,31 @@ КонецПроцедуры +// Выполняет проверку правильности заполнения реквизитов ДатаКогдаОтправить и ДатаАктуальностиОтправки в форме документа. +// +// Параметры: +// Объект - ДокументОбъект - документ, в котором выполняется проверка. +// Отказ - Булево - устанавливает в истина, если реквизиты заполнены не правильно +// +Процедура ПроверкаЗаполненностиРеквизитовОтложеннойОтправки(Объект, Отказ) Экспорт + + Если Объект.ДатаКогдаОтправить > Объект.ДатаАктуальностиОтправки И (Не Объект.ДатаАктуальностиОтправки = Дата(1,1,1)) Тогда + + Отказ = Истина; + ТекстСообщения= НСтр("ru = 'Дата актуальности отправки меньше чем дата отправки.'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "Объект.ДатаАктуальностиОтправки"); + + КонецЕсли; + + Если НЕ Объект.ДатаАктуальностиОтправки = Дата(1,1,1) + И Объект.ДатаАктуальностиОтправки < ОбщегоНазначенияКлиент.ДатаСеанса() Тогда + + Отказ = Истина; + ТекстСообщения= НСтр("ru = 'Указанная дата актуальности меньше текущей даты, такое сообщение никогда не будет отправлено'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения,, "Объект.ДатаАктуальностиОтправки"); + + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/ВзаимодействияКлиентСервер/Module.bsl b/SSL/src/CommonModules/ВзаимодействияКлиентСервер/Module.bsl index 50967fdfc..6a3c73712 100644 --- a/SSL/src/CommonModules/ВзаимодействияКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ВзаимодействияКлиентСервер/Module.bsl @@ -480,9 +480,9 @@ РазмерМб = РазмерВБайтах / (1024*1024); Если РазмерМб > 1 Тогда - СтрокаРазмер = Формат(РазмерМб,"ЧДЦ=1") + " " + Нстр("ru = 'Мбайт'"); + СтрокаРазмер = Формат(РазмерМб,"ЧДЦ=1") + " " + Нстр("ru = 'Мб'"); Иначе - СтрокаРазмер = Формат(РазмерВБайтах /1024,"ЧДЦ=0; ЧН=0") + " " + Нстр("ru = 'Кбайт'"); + СтрокаРазмер = Формат(РазмерВБайтах /1024,"ЧДЦ=0; ЧН=0") + " " + Нстр("ru = 'Кб'"); КонецЕсли; Возврат СтрокаРазмер; @@ -550,7 +550,7 @@ //очистить связанные отборы ГруппаОтбора = ОбщегоНазначенияКлиентСервер.СоздатьГруппуЭлементовОтбора( - Отбор.Элементы,"ОтборПоТипуВзаимодействий",ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ); + Отбор.Элементы,"Отбор по типу взаимодействий",ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ); //установить отборы для типа Если ТипВзаимодействия = "ВсеПисьма" Тогда @@ -845,4 +845,114 @@ КонецФункции +Функция СписокСтатусов() Экспорт + + СписокСтатусов = Новый СписокЗначений; + СписокСтатусов.Добавить("Все", НСтр("ru = 'Все'")); + СписокСтатусов.Добавить("КРассмотрению", НСтр("ru = 'К рассмотрению'")); + СписокСтатусов.Добавить("Отложенные", НСтр("ru = 'Отложенные'")); + СписокСтатусов.Добавить("Рассмотренные", НСтр("ru = 'Рассмотренные'")); + + Возврат СписокСтатусов; + +КонецФункции + +Функция СтатусПоИмениКоманды(ИмяКоманды) Экспорт + + НайденнаяПозиция = Найти(ИмяКоманды, "_"); + Если НайденнаяПозиция = 0 Тогда + Возврат "Все"; + КонецЕсли; + + СтрокаСтатус = Прав(ИмяКоманды, СтрДлина(ИмяКоманды) - НайденнаяПозиция); + Если СписокСтатусов().НайтиПоЗначению(СтрокаСтатус) = Неопределено Тогда + Возврат "Все"; + КонецЕсли; + + Возврат СтрокаСтатус; + +КонецФункции + +Функция ТипВзаимодействияПоИмениКоманды(ИмяКоманды, ТолькоПочта) Экспорт + + НайденнаяПозиция = Найти(ИмяКоманды, "_"); + Если НайденнаяПозиция = 0 Тогда + Возврат "Все"; + КонецЕсли; + + СтрокаТипВзаимодействия = Прав(ИмяКоманды, СтрДлина(ИмяКоманды) - НайденнаяПозиция); + Если СписокОтборовПоТипуВзаимодействий(ТолькоПочта).НайтиПоЗначению(СтрокаТипВзаимодействия) = Неопределено Тогда + Возврат "Все"; + КонецЕсли; + + Возврат СтрокаТипВзаимодействия; + +КонецФункции + +Функция СписокОтборовПоТипуВзаимодействий(ТолькоПочта) Экспорт + + СписокОтборов = Новый СписокЗначений; + + СписокОтборов.Добавить("Все", НСтр("ru = 'Все'")); + СписокОтборов.Добавить("ВсеПисьма", НСтр("ru = 'Все письма'")); + Если Не ТолькоПочта Тогда + СписокОтборов.Добавить("Встречи", НСтр("ru = 'Встречи'")); + СписокОтборов.Добавить("ТелефонныеЗвонки", НСтр("ru = 'Телефонные звонки'")); + СписокОтборов.Добавить("ЗапланированныеВзаимодействия", НСтр("ru = 'Запланированные взаимодействия'")); + СписокОтборов.Добавить("СообщенияSMS", НСтр("ru = 'Сообщения SMS'")); + КонецЕсли; + СписокОтборов.Добавить("ВходящиеПисьма", НСтр("ru = 'Входящие'")); + СписокОтборов.Добавить("ПисьмаЧерновики", НСтр("ru = 'Черновики'")); + СписокОтборов.Добавить("ИсходящиеПисьма", НСтр("ru = 'Исходящие'")); + СписокОтборов.Добавить("Отправленные", НСтр("ru = 'Отправленные'")); + СписокОтборов.Добавить("УдаленныеПисьма", НСтр("ru = 'Удаленные'")); + Если Не ТолькоПочта Тогда + СписокОтборов.Добавить("ИсходящиеЗвонки", НСтр("ru = 'Исходящие звонки'")); + СписокОтборов.Добавить("ВходящиеЗвонки", НСтр("ru = 'Входящие звонки'")); + КонецЕсли; + + Возврат СписокОтборов; + +КонецФункции + +Процедура ОбработкаПолученияПредставления(МенеджерОбъекта, Данные, Представление, СтандартнаяОбработка) Экспорт + + Тема = ?(ПустаяСтрока(Данные.Тема), НСтр("ru = 'Без темы'"), Данные.Тема); + Дата = Формат(Данные.Дата, "ДЛФ=D"); + ТипДокумента = ""; + Если ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.Встреча") Тогда + ТипДокумента = НСтр("ru = 'Встреча'"); + ИначеЕсли ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.ЗапланированноеВзаимодействие") Тогда + ТипДокумента = НСтр("ru = 'Запланированное взаимодействие'"); + ИначеЕсли ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.СообщениеSMS") Тогда + ТипДокумента = НСтр("ru = 'SMS'"); + ИначеЕсли ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.ТелефонныйЗвонок") Тогда + ТипДокумента = НСтр("ru = 'Телефонный звонок'"); + ИначеЕсли ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.ЭлектронноеПисьмоВходящее") Тогда + ТипДокумента = НСтр("ru = 'Входящее письмо'"); + ИначеЕсли ТипЗнч(МенеджерОбъекта) = Тип("ДокументМенеджер.ЭлектронноеПисьмоИсходящее") Тогда + ТипДокумента = НСтр("ru = 'Исходящее письмо'"); + КонецЕсли; + + ШаблонПредставления = НСтр("ru = '%1 от %2 (%3)'"); + Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, Тема, Дата, ТипДокумента); + + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +Процедура ОбработкаПолученияПолейПредставления(МенеджерОбъекта, Поля, СтандартнаяОбработка) Экспорт + + Поля.Добавить("Тема"); + Поля.Добавить("Дата"); + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +Функция ПолучитьКартинкуСтраницыПодписи(ПоказыватьКартинку) Экспорт + + Возврат ?( ПоказыватьКартинку, БиблиотекаКартинок.КоличествоРассмотрено, Новый Картинка); + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ВзаимодействияКлиентСерверПовтИспПереопределяемый/Module.bsl b/SSL/src/CommonModules/ВзаимодействияКлиентСерверПовтИспПереопределяемый/Module.bsl index d2adeafee..d1855d84a 100644 --- a/SSL/src/CommonModules/ВзаимодействияКлиентСерверПовтИспПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ВзаимодействияКлиентСерверПовтИспПереопределяемый/Module.bsl @@ -34,7 +34,7 @@ // ВзаимодействияКлиентСервер. // Процедура ДополнитьМассивОписанияВозможныхКонтактов(МассивВозможныеКонтакты) Экспорт - + КонецПроцедуры diff --git a/SSL/src/CommonModules/ВзаимодействияПереопределяемый/Module.bsl b/SSL/src/CommonModules/ВзаимодействияПереопределяемый/Module.bsl index b78bd78e0..93983432a 100644 --- a/SSL/src/CommonModules/ВзаимодействияПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ВзаимодействияПереопределяемый/Module.bsl @@ -25,4 +25,23 @@ КонецФункции +//Возможность переопределить владельца присоединенных файлов для письма. +//Такая необходимость может возникнуть например при массовых рассылках. В этом случае имеет смысл +//хранить одни и те же присоединенные файлы в одном месте, а не тиражировать их на все письма рассылки. +// +//Параметры +// Письмо - ДокументСсылка, ДокументОбъект - документ электронное письмо для которого необходимо получить вложения. +// +//Возвращаемое значение: +// Структура,Неопределено - Неопределено, если присоединенные файлы хранятся при письме. +// Структура, если присоединенные файлы хранятся в другом объекте. Формат структуры: +// - Владелец - владелец присоединенных файлов, +// - ИмяСправочникаПрисоединенныеФайлы - имя объекта метаданных присоединенных файлов. +// +Функция ПолучитьДанныеОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо) Экспорт + + Возврат Неопределено; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ВнешниеПользователи/Module.bsl b/SSL/src/CommonModules/ВнешниеПользователи/Module.bsl index ba9ace902..209b30a1d 100644 --- a/SSL/src/CommonModules/ВнешниеПользователи/Module.bsl +++ b/SSL/src/CommonModules/ВнешниеПользователи/Module.bsl @@ -5,11 +5,11 @@ #Область ПрограммныйИнтерфейс -// Возвращает признак использования внешних пользователей в программе. +// Возвращает признак использования внешних пользователей в программе // (значение функциональной опции ИспользоватьВнешнихПользователей). // // Возвращаемое значение: -// Булево. +// Булево - если Истина, внешние пользователи включены. // Функция ИспользоватьВнешнихПользователей() Экспорт @@ -17,7 +17,7 @@ КонецФункции -// См. ПользователиКлиентСервер.ТекущийВнешнийПользователь(). +// См. одноименную функцию в общем модуле ПользователиКлиентСервер. Функция ТекущийВнешнийПользователь() Экспорт Возврат ПользователиКлиентСервер.ТекущийВнешнийПользователь(); @@ -28,12 +28,13 @@ // Объект авторизации - это ссылка на объект информационной базы, используемый // для связи с внешним пользователем, например, контрагент, физическое лицо и т.д. // -// Параметры +// Параметры: // ВнешнийПользователь - Неопределено - используется текущий внешний пользователь. -// СправочникСсылка.ВнешниеПользователи. +// - СправочникСсылка.ВнешниеПользователи - указанный внешний пользователь. // // Возвращаемое значение: -// Метаданные.Справочники.ВнешниеПользователи.Реквизиты.ОбъектыАвторизации.Тип +// Ссылка - объект авторизации одного из типов, указанных в описании типов в свойстве +// "Метаданные.Справочники.ВнешниеПользователи.Реквизиты.ОбъектыАвторизации.Тип". // Функция ПолучитьОбъектАвторизацииВнешнегоПользователя(ВнешнийПользователь = Неопределено) Экспорт diff --git a/SSL/src/CommonModules/ДатыЗапретаИзменения/Module.bsl b/SSL/src/CommonModules/ДатыЗапретаИзменения/Module.bsl index 881b39267..476baecc1 100644 --- a/SSL/src/CommonModules/ДатыЗапретаИзменения/Module.bsl +++ b/SSL/src/CommonModules/ДатыЗапретаИзменения/Module.bsl @@ -6,35 +6,30 @@ #Область ПрограммныйИнтерфейс // Проверяет наличие запрета изменения элемента данных. -// Для работы функции требуется настройка -// процедуры ДанныеДляПроверкиЗапретаИзменения +// Для работы функции требуется настройка процедуры ДанныеДляПроверкиЗапретаИзменения // модуля ДатыЗапретаИзмененияПереопределяемый. // -// Если Данные - полное имя объекта метаданных, -// тогда данные для проверки будут получены +// Если Данные - полное имя объекта метаданных, тогда данные для проверки будут получены // из базы данных через ИдентификаторДанных. -// Если Данные - объект, тогда данные для проверки -// будут получены из экземпляра объекта или +// Если Данные - объект, тогда данные для проверки будут получены из экземпляра объекта или // набора записей. -// Если Данные - объект и задан ИдентификаторДанных, -// тогда будут выполнены две проверки, причем -// данные будут получены и из объекта/набора записей, -// и из базы данных через ИдентификаторДанных. +// Если Данные - объект и задан ИдентификаторДанных, тогда будут выполнены две проверки, причем +// данные будут получены и из объекта/набора записей, и из базы данных через ИдентификаторДанных. // // Параметры: -// Данные - Строка (полное имя объекта метаданных), -// СправочникОбъект.<Имя>, +// Данные - Строка - (полное имя объекта метаданных). +// - СправочникОбъект.<Имя>, // ДокументОбъект.<Имя>, // ПланВидовХарактеристикОбъект.<Имя>, // ПланСчетовОбъект.<Имя>, // ПланВидовРасчетаОбъект.<Имя>, // БизнесПроцессОбъект.<Имя>, // ЗадачаОбъект.<Имя>, -// ПланОбменаОбъект.<Имя>, -// РегистрСведенийНаборЗаписей.<Имя>, -// РегистрНакопленияНаборЗаписей.<Имя>, -// РегистрБухгалтерииНаборЗаписей.<Имя>, -// РегистрРасчетаНаборЗаписей.<Имя>. +// ПланОбменаОбъект - объект данных. +// - РегистрСведенийНаборЗаписей.<Имя>.Отбор, +// РегистрНакопленияНаборЗаписей.<Имя>.Отбор, +// РегистрБухгалтерииНаборЗаписей.<Имя>.Отбор, +// РегистрРасчетаНаборЗаписей.<Имя>.Отбор - набор записей. // // ИдентификаторДанных - СправочникСсылка.<Имя>, // ДокументСсылка.<Имя>, @@ -43,17 +38,17 @@ // ПланВидовРасчетаСсылка.<Имя>, // БизнесПроцессСсылка.<Имя>, // ЗадачаСсылка.<Имя>, -// ПланОбменаСсылка.<Имя>, -// РегистрСведенийНаборЗаписей.<Имя>.Отбор, +// ПланОбменаСсылка.<Имя> - ссылка на объект данных. +// - РегистрСведенийНаборЗаписей.<Имя>.Отбор, // РегистрНакопленияНаборЗаписей.<Имя>.Отбор, // РегистрБухгалтерииНаборЗаписей.<Имя>.Отбор, -// РегистрРасчетаНаборЗаписей.<Имя>.Отбор. +// РегистрРасчетаНаборЗаписей.<Имя>.Отбор - отбор набора записей. // -// СообщитьОЗапрете - Булево, если передать Ложь, сообщение пользователю +// СообщитьОЗапрете - Булево - если передать Ложь, сообщение пользователю // о запрете изменения данных не будет отправлено. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, изменение запрещено. // Функция ИзменениеЗапрещено(Знач Данные, Знач ИдентификаторДанных = Неопределено, @@ -75,10 +70,10 @@ КонецФункции // Проверяет наличие запрета загрузки элемента данных. -// Для работы функции требуется настройка -// процедуры ДанныеДляПроверкиЗапретаИзменения +// Для работы функции требуется настройка процедуры ДанныеДляПроверкиЗапретаИзменения // модуля ДатыЗапретаИзмененияПереопределяемый. // +// Параметры: // Данные - СправочникОбъект.<Имя>, // ДокументОбъект.<Имя>, // ПланВидовХарактеристикОбъект.<Имя>, @@ -87,24 +82,30 @@ // БизнесПроцессОбъект.<Имя>, // ЗадачаОбъект.<Имя>, // ПланОбменаОбъект.<Имя>, +// УдалениеОбъекта - объект данных. // РегистрСведенийНаборЗаписей.<Имя>, // РегистрНакопленияНаборЗаписей.<Имя>, // РегистрБухгалтерииНаборЗаписей.<Имя>, -// РегистрРасчетаНаборЗаписей.<Имя>. +// РегистрРасчетаНаборЗаписей.<Имя> - набор записей. // -// УзелПланаОбмена - ПланыОбменаСсылка.<Имя плана обмена> узел, +// УзелПланаОбмена - ПланыОбменаСсылка.<Имя плана обмена> - узел, // для которого будет выполнена проверка. // // СообщениеОбОшибке - Строка (возвращаемое значение) - описание запрета загрузки. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, загрузка запрещена. // Функция ЗагрузкаЗапрещена(Данные, УзелПланаОбмена, СообщениеОбОшибке = "") Экспорт - ОбъектМетаданных = Данные.Метаданные(); + Если ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда + ОбъектМетаданных = Данные.Ссылка.Метаданные(); + Иначе + ОбъектМетаданных = Данные.Метаданные(); + КонецЕсли; - ИсточникиДанных = ДатыЗапретаИзмененияПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения( + + ИсточникиДанных = ДатыЗапретаИзмененияСлужебныйПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения( ).НайтиСтроки(Новый Структура("Таблица", ОбъектМетаданных.ПолноеИмя())); Если ИсточникиДанных.Количество() = 0 Тогда @@ -119,7 +120,7 @@ Отказ, ОбщегоНазначения.ЭтоРегистр(ОбъектМетаданных), , - , + ТипЗнч(Данные) = Тип("УдалениеОбъекта"), Ложь, Ложь, УзелПланаОбмена, @@ -133,26 +134,24 @@ КонецФункции -// Обработчик события формы ПриЧтенииНаСервере, который -// встраивается в формы элементов данных -// (элементов справочников, документов, записей регистров, и др.), -// чтобы заблокировать форму при наличии запрета изменения. +// Обработчик события формы ПриЧтенииНаСервере, который встраивается в формы элементов справочников, +// документов, записей регистров и др., чтобы заблокировать форму при наличии запрета изменения. // // Параметры: -// Форма - УправляемаяФорма, +// Форма - УправляемаяФорма - форма объекта данных или записи регистра. // -// ИдентификаторДанных - СправочникСсылка.<Имя>, -// ДокументСсылка.<Имя>, -// ПланВидовХарактеристикСсылка.<Имя>, -// ПланСчетовСсылка.<Имя>, -// ПланВидовРасчетаСсылка.<Имя>, -// БизнесПроцессСсылка.<Имя>, -// ЗадачаСсылка.<Имя>, -// ПланОбменаСсылка.<Имя>, -// РегистрСведенийНаборЗаписей.Отбор, -// РегистрНакопленияНаборЗаписей.Отбор, -// РегистрБухгалтерииНаборЗаписей.Отбор, -// РегистрРасчетаНаборЗаписей.Отбор. +// ТекущийОбъект - СправочникОбъект.<Имя>, +// ДокументОбъект.<Имя>, +// ПланВидовХарактеристикОбъект.<Имя>, +// ПланСчетовОбъект.<Имя>, +// ПланВидовРасчетаОбъект.<Имя>, +// БизнесПроцессОбъект.<Имя>, +// ЗадачаОбъект.<Имя>, +// ПланОбменаОбъект.<Имя> - ссылка на объект данных. +// РегистрСведенийМенеджерЗаписи.<Имя>, +// РегистрНакопленияМенеджерЗаписи.<Имя>, +// РегистрБухгалтерииМенеджерЗаписи.<Имя>, +// РегистрРасчетаМенеджерЗаписи.<Имя> - менеджер записи. // Функция ОбъектПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт @@ -185,13 +184,16 @@ КонецФункции -// Добавляет строку описание источников данных для проверки запрета изменения. +// Добавляет строку описания источника данных для проверки запрета изменения. +// Используется в процедуре ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения +// общего модуля ДатыЗапретаИзмененияПереопределяемый. // // Параметры: -// Таблица - Строка. -// ПолеДаты - Строка. -// Раздел - Строка. -// ПолеОбъекта - Строка. +// Данные - ТаблицаЗначений - передается в процедуру ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения. +// Таблица - Строка - полное имя объекта метаданных, например, "Документ.ПриходнаяНакладная". +// ПолеДаты - Строка - имя реквизита объекта или табличной части, например "Дата", "Товары.ДатаОтгрузки". +// Раздел - Строка - имя предопределенного элемента "ПланВидовХарактеристикСсылка.РазделыДатЗапрета". +// ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части, например "Организация", "Товары.Склад". // Процедура ДобавитьСтроку(Данные, Таблица, ПолеДаты, Раздел = "", ПолеОбъекта = "") Экспорт @@ -207,28 +209,28 @@ // для авторизованного пользователя и/или узла плана обмена. // // Параметры: -// ДанныеДляПроверки - таблица, возвращаемая функцией -// ДатыЗапретаИзменения.ШаблонДанныхДляПроверки(). +// ДанныеДляПроверки - ТаблицаЗначений - возвращается функцией +// ШаблонДанныхДляПроверки общего модуля ДатыЗапретаИзменения. // -// СообщитьОЗапрете - Булево, выводит сообщение о найденных запретах -// при проверке данных. +// СообщитьОЗапрете - Булево - если истина, будет выведено сообщение +// о найденных запретах при проверке данных. // -// ИдентификаторДанных - Ссылка на объект данных для получения представления, +// ИдентификаторДанных - Ссылка - на объект данных для получения представления, // используемого в сообщении о запрете. // -// СтандартнаяОбработка - Булево, если Ложь, проверка запрета изменения (для пользователей) -// будет пропущена. +// СтандартнаяОбработка - Булево - если Ложь, проверка запрета изменения (для пользователей) +// будет пропущена. // // УзелПланаОбмена - Неопределено, ПланыОбменаСсылка.<Имя плана обмена> - // если задать узел будет выполнена проверка запрета загрузки. // -// НайденныеЗапреты - Структура (возвращаемое значение). +// НайденныеЗапреты - Структура - возвращаемое значение. // Если найден запрет изменения данных, значит есть // свойство НайденЗапретИзмененияДанных, если найден запрет // загрузки данных, значит есть свойство НайденЗапретЗагрузкиДанных. // // Возвращаемое значение: -// Булево +// Булево - если Истина, значит найден хотя бы один запрет изменения. // Функция НайденЗапретИзмененияДанных(Знач ДанныеДляПроверки, Знач СообщитьОЗапрете, @@ -240,7 +242,7 @@ УстановитьПривилегированныйРежим(Истина); Если ТипЗнч(ДанныеДляПроверки) = Тип("Структура") Тогда - ИдентификаторДанных = ДанныеДляПроверки.ИдентификаторДанных; + ИдентификаторДанных = ДанныеДляПроверки.ИдентификаторДанныхДляПредставления; ТаблицаДанных = ДанныеДляПроверки.Таблица; ДанныеДляПроверки = ПолучитьДанныеДляПроверки(ДанныеДляПроверки); Иначе @@ -268,7 +270,7 @@ ТекущийКлючСтроки = ТекущийКлючСтроки + 1; КонецЦикла; - СвойстваВстраивания = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); + СвойстваВстраивания = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); НачатьТранзакцию(); Попытка @@ -393,26 +395,37 @@ КонецФункции // Возвращает готовую пустую таблицу значений (с колонками Дата, Раздел, Объект) -// для заполнения и последующей передачи в функцию -// ДатыЗапретаИзменения.НайденЗапретИзмененияДанных(). +// для заполнения и последующей передачи в функцию НайденЗапретИзмененияДанных +// общего модуля ДатыЗапретаИзменения. +// +// Возвращаемое значение: +// ТаблицаЗначений - с колонками: +// * Таблица - Строка - полное имя объекта метаданных, например, "Документ.ПриходнаяНакладная". +// * ПолеДаты - Строка - имя реквизита объекта или табличной части, например "Дата", "Товары.ДатаОтгрузки". +// * Раздел - Строка - имя предопределенного элемента "ПланВидовХарактеристикСсылка.РазделыДатЗапрета". +// * ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части, например "Организация", "Товары.Склад". // Функция ШаблонДанныхДляПроверки() Экспорт - Возврат ДатыЗапретаИзмененияПовтИсп.ШаблонДанныхДляПроверки().Скопировать(); + Возврат ДатыЗапретаИзмененияСлужебныйПовтИсп.ШаблонДанныхДляПроверки().Скопировать(); КонецФункции //////////////////////////////////////////////////////////////////////////////// // Обработчики подписок на события -// Обработчик подписки на событие ПередЗаписью для типов: -// СправочникОбъект, -// ПланВидовХарактеристикОбъект, -// ПланСчетовОбъект, -// ПланВидовРасчетаОбъект, -// БизнесПроцессОбъект, -// ЗадачаОбъект, -// ПланОбменаОбъект. +// Обработчик подписки на событие ПередЗаписью для проверки запрета изменения. +// +// Параметры: +// Источник - СправочникОбъект, +// ПланВидовХарактеристикОбъект, +// ПланСчетовОбъект, +// ПланВидовРасчетаОбъект, +// БизнесПроцессОбъект, +// ЗадачаОбъект, +// ПланОбменаОбъект - объект данных, передаваемый в подписку на событие ПередЗаписью. +// +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. // Процедура ПроверитьДатуЗапретаИзмененияПередЗаписью(Источник, Отказ) Экспорт @@ -425,12 +438,15 @@ КонецПроцедуры -// Обработчик подписки на событие ПередЗаписью для типа ДокументОбъект. -Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента( - Источник, - Отказ, - РежимЗаписи, - РежимПроведения) Экспорт +// Обработчик подписки на событие ПередЗаписью для проверки запрета изменения. +// +// Параметры: +// Источник - ДокументОбъект - объект данных, передаваемый в подписку на событие ПередЗаписью. +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// РежимЗаписи - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// РежимПроведения - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// +Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Если Источник.ОбменДанными.Загрузка Тогда Возврат; @@ -441,9 +457,13 @@ КонецПроцедуры -// Обработчик подписки на событие ПередЗаписью для типов: -// РегистрСведенийНаборЗаписей, -// РегистрНакопленияНаборЗаписей. +// Обработчик подписки на событие ПередЗаписью для проверки запрета изменения. +// +// Параметры: +// Источник - РегистрСведенийНаборЗаписей, РегистрНакопленияНаборЗаписей - набор записей, +// передаваемый в подписку на событие ПередЗаписью. +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Замещение - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. // Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписей(Источник, Отказ, Замещение) Экспорт @@ -456,11 +476,16 @@ КонецПроцедуры -// Обработчик подписки на событие ПередЗаписью для типа РегистрБухгалтерииНаборЗаписей. +// Обработчик подписки на событие ПередЗаписью для проверки запрета изменения. +// +// Параметры: +// Источник - РегистрБухгалтерииНаборЗаписей - набор записей, передаваемый +// в подписку на событие ПередЗаписью. +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// РежимЗаписи - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписейРегистраБухгалтерии( - Источник, - Отказ, - РежимЗаписи) Экспорт + Источник, Отказ, РежимЗаписи) Экспорт Если Источник.ОбменДанными.Загрузка Тогда Возврат; @@ -471,7 +496,17 @@ КонецПроцедуры -// Обработчик подписки на событие ПередЗаписью для типа РегистрРасчетаНаборЗаписей. +// Обработчик подписки на событие ПередЗаписью для проверки запрета изменения. +// +// Параметры: +// Источник - РегистрРасчетаНаборЗаписей - набор записей, передаваемый +// в подписку на событие ПередЗаписью. +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Замещение - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// ТолькоЗапись - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// ЗаписьФактическогоПериодаДействия - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// ЗаписьПерерасчетов - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Процедура ПроверитьДатуЗапретаИзмененияПередЗаписьюНабораЗаписейРегистраРасчета( Источник, Отказ, @@ -489,15 +524,19 @@ КонецПроцедуры -// Обработчик подписки на событие ПередУдалением для типов: -// СправочникОбъект, -// ДокументОбъект, -// ПланВидовХарактеристикОбъект, -// ПланСчетовОбъект, -// ПланВидовРасчетаОбъект, -// БизнесПроцессОбъект, -// ЗадачаОбъект, -// ПланОбменаОбъект. +// Обработчик подписки на событие ПередУдалением для проверки запрета изменения. +// +// Параметры: +// Источник - СправочникОбъект, +// ДокументОбъект, +// ПланВидовХарактеристикОбъект, +// ПланСчетовОбъект, +// ПланВидовРасчетаОбъект, +// БизнесПроцессОбъект, +// ЗадачаОбъект, +// ПланОбменаОбъект - объект данных, передаваемый в подписку на событие ПередЗаписью. +// +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. // Процедура ПроверитьДатуЗапретаИзмененияПередУдалением(Источник, Отказ) Экспорт @@ -535,7 +574,7 @@ ДанныеДляПроверки = ШаблонДанныхДляПроверки(); - ИсточникиДанныхТаблиц = ДатыЗапретаИзмененияПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения(); + ИсточникиДанныхТаблиц = ДатыЗапретаИзмененияСлужебныйПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения(); Отбор = Новый Структура("Таблица", ПредварительныеДанные.Таблица); ИсточникиДанных = ИсточникиДанныхТаблиц.НайтиСтроки(Отбор); diff --git a/SSL/src/CommonModules/ДатыЗапретаИзмененияПереопределяемый/Module.bsl b/SSL/src/CommonModules/ДатыЗапретаИзмененияПереопределяемый/Module.bsl index 3f3f34354..1c2b581f8 100644 --- a/SSL/src/CommonModules/ДатыЗапретаИзмененияПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ДатыЗапретаИзмененияПереопределяемый/Module.bsl @@ -8,31 +8,28 @@ // Позволяет изменить работу интерфейса при встраивании. // // Параметры: -// НастройкиРаботыИнтерфейса - -// Структура: -// ИспользоватьВнешнихПользователей - Булево (начальное значение Ложь). +// НастройкиРаботыИнтерфейса - Структура - содержит свойство: +// * ИспользоватьВнешнихПользователей - Булево - (начальное значение Ложь), +// если установить Истина, тогда даты запрета можно будет настраивать для внешних пользователей. // -Процедура НастройкаИнтерфейса(Знач НастройкиРаботыИнтерфейса) Экспорт +Процедура НастройкаИнтерфейса(НастройкиРаботыИнтерфейса) Экспорт КонецПроцедуры // Содержит описание таблиц и полей объектов для проверки запретов изменения данных. -// Вызывается из процедуры ДатыЗапретаИзменения.ИзменениеЗапрещено(), -// используемой в подписке на событие ПередЗаписью объекта -// для проверки наличия запретов и отказа от изменений запрещенного объекта. -// +// Вызывается из процедуры ИзменениеЗапрещено общего модуля ДатыЗапретаИзменения, используемой в подписке +// на событие ПередЗаписью объекта для проверки наличия запретов и отказа от изменений запрещенного объекта. +// // Параметры: -// ИсточникиДанных - ТаблицаЗначений: -// Таблица - Строка, полное имя объекта метаданных, -// например, Документ.ПриходнаяНакладная -// ПолеДаты - Строка, имя реквизита или имя реквизита -// табличной части, например "Дата", "Товары.ДатаОтгрузки" -// Раздел - Строка, имя предопределенного элемента -// ПланВидовХарактеристикСсылка.РазделыДатЗапрета -// ПолеОбъекта - Строка, имя реквизита или имя реквизита -// табличной части, например "Организация", "Товары.Склад" +// ИсточникиДанных - ТаблицаЗначений - с колонками: +// * Таблица - Строка - полное имя объекта метаданных, например, "Документ.ПриходнаяНакладная". +// * ПолеДаты - Строка - имя реквизита объекта или табличной части, например "Дата", "Товары.ДатаОтгрузки". +// * Раздел - Строка - имя предопределенного элемента "ПланВидовХарактеристикСсылка.РазделыДатЗапрета". +// * ПолеОбъекта - Строка - имя реквизита объекта или реквизита табличной части, например "Организация", "Товары.Склад". +// +// Для добавления строки имеется процедура ДобавитьСтроку в общем модуле ДатыЗапретаИзменения. // Процедура ЗаполнитьИсточникиДанныхДляПроверкиЗапретаИзменения(ИсточникиДанных) Экспорт @@ -43,27 +40,26 @@ // Позволяет переопределить выполнение проверок запретов по произвольному условию. // // Параметры: -// Объект - объект или набор записей (ПередЗаписью или ПриЧтенииНаСервере): -// СправочникОбъект -// ДокументОбъект -// ПланВидовХарактеристикОбъект -// ПланСчетовОбъект -// ПланВидовРасчетаОбъект -// БизнесПроцессОбъект -// ЗадачаОбъект -// ПланОбменаОбъект -// РегистрСведенийНаборЗаписей -// РегистрНакопленияНаборЗаписей -// РегистрБухгалтерииНаборЗаписей -// РегистрРасчетаНаборЗаписей -// -// ПроверкаЗапретаИзменения - Булево, если установить Ложь проверка запрета +// Объект - СправочникОбъект, +// ДокументОбъект, +// ПланВидовХарактеристикОбъект, +// ПланСчетовОбъект, +// ПланВидовРасчетаОбъект, +// БизнесПроцессОбъект, +// ЗадачаОбъект, +// ПланОбменаОбъект - объект данных (ПередЗаписью или ПриЧтенииНаСервере). +// - РегистрСведенийНаборЗаписей, +// РегистрНакопленияНаборЗаписей, +// РегистрБухгалтерииНаборЗаписей, +// РегистрРасчетаНаборЗаписей - набор записей (ПередЗаписью или ПриЧтенииНаСервере). +// +// ПроверкаЗапретаИзменения - Булево - если установить Ложь проверка запрета // изменения выполняться не будет. // -// УзелПроверкиЗапретаЗагрузки - Неопределено, ПланыОбменаСсылка.<Имя плана обмена>. -// Когда Неопределено проверка запрета загрузки не выполняется. +// УзелПроверкиЗапретаЗагрузки - Неопределено, ПланыОбменаСсылка - +// когда Неопределено проверка запрета загрузки не выполняется. // -// СообщитьОЗапрете - Булево, начальное значение Истина. Если установить Ложь, +// СообщитьОЗапрете - Булево - начальное значение Истина. Если установить Ложь, // тогда сообщение об ошибке не будет отправлено пользователю. // Например, при интерактивной записи будет виден лишь отказ записи. // В журнал регистрации сообщение будет записано в любом случае. diff --git a/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебный/Module.bsl b/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебный/Module.bsl index a9d61a9a1..2fc46a1f6 100644 --- a/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебный/Module.bsl @@ -170,10 +170,9 @@ // - они отключаются только с отключением всего отчета. // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт - - Отчеты.ДатыЗапретаИзменения.НастроитьВариантыОтчета(Настройки); - Отчеты.ДатыЗапретаЗагрузки.НастроитьВариантыОтчета(Настройки); - + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ДатыЗапретаЗагрузки); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ДатыЗапретаИзменения); КонецПроцедуры // Обработчики событий подсистемы РаботаВМоделиСервиса.ОчередьЗаданий. @@ -365,7 +364,8 @@ // РегистрСведенийНаборЗаписей, // РегистрНакопленияНаборЗаписей, // РегистрБухгалтерииНаборЗаписей, -// РегистрРасчетаНаборЗаписей. +// РегистрРасчетаНаборЗаписей, +// УдалениеОбъекта. // // Параметры: // Источник - один из типов, указанных выше. @@ -441,6 +441,20 @@ Отказ = Истина; КонецЕсли; + + ИначеЕсли ТипЗнч(Источник) = Тип("УдалениеОбъекта") Тогда + + Если ИзменениеИлиЗагрузкаЗапрещена( + Источник.Ссылка.Метаданные.ПолноеИмя(), + Источник.Ссылка, + СообщитьОЗапрете, + СтандартнаяОбработка, + УзелПланаОбмена, + НайденныеЗапреты) Тогда + + Отказ = Истина; + КонецЕсли; + Иначе // НЕ ИсточникРегистр И Источник.ЭтоНовый() // ИЛИ ИсточникРегистр И НЕ Замещение @@ -465,7 +479,9 @@ СтандартнаяОбработка, УзелПланаОбмена) Экспорт - Если Источник.ДополнительныеСвойства.Свойство("ПропуститьПроверкуЗапретаИзменения") Тогда + Если ТипЗнч(Источник) <> Тип("УдалениеОбъекта") + И Источник.ДополнительныеСвойства.Свойство("ПропуститьПроверкуЗапретаИзменения") Тогда + Возврат Истина; КонецЕсли; @@ -499,13 +515,26 @@ НайденныеЗапреты = Неопределено) Экспорт ДанныеДляПроверки = Новый Структура; - ДанныеДляПроверки.Вставить("Таблица", Данные); - ДанныеДляПроверки.Вставить("ИдентификаторДанных", ИдентификаторДанных); - ДанныеДляПроверки.Вставить("ЗначенияПолейИзОбъекта", Неопределено); + // Необязательная ссылка на данные в базе данных. + ДанныеДляПроверки.Вставить("ИдентификаторДанных", ИдентификаторДанных); + ДанныеДляПроверки.Вставить("ИдентификаторДанныхДляПредставления", ИдентификаторДанных); - Если ТипЗнч(Данные) <> Тип("Строка") Тогда - ДанныеДляПроверки.Таблица = Данные.Метаданные().ПолноеИмя(); - ДанныеДляПроверки.ЗначенияПолейИзОбъекта = ИзвлечьЗначенияПолейИзОбъекта(Данные); + Если ТипЗнч(Данные) = Тип("Строка") Тогда + // Имя таблицы, требуемое для свойства ИдентификаторДанных типа Отбор, + // а также когда исходные данные имеют тип УдалениеОбъекта. + ДанныеДляПроверки.Вставить("Таблица", Данные); + // ИдентификаторДанных заполнен, а объекта в памяти нет. + ДанныеДляПроверки.Вставить("ЗначенияПолейИзОбъекта", Неопределено); + Иначе + // Имя таблицы, требуемое для свойства ИдентификаторДанных типа Отбор. + ДанныеДляПроверки.Вставить("Таблица", Данные.Метаданные().ПолноеИмя()); + // ИдентификаторДанных может быть не заполнен, а объект в памяти есть. + Если ИдентификаторДанных = Неопределено Тогда + ДанныеДляПроверки.Вставить("ЗначенияПолейИзОбъекта", ИзвлечьЗначенияПолейИзОбъекта(Данные, + ДанныеДляПроверки.ИдентификаторДанныхДляПредставления)); + Иначе + ДанныеДляПроверки.Вставить("ЗначенияПолейИзОбъекта", ИзвлечьЗначенияПолейИзОбъекта(Данные)); + КонецЕсли; КонецЕсли; НайденныеЗапреты = Неопределено; @@ -747,7 +776,7 @@ КонецФункции -Функция ИзвлечьЗначенияПолейИзОбъекта(Знач Данные) +Функция ИзвлечьЗначенияПолейИзОбъекта(Знач Данные, ИдентификаторДанныхДляПредставления = Неопределено) ЗначенияПолей = Новый Структура; ОбъектМетаданных = Данные.Метаданные(); @@ -759,6 +788,7 @@ ПоляРегистра = ПолучитьПоляРегистра(ИсточникиДанных, Отбор.Таблица); ЗначенияПолей = Данные.Выгрузить(, ПоляРегистра); ЗначенияПолей.Свернуть(ПоляРегистра); + ИдентификаторДанныхДляПредставления = Данные.Отбор; Иначе // Заполнение значений полей из объекта. ЗначенияПолей = ПолучитьСтруктуруПолейОбъекта(ОбъектМетаданных, ИсточникиДанных, Отбор.Таблица); @@ -771,6 +801,9 @@ ЗначенияПолей[Поле.Ключ] = Данные[Поле.Ключ]; КонецЕсли; КонецЦикла; + Если Не Данные.ЭтоНовый() Тогда + ИдентификаторДанныхДляПредставления = Данные.Ссылка; + КонецЕсли; КонецЕсли; Возврат ЗначенияПолей; @@ -779,7 +812,7 @@ Функция ПолучитьИсточникиДанных(Отбор) - ИсточникиДанныхТаблиц = ДатыЗапретаИзмененияПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения(); + ИсточникиДанныхТаблиц = ДатыЗапретаИзмененияСлужебныйПовтИсп.ИсточникиДанныхДляПроверкиЗапретаИзменения(); ИсточникиДанных = ИсточникиДанныхТаблиц.НайтиСтроки(Отбор); diff --git a/SSL/src/CommonModules/ДатыЗапретаИзмененияПовтИсп/Module.bsl b/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебныйПовтИсп/Module.bsl similarity index 100% rename from SSL/src/CommonModules/ДатыЗапретаИзмененияПовтИсп/Module.bsl rename to SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебныйПовтИсп/Module.bsl diff --git a/SSL/src/CommonModules/ДатыЗапретаИзмененияПовтИсп/ДатыЗапретаИзмененияПовтИсп.mdo b/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебныйПовтИсп/ДатыЗапретаИзмененияСлужебныйПовтИсп.mdo similarity index 69% rename from SSL/src/CommonModules/ДатыЗапретаИзмененияПовтИсп/ДатыЗапретаИзмененияПовтИсп.mdo rename to SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебныйПовтИсп/ДатыЗапретаИзмененияСлужебныйПовтИсп.mdo index 24f9e4a6f..26a0330af 100644 --- a/SSL/src/CommonModules/ДатыЗапретаИзмененияПовтИсп/ДатыЗапретаИзмененияПовтИсп.mdo +++ b/SSL/src/CommonModules/ДатыЗапретаИзмененияСлужебныйПовтИсп/ДатыЗапретаИзмененияСлужебныйПовтИсп.mdo @@ -1,9 +1,9 @@ - ДатыЗапретаИзмененияПовтИсп + ДатыЗапретаИзмененияСлужебныйПовтИсп ru - Даты запрета изменения повт исп + Даты запрета изменения служебный повт исп true true diff --git a/SSL/src/CommonModules/ДлительныеОперации/Module.bsl b/SSL/src/CommonModules/ДлительныеОперации/Module.bsl index adcc959ad..b2c55045b 100644 --- a/SSL/src/CommonModules/ДлительныеОперации/Module.bsl +++ b/SSL/src/CommonModules/ДлительныеОперации/Module.bsl @@ -22,16 +22,14 @@ // в родительский сеанс из фонового задания. По умолчанию - Ложь. // // Возвращаемое значение: -// Структура - Возвращает свойства: -// - АдресХранилища - адрес временного хранилища, в которое будет -// помещен результат работы задания; -// - АдресХранилищаДополнительный - адрес дополнительного временного хранилища, -// в которое будет помещен результат работы задания (доступно только если -// установлен параметр ИспользоватьДополнительноеВременноеХранилище); -// - ИдентификаторЗадания - уникальный идентификатор запущенного -// фонового задания; -// - ЗаданиеВыполнено - Истина если задание было успешно выполнено -// за время вызова функции. +// Структура - параметры выполнения задания: +// * АдресХранилища - Строка - адрес временного хранилища, в которое будет +// помещен результат работы задания; +// * АдресХранилищаДополнительный - Строка - адрес дополнительного временного хранилища, +// в которое будет помещен результат работы задания (доступно только если +// установлен параметр ИспользоватьДополнительноеВременноеХранилище); +// * ИдентификаторЗадания - УникальныйИдентификатор - уникальный идентификатор запущенного фонового задания; +// * ЗаданиеВыполнено - Булево - Истина если задание было успешно выполнено за время вызова функции. // Функция ЗапуститьВыполнениеВФоне(Знач ИдентификаторФормы, Знач ИмяЭкспортнойПроцедуры, Знач Параметры, Знач НаименованиеЗадания = "", ИспользоватьДополнительноеВременноеХранилище = Ложь) Экспорт @@ -110,13 +108,13 @@ КонецПроцедуры // Проверяет состояние фонового задания по переданному идентификатору. -// +// При аварийном завершении задания вызывает исключение. +// // Параметры: // ИдентификаторЗадания - УникальныйИдентификатор - идентификатор фонового задания. // // Возвращаемое значение: -// Булево - возвращает Истина, если задание успешно выполнено, -// Ложь - если выполняется. В иных случаях вызывается исключение. +// Булево - состояние выполнения задания. // Функция ЗаданиеВыполнено(Знач ИдентификаторЗадания) Экспорт @@ -132,20 +130,11 @@ Если Задание = Неопределено Тогда ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Фоновое задание не найдено'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, , , Строка(ИдентификаторЗадания)); - Иначе + Иначе Если Задание.Состояние = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда ОшибкаЗадания = Задание.ИнформацияОбОшибке; Если ОшибкаЗадания <> Неопределено Тогда - ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Фоновое задание завершено аварийно'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке)); ПоказатьПолныйТекстОшибки = Истина; - Иначе - ЗаписьЖурналаРегистрации( - НСтр("ru = 'Длительные операции.Фоновое задание завершено аварийно'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, - , - , - НСтр("ru = 'Задание завершилось с неизвестной ошибкой.'")); КонецЕсли; ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.Отменено Тогда ЗаписьЖурналаРегистрации( @@ -164,7 +153,7 @@ ВызватьИсключение(ТекстОшибки); ИначеЕсли ОперацияНеВыполнена Тогда ВызватьИсключение(НСтр("ru = 'Не удалось выполнить данную операцию. - |Подробности см. в Журнале регистрации.'")); + |Подробности см. в Журнале регистрации.'")); КонецЕсли; КонецФункции @@ -217,11 +206,12 @@ КонецЕсли; МассивСообщений = Задание.ПолучитьСообщенияПользователю(Истина); - Количество = МассивСообщений.Количество(); - Если Количество = 0 Тогда + Если МассивСообщений = Неопределено Тогда Возврат Результат; КонецЕсли; + Количество = МассивСообщений.Количество(); + Для Номер = 1 По Количество Цикл ОбратныйИндекс = Количество - Номер; Сообщение = МассивСообщений[ОбратныйИндекс]; diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработки/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработки/Module.bsl index 581a0deb9..98970b11a 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработки/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработки/Module.bsl @@ -94,12 +94,7 @@ КонецЕсли; - ЗаписьЖурналаРегистрации( - НСтр("ru = 'Дополнительные отчеты и обработки.Подключение'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Информация, - Метаданные.Справочники.ДополнительныеОтчетыИОбработки, - Ссылка, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Безопасный режим = %1'"), БезопасныйРежим)); + ЗаписатьПримечание(Ссылка, НСтр("ru = 'Подключение, БезопасныйРежим = ""%1"".'"), БезопасныйРежим); ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим); @@ -677,6 +672,11 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриПолученииДанныхОтГлавного"].Добавить( "ДополнительныеОтчетыИОбработки"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "ДополнительныеОтчетыИОбработки"); + КонецЕсли; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -735,6 +735,85 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + // В коробке. + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + Возврат; + КонецЕсли; + + // Есть права на данные справочника. + Если Не ПравоДоступа("Редактирование", Метаданные.Справочники.ДополнительныеОтчетыИОбработки) Тогда + Возврат; + КонецЕсли; + + // Есть раздел "Администрирование". + Подсистема = Метаданные.Подсистемы.Найти("Администрирование"); + Если Подсистема = Неопределено + Или Не ПравоДоступа("Просмотр", Подсистема) + Или Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Подсистема) Тогда + Возврат; + КонецЕсли; + + ВывестиДело = Истина; + ПровереноНаВерсию = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "ДополнительныеОтчетыИОбработки"); + Если ПровереноНаВерсию <> Неопределено Тогда + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + Если ПровереноНаВерсию = ТекущаяВерсия Тогда + ВывестиДело = Ложь; // Дополнительные отчеты и обработки проверены на текущей версии. + КонецЕсли; + КонецЕсли; + + КоличествоДополнительныхОтчетовИОбработок = КоличествоДополнительныхОтчетовИОбработок(); + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ДополнительныеОтчетыИОбработки"; + Дело.ЕстьДела = ВывестиДело И КоличествоДополнительныхОтчетовИОбработок > 0; + Дело.Представление = НСтр("ru = 'Дополнительные отчеты и обработки'"); + Дело.Количество = КоличествоДополнительныхОтчетовИОбработок; + Дело.Форма = "Справочник.ДополнительныеОтчетыИОбработки.Форма.ПроверкаДополнительныхОтчетовИОбработок"; + Дело.Владелец = "ПроверитьСовместимостьСТекущейВерсией"; + + // Проверка наличия группы дела. Если группа отсутствует - добавляем. + ГруппаДела = ТекущиеДела.Найти("ПроверитьСовместимостьСТекущейВерсией", "Идентификатор"); + Если ГруппаДела = Неопределено Тогда + ГруппаДела = ТекущиеДела.Добавить(); + ГруппаДела.Идентификатор = "ПроверитьСовместимостьСТекущейВерсией"; + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + ГруппаДела.Представление = НСтр("ru = 'Проверить совместимость'"); + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = Дело.Количество; + КонецЕсли; + ГруппаДела.Владелец = Подсистема; + Иначе + Если Не ГруппаДела.ЕстьДела Тогда + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + КонецЕсли; + + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = ГруппаДела.Количество + Дело.Количество; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов @@ -847,11 +926,18 @@ Если Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет ИЛИ Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда - ПараметрыОтчета.Имя = ПодключитьВнешнююОбработку(Ссылка); - ПараметрыОтчета.Объект = ВнешниеОтчеты.Создать(ПараметрыОтчета.Имя); - ПараметрыОтчета.Метаданные = ПараметрыОтчета.Объект.Метаданные(); - - Результат = Истина; + Попытка + ПараметрыОтчета.Имя = ПодключитьВнешнююОбработку(Ссылка); + ПараметрыОтчета.Объект = ВнешниеОтчеты.Создать(ПараметрыОтчета.Имя); + ПараметрыОтчета.Метаданные = ПараметрыОтчета.Объект.Метаданные(); + Результат = Истина; + Исключение + ПараметрыОтчета.Ошибки = + СтрЗаменить(НСтр("ru = 'При подключении дополнительного отчета ""%1"" возникла ошибка:'"), "%1", Строка(Ссылка)) + + Символы.ПС + + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Результат = Ложь; + КонецПопытки; Иначе @@ -1074,6 +1160,64 @@ КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// Обработчики подписок на события + +// Удаление ссылок подсистем перед их удалением. +Процедура ПередУдалениемИдентификатораОбъектаМетаданных(ИОМОбъект, Отказ) Экспорт + Если ИОМОбъект.ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ИОМСсылка = ИОМОбъект.Ссылка; + + ТекстЗапроса = + "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Таблица.Ссылка + |ПОМЕСТИТЬ втСсылки + |ИЗ + | Справочник.ДополнительныеОтчетыИОбработки.Разделы КАК Таблица + |ГДЕ + | Таблица.Раздел = &ИОМСсылка + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ РАЗЛИЧНЫЕ + | Таблица.Ссылка + |ИЗ + | Справочник.ДополнительныеОтчетыИОбработки.Назначение КАК Таблица + |ГДЕ + | Таблица.ОбъектНазначения = &ИОМСсылка + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ РАЗЛИЧНЫЕ + | втСсылки.Ссылка + |ИЗ + | втСсылки КАК втСсылки"; + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ИОМСсылка", ИОМСсылка); + Запрос.Текст = ТекстЗапроса; + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + СправочникОбъект = Выборка.Ссылка.ПолучитьОбъект(); + + Найденные = СправочникОбъект.Разделы.НайтиСтроки(Новый Структура("Раздел", ИОМСсылка)); + Для Каждого СтрокаТаблицы Из Найденные Цикл + СправочникОбъект.Разделы.Удалить(СтрокаТаблицы); + КонецЦикла; + + Найденные = СправочникОбъект.Назначение.НайтиСтроки(Новый Структура("ОбъектНазначения", ИОМСсылка)); + Для Каждого СтрокаТаблицы Из Найденные Цикл + СправочникОбъект.Назначение.Удалить(СтрокаТаблицы); + КонецЦикла; + + СправочникОбъект.Записать(); + КонецЦикла; +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -1340,20 +1484,13 @@ // При невозможности подключения обработки - установим для нее режим совместимости // разрешений с версией БСП 2.1.3 и временно заблокируем - - ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Не удалось определить режим совместимости разрешений для дополнительного отчета или обработки %1 по причине %2. Дополнительный отчет или обработка будет заблокирован и для него будет установлен режим совместимости разрешений ""Версия 2.1.3"".'"), - Объект.Наименование, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - - ЗаписьЖурналаРегистрации( - НСтр("ru = 'Дополнительные отчеты и обработки.Заполнение режима совместимости разрешений'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Предупреждение, - Метаданные.Справочники.ДополнительныеОтчетыИОбработки, - Объект.Ссылка, - ТекстПредупреждения); - + ТекстОшибки = """" + Объект.Наименование + """:" + + Символы.ПС + НСтр("ru = 'Не удалось определить режим совместимости разрешений по причине:'") + + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) + + Символы.ПС + + Символы.ПС + НСтр("ru = 'Объект заблокирован в режиме совместимости с версией 2.1.3.'"); + ЗаписатьПредупреждение(Объект.Ссылка, ТекстОшибки); РежимСовместимости = Перечисления.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок.Версия_2_1_3; - Публикация = Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Отключена; КонецПопытки; @@ -1721,7 +1858,11 @@ КонецЕсли; Если ТипЗнч(Раздел) = Тип("СправочникСсылка.ИдентификаторыОбъектовМетаданных") Тогда - ПредставлениеРаздела = Раздел.Синоним; + Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Раздел, "Синоним, ПометкаУдаления"); + Если Реквизиты.ПометкаУдаления Тогда + Возврат Неопределено; + КонецЕсли; + ПредставлениеРаздела = Реквизиты.Синоним; ИначеЕсли ТипЗнч(Раздел) = Тип("ОбъектМетаданных") Тогда ПредставлениеРаздела = Раздел.Представление(); Иначе @@ -1941,23 +2082,33 @@ // Запись ошибки в журнал регистрации по дополнительному отчету или обработке. Процедура ЗаписатьОшибку(Ссылка, ТекстСообщения, Реквизит1 = Неопределено, Реквизит2 = Неопределено, Реквизит3 = Неопределено) Экспорт - ЗаписьЖурналаРегистрации( - ДополнительныеОтчетыИОбработкиКлиентСервер.НаименованиеПодсистемы(Неопределено), - УровеньЖурналаРегистрации.Ошибка, - Метаданные.Справочники.ДополнительныеОтчетыИОбработки, - Ссылка, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ТекстСообщения, - Строка(Реквизит1), - Строка(Реквизит2), - Строка(Реквизит3))); + Уровень = УровеньЖурналаРегистрации.Ошибка; + ЗаписатьВЖурнал(Уровень, Ссылка, ТекстСообщения, Реквизит1, Реквизит2, Реквизит3); КонецПроцедуры -// Запись ошибки в журнал регистрации по дополнительному отчету или обработке. +// Запись предупреждения в журнал регистрации по дополнительному отчету или обработке. +Процедура ЗаписатьПредупреждение(Ссылка, ТекстСообщения, Реквизит1 = Неопределено, Реквизит2 = Неопределено, Реквизит3 = Неопределено) Экспорт + Уровень = УровеньЖурналаРегистрации.Предупреждение; + ЗаписатьВЖурнал(Уровень, Ссылка, ТекстСообщения, Реквизит1, Реквизит2, Реквизит3); +КонецПроцедуры + +// Запись информации в журнал регистрации по дополнительному отчету или обработке. Процедура ЗаписатьИнформацию(Ссылка, ТекстСообщения, Реквизит1 = Неопределено, Реквизит2 = Неопределено, Реквизит3 = Неопределено) Экспорт + Уровень = УровеньЖурналаРегистрации.Информация; + ЗаписатьВЖурнал(Уровень, Ссылка, ТекстСообщения, Реквизит1, Реквизит2, Реквизит3); +КонецПроцедуры + +// Запись примечания в журнал регистрации по дополнительному отчету или обработке. +Процедура ЗаписатьПримечание(Ссылка, ТекстСообщения, Реквизит1 = Неопределено, Реквизит2 = Неопределено, Реквизит3 = Неопределено) Экспорт + Уровень = УровеньЖурналаРегистрации.Примечание; + ЗаписатьВЖурнал(Уровень, Ссылка, ТекстСообщения, Реквизит1, Реквизит2, Реквизит3); +КонецПроцедуры + +// Запись события в журнал регистрации по дополнительному отчету или обработке. +Процедура ЗаписатьВЖурнал(Уровень, Ссылка, ТекстСообщения, Реквизит1, Реквизит2, Реквизит3) ЗаписьЖурналаРегистрации( ДополнительныеОтчетыИОбработкиКлиентСервер.НаименованиеПодсистемы(Неопределено), - УровеньЖурналаРегистрации.Информация, + Уровень, Метаданные.Справочники.ДополнительныеОтчетыИОбработки, Ссылка, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( @@ -2027,7 +2178,11 @@ ПредустановленныеКоманды = Новый Массив; Подменю = Элементы.Найти("ПодменюДополнительныхОбработокЗаполнения"); Если Подменю = Неопределено Тогда - Подменю = Элементы.Вставить("ПодменюДополнительныхОбработокЗаполнения", Тип("ГруппаФормы"), Форма.КоманднаяПанель); + КоманднаяПанель = Элементы.Найти("КоманднаяПанель"); + Если КоманднаяПанель = Неопределено Тогда + КоманднаяПанель = Форма.КоманднаяПанель; + КонецЕсли; + Подменю = Элементы.Вставить("ПодменюДополнительныхОбработокЗаполнения", Тип("ГруппаФормы"), КоманднаяПанель); Иначе Для Каждого Элемент Из Подменю.ПодчиненныеЭлементы Цикл ПредустановленныеКоманды.Добавить(Элемент); @@ -2593,98 +2748,104 @@ КонецФункции // Для внутреннего использования -Функция ПолучитьРегистрационныеДанные(Знач Объект, Знач ПараметрыРегистрации, Знач ПараметрыОбработки) - - Результат = Новый Структура; - - СтандартнаяОбработка = Истина; - +Функция ПолучитьРегистрационныеДанные(Знач Объект, Знач ПараметрыРегистрации, Знач РезультатРегистрации) ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки\ПриПолученииРегистрационныхДанных"); - Для каждого Обработчик Из ОбработчикиСобытия Цикл - - Обработчик.Модуль.ПриПолученииРегистрационныхДанных(Объект, Результат, СтандартнаяОбработка); - - Если Не СтандартнаяОбработка Тогда - Возврат Результат; - КонецЕсли; - + РегистрационныеДанные = Новый Структура; + + СтандартнаяОбработка = Истина; + + Для Каждого Обработчик Из ОбработчикиСобытия Цикл + Обработчик.Модуль.ПриПолученииРегистрационныхДанных(Объект, РегистрационныеДанные, СтандартнаяОбработка); КонецЦикла; Если СтандартнаяОбработка Тогда - - // Подключение и получение имени, под которым объект будет подключаться - Менеджер = ?(ПараметрыРегистрации.ЭтоОтчет, ВнешниеОтчеты, ВнешниеОбработки); - - #Если ТолстыйКлиентОбычноеПриложение Тогда - ПараметрыОбработки.ИмяОбъекта = ПолучитьИмяВременногоФайла(); - ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПараметрыРегистрации.АдресДанныхОбработки); - ДвоичныеДанные.Записать(ПараметрыОбработки.ИмяОбъекта); - #Иначе - ПараметрыОбработки.ИмяОбъекта = СокрЛП(Менеджер.Подключить(ПараметрыРегистрации.АдресДанныхОбработки, , Истина)); - #КонецЕсли - - Попытка - // Получение сведений о внешней обработке - ВнешнийОбъект = Менеджер.Создать(ПараметрыОбработки.ИмяОбъекта); - ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные(); - - РегистрационныеДанные = ВнешнийОбъект.СведенияОВнешнейОбработке(); - Исключение - Если ПараметрыРегистрации.ЭтоОтчет Тогда - ТекстПредупреждения = НСтр("ru='Невозможно подключить дополнительный отчет из файла. - |Возможно, он не подходит для этой версии программы. - | - |Техническая информация: - |%1.'"); - Иначе - ТекстПредупреждения = НСтр("ru='Невозможно подключить дополнительную обработку из файла. - |Возможно, она не подходит для этой версии программы. - | - |Техническая информация: - |%1.'"); - КонецЕсли; - ЗаписатьОшибку(Объект.Ссылка, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); - ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); - ВызватьИсключение ТекстПредупреждения; - КонецПопытки; - - Если РегистрационныеДанные.Наименование = Неопределено ИЛИ РегистрационныеДанные.Информация = Неопределено Тогда - Если РегистрационныеДанные.Наименование = Неопределено Тогда - РегистрационныеДанные.Наименование = ВнешнийОбъектМетаданные.Представление(); - КонецЕсли; - Если РегистрационныеДанные.Информация = Неопределено Тогда - РегистрационныеДанные.Информация = ВнешнийОбъектМетаданные.Комментарий; - КонецЕсли; - КонецЕсли; - - Если ТипЗнч(РегистрационныеДанные.Вид) <> Тип("ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок") Тогда - РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид]; - КонецЕсли; - - РегистрационныеДанные.Вставить("ХранилищеВариантов"); - Если РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда - Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда - РегистрационныеДанные.ХранилищеВариантов = ВнешнийОбъектМетаданные.ХранилищеВариантов.Имя; - КонецЕсли; - КонецЕсли; - - РегистрационныеДанные.Команды.Колонки.Добавить("ВариантЗапуска"); - - Для Каждого КомандаОписание Из РегистрационныеДанные.Команды Цикл - КомандаОписание.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок[КомандаОписание.Использование]; - КонецЦикла; - - #Если ТолстыйКлиентОбычноеПриложение Тогда - ПараметрыОбработки.ИмяОбъекта = ВнешнийОбъектМетаданные.Имя; - #КонецЕсли - - Возврат РегистрационныеДанные; - + ПриПолученииРегистрационныхДанных(Объект, РегистрационныеДанные, ПараметрыРегистрации, РезультатРегистрации); КонецЕсли; + Возврат РегистрационныеДанные; +КонецФункции + +// Для внутреннего использования +Процедура ПриПолученииРегистрационныхДанных(Объект, РегистрационныеДанные, ПараметрыРегистрации, РезультатРегистрации) + + // Подключение и получение имени, под которым объект будет подключаться + Менеджер = ?(ПараметрыРегистрации.ЭтоОтчет, ВнешниеОтчеты, ВнешниеОбработки); + + #Если ТолстыйКлиентОбычноеПриложение Тогда + РезультатРегистрации.ИмяОбъекта = ПолучитьИмяВременногоФайла(); + ДвоичныеДанные = ПолучитьИзВременногоХранилища(ПараметрыРегистрации.АдресДанныхОбработки); + ДвоичныеДанные.Записать(РезультатРегистрации.ИмяОбъекта); + #Иначе + РезультатРегистрации.ИмяОбъекта = СокрЛП(Менеджер.Подключить(ПараметрыРегистрации.АдресДанныхОбработки, , Истина)); + #КонецЕсли + + Попытка + // Получение сведений о внешней обработке + ВнешнийОбъект = Менеджер.Создать(РезультатРегистрации.ИмяОбъекта); + ВнешнийОбъектМетаданные = ВнешнийОбъект.Метаданные(); + + СведенияОВнешнейОбработке = ВнешнийОбъект.СведенияОВнешнейОбработке(); + ОбщегоНазначенияКлиентСервер.ДополнитьСтруктуру(РегистрационныеДанные, СведенияОВнешнейОбработке, Истина); + Исключение + Если ПараметрыРегистрации.ЭтоОтчет Тогда + ТекстОшибки = НСтр("ru='Невозможно подключить дополнительный отчет из файла. + |Возможно, он не подходит для этой версии программы.'"); + Иначе + ТекстОшибки = НСтр("ru='Невозможно подключить дополнительную обработку из файла. + |Возможно, она не подходит для этой версии программы.'"); + КонецЕсли; + ТекстОшибки = ТекстОшибки + Символы.ПС + Символы.ПС + НСтр("ru = 'Техническая информация:'") + Символы.ПС; + ЗаписатьОшибку(Объект.Ссылка, ТекстОшибки + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + ВызватьИсключение ТекстОшибки + КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + КонецПопытки; + + Если РегистрационныеДанные.Наименование = Неопределено ИЛИ РегистрационныеДанные.Информация = Неопределено Тогда + Если РегистрационныеДанные.Наименование = Неопределено Тогда + РегистрационныеДанные.Наименование = ВнешнийОбъектМетаданные.Представление(); + КонецЕсли; + Если РегистрационныеДанные.Информация = Неопределено Тогда + РегистрационныеДанные.Информация = ВнешнийОбъектМетаданные.Комментарий; + КонецЕсли; + КонецЕсли; + + Если ТипЗнч(РегистрационныеДанные.Вид) <> Тип("ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок") Тогда + РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок[РегистрационныеДанные.Вид]; + КонецЕсли; + + РегистрационныеДанные.Вставить("ХранилищеВариантов"); + Если РегистрационныеДанные.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда + Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда + РегистрационныеДанные.ХранилищеВариантов = ВнешнийОбъектМетаданные.ХранилищеВариантов.Имя; + КонецЕсли; + КонецЕсли; + + РегистрационныеДанные.Команды.Колонки.Добавить("ВариантЗапуска"); + + Для Каждого КомандаОписание Из РегистрационныеДанные.Команды Цикл + КомандаОписание.ВариантЗапуска = Перечисления.СпособыВызоваДополнительныхОбработок[КомандаОписание.Использование]; + КонецЦикла; + + #Если ТолстыйКлиентОбычноеПриложение Тогда + РезультатРегистрации.ИмяОбъекта = ВнешнийОбъектМетаданные.Имя; + #КонецЕсли +КонецПроцедуры + +// Только для внутреннего использования. +// +Функция КоличествоДополнительныхОтчетовИОбработок() Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ДополнительныеОтчетыИОбработки.Наименование + |ИЗ + | Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки"; + + Результат = Запрос.Выполнить().Выгрузить(); + Возврат Результат.Количество(); + КонецФункции #КонецОбласти diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВБезопасномРежиме/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВБезопасномРежиме/Module.bsl index 723633bc4..b4a7655bc 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВБезопасномРежиме/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВБезопасномРежиме/Module.bsl @@ -353,7 +353,7 @@ ВызватьИсключение НСтр("ru = 'В данной конфигурации не поддерживается вызов функции ДополнительныеОтчетыИОбработкиВБезопасномРежиме.ПолучитьФайлИзИнтернета!'"); КонецЕсли; - ОбработчикПолученияФайлов = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернетаКлиентСервер"); + МодульПолучениеФайловИзИнтернетаКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ПолучениеФайловИзИнтернетаКлиентСервер"); Если Порт = 0 Тогда @@ -370,7 +370,7 @@ Таймаут = 600; КонецЕсли; - СтруктураURL = ОбработчикПолученияФайлов.РазделитьURL(URL); + СтруктураURL = МодульПолучениеФайловИзИнтернетаКлиентСервер.РазделитьURL(URL); Протокол = СтруктураURL.Протокол; ИмяСервера = СтруктураURL.ИмяСервера; ПутьКФайлуНаСервере = СтруктураURL.ПутьКФайлуНаСервере; @@ -390,29 +390,56 @@ ДополнительныеОтчетыИОбработкиВБезопасномРежимеСлужебный.ПроверитьЛегитимностьВыполненияОперации(КлючСессии, ДополнительныеОтчетыИОбработкиВБезопасномРежимеИнтерфейс.РазрешениеПолучениеДанныхИзИнтернет( ВРег(Протокол), ИмяСервера, Порт)); - - ПараметрыПолучения = Новый Структура; - ПараметрыПолучения.Вставить("Пользователь", ИмяПользователя); - ПараметрыПолучения.Вставить("Пароль", Пароль); - ПараметрыПолучения.Вставить("Порт", Порт); - ПараметрыПолучения.Вставить("Таймаут", Таймаут); - ПараметрыПолучения.Вставить("ЗащищенноеСоединение", ЗащищенноеСоединение); - ПараметрыПолучения.Вставить("ПассивноеСоединение", ПассивноеСоединение); - Результат = ОбработчикПолученияФайлов.ПодготовитьПолучениеФайла( - URL, - ПараметрыПолучения, - Новый Структура( - "МестоХранения, Путь", - "ВременноеХранилище", - Неопределено)); - - Если Результат.Статус Тогда - Возврат Результат.Путь; - Иначе - ВызватьИсключение Результат.СообщениеОбОшибке; + Если ВРег(Протокол) = "HTTPS" Тогда + ЗащищенноеСоединение = Истина; КонецЕсли; + Прокси = МодульПолучениеФайловИзИнтернетаКлиентСервер.ПолучитьПрокси(Протокол); + + Если ВРег(Протокол) = "FTP" Тогда + Попытка + Соединение = Новый FTPСоединение(ИмяСервера, Порт, ИмяПользователя, Пароль, Прокси, ПассивноеСоединение, Таймаут); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + СообщениеОбОшибке = НСтр("ru = 'Ошибка при создании FTP-соединения с сервером %1:'") + Символы.ПС + "%2"; + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + СообщениеОбОшибке, ИмяСервера, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + КонецПопытки; + + Иначе + Если ЗащищенноеСоединение = Истина Тогда + ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL; + Иначе + ЗащищенноеСоединение = Неопределено; + КонецЕсли; + + Попытка + Соединение = Новый HTTPСоединение(ИмяСервера, Порт, ИмяПользователя, Пароль, Прокси, Таймаут, ЗащищенноеСоединение); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + СообщениеОбОшибке = НСтр("ru = 'Ошибка при создании HTTP-соединения с сервером %1:'") + Символы.ПС + "%2"; + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ИмяСервера, + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + КонецПопытки; + КонецЕсли; + + ВременныйФайл = ПолучитьИмяВременногоФайла(); + + Попытка + Соединение.Получить(ПутьКФайлуНаСервере, ВременныйФайл); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + СообщениеОбОшибке = НСтр("ru = 'Ошибка при получении файла с сервера %1:'") + Символы.ПС + "%2"; + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СообщениеОбОшибке, ИмяСервера, + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + КонецПопытки; + + Возврат ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВременныйФайл)); + КонецФункции // Функция выполняет передачу файла в сеть Интернет по протоколам HTTP(S)/FTP. diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВызовСервера/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВызовСервера/Module.bsl index f741395a2..feb23c7b7 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиВызовСервера/Module.bsl @@ -23,18 +23,6 @@ КонецФункции -// Функция возвращает вид публикации, который должен использоваться для -// конфликтующих дополнительных отчетов и обработок. -// -// Возвращаемое значение: -// ПеречислениеСсылка.ВариантыПубликацииДополнительныхОтчетовИОбработок -// -Функция ВидПубликацииДляКонфликтующихОбработок() Экспорт - - Возврат ДополнительныеОтчетыИОбработкиПовтИсп.ВидПубликацииДляКонфликтующихОбработок(); - -КонецФункции - #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиент/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиент/Module.bsl index ab7629174..c576fd848 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиент/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиент/Module.bsl @@ -601,7 +601,7 @@ // Показывает диалог установки расширения, затем выгружает данные дополнительного отчета или обработки. Процедура ВыгрузитьВФайл(ПараметрыВыгрузки) Экспорт - ТекстСообщения = НСтр("ru = 'Для выгрузки внешней обработки (отчета) в файл рекомендуется установить расширение работы с файлами.'"); + ТекстСообщения = НСтр("ru = 'Для выгрузки внешней обработки (отчета) в файл рекомендуется установить расширение для веб-клиента 1С:Предприятие.'"); Обработчик = Новый ОписаниеОповещения("ВыгрузитьВФайлЗавершение", ЭтотОбъект, ПараметрыВыгрузки); ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(Обработчик, ТекстСообщения); КонецПроцедуры @@ -611,35 +611,15 @@ ПараметрыОбработчика = Новый Структура; ПараметрыОбработчика.Вставить("Обработчик", ПодготовитьОбработчикДляДиалога(Обработчик)); ПараметрыОбработчика.Вставить("Результат", Результат); - Обработчик = Новый ОписаниеОповещения("ВернутьРезультатПослеПоказаПредупрежденияЗавершение", ЭтотОбъект, ПараметрыОбработчика); + Обработчик = Новый ОписаниеОповещения("ВернутьРезультатПослеЗакрытияПростогоДиалога", ЭтотОбъект, ПараметрыОбработчика); ПоказатьПредупреждение(Обработчик, ТекстПредупреждения); КонецПроцедуры -// Показывает окно предупреждение, а после его закрытия вызывает обработчик с заданным результатом. -Процедура ВернутьРезультатПослеПоказаФормы(Форма, Обработчик, Результат) Экспорт - ПараметрыОбработчика = Новый Структура; - ПараметрыОбработчика.Вставить("Обработчик", ПодготовитьОбработчикДляДиалога(Обработчик)); - ПараметрыОбработчика.Вставить("Результат", Результат); - Форма.ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ВернутьРезультатПослеПоказаФормыЗавершение", ЭтотОбъект, ПараметрыОбработчика); - Форма.Открыть(); -КонецПроцедуры - // Продолжение процедуры (см. выше). -Процедура ВернутьРезультатПослеПоказаПредупрежденияЗавершение(ПараметрыОбработчика) Экспорт - +Процедура ВернутьРезультатПослеЗакрытияПростогоДиалога(ПараметрыОбработчика) Экспорт Если ТипЗнч(ПараметрыОбработчика.Обработчик) = Тип("ОписаниеОповещения") Тогда ВыполнитьОбработкуОповещения(ПараметрыОбработчика.Обработчик, ПараметрыОбработчика.Результат); КонецЕсли; - -КонецПроцедуры - -// Продолжение процедуры (см. выше). -Процедура ВернутьРезультатПослеПоказаФормыЗавершение(РезультатЗакрытия, ПараметрыОбработчика) Экспорт - - Если ТипЗнч(ПараметрыОбработчика.Обработчик) = Тип("ОписаниеОповещения") Тогда - ВыполнитьОбработкуОповещения(ПараметрыОбработчика.Обработчик, ПараметрыОбработчика.Результат); - КонецЕсли; - КонецПроцедуры // Подготовка обработчика асинхронного диалога. diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентПереопределяемый/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентПереопределяемый/Module.bsl index 6d56155db..3c0262b34 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентПереопределяемый/Module.bsl @@ -3,7 +3,7 @@ // //////////////////////////////////////////////////////////////////////////////// -#Область СлужебныйПрограммныйИнтерфейс +#Область ПрограммныйИнтерфейс // Выполняет дополнительные действия перед формированием печатной формы. // diff --git a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентСервер/Module.bsl b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентСервер/Module.bsl index cb3c43c5b..b35461a36 100644 --- a/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ДополнительныеОтчетыИОбработкиКлиентСервер/Module.bsl @@ -88,6 +88,13 @@ КонецФункции +// Загрузка данных из файла. +Функция ТипКомандыЗагрузкаДанныхИзФайла() Экспорт + + Возврат "ЗагрузкаДанныхИзФайла"; // не локализуется + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Имена типов форм. Используются при настройке назначаемых объектов. diff --git a/SSL/src/CommonModules/ЖурналРегистрации/Module.bsl b/SSL/src/CommonModules/ЖурналРегистрации/Module.bsl index 1e02e9df7..53156efb6 100644 --- a/SSL/src/CommonModules/ЖурналРегистрации/Module.bsl +++ b/SSL/src/CommonModules/ЖурналРегистрации/Module.bsl @@ -8,8 +8,9 @@ // Процедура пакетной записи сообщений в журнал регистрации // -// Параметры: СобытияДляЖурналаРегистрации - СписокЗначений, клиентская глобальная переменная -// После записи переменная очищается. +// Параметры: +// СобытияДляЖурналаРегистрации - СписокЗначений - клиентская глобальная переменная. +// После записи переменная очищается. Процедура ЗаписатьСобытияВЖурналРегистрации(СобытияДляЖурналаРегистрации) Экспорт Если ТипЗнч(СобытияДляЖурналаРегистрации) <> Тип("СписокЗначений") Тогда @@ -256,10 +257,10 @@ // Создает пользовательское представление отбора журнала регистрации // // Параметры: -// ПредставлениеОтбора - Строка, строка, содержащая пользовательское представление отбора -// ОтборЖурналаРегистрации - Структура, значения отбора журнала регистрации -// ОтборЖурналаРегистрацииПоУмолчанию - Структура, значения отбора журнала регистрации по умолчанию -// (не включаются в пользовательское представления) +// ПредставлениеОтбора - Строка - строка, содержащая пользовательское представление отбора +// ОтборЖурналаРегистрации - Структура - значения отбора журнала регистрации +// ОтборЖурналаРегистрацииПоУмолчанию - Структура - значения отбора журнала регистрации по умолчанию +// (не включаются в пользовательское представления) // Процедура СформироватьПредставлениеОтбора(ПредставлениеОтбора, ОтборЖурналаРегистрации, ОтборЖурналаРегистрацииПоУмолчанию = Неопределено) Экспорт @@ -339,7 +340,8 @@ // Преобразование отбора. // -// Отбор - отбор - передаваемый отбор. +// Параметры: +// Отбор - отбор - передаваемый отбор. // Процедура ПреобразованиеОтбора(Отбор) @@ -358,8 +360,8 @@ // Преобразование элемента отбора. // // Параметры: -// Отбор - отбор - передаваемый отбор. -// Отбор - Элемент отбора - - элемент передаваемого отбора. +// Отбор - отбор - передаваемый отбор. +// Отбор - Элемент отбора - элемент передаваемого отбора. // Процедура ПреобразованиеЭлементаОтбора(Отбор, ЭлементОтбора) @@ -404,12 +406,12 @@ КонецПроцедуры // Добавить ограничение в представление отбора. -// +// // Параметры: -// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. -// ПредставлениеОтбора - Строка - представление отбора. -// ИмяОграничения - Строка - имя ограничения. -// ОтборЖурналаРегистрацииПоУмолчанию - Отбор - отбор журнала регистрации по умолчанию. +// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. +// ПредставлениеОтбора - Строка - представление отбора. +// ИмяОграничения - Строка - имя ограничения. +// ОтборЖурналаРегистрацииПоУмолчанию - Отбор - отбор журнала регистрации по умолчанию. // Процедура ДобавитьОграничениеВПредставлениеОтбора(ОтборЖурналаРегистрации, ПредставлениеОтбора, ИмяОграничения, ОтборЖурналаРегистрацииПоУмолчанию = Неопределено) diff --git a/SSL/src/CommonModules/ЖурналРегистрацииВызовСервера/Module.bsl b/SSL/src/CommonModules/ЖурналРегистрацииВызовСервера/Module.bsl index 2fcbc66d3..4c2d5cd25 100644 --- a/SSL/src/CommonModules/ЖурналРегистрацииВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/ЖурналРегистрацииВызовСервера/Module.bsl @@ -8,8 +8,9 @@ // Процедура пакетной записи сообщений в журнал регистрации // -// Параметры: СобытияДляЖурналаРегистрации - СписокЗначений, клиентская глобальная переменная -// После записи переменная очищается. +// Параметры: +// СобытияДляЖурналаРегистрации - СписокЗначений, клиентская глобальная переменная. +// После записи переменная очищается. Процедура ЗаписатьСобытияВЖурналРегистрации(СобытияДляЖурналаРегистрации) Экспорт ЖурналРегистрации.ЗаписатьСобытияВЖурналРегистрации(СобытияДляЖурналаРегистрации); diff --git a/SSL/src/CommonModules/ЖурналРегистрацииКлиент/Module.bsl b/SSL/src/CommonModules/ЖурналРегистрацииКлиент/Module.bsl index 6e2f7bbb0..0277b97ef 100644 --- a/SSL/src/CommonModules/ЖурналРегистрацииКлиент/Module.bsl +++ b/SSL/src/CommonModules/ЖурналРегистрацииКлиент/Module.bsl @@ -67,7 +67,7 @@ // Открывает форму для просмотра дополнительных данных события. // // Параметры: -// ТекущиеДанные - Строка таблицы значений - строка журнала регистрации. +// ТекущиеДанные - Строка таблицы значений - строка журнала регистрации. // Процедура ОткрытьДанныеДляПросмотра(ТекущиеДанные) Экспорт @@ -99,10 +99,10 @@ КонецПроцедуры // Открывает форму просмотра события обработки "Журнал регистрации" -// для отображения в ней подробных данных выбранного события +// для отображения в ней подробных данных выбранного события // // Параметры: -// Данные - Строка таблицы значений - строка журнала регистрации. +// Данные - Строка таблицы значений - строка журнала регистрации. // Процедура ПросмотрТекущегоСобытияВОтдельномОкне(Данные) Экспорт @@ -118,8 +118,8 @@ // и включает его в отбор журнала регистрации // // Параметры: -// ИнтервалДат - СтандартныйПериод, интервал дат отбора -// ОтборЖурналаРегистрации - Структура, отбор журнала регистрации +// ИнтервалДат - СтандартныйПериод, интервал дат отбора +// ОтборЖурналаРегистрации - Структура, отбор журнала регистрации // Процедура УстановитьИнтервалДатДляПросмотра(ИнтервалДат, ОтборЖурналаРегистрации, ОбработчикОповещения = Неопределено) Экспорт @@ -156,10 +156,10 @@ // Выполняет обработку выбора отдельного события в таблице событий // // Параметры: -// ТекущиеДанные - Строка таблицы значений - строка журнала регистрации. -// Поле - Поле таблицы значений - поле. -// ИнтервалДат - интервал. -// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. +// ТекущиеДанные - Строка таблицы значений - строка журнала регистрации. +// Поле - Поле таблицы значений - поле. +// ИнтервалДат - интервал. +// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. // Процедура СобытияВыбор(ТекущиеДанные, Поле, ИнтервалДат, ОтборЖурналаРегистрации) Экспорт @@ -168,7 +168,11 @@ КонецЕсли; Если Поле.Имя = "Данные" Или Поле.Имя = "ПредставлениеДанных" Тогда - Если ТекущиеДанные.Данные <> Неопределено И (ТипЗнч(ТекущиеДанные.Данные) <> Тип("Строка") И ЗначениеЗаполнено(ТекущиеДанные.Данные)) Тогда + Если ТекущиеДанные.Данные <> Неопределено + И Не ЗначениеЗаполнено(ТекущиеДанные.Комментарий) + И (ТипЗнч(ТекущиеДанные.Данные) <> Тип("Строка") + И ЗначениеЗаполнено(ТекущиеДанные.Данные)) Тогда + ОткрытьДанныеДляПросмотра(ТекущиеДанные); Возврат; КонецЕсли; @@ -186,13 +190,13 @@ // Заполняет отбор в соответствии с значением в текущей колонке событий. // // Параметры: -// ТекущиеДанные - Строка таблицы значений. -// ТекущийЭлемент - Текущий элемент строки таблицы значений. -// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. -// КолонкиИсключения - Список значений - колонки исключения. +// ТекущиеДанные - Строка таблицы значений. +// ТекущийЭлемент - Текущий элемент строки таблицы значений. +// ОтборЖурналаРегистрации - Отбор - отбор журнала регистрации. +// КолонкиИсключения - Список значений - колонки исключения. // // Возвращаемое значение: -// Булево - Истина, если отбор установлен, Ложь - Иначе. +// Булево - Истина, если отбор установлен, Ложь - Иначе. // Функция УстановитьОтборПоЗначениюВТекущейКолонке(ТекущиеДанные, ТекущийЭлемент, ОтборЖурналаРегистрации, КолонкиИсключения) Экспорт diff --git a/SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/Module.bsl b/SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/Module.bsl new file mode 100644 index 000000000..8eea76d83 --- /dev/null +++ b/SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/Module.bsl @@ -0,0 +1,52 @@ + +#Область ПрограммныйИнтерфейс + +// Создает новую структуру параметров для загрузки данных из файла в табличную часть. +// +// Возвращаемое значение: +// Структура - параметры для открытия формы загрузки данных в табличную часть: +// * ПолноеИмяТабличнойЧасти - Строка - полный путь к табличной части документа, +// в виде "ИмяДокумента.ИмяТабличнойЧасти". +// * Представление - Строка - заголовок окна в форме загрузке данных. +// * ИмяМакетаСШаблоном - Строка - имя макета с шаблоном для ввода данных. +// +Функция ПараметрыЗагрузкиДанных() Экспорт + ПараметрыЗагрузки = Новый Структура(); + ПараметрыЗагрузки.Вставить("ПолноеИмяТабличнойЧасти"); + ПараметрыЗагрузки.Вставить("Заголовок"); + ПараметрыЗагрузки.Вставить("ИмяМакетаСШаблоном"); + + Возврат ПараметрыЗагрузки; +КонецФункции + +// Открывает форму загрузки данных для заполнения табличной части. +// +// Параметры: +// ПараметрыЗагрузки - Структура - см. ЗагрузкаДанныхИзФайлаКлиент.ПараметрыЗагрузкиДанных. +// ОповещениеОЗагрузке - ОписаниеОповещения - оповещение, которое будет вызвано для добавления загруженных данных в табличную часть. +// +Процедура ПоказатьФормуЗагрузки(ПараметрыЗагрузки, ОповещениеОЗагрузке) Экспорт + + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма", ПараметрыЗагрузки, + ОповещениеОЗагрузке.Модуль, , , , ОповещениеОЗагрузке); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +// Открывает форму загрузки данных для заполнения табличной части сопоставления ссылок в подсистеме "Варианты отчетов" +// +// Параметры: +// ПараметрыЗагрузки - Структура - см. ЗагрузкаДанныхИзФайлаКлиент.ПараметрыЗагрузкиДанных. +// ОповещениеОЗагрузке - ОписаниеОповещения - оповещение, которое будет вызвано для добавления загруженных данных в табличную часть. +// +Процедура ПоказатьФормуЗаполненияСсылок(ПараметрыЗагрузки, ОповещениеОЗагрузке) Экспорт + + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма", ПараметрыЗагрузки, + ОповещениеОЗагрузке.Модуль,,,, ОповещениеОЗагрузке); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/НастройкиПользователейКлиент/НастройкиПользователейКлиент.mdo b/SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/ЗагрузкаДанныхИзФайлаКлиент.mdo similarity index 61% rename from SSL/src/CommonModules/НастройкиПользователейКлиент/НастройкиПользователейКлиент.mdo rename to SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/ЗагрузкаДанныхИзФайлаКлиент.mdo index 481f357c9..d76523c93 100644 --- a/SSL/src/CommonModules/НастройкиПользователейКлиент/НастройкиПользователейКлиент.mdo +++ b/SSL/src/CommonModules/ЗагрузкаДанныхИзФайлаКлиент/ЗагрузкаДанныхИзФайлаКлиент.mdo @@ -1,9 +1,9 @@ - - НастройкиПользователейКлиент + + ЗагрузкаДанныхИзФайлаКлиент ru - Настройки пользователей клиент + Загрузка данных из файла клиент true true diff --git a/SSL/src/CommonModules/ЗаметкиПользователяСлужебный/Module.bsl b/SSL/src/CommonModules/ЗаметкиПользователяСлужебный/Module.bsl index cbd5a0b22..6ffa99232 100644 --- a/SSL/src/CommonModules/ЗаметкиПользователяСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ЗаметкиПользователяСлужебный/Module.bsl @@ -15,12 +15,64 @@ "ЗаметкиПользователяСлужебный"); КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "ЗаметкиПользователяСлужебный"); + КонецЕсли; + КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не ПравоДоступа("Редактирование", Метаданные.Справочники.Заметки) Тогда + Возврат; + КонецЕсли; + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.Справочники.Заметки.ПолноеИмя()]; + + Если Разделы = Неопределено Тогда + Возврат; // Заметки не вынесены в командный интерфейс пользователя. + КонецЕсли; + + КоличествоЗаметок = КоличествоЗаметок(); + + Для Каждого Раздел Из Разделы Цикл + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ЗаметкиПользователя"; + Дело.ЕстьДела = КоличествоЗаметок > 0; + Дело.Представление = НСтр("ru = 'Мои заметки'"); + Дело.Количество = КоличествоЗаметок; + Дело.Форма = "Справочник.Заметки.Форма.ВсеЗаметки"; + Дело.Владелец = Раздел; + КонецЦикла; + +КонецПроцедуры + // Переопределяет массив реквизитов объекта, относительно которых разрешается устанавливать время напоминания. // Например, можно скрыть те реквизиты с датами, которые являются служебными или не имеют смысла для // установки напоминаний: дата документа или задачи и прочие. @@ -65,10 +117,29 @@ ЗаметкаОбъект.Записать(); Исключение ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - ЗаписьЖурналаРегистрации(НСтр("ru = 'Заметки пользователя.Установка пометки удаления'",ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + ЗаписьЖурналаРегистрации(НСтр("ru = 'Заметки пользователя.Установка пометки удаления'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, ЗаметкаОбъект.Метаданные(), ЗаметкаОбъект.Ссылка, ТекстОшибки); КонецПопытки; КонецЦикла; КонецПроцедуры +Функция КоличествоЗаметок() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | КОЛИЧЕСТВО(СправочникЗаметки.Ссылка) КАК Количество + |ИЗ + | Справочник.Заметки КАК СправочникЗаметки + |ГДЕ + | СправочникЗаметки.Автор = &Пользователь + | И НЕ СправочникЗаметки.ПометкаУдаления"; + + Запрос.УстановитьПараметр("Пользователь", Пользователи.ТекущийПользователь()); + + РезультатЗапроса = Запрос.Выполнить().Выгрузить(); + Возврат РезультатЗапроса[0].Количество; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектов/Module.bsl b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектов/Module.bsl index b7ac9b692..15e1d35c2 100644 --- a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектов/Module.bsl +++ b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектов/Module.bsl @@ -14,8 +14,8 @@ // ГруппаДляКнопкиЗапрета - ГруппаФормы - переопределяет стандартное размещение // кнопки запрета в форме объекта. // ЗаголовокКнопкиЗапрета - Строка - заголовок кнопки. По умолчанию, "Разрешить редактирование реквизитов". -// Объект - Неопределено - взять объект из реквизита формы Объект. -// - ДанныеФормыСтруктура - (по типу объекта). +// Объект - Неопределено - взять объект из реквизита формы "Объект". +// - ДанныеФормыСтруктура - по типу объекта. // Процедура ЗаблокироватьРеквизиты(Форма, ГруппаДляКнопкиЗапрета = Неопределено, ЗаголовокКнопкиЗапрета = "", Объект = Неопределено) Экспорт diff --git a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовКлиент/Module.bsl b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовКлиент/Module.bsl index e63b6fdfb..18cd6a0d1 100644 --- a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовКлиент/Module.bsl +++ b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовКлиент/Module.bsl @@ -12,11 +12,11 @@ // редактирование элементов формы, заданных реквизитов. // // ОбработкаПродолжения - Неопределено - никаких действий после выполнения процедуры. -// ОписаниеОповещения, которое вызывается после выполнения процедуры, -// в обработку передается параметр Успех типа Булево: -// Истина - ссылок не обнаружено или решение пользователя, -// Ложь - видимых заблокированных реквизитов нет или -// ссылки обнаружены и пользователь отказался от продолжения. +// - ОписаниеОповещения - оповещение, которое вызывается после выполнения процедуры. +// В обработку оповещения передается параметр типа Булево: +// Истина - ссылок не обнаружено или пользователь решил разрешить редактирование, +// Ложь - видимых заблокированных реквизитов нет или +// ссылки обнаружены и пользователь отказался от продолжения. // Процедура РазрешитьРедактированиеРеквизитовОбъекта(Знач Форма, ОбработкаПродолжения = Неопределено) Экспорт @@ -25,7 +25,7 @@ Если ЗаблокированныеРеквизиты.Количество() = 0 Тогда ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы( Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения", - ЭтотОбъект, ОбработкаПродолжения)); + ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, ОбработкаПродолжения)); Возврат; КонецЕсли; @@ -46,8 +46,8 @@ Параметры.Вставить("ОбработкаПродолжения", ОбработкаПродолжения); ПроверитьСсылкиНаОбъект( - Новый ОписаниеОповещения( - "РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок", ЭтотОбъект, Параметры), + Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок", + ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, Параметры), МассивСсылок, СинонимыРеквизитов); @@ -63,12 +63,12 @@ // Форма - УправляемаяФорма - форма, в которой требуется разрешить // редактирование элементов формы, заданных реквизитов. // -// Реквизиты - Массив - имена реквизитов, для которых нужно установить разрешенность изменения. -// Используется, когда функция РазрешитьРедактированиеРеквизитовОбъекта -// не используется. -// Неопределено - состав реквизитов доступных для редактирования не изменяется, -// а для элементов формы, связанных с реквизитами, изменение которых -// разрешено устанавливается доступность. +// Реквизиты - Массив - значения: +// * Строка - имена реквизитов, для которых нужно установить разрешенность изменения. +// Используется, когда функция РазрешитьРедактированиеРеквизитовОбъекта не используется. +// - Неопределено - состав реквизитов доступных для редактирования не изменяется, +// а для элементов формы, связанных с реквизитами, изменение которых разрешено +// устанавливается доступность. // Процедура УстановитьДоступностьЭлементовФормы(Знач Форма, Знач Реквизиты = Неопределено) Экспорт @@ -96,12 +96,15 @@ // и проверяет, есть ли ссылки на объект в информационной базе. // // Параметры: -// ОбработкаПродолжения - ОписаниеОповещения, которое вызывается после проверки, -// в обработку передается параметр: -// Истина - ссылок не обнаружено или решение пользователя, -// Ложь - ссылки обнаружены и пользователь отказался от продолжения. -// МассивСсылок - Массив - массив значений типа Ссылка, которые нужно найти в различных объектах. -// СинонимыРеквизитов - Массив - массив значений типа Строка, которые показываются пользователю. +// ОбработкаПродолжения - ОписаниеОповещения - оповещение, которое вызывается после проверки. +// В обработку оповещения передается параметр типа Булево: +// Истина - ссылок не обнаружено или пользователь решил разрешить редактирование, +// Ложь - видимых заблокированных реквизитов нет или +// ссылки обнаружены и пользователь отказался от продолжения. +// МассивСсылок - Массив - значения: +// * Ссылка - искомые ссылки в различных объектах. +// СинонимыРеквизитов - Массив - значения: +// * Строка - синонимы реквизитов, которые показываются пользователю. // Процедура ПроверитьСсылкиНаОбъект(Знач ОбработкаПродолжения, Знач МассивСсылок, Знач СинонимыРеквизитов) Экспорт @@ -149,7 +152,8 @@ Кнопки.Добавить(КодВозвратаДиалога.Нет, НСтр("ru = 'Отмена'")); ПоказатьВопрос( - Новый ОписаниеОповещения("ПроверитьСсылкиНаОбъектПослеПодтвержденияПроверки", ЭтотОбъект, Параметры), + Новый ОписаниеОповещения("ПроверитьСсылкиНаОбъектПослеПодтвержденияПроверки", + ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент, Параметры), ТекстВопроса, Кнопки, , КодВозвратаДиалога.Да, ЗаголовокДиалога); КонецПроцедуры @@ -159,22 +163,21 @@ // использования функции УстановитьДоступностьЭлементовФормы. // // Параметры: -// Форма - УправляемаяФорма - форма, в которой требуется разрешить -// редактирование реквизитов объекта. +// Форма - УправляемаяФорма - форма, в которой требуется разрешить редактирование реквизитов объекта. // -// Реквизиты - Массив - реквизиты, которые нужно пометить, как разрешенные для изменения. +// Реквизиты - Массив - значения +// * Строка - имена реквизитов, которые нужно пометить, как разрешенные для изменения. // -// РедактированиеРазрешено - Булево, начальное значение Истина - значение разрешенности редактирования реквизитов, -// которое нужно установить. Значение не будет установлено Истина, если нет права редактирования реквизита. -// Неопределено - не изменять разрешенность редактирования реквизитов. -// Ложь, Истина - установить указанное значение разрешенности редактирования реквизитов. +// РедактированиеРазрешено - Булево - значение разрешенности редактирования реквизитов, которое нужно установить. +// Значение не будет установлено Истина, если нет права редактирования реквизита. +// - Неопределено - не изменять разрешенность редактирования реквизитов. // -// ПравоРедактирования - Булево, начальное значение Неопределено - позволяет переопределить или доопределить -// возможность разблокировки реквизитов, которая вычисляется автоматически с помощью метода ПравоДоступа. -// Неопределено - не изменять ПравоРедактирования -// Ложь, Истина - установить указанное значение ПраваРедактирования для указанных реквизитов. +// ПравоРедактирования - Булево - позволяет переопределить или доопределить возможность разблокировки +// реквизитов, которая вычисляется автоматически с помощью метода ПравоДоступа. +// - Неопределено - не изменять свойство ПравоРедактирования. // -Процедура УстановитьРазрешенностьРедактированияРеквизитов(Знач Форма, Знач Реквизиты, Знач РедактированиеРазрешено = Истина, Знач ПравоРедактирования = Неопределено) Экспорт +Процедура УстановитьРазрешенностьРедактированияРеквизитов(Знач Форма, Знач Реквизиты, + Знач РедактированиеРазрешено = Истина, Знач ПравоРедактирования = Неопределено) Экспорт Если ТипЗнч(Реквизиты) = Тип("Массив") Тогда @@ -206,21 +209,19 @@ КонецПроцедуры -// Возвращает массив имен реквизитов, заданных в свойстве формы -// ПараметрыЗапретаРедактированияРеквизитов на основе имен реквизитов -// указанных в модуле мененджера объекта, исключая реквизиты, +// Возвращает массив имен реквизитов, заданных в свойстве формы ПараметрыЗапретаРедактированияРеквизитов +// на основе имен реквизитов указанных в модуле мененджера объекта, исключая реквизиты, // у которых ПравоРедактирования = Ложь. // // Параметры: -// Форма - Форма объекта с обязательным стандартным реквизитом Объект -// ТолькоЗаблокированные - Булево, начальное значение Истина, -// для вспомогательных целей можно задать Ложь, чтобы +// Форма - УправляемаяФорма - форма объекта с обязательным стандартным реквизитом "Объект". +// ТолькоЗаблокированные - Булево - для вспомогательных целей можно задать Ложь, чтобы // получить список всех видимых реквизитов, которые могут разблокироваться. -// ТолькоВидимые - Булево, начальное значение Истина, -// чтобы получить и разблокировать все реквизиты объекта, нужно указать Ложь. +// ТолькоВидимые - Булево - чтобы получить и разблокировать все реквизиты объекта, нужно указать Ложь. // // Возвращаемое значение: -// Массив - имена реквизитов +// Массив - значения: +// * Строка - имена реквизитов. // Функция Реквизиты(Знач Форма, Знач ТолькоЗаблокированные = Истина, ТолькоВидимые = Истина) Экспорт @@ -256,7 +257,7 @@ // // Параметры: // ОбработкаПродолжения - Неопределено - никаких действий после выполнения процедуры. -// ОписаниеОповещения, которое вызывается после выполнения процедуры. +// - ОписаниеОповещения - оповещение, которое вызывается после выполнения процедуры. // Процедура ПоказатьПредупреждениеВсеВидимыеРеквизитыРазблокированы(ОбработкаПродолжения = Неопределено) Экспорт @@ -273,87 +274,3 @@ КонецФункции #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -Процедура РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения(ОбработкаПродолжения) Экспорт - - Если ОбработкаПродолжения <> Неопределено Тогда - ВыполнитьОбработкуОповещения(ОбработкаПродолжения, Ложь); - КонецЕсли; - -КонецПроцедуры - -Процедура РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок(Результат, Параметры) Экспорт - - Если Результат Тогда - УстановитьРазрешенностьРедактированияРеквизитов( - Параметры.Форма, Параметры.ЗаблокированныеРеквизиты); - - УстановитьДоступностьЭлементовФормы(Параметры.Форма); - КонецЕсли; - - Если Параметры.ОбработкаПродолжения <> Неопределено Тогда - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Результат); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьСсылкиНаОбъектПослеПодтвержденияПроверки(Ответ, Параметры) Экспорт - - Если Ответ <> КодВозвратаДиалога.Да Тогда - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Ложь); - Возврат; - КонецЕсли; - - Если Параметры.МассивСсылок.Количество() = 0 Тогда - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Истина); - Возврат; - КонецЕсли; - - Если ОбщегоНазначенияВызовСервера.ЕстьСсылкиНаОбъект(Параметры.МассивСсылок) Тогда - - Если Параметры.МассивСсылок.Количество() = 1 Тогда - ТекстСообщения = НСтр("ru = 'Элемент ""%1"" уже используется в других местах в программе. - |Не рекомендуется разрешать редактирование из-за риска рассогласования данных.'"); - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Параметры.МассивСсылок[0]); - Иначе - ТекстСообщения = НСтр("ru = 'Выбранные элементы (%1) уже используются в других местах в программе. - |Не рекомендуется разрешать редактирование из-за риска рассогласования данных.'"); - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Параметры.МассивСсылок.Количество()); - КонецЕсли; - - Кнопки = Новый СписокЗначений; - Кнопки.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Разрешить редактирование'")); - Кнопки.Добавить(КодВозвратаДиалога.Нет, НСтр("ru = 'Отмена'")); - ПоказатьВопрос( - Новый ОписаниеОповещения( - "ПроверитьСсылкиНаОбъектПослеПодтвержденияРедактирования", ЭтотОбъект, Параметры), - ТекстСообщения, Кнопки, , КодВозвратаДиалога.Нет, Параметры.ЗаголовокДиалога); - Иначе - Если Параметры.МассивСсылок.Количество() = 1 Тогда - ПоказатьОповещениеПользователя(НСтр("ru = 'Редактирование реквизитов разрешено'"), - ПолучитьНавигационнуюСсылку(Параметры.МассивСсылок[0]), Параметры.МассивСсылок[0]); - Иначе - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Разрешено редактирование реквизитов объектов (%1)'"), Параметры.МассивСсылок.Количество()); - ПоказатьОповещениеПользователя(НСтр("ru = 'Редактирование реквизитов разрешено'"),, ТекстСообщения); - КонецЕсли; - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Истина); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьСсылкиНаОбъектПослеПодтвержденияРедактирования(Ответ, Параметры) Экспорт - - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Ответ = КодВозвратаДиалога.Да); - -КонецПроцедуры - -Процедура ПроверитьСсылкиНаОбъектПослеПредупрежденияРедактирования(Параметры) Экспорт - - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Истина); - -КонецПроцедуры - -#КонецОбласти diff --git a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/Module.bsl new file mode 100644 index 000000000..e0ea5b91f --- /dev/null +++ b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/Module.bsl @@ -0,0 +1,82 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Запрет редактирования реквизитов объектов". +// +//////////////////////////////////////////////////////////////////////////////// + +#Область СлужебныеПроцедурыИФункции + +Процедура РазрешитьРедактированиеРеквизитовОбъектаПослеПредупреждения(ОбработкаПродолжения) Экспорт + + Если ОбработкаПродолжения <> Неопределено Тогда + ВыполнитьОбработкуОповещения(ОбработкаПродолжения, Ложь); + КонецЕсли; + +КонецПроцедуры + +Процедура РазрешитьРедактированиеРеквизитовОбъектаПослеПроверкиСсылок(Результат, Параметры) Экспорт + + Если Результат Тогда + ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьРазрешенностьРедактированияРеквизитов( + Параметры.Форма, Параметры.ЗаблокированныеРеквизиты); + + ЗапретРедактированияРеквизитовОбъектовКлиент.УстановитьДоступностьЭлементовФормы(Параметры.Форма); + КонецЕсли; + + Если Параметры.ОбработкаПродолжения <> Неопределено Тогда + ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Результат); + КонецЕсли; + +КонецПроцедуры + +Процедура ПроверитьСсылкиНаОбъектПослеПодтвержденияПроверки(Ответ, Параметры) Экспорт + + Если Ответ <> КодВозвратаДиалога.Да Тогда + ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Ложь); + Возврат; + КонецЕсли; + + Если Параметры.МассивСсылок.Количество() = 0 Тогда + ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Истина); + Возврат; + КонецЕсли; + + Если ОбщегоНазначенияВызовСервера.ЕстьСсылкиНаОбъект(Параметры.МассивСсылок) Тогда + + Если Параметры.МассивСсылок.Количество() = 1 Тогда + ТекстСообщения = НСтр("ru = 'Элемент ""%1"" уже используется в других местах в программе. + |Не рекомендуется разрешать редактирование из-за риска рассогласования данных.'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Параметры.МассивСсылок[0]); + Иначе + ТекстСообщения = НСтр("ru = 'Выбранные элементы (%1) уже используются в других местах в программе. + |Не рекомендуется разрешать редактирование из-за риска рассогласования данных.'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Параметры.МассивСсылок.Количество()); + КонецЕсли; + + Кнопки = Новый СписокЗначений; + Кнопки.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Разрешить редактирование'")); + Кнопки.Добавить(КодВозвратаДиалога.Нет, НСтр("ru = 'Отмена'")); + ПоказатьВопрос( + Новый ОписаниеОповещения( + "ПроверитьСсылкиНаОбъектПослеПодтвержденияРедактирования", ЭтотОбъект, Параметры), + ТекстСообщения, Кнопки, , КодВозвратаДиалога.Нет, Параметры.ЗаголовокДиалога); + Иначе + Если Параметры.МассивСсылок.Количество() = 1 Тогда + ПоказатьОповещениеПользователя(НСтр("ru = 'Редактирование реквизитов разрешено'"), + ПолучитьНавигационнуюСсылку(Параметры.МассивСсылок[0]), Параметры.МассивСсылок[0]); + Иначе + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Разрешено редактирование реквизитов объектов (%1)'"), Параметры.МассивСсылок.Количество()); + ПоказатьОповещениеПользователя(НСтр("ru = 'Редактирование реквизитов разрешено'"),, ТекстСообщения); + КонецЕсли; + ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Истина); + КонецЕсли; + +КонецПроцедуры + +Процедура ПроверитьСсылкиНаОбъектПослеПодтвержденияРедактирования(Ответ, Параметры) Экспорт + + ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения, Ответ = КодВозвратаДиалога.Да); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент.mdo b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент.mdo new file mode 100644 index 000000000..14566232d --- /dev/null +++ b/SSL/src/CommonModules/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент/ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент.mdo @@ -0,0 +1,10 @@ + + + ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент + + ru + Запрет редактирования реквизитов объектов служебный клиент + + true + true + diff --git a/SSL/src/CommonModules/ЗащитаПерсональныхДанныхПереопределяемый/Module.bsl b/SSL/src/CommonModules/ЗащитаПерсональныхДанныхПереопределяемый/Module.bsl index 78d6ee5c7..6719b04dc 100644 --- a/SSL/src/CommonModules/ЗащитаПерсональныхДанныхПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ЗащитаПерсональныхДанныхПереопределяемый/Module.bsl @@ -4,7 +4,7 @@ // //////////////////////////////////////////////////////////////////////////////// -#Область СлужебныеПроцедурыИФункции +#Область ПрограммныйИнтерфейс // Процедура обеспечивает сбор сведений о хранении данных, // относящихся к персональным diff --git a/SSL/src/CommonModules/ИнформацияПриЗапуске/Module.bsl b/SSL/src/CommonModules/ИнформацияПриЗапуске/Module.bsl index 855881b9b..6221b10d8 100644 --- a/SSL/src/CommonModules/ИнформацияПриЗапуске/Module.bsl +++ b/SSL/src/CommonModules/ИнформацияПриЗапуске/Module.bsl @@ -13,7 +13,7 @@ // КЛИЕНТСКИЕ ОБРАБОТЧИКИ. - КлиентскиеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриНачалеРаботыСистемы"].Добавить( + КлиентскиеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПослеНачалаРаботыСистемы"].Добавить( "ИнформацияПриЗапускеКлиент"); // СЕРВЕРНЫЕ ОБРАБОТЧИКИ. @@ -70,25 +70,25 @@ // Параметры - Структура - Параметры запуска. // Процедура ПриДобавленииПараметровРаботыКлиентскойЛогикиСтандартныхПодсистемПриЗапуске(Параметры) Экспорт - - Показывать = Ложь; - + Настройки = Новый Структура; + Настройки.Вставить("Показывать", Ложь); Если Метаданные.Обработки.ИнформацияПриЗапуске.Макеты.Количество() > 1 Тогда Если СтандартныеПодсистемыСервер.ЭтоБазоваяВерсияКонфигурации() Тогда - Показывать = Истина; + Настройки.Показывать = Истина; Иначе - Показывать = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ИнформацияПриЗапуске", "Показывать", Истина); - Если Не Показывать Тогда + Настройки.Показывать = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ИнформацияПриЗапуске", "Показывать", Истина); + Если Не Настройки.Показывать Тогда ДатаБлижайшегоПоказа = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ИнформацияПриЗапуске", "ДатаБлижайшегоПоказа"); Если ДатаБлижайшегоПоказа = Неопределено Или ДатаБлижайшегоПоказа <= ТекущаяДатаСеанса() Тогда - Показывать = Истина; + Настройки.Показывать = Истина; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; - Параметры.Вставить("ИнформацияПриЗапуске", Новый ФиксированнаяСтруктура("Показывать", Показывать)); + ИнформацияПриЗапускеПереопределяемый.ОпределитьНастройки(Настройки); + Параметры.Вставить("ИнформацияПриЗапуске", Новый ФиксированнаяСтруктура(Настройки)); КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonModules/ИнформацияПриЗапускеКлиент/Module.bsl b/SSL/src/CommonModules/ИнформацияПриЗапускеКлиент/Module.bsl index 00c71fbb2..433fa678c 100644 --- a/SSL/src/CommonModules/ИнформацияПриЗапускеКлиент/Module.bsl +++ b/SSL/src/CommonModules/ИнформацияПриЗапускеКлиент/Module.bsl @@ -8,14 +8,22 @@ //////////////////////////////////////////////////////////////////////////////// // Обработчики служебных событий -// Вызывается при запуске конфигурации, открывает окно информации. -Процедура ПриНачалеРаботыСистемы(Параметры) Экспорт +// Вызывается после запуска конфигурации, подключает обработчик ожидания, который открывает окно информации. +Процедура ПослеНачалаРаботыСистемы() Экспорт ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); - Если ПараметрыКлиента.Свойство("ИнформацияПриЗапуске") И ПараметрыКлиента.ИнформацияПриЗапуске.Показывать Тогда - ОткрытьФорму("Обработка.ИнформацияПриЗапуске.Форма"); + Если ПараметрыКлиента.Свойство("ИнформацияПриЗапуске") + И ПараметрыКлиента.ИнформацияПриЗапуске.Показывать + И ПараметрыКлиента.Свойство("ПоказатьОписаниеИзмененийСистемы") + И Не ПараметрыКлиента.ПоказатьОписаниеИзмененийСистемы Тогда + ПодключитьОбработчикОжидания("ПоказатьИнформациюПослеЗапуска", 0.2, Истина); КонецЕсли; КонецПроцедуры +// Вызывается из обработчика ожидания, открывает окно информации. +Процедура Показать() Экспорт + ОткрытьФорму("Обработка.ИнформацияПриЗапуске.Форма"); +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/Module.bsl b/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/Module.bsl new file mode 100644 index 000000000..e82c22298 --- /dev/null +++ b/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/Module.bsl @@ -0,0 +1,22 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Информация при запуске" +// +//////////////////////////////////////////////////////////////////////////////// + +#Область ПрограммныйИнтерфейс + +// Определение настроек отображения информации при запуске. +// +// Параметры: +// Настройки - Коллекция настроек подсистемы. Реквизиты: +// * Показывать - Булево - Показывать ли информацию в текущем сеансе. +// - Истина - Информация будет показана после входа в программу. +// - Ложь - Информация не будет показана. +// +Процедура ОпределитьНастройки(Настройки) Экспорт + + + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/ИнформацияПриЗапускеПереопределяемый.mdo b/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/ИнформацияПриЗапускеПереопределяемый.mdo new file mode 100644 index 000000000..e085e7524 --- /dev/null +++ b/SSL/src/CommonModules/ИнформацияПриЗапускеПереопределяемый/ИнформацияПриЗапускеПереопределяемый.mdo @@ -0,0 +1,11 @@ + + + ИнформацияПриЗапускеПереопределяемый + + ru + Информация при запуске переопределяемый + + true + true + true + diff --git a/SSL/src/CommonModules/КалендарныеГрафики/Module.bsl b/SSL/src/CommonModules/КалендарныеГрафики/Module.bsl index e6be6b7f8..1b82dd2e0 100644 --- a/SSL/src/CommonModules/КалендарныеГрафики/Module.bsl +++ b/SSL/src/CommonModules/КалендарныеГрафики/Module.bsl @@ -333,7 +333,10 @@ ТекстЗапросаВТ = ""; ПерваяЧасть = Истина; Для Каждого НачальнаяДата Из НачальныеДаты Цикл - Если НЕ ПерваяЧасть Тогда + Если Не ЗначениеЗаполнено(НачальнаяДата) Тогда + Продолжить; + КонецЕсли; + Если Не ПерваяЧасть Тогда ТекстЗапросаВТ = ТекстЗапросаВТ + " |ОБЪЕДИНИТЬ ВСЕ |"; @@ -644,24 +647,27 @@ Обработчик = Обработчики.Добавить(); Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "КалендарныеГрафики.ОбновитьПроизводственныеКалендари"; + Обработчик.Версия = "1.0.0.1"; Обработчик.ОбщиеДанные = Истина; Обработчик = Обработчики.Добавить(); Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеПроизводственныхКалендарей"; Обработчик.РежимВыполнения = "Монопольно"; + Обработчик.Версия = "1.0.0.1"; Обработчик.ОбщиеДанные = Истина; Обработчик = Обработчики.Добавить(); Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "КалендарныеГрафики.ОбновитьИспользованиеНесколькихПроизводственныхКалендарей"; + Обработчик.Версия = "1.0.0.1"; Обработчик = Обработчики.Добавить(); Обработчик.Версия = "2.1.3.7"; Обработчик.Процедура = "КалендарныеГрафики.ОбновитьИспользованиеНесколькихПроизводственныхКалендарей"; Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "2.2.1.32"; + Обработчик.Версия = "2.2.3.38"; Обработчик.Процедура = "КалендарныеГрафики.ОбновитьДанныеПроизводственныхКалендарей"; Обработчик.РежимВыполнения = "Монопольно"; Обработчик.ОбщиеДанные = Истина; diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияXML/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияXML/Module.bsl index 710921d7f..e0e89fde1 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияXML/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияXML/Module.bsl @@ -4,17 +4,18 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #Область СлужебныйПрограммныйИнтерфейс -// // Сравнивает два XML и возвращает результат в виде таблицы значений. // // Параметры: -// Текст1, Текст2 - строки с XML данными +// Текст1 - Строка - XML данные +// Текст1 - Строка - XML данные // -// Возвращает таблица значений с колонками: -// - Путь - строка - XPath путь к месту различия -// - Значение1 - строка - значение в XML из параметра Текст1 -// - Значение2 - строка - значение в XML из параметра Текст2 +// Возвращаемое значение: +// ТаблицаЗначений с колонками: +// * Путь - Строка - XPath путь к месту различия +// * Значение1 - Строка - значение в XML из параметра Текст1 +// * Значение2 - Строка - значение в XML из параметра Текст2 // Функция РазличияXML(Знач Текст1, Знач Текст2) Экспорт Возврат ЗначениеИзСтрокиXML( XSLT_ТаблицаЗначенийРазличияXML(Текст1, Текст2) ); @@ -23,7 +24,10 @@ // Возвращает соответствующее значение перечисления "ТипыКонтактнойИнформации" по строке XML // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию +// XMLСтрока - Строка, описывающая контактную информацию +// +// Возвращаемое значение: +// ПеречислениеСсылка.ТипыКонтактнойИнформации - результат // Функция ТипКонтактнойИнформации(Знач XMLСтрока) Экспорт Возврат ЗначениеИзСтрокиXML( XSLT_ТипКонтактнойИнформацииПоСтрокеXML(XMLСтрока) ); @@ -33,7 +37,11 @@ // Если значение состава сложного типа, то возвращает неопределено // // Параметры: -// Текст XML строка контактной информации. Может быть модифицирован +// Текст Строка - XML строка контактной информации. Может быть модифицирован +// +// Возвращаемое значение: +// Строка - XML значение состава +// Неопределено - Свойство "Состав" не найдено // Функция СтрокаСоставаКонтактнойИнформации(Знач Текст, Знач НовоеЗначение = Неопределено) Экспорт Чтение = Новый ЧтениеXML; @@ -55,7 +63,10 @@ // Преобразует строку пар ключ = значение (см старый формат адреса) в структуру. // // Параметры: -// Текст - строка пар ключ = значение, разделенные переносом строки +// Текст - Строка - пары ключ = значение, разделенные переносом строки +// +// Возвращаемое значение: +// Структура - результат преобразования // Функция СтрокаКлючЗначениеВСтруктуру(Знач Текст) Экспорт Возврат ЗначениеИзСтрокиXML( XSLT_СтрокаКлючЗначениеВСтруктуру(Текст) ); @@ -65,8 +76,12 @@ // В возвращаемом списке значений представление - исходный ключ, значение - исходное значение // // Параметры: -// Текст - строка пар ключ = значение, разделенные переносом строки +// Текст - Строка - пары ключ = значение, разделенные переносом строки +// УникальностьПолей - Булево - флаг того, что из неуникальных ключей будет оставлен только последний // +// Возвращаемое значение: +// СписокЗначений - результат преобразования +// Функция СтрокаКлючЗначениеВСписокЗначений(Знач Текст, Знач УникальностьПолей = Истина) Экспорт Если УникальностьПолей Тогда Возврат ЗначениеИзСтрокиXML( XSLT_УникальныеПоПредставлениюВСписке(XSLT_СтрокаКлючЗначениеВСписокЗначений(Текст)) ); @@ -77,8 +92,11 @@ // Преобразует структуру в строку пар ключ-значение, разделенный запятыми // // Параметры: -// Структура - исходная структура +// Структура - Структура - исходная структура // +// Возвращаемое значение: +// Строка - результат преобразования +// Функция СтруктураВСтрокуКлючЗначение(Знач Структура) Экспорт Возврат XSLT_СтруктураВСтрокуКлючЗначение( ЗначениеВСтрокуXML(Структура) ); КонецФункции @@ -86,8 +104,11 @@ // Преобразует список значений в строку пар ключ-значение, разделенный запятыми // // Параметры: -// Список - список значений +// Список - СписокЗначений - исходный данные // +// Возвращаемое значение: +// Строка - результат преобразования +// Функция СписокЗначенийВСтрокуКлючЗначение(Знач Список) Экспорт Возврат XSLT_СписокЗначенийВСтрокуКлючЗначение( ЗначениеВСтрокуXML(Список) ); КонецФункции @@ -95,7 +116,10 @@ // Преобразует структуру в список значений. Ключ преобразуется в представление. // // Параметры: -// Структура - исходная структура +// Структура - Структура - исходная структура +// +// Возвращаемое значение: +// СписокЗначений - результат преобразования // Функция СтруктураВСписокЗначений(Знач Структура) Экспорт Возврат ЗначениеИзСтрокиXML( XSLT_СтруктураВСписокЗначений( ЗначениеВСтрокуXML(Структура) ) ); @@ -104,7 +128,10 @@ // Преобразует список значений в структуру. Представление преобразуется в ключ. // // Параметры: -// Структура - исходная структура +// Список - СписокЗначений - исходные данные +// +// Возвращаемое значение: +// Структура - результат преобразования // Функция СписокЗначенийВСтруктуру(Знач Список) Экспорт Возврат ЗначениеИзСтрокиXML( XSLT_СписокЗначенийВСтруктуру( ЗначениеВСтрокуXML(Список) ) ); @@ -113,28 +140,24 @@ // Сравнивает два экземпляра контактной инфромации. // // Параметры: -// Данные1, Данные2 - данные экземпляров контактной информации. Каждый параметр независимо может принимать -// значения следующих типов: -// - ОбъектXTDO. Рассматривается как объект с контактной информацией -// - Строка. Рассматривается как контактная информация в формате XML -// - Структура, описывающие контактную информацию. Ожидаются поля: -// ЗначенияПолей - строка (XML или старый формат ключ-значение), структура, список значений, -// соответствие. Если в этом поле передана строка XML, то остальные поля -// структуры игнорируются. -// Представление - строка представления. Используется в случае, если не удалось вычислить -// представление из ЗначенияПолей (отсутствие в них поля Представление) -// ВидКонтактнойИнформации - ссылка на справочник ВидыКонтактнойИнформации или значение перечисления -// ТипыКонтактнойИнформации. Используется в случае, если не удалось вычислить -// тип из ЗначенияПолей -// Комментарий - строка комментария. Используется в случае, если не удалось вычислить -// комментарий из ЗначенияПолей +// Данные1 - ОбъектXTDO - объект с контактной информацией +// - Строка - контактная информация в формате XML +// - Структура - описание контактной информацию. Ожидаются поля: +// * ЗначенияПолей - Строка, Структура, СписокЗначений, Соответствие - поля контактной информации +// * Представление - Строка - Представление. Используется в случае, если не удалось вычислить +// представление из ЗначенияПолей (отсутствие в них поля Представление) +// * Комментарий - Строка - комментарий. Используется в случае, если не удалось вычислить комментарий из ЗначенияПолей +// * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// Используется в случае, если не удалось вычислить тип из ЗначенияПолей +// Данные2 - ОбъектXTDO, Строка, Структура - аналогично Данные1 // -// Возвращает таблицу отличающихся полей со следующими колонками: -// Путь - строка XPath, идентифицирующая различающееся значение. Значение "ТипКонтактнойИнформации" означает, -// что переданные экземпляры контактной информации различаются типом. -// Описание - строка описания отличающегося реквизита в терминах предметной области -// Значение1 - строка значения, соответствующая объекту, переданному в параметре Данные1 -// Значение2 - строка значения, соответствующая объекту, переданному в параметре Данные2 +// Возвращаемое значение: +// ТаблицаЗначений: - таблица отличающихся полей со следующими колонками: +// * Путь - Строка - XPath, идентифицирующий различающееся значение. Значение "ТипКонтактнойИнформации" означает, +// что переданные экземпляры контактной информации различаются типом. +// * Описание - Строка - описание отличающегося реквизита в терминах предметной области +// * Значение1 - Строка - значение, соответствующая объекту, переданному в параметре Данные1 +// * Значение2 - Строка - значение, соответствующая объекту, переданному в параметре Данные2 // Функция РазличияКонтактнойИнформации(Знач Данные1, Знач Данные2) Экспорт ДанныеКИ1 = ПривестиКонтактнуюИнформациюXML(Данные1); @@ -164,18 +187,20 @@ // Преобразует контактную информацию в вид XML // // Параметры: -// Данные - строка XML, объект XTDO или структура, описывающие контактную информацию. -// В структуре ожидаются поля: -// "ЗначенияПолей" - строка (XML или старый формат ключ-значение) или структура или список значений. -// Если в этом поле передана строка XML, то остальные поля игнорируются -// "ВидКонтактнойИнформации" - СправочникСсылка.ВидыКонтактнойИнформации -// или Перечисление.ТипыКонтактнойИнформации -// "Представление" - строка представления -// "Комментарий" - необязательная строка комментария +// Данные - Строка - описание контактной информации. +// - ОбъектXTDO - описание контактной информации. +// - Структура - описание контактной информации. Ожидаются поля: +// * ЗначенияПолей - Строка, Структура, СписокЗначений, Соответствие - поля контактной информации +// * Представление - Строка - Представление. Используется в случае, если не удалось вычислить +// представление из ЗначенияПолей (отсутствие в них поля Представление) +// * Комментарий - Строка - комментарий. Используется в случае, если не удалось вычислить комментарий из ЗначенияПолей +// * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// Используется в случае, если не удалось вычислить тип из ЗначенияПолей // -// Возвращаемое значение - структура с полями: -// ТипКонтактнойИнформации - Перечисление.ТипыКонтактнойИнформации -// ДанныеXML - строка с текстом XML +// Возвращаемое значение: +// Структура - содержит поля: +// * ТипКонтактнойИнформации - Перечисление.ТипыКонтактнойИнформации +// * ДанныеXML - Строка - текст XML // Функция ПривестиКонтактнуюИнформациюXML(Знач Данные) Экспорт Если ЭтоСтрокаXML(Данные) Тогда @@ -188,8 +213,8 @@ ДанныеXML, ЗначениеИзСтрокиXML( XSLT_ТипКонтактнойИнформацииПоСтрокеXML(ДанныеXML) )); КонецЕсли; + // Ожидаем структуру - Комментарий = Неопределено; Данные.Свойство("Комментарий", Комментарий); @@ -199,6 +224,7 @@ Если Не ПустаяСтрока(Комментарий) Тогда КонтактнаяИнформацияСлужебный.КомментарийКонтактнойИнформации(ЗначенияПолей, Комментарий); КонецЕсли; + Возврат Новый Структура("ДанныеXML, ТипКонтактнойИнформации", ЗначенияПолей, ЗначениеИзСтрокиXML( XSLT_ТипКонтактнойИнформацииПоСтрокеXML(ЗначенияПолей) )); @@ -209,20 +235,24 @@ Если ТипЗначенийПолей = Тип("Строка") Тогда // Текст из пар ключ-значение СтрокаXMLСтруктуры = XSLT_СтрокаКлючЗначениеВСтруктуру(ЗначенияПолей) + ИначеЕсли ТипЗначенийПолей = Тип("СписокЗначений") Тогда // Список значений СтрокаXMLСтруктуры = XSLT_СписокЗначенийВСтруктуру( ЗначениеВСтрокуXML(ЗначенияПолей) ); + ИначеЕсли ТипЗначенийПолей = Тип("Соответствие") Тогда // Соответствие СтрокаXMLСтруктуры = XSLT_СоответствиеВСтруктуру( ЗначениеВСтрокуXML(ЗначенияПолей) ); + Иначе // Ожидаем структуру СтрокаXMLСтруктуры = ЗначениеВСтрокуXML(ЗначенияПолей); + КонецЕсли; // Разбираем по ВидКонтактнойИнформации - ТипКонтактнойИнформации = УправлениеКонтактнойИнформацией.ТипВидаКонтактнойИнформации( - Данные.ВидКонтактнойИнформации); + ТипКонтактнойИнформации = УправлениеКонтактнойИнформацией.ТипВидаКонтактнойИнформации(Данные.ВидКонтактнойИнформации); + Результат = Новый Структура("ТипКонтактнойИнформации, ДанныеXML", ТипКонтактнойИнформации); ВсеТипы = Перечисления.ТипыКонтактнойИнформации; @@ -255,27 +285,32 @@ #КонецОбласти #Область СлужебныеПроцедурыИФункции -// // Преобразует список значений, оставляя из него только последние значения пар ключ-значение по ключу-представлению. // // Параметры: -// Текст - сериализованный список значений +// Текст - Строка - сериализованный список значений // -// Возвращаемое значение - строка XML сериализованного списка значений +// Возвращаемое значение: +// Строка - XML сериализованного списка значений // Функция XSLT_УникальныеПоПредставлениюВСписке(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_УникальныеПоПредставлениюВСписке(); Возврат Преобразователь.ПреобразоватьИзСтроки(Текст); КонецФункции -// Производит проверку двух строк XML - параметра и текущего -// Результат преобразования - сериализованый ValueTable (http://v8.1c.ru/8.1/data/core), в котором три колонки: -// - Путь - строка - путь к месту различия -// - Значение1 - строка - значение в XML из параметра Текст1 -// - Значение2 - строка - значение в XML из параметра Текст2 +// Производит сравнение двух строк XML +// Проверяются только строки и атрибуты, без пробельных, CDATA и т.п. Порядок важен. // -// Проверяем только строки и атрибуты, без пробельных, CDATA и т.п. Порядок важен. +// Параметры: +// Текст1 - Строка - Строка XML +// Текст2 - Строка - Строка XML +// +// Возвращаемое значение: +// Строка - сериализованый ValueTable (http://v8.1c.ru/8.1/data/core), в котором три колонки: +// * Путь - Строка - путь к месту различия +// * Значение1 - Строка - значение в XML из параметра Текст1 +// * Значение2 - Строка - значение в XML из параметра Текст2 // Функция XSLT_ТаблицаЗначенийРазличияXML(Текст1, Текст2) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_ТаблицаЗначенийРазличияXML(); @@ -295,9 +330,10 @@ // последний (особенность работы сериализатора платформы) // // Параметры: -// Текст - строка с парами Ключ = Значение +// Текст - Строка - пары Ключ = Значение // -// Возвращаемое значение - строка XML сериализованной структуры +// Возвращаемое значение: +// Строка - XML сериализованной структуры // Функция XSLT_СтрокаКлючЗначениеВСтруктуру(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтрокаКлючЗначениеВСтруктуру(); @@ -308,9 +344,10 @@ // В случае повторных ключей все включаются в результат // // Параметры: -// Текст - строка с парами Ключ = Значение +// Текст - Строка - пары Ключ = Значение // -// Возвращаемое значение - строка XML сериализованного списка значений +// Возвращаемое значение: +// Строка - XML сериализованного списка значений // Функция XSLT_СтрокаКлючЗначениеВСписокЗначений(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтрокаКлючЗначениеВСписокЗначений(); @@ -320,9 +357,10 @@ // Преобразует список значений в строку пар ключ = значение, разделенных переносом строки // // Параметры: -// Текст - сериализованный список значений +// Текст - Строка - сериализованный список значений // -// Возвращаемое значение - строка результата +// Возвращаемое значение: +// Строка - результат преобразования // Функция XSLT_СписокЗначенийВСтрокуКлючЗначение(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СписокЗначенийВСтрокуКлючЗначение(); @@ -332,21 +370,23 @@ // Преобразует структуру в строку пар ключ = значение, разделенных переносом строки // // Параметры: -// Текст - сериализованная структура +// Текст - Строка - сериализованная структура // -// Возвращаемое значение - строка результата +// Возвращаемое значение: +// Строка - результат преобразования // Функция XSLT_СтруктураВСтрокуКлючЗначение(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВСтрокуКлючЗначение(); Возврат Преобразователь.ПреобразоватьИзСтроки(Текст); КонецФункции -// Преобразует список значений в структур. Представление преобразуется в ключ +// Преобразует список значений в структуру. Представление преобразуется в ключ // // Параметры: -// Текст - сериализованный список значений +// Текст - Строка - сериализованная список значений // -// Возвращаемое значение - сериализованная структура +// Возвращаемое значение: +// Строка - результат преобразования // Функция XSLT_СписокЗначенийВСтруктуру(Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СписокЗначенийВСтруктуру(); @@ -356,9 +396,10 @@ // Преобразует структуру в список значений. Ключ преобразуется в представление. // // Параметры: -// Текст - сериализованная структура +// Текст - Строка - сериализованная структура // -// Возвращаемое значение - сериализованный список значений +// Возвращаемое значение: +// Строка - результат преобразования // Функция XSLT_СтруктураВСписокЗначений(Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВСписокЗначений(); @@ -368,9 +409,10 @@ // Преобразует соответсвие в структуру. Ключ преобразуется в ключ, значение - в значение. // // Параметры: -// Текст - сериализованное соответствие +// Текст - Строка - сериализованное соответствие // -// Возвращаемое значение - сериализованная структура +// Возвращаемое значение: +// Строка - результат преобразования // Функция XSLT_СоответствиеВСтруктуру(Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СоответствиеВСтруктуру(); @@ -380,12 +422,11 @@ // Анализирует таблицу Путь-Значение1-Значение2 для указанного вида контактной информации // // Параметры: -// Текст - строка XML с ValueTable из результата сравнения XML. Ожидаются колонки -// "Путь", "Значение1", "Значение2". -// ТипКонтактнойИнформации - значение перечисления типа +// Текст - Строка - строка XML с ValueTable из результата сравнения XML. +// ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации - значение перечисления типа // -// Возвращает сериализованную таблицу значений отличающихся полей с колонками -// "Путь", "Описание", "Значение1", "Значение2". +// Возвращаемое значение: +// Строка - сериализованную таблицу значений отличающихся полей // Функция XSLT_ИнтерпретацияРазличияXMLКонтактнойИнформации(Знач Текст, Знач ТипКонтактнойИнформации) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_ИнтерпретацияРазличияXMLКонтактнойИнформации( @@ -396,11 +437,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВАдрес(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВАдрес(); @@ -412,11 +454,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВАдресЭлектроннойПочты(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВАдресЭлектроннойПочты(); @@ -430,11 +473,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВВебСтраницу(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВВебСтраницу(); @@ -447,11 +491,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВТелефон(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВТелефон(); @@ -463,11 +508,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВФакс(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВФакс(); @@ -479,11 +525,12 @@ // Преобразует структуру в XML контакной информации // // Параметры: -// Текст - сериализованная структура -// Представление - необязательное представление. Используется, только если в структуре нет поля представления -// Комментарий - необязательный комментарий. Используется, только если в структуре нет поля комментария +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_СтруктураВДругое(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_СтруктураВДругое(); @@ -496,11 +543,12 @@ // Устанавливает в контактной информации представление и комментарий, если они не заполнены // // Параметры: -// Текст - XML контактной информации -// Представление - необязательное устанавливаемое представление. -// Комментарий - необязательный устанавливаемый комментарий. +// Текст - Строка - сериализованная структура +// Представление - Строка - необязательное представление. Используется, только если в структуре нет поля представления +// Комментарий - Строка - необязательный комментарий. Используется, только если в структуре нет поля комментария // -// Возвращаемое значение - XML контактной информации +// Возвращаемое значение: +// Строка - XML контактной информации // Функция XSLT_КонтрольПредставленияИКомментария(Знач Текст, Знач Представление = Неопределено, Знач Комментарий = Неопределено) Если Представление = Неопределено И Комментарий = Неопределено Тогда @@ -511,6 +559,7 @@ XSLT_Текст.ДобавитьСтроку(" | | | @@ -541,12 +590,12 @@ | | | - | " + НормализованнаяСтрокаXML(Комментарий) + " + | " + НормализованнаяСтрокаXML(Комментарий) + " | | | | - | + | | |"); КонецЕсли; @@ -561,14 +610,16 @@ КонецФункции // Устанавливает в контактной информации Состав.Значение на переданное представление -// -// Параметры: -// Текст - XML контактной информации -// Представление - устанавливаемое представление. -// // Если Представление равно неопределено, то никаких действий не производит. Иначе проверяет на пустоту // Состав. Если там ничего нет и атрибут "Состав.Значение" пуст, то ставим в состав значение представления // +// Параметры: +// Текст - Строка - XML контактной информации +// Представление - Строка - устанавливаемое представление. +// +// Возвращаемое значение: +// Строка - XML контактной информации +// Функция XSLT_КонтрольСтроковогоЗначенияПростогоТипа(Знач Текст, Знач Представление) Если Представление = Неопределено Тогда Возврат Текст; @@ -609,8 +660,11 @@ // Возвращает фрагмент XML для подстановки строки в виде <Узел>Строка<Узел> // // Параметры: -// - Текст - строка, вставляемая в XML -// - ИмяЭлемента - необязательное имя для внешнего узла +// Текст - Строка - вставка в XML +// ИмяЭлемента - Строка - необязательное имя для внешнего узла +// +// Возвращаемое значение: +// Строка - результирующий XML // Функция XSLT_УзелСтрокиПараметра(Знач Текст, Знач ИмяЭлемента = "ExternalParamNode") // Через запись xml для маскировки спецсимволов @@ -625,7 +679,10 @@ // Возвращает XML без описания для включения внутрь другого XML // // Параметры: -// - Текст - исходный XML +// Текст - Строка - исходный XML +// +// Возвращаемое значение: +// Строка - результирующий XML // Функция XSLT_УдалитьОписаниеXML(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_УдалитьОписаниеXML(); @@ -635,9 +692,10 @@ // Преобразует текст XML контактной информации в перечисление типа // // Параметры: -// - Текст - исходный XML +// Текст - Строка - исходный XML // -// Возвращаемое значение - сериализованное значение перечисления ТипыКонтактнойИнформации +// Возвращаемое значение: +// Строка - сериализованное значение перечисления ТипыКонтактнойИнформации // Функция XSLT_ТипКонтактнойИнформацииПоСтрокеXML(Знач Текст) Преобразователь = КонтактнаяИнформацияСлужебныйПовтИсп.XSLT_ТипКонтактнойИнформацииПоСтрокеXML(); @@ -649,7 +707,10 @@ // Возвращает признак того, является ли текст XML // // Параметры: -// Текст - проверяемый текст +// Текст - Строка - проверяемый текст +// +// Возвращаемое значение: +// Булево - результат проверки // Функция ЭтоСтрокаXML(Текст) Возврат ТипЗнч(Текст) = Тип("Строка") И Лев(СокрЛ(Текст),1) = "<"; diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСервер/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСервер/Module.bsl index 6961bd80d..517532f5a 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСервер/Module.bsl @@ -4,13 +4,15 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// #Область ПрограммныйИнтерфейс -// // Возвращает признак того, является ли строка данных контактной информации XML данными // // Параметры: // Текст - Строка - Проверяемая строка // +// Возвращаемое значение: +// Булево - результат проверки +// Функция ЭтоКонтактнаяИнформацияВXML(Знач Текст) Экспорт // Упрощенная проверка Возврат ЭтоСтрокаXML(Текст); @@ -19,7 +21,6 @@ #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс -// // Возвращает аккуратно построеное наименование через запятую по парам "Название" + "Сокращение" // @@ -117,6 +118,11 @@ // Параметры: // Текст - Строка - Полное наименование // +// Возвращаемое значение: +// Структура - результат обработки +// * Наименование - Строка - часть текста +// * Сокращение - Строка - часть текста +// Функция НаименованиеСокращение(Знач Текст) Экспорт Результат = Новый Структура("Наименование, Сокращение"); Части = ЧастиАдреса(Текст, Истина); @@ -133,18 +139,23 @@ // Параметры: // Текст - Строка - Полное наименования // +// Возвращаемое значение: +// Строка - выделенное сокращение +// Функция Сокращение(Знач Текст) Экспорт Части = НаименованиеСокращение(Текст); Возврат Части.Сокращение; КонецФункции // Разделяет текст на слова по указанным разделителям. По умолчанию разделители - пробельные символы -// Возвращает массив слов. // // Параметры: // Текст - Строка - Разделяемая строка // Разделители - Строка - Необязательная строка символов-разделителей // +// Возвращаемое значение: +// Массив - строки, слова +// Функция СловаТекста(Знач Текст, Знач Разделители = Неопределено) Экспорт НачалоСлова = 0; @@ -171,12 +182,15 @@ Возврат Результат; КонецФункции -// Разделяет текст, разделенный запятыми, на массив структур "Наименование, Сокращение" +// Разделяет текст, разделенный запятыми // // Параметры: -// Текст - Срока - Разделяемый текст +// Текст - Срока - Разделяемый текст // ВыделятьСокращения - Булево - Опциональный параметр режима работы // +// Возвращаемое значение: +// Массив - содердит стурктуры "Наименование, Сокращение" +// Функция ЧастиАдреса(Знач Текст, Знач ВыделятьСокращения = Истина) Экспорт Результат = Новый Массив; @@ -205,8 +219,11 @@ Возврат Результат; КонецФункции -// Возвращает вариант адресного классификатора: "КЛАДР" или Неопределено. -// +// Возвращает вариант текущего адресного классификатора +// +// Возвращаемое значение: +// Строка - идентификатор классфикатора "КЛАДР" +// Неопределено - не установлен текущий адресный классификатор // Функция ИспользуемыйАдресныйКлассификатор() Экспорт @@ -224,11 +241,15 @@ Возврат Неопределено; КонецФункции -// Возвращает первый элемент из списка или Неопределено, если такого элемента нет +// Возвращает первый элемент из списка // // Параметры: // СписокДанных - СписокЗначений, Массив, ПолеФормы // +// Возвращаемое значение: +// Произвольный - первый элемент +// Неопределено - нет первого элемента +// Функция ПервыйИлиПустой(Знач СписокДанных) Экспорт ТипСписка = ТипЗнч(СписокДанных); @@ -248,6 +269,9 @@ // Параметры: // Текст - Строка - Проверяемая строка // +// Возвращаемое значение: +// Булево - результат проверки +// Функция ЭтоСтрокаXML(Знач Текст) Экспорт // Упрощенная проверка Возврат ТипЗнч(Текст) = Тип("Строка") И Лев(СокрЛ(Текст),1) = "<"; diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСерверПовтИсп/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСерверПовтИсп/Module.bsl index 5fbc53f4e..887a3d2a5 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСерверПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияКлиентСерверПовтИсп/Module.bsl @@ -8,8 +8,11 @@ // Возвращает код дополнительной части адреса для сериализации // // Параметры: -// СтрокаЗначения - значение для поиска, например "Дом", "Корпус", "Литера" +// СтрокаЗначения - Строка - значение для поиска, например "Дом", "Корпус", "Литера" // +// Возвращаемое значение: +// Число - код +// Функция КодСериализацииОбъектаАдресации(СтрокаЗначения) Экспорт Ключ = ВРег(СокрЛП(СтрокаЗначения)); Для Каждого Элемент Из КонтактнаяИнформацияКлиентСерверПовтИсп.ТипыОбъектовАдресацииАдресаРФ() Цикл @@ -23,18 +26,27 @@ // Возвращает код дополнительной части адреса для почтового индекса // +// Возвращаемое значение: +// Строка - код +// Функция КодСериализацииПочтовогоИндекса() Экспорт Возврат КонтактнаяИнформацияКлиентСерверПовтИсп.КодСериализацииОбъектаАдресации(НСтр("ru = 'Почтовый индекс'")); КонецФункции // Возвращает XPath для почтового индекса // +// Возвращаемое значение: +// Строка - XPath +// Функция XPathПочтовогоИндекса() Экспорт Возврат "ДопАдрЭл[ТипАдрЭл='" + КонтактнаяИнформацияКлиентСерверПовтИсп.КодСериализацииПочтовогоИндекса() + "']"; КонецФункции // Возвращает XPath для района // +// Возвращаемое значение: +// Строка - XPath +// Функция XPathРайона() Экспорт Возврат "СвРайМО/Район"; КонецФункции @@ -42,7 +54,10 @@ // Возвращает XPath для дополнительного объекта адресации // // Параметры; -// СтрокаЗначения - искомый тип, например "Дом", "Корпус" +// СтрокаЗначения - Строка - искомый тип, например "Дом", "Корпус" +// +// Возвращаемое значение: +// Строка - XPath // Функция XPathНомераДополнительногоОбъектаАдресации(СтрокаЗначения) Экспорт Код = КонтактнаяИнформацияКлиентСерверПовтИсп.КодСериализацииОбъектаАдресации(СтрокаЗначения); @@ -55,8 +70,11 @@ // Возвращает строку с описанием типа по коду части адреса. // Противоположность функции "КодСериализацииОбъектаАдресации" // -// Параметры: -// Код (Строка) - код +// Параметры: +// Код - Строка - код +// +// Возвращаемое значение: +// Число - Тип // Функция ТипОбъектаПоКодуСериализации(Код) Экспорт Для Каждого Элемент Из КонтактнаяИнформацияКлиентСерверПовтИсп.ТипыОбъектовАдресацииАдресаРФ() Цикл @@ -68,17 +86,22 @@ Возврат Неопределено; КонецФункции -// Возвращает пространство имен для оперирования с XDTO контактной информации +// Возвращает пространство имен для оперирования с XDTO контактной информации +// +// Возвращаемое значение: +// Строка - пространство имен // Функция ПространствоИмен() Экспорт Возврат "http://www.v8.1c.ru/ssl/contactinfo"; КонецФункции -// Возвращает имя формы для редактирования типа контактной информации +// Возвращает имя формы для редактирования типа контактной информации // -// Параметры: -// ВидИнформации - запрашиваемый тип. Может принимать тип ПеречислениеСсылка.ТипыКонтактнойИнформации -// или СправочникСсылка.ВидыКонтактнойИнформации +// Параметры: +// ВидИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации, СправочникСсылка.ВидыКонтактнойИнформации - запрашиваемый тип +// +// Возвращаемое значение: +// Строка - полное имя формы // Функция ИмяФормыВводаКонтактнойИнформации(Знач ВидИнформации) Экспорт ТипИнформации = КонтактнаяИнформацияСлужебныйВызовСервера.ТипВидаКонтактнойИнформации(ВидИнформации); @@ -98,7 +121,15 @@ Возврат Неопределено; КонецФункции -// Возвращает массив вариантов наименований по типу (по признаку владения, строения, и т.п) +// Возвращает массив вариантов наименований по типу (по признаку владения, строения, и т.п) +// +// Параметры: +// Тип - Число - запрашиваемый тип +// ДопускатьПовторыКода - Булево - Истина - будут возвращены все варианты с повторами ("квартира" - "кв." и т.п.) +// +// Возвращаемое значение: +// Массив - содержит структуры - описания +// Функция НаименованияОбъектовАдресацииПоТипу(Тип, ДопускатьПовторыКода = Истина) Экспорт Результат = Новый Массив; Повторы = Новый Соответствие; @@ -121,13 +152,16 @@ // Возвращает массив структур с информацией о частях адреса согласно приказу ФНС ММВ-7-1/525 от 31.08.2011 // -// Поле структуры "Тип" принимает значения: 1 - владение, 2 - здание, 3 - помещение +// Возвращаемое значение: +// Массив - содержит структуры - описания // Функция ТипыОбъектовАдресацииАдресаРФ() Экспорт Результат = Новый Массив; // Код, Наименование, Тип, Порядок, КодФИАС + // Тип: 1 - владение, 2 - здание, 3 - помещение + Результат.Добавить(СтрокаОбъектаАдресации("1010", НСтр("ru = 'Дом'"), 1, 1, 2)); Результат.Добавить(СтрокаОбъектаАдресации("1020", НСтр("ru = 'Владение'"), 1, 2, 1)); Результат.Добавить(СтрокаОбъектаАдресации("1030", НСтр("ru = 'Домовладение'"), 1, 3, 3)); diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебный/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебный/Module.bsl index 4d2295228..414da27c5 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебный/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебный/Module.bsl @@ -25,17 +25,21 @@ // по иерархическому представлению младший-старший // // Параметры: -// Текст - строка автоподбора -// СкрыватьНеактуальныеАдреса - флаг того, что неактуальные адреса не должны попадать в автоподбор -// ПредупреждатьОНеактуальных - флаг структуры результата. Истина - возвращаемый список значений -// состоит из структур с предупреждением о неактуальности. -// Ложь - обычный список значений. +// Текст - Строка - текст автоподбора +// СкрыватьНеактуальныеАдреса - Булево - флаг того, что неактуальные адреса не должны попадать в автоподбор +// ПредупреждатьОНеактуальных - Булево - флаг структуры результата. Истина - возвращаемый список значений +// состоит из структур с предупреждением о неактуальности. +// Ложь - обычный список значений. +// Возвращаемое значение: +// Структура - результат поиска данных. Содержит поля: +// * СлишкомМногоДанных - Булево - признак того, что результирующий список не полон +// * ДанныеВыбора - СписокЗначений - данные для автоподбора // Функция РезультатыАвтоПодбораНаселенногоПункта(Текст, СкрыватьНеактуальныеАдреса = Ложь, ПредупреждатьОНеактуальных = Истина) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); Если Вариант = "КЛАДР" Тогда - Возврат РезультатыАвтоПодбораНаселенногоПунктаКЛАДР(Текст, СкрыватьНеактуальныеАдреса, ПредупреждатьОНеактуальных, 50); + Возврат РезультатыАвтоПодбораНаселенногоПунктаКЛАДР(Текст, СкрыватьНеактуальныеАдреса, ПредупреждатьОНеактуальных, 20); КонецЕсли; // Нет подсистемы классификатора @@ -46,12 +50,17 @@ // по иерархическому представлению младший-старший // // Параметры: -// КодНаселенногоПункта - код классификатора для ограничения подбора -// Текст - строка автоподбора -// СкрыватьНеактуальныеАдреса - флаг того, что неактуальные адреса не должны попадать в автоподбор -// ПредупреждатьОНеактуальных - флаг структуры результата. Истина - возвращаемый список значений -// состоит из структур с предупреждением о неактуальности. -// Ложь - обычный список значений. +// КодНаселенногоПункта - Число - код классификатора для ограничения подбора +// Текст - Строка - текст автоподбора +// СкрыватьНеактуальныеАдреса - Булево - флаг того, что неактуальные адреса не должны попадать в автоподбор +// ПредупреждатьОНеактуальных - Булево - флаг структуры результата. Истина - возвращаемый список значений +// состоит из структур с предупреждением о неактуальности. +// Ложь - обычный список значений. +// +// Возвращаемое значение: +// Структура - результат поиска данных. Содержит поля: +// * СлишкомМногоДанных - Булево - признак того, что результирующий список не полон +// * ДанныеВыбора - СписокЗначений - данные для автоподбора // Функция РезультатыАвтоПодбораУлицы(КодНаселенногоПункта, Текст, СкрыватьНеактуальныеАдреса = Ложь, ПредупреждатьОНеактуальных = Истина) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -68,11 +77,16 @@ // по иерархическому представлению младший-старший // // Параметры: -// Текст - Строка - строка автоподбора +// Текст - Строка - текст автоподбора // СкрыватьНеактуальныеАдреса - Булево - флаг того, что неактуальные адреса не должны попадать в автоподбор // ВыбиратьСтрок - Число - ограничение на количество результатов // УточняющаяУлица - Строка - уточняющее представление улицы // +// Возвращаемое значение: +// Структура - результат поиска данных. Содержит поля: +// * СлишкомМногоДанных - Булево - признак того, что результирующий список не полон +// * ДанныеВыбора - СписокЗначений - данные для автоподбора +// Функция НаселенныеПунктыПоПредставлению(Знач Текст, Знач СкрыватьНеактуальныеАдреса = Ложь, Знач ВыбиратьСтрок = 50, Знач УточняющаяУлица = "") Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -88,10 +102,15 @@ // по иерархическому представлению младший-старший // // Параметры: -// КодНаселенногоПункта - код классификатора для ограничения подбора -// Текст - строка автоподбора -// СкрыватьНеактуальныеАдреса - флаг того, что неактуальные адреса не должны попадать в автоподбор -// ВыбиратьСтрок - ограничение на количество результатов +// КодНаселенногоПункта - Число - код классификатора для ограничения подбора +// Текст - Текст - строка автоподбора +// СкрыватьНеактуальныеАдреса - Булево - флаг того, что неактуальные адреса не должны попадать в автоподбор +// ВыбиратьСтрок - Число - ограничение на количество результатов +// +// Возвращаемое значение: +// Структура - результат поиска данных. Содержит поля: +// * СлишкомМногоДанных - Булево - признак того, что результирующий список не полон +// * ДанныеВыбора - СписокЗначений - данные для автоподбора // Функция УлицыПоПредставлению(КодНаселенногоПункта, Текст, СкрыватьНеактуальныеАдреса = Ложь, ВыбиратьСтрок = 50) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -131,8 +150,11 @@ // Возвращает флаг вхождения объекта в состав родителя // // Параметры: -// КодОбъекта - код классификатора проверяемого объекта -// КодРодителя - код классификатора родителя +// КодОбъекта - Число - код классификатора проверяемого объекта +// КодРодителя - Число - код классификатора родителя +// +// Возвращаемое значение: +// Булево - результат проверки // Функция ЯвляетсяПотомком(КодОбъекта, КодРодителя) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -188,7 +210,11 @@ // Получает список всех регионов. // // Возвращаемое значение: -// ТаблицаЗначений с колонками Код, Наименование, Сокращение, Представление +// ТаблицаЗначений - все регионы. Содержит колонки: +// * Код - Число - код региона +// * Наименование - Строка - часть описания региона +// * Сокращение - Строка - часть описания региона +// * Представление - Строка - описание региона // Неопределено - если нет ни одной подсистемы адресного классификатора // Функция ВсеРегионы() Экспорт @@ -207,9 +233,12 @@ // классификатора // // Параметры: -// Код - необязательный код классификатора объекта. Если указан, то структура +// Код - Число - необязательный код классификатора объекта. Если указан, то структура // заполняется данными для этого объекта // +// Возвращаемое значение: +// Структура - описание населенного пункта +// Функция СписокРеквизитовНаселенныйПункт(Код = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -226,9 +255,12 @@ // классификатора // // Параметры: -// Код - необязательный код классификатора объекта. Если указан, то структура +// Код - Число - необязательный код классификатора объекта. Если указан, то структура // заполняется данными для этого объекта // +// Возвращаемое значение: +// Структура - описание населенного пункта + Функция СписокРеквизитовУлица(Код = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -243,8 +275,11 @@ // Возвращает код классификатора для объекта, представленного в полях. // // Параметры: -// ЧастиАдреса - структура, зависимая от классификатора -// СкрыватьНеактуальные - флаг скрытия актуальных +// ЧастиАдреса - Структура - описание частей адреса? +// СкрыватьНеактуальные - Булево - флаг скрытия актуальных +// +// Возвращаемое значение: +// Число - код классификатора // Функция КодНаселенногоПунктаПоЧастямАдреса(ЧастиАдреса, СкрыватьНеактуальные = Ложь) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -260,12 +295,15 @@ // Возвращает список для автоподбора элемента адреса, поиск по подобию. Список ограничен 50 записями // // Параметры: -// Текст (Строка) - текст, введенный в поле -// КодЧастиАдреса - идентификатор обрабатываемой части адреса, зависит от классификатора -// ЧастиАдреса - значения для других частей адреса, зависит от классификатора -// ПредупреждатьОНеактуальных - флаг структуры списка. -// Истина - в списке содержатся структуры с предупреждением о неактуальности -// Ложь - обычный список значений +// Текст - Строка - текст, введенный в поле +// КодЧастиАдреса - Произвольный - идентификатор обрабатываемой части адреса, зависит от классификатора +// ЧастиАдреса - Произвольный - значения для других частей адреса, зависит от классификатора +// ПредупреждатьОНеактуальных - Булево - флаг структуры списка. +// Истина - в списке содержатся структуры с предупреждением о неактуальности +// Ложь - обычный список значений +// +// Возвращаемое значение: +// СписокЗначений - результат для автоподбора // Функция СписокАвтоПодбораЭлементаАдреса(Текст, КодЧастиАдреса, ЧастиАдреса, ПредупреждатьОНеактуальных) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -281,10 +319,13 @@ // Возвращает список вариантов для окончательно введенного текста элемента адреса // // Параметры: -// Текст - текст, введенный в поле -// КодЧастиАдреса - идентификатор обрабатываемой части адреса, зависит от классификатора -// ЧастиАдреса - значения для других частей адреса, зависит от классификатора -// ВыбиратьСтрок - ограничитель на возвращаемое число строк +// Текст - Строка - текст, введенный в поле +// КодЧастиАдреса - Произвольный - идентификатор обрабатываемой части адреса, зависит от классификатора +// ЧастиАдреса - Произвольный - значения для других частей адреса, зависит от классификатора +// ВыбиратьСтрок - Число - ограничитель на возвращаемое число строк +// +// Возвращаемое значение: +// СписокЗначений - результат для автоподбора // Функция СписокВариантовЭлементаАдресаПоТексту(Текст, КодЧастиАдреса, ЧастиАдреса, ВыбиратьСтрок = 50) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -306,14 +347,15 @@ // СкрыватьНеактуальные - Булево - Флаг исключения из выборки неактуальных адресов. По умолчанию Ложь // ВыбиратьСтрок - Число - Ограничение на количество возвращаемых строк, 0 - без ограничения. По умолчанию 0 // -// Возвращаемое значение - структура с полями: -// СлишкомМногоДанных - Булево - Истина, если в базе найдено больше записей, чем ограничено параметром ВыбиратьСтрок -// ОбщаяЧастьПредставления - Строка - Общая часть представлений адреса. -// Данные - ТаблицаЗначений - Содержит данные для выбора. Колонки: -// Неактуален - Булево - Флаг неактуальности строки данных -// Индекс - Строка - Почтовый индекс, соответствующей адресу -// Код - Число - Код классификатора для поиска вариантов по индексу -// Представление - Строка - Представление варианта +// Возвращаемое значение: +// Структура - найденные варианты. Содержит поля: +// * СлишкомМногоДанных - Булево - Истина, если в базе найдено больше записей, чем ограничено параметром ВыбиратьСтрок +// * ОбщаяЧастьПредставления - Строка - Общая часть представлений адреса. +// * Данные - ТаблицаЗначений - Содержит данные для выбора. Колонки: +// ** Неактуален - Булево - Флаг неактуальности строки данных +// ** Индекс - Строка - Почтовый индекс, соответствующей адресу +// ** Код - Число - Код классификатора для поиска вариантов по индексу +// ** Представление - Строка - Представление варианта // Функция АдресаКлассификатораПоИндексу(Знач Индекс, Знач ДополнительныеПараметрыПоиска = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -330,10 +372,13 @@ // Общее служебное // -// Преобразует контактную информацию XDTO в XML, возвращает строку +// Преобразует контактную информацию XDTO в XML // // Параметры: -// ОбъектXDTOИнформации - объект XDTO контактной информации +// ОбъектXDTOИнформации - ОбъектXDTO - контактная информация +// +// Возвращаемое значение: +// Строка - результат преобразования // Функция СериализацияКонтактнойИнформации(ОбъектXDTOИнформации) Экспорт Запись = Новый ЗаписьXML; @@ -349,13 +394,11 @@ // Преобразует XML в объект XDTO контактной информации // // Параметры: -// Текст - строка XML -// ОжидаемыйВид - необязательная ссылка на КИ, перечисление типов КИ, или объект с полем "Тип" -// -// РезультатыЧтения - если параметр указан, то в нем ожидается структура, куда будут внесены дополнительные -// необязательные поля: -// - ТекстОшибки - описание ошибок процесса чтения. Возвращаемый функцией результат будет -// корректного типа, но не заполнен. +// Текст - Строка - строка XML +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// РезультатыЧтения - Структура - приемник для дополнительных полей: +// * ТекстОшибки - Строка - описание ошибок процесса чтения. Возвращаемый функцией результат будет +// корректного типа, но не заполнен. // Функция ДесериализацияКонтактнойИнформации(Знач Текст, Знач ОжидаемыйВид = Неопределено, РезультатыЧтения = Неопределено) Экспорт @@ -488,9 +531,11 @@ // Разбирает представление КИ и возвращает XDTO // // Параметры: -// Текст - строка XML -// ОжидаемыйТип - ссылка на вид КИ или перечисление типа КИ для контроля типов, -// объект с полем "Тип" +// Текст - Строка - XML +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// +// Возвращаемое значение: +// ОбъектXDTO - контактная информация // Функция ПарсингКонтактнойИнформации(Текст, ОжидаемыйВид) Экспорт @@ -522,8 +567,11 @@ // Разбирает представление КИ и возвращает строку XML // // Параметры: -// Текст - строка XML -// ОжидаемыйТип - ссылка на вид КИ или перечисление типа КИ для контроля типов +// Текст - Строка - XML +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// +// Возвращаемое значение: +// Строка - контактная информация в XML // Функция ПарсингКонтактнойИнформацииXML(Текст, ОжидаемыйВид) Экспорт Возврат СериализацияКонтактнойИнформации( @@ -533,13 +581,12 @@ // Преобразует строку в XDTO контактную информацию адреса // // Параметры: -// ЗначенияПолей - строка с сериализованной информацией, значения полей -// Представление - представление старший-младший, используется для попытки разбора, -// если ЗначенияПолей пусто -// ОжидаемыйТип - необязательный тип для контроля +// ЗначенияПолей - Строка - сериализованная информация, значения полей +// Представление - Строка - представление старший-младший, используется для попытки разбора, если ЗначенияПолей пусто +// ОжидаемыйТип - ПеречислениеСсылка.ТипыКонтактнойИнформации - необязательный тип для контроля // -// Возвращаемое значение -// ОбъектXDTO контактной информации. +// Возвращаемое значение: +// ОбъектXDTO - контактной информации. // Функция ДесериализацияАдреса(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйТип = Неопределено) Экспорт ТипЗначения = ТипЗнч(ЗначенияПолей); @@ -572,11 +619,12 @@ // Преобразует строку в XDTO контактную информацию телефона // -// Параметры: -// ЗначенияПолей - строка с сериализованной информацией, значения полей -// Представление - представление старший-младший, используется для попытки разбора, -// если ЗначенияПолей пусто -// ОжидаемыйТип - необязательный тип для контроля +// ЗначенияПолей - Строка - сериализованная информация, значения полей +// Представление - Строка - представление старший-младший, используется для попытки разбора, если ЗначенияПолей пусто +// ОжидаемыйТип - ПеречислениеСсылка.ТипыКонтактнойИнформации - необязательный тип для контроля +// +// Возвращаемое значение: +// ОбъектXDTO - контактной информации. // Функция ДесериализацияТелефона(ЗначенияПолей, Представление = "", ОжидаемыйТип = Неопределено) Экспорт Возврат ДесериализацияТелефонаФакса(ЗначенияПолей, Представление, ОжидаемыйТип); @@ -584,11 +632,12 @@ // Преобразует строку в XDTO контактную информацию Факса // -// Параметры: -// ЗначенияПолей - строка с сериализованной информацией, значения полей -// Представление - представление старший-младший, используется для попытки разбора, -// если ЗначенияПолей пусто -// ОжидаемыйТип - необязательный тип для контроля +// ЗначенияПолей - Строка - сериализованная информация, значения полей +// Представление - Строка - представление старший-младший, используется для попытки разбора, если ЗначенияПолей пусто +// ОжидаемыйТип - ПеречислениеСсылка.ТипыКонтактнойИнформации - необязательный тип для контроля +// +// Возвращаемое значение: +// ОбъектXDTO - контактной информации. // Функция ДесериализацияФакса(ЗначенияПолей, Представление = "", ОжидаемыйТип = Неопределено) Экспорт Возврат ДесериализацияТелефонаФакса(ЗначенияПолей, Представление, ОжидаемыйТип); @@ -596,11 +645,12 @@ // Преобразует строку в XDTO прочую контактную информацию // -// Параметры: -// ЗначенияПолей - строка с сериализованной информацией, значения полей -// Представление - представление старший-младший, используется для попытки разбора, -// если ЗначенияПолей пусто -// ОжидаемыйТип - необязательный тип для контроля +// ЗначенияПолей - Строка - сериализованная информация, значения полей +// Представление - Строка - представление старший-младший, используется для попытки разбора, если ЗначенияПолей пусто +// ОжидаемыйТип - ПеречислениеСсылка.ТипыКонтактнойИнформации - необязательный тип для контроля +// +// Возвращаемое значение: +// ОбъектXDTO - контактной информации. // Функция ДесериализацияПрочейКонтактнойИнформации(ЗначенияПолей, Представление = "", ОжидаемыйТип = Неопределено) Экспорт @@ -636,9 +686,12 @@ // Читает и устанавливает представление для контактной информации. Объект может измениться. // // Параметры: -// XDTOИнформация - ОбъектXDTO или XML строка контактной информации -// НовоеЗначение - необязательное устанавливаемое новое представление в XDTOИнформация +// XDTOИнформация - ОбъектXDTO, Строка - Контактная информация +// НовоеЗначение - Строка - необязательное устанавливаемое новое представление в XDTOИнформация // +// Возвращаемое значение: +// Строка - новое значение + Функция ПредставлениеКонтактнойИнформации(XDTOИнформация, НовоеЗначение = Неопределено) Экспорт НадоСериализовать = ТипЗнч(XDTOИнформация) = Тип("Строка"); Если НадоСериализовать И Не КонтактнаяИнформацияКлиентСервер.ЭтоКонтактнаяИнформацияВXML(XDTOИнформация) Тогда @@ -660,8 +713,11 @@ // Читает и устанавливает комментарий для контактной информации // // Параметры: -// XDTOИнформация - ОбъектXDTO или XML строка контактной информации. Объект может измениться -// НовоеЗначение - необязательный устанавливаемый новый комментарий XDTOИнформация +// XDTOИнформация - ОбъектXDTO, Строка - Контактная информация +// НовоеЗначение - Строка - необязательное устанавливаемое новый комментарий в XDTOИнформация +// +// Возвращаемое значение: +// Строка - новое значение // Функция КомментарийКонтактнойИнформации(XDTOИнформация, НовоеЗначение = Неопределено) Экспорт НадоСериализовать = ТипЗнч(XDTOИнформация) = Тип("Строка"); @@ -685,8 +741,11 @@ // В качестве флага используется не пустота значения поля "Адрес_по_документу" // // Параметры: -// XDTOИнформация - ОбъектXDTO или XML строка контактной информации. Объект может измениться -// НовоеЗначение - булево - необязательное устанавливаемое новое значение +// XDTOИнформация - ОбъектXDTO, Строка - Контактная информация +// НовоеЗначение - Булево - необязательное устанавливаемое новое значение +// +// Возвращаемое значение: +// Булево - новое значение // Функция АдресВведенВСвободнойФорме(XDTOИнформация, НовоеЗначение = Неопределено) Экспорт НадоСериализовать = ТипЗнч(XDTOИнформация) = Тип("Строка"); @@ -723,8 +782,11 @@ // Формирует и возвращает представление контактной информации // // Параметры: -// Информация - объект XDTO контактной информации, или строковое значение полей -// ВидИнформации - ссылка на справочник вида КИ +// Информация - ОбъектXDTO, Строка - Контактная информация +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - параметры для формирования представления +// +// Возвращаемое значение: +// Строка - сформированное представление // Функция СформироватьПредставлениеКонтактнойИнформации(Информация, ВидИнформации) Экспорт @@ -767,7 +829,10 @@ // Возвращает флаг того, что переданный адрес - российский // // Параметры: -// XDTOАдрес - объект XDTO КИ или адреса +// XDTOАдрес - ОбъектXDTO - Контактная информация или XDTO адреса +// +// Возвращаемое значение: +// Булево - результат проверки // Функция ЭтоРоссийскийАдрес(XDTOАдрес) Экспорт Возврат РоссийскийАдрес(XDTOАдрес) <> Неопределено; @@ -776,7 +841,11 @@ // Возвращает извлеченный XDTO российского адреса или Неопределено для адреса иностранного // // Параметры: -// ОбъектИнформации - объект XDTO КИ или адреса +// ОбъектИнформации - ОбъектXDTO - Контактная информация или XDTO адреса +// +// Возвращаемое значение: +// ОбъектXDTO - российский адрес +// Неопределено - нет российского адреса // Функция РоссийскийАдрес(ОбъектИнформации) Экспорт Результат = Неопределено; @@ -806,8 +875,11 @@ // Читает и устанавливает почтовый индекс адреса // // Параметры: -// XDTOАдрес - объект XDTO адреса или адреса РФ -// НовоеЗначение - устанавливаемое значение +// XDTOАдрес - ОбъектXDTO - Контактная информация или XDTO адреса +// НовоеЗначение - Строка - устанавливаемое значение +// +// Возвращаемое значение: +// Строка - почтовый индекс // Функция ПочтовыйИндексАдреса(XDTOАдрес, НовоеЗначение = Неопределено) Экспорт @@ -838,10 +910,14 @@ Возврат НовоеЗначение; КонецФункции -// Возвращает почтовый индекс для адреса или Неопределено при неудаче поиска +// Возвращает почтовый индекс для адреса по данным классификатора // // Параметры: -// XDTOАдрес - объект XDTO адреса или адреса РФ +// XDTOАдрес - ОбъектXDTO - Контактная информация или XDTO адреса +// +// Возвращаемое значение: +// Строка - почтовый индекс +// Неопределено - индекс не найден или адрес иностранный // Функция ОпределитьПочтовыйИндексАдреса(XDTOАдрес) Экспорт @@ -870,8 +946,11 @@ // Читает и устанавливает район адреса // // Параметры: -// XDTOАдрес - объект XDTO адреса или адреса РФ -// НовоеЗначение - устанавливаемое значение +// XDTOАдрес - ОбъектXDTO - Контактная информация или XDTO адреса +// НовоеЗначение - Строка - устанавливаемое значение +// +// Возвращаемое значение: +// Строка - новое значение // Функция РайонАдреса(XDTOАдрес, НовоеЗначение = Неопределено) Экспорт @@ -901,18 +980,24 @@ Возврат НовоеЗначение; КонецФункции -// Читает и устанавливает здания и помещения адреса. Возвращает структуру с полями "Здания" и "Помещения", -// содержащими данные. Каждое поле - таблица значений с колонками "Тип", "Сокращение", "Значение", где: -// Тип - строка тип внутреннего классифатора дополнительных адресных объектов. Например "Корпус" -// Сокращение - сокращение названия для использования в представлении. При установке не используется -// Значение - значение номера дома, квартиры и т.п -// ПутьXPath - путь к значению объекта +// Читает и устанавливает здания и помещения адреса. // // Параметры: -// XDTOАдрес - объект XDTO адреса или адреса РФ -// НовоеЗначение - необязательная структура с полями "Здания" и "Помещения", содержащими таблицы для -// для установки новых значения. Структура таблиц аналогична структуре результата функции. -// Можно смешивать здания и помещения в одной таблице. +// XDTOАдрес - ОбъектXDTO - Контактная информация или XDTO адреса +// НовоеЗначение - Структура - устанавливаемое значение. Ожидаются поля: +// * Здания - ТаблицаЗначений с колонками: +// ** Тип - Строка - тип внутреннего классифатора дополнительных адресных объектов. Например "Корпус" +// ** Значение - Строка - значение номера дома, квартиры и т.п +// * Помещения - ТаблицаЗначений с колонками, аналогично полю Здание +// +// Возвращаемое значение: +// Структура - текущие данные. Содержит поля: +// * Здания - ТаблицаЗначений с колонками: +// ** Тип - Строка - тип внутреннего классифатора дополнительных адресных объектов. Например "Корпус" +// ** Сокращение - Строка - сокращение названия для использования в представлении. +// ** Значение - Строка - значение номера дома, квартиры и т.п +// ** ПутьXPath - Строка - путь к значению объекта +// * Помещения - ТаблицаЗначений с колонками, аналогично полю Здание // Функция ЗданияИПомещенияАдреса(XDTOАдрес, НовоеЗначение = Неопределено) Экспорт @@ -974,8 +1059,8 @@ // Устанавливает значения полей населенного пункта в адресе // // Параметры: -// XDTOАдрес - объект XDTO адреса РФ -// КодКлассификатора - полный код, зависит от классификатора +// XDTOАдрес - ОбъектXDTO - адрес РФ +// КодКлассификатора - Число - полный код, зависит от классификатора // Процедура УстановитьНаселенныйПунктАдресаПоКоду(XDTOАдрес, КодКлассификатора) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -989,8 +1074,8 @@ // Устанавливает значения полей улицы // // Параметры: -// XDTOАдрес - объект XDTO адреса РФ -// КодКлассификатора - полный код, зависит от классификатора +// XDTOАдрес - ОбъектXDTO - адрес РФ +// КодКлассификатора - Число - полный код, зависит от классификатора // Процедура УстановитьУлицуАдресаПоКоду(XDTOАдрес, КодКлассификатора) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -1002,12 +1087,15 @@ // Нет подсистемы классификатора КонецПроцедуры -// Возвращает представление младший-старший для населенного пункта +//Возвращает представление младший-старший для населенного пункта // // Параметры: -// ОбъектАдреса - XDTO адрес РФ +// ОбъектАдреса - ОбъектXDTO - адрес РФ // -Функция ПредставлениеНаселенногоПункта(ОбъектАдреса) Экспорт +// Возвращаемое значение: +// Строка - представление +// +Функция ПредставлениеНаселенногоПункта(ОбъектАдреса, ТолькоУровниКЛАДР = Истина) Экспорт АдресРФ = РоссийскийАдрес(ОбъектАдреса); Если АдресРФ = Неопределено Тогда @@ -1026,19 +1114,31 @@ Район = "";; КонецЕсли; - Возврат КонтактнаяИнформацияКлиентСервер.ПолноеНаименование( + Если ТолькоУровниКЛАДР Тогда + Возврат КонтактнаяИнформацияКлиентСервер.ПолноеНаименование( АдресРФ.НаселПункт, "", АдресРФ.Город, "", Район, "", + АдресРФ.СубъектРФ, ""); + Иначе + Возврат КонтактнаяИнформацияКлиентСервер.ПолноеНаименование( + АдресРФ.НаселПункт, "", + АдресРФ.ВнутригРайон, "", + АдресРФ.Город, "", + Район, "", АдресРФ.Округ, "", АдресРФ.СубъектРФ, ""); + КонецЕсли; -КонецФункции +КонецФункции // Возвращает представление младший-старший для населенного пункта // // Параметры: -// ОбъектАдреса - XDTO адрес РФ +// ОбъектАдреса - ОбъектXDTO - адрес РФ +// +// Возвращаемое значение: +// Строка - представление // Функция ПредставлениеУлицы(ОбъектАдреса) Экспорт @@ -1055,8 +1155,11 @@ // Возвращает представление адреса // // Параметры: -// XDTOАдрес - объект XDTO адреса -// ВидИнформации - ссылка на справочник вида КИ или структура +// ОбъектАдреса - ОбъектXDTO - адрес +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание для формирования представления +// +// Возвращаемое значение: +// Строка - представление // Функция ПредставлениеАдреса(XDTOАдрес, ВидИнформации) Экспорт @@ -1070,12 +1173,12 @@ ПространствоИмен = КонтактнаяИнформацияКлиентСерверПовтИсп.ПространствоИмен(); АдресРФ = XDTOАдрес.Состав; Страна = СокрЛП(XDTOАдрес.Страна); - Если ЭтоРоссийскийАдрес(АдресРФ) Тогда // Это российский адрес, смотрим на настройки Если Не ПараметрыФормирования.ВключатьСтрануВПредставление Тогда Страна = ""; КонецЕсли; + // Значимые части Представление = КонтактнаяИнформацияКлиентСервер.ПолноеНаименование( ПочтовыйИндексАдреса(АдресРФ), "", @@ -1086,6 +1189,7 @@ АдресРФ.ВнутригРайон, "", АдресРФ.НаселПункт, "", АдресРФ.Улица, ""); + // Строения и помещения НомерНеВыведен = Истина; Данные = ЗданияИПомещенияАдреса(АдресРФ); @@ -1095,22 +1199,22 @@ СокрЛП(Строка.Сокращение + ?(НомерНеВыведен, " № ", " ") + Строка.Значение), ""); НомерНеВыведен = Ложь; КонецЦикла; + Для Каждого Строка Из Данные.Помещения Цикл Представление = КонтактнаяИнформацияКлиентСервер.ПолноеНаименование( Представление, "", СокрЛП(Строка.Сокращение + " " + Строка.Значение), ""); КонецЦикла; - + + // При пустом представлении страну нет смысла выводить + Если ПустаяСтрока(Представление) Тогда + Страна = ""; + КонецЕсли; Иначе - // Это иностранный адрес, страна в представление будет включена всегда. + // Это иностранный адрес Представление = СокрЛП(АдресРФ); КонецЕсли; - // При пустом представлении страну нет смысла выводить - Если ПустаяСтрока(Представление) Тогда - Возврат ""; - КонецЕсли; - Возврат КонтактнаяИнформацияКлиентСервер.ПолноеНаименование(Страна, "", Представление, ""); КонецФункции @@ -1118,28 +1222,27 @@ // // Параметры: // XDTOАдрес - ОбъектXDTO, СписокЗначений, Строка - описание адреса -// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на соответствующий вид контактной информации +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание соответствующего вида контактной информации +// для получения флагов, влияющих на проверку: АдресТолькоРоссийский, ОбязательноеЗаполнение, ВключатьСтрануВПредставление. +// Если не указан, то будут использованы установки по умолчанию - значение Ложь для всех флагов // РезультатГруппами - Булево - если указана Истина, то будет возвращен массив групп ошибок, иначе - список значений. // // Возвращаемое значение: -// Массив, СписокЗначений - в зависимости от параметра РезультатГруппами: -// Если параметр РезультатГруппами равен Ложь, то возвращается СписокЗначений в котором -// ** Представление - текст ошибки, -// ** Значение - XPath ошибочного поля -// Если параметр РезультатГруппами равен Истина, то возвращается массив, содержащий структуры с полями: -// ** ТипОшибки - Строка - наименование группы (типа) ошибки. Возможные значения: -// "ПредставлениеНеСоответствуетНаборуПолей" -// "НеЗаполненыОбязательныеПоля" -// "НеУказаныСокращенияПолей" -// "НедопустимыеСимволыПолей" -// "НеСоответствуетДлинаПолей" -// "ОшибкиПоКлассификатору" -// ** Сообщение - Строка - подробный текст ошибки -// ** Поля - Массив - содержит структуры описания ошибочных полей. Каждая структура имеет реквизиты: -// *** ИмяПоля - Строка - внутренний идентификатор ошибочного элемента адреса -// *** Сообщение - Строка - подробный текст ошибки для этого поля +// СписокЗначений - если параметр РезультатГруппами равен Ложь. Внутри представление - текст ошибки, значение - XPath ошибочного поля +// Массив - если параметр РезультатГруппами равен Истина. Содержит структуры с полями: +// ** ТипОшибки - Строка - наименование группы (типа) ошибки. Возможные значения: +// "ПредставлениеНеСоответствуетНаборуПолей" +// "НеЗаполненыОбязательныеПоля" +// "НеУказаныСокращенияПолей" +// "НедопустимыеСимволыПолей" +// "НеСоответствуетДлинаПолей" +// "ОшибкиПоКлассификатору" +// ** Сообщение - Строка - подробный текст ошибки +// ** Поля - Массив - содержит структуры описания ошибочных полей. Каждая структура имеет реквизиты: +// *** ИмяПоля - Строка - внутренний идентификатор ошибочного элемента адреса +// *** Сообщение - Строка - подробный текст ошибки для этого поля // -Функция ОшибкиЗаполненияАдреса(XDTOАдрес, ВидИнформации, РезультатГруппами = Ложь) Экспорт +Функция ОшибкиЗаполненияАдреса(Знач XDTOАдрес, Знач ВидИнформации = Неопределено, Знач РезультатГруппами = Ложь) Экспорт Если ТипЗнч(XDTOАдрес) = Тип("ОбъектXDTO") Тогда АдресРФ = XDTOАдрес.Состав; @@ -1149,16 +1252,44 @@ АдресРФ = ?(Адрес = Неопределено, Неопределено, Адрес.Состав); КонецЕсли; + // Флаги проверки + Если ВидИнформации = Неопределено Тогда + // Проверка с установками по умолчанию + ФлагиПроверки = УправлениеКонтактнойИнформацией.СтруктураВидаКонтактнойИнформации(); + + ИначеЕсли ТипЗнч(ВидИнформации) = Тип("СправочникСсылка.ВидыКонтактнойИнформации") Тогда + // Проверка с установками по виду + ФлагиПроверки = УправлениеКонтактнойИнформацией.СтруктураВидаКонтактнойИнформации(ВидИнформации); + + Иначе + // Проверка по переданным флагам + ФлагиПроверки = ВидИнформации; + + КонецЕсли; + ПространствоИмен = КонтактнаяИнформацияКлиентСерверПовтИсп.ПространствоИмен(); Если ТипЗнч(АдресРФ) <> Тип("ОбъектXDTO") Или АдресРФ.Тип() <> ФабрикаXDTO.Тип(ПространствоИмен, "АдресРФ") Тогда // Адрес за пределами РФ - Возврат ?(РезультатГруппами, Новый Массив, Новый СписокЗначений); + Результат = ?(РезультатГруппами, Новый Массив, Новый СписокЗначений); + + Если ФлагиПроверки.АдресТолькоРоссийский Тогда + ТекстОшибки = НСтр("ru = 'Адрес должен быть только российским.'"); + Если РезультатГруппами Тогда + Результат.Добавить(Новый Структура("Поля, ТипОшибки, Сообщение", Новый Массив, + "НеЗаполненыОбязательныеПоля", ТекстОшибки + )); + Иначе + Результат.Добавить("/", ТекстОшибки); + КонецЕсли; + КонецЕсли; + + Возврат Результат; КонецЕсли; // Отдельно проверяем пустой адрес, если необходимо его заполнение Если Не XDTOКонтактнаяИнформацияЗаполнена(АдресРФ) Тогда // Адрес пуст - Если ВидИнформации.ОбязательноеЗаполнение Тогда + Если ФлагиПроверки.ОбязательноеЗаполнение Тогда // Но должен быть заполнен ТекстОшибки = НСтр("ru = 'Адрес не заполнен.'"); @@ -1179,7 +1310,7 @@ Возврат ?(РезультатГруппами, Новый Массив, Новый СписокЗначений); КонецЕсли; - ВсеОшибки = ОбщиеГруппыОшибокЗаполненияАдреса(АдресРФ, ВидИнформации); + ВсеОшибки = ОбщиеГруппыОшибокЗаполненияАдреса(АдресРФ, ФлагиПроверки); ПроверятьКлассификатор = Истина; Для Каждого Группа Из ВсеОшибки Цикл @@ -1256,26 +1387,28 @@ // Общие проверки на корректность адреса // // Параметры: -// ДанныеАдреса - строка, список значений, XML, XDTO с данными адреса РФ -// ВидИнформации - ссылка на справочник ВидыКонтакнойИнформации +// ДанныеАдреса - Строка, СписокЗначений - XML, XDTO с данными адреса РФ +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - ссылка на соответствующий вид контактной информации // -// Возвращает массив, содержащий структуры с полями: -// - ТипОшибки - идентификатор группы ошибки. Может принимать значение: -// "ПредставлениеНеСоответствуетНаборуПолей", -// "НеЗаполненыОбязательныеПоля" -// "НеУказаныСокращенияПолей" -// "НедопустимыеСимволыПолей" -// "НеСоответствуетДлинаПолей" -// - Сообщение - Подробный текст ошибки -// - Поля - массив структур с полями: -// - ИмяПоля - внутренний идентификатор ошибочного поля -// - Сообщение - подробный текст ошибки для поля +// Возвращаемое значение: +// Массив - содержит структуры с полями: +// * ТипОшибки - Строка - идентификатор группы ошибки. Может принимать значение: +// "ПредставлениеНеСоответствуетНаборуПолей", +// "НеЗаполненыОбязательныеПоля" +// "НеУказаныСокращенияПолей" +// "НедопустимыеСимволыПолей" +// "НеСоответствуетДлинаПолей" +// * Сообщение - Строка - Подробный текст ошибки +// * Поля - Массив структур с полями: +// ** ИмяПоля - внутренний идентификатор ошибочного поля +// ** Сообщение - подробный текст ошибки для поля // -Функция ОбщиеГруппыОшибокЗаполненияАдреса(ДанныеАдреса, ВидИнформации) Экспорт +Функция ОбщиеГруппыОшибокЗаполненияАдреса(Знач ДанныеАдреса, Знач ВидИнформации) Экспорт Результат = Новый Массив; Если ТипЗнч(ДанныеАдреса) = Тип("ОбъектXDTO") Тогда АдресРФ = ДанныеАдреса; + Иначе XTDOКонтактная = ДесериализацияАдреса(ДанныеАдреса); Адрес = XTDOКонтактная.Состав; @@ -1292,7 +1425,7 @@ ДобавитьОшибкуЗаполненияАдреса(Результат[0], "", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Представление адреса для вида контактной информации ""%1"" отличается от данных в адресе.'"), - Строка(ВидИнформации))); + Строка(ВидИнформации.Наименование))); КонецЕсли; КонецЕсли; @@ -1339,20 +1472,26 @@ Если ЗданиеНеУказано Тогда ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, КонтактнаяИнформацияКлиентСерверПовтИсп.XPathНомераДополнительногоОбъектаАдресации("Дом"), - НСтр("ru = 'Не указан дом или корпус.'"), "Дом"); + НСтр("ru = 'Не указан дом или корпус'"), + НСтр("ru = 'Дом'") + ); КонецЕсли; Иначе // Должен быть указан дом (владение и т.п) с возможным уточнением корпусом, строением и т.п. - ДанныеДома = ЗданияПомещения.Здания.Найти(1, "Вид"); // 1 - вид по признаку владения + ДанныеДома = ЗданияПомещения.Здания.Найти(1, "Вид"); // 1 - вид по признаку владения Если ДанныеДома = Неопределено Тогда ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, КонтактнаяИнформацияКлиентСерверПовтИсп.XPathНомераДополнительногоОбъектаАдресации("Дом"), - НСтр("ru = 'Не указан дом или владение.'"), "Дом"); + НСтр("ru = 'Не указан дом или владение (домовладение).'"), + НСтр("ru = 'Дом'") + ); ИначеЕсли ПустаяСтрока(ДанныеДома.Значение) Тогда ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, ДанныеДома.ПутьXPath, - НСтр("ru = 'Не заполнено значение дома или владения.'"), "Дом"); + НСтр("ru = 'Не заполнено значение дома или владения (домовладения).'"), + НСтр("ru = 'Дом'") + ); КонецЕсли; КонецЕсли; @@ -1371,19 +1510,19 @@ ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, "СубъектРФ", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не указано сокращение в названии региона ""%1"".'"), Регион - ), "Регион"); + ), НСтр("ru = 'Регион'")); КонецЕсли; Если СтрДлина(Регион) > 50 Тогда ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Название региона ""%1"" должно быть короче 50 символов.'"), Регион - ), "Регион"); + ), НСтр("ru = 'Регион'")); КонецЕсли; Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Регион, Ложь, ДопустимоКромеКириллицы) Тогда ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В названии региона ""%1"" есть не кириллические символы.'"), Регион - ), "Регион"); + ), НСтр("ru = 'Регион'")); КонецЕсли КонецЕсли; @@ -1395,19 +1534,19 @@ ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не указано сокращение в названии района ""%1""'."), Район - ), "Район"); + ), НСтр("ru = 'Район'")); КонецЕсли; Если СтрДлина(Район) > 50 Тогда ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Название района ""%1"" должно быть короче 50 символов.'"), Район - ), "Район"); + ), НСтр("ru = 'Район'")); КонецЕсли; Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Район, Ложь, ДопустимоКромеКириллицы) Тогда ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В названии района ""%1"" есть не кириллические символы.'"), Район - ), "Район"); + ), НСтр("ru = 'Район'")); КонецЕсли; КонецЕсли; @@ -1419,19 +1558,19 @@ ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не указано сокращение в названии города ""%1"".'"), Город - ), "Город"); + ), НСтр("ru = 'Город'")); КонецЕсли; Если СтрДлина(Город) > 50 Тогда ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Название города ""%1"" должно быть короче 50 символов.'"), Город - ), "Город"); + ), НСтр("ru = 'Город'")); КонецЕсли; Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Город, Ложь, ДопустимоКромеКириллицы) Тогда ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В названии города ""%1"" есть не кириллические символы.'"), Город - ), "Город"); + ), НСтр("ru = 'Город'")); КонецЕсли; КонецЕсли; @@ -1467,19 +1606,19 @@ ДобавитьОшибкуЗаполненияАдреса(НеУказаныСокращенияПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не указано сокращение в названии улицы ""%1"".'"), Улица - ), "Улица"); + ), НСтр("ru = 'Улица'")); КонецЕсли; Если СтрДлина(Район) > 50 Тогда ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Название улицы ""%1"" должно быть короче 50 символов.'"), Улица - ), "Улица"); + ), НСтр("ru = 'Улица'")); КонецЕсли; Если Не СтроковыеФункцииКлиентСервер.ТолькоКириллицаВСтроке(Улица, Ложь, ДопустимоКромеКириллицы) Тогда ДобавитьОшибкуЗаполненияАдреса(НедопустимыеСимволыПолей, Поле, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В названии улицы ""%1"" есть не кириллические символы.'"), Улица - ), "Улица"); + ), НСтр("ru = 'Улица'")); КонецЕсли; КонецЕсли; @@ -1488,7 +1627,9 @@ Поле = КонтактнаяИнформацияКлиентСерверПовтИсп.XPathПочтовогоИндекса(); Если СтрДлина(Индекс) <> 6 Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Индекс) Тогда ДобавитьОшибкуЗаполненияАдреса(НеСоответствуетДлинаПолей, Поле, - НСтр("ru = 'Почтовый индекс должен состоять из 6 цифр.'"), "Индекс"); + НСтр("ru = 'Почтовый индекс должен состоять из 6 цифр.'"), + НСтр("ru = 'Индекс'") + ); КонецЕсли; КонецЕсли; @@ -1515,10 +1656,12 @@ Если НазванияГородовФедеральногоЗначения().Найти(ВРег(Регион)) = Неопределено Тогда ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "Город", НСтр("ru = 'Город может быть не указан только в регионе - городе федерального значения.'"), - "Город"); + НСтр("ru = 'Город'") + ); ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "НаселПункт", НСтр("ru = 'Населенный пункт может быть не указан только в регионе - городе федерального значения.'"), - "Населенный пункт"); + НСтр("ru = 'Населенный пункт'") + ); КонецЕсли; КонецЕсли; @@ -1527,7 +1670,9 @@ Если ПустаяСтрока(НаселенныйПункт) И ПустаяСтрока(Улица) Тогда ДобавитьОшибкуЗаполненияАдреса(НеЗаполненыОбязательныеПоля, "Улица", - НСтр("ru = 'Если неопределен населенный пункт, то должна быть указана улица.'"), "Улица"); + НСтр("ru = 'Если неопределен населенный пункт, то должна быть указана улица.'"), + НСтр("ru = 'Улица'") + ); КонецЕсли; КонецЕсли; @@ -1588,8 +1733,8 @@ Результат = Новый Массив; Результат.Добавить("МОСКВА Г"); Результат.Добавить("САНКТ-ПЕТЕРБУРГ Г"); - Результат.Добавить("БАЙКОНУР Г"); Результат.Добавить("СЕВАСТОПОЛЬ Г"); + Результат.Добавить("БАЙКОНУР Г"); Возврат Результат; КонецФункции @@ -1597,8 +1742,11 @@ // Возвращает представление телефона // // Параметры: -// XDTOДанные - объект XDTO номера телефона -// ВидИнформации - необязательная ссылка на справочник вида КИ +// XDTOДанные - ОбъектXDTO - контактная информация +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на соответствующий вид контактной информации +// +// Возвращаемое значение: +// Строка - представление // Функция ПредставлениеТелефона(XDTOДанные, ВидИнформации = Неопределено) Экспорт Возврат УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона( @@ -1612,8 +1760,11 @@ // Возвращает представление факса // // Параметры: -// XDTOДанные - объект XDTO номера телефона -// ВидИнформации - необязательная ссылка на справочник вида КИ +// XDTOДанные - ОбъектXDTO - контактная информация +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - ссылка на соответствующий вид контактной информации +// +// Возвращаемое значение: +// Строка - представление // Функция ПредставлениеФакса(XDTOДанные, ВидИнформации = Неопределено) Экспорт Возврат УправлениеКонтактнойИнформациейКлиентСервер.СформироватьПредставлениеТелефона( @@ -1625,6 +1776,10 @@ КонецФункции // Возвращает флаг того, что текущий пользователь может загружать или очищать адресный классификатор +// +// Возвращаемое значение: +// Булево- результат проверки +// Функция ЕстьВозможностьИзмененияАдресногоКлассификатора() Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -1641,12 +1796,17 @@ // Совместимость // -// Возвращает структуру ("Представление", "ЗначенияПолей"), заполненную строкой и списком +// Возвращает структуру заполненную строкой и списком // // Параметры: -// XDTOКонтактнаяИнформация - XDTO контактной информации или строка XML -// СтарыйСоставПолей - булево - необязательный флаг того, что из состава полей будут исключены -// поля, отсутствующие в версиях БСП младше 2.1.3 +// XDTOКонтактнаяИнформация - ОбъектXDTO, Строка - контактная информация или строка XML +// СтарыйСоставПолей - Булево - необязательный флаг того, что из состава полей будут исключены +// поля, отсутствующие в версиях БСП младше 2.1.3 +// +// Возвращаемое значение: +// Структура - данные. Содержит поля: +// * Представление - Строка - представление адреса +// * ЗначенияПолей - СписокЗначений - значения // Функция КонтактнаяИнформацияВСтаруюСтруктуру(XDTOКонтактнаяИнформация, СтарыйСоставПолей = Ложь) Экспорт @@ -1682,11 +1842,12 @@ // Преобразует адрес формата XDTO в старый список полей типа СписокЗначений // // Параметры: -// XDTOАдрес - XDTOОбъект типа Адрес или АдресРФ, источник данных -// РасширенныйСоставПолей - Необязательный флаг того, что состав полей будет сокращен для совместимости -// с обменом БСП 2.1.2 +// XDTOАдрес - ОбъектXDTO, Строка - контактная информация или строка XML +// РасширенныйСоставПолей - Булево - необязательный флаг того, что состав полей будет сокращен для совместимости +// с обменом БСП 2.1.2 // -// Возвращаемый результат - список значений +// Возвращаемое значение: +// СписокЗначений // Функция АдресВСтарыйСписокПолей(XDTOАдрес, РасширенныйСоставПолей = Истина) Экспорт Список = Новый СписокЗначений; @@ -1883,7 +2044,6 @@ СтрокаПодобия = ЗамаскироватьСпецсимволы(Текст); Запрос.УстановитьПараметр("НачалоТекста", СтрокаПодобия + "%"); - Запрос.УстановитьПараметр("НачалоСлова", "% " + СтрокаПодобия + "%"); Выборка = Запрос.Выполнить().Выбрать(); @@ -2208,15 +2368,19 @@ // Первый уровень - внутренние идентификаторы Результат = Новый Структура; - Результат.Вставить("Регион", ЭлементАдреснойСтруктуры(НСтр("ru = 'Регион'"), "СубъектРФ") ); - Результат.Вставить("Район", ЭлементАдреснойСтруктуры(НСтр("ru = 'Район'"), "СвРайМО/Район") ); - Результат.Вставить("Город", ЭлементАдреснойСтруктуры(НСтр("ru = 'Город'"), "Город") ); - Результат.Вставить("НаселенныйПункт", ЭлементАдреснойСтруктуры(НСтр("ru = 'Нас.пункт'"), "НаселПункт", ,Истина)); + Результат.Вставить("Регион", ЭлементАдреснойСтруктуры(НСтр("ru = 'Регион'"), "СубъектРФ") ); + Результат.Вставить("Округ", ЭлементАдреснойСтруктуры(НСтр("ru = 'Округ'"), "Округ",,, Истина) ); + Результат.Вставить("Район", ЭлементАдреснойСтруктуры(НСтр("ru = 'Район'"), "СвРайМО/Район") ); + Результат.Вставить("Город", ЭлементАдреснойСтруктуры(НСтр("ru = 'Город'"), "Город") ); + Результат.Вставить("ВнутригРайон", ЭлементАдреснойСтруктуры(НСтр("ru = 'Внутр. р-н.'"), "ВнутригРайон",,, Истина)); + Результат.Вставить("НаселенныйПункт", ЭлементАдреснойСтруктуры(НСтр("ru = 'Нас.пункт'"), "НаселПункт",, Истина)); // Подсказки для интерфейса Результат.Регион.Вставить("Подсказка", НСтр("ru = 'Регион адреса'")); + Результат.Округ.Вставить("Подсказка", НСтр("ru = 'Округ адреса (только просмотр)'")); Результат.Район.Вставить("Подсказка", НСтр("ru = 'Район адреса'")); Результат.Город.Вставить("Подсказка", НСтр("ru = 'Город адреса'")); + Результат.ВнутригРайон.Вставить("Подсказка", НСтр("ru = 'Внутригородской район адреса (только просмотр)'")); Результат.НаселенныйПункт.Вставить("Подсказка", НСтр("ru = 'Населенный пункт адреса'")); Если Код = Неопределено Тогда @@ -2706,9 +2870,18 @@ КонецФункции // Конструктор внутренней структуры элемента адреса -Функция ЭлементАдреснойСтруктуры(Заголовок, ПутьXPath, Значение = Неопределено, Предопределенный = Ложь) - Возврат Новый Структура("Заголовок, ПутьXPath, Значение, Предопределенный, Наименование, Сокращение, КодКлассификатора", - Заголовок, ПутьXPath, Значение, Предопределенный); +Функция ЭлементАдреснойСтруктуры(Заголовок, ПутьXPath, Значение = Неопределено, Предопределенный = Ложь, ТолькоПросмотр = Ложь) + СтруктураАдреса = Новый Структура(); + СтруктураАдреса.Вставить("Заголовок", Заголовок); + СтруктураАдреса.Вставить("ПутьXPath", ПутьXPath); + СтруктураАдреса.Вставить("Значение", Значение); + СтруктураАдреса.Вставить("Предопределенный", Предопределенный); + СтруктураАдреса.Вставить("Наименование"); + СтруктураАдреса.Вставить("Сокращение"); + СтруктураАдреса.Вставить("КодКлассификатора"); + СтруктураАдреса.Вставить("ТолькоПросмотр", ТолькоПросмотр); + + Возврат СтруктураАдреса; КонецФункции // Возвращает строку для поиска в операторе ПОДОБНО @@ -3084,11 +3257,12 @@ Адрес = Результат.Состав; МодульКЛАДР = СерверныйМодульКЛАДР(); - Запрос = МодульКЛАДР.ЗапросДесериализацияАдресаПоПредставлениюКЛАДР("Справочник.СтраныМира"); + Запрос = МодульКЛАДР.ЗапросДесериализацияАдресаПоПредставлениюКЛАДР(); НаименованиеРоссии = СокрЛП(Справочники.СтраныМира.Россия.Наименование); Классификатор = Справочники.СтраныМира.ТаблицаКлассификатора(); + Запрос.УстановитьПараметр("СтраныКлассификатора", Классификатор.ВыгрузитьКолонку("Наименование") ); Запрос.УстановитьПараметр("ДанныеАдреса", ДанныеАнализа); Запрос.УстановитьПараметр("НаименованиеРоссии", НаименованиеРоссии); diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйВызовСервера/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйВызовСервера/Module.bsl index 35a408dd3..2360e5984 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйВызовСервера/Module.bsl @@ -8,8 +8,11 @@ // Разбирает представление контактной информации и возвращает строку XML со значениями полей // // Параметры: -// Текст - строка XML -// ОжидаемыйТип - ссылка на вид КИ или перечисление типа КИ для контроля типов +// Текст - Строка - XML +// ОжидаемыйТип - СправочникСсылка.ВидыКонтакнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации - для контроля типов +// +// Возвращаемое значение: +// Строка - XML // Функция ПарсингКонтактнойИнформацииXML(Знач Текст, Знач ОжидаемыйВид) Экспорт Возврат КонтактнаяИнформацияСлужебный.ПарсингКонтактнойИнформацииXML(Текст, ОжидаемыйВид); @@ -18,8 +21,10 @@ // Возвращает значение перечисления тип вида контактной информации // // Параметры: -// ВидИнформации - перечисление типа, ссылка на справочник ВидыКонтактнойИнформации или объект -// с полем "Тип" +// ВидИнформации - СправочникСсылка.ВидыКонтакнойИнформации, Структура - исходные данные +// +// Возвращаемое значение: +// ПеречислениеСсылка.ТипыКонтактнойИнфомарции - значение поля "Тип" // Функция ТипВидаКонтактнойИнформации(Знач ВидИнформации) Экспорт Возврат УправлениеКонтактнойИнформацией.ТипВидаКонтактнойИнформации(ВидИнформации); @@ -28,9 +33,11 @@ // Возвращает строку состава из значения контактной информации. // // Параметры: -// XMLДанные - строка XML данных контакной информации +// XMLДанные - Строка - XML данных контакной информации // -// Если значение состава сложного типа, то возвращает Неопределено +// Возвращаемое значение: +// Строка - содержимое +// Неопределено - если значение состава сложного типа // Функция СтрокаСоставаКонтактнойИнформации(Знач XMLДанные) Экспорт; Возврат КонтактнаяИнформацияXML.СтрокаСоставаКонтактнойИнформации(XMLДанные); diff --git a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйПовтИсп/Module.bsl b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйПовтИсп/Module.bsl index 04d4fdb0a..87cb36c90 100644 --- a/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/КонтактнаяИнформацияСлужебныйПовтИсп/Module.bsl @@ -4,7 +4,6 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #Область СлужебныйПрограммныйИнтерфейс -// // Возвращает имя события для регистрации в журнале событий контактной информации // @@ -17,9 +16,10 @@ // Поставщики преобразований // -// Преобразует список значений, оставляя из него только последние значения пар ключ-значение +// Преобразование для списка значений, оставляя из него только последние значения пар ключ-значение // -// Результат преобразования - строка XML сериализованного списка значений +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_УникальныеПоПредставлениюВСписке() Экспорт @@ -49,14 +49,10 @@ Возврат Преобразователь; Конецфункции -// Производит проверку двух строк XML - параметра и текущего +// Преобразование для сравнения двух строк XML // -// Результат преобразования - сериализованный ValueTable (http://v8.1c.ru/8.1/data/core), в котором три колонки: -// - Путь - строка - путь к месту различия -// - Значение1 - строка - значение в XML из параметра Текст1 -// - Значение2 - строка - значение в XML из параметра Текст2 -// -// Проверяем только строки и атрибуты, без пробельных, CDATA и т.п. Порядок важен. +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_ТаблицаЗначенийРазличияXML() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -237,11 +233,12 @@ Возврат Преобразователь; КонецФункции -// Преобразует текст с парами Ключ=Значение, разделенных переносами строк (см формат адреса) в XML. +// Преобразование для текста с парами Ключ=Значение, разделенных переносами строк (см формат адреса) в XML. // В случае повторных ключей все включаются в результат, но при десериализации будет использован // последний (особенность работы сериализатора платформы) // -// Результат преобразования - строка XML сериализованной структуры +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СтрокаКлючЗначениеВСтруктуру() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -299,10 +296,11 @@ Возврат Преобразователь; КонецФункции -// Преобразует текст с парами Ключ=Значение, разделенных переносами строк (см формат адреса) в XML. +// Преобразование для текста с парами Ключ=Значение, разделенных переносами строк (см формат адреса) в XML. // В случае повторных ключей все включаются в результат // -// Результат преобразования - строка XML сериализованного списка значений +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СтрокаКлючЗначениеВСписокЗначений() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -359,9 +357,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует список значений в строку пар ключ=значение, разделенных переносом строки +// Преобразование для списка значений в строку пар ключ=значение, разделенных переносом строки // -// Результат преобразования - строка результата +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СписокЗначенийВСтрокуКлючЗначение() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -401,9 +400,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует структуру в строку пар ключ=значение, разделенных переносом строки +// Преобразование для структуры в строку пар ключ=значение, разделенных переносом строки // -// Результат преобразования - строка результата +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СтруктураВСтрокуКлючЗначение() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -440,9 +440,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует список значений в структуру. Представление преобразуется в ключ +// Преобразование для списка значений в структуру. Представление преобразуется в ключ // -// Результат преобразования - сериализованная структура +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СписокЗначенийВСтруктуру() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -484,9 +485,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует структуру в список значений. Ключ преобразуется в представление. +// Преобразование для структуры в список значений. Ключ преобразуется в представление. // -// Результат преобразования - сериализованный список значений +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СтруктураВСписокЗначений() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -522,9 +524,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует соответствие в структуру. Ключ преобразуется в ключ, значение - в значение +// Преобразование для соответствия в структуру. Ключ преобразуется в ключ, значение - в значение // -// Результат преобразования - сериализованная структура +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_СоответствиеВСтруктуру() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -568,6 +571,9 @@ // Убирает описание для включения внутрь другого XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_УдалитьОписаниеXML() Экспорт Преобразователь = Новый ПреобразованиеXSL; Преобразователь.ЗагрузитьИзСтроки(" @@ -583,9 +589,10 @@ Возврат Преобразователь; КонецФункции -// Преобразует контактную информацию в виде XML (см пакет XDTO КонтактнаяИнформация) в перечисление ТипКонтакнойИнформации +// Преобразование для контактной информации в виде XML (см пакет XDTO КонтактнаяИнформация) в перечисление ТипКонтакнойИнформации // -// Результат преобразования - сериализованное значение перечисления +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_ТипКонтактнойИнформацииПоСтрокеXML() Экспорт Преобразователь = Новый ПреобразованиеXSL; @@ -633,16 +640,13 @@ Возврат Преобразователь; КонецФункции -// Преобразует таблицу различий XML в зависимости от типа контактной информации +// Преобразование для таблицы различий XML в зависимости от типа контактной информации // // Параметры: -// ТипКонтактнойИнформации - значение или имя перечисления +// ТипКонтактнойИнформации - Строка, ПеречислениеСсылка.ТипыКонтактнойИнформации - имя или значение перечисления // -// Результат преобразования - сериализованный ValueTable (http://v8.1c.ru/8.1/data/core), в котором три колонки: -// - Путь - строка - путь к месту различия -// - Описание - строка - описание отличающегося реквизита в терминах предметной области -// - Значение1 - строка - значение из первого XML -// - Значение2 - строка - значение из второго XML +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект // Функция XSLT_ИнтерпретацияРазличияXMLКонтактнойИнформации(Знач ТипКонтактнойИнформации) Экспорт @@ -689,6 +693,9 @@ // Преобразует сериализованную структуру в контактную информацию в виде XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВАдрес() Экспорт КодыДопАдрЭл = Новый ТекстовыйДокумент; @@ -908,12 +915,18 @@ // Преобразует сериализованную структуру в контактную информацию в виде XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВАдресЭлектроннойПочты() Экспорт Возврат XSLT_СтруктураВСтроковыйСостав("ЭлектроннаяПочта"); КонецФункции // Преобразует сериализованную структуру в контактную информацию в виде XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВВебСтраницу() Экспорт Возврат XSLT_СтруктураВСтроковыйСостав("ВебСайт"); КонецФункции @@ -926,17 +939,27 @@ // Преобразует сериализованную структуру в контактную информацию в виде XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВФакс() Экспорт Возврат XSLT_СтруктураВТелефонФакс("НомерФакса"); КонецФункции // Преобразует сериализованную структуру в контактную информацию в виде XML // +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВДругое() Экспорт Возврат XSLT_СтруктураВСтроковыйСостав("Прочее"); КонецФункции // Общее преобразование сериализованной структуры в контактную информацию в виде XML простого типа +// +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВСтроковыйСостав(Знач ИмяXDTOТипа) Преобразователь = Новый ПреобразованиеXSL; Преобразователь.ЗагрузитьИзСтроки(" @@ -981,6 +1004,10 @@ КонецФункции // Общее преобразование для телефона и факса +// +// Возвращаемое значение: +// ПреобразованиеXSL - подготовленный объект +// Функция XSLT_СтруктураВТелефонФакс(Знач ИмяXDTOТипа) Экспорт Преобразователь = Новый ПреобразованиеXSL; Преобразователь.ЗагрузитьИзСтроки(" @@ -1030,6 +1057,10 @@ // // Фрагмент XSL с процедурами для обработки строк +// +// Возвращаемое значение: +// Строка - фрагмент XML для использования в преобразовании +// Функция XSLT_ШаблоныСтроковыхФункций() Возврат " | @@ -1115,6 +1146,10 @@ КонецФункции // Фрагмент XSL с процедурами для работы с xpath +// +// Возвращаемое значение: +// Строка - фрагмент XML для использования в преобразовании +// Функция XSLT_ШаблоныФункцийXPath() Возврат " | diff --git a/SSL/src/CommonModules/КурсыВалютСлужебныйВМоделиСервиса/Module.bsl b/SSL/src/CommonModules/КурсыВалютСлужебныйВМоделиСервиса/Module.bsl index e3908a171..c0b7cf054 100644 --- a/SSL/src/CommonModules/КурсыВалютСлужебныйВМоделиСервиса/Module.bsl +++ b/SSL/src/CommonModules/КурсыВалютСлужебныйВМоделиСервиса/Module.bsl @@ -59,12 +59,13 @@ Процедура ОбновитьКурсыВалют() Экспорт Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | Валюты.Код - |ИЗ - | Справочник.Валюты КАК Валюты - |ГДЕ - | Валюты.ЗагружаетсяИзИнтернета = ИСТИНА"; + Запрос.Текст = + "ВЫБРАТЬ + | Валюты.Код + |ИЗ + | Справочник.Валюты КАК Валюты + |ГДЕ + | Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета)"; Выборка = Запрос.Выполнить().Выбрать(); //Копируем курсы. Это необходимо делать синхронно, т.к. за вызовом ОбновитьКурсыВалют @@ -172,18 +173,16 @@ Перем Запрос, Выборка, НаборЗаписей, Запись; Перем КлассификаторXML, КлассификаторТаблица, Валюта, НайденнаяСтрока; - // Проставляем флаг "ЗагружаетсяИзИнтернета" - КлассификаторXML = Справочники.Валюты.ПолучитьМакет("ОбщероссийскийКлассификаторВалют").ПолучитьТекст(); КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторXML).Данные; КлассификаторТаблица.Индексы.Добавить("Code"); Выборка = Справочники.Валюты.Выбрать(); Пока Выборка.Следующий() Цикл - Валюта = Выборка.ПолучитьОбъект(); + Валюта = Выборка.ПолучитьОбъект(); НайденнаяСтрока = КлассификаторТаблица.Найти(Валюта.Код, "Code"); Если НайденнаяСтрока <> Неопределено И НайденнаяСтрока.RBCLoading = "истина" Тогда - Валюта.ЗагружаетсяИзИнтернета = Истина; + Валюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета; ОбновлениеИнформационнойБазы.ЗаписатьДанные(Валюта); КонецЕсли; КонецЦикла; @@ -467,13 +466,15 @@ ОбщегоНазначения.УстановитьРазделениеСеанса(Истина, ОбластьДанных); ЗапросВалюты = Новый Запрос; - ЗапросВалюты.Текст = "ВЫБРАТЬ - | Валюты.Ссылка, - | Валюты.Код - |ИЗ - | Справочник.Валюты КАК Валюты - |ГДЕ - | Валюты.ЗагружаетсяИзИнтернета = ИСТИНА"; + ЗапросВалюты.Текст = + "ВЫБРАТЬ + | Валюты.Ссылка, + | Валюты.Код + |ИЗ + | Справочник.Валюты КАК Валюты + |ГДЕ + | Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета)"; + ВыборкаВалюты = ЗапросВалюты.Выполнить().Выбрать(); НачатьТранзакцию(); Пока ВыборкаВалюты.Следующий() Цикл @@ -508,13 +509,13 @@ КонецПроцедуры -// Вызывается при изменении реквизита ЗагружаетсяИзИнтернета +// Вызывается при изменении способа установки курса валюты. // // Валюта - СправочникСсылка.Валюты // Процедура ЗапланироватьКопированиеКурсовВалюты(Знач Валюта) Экспорт - Если Не Валюта.ЗагружаетсяИзИнтернета Тогда + Если Валюта.СпособУстановкиКурса <> Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета Тогда Возврат; КонецЕсли; @@ -530,7 +531,7 @@ КонецПроцедуры -// Вызывается после загрузки данных в область или при установке флажка ЗагружаетсяИзИнтернета +// Вызывается после загрузки данных в область или при изменении способа установки курса валюты. // Копирует курсы одной валюты за все даты из // неразделенного xml файла в разделенный регистр // diff --git a/SSL/src/CommonModules/НапоминанияПользователяКлиентСерверПереопределяемый/Module.bsl b/SSL/src/CommonModules/НапоминанияПользователяКлиентСерверПереопределяемый/Module.bsl index c5df76f68..a45be2c29 100644 --- a/SSL/src/CommonModules/НапоминанияПользователяКлиентСерверПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/НапоминанияПользователяКлиентСерверПереопределяемый/Module.bsl @@ -9,9 +9,9 @@ // Например, можно скрыть те реквизиты с датами, которые являются служебными или не имеют смысла для // установки напоминаний: дата документа или задачи и прочие. // -// Параметры -// Источник - Любая ссылка - Ссылка на объект, для которого формируется массив реквизитов с датами -// МассивРеквизитов - Массив - Массив имен реквизитов (из метаданных), содержащих даты +// Параметры: +// Источник - ЛюбаяСсылка - ссылка на объект, для которого формируется массив реквизитов с датами; +// МассивРеквизитов - Массив - имена реквизитов (из метаданных), содержащих даты. // Процедура ПриЗаполненииСпискаРеквизитовИсточникаСДатамиДляНапоминания(Источник, МассивРеквизитов) Экспорт @@ -21,8 +21,8 @@ // // Параметры: // Расписания - Соответствие: -// Ключ - Строка - представление расписания; -// Значение - РасписаниеРегламентногоЗадания - вариант расписания. +// * Ключ - Строка - представление расписания; +// * Значение - РасписаниеРегламентногоЗадания - вариант расписания. Процедура ПриПолученииСтандартныхРасписанийДляНапоминания(Расписания) Экспорт КонецПроцедуры diff --git a/SSL/src/CommonModules/НастройкаПорядкаЭлементов/Module.bsl b/SSL/src/CommonModules/НастройкаПорядкаЭлементов/Module.bsl index bf5409974..f1d787c64 100644 --- a/SSL/src/CommonModules/НастройкаПорядкаЭлементов/Module.bsl +++ b/SSL/src/CommonModules/НастройкаПорядкаЭлементов/Module.bsl @@ -27,6 +27,11 @@ Возврат; КонецЕсли; + // При переносе элемента в другую группу порядок переназначается. + Если Информация.ЕстьРодитель И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Ссылка, "Родитель") <> Источник.Родитель Тогда + Источник.РеквизитДопУпорядочивания = 0; + КонецЕсли; + // Вычислим новое значение для порядка элемента Если Источник.РеквизитДопУпорядочивания = 0 Тогда Источник.РеквизитДопУпорядочивания = diff --git a/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный.mdo b/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный.mdo index cf73b709d..5429f7ed4 100644 --- a/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный.mdo +++ b/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный.mdo @@ -1,5 +1,5 @@ - + НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный ru diff --git a/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент.mdo b/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент.mdo index 43495f242..c9d9f2f67 100644 --- a/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент.mdo +++ b/SSL/src/CommonModules/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент/НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент.mdo @@ -1,5 +1,5 @@ - + НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент ru diff --git a/SSL/src/CommonModules/НастройкиПользователейКлиент/Module.bsl b/SSL/src/CommonModules/НастройкиПользователейКлиент/Module.bsl deleted file mode 100644 index c0431d92b..000000000 --- a/SSL/src/CommonModules/НастройкиПользователейКлиент/Module.bsl +++ /dev/null @@ -1,185 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// Подсистема "Пользователи" -// Клиентские процедуры и функции обработки "НастройкиПользователей" -// -//////////////////////////////////////////////////////////////////////////////// - -#Область СлужебныеПроцедурыИФункции - -// Предназначена для открытия переданного отчета или формы -// -// Параметры: -// ТекущийЭлемент - ТаблицаФормы - выделенная строка дерева значений. -// Пользователь - Строка - имя пользователя информационной базы, -// ТекущийПользователь - Строка - имя пользователя информационной базы, для открытия формы -// должен совпадать значением параметра "Пользователь". -// ИмяФормыПерсональныхНастроек - Строка - путь для открытия формы персональных настроек -// вида "ОбщаяФорма.НазваниеФормы" -Процедура ОткрытьОтчетИлиФорму(ТекущийЭлемент, Пользователь, ТекущийПользователь, ИмяФормыПерсональныхНастроек) Экспорт - - ЭлементДереваЗначений = ТекущийЭлемент; - Если ЭлементДереваЗначений.ТекущиеДанные = Неопределено Тогда - Возврат; - КонецЕсли; - - Если Пользователь <> ТекущийПользователь Тогда - ТекстПредупреждения = НСтр("ru = 'Для просмотра настроек другого пользователя необходимо запустить программу от его имени - |и открыть нужный отчет или форму.'"); - ПоказатьПредупреждение(,ТекстПредупреждения); - Возврат; - КонецЕсли; - - Если ЭлементДереваЗначений.Имя = "НастройкиОтчетовДерево" Тогда - - КлючОбъекта = ЭлементДереваЗначений.ТекущиеДанные.Ключи[0].Значение; - КлючОбъектаМассивСтрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(КлючОбъекта, "/"); - КлючВарианта = КлючОбъектаМассивСтрок[1]; - ПараметрыОтчета = Новый Структура("КлючВарианта, КлючПользовательскихНастроек", КлючВарианта, ""); - - Если ЭлементДереваЗначений.ТекущиеДанные.Тип = "НастройкаОтчета" Тогда - КлючПользовательскихНастроек = ЭлементДереваЗначений.ТекущиеДанные.Ключи[0].Представление; - ПараметрыОтчета.Вставить("КлючПользовательскихНастроек", КлючПользовательскихНастроек); - КонецЕсли; - - ОткрытьФорму(КлючОбъектаМассивСтрок[0] + ".Форма", ПараметрыОтчета); - Возврат; - - ИначеЕсли ЭлементДереваЗначений.Имя = "ВнешнийВид" Тогда - - Для Каждого КлючОбъекта Из ЭлементДереваЗначений.ТекущиеДанные.Ключи Цикл - - Если КлючОбъекта.Пометка = Истина Тогда - - ОткрытьФорму(КлючОбъекта.Значение); - Возврат; - Иначе - РодительЭлемента = ЭлементДереваЗначений.ТекущиеДанные.ПолучитьРодителя(); - - Если ЭлементДереваЗначений.ТекущиеДанные.ТипСтроки = "НастройкиРабочегоСтола" Тогда - ПоказатьПредупреждение(,НСтр("ru = 'Для просмотра настроек рабочего стола перейдите к разделу ""Рабочий стол"" - |в командном интерфейсе программы.'")); - Возврат; - КонецЕсли; - - Если ЭлементДереваЗначений.ТекущиеДанные.ТипСтроки = "НастройкиКомандногоИнтерфейса" Тогда - ПоказатьПредупреждение(,НСтр("ru = 'Для просмотра настроек командного интерфейса выберите нужный раздел - |командного интерфейса программы.'")); - Возврат; - КонецЕсли; - - Если РодительЭлемента <> Неопределено Тогда - ТекстПредупреждения = НСтр("ru = 'Для просмотра данной настройки необходимо открыть ""%1"" - |и затем перейти к форме ""%2"".'"); - ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, - РодительЭлемента.Настройка, ЭлементДереваЗначений.ТекущиеДанные.Настройка); - ПоказатьПредупреждение(,ТекстПредупреждения); - Возврат; - КонецЕсли; - - КонецЕсли; - - КонецЦикла; - - ПоказатьПредупреждение(,НСтр("ru = 'Данную настройку невозможно просмотреть.'")); - Возврат; - - ИначеЕсли ЭлементДереваЗначений.Имя = "ПрочиеНастройки" Тогда - - Если ЭлементДереваЗначений.ТекущиеДанные.Тип = "ПерсональныеНастройки" - И ИмяФормыПерсональныхНастроек <> "" Тогда - ОткрытьФорму(ИмяФормыПерсональныхНастроек); - Возврат; - КонецЕсли; - - ПоказатьПредупреждение(,НСтр("ru = 'Данную настройку невозможно просмотреть.'")); - Возврат; - - КонецЕсли; - - ПоказатьПредупреждение(,НСтр("ru = 'Выберите настройку для просмотра.'")); - -КонецПроцедуры - -// Предназначена для формирования окончания у слова "настройка". -// -// Параметры: -// КоличествоНастроек - Число - количество настроек -// -// Возвращаемое значение: -// Строка - вида "хх настроек" с правильным окончанием. -// -Функция ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек) Экспорт - - ПрописьЧисла = ЧислоПрописью( - КоличествоНастроек, - "Л = ru_RU", - НСтр("ru = ',,,,,,,,0'")); - ПрописьЧислаИПредмета = ЧислоПрописью( - КоличествоНастроек, - "Л = ru_RU", - НСтр("ru = 'настройка,настройки,настроек,,,,,,0'")); - ПрописьПредмета = СтрЗаменить( - ПрописьЧислаИПредмета, - ПрописьЧисла, - Формат(КоличествоНастроек, "ЧДЦ=0") + " "); - - Возврат ПрописьПредмета; -КонецФункции - -// Предназначена для формирования строки пояснения при копировании настроек -// -// Параметры: -// ПредставлениеНастройки - Строка - название настройки. Используется если копируется одна настройка. -// КоличествоНастроек - Число - количество настроек. Используется, если копируется две более настроек. -// ПояснениеКомуСкопированыНастройки - Строка - кому копируются настройки. -// -// Возвращаемое значение: -// Строка - текст пояснения при копировании настройки -// -Функция ФормированиеПоясненияПриКопировании(ПредставлениеНастройки, КоличествоНастроек, ПояснениеКомуСкопированыНастройки) Экспорт - - Если КоличествоНастроек = 1 Тогда - - Если СтрДлина(ПредставлениеНастройки) > 24 Тогда - ПредставлениеНастройки = Лев(ПредставлениеНастройки, 24) + "..."; - КонецЕсли; - - ТекстПояснения = НСтр("ru = '""%1"" скопирована %2'"); - ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ТекстПояснения, ПредставлениеНастройки, ПояснениеКомуСкопированыНастройки); - Иначе - ПрописьПредмета = ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек); - ТекстПояснения = НСтр("ru = 'Скопировано %1 %2'"); - ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ТекстПояснения, ПрописьПредмета, ПояснениеКомуСкопированыНастройки); - КонецЕсли; - - Возврат ТекстПояснения; -КонецФункции - -// Формирует строку получателя настройки -// -// Параметры: -// КоличествоПользователей - Число - используется, если значение больше единицы. -// Пользователь - Строка - имя пользователя. Используется, если количество пользователей -// равно единице. -// -// Возвращаемое значение: -// Строка - пояснение кому копируется настройка -// -Функция ПояснениеПользователи(КоличествоПользователей, Пользователь) Экспорт - - Если КоличествоПользователей = 1 Тогда - ПояснениеКомуСкопированыНастройки = НСтр("ru = 'пользователю ""%1""'"); - ПояснениеКомуСкопированыНастройки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ПояснениеКомуСкопированыНастройки, Пользователь); - Иначе - ПояснениеКомуСкопированыНастройки = НСтр("ru = '%1 пользователям'"); - ПояснениеКомуСкопированыНастройки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - ПояснениеКомуСкопированыНастройки, КоличествоПользователей); - КонецЕсли; - - Возврат ПояснениеКомуСкопированыНастройки; -КонецФункции - -#КонецОбласти diff --git a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервиса/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервиса/Module.bsl index 6606b55e7..adf88c0fd 100644 --- a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервиса/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервиса/Module.bsl @@ -1869,9 +1869,9 @@ Функция ТребуемаяВерсияПлатформы() Экспорт ВерсияПлатформы = ""; - ВерсияПлатформы = ОбменДаннымиВМоделиСервисаПереопределяемый.ТребуемаяВерсияПриложения(); - Если Не ПустаяСтрока(ВерсияПлатформы) Тогда + ОбменДаннымиВМоделиСервисаПереопределяемый.ПриОпределенииТребуемойВерсииПриложения(ВерсияПлатформы); + Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда Возврат ВерсияПлатформы; КонецЕсли; diff --git a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаКлиент/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаКлиент/Module.bsl index ba131e563..362c32042 100644 --- a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаКлиент/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаКлиент/Module.bsl @@ -42,34 +42,26 @@ // Процедура ПриЗавершенииРаботыСистемы(Предупреждения) Экспорт + ПараметрыАвтономнойРаботы = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗавершении().ПараметрыАвтономнойРаботы; Если ПредлагатьСинхронизироватьДанныеСПриложениемВИнтернетеПриЗавершенииСеанса = Истина - И СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗавершении().ПараметрыАвтономнойРаботы.СинхронизацияССервисомДавноНеВыполнялась Тогда + И ПараметрыАвтономнойРаботы.СинхронизацияССервисомДавноНеВыполнялась Тогда - ПараметрыПредупреждения = Новый Структура; - - ТекстПодсказки = НСтр("ru = 'В некоторых случаях синхронизация данных может занять длительное время: - | - медленный канал связи; - | - большой объем данных; - | - доступно обновление приложения в Интернете.'"); + ПараметрыПредупреждения = СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы(); + ПараметрыПредупреждения.РасширеннаяПодсказка = НСтр("ru = 'В некоторых случаях синхронизация данных может занять длительное время: + | - медленный канал связи; + | - большой объем данных; + | - доступно обновление приложения в Интернете.'"); - // Подсказка как поясняющий текст - ПараметрыПредупреждения.Вставить("РасширеннаяПодсказка", ТекстПодсказки); + ПараметрыПредупреждения.ТекстФлажка = НСтр("ru = 'Синхронизировать данные с приложением в Интернете'"); + ПараметрыПредупреждения.Приоритет = 80; - // Флаг действия - ТекстФлажка = НСтр("ru = 'Синхронизировать данные с приложением в Интернете'"); - ПараметрыПредупреждения.Вставить("ТекстФлажка", ТекстФлажка); - ПараметрыПредупреждения.Вставить("Приоритет", 80); + ДействиеПриУстановленномФлажке = ПараметрыПредупреждения.ДействиеПриУстановленномФлажке; + ДействиеПриУстановленномФлажке.Форма = "Обработка.ВыполнениеОбменаДанными.Форма.Форма"; - ПараметрыФормы = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗавершении().ПараметрыАвтономнойРаботы.ПараметрыФормыВыполненияОбменаДанными; + ПараметрыФормы = ПараметрыАвтономнойРаботы.ПараметрыФормыВыполненияОбменаДанными; ПараметрыФормы = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(ПараметрыФормы); ПараметрыФормы.Вставить("ЗавершениеРаботыСистемы", Истина); - ПараметрыФормы = Новый ФиксированнаяСтруктура(ПараметрыФормы); - - ДействиеПриУстановленномФлажке = Новый Структура; - ДействиеПриУстановленномФлажке.Вставить("Форма", "Обработка.ВыполнениеОбменаДанными.Форма.Форма"); - ДействиеПриУстановленномФлажке.Вставить("ПараметрыФормы", ПараметрыФормы); - - ПараметрыПредупреждения.Вставить("ДействиеПриУстановленномФлажке", ДействиеПриУстановленномФлажке); + ДействиеПриУстановленномФлажке.ПараметрыФормы = ПараметрыФормы; Предупреждения.Добавить(ПараметрыПредупреждения); КонецЕсли; @@ -81,22 +73,8 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: -// Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: -// ТекстФлажка - Строка - текст флажка. -// ПоясняющийТекст - Строка - текст, выводимый в форме сверху -// управляющего элемента (флажок или гиперссылка). -// ТекстГиперссылки - Строка - текст гиперссылки. -// ДействиеПриУстановленномФлажке - Структура с полями: -// Форма - путь к открываемой форме. -// ПараметрыФормы - произвольная структура параметров формы Форма. -// ДействиеПриНажатииГиперссылки - Структура с полями: -// Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. -// ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. -// ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу -// вместо универсальной формы в случае, когда в списке -// предупреждений оказывается только одно данное предупреждение. -// ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура -// параметров для вышеописанной формы. +// Предупреждения - Массив - в массив можно добавить элементы типа Структура, +// свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт diff --git a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаПереопределяемый/Module.bsl index 62d9ad31b..fa9dfa639 100644 --- a/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиВМоделиСервисаПереопределяемый/Module.bsl @@ -3,20 +3,28 @@ // //////////////////////////////////////////////////////////////////////////////// -// Версия приложения 1С:Предприятия, которая требуется для работы автономного рабочего места. -// Приложение этой версии должно быть установлено на локальном компьютере пользователя. +#Область СлужебныеПроцедурыИФункции + +// Устарела. Следует использовать ПриОпределенииТребуемойВерсииПриложения +// +Функция ТребуемаяВерсияПриложения() Экспорт + +КонецФункции + +// Определяет версию приложения 1С:Предприятия, которая требуется для работы автономного рабочего +// места. Приложение этой версии должно быть установлено на локальном компьютере пользователя. // Если возвращаемое значение функции не задано, то в качестве требуемой версии приложения // будет использоваться значение по умолчанию: первые три цифры версии текущего приложения, // расположенного в Интернете, например, "8.3.3". // Используется в помощнике создания автономного рабочего места. // -// Возвращаемое значение: -// Строка - Версия требуемого приложения 1С:Предприятия в формате -// <основная версия>.<младшая версия>.<релиз>.<дополнительный номер релиза>. -// Например, "8.3.3.715". +// Параметры: +// Версия - Строка - Версия требуемого приложения 1С:Предприятия в формате +// <основная версия>.<младшая версия>.<релиз>.<дополнительный номер релиза>. +// Например, "8.3.3.715". // -Функция ТребуемаяВерсияПриложения() Экспорт +Процедура ПриОпределенииТребуемойВерсииПриложения(Версия) Экспорт - Возврат ""; - -КонецФункции +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/ОбменДаннымиВнешнееСоединение/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиВнешнееСоединение/Module.bsl index 0cbbee972..cd2975c5b 100644 --- a/SSL/src/CommonModules/ОбменДаннымиВнешнееСоединение/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиВнешнееСоединение/Module.bsl @@ -105,17 +105,27 @@ ПрефиксИнформационнойБазы = Неопределено; ПрефиксИнформационнойБазы = ОбменДаннымиПереопределяемый.ПрефиксИнформационнойБазыПоУмолчанию(); + ОбменДаннымиПереопределяемый.ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию(ПрефиксИнформационнойБазы); Возврат ПрефиксИнформационнойБазы; КонецФункции +// Проверяет необходимость проверки расхождения версий в правилах конвертации +// +Функция ПредупреждатьОНесоответствииВерсийПравилОбмена(ИмяПланаОбмена) Экспорт + + УстановитьПривилегированныйРежим(Истина); + Возврат ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ПредупреждатьОНесоответствииВерсийПравилОбмена"); + +КонецФункции + // Возвращает признак доступности роли ПолныеПрава // (Только для внутреннего использования) // Функция РольДоступнаПолныеПрава() Экспорт - Возврат РольДоступна(Метаданные.Роли.ПолныеПрава); + Возврат Пользователи.ЭтоПолноправныйПользователь(, Истина); КонецФункции diff --git a/SSL/src/CommonModules/ОбменДаннымиВызовСервера/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиВызовСервера/Module.bsl index b85a86f24..1c7c7fc8e 100644 --- a/SSL/src/CommonModules/ОбменДаннымиВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиВызовСервера/Module.bsl @@ -97,7 +97,6 @@ // Обновляет/устанавливает повторно-используемые значения и параметры сеанса для подсистемы обмена данными // // Устанавливаемые параметры сеанса: -// ИспользуемыеПланыОбмена - ФиксированныйМассив - массив с именами планов обмена для которых используется обмен. // ПравилаРегистрацииОбъектов - ХранилищеЗначения - в бинарном виде содержит таблицу значений с правилами регистрации объектов. // ПравилаВыборочнойРегистрацииОбъектов - // ДатаОбновленияПовторноИспользуемыхЗначенийМРО - Дата (Дата и время) - содержит дату последнего актуального @@ -112,10 +111,7 @@ ОбновитьПовторноИспользуемыеЗначения(); - // получаем планы обмена конфигурации, которые используются при обмене - ПараметрыСеанса.ИспользуемыеПланыОбмена = Новый ФиксированныйМассив(ОбменДаннымиСервер.ПолучитьИспользуемыеПланыОбмена()); - - Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество() > 0 Тогда + Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0 Тогда ПараметрыСеанса.ПравилаРегистрацииОбъектов = Новый ХранилищеЗначения(ОбменДаннымиСервер.ПолучитьПравилаРегистрацииОбъектов()); @@ -344,7 +340,7 @@ Результат = ?(ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания), "Завершено", "Активно"); Исключение Результат = "ЗавершеноАварийно"; - ЗаписьЖурналаРегистрации( НСтр("ru = 'Обмен данными'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка() ), + ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ); КонецПопытки; @@ -378,7 +374,7 @@ Исключение Результат = "Failed"; - ЗаписьЖурналаРегистрации(НСтр("ru = 'Обмен данными'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка() ), + ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ); КонецПопытки; @@ -409,7 +405,7 @@ Исключение Результат = "Failed"; - ЗаписьЖурналаРегистрации(НСтр("ru = 'Обмен данными'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка() ), + ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииОбменДанными(), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ); КонецПопытки; @@ -474,7 +470,7 @@ УстановитьПривилегированныйРежим(Истина); - Если ПараметрыСеанса.ИспользуемыеПланыОбмена.Количество() > 0 Тогда + Если ОбменДаннымиПовтИсп.ИспользуемыеПланыОбмена().Количество() > 0 Тогда НаборЗаписейКонфликта = РегистрыСведений.РезультатыОбменаДанными.СоздатьНаборЗаписей(); НаборЗаписейКонфликта.Отбор.ПроблемныйОбъект.Установить(Источник); @@ -551,7 +547,6 @@ // зарегистрируем имена параметров, которые установлены при // выполнении ОбменДаннымиВызовСервера.ОбновитьКэшМеханизмаРегистрацииОбъектов - УстановленныеПараметры.Добавить("ИспользуемыеПланыОбмена"); УстановленныеПараметры.Добавить("ПравилаВыборочнойРегистрацииОбъектов"); УстановленныеПараметры.Добавить("ПравилаРегистрацииОбъектов"); УстановленныеПараметры.Добавить("ДатаОбновленияПовторноИспользуемыхЗначенийМРО"); @@ -562,6 +557,14 @@ ПараметрыСеанса.ПриоритетныеДанныеОбмена = Новый ФиксированныйМассив(Новый Массив); УстановленныеПараметры.Добавить("ПриоритетныеДанныеОбмена"); + СтруктураПроверки =Новый Структура; + СтруктураПроверки.Вставить("ПроверятьРасхождениеВерсий", Ложь); + СтруктураПроверки.Вставить("ЕстьОшибка", Ложь); + СтруктураПроверки.Вставить("ТекстОшибки", ""); + + ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных = Новый ФиксированнаяСтруктура(СтруктураПроверки); + УстановленныеПараметры.Добавить("ОшибкаРасхожденияВерсийПриПолученииДанных"); + Иначе ПараметрыСеанса.ПаролиСинхронизацииДанных = Новый ФиксированноеСоответствие(Новый Соответствие); @@ -715,11 +718,11 @@ // Возвращаемое значение: // Булево - Истина, если план обмена используется, Ложь - нет. // -Функция ОбменДаннымиВключен(Знач ИмяПланаОбмена) Экспорт +Функция ОбменДаннымиВключен(Знач ИмяПланаОбмена, Знач Отправитель) Экспорт УстановитьПривилегированныйРежим(Истина); - Возврат ОбменДаннымиПовтИсп.ОбменДаннымиВключен(ИмяПланаОбмена); + Возврат ОбменДаннымиПовтИсп.ОбменДаннымиВключен(ИмяПланаОбмена, Отправитель); КонецФункции // Получает массив узлов плана обмена, для которых установлен признак «Выгружать всегда» diff --git a/SSL/src/CommonModules/ОбменДаннымиКлиент/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиКлиент/Module.bsl index d1998d7e7..b28356410 100644 --- a/SSL/src/CommonModules/ОбменДаннымиКлиент/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиКлиент/Module.bsl @@ -68,6 +68,7 @@ // // Параметры: // ИмяПланаОбмена - Строка - имя плана обмена, как объекта метаданных, для которого необходимо открыть помощник +// НастройкаОбменаССервисом - Булево - Признак того, что настраивается обмен с приложением в модели сервиса // Процедура ОткрытьПомощникНастройкиОбменаДанными(Знач ИмяПланаОбмена, НастройкаОбменаССервисом = Ложь) Экспорт @@ -92,7 +93,17 @@ // Обработчик начала выбора элемента для формы задания настроек узла базы-корреспондента при настройке обмена через внешнее соединение // -Процедура ОбработчикВыбораЭлементовБазыКорреспондентаНачалоВыбора(Знач ИмяРеквизита, Знач ИмяТаблицы, Знач Владелец, Знач СтандартнаяОбработка, Знач ПараметрыВнешнегоСоединения, Знач ПараметрыВыбора=Неопределено) Экспорт +// Параметры: +// ИмяРеквизита - Строка - Имя реквизита формы +// ИмяТаблицы - Строка - Полное имя объекта метаданных +// Владелец - УправляемаяФорма - Форма выбора элементов базы-корреспондента +// СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события +// ПараметрыВнешнегоСоединения - Структура - параметры внешнего соединения +// ПараметрыВыбора - Структура - Структура параметров выбора +// +Процедура ОбработчикВыбораЭлементовБазыКорреспондентаНачалоВыбора(Знач ИмяРеквизита, Знач ИмяТаблицы, Знач Владелец, + Знач СтандартнаяОбработка, Знач ПараметрыВнешнегоСоединения, Знач ПараметрыВыбора=Неопределено) Экспорт + ИмяРеквизитаИдентификатора = ИмяРеквизита + "_Ключ"; НачальноеЗначениеВыбора = Неопределено; @@ -126,11 +137,21 @@ ПараметрыФормы.Вставить("ВыборГруппИЭлементов", ВыборГруппИЭлементов); ОткрытьФорму("ОбщаяФорма.ВыборОбъектовИнформационнойБазыКорреспондента", ПараметрыФормы, Владелец); + КонецПроцедуры // Обработчик подбора элементов для формы задания настроек узла базы-корреспондента при настройке обмена через внешнее соединение // -Процедура ОбработчикВыбораЭлементовБазыКорреспондентаПодбор(Знач ИмяРеквизита, Знач ИмяТаблицы, Знач Владелец, Знач ПараметрыВнешнегоСоединения, Знач ПараметрыВыбора=Неопределено) Экспорт +// Параметры: +// ИмяРеквизита - Строка - Имя реквизита формы +// ИмяТаблицы - Строка - Полное имя объекта метаданных +// Владелец - УправляемаяФорма - Форма выбора элементов базы-корреспондента +// ПараметрыВнешнегоСоединения - Структура - параметры внешнего соединения +// ПараметрыВыбора - Структура - Структура параметров выбора +// +Процедура ОбработчикВыбораЭлементовБазыКорреспондентаПодбор(Знач ИмяРеквизита, Знач ИмяТаблицы, Знач Владелец, + Знач ПараметрыВнешнегоСоединения, Знач ПараметрыВыбора=Неопределено) Экспорт + ИмяРеквизитаИдентификатора = ИмяРеквизита + "_Ключ"; НачальноеЗначениеВыбора = Неопределено; @@ -162,6 +183,11 @@ // Обработчик обработки выбора элемента для формы задания настроек узла базы-корреспондента при настройке обмена через внешнее соединение // +// Параметры: +// Элемент - УправляемаяФорма, ТаблицаФормы - Элемент для обработки выбора +// ВыбранноеЗначение - см. описание параметра ВыбранноеЗначение события ОбработкаВыбора +// ДанныеФормыКоллекция - ДанныеФормыКоллекция - Для режима подбора из списка +// Процедура ОбработчикВыбораЭлементовБазыКорреспондентаОбработкаВыбора(Знач Элемент, Знач ВыбранноеЗначение, Знач ДанныеФормыКоллекция=Неопределено) Экспорт Если ТипЗнч(ВыбранноеЗначение)<>Тип("Структура") Тогда @@ -202,6 +228,8 @@ // Проверяет установку флага "Использовать" для всех строк таблицы // +// Таблица - ТаблицаЗначений - проверяемая таблица +// Функция ВТаблицеОтмеченыВсеЭлементы(Таблица) Экспорт Для Каждого Элемент Из Таблица Цикл @@ -364,7 +392,7 @@ Возврат; КонецЕсли; - Если ПараметрыРаботыКлиента.ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла Тогда + Если ПараметрыРаботыКлиента.Свойство("ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла") Тогда Для Каждого Окно Из ПолучитьОкна() Цикл Если Окно.Основное Тогда @@ -386,8 +414,8 @@ Возврат; КонецЕсли; - Если Не ПараметрыРаботыКлиента.ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла - И ПараметрыРаботыКлиента.ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзла Тогда + Если Не ПараметрыРаботыКлиента.Свойство("ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла") + И ПараметрыРаботыКлиента.Свойство("ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзла") Тогда ПодключитьОбработчикОжидания("ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзлаПриЗапуске", 1, Истина); @@ -482,7 +510,7 @@ УстановитьЗначенияСтруктурыПоУмолчанию(ПараметрыДиалога, УмолчанияДиалога); - ТекстПредупреждения = НСтр("ru = 'Для данной операции необходимо установить расширение работы с файлами.'"); + ТекстПредупреждения = НСтр("ru = 'Для данной операции необходимо установить расширение для веб-клиента 1С:Предприятие.'"); ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры.Вставить("Объект", Объект); @@ -543,7 +571,7 @@ УстановитьЗначенияСтруктурыПоУмолчанию(ПараметрыДиалога, УмолчанияДиалога); - ТекстПредупреждения = НСтр("ru = 'Для данной операции необходимо установить расширение работы с файлами.'"); + ТекстПредупреждения = НСтр("ru = 'Для данной операции необходимо установить расширение для веб-клиента 1С:Предприятие.'"); Оповещение = Новый ОписаниеОповещения("ОбработчикВыбораФайлаЗавершение", ЭтотОбъект, Новый Структура); Оповещение.ДополнительныеПараметры.Вставить("Объект", Объект); @@ -617,9 +645,9 @@ Если ТекстПредупреждения = Неопределено Тогда Если ИменаФайлов.Количество() = 1 Тогда - ТекстПредупреждения = НСтр("ru = 'Для передачи файла на сервер необходимо установить расширение работы с файлами.'"); + ТекстПредупреждения = НСтр("ru = 'Для передачи файла на сервер необходимо установить расширение для веб-клиента 1С:Предприятие.'"); Иначе - ТекстПредупреждения = НСтр("ru = 'Для передачи файлов на сервер необходимо установить расширение работы с файлами.'"); + ТекстПредупреждения = НСтр("ru = 'Для передачи файлов на сервер необходимо установить расширение для веб-клиента 1С:Предприятие.'"); КонецЕсли; КонецЕсли; @@ -836,6 +864,17 @@ КонецПроцедуры +// Открывает форму загрузки правил конвертации и регистрации единым файлом +// +Процедура ЗагрузитьПравилаСинхронизацииДанных(Знач ИмяПланаОбмена) Экспорт + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ИмяПланаОбмена", ИмяПланаОбмена); + + ОткрытьФорму("РегистрСведений.ПравилаДляОбменаДанными.Форма.ЗагрузитьПравилаСинхронизацииДанных", ПараметрыФормы,, ИмяПланаОбмена); + +КонецПроцедуры + // Открывает журнал регистрации с отбором по событиям выгрузки или загрузки данных для заданного узла плана обмена // Процедура ПерейтиВЖурналРегистрацииСобытийДанных(УзелИнформационнойБазы, ПараметрыВыполненияКоманды, ДействиеПриОбменеСтрокой) Экспорт @@ -887,7 +926,7 @@ ПараметрыФормы.Вставить("УзелИнформационнойБазы", УзелИнформационнойБазы); ПараметрыФормы.Вставить("РасширенныйРежимДополненияВыгрузки", Истина); - ОткрытьФорму("Обработка.ПомощникИнтерактивногоОбменаДанными.Форма", ПараметрыФормы, Владелец, УзелИнформационнойБазы, , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + ОткрытьФорму("Обработка.ПомощникИнтерактивногоОбменаДанными.Форма", ПараметрыФормы, Владелец, УзелИнформационнойБазы, , , ,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; @@ -905,7 +944,18 @@ // в качестве параметра формы задаем узел информационной базы; ПараметрыФормы = Новый Структура("УзелИнформационнойБазы", УзелИнформационнойБазы); - ОткрытьФорму("Обработка.ПомощникИнтерактивногоОбменаДанными.Форма", ПараметрыФормы, Владелец, УзелИнформационнойБазы, , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + ИмяФормы = "Обработка.ПомощникИнтерактивногоОбменаДанными.Форма"; + + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOКлиентПовтИсп = ОбщегоНазначенияКлиент.ОбщийМодуль("ОбменДаннымиXDTOКлиентПовтИсп"); + Если МодульОбменДаннымиXDTOКлиентПовтИсп.ЭтоПланОбменаXDTO(УзелИнформационнойБазы) Тогда + ИмяФормы = "Обработка.ПомощникИнтерактивногоОбменаДаннымиЧерезXDTO.Форма"; + КонецЕсли; + + КонецЕсли; + + ОткрытьФорму(ИмяФормы, ПараметрыФормы, Владелец, УзелИнформационнойБазы, , , ,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры @@ -975,7 +1025,7 @@ ОповещениеОЗакрытии = Новый ОписаниеОповещения("ПослеУдаленияРазрешений", ЭтотОбъект, УзелИнформационнойБазы); Запросы = ОбменДаннымиВызовСервера.ЗапросНаОчисткуРазрешенийИспользованияВнешнихРесурсов(УзелИнформационнойБазы); - РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов(Запросы, ЭтотОбъект, ОповещениеОЗакрытии); + РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов(Запросы, Неопределено, ОповещениеОЗакрытии); КонецЕсли; @@ -1053,6 +1103,14 @@ КонецПроцедуры +// Открывает форму сообщения о неудачном обновлении при ошибке в ПРО при выполнении обновления информационной базы +// +Процедура ИмяФормыСообщенияОНеудачномОбновлении(ИмяОткрываемойФормы) Экспорт + + ИмяОткрываемойФормы = "РегистрСведений.ПравилаДляОбменаДанными.Форма.СообщениеОНеудачномОбновлении"; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов из других подсистем diff --git a/SSL/src/CommonModules/ОбменДаннымиПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиПереопределяемый/Module.bsl index 55a4fb70f..6eabd5351 100644 --- a/SSL/src/CommonModules/ОбменДаннымиПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиПереопределяемый/Module.bsl @@ -5,20 +5,23 @@ #Область ПрограммныйИнтерфейс -// Возвращает префикс кодов и номеров объектов информационной базы по умолчанию -// -// Параметры: -// Нет. -// -// Возвращаемое значение: -// Строка, 2 - префикс кодов и номеров объектов информационной базы по умолчанию +// Устарела. Следует использовать ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию // Функция ПрефиксИнформационнойБазыПоУмолчанию() Экспорт - Возврат НСтр("ru = 'ДМ'"); - КонецФункции +// Определяет префикс кодов и номеров объектов информационной базы по умолчанию +// +// Параметры: +// Префикс - Строка, 2 - префикс кодов и номеров объектов информационной базы по умолчанию +// +Процедура ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию(Префикс) Экспорт + + + +КонецПроцедуры + // Определяет список планов обмена, которые используют функционал подсистемы обмена данными. // // Параметры: diff --git a/SSL/src/CommonModules/ОбменДаннымиПовтИсп/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиПовтИсп/Module.bsl index 2054706d2..1d4206b7d 100644 --- a/SSL/src/CommonModules/ОбменДаннымиПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиПовтИсп/Module.bsl @@ -330,9 +330,29 @@ // Возвращаемое значение: // Истина - план обмена используется, Ложь - нет. // -Функция ОбменДаннымиВключен(Знач ИмяПланаОбмена) Экспорт +Функция ОбменДаннымиВключен(Знач ИмяПланаОбмена, Знач Отправитель = Неопределено) Экспорт - Возврат ПараметрыСеанса.ИспользуемыеПланыОбмена.Найти(ИмяПланаОбмена) <> Неопределено; + ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 1 1 + |ИЗ + | ПланОбмена." + ИмяПланаОбмена + " КАК ПланОбмена + |ГДЕ + | ПланОбмена.Ссылка <> &ЭтотУзел + | И ПланОбмена.Ссылка <> &Отправитель"; + + Запрос = Новый Запрос; + Запрос.Текст = ТекстЗапроса; + Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена[ИмяПланаОбмена].ЭтотУзел()); + Запрос.УстановитьПараметр("Отправитель", Отправитель); + + Возврат Не Запрос.Выполнить().Пустой(); + +КонецФункции + +// Возвращает список планов обмена, которые содержат хотя бы один узел обмена (не учитывая ЭтотУзел) +// +Функция ИспользуемыеПланыОбмена() Экспорт + + Возврат ОбменДаннымиСервер.ПолучитьИспользуемыеПланыОбмена(); КонецФункции @@ -558,6 +578,16 @@ // Функция ЭтоУзелУниверсальногоОбменаДанными(УзелИнформационнойБазы) Экспорт + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(УзелИнформационнойБазы) Тогда + Возврат Истина; + КонецЕсли; + КонецЕсли; + Возврат Не ЭтоУзелРаспределеннойИнформационнойБазы(УзелИнформационнойБазы) И ЕстьМакетПланаОбмена(ПолучитьИмяПланаОбмена(УзелИнформационнойБазы), "ПравилаОбмена"); // @@ -957,12 +987,16 @@ ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Результат, Перечисления.ВидыТранспортаСообщенийОбмена.WS); КонецЕсли; - + // Для обмена в РИБ обмен через COM-соединение не поддерживаем Если ЭтоУзелРаспределеннойИнформационнойБазы(УзелИнформационнойБазы) Тогда ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Результат, Перечисления.ВидыТранспортаСообщенийОбмена.COM); + Если Не ЭтоУзелАвтономногоРабочегоМеста(УзелИнформационнойБазы) Тогда + ОбщегоНазначенияКлиентСервер.УдалитьЗначениеИзМассива(Результат, Перечисления.ВидыТранспортаСообщенийОбмена.WS); + КонецЕсли; + КонецЕсли; // Для Стандартного обмена (без использования правил конвертации) обмен через COM-соединение не поддерживаем diff --git a/SSL/src/CommonModules/ОбменДаннымиСервер/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиСервер/Module.bsl index 2e755d4c7..bab96e534 100644 --- a/SSL/src/CommonModules/ОбменДаннымиСервер/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиСервер/Module.bsl @@ -555,6 +555,11 @@ КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "ОбменДаннымиСервер"); + КонецЕсли; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -1060,6 +1065,61 @@ Возврат ПланыОбмена.ВыбратьИзменения(Узел, НомерСообщения, ФильтрВыборки); КонецФункции +// Определяет настройки по умолчанию для плана обмена, которые затем могут быть переопределены +// в модуле менеджера плана обмена в функции ОпределитьНастройки() +// +// Возвращаемое значение: +// Структура - содержит поля: +// * ПредупреждатьОНесоответствииВерсийПравилОбмена - Булево - Признак необходимости проверки на расхождение версий в правилах +// конвертации. Проверка выполняется при загрузке комплекта правил, +// при отправке данных и при получении данных. +// * ПутьКФайлуКомплектаПравилНаПользовательскомСайте - Строка - Содержит путь к файлу комплекта правил в виде архива +// на пользовательском сайте в разделе конфигурации +// * ПутьКФайлуКомплектаПравилВКаталогеШаблонов - Строка - Содержит относительный путь к файлу комплекта правил в каталоге +// шаблонов 1С:Предприятия. +// +Функция НастройкиПланаОбменаПоУмолчанию() Экспорт + + Параметры = Новый Структура; + Параметры.Вставить("ПредупреждатьОНесоответствииВерсийПравилОбмена", Истина); + Параметры.Вставить("ПутьКФайлуКомплектаПравилНаПользовательскомСайте", ""); + Параметры.Вставить("ПутьКФайлуКомплектаПравилВКаталогеШаблонов", ""); + + Возврат Параметры; + +КонецФункции + +// Получает значение настройки плана обмена по ее имени +// +// Параметры: +// ИмяПланаОбмена - Строка - Имя плана обмена из метаданных +// ИмяПараметра - Строка - Имя параметра плана обмена или список параметров, разделенных запятыми. +// Список допустимых значений см. в функции ПараметрыПланаОбменаПоУмолчанию. +// +// Возвращаемое значение: +// - Произвольный - Тип возвращаемого значения зависит от типа значения получаемой настройки +// - Структура - Если в качестве параметра ИмяПараметра была передан список параметров через запятую. +// +Функция ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, ИмяПараметра) Экспорт + + ПараметрыПоУмолчанию = НастройкиПланаОбменаПоУмолчанию(); + ПланыОбмена[ИмяПланаОбмена].ОпределитьНастройки(ПараметрыПоУмолчанию); + + Если Найти(ИмяПараметра, ",") = 0 Тогда + + ЗначениеПараметра = ПараметрыПоУмолчанию[ИмяПараметра]; + + Иначе + + ЗначениеПараметра = Новый Структура(ИмяПараметра); + ЗаполнитьЗначенияСвойств(ЗначениеПараметра, ПараметрыПоУмолчанию); + + КонецЕсли; + + Возврат ЗначениеПараметра; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Работа с объектом FTP-соединение @@ -1252,16 +1312,20 @@ Параметры.Вставить("ИмяПланаОбменаРИБ", ?(ЭтоПодчиненныйУзелРИБ(), ГлавныйУзел().Метаданные().Имя, "")); Параметры.Вставить("ГлавныйУзел", ГлавныйУзел()); - Параметры.Вставить("ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла", - Не ОбменДаннымиПовтИсп.ЭтоАвтономноеРабочееМесто() - И ЭтоПодчиненныйУзелРИБ() - И Не Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить()); + Если Не ОбменДаннымиПовтИсп.ЭтоАвтономноеРабочееМесто() + И ЭтоПодчиненныйУзелРИБ() + И Не Константы.НастройкаПодчиненногоУзлаРИБЗавершена.Получить() Тогда + + Параметры.Вставить("ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла"); + КонецЕсли; УстановитьПривилегированныйРежим(Ложь); - Параметры.Вставить("ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзла", - Не Параметры.ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла - И Пользователи.РолиДоступны("ВыполнениеСинхронизацииДанных")); + Если Не Параметры.Свойство("ОткрытьПомощникСозданияОбменаДаннымиДляНастройкиПодчиненногоУзла") + И Пользователи.РолиДоступны("ВыполнениеСинхронизацииДанных") Тогда + + Параметры.Вставить("ПроверитьНеобходимостьОбновленияКонфигурацииПодчиненногоУзла"); + КонецЕсли; КонецПроцедуры @@ -1438,6 +1502,80 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не ПравоДоступа("Редактирование", Метаданные.РегистрыСведений.ПравилаДляОбменаДанными) Тогда + Возврат; + КонецЕсли; + + // Если нет раздела администрирование, дело не добавляется. + Подсистема = Метаданные.Подсистемы.Найти("Администрирование"); + Если Подсистема <> Неопределено + И Не ПравоДоступа("Просмотр", Подсистема) + И Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Подсистема) Тогда + Возврат; + КонецЕсли; + + ВывестиДело = Истина; + ПровереноНаВерсию = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "ПланыОбмена"); + Если ПровереноНаВерсию <> Неопределено Тогда + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + Если ПровереноНаВерсию = ТекущаяВерсия Тогда + ВывестиДело = Ложь; // Дополнительные отчеты и обработки проверены на текущей версии. + КонецЕсли; + КонецЕсли; + + ПланыОбменаСПравиламиИзФайла = ПланыОбменаСПравиламиИзФайла(); + + // Добавление дела. + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "ПравилаОбмена"; + Дело.ЕстьДела = ВывестиДело И ПланыОбменаСПравиламиИзФайла > 0; + Дело.Представление = НСтр("ru = 'Правила обмена'"); + Дело.Количество = ПланыОбменаСПравиламиИзФайла; + Дело.Форма = "РегистрСведений.ПравилаДляОбменаДанными.Форма.ПроверкаПлановОбмена"; + Дело.Владелец = "ПроверитьСовместимостьСТекущейВерсией"; + + // Проверка наличия группы дела. Если группа отсутствует - добавляем. + ГруппаДела = ТекущиеДела.Найти("ПроверитьСовместимостьСТекущейВерсией", "Идентификатор"); + Если ГруппаДела = Неопределено Тогда + ГруппаДела = ТекущиеДела.Добавить(); + ГруппаДела.Идентификатор = "ПроверитьСовместимостьСТекущейВерсией"; + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + ГруппаДела.Представление = НСтр("ru = 'Проверить совместимость'"); + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = Дело.Количество; + КонецЕсли; + ГруппаДела.Владелец = Подсистема; + Иначе + Если Не ГруппаДела.ЕстьДела Тогда + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + КонецЕсли; + + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = ГруппаДела.Количество + Дело.Количество; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов из других подсистем @@ -1448,11 +1586,11 @@ Обработчики.Вставить("РежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); Обработчики.Вставить("ДатаОбновленияПовторноИспользуемыхЗначенийМРО", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); - Обработчики.Вставить("ИспользуемыеПланыОбмена", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); Обработчики.Вставить("ПравилаВыборочнойРегистрацииОбъектов", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); Обработчики.Вставить("ПравилаРегистрацииОбъектов", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); Обработчики.Вставить("ПаролиСинхронизацииДанных", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); Обработчики.Вставить("ПриоритетныеДанныеОбмена", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); + Обработчики.Вставить("ОшибкаРасхожденияВерсийПриПолученииДанных", "ОбменДаннымиВызовСервера.УстановкаПараметровСеанса"); КонецПроцедуры @@ -1574,6 +1712,16 @@ КонецПроцедуры +Процедура ПриПродолженииНастройкиПодчиненногоУзлаРИБ() Экспорт + УстановитьПривилегированныйРежим(Истина); + ПользователиСлужебный.ОчиститьИдентификаторыНесуществующихПользователейИБ(); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда + МодульРаботаСПочтовымиСообщениямиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениямиСлужебный"); + МодульРаботаСПочтовымиСообщениямиСлужебный.ОтключитьИспользованиеУчетныхЗаписей(); + КонецЕсли; +КонецПроцедуры + + //////////////////////////////////////////////////////////////////////////////// // Выполнение обмена данными @@ -2256,7 +2404,8 @@ Знач УзелИнформационнойБазы, Знач ИдентификаторФайла, Знач ДатаНачалаОперации, - Знач ПараметрыАутентификации = Неопределено + Знач ПараметрыАутентификации = Неопределено, + ВыдаватьОшибку = Ложь ) Экспорт ПроверитьВозможностьВыполненияОбменов(); @@ -2269,10 +2418,14 @@ ФайлСообщенияОбмена = ПолучитьФайлИзХранилищаВСервисе(Новый УникальныйИдентификатор(ИдентификаторФайла), УзелИнформационнойБазы,, ПараметрыАутентификации); Исключение ЗафиксироватьЗавершениеОбменаСОшибкой(УзелИнформационнойБазы, - Перечисления.ДействияПриОбмене.ЗагрузкаДанных, - ДатаНачалаОперации, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - Отказ = Истина; + Перечисления.ДействияПриОбмене.ЗагрузкаДанных, + ДатаНачалаОперации, + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Если ВыдаватьОшибку Тогда + ВызватьИсключение; + Иначе + Отказ = Истина; + КонецЕсли; Возврат; КонецПопытки; @@ -2284,10 +2437,14 @@ Перечисления.ДействияПриОбмене.ЗагрузкаДанных,,,, ДатаНачалаОперации); Исключение ЗафиксироватьЗавершениеОбменаСОшибкой(УзелИнформационнойБазы, - Перечисления.ДействияПриОбмене.ЗагрузкаДанных, - ДатаНачалаОперации, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - Отказ = Истина; + Перечисления.ДействияПриОбмене.ЗагрузкаДанных, + ДатаНачалаОперации, + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Если ВыдаватьОшибку Тогда + ВызватьИсключение; + Иначе + Отказ = Истина; + КонецЕсли; КонецПопытки; Попытка @@ -2529,8 +2686,7 @@ Если СтруктураНастроекОбмена.ПроизводитьЗагрузкуДанных Тогда - Если СтруктураНастроекОбмена.ЭтоОбменВРИБ - И ПолноеИмяФайлаСообщенияОбмена = "" + Если ПолноеИмяФайлаСообщенияОбмена = "" И СообщениеОбмена <> "" Тогда ПолноеИмяФайлаСообщенияОбмена = ПолучитьИмяВременногоФайла(".xml"); @@ -2789,7 +2945,7 @@ Если СтандартнаяОбработка Тогда Попытка - Если Не ПустаяСтрока(ФайлСообщенияОбмена) Тогда + Если Не ПустаяСтрока(ФайлСообщенияОбмена) И ТипЗнч(ПолучитьСообщениеОбменаДаннымиИзГлавногоУзла()) <> Тип("Структура") Тогда УдалитьФайлы(ФайлСообщенияОбмена); КонецЕсли; Исключение @@ -3063,6 +3219,26 @@ УстановитьОбщиеПараметрыДляОбработкиОбменаДанными(ОбработкаОбменаДаннымиВнешнееСоединение, СтруктураНастроекОбменаВнешнееСоединение, ОбменСБСП20); + ВерсияКонфигурацииПриемника = ""; + ВерсияИсточникаИзПравил = ""; + ТекстСообщения = ""; + ПараметрыВнешнегоСоединения = Новый Структура; + ПараметрыВнешнегоСоединения.Вставить("ВнешнееСоединение", ВнешнееСоединение); + ПараметрыВнешнегоСоединения.Вставить("ВерсияБСППоВнешнемуСоединению", ВерсияБСППоВнешнемуСоединению); + ПараметрыВнешнегоСоединения.Вставить("КлючСообщенияЖурналаРегистрации", СтруктураНастроекОбменаВнешнееСоединение.КлючСообщенияЖурналаРегистрации); + ПараметрыВнешнегоСоединения.Вставить("УзелИнформационнойБазы", СтруктураНастроекОбменаВнешнееСоединение.УзелИнформационнойБазы); + + ПравилаКонвертацииОбъектов.Получить().Конвертация.Свойство("ВерсияКонфигурацииИсточника", ВерсияКонфигурацииПриемника); + ОбработкаДляЗагрузкиДанных.СохраненныеНастройки.Получить().Конвертация.Свойство("ВерсияКонфигурацииИсточника", ВерсияИсточникаИзПравил); + + Если РазличаютсяВерсииКорреспондента(СтруктураНастроекОбмена.ИмяПланаОбмена, СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации, + ВерсияИсточникаИзПравил, ВерсияКонфигурацииПриемника, ТекстСообщения, ПараметрыВнешнегоСоединения) Тогда + + ОбработкаОбменаДаннымиВнешнееСоединение = Неопределено; + Возврат; + + КонецЕсли; + // ВЫГРУЗКА (КОРРЕСПОНДЕНТ) - ЗАГРУЗКА (ЭТА БАЗА) ОбработкаОбменаДаннымиВнешнееСоединение.ВыполнитьВыгрузкуДанных(ОбработкаДляЗагрузкиДанных); @@ -3216,7 +3392,7 @@ Если ЭтоПодчиненныйУзелРИБ() И ТипЗнч(ГлавныйУзел()) = ТипЗнч(Получатель) Тогда - СохраненноеСообщениеОбмена = Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Получить().Получить(); + СохраненноеСообщениеОбмена = ПолучитьСообщениеОбменаДаннымиИзГлавногоУзла(); Если ТипЗнч(СохраненноеСообщениеОбмена) = Тип("ДвоичныеДанные") Тогда @@ -3231,6 +3407,19 @@ УстановитьПривилегированныйРежим(Истина); УстановитьРежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском("СообщениеПолученоИзКэша", Истина); УстановитьПривилегированныйРежим(Ложь); + + ИначеЕсли ТипЗнч(СохраненноеСообщениеОбмена) = Тип("Структура") Тогда + + СтандартнаяОбработка = Ложь; + + СообщениеОбмена = СохраненноеСообщениеОбмена.ПутьКФайлу; + + ЗаписатьСобытиеПолученияДанных(Получатель, НСтр("ru = 'Сообщение обмена получено из кэша.'")); + + УстановитьПривилегированныйРежим(Истина); + УстановитьРежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском("СообщениеПолученоИзКэша", Истина); + УстановитьПривилегированныйРежим(Ложь); + Иначе УстановитьПривилегированныйРежим(Истина); УстановитьРежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском("СообщениеПолученоИзКэша", Ложь); @@ -3250,7 +3439,7 @@ Если НЕ СообщениеПрочитано И ОбменДаннымиВызовСервера.РежимЗагрузкиСообщенияОбменаДаннымиПередЗапуском("СообщениеПолученоИзКэша") Тогда // Не удалось прочитать сообщение, полученное из кэша - требуется очистка кэша. - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); Возврат; КонецЕсли; @@ -3275,7 +3464,7 @@ Если УдалитьСообщение Тогда - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); Если Константы.ЗагрузитьСообщениеОбменаДанными.Получить() = Истина Тогда Константы.ЗагрузитьСообщениеОбменаДанными.Установить(Ложь); @@ -3291,27 +3480,34 @@ КонецЕсли; Если ОбновитьСообщениеВКэше Тогда - СтароеСообщение = Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Получить().Получить(); - НовоеСообщение = Новый ДвоичныеДанные(СообщениеОбмена); + СтароеСообщение = ПолучитьСообщениеОбменаДаннымиИзГлавногоУзла(); + ОбновитьКэш = Ложь; + НовоеСообщение = Новый ДвоичныеДанные(СообщениеОбмена); - Если ТипЗнч(СтароеСообщение) <> Тип("ДвоичныеДанные") Тогда - ОбновитьКэш = Истина; - Иначе + ТипСтруктура = ТипЗнч(СтароеСообщение) = Тип("Структура"); + + Если ТипСтруктура Или ТипЗнч(СтароеСообщение) = Тип("ДвоичныеДанные") Тогда + + Если ТипСтруктура Тогда + СтароеСообщение = Новый ДвоичныеДанные(СтароеСообщение.ПутьКФайлу); + КонецЕсли; + Если СтароеСообщение.Размер() <> НовоеСообщение.Размер() Тогда ОбновитьКэш = Истина; ИначеЕсли НовоеСообщение <> СтароеСообщение Тогда ОбновитьКэш = Истина; КонецЕсли; + + Иначе + + ОбновитьКэш = Истина; + КонецЕсли; Если ОбновитьКэш Тогда - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить( - Новый ХранилищеЗначения(НовоеСообщение, Новый СжатиеДанных(9))); - - ЗаписатьСобытиеПолученияДанных( - Получатель, НСтр("ru = 'Сообщение обмена записано в кэш.'")); + УстановитьСообщениеОбменаДаннымиИзГлавногоУзла(НовоеСообщение, Получатель); КонецЕсли; КонецЕсли; @@ -3393,6 +3589,11 @@ Если СтруктураНастроекОбмена.ОбменПоПравиламКонвертацииОбъектов Тогда // Универсальный обмен (обмен по правилам конвертации) + ФормироватьСообщениеОбмена = ПустаяСтрока(ИмяФайлаСообщенияОбмена); + Если ФормироватьСообщениеОбмена Тогда + ИмяФайлаСообщенияОбмена = ПолучитьИмяВременногоФайла(".xml"); + КонецЕсли; + // получаем инициализированную обработку обмена данными ОбработкаОбменаДаннымиXML = СтруктураНастроекОбмена.ОбработкаОбменаДанными; ОбработкаОбменаДаннымиXML.ИмяФайлаОбмена = ИмяФайлаСообщенияОбмена; @@ -3400,6 +3601,12 @@ // выгрузка данных ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных(); + Если ФормироватьСообщениеОбмена Тогда + ТекстовыйФайл = Новый ТекстовыйДокумент; + ТекстовыйФайл.Прочитать(ИмяФайлаСообщенияОбмена, КодировкаТекста.UTF8); + СообщениеОбмена = ТекстовыйФайл.ПолучитьТекст(); + КонецЕсли; + СтруктураНастроекОбмена.РезультатВыполненияОбмена = ОбработкаОбменаДаннымиXML.РезультатВыполненияОбмена(); // фиксируем состояние выполнения обмена данными @@ -5072,37 +5279,20 @@ Результат = Новый Массив; - Настройки = ЗначенияПоУмолчаниюНаУзлеБазыКорреспондента(ИмяПланаОбмена, ВерсияКорреспондента); + ЗначенияПоУмолчанию = ЗначенияПоУмолчаниюНаУзлеБазыКорреспондента(ИмяПланаОбмена, ВерсияКорреспондента); - Для Каждого Реквизит Из Метаданные.ПланыОбмена[ИмяПланаОбмена].Реквизиты Цикл + Для Каждого Элемент Из ЗначенияПоУмолчанию Цикл - Если Настройки.Свойство(Реквизит.Имя) Тогда - - Если Реквизит.Тип.Типы().Количество() <> 1 Тогда - - СтрокаСообщения = НСтр("ru = 'Составной тип данных для значений по умолчанию не поддерживается. - |Реквизит ""%1"".'"); - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Реквизит.ПолноеИмя()); - ВызватьИсключение СтрокаСообщения; - КонецЕсли; - - ОбъектМетаданных = Метаданные.НайтиПоТипу(Реквизит.Тип.Типы().Получить(0)); - - Если Не ОбщегоНазначения.ЭтоСправочник(ОбъектМетаданных) Тогда - - СтрокаСообщения = НСтр("ru = 'Выбор значений по умолчанию поддерживается только для справочников. - |Реквизит ""%1"".'"); - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Реквизит.ПолноеИмя()); - ВызватьИсключение СтрокаСообщения; - КонецЕсли; - - Результат.Добавить(ОбъектМетаданных.ПолноеИмя()); - + Если Найти(Элемент.Ключ, "_Ключ") > 0 Тогда + Продолжить; КонецЕсли; + Результат.Добавить(Элемент.Ключ); + КонецЦикла; Возврат Новый ФиксированныйМассив(Результат); + КонецФункции // Процедура удаляет неактуальные записи в регистре сведений. @@ -5298,6 +5488,26 @@ КонецПроцедуры +// Только для внутреннего использования +// +Функция ПланыОбменаСПравиламиИзФайла() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ИмяПланаОбмена + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИсточникПравил = &ИсточникПравил"; + + Запрос.УстановитьПараметр("ИсточникПравил", Перечисления.ИсточникиПравилДляОбменаДанными.Файл); + Результат = Запрос.Выполнить().Выгрузить(); + + Возврат Результат.Количество(); + +КонецФункции + // // Для внутреннего использования @@ -6985,14 +7195,43 @@ Функция ДанныеТаблицКорреспондента(Таблицы, Знач ИмяПланаОбмена) Экспорт Результат = Новый Соответствие; + РеквизитыПланаОбмена = Метаданные.ПланыОбмена[ИмяПланаОбмена].Реквизиты; - Для Каждого Таблица Из Таблицы Цикл + Для Каждого Элемент Из Таблицы Цикл - ДанныеТаблицы = Новый Структура("СвойстваОбъектаМетаданных, ТаблицаБазыКорреспондента"); - ДанныеТаблицы.СвойстваОбъектаМетаданных = СвойстваОбъектаМетаданных(Таблица); - ДанныеТаблицы.ТаблицаБазыКорреспондента = ПолучитьОбъектыТаблицы(Таблица); + Реквизит = РеквизитыПланаОбмена.Найти(Элемент); - Результат.Вставить(Таблица, ДанныеТаблицы); + Если Реквизит <> Неопределено Тогда + + ТипыРеквизита = Реквизит.Тип.Типы(); + + Если ТипыРеквизита.Количество() <> 1 Тогда + + СтрокаСообщения = НСтр("ru = 'Составной тип данных для значений по умолчанию не поддерживается. + |Реквизит ""%1"".'"); + СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Реквизит.ПолноеИмя()); + ВызватьИсключение СтрокаСообщения; + КонецЕсли; + + ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипыРеквизита.Получить(0)); + + Если Не ОбщегоНазначения.ЭтоСправочник(ОбъектМетаданных) Тогда + + СтрокаСообщения = НСтр("ru = 'Выбор значений по умолчанию поддерживается только для справочников. + |Реквизит ""%1"".'"); + СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Реквизит.ПолноеИмя()); + ВызватьИсключение СтрокаСообщения; + КонецЕсли; + + ПолноеИмяОбъектаМетаданных = ОбъектМетаданных.ПолноеИмя(); + + ДанныеТаблицы = Новый Структура("СвойстваОбъектаМетаданных, ТаблицаБазыКорреспондента"); + ДанныеТаблицы.СвойстваОбъектаМетаданных = СвойстваОбъектаМетаданных(ПолноеИмяОбъектаМетаданных); + ДанныеТаблицы.ТаблицаБазыКорреспондента = ПолучитьОбъектыТаблицы(ПолноеИмяОбъектаМетаданных); + + Результат.Вставить(ПолноеИмяОбъектаМетаданных, ДанныеТаблицы); + + КонецЕсли; КонецЦикла; @@ -7005,6 +7244,7 @@ Результат.Вставить("{ДополнительныеДанные}", ДополнительныеДанные); Возврат Результат; + КонецФункции // Для внутреннего использования @@ -7032,6 +7272,7 @@ ПрефиксИнформационнойБазы = Неопределено; ПрефиксИнформационнойБазы = ОбменДаннымиПереопределяемый.ПрефиксИнформационнойБазыПоУмолчанию(); + ОбменДаннымиПереопределяемый.ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию(ПрефиксИнформационнойБазы); Результат.ПрефиксИнформационнойБазы = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы"); Результат.ПрефиксИнформационнойБазыПоУмолчанию = ПрефиксИнформационнойБазы; @@ -7110,6 +7351,8 @@ СтрокаДерева = ДеревоИнформацииСтатистики.Строки.Найти(СтрокаТаблицы.ИмяТаблицыПриемника, "ПолноеИмя", Истина); ЗаполнитьЗначенияСвойств(СтрокаДерева, СтрокаТаблицы); + СтрокаДерева.Синоним = СинонимДанныхСтрокиДереваСтатистики(СтрокаДерева, СтрокаТаблицы.ТипИсточникаСтрокой); + ОбработанныеСтроки[СтрокаТаблицы] = Истина; КонецЦикла; @@ -7163,6 +7406,26 @@ Возврат ДеревоИнформацииСтатистики; КонецФункции +// Для внутреннего использования +// +Функция СинонимДанныхСтрокиДереваСтатистики(СтрокаДерева, ТипИсточникаСтрокой) + + Синоним = СтрокаДерева.Синоним; + + Фильтр = Новый Структура("ПолноеИмя, Синоним", СтрокаДерева.ПолноеИмя, Синоним); + Существующие = СтрокаДерева.Владелец().Строки.НайтиСтроки(Фильтр, Истина); + Количество = Существующие.Количество(); + Если Количество = 0 Или (Количество = 1 И Существующие[0] = СтрокаДерева) Тогда + // Не было еще такого описания в этом дереве + Возврат Синоним; + КонецЕсли; + + Синоним = "[СинонимТаблицыПриемника] ([ИмяТаблицыИсточника])"; + Синоним = СтрЗаменить(Синоним, "[СинонимТаблицыПриемника]", СтрокаДерева.Синоним); + + Возврат СтрЗаменить(Синоним, "[ИмяТаблицыИсточника]", УдалитьИмяКлассаИзИмениОбъекта(ТипИсточникаСтрокой)); +КонецФункции + // Для внутреннего использования // Процедура ЗаполнитьДеревоИнформацииСтатистикиОдинКоМногим(ДеревоИнформацииСтатистики, ИнформацияСтатистики, Отбор, УжеОбработанныеСтроки) @@ -7206,11 +7469,7 @@ Если Строка.ЭтоУдалениеОбъекта Тогда НоваяСтрокаДерева.Картинка = БиблиотекаКартинок.ПометитьНаУдаление; Иначе - Синоним = "[СинонимТаблицыПриемника] ([ИмяТаблицыИсточника])"; - Синоним = СтрЗаменить(Синоним, "[СинонимТаблицыПриемника]", НоваяСтрокаДерева.Синоним); - Синоним = СтрЗаменить(Синоним, "[ИмяТаблицыИсточника]", УдалитьИмяКлассаИзИмениОбъекта(Строка.ТипИсточникаСтрокой)); - - НоваяСтрокаДерева.Синоним = Синоним; + НоваяСтрокаДерева.Синоним = СинонимДанныхСтрокиДереваСтатистики(НоваяСтрокаДерева, Строка.ТипИсточникаСтрокой) ; КонецЕсли; КонецЦикла; КонецЦикла; @@ -7370,7 +7629,7 @@ КонецПопытки; Если НетПолныхПрав Тогда - Результат.ПодробноеОписаниеОшибки = НСтр("ru = 'У пользователя другой программы отсутствует роль ""Полные права"".'"); + Результат.ПодробноеОписаниеОшибки = НСтр("ru = 'Пользователю, указанному для подключения к другой программе, должны быть назначены роли ""Администратор системы"" и ""Полные права""'"); Результат.КраткоеОписаниеОшибки = Результат.ПодробноеОписаниеОшибки; Результат.Соединение = Неопределено; Иначе @@ -8119,7 +8378,7 @@ // Процедура ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском() - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); Константы.ПовторитьЗагрузкуСообщенияОбменаДаннымиПередЗапуском.Установить(Истина); @@ -8178,7 +8437,7 @@ ОтменитьТранзакцию(); УстановитьПривилегированныйРежим(Истина); Константы.ЗагрузитьСообщениеОбменаДанными.Установить(Ложь); - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); УстановитьПривилегированныйРежим(Ложь); ЗаписатьСобытиеПолученияДанных(ГлавныйУзел(), НСтр("ru = 'Обнаружен возврат к конфигурации базы данных. @@ -8594,7 +8853,20 @@ Функция ОбработкаДляЗагрузкиДанных(Отказ, Знач УзелИнформационнойБазы, Знач ИмяФайлаСообщенияОбмена) Экспорт // ИНИЦИАЛИЗАЦИЯ ОБРАБОТКИ ДЛЯ ЗАГРУЗКИ ДАННЫХ - ОбработкаОбменаДанными = Обработки.КонвертацияОбъектовИнформационныхБаз.Создать(); + МенеджерОбработки = Обработки.КонвертацияОбъектовИнформационныхБаз; + + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(УзелИнформационнойБазы) Тогда + МенеджерОбработки = МодульОбменДаннымиXDTOСервер.ОбработкаКонвертацииДанныхДляУниверсальногоОбмена(); + КонецЕсли; + + КонецЕсли; + + ОбработкаОбменаДанными = МенеджерОбработки.Создать(); ОбработкаОбменаДанными.РежимОбмена = "Загрузка"; @@ -8615,7 +8887,9 @@ ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы); - УстановитьНастройкиОтладкиЗагрузкиДляПравилОбмена(ОбработкаОбменаДанными, ИмяПланаОбмена); + Если ОбработкаОбменаДанными.Метаданные().Реквизиты.Найти("ОтладкаОбработчиковЗагрузки") <> Неопределено Тогда + УстановитьНастройкиОтладкиЗагрузкиДляПравилОбмена(ОбработкаОбменаДанными, ИмяПланаОбмена); + КонецЕсли; Возврат ОбработкаОбменаДанными; КонецФункции @@ -9745,18 +10019,36 @@ // Функция ПолучитьОбработкуОбменаДаннымиДляВыгрузки(СтруктураНастроекОбмена) - ОбработкаОбменаДанными = Обработки.КонвертацияОбъектовИнформационныхБаз.Создать(); + МенеджерОбработки = Обработки.КонвертацияОбъектовИнформационныхБаз; + + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(СтруктураНастроекОбмена.УзелИнформационнойБазы) Тогда + МенеджерОбработки = МодульОбменДаннымиXDTOСервер.ОбработкаКонвертацииДанныхДляУниверсальногоОбмена(); + КонецЕсли; + + КонецЕсли; + + ОбработкаОбменаДанными = МенеджерОбработки.Создать(); ОбработкаОбменаДанными.РежимОбмена = "Выгрузка"; - УстановитьПравилаОбменаВыгрузкиДанных(ОбработкаОбменаДанными, СтруктураНастроекОбмена); + // Если обработка поддерживает механизм правил конвертации + Если ОбработкаОбменаДанными.Метаданные().Реквизиты.Найти("ИмяФайлаПравилОбмена") <> Неопределено Тогда + УстановитьПравилаОбменаВыгрузкиДанных(ОбработкаОбменаДанными, СтруктураНастроекОбмена); + ОбработкаОбменаДанными.НеВыгружатьОбъектыПоСсылкам = Истина; + ОбработкаОбменаДанными.ИмяФайлаПравилОбмена = "1"; + КонецЕсли; - // задаем узлы обмена - ОбработкаОбменаДанными.УзелДляОбмена = СтруктураНастроекОбмена.УзелИнформационнойБазы; - ОбработкаОбменаДанными.УзелДляФоновогоОбмена = Неопределено; - - ОбработкаОбменаДанными.НеВыгружатьОбъектыПоСсылкам = Истина; - ОбработкаОбменаДанными.ИмяФайлаПравилОбмена = "1"; + // Если обработка поддерживает механизм фонового обмена + Если ОбработкаОбменаДанными.Метаданные().Реквизиты.Найти("УзелДляФоновогоОбмена") <> Неопределено Тогда + ОбработкаОбменаДанными.УзелДляФоновогоОбмена = Неопределено; + КонецЕсли; + + ОбработкаОбменаДанными.УзелДляОбмена = СтруктураНастроекОбмена.УзелИнформационнойБазы; УстановитьОбщиеПараметрыДляОбработкиОбменаДанными(ОбработкаОбменаДанными, СтруктураНастроекОбмена); @@ -9768,12 +10060,27 @@ // Функция ПолучитьОбработкуОбменаДаннымиДляЗагрузки(СтруктураНастроекОбмена) - ОбработкаОбменаДанными = Обработки.КонвертацияОбъектовИнформационныхБаз.Создать(); + МенеджерОбработки = Обработки.КонвертацияОбъектовИнформационныхБаз; + + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(СтруктураНастроекОбмена.УзелИнформационнойБазы) Тогда + МенеджерОбработки = МодульОбменДаннымиXDTOСервер.ОбработкаКонвертацииДанныхДляУниверсальногоОбмена(); + КонецЕсли; + + КонецЕсли; + + ОбработкаОбменаДанными = МенеджерОбработки.Создать(); ОбработкаОбменаДанными.РежимОбмена = "Загрузка"; ОбработкаОбменаДанными.УзелОбменаЗагрузкаДанных = СтруктураНастроекОбмена.УзелИнформационнойБазы; - УстановитьПравилаОбменаЗагрузкиДанных(ОбработкаОбменаДанными, СтруктураНастроекОбмена); + Если ОбработкаОбменаДанными.Метаданные().Реквизиты.Найти("ИмяФайлаПравилОбмена") <> Неопределено Тогда + УстановитьПравилаОбменаЗагрузкиДанных(ОбработкаОбменаДанными, СтруктураНастроекОбмена); + КонецЕсли; УстановитьОбщиеПараметрыДляОбработкиОбменаДанными(ОбработкаОбменаДанными, СтруктураНастроекОбмена); @@ -9934,7 +10241,8 @@ // Процедура УстановитьНастройкиРежимаОтладкиДляОбработки(ОбработкаОбменаДанными, СтруктураНастроекОбмена) - Если СтруктураНастроекОбмена.Свойство("ИмяФайлаВнешнейОбработкиОтладкиВыгрузки") Тогда + Если СтруктураНастроекОбмена.Свойство("ИмяФайлаВнешнейОбработкиОтладкиВыгрузки") + И ОбработкаОбменаДанными.Метаданные().Реквизиты.Найти("ИмяФайлаВнешнейОбработкиОтладкиВыгрузки") <> Неопределено Тогда ОбработкаОбменаДанными.ОтладкаОбработчиковВыгрузки = СтруктураНастроекОбмена.ОтладкаОбработчиковВыгрузки; ОбработкаОбменаДанными.ОтладкаОбработчиковЗагрузки = СтруктураНастроекОбмена.ОтладкаОбработчиковЗагрузки; @@ -10458,6 +10766,156 @@ Возврат Результат; КонецФункции +// Сравнить две строки версий. +// +// Параметры +// СтрокаВерсии1 - Строка - номер версии в формате РР.{П|ПП}.ЗЗ +// СтрокаВерсии2 - Строка - второй сравниваемый номер версии +// +// Возвращаемое значение: +// Число - больше 0, если СтрокаВерсии1 > СтрокаВерсии2; 0, если версии равны. +// +Функция СравнитьВерсииБезНомераСборки(Знач СтрокаВерсии1, Знач СтрокаВерсии2) Экспорт + + Строка1 = ?(ПустаяСтрока(СтрокаВерсии1), "0.0.0", СтрокаВерсии1); + Строка2 = ?(ПустаяСтрока(СтрокаВерсии2), "0.0.0", СтрокаВерсии2); + Версия1 = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка1, "."); + Если Версия1.Количество() <> 3 Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Неправильный формат параметра СтрокаВерсии1: %1'"), СтрокаВерсии1); + КонецЕсли; + Версия2 = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Строка2, "."); + Если Версия2.Количество() <> 3 Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Неправильный формат параметра СтрокаВерсии2: %1'"), СтрокаВерсии2); + КонецЕсли; + + Результат = 0; + Для Разряд = 0 По 2 Цикл + Результат = Число(Версия1[Разряд]) - Число(Версия2[Разряд]); + Если Результат <> 0 Тогда + Возврат Результат; + КонецЕсли; + КонецЦикла; + Возврат Результат; + +КонецФункции + +// Проверка на различие версии корреспондента в правилах текущей и другой программы +// +Функция РазличаютсяВерсииКорреспондента(ИмяПланаОбмена, КлючСообщенияЖурналаРегистрации, ВерсияВЭтойПрограмме, + ВерсияВДругойПрограмме, ТекстСообщения, ПараметрыВнешнегоСоединения = Неопределено) Экспорт + + ВерсияВЭтойПрограмме = ?(ЗначениеЗаполнено(ВерсияВЭтойПрограмме), ВерсияВЭтойПрограмме, ВерсияКорреспондентаВПравилах(ИмяПланаОбмена)); + + Если ЗначениеЗаполнено(ВерсияВЭтойПрограмме) И ЗначениеЗаполнено(ВерсияВДругойПрограмме) + И ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ПредупреждатьОНесоответствииВерсийПравилОбмена") Тогда + + ВерсияВЭтойПрограммеБезНомераСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ВерсияВЭтойПрограмме); + ВерсияВДругойПрограммеБезНомераСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ВерсияВДругойПрограмме); + + Если ВерсияВЭтойПрограммеБезНомераСборки <> ВерсияВДругойПрограммеБезНомераСборки Тогда + + ЭтоВнешнееСоединение = (ТекстСообщения = "ВнешнееСоединение"); + + СинонимПланаОбмена = Метаданные.ПланыОбмена[ИмяПланаОбмена].Синоним; + + ШаблонСообщения = Нстр("ru = 'Синхронизация данных может быть выполнена некорректно, т.к. версия программы ""%1"" (%2) в правилах конвертации этой программы отличается от версии %3 в правилах конвертации в другой программе. Убедитесь, что загружены актуальные правила, подходящие для используемых версий обеих программ.'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, СинонимПланаОбмена, ВерсияВЭтойПрограммеБезНомераСборки, ВерсияВДругойПрограммеБезНомераСборки); + + ЗаписьЖурналаРегистрации(КлючСообщенияЖурналаРегистрации, УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщения); + + Если ПараметрыВнешнегоСоединения <> Неопределено + И ОбщегоНазначенияКлиентСервер.СравнитьВерсии("2.2.3.18", ПараметрыВнешнегоСоединения.ВерсияБСППоВнешнемуСоединению) <= 0 + И ПараметрыВнешнегоСоединения.ВнешнееСоединение.ОбменДаннымиВнешнееСоединение.ПредупреждатьОНесоответствииВерсийПравилОбмена(ИмяПланаОбмена) Тогда + + СинонимПланаОбменаДругойПрограммы = ПараметрыВнешнегоСоединения.УзелИнформационнойБазы.Метаданные().Синоним; + ТекстСообщенияВнешнееСоединение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонСообщения, + СинонимПланаОбменаДругойПрограммы, ВерсияВДругойПрограммеБезНомераСборки, ВерсияВЭтойПрограммеБезНомераСборки); + + ПараметрыВнешнегоСоединения.ВнешнееСоединение.ЗаписьЖурналаРегистрации(ПараметрыВнешнегоСоединения.КлючСообщенияЖурналаРегистрации, + ПараметрыВнешнегоСоединения.ВнешнееСоединение.УровеньЖурналаРегистрации.Предупреждение,,, ТекстСообщенияВнешнееСоединение); + + КонецЕсли; + + Если ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных.ПроверятьРасхождениеВерсий Тогда + + СтруктураПроверки = Новый Структура(ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных); + СтруктураПроверки.ЕстьОшибка = Истина; + СтруктураПроверки.ТекстОшибки = ТекстСообщения; + СтруктураПроверки.ПроверятьРасхождениеВерсий = Ложь; + ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных = Новый ФиксированнаяСтруктура(СтруктураПроверки); + Возврат Истина; + + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +// Для внутреннего использования +// +Функция ИнициализироватьПараметрыПроверкиРасхожденияВерсий(ПроверятьРасхождениеВерсий) Экспорт + + УстановитьПривилегированныйРежим(Истина); + + СтруктураПроверки = Новый Структура(ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных); + СтруктураПроверки.ПроверятьРасхождениеВерсий = ПроверятьРасхождениеВерсий; + СтруктураПроверки.ЕстьОшибка = Ложь; + ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных = Новый ФиксированнаяСтруктура(СтруктураПроверки); + + Возврат ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных; + +КонецФункции + +// Для внутреннего использования +// +Функция ОшибкаРасхожденияВерсийПриПолученииДанных() Экспорт + + УстановитьПривилегированныйРежим(Истина); + + Возврат ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных; + +КонецФункции + +Функция ВерсияКорреспондентаВПравилах(ИмяПланаОбмена) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ПравилаЗачитанныеКорреспондента, + | ПравилаДляОбменаДанными.ВидПравил + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена + | И ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов)"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Результат = Запрос.Выполнить(); + + Если Не Результат.Пустой() Тогда + + Выборка = Результат.Выбрать(); + Выборка.Следующий(); + + СтруктураПравил = Выборка.ПравилаЗачитанныеКорреспондента.Получить().Конвертация; + ВерсияКорреспондента = Неопределено; + СтруктураПравил.Свойство("ВерсияКонфигурацииИсточника", ВерсияКорреспондента); + + Возврат ВерсияКорреспондента; + + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Константы @@ -10640,39 +11098,60 @@ // Возвращает флаг доступности выгрузки для указанной ссылке на узле // // Параметры: -// УзелОбмена: ссылка на узел плана обмена, возможность выгрузки по которому проверяется -// Ссылка: ссылка на проверяемый объект. -// ДополнительныеСвойства: необязательная структура с дополнительными свойствами, передаваемыми через объект +// УзелОбмена - ПланОбменаСсылка - узел плана обмена, возможность выгрузки по которому проверяется +// Ссылка - Произвольный - проверяемый объект. +// ДополнительныеСвойства - Структура - дополнительные свойства, передаваемыми через объект // -Функция ВыгрузкаСсылкиРазрешена(УзелОбмена, Ссылка, ДополнительныеСвойства=Неопределено) Экспорт +// Возвращаемое значение: +// Булево - флаг разрешения +// +Функция ВыгрузкаСсылкиРазрешена(УзелОбмена, Ссылка, ДополнительныеСвойства = Неопределено) Экспорт Если Ссылка.Пустая() Тогда Возврат Ложь; КонецЕсли; - РежимВыгрузкиОбъекта = ОбменДаннымиПовтИсп.РежимВыгрузкиОбъекта(Ссылка.Метаданные().ПолноеИмя(), УзелОбмена); - Если РежимВыгрузкиОбъекта = Перечисления.РежимыВыгрузкиОбъектовОбмена.ВыгружатьПриНеобходимости Тогда - // Выгружаемые по ссылке можно всегда - Возврат Истина; - КонецЕсли; - - ОбъектСсылки = Ссылка.ПолучитьОбъект(); - Если ОбъектСсылки=Неопределено Тогда + ОбъектРегистрации = Ссылка.ПолучитьОбъект(); + Если ОбъектРегистрации = Неопределено Тогда // Объект удален, можно всегда Возврат Истина; КонецЕсли; Если ДополнительныеСвойства <> Неопределено Тогда - Для Каждого КлючЗначение Из ДополнительныеСвойства Цикл - ОбъектСсылки.ДополнительныеСвойства.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); - КонецЦикла; + СтруктураРеквизитов = Новый Структура("ДополнительныеСвойства"); + ЗаполнитьЗначенияСвойств(СтруктураРеквизитов, ОбъектРегистрации); + ДополнительныеСвойстваОбъекта = СтруктураРеквизитов.ДополнительныеСвойства; + + Если ТипЗнч(ДополнительныеСвойстваОбъекта) = Тип("Структура") Тогда + Для Каждого КлючЗначение Из ДополнительныеСвойства Цикл + ДополнительныеСвойстваОбъекта.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЦикла; + КонецЕсли; КонецЕсли; + // Проверка возможности выгрузки Отправка = ОтправкаЭлементаДанных.Авто; - ОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(ОбъектСсылки, Отправка, , УзелОбмена); + ОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(ОбъектРегистрации, Отправка, , УзелОбмена); Возврат Отправка = ОтправкаЭлементаДанных.Авто; КонецФункции +// Возвращает флаг доступности выгрузки вручную для указанной ссылке на узле +// +// Параметры: +// УзелОбмена - ПланОбменаСсылка - узел плана обмена, возможность выгрузки по которому проверяется +// Ссылка - Произвольный - проверяемый объект. +// +// Возвращаемое значение: +// Булево - флаг разрешения +// +Функция ВыгрузкаСсылкиИзИнтерактивногоДополненияРазрешена(УзелОбмена, Ссылка) Экспорт + + ДополнительныеСвойства = Новый Структура("ИнтерактивноеДополнениеВыгрузки", Истина); + + Возврат ВыгрузкаСсылкиРазрешена(УзелОбмена, Ссылка, ДополнительныеСвойства); + +КонецФункции + // Обертки фоновых процедур интерактивного изменения выгрузки // Процедура ИнтерактивноеИзменениеВыгрузки_СформироватьТабличныйДокументПользователя(СтруктураОбработки, АдресРезультата, ПолноеИмяМетаданных, Представление, УпрощенныйРежим) Экспорт @@ -10807,6 +11286,63 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции для работы с константой СообщениеОбменаДаннымиИзГлавногоУзла +// + +// Зачитывает из информационной базы информацию о сообщении обмена данными +// +// Возвращаемое значение - Структура - Информация о расположении файла сообщения обмена (текущий формат) +// - ДвоичныеДанные - Сообщение обмена в информационной базе (устаревший формат) +// +Функция ПолучитьСообщениеОбменаДаннымиИзГлавногоУзла() + + Возврат Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Получить().Получить(); + +КонецФункции + +// Записывает на диск файл сообщения обмена, полученный из главного узла. +// Сохраняет путь к записанному сообщению в константу СообщениеОбменаДаннымиИзГлавногоУзла. +// +// Параметры: +// СообщениеОбмена - ДвоичныеДанные - Зачитанное сообщение обмена +// ГлавныйУзел - ПланОбменаСсылка - Узел из которого получено сообщение +// +Процедура УстановитьСообщениеОбменаДаннымиИзГлавногоУзла(СообщениеОбмена, ГлавныйУзел) Экспорт + + ПутьКФайлу = "[Каталог][Путь].xml"; + ПутьКФайлу = СтрЗаменить(ПутьКФайлу, "[Каталог]", КаталогВременногоХранилищаФайлов()); + ПутьКФайлу = СтрЗаменить(ПутьКФайлу, "[Путь]", Новый УникальныйИдентификатор); + + СообщениеОбмена.Записать(ПутьКФайлу); + + СтруктураСообщения = Новый Структура; + СтруктураСообщения.Вставить("ПутьКФайлу", ПутьКФайлу); + + Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(СтруктураСообщения)); + + ЗаписатьСобытиеПолученияДанных(ГлавныйУзел, НСтр("ru = 'Сообщение обмена записано в кэш.'")); + +КонецПроцедуры + +// Удаляет файл сообщения обмена с диска и очищает константу СообщениеОбменаДаннымиИзГлавногоУзла +// +Процедура ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла() Экспорт + + СообщениеОбмена = ПолучитьСообщениеОбменаДаннымиИзГлавногоУзла(); + + Если ТипЗнч(СообщениеОбмена) = Тип("Структура") Тогда + + УдалитьФайлы(СообщениеОбмена.ПутьКФайлу); + + КонецЕсли; + + Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + + ЗаписатьСобытиеПолученияДанных(ГлавныйУзел(), НСтр("ru = 'Сообщение обмена удалено из кэша.'")); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Профили безопасности // @@ -10935,7 +11471,7 @@ // Возвращаемое значение: // Структура - данные для дальнейшего оперирования дополнением выгрузки // -Функция ИнтерактивноеИзменениеВыгрузки(Знач УзелИнформационнойБазы, Знач АдресХранилищаФормы, Знач ЕстьСценарийУзла = Неопределено) Экспорт +Функция ИнтерактивноеИзменениеВыгрузки(Знач УзелИнформационнойБазы, Знач АдресХранилищаФормы, Знач ЕстьСценарийУзла=Неопределено) Экспорт Результат = Новый Структура; Результат.Вставить("УзелИнформационнойБазы", УзелИнформационнойБазы); @@ -10997,7 +11533,7 @@ МетаУзел = УзелИнформационнойБазы.Метаданные(); - Если ЕстьСценарийУзла = Неопределено Тогда + Если ЕстьСценарийУзла=Неопределено Тогда // Можно определить по метаданным узла ЕстьСценарийУзла = Ложь; КонецЕсли; @@ -11005,16 +11541,7 @@ Если ЕстьСценарийУзла Тогда МодульМенеджераУзла = ПланыОбмена[МетаУзел.Имя]; - МожноНастраивать = Ложь; - Попытка - МожноНастраивать = МодульМенеджераУзла.НастраиватьИнтерактивнуюВыгрузку(УзелИнформационнойБазы); - Исключение - // Обработка не требуется, считаем функционал недоступным - КонецПопытки; - - Если МожноНастраивать Тогда - МодульМенеджераУзла.НастроитьИнтерактивнуюВыгрузку(УзелИнформационнойБазы, Результат.ПараметрыСценарияДополнения); - КонецЕсли; + МодульМенеджераУзла.НастроитьИнтерактивнуюВыгрузку(УзелИнформационнойБазы, Результат.ПараметрыСценарияДополнения); КонецЕсли; @@ -11130,7 +11657,7 @@ ЗаполнитьТаблицуЗначений(ДополнениеВыгрузки.ДополнительнаяРегистрация, ОбработкаДополнения.ДополнительнаяРегистрация); - // Настройки по сценарию узла обновляем только если они определены в прочитанных данных. Иначе оставляем текущее + // Настройки по сценарию узла обновляем только если они определены в прочитанном. Иначе оставляем текущее Если ОбработкаДополнения.ДополнительнаяРегистрацияСценарияУзла.Количество() > 0 Тогда ЗаполнитьЗначенияСвойств(ДополнениеВыгрузки, ОбработкаДополнения, "ПериодОтбораСценарияУзла, ПредставлениеОтбораСценарияУзла"); ЗаполнитьТаблицуЗначений(ДополнениеВыгрузки.ДополнительнаяРегистрацияСценарияУзла, ОбработкаДополнения.ДополнительнаяРегистрацияСценарияУзла); @@ -11186,7 +11713,6 @@ ДополнениеВыгрузки.ПредставлениеТекущейНастройки = ПредставлениеНастройки; КонецПроцедуры - // Заполняет реквизит формы по данным структуры настроек // // Параметры: @@ -11370,7 +11896,7 @@ // Процедура ИнтерактивноеИзменениеВыгрузкиЗарегистрироватьДополнительныеДанные(Знач ДополнениеВыгрузки) Экспорт - Если ДополнениеВыгрузки.ВариантВыгрузки<=0 Тогда + Если ДополнениеВыгрузки.ВариантВыгрузки <= 0 Тогда Возврат; КонецЕсли; @@ -11482,7 +12008,7 @@ ЕстьПодсистемаКопирования = ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.РезервноеКопированиеОбластейДанных"); Если ЕстьПодсистемаКопирования Тогда - МодульРезервноеКопированиеОбластейДанных = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("РезервноеКопированиеОбластейДанных"); + МодульРезервноеКопированиеОбластейДанных = ОбщегоНазначения.ОбщийМодуль("РезервноеКопированиеОбластейДанных"); ПоддержкаРезервногоКопирования = МодульРезервноеКопированиеОбластейДанных.РезервноеКопированиеИспользуется(); ЕстьПраваНаСозданиеКопии = Пользователи.ЭтоПолноправныйПользователь(); diff --git a/SSL/src/CommonModules/ОбменДаннымиСобытия/Module.bsl b/SSL/src/CommonModules/ОбменДаннымиСобытия/Module.bsl index 00cfa15b9..9f715394d 100644 --- a/SSL/src/CommonModules/ОбменДаннымиСобытия/Module.bsl +++ b/SSL/src/CommonModules/ОбменДаннымиСобытия/Module.bsl @@ -11,6 +11,8 @@ // ИмяПланаОбмена - Строка - имя плана обмена, для которого выполняется механизм регистрации // Источник - ДокументОбъект - источник события // Отказ - Булево - флаг отказа от выполнения обработчика +// РежимЗаписи - см. в синтаксис-помощнике РежимЗаписиДокумента +// РежимПроведения - см. в синтаксис-помощнике РежимПроведенияДокумента // Процедура МеханизмРегистрацииОбъектовПередЗаписьюДокумента(ИмяПланаОбмена, Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт @@ -141,6 +143,10 @@ // Вычитает один массив элементов из другого массива. Возвращает результат вычитания. // +// Параметры: +// Массив - Массив - Исходный массив +// МассивВычитания - Массив - Массив, вычитаемый из исходного массива +// Функция СократитьМассив(Массив, МассивВычитания) Экспорт Возврат ОбщегоНазначенияКлиентСервер.СократитьМассив(Массив, МассивВычитания); @@ -210,6 +216,44 @@ КонецФункции +// Проверяет наличие запрета загрузки элемента данных. +// Для работы функции требуется настройка процедуры ДанныеДляПроверкиЗапретаИзменения +// модуля ДатыЗапретаИзмененияПереопределяемый. +// +// Параметры: +// Данные - СправочникОбъект.<Имя>, +// ДокументОбъект.<Имя>, +// ПланВидовХарактеристикОбъект.<Имя>, +// ПланСчетовОбъект.<Имя>, +// ПланВидовРасчетаОбъект.<Имя>, +// БизнесПроцессОбъект.<Имя>, +// ЗадачаОбъект.<Имя>, +// ПланОбменаОбъект.<Имя>, +// УдалениеОбъекта - объект данных. +// РегистрСведенийНаборЗаписей.<Имя>, +// РегистрНакопленияНаборЗаписей.<Имя>, +// РегистрБухгалтерииНаборЗаписей.<Имя>, +// РегистрРасчетаНаборЗаписей.<Имя> - набор записей. +// +// УзелПланаОбмена - ПланыОбменаСсылка.<Имя плана обмена> - узел, +// для которого будет выполнена проверка. +// +// Возвращаемое значение: +// Булево - если Истина, загрузка запрещена. +// +Функция ЗагрузкаЗапрещена(Данные, Знач УзелПланаОбмена) Экспорт + + Если Данные.ДополнительныеСвойства.Свойство("НайденЗапретЗагрузкиДанных") Тогда + Возврат Истина; + КонецЕсли; + + ПолучениеЭлемента = ПолучениеЭлементаДанных.Авто; + ПроверитьНаличиеЗапретаЗагрузкиПоДате(Данные, ПолучениеЭлемента, УзелПланаОбмена); + + Возврат ПолучениеЭлемента = ПолучениеЭлементаДанных.Игнорировать; + +КонецФункции + #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс @@ -372,7 +416,21 @@ // Для данных, выгружаемых по ссылке, дополнительно заносим сведения в фильтр разрешенных к выгрузке объектов. // Это нужно для того, чтобы данные прошли фильтр при выгрузке и были выгружены в сообщение обмена. - РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьОбъектВФильтрРазрешенныхОбъектов(Данные.Ссылка, Получатель); + СтандартнаяОбработка = Истина; + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(Получатель) Тогда + МодульОбменДаннымиXDTOСервер.ДобавитьОбъектВФильтрРазрешенныхОбъектов(Данные.Ссылка, Получатель); + СтандартнаяОбработка = Ложь; + КонецЕсли; + КонецЕсли; + + Если СтандартнаяОбработка Тогда + РегистрыСведений.СоответствияОбъектовИнформационныхБаз.ДобавитьОбъектВФильтрРазрешенныхОбъектов(Данные.Ссылка, Получатель); + КонецЕсли; ЗафиксироватьТранзакцию(); Исключение @@ -779,7 +837,7 @@ // на всех узлах разделенных планов обмена. // Использование механизма правил регистрации в этом режиме не поддерживается. ЗарегистрироватьИзмененияНаВсехУзлахРазделенныхПлановОбмена(ИмяПланаОбмена, Объект); - Возврат; + Возврат; КонецЕсли; @@ -787,7 +845,12 @@ ОбменДаннымиВызовСервера.ПроверитьКэшМеханизмаРегистрацииОбъектов(); - Если НЕ ОбменДаннымиВызовСервера.ОбменДаннымиВключен(ИмяПланаОбмена) Тогда + // определяем необходимость регистрации объекта на узле отправителе + Если Объект.ДополнительныеСвойства.Свойство("РегистрироватьОбъектНаУзлеОтправителе") Тогда + Объект.ОбменДанными.Отправитель = Неопределено; + КонецЕсли; + + Если Не ОбменДаннымиВызовСервера.ОбменДаннымиВключен(ИмяПланаОбмена, Объект.ОбменДанными.Отправитель) Тогда Возврат; КонецЕсли; @@ -796,16 +859,14 @@ Возврат; КонецЕсли; - // определяем необходимость регистрации объекта на узле отправителе - Если Объект.ДополнительныеСвойства.Свойство("РегистрироватьОбъектНаУзлеОтправителе") Тогда - Объект.ОбменДанными.Отправитель = Неопределено; - КонецЕсли; - // при физическом удалении объекта ВРО не выполняем - ЗарегистрироватьОбъектКВыгрузке = ЭтоРегистр ИЛИ ЭтоУдалениеОбъекта ИЛИ ЭтоКонстанта; + ЗарегистрироватьОбъектКВыгрузке = ЭтоРегистр Или ЭтоУдалениеОбъекта Или ЭтоКонстанта; - ОбъектМодифицирован = ОбъектМодифицированДляПланаОбмена(Объект, ОбъектМетаданных, ИмяПланаОбмена, - РежимЗаписи, ЗарегистрироватьОбъектКВыгрузке); + ОбъектМодифицирован = Объект.ДополнительныеСвойства.Свойство("ОтложеннаяЗапись") + Или Объект.ДополнительныеСвойства.Свойство("ОтложенноеПроведение") + Или ОбъектМодифицированДляПланаОбмена( + Объект, ОбъектМетаданных, ИмяПланаОбмена, РежимЗаписи, ЗарегистрироватьОбъектКВыгрузке + ); Если Не ОбъектМодифицирован Тогда @@ -842,6 +903,7 @@ Исключение ЗаписьЖурналаРегистрации(НСтр("ru = 'Обмен данными.Правила регистрации объектов'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + ОбработатьОшибкуПравилРегистрации(ИмяПланаОбмена); Отказ = Истина; КонецПопытки; @@ -865,7 +927,7 @@ Для Каждого Получатель Из Получатели Цикл Объект.ОбменДанными.Получатели.Добавить(Получатель); КонецЦикла; - + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -886,22 +948,18 @@ Функция ОбъектМодифицированДляПланаОбменаПопыткаИсключение(Источник, ОбъектМетаданных, ИмяПланаОбмена, РежимЗаписи, ЗарегистрироватьОбъектКВыгрузке) - Если ЗарегистрироватьОбъектКВыгрузке - ИЛИ Источник.ЭтоНовый() - ИЛИ Источник.ОбменДанными.Загрузка Тогда - - // для наборов записей регистров, - // при физическом удалении объектов, - // для новых объектов, - // для объектов записанных по обмену данными - // регистрируем изменения всегда + Если ЗарегистрироватьОбъектКВыгрузке Или Источник.ЭтоНовый() Или Источник.ОбменДанными.Загрузка Тогда + // Регистрируем изменения всегда + // - для наборов записей регистров, + // - при физическом удалении объектов, + // - для новых объектов, + // - для объектов записанных по обмену данными Возврат Истина; - ИначеЕсли РежимЗаписи <> Неопределено - И ИзмененоПроведениеДокумента(Источник, РежимЗаписи) Тогда - - // если изменен признак документа "Проведен", то считаем документ измененным + ИначеЕсли РежимЗаписи <> Неопределено И ИзмененоПроведениеДокумента(Источник, РежимЗаписи) Тогда + // Если изменен признак документа "Проведен", то считаем документ измененным Возврат Истина; + КонецЕсли; ИмяОбъекта = ОбъектМетаданных.ПолноеИмя(); @@ -909,11 +967,9 @@ ТаблицаРеквизитовРегистрации = ОбменДаннымиПовтИсп.ПолучитьТаблицуРеквизитовРегистрации(ИмяОбъекта, ИмяПланаОбмена); Если ТаблицаРеквизитовРегистрации.Количество() = 0 Тогда - - // если правила ВРО не заданы, то считаем, что фильтра ВРО нет. + // Если правила ВРО не заданы, то считаем, что фильтра ВРО нет. // объект модифицирован всегда Возврат Истина; - КонецЕсли; Для Каждого СтрокаТаблицыРеквизитовРегистрации ИЗ ТаблицаРеквизитовРегистрации Цикл @@ -921,15 +977,12 @@ ЕстьИзмененияВерсийОбъектов = ОпределитьИзмененияВерсийОбъекта(Источник, СтрокаТаблицыРеквизитовРегистрации); Если ЕстьИзмененияВерсийОбъектов Тогда - Возврат Истина; - КонецЕсли; КонецЦикла; - // если дошли до конца, то объект не изменился по реквизитам регистрации; - // регистрация на узлах не нужна + // Если дошли до конца, то объект не изменился по реквизитам регистрации. Регистрация на узлах не нужна Возврат Ложь; КонецФункции @@ -1274,32 +1327,54 @@ // Функция ПолучитьМассивУзловДляРегистрацииВыгружатьПриНеобходимости(Ссылка, Знач ИмяПланаОбмена, Знач ИмяРеквизитаФлага) Экспорт - ТекстЗапроса = " - |ВЫБРАТЬ РАЗЛИЧНЫЕ - | ШапкаПланаОбмена.Ссылка КАК Узел - |ИЗ - | ПланОбмена.[ИмяПланаОбмена] КАК ШапкаПланаОбмена - |ЛЕВОЕ СОЕДИНЕНИЕ - | РегистрСведений.СоответствияОбъектовИнформационныхБаз КАК СоответствияОбъектовИнформационныхБаз - |ПО - | ШапкаПланаОбмена.Ссылка = СоответствияОбъектовИнформационныхБаз.УзелИнформационнойБазы - | И СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника = &Объект - |ГДЕ - | ШапкаПланаОбмена.Ссылка <> &ЭтотУзел - | И ШапкаПланаОбмена.[ИмяРеквизитаФлага] = ЗНАЧЕНИЕ(Перечисление.РежимыВыгрузкиОбъектовОбмена.ВыгружатьПриНеобходимости) - | И НЕ ШапкаПланаОбмена.ПометкаУдаления - | И СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника = &Объект - |"; + МассивУзлов = Новый Массив; - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяПланаОбмена]", ИмяПланаОбмена); - ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяРеквизитаФлага]", ИмяРеквизитаФлага); + СтандартнаяОбработка = Истина; + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") Тогда + + МодульОбменДаннымиXDTOПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп"); + МодульОбменДаннымиXDTOСервер = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOСервер"); + + Если МодульОбменДаннымиXDTOПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена) Тогда + СтандартнаяОбработка = Ложь; + МассивУзлов = МодульОбменДаннымиXDTOСервер.МассивУзловДляРегистрацииВыгружатьПриНеобходимости( + Ссылка, ИмяПланаОбмена, ИмяРеквизитаФлага); + КонецЕсли; + КонецЕсли; - Запрос = Новый Запрос; - Запрос.Текст = ТекстЗапроса; - Запрос.УстановитьПараметр("ЭтотУзел", ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена)); - Запрос.УстановитьПараметр("Объект", Ссылка); + Если СтандартнаяОбработка Тогда + + ТекстЗапроса = " + |ВЫБРАТЬ РАЗЛИЧНЫЕ + | ШапкаПланаОбмена.Ссылка КАК Узел + |ИЗ + | ПланОбмена.[ИмяПланаОбмена] КАК ШапкаПланаОбмена + |ЛЕВОЕ СОЕДИНЕНИЕ + | РегистрСведений.СоответствияОбъектовИнформационныхБаз КАК СоответствияОбъектовИнформационныхБаз + |ПО + | ШапкаПланаОбмена.Ссылка = СоответствияОбъектовИнформационныхБаз.УзелИнформационнойБазы + | И СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника = &Объект + |ГДЕ + | ШапкаПланаОбмена.Ссылка <> &ЭтотУзел + | И ШапкаПланаОбмена.[ИмяРеквизитаФлага] = ЗНАЧЕНИЕ(Перечисление.РежимыВыгрузкиОбъектовОбмена.ВыгружатьПриНеобходимости) + | И НЕ ШапкаПланаОбмена.ПометкаУдаления + | И СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника = &Объект + |"; + + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяПланаОбмена]", ИмяПланаОбмена); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяРеквизитаФлага]", ИмяРеквизитаФлага); + + Запрос = Новый Запрос; + Запрос.Текст = ТекстЗапроса; + Запрос.УстановитьПараметр("ЭтотУзел", ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена)); + Запрос.УстановитьПараметр("Объект", Ссылка); + + МассивУзлов = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Узел"); + + КонецЕсли; + + Возврат МассивУзлов; - Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Узел"); КонецФункции Процедура ВыполнитьПравилоРегистрацииОбъектаДляНабораЗаписей(МассивУзловРезультат, @@ -2624,6 +2699,16 @@ КонецФункции +Процедура ОбработатьОшибкуПравилРегистрации(ИмяПланаОбмена) + + Если ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() + И РегистрыСведений.ПравилаДляОбменаДанными.ИспользуютсяПравилаИзФайла(ИмяПланаОбмена) Тогда + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("ОбменДанными=%1", ИмяПланаОбмена); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); + КонецЕсли; + +КонецПроцедуры + // Создает новый экземпляр объекта Структура, заполняет объект данными указанной структуры. // // Параметры: diff --git a/SSL/src/CommonModules/ОбменСообщениямиВнутренний/Module.bsl b/SSL/src/CommonModules/ОбменСообщениямиВнутренний/Module.bsl index 83d46ac91..24b08d340 100644 --- a/SSL/src/CommonModules/ОбменСообщениямиВнутренний/Module.bsl +++ b/SSL/src/CommonModules/ОбменСообщениямиВнутренний/Module.bsl @@ -123,7 +123,6 @@ // Завершаем запись сообщения ЗаписьСообщения.ЗакончитьЗапись(); - ДанныеСообщения = ЗаписьXML.Закрыть(); Исключение diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазы/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазы/Module.bsl index 72351b135..66fb99652 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазы/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазы/Module.bsl @@ -126,6 +126,12 @@ ИтерацияОбновления = ОбновлениеИнформационнойБазыСлужебный.ИтерацияОбновления(ИдентификаторБиблиотеки, ВерсияМетаданныхИБ, ОбработчикиОбновления); + + Параметры = Новый Структура; + Параметры.Вставить("ХодВыполненияОбработчиков", ХодВыполненияОбработчиков); + Параметры.Вставить("ОперативноеОбновление", ОперативноеОбновление); + Параметры.Вставить("ВФоне", Ложь); + Возврат ОбновлениеИнформационнойБазыСлужебный.ВыполнитьИтерациюОбновления(ИтерацияОбновления, ХодВыполненияОбработчиков, ОперативноеОбновление); @@ -221,5 +227,76 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Прочие процедуры и функции. +// + +// Удаляет отложенный обработчики из очереди выполняемых обработчиков на новую версию. +// +// Параметры: +// ИмяОбработчика - Строка - полное имя процедуры отложенного обработчика. +// +Процедура УдалитьОтложенныйОбработчикИзОчереди(ИмяОбработчика) Экспорт + + СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы(); + + ОтобранныйОбработчик = СведенияОбОбновлении.ДеревоОбработчиков.Строки.НайтиСтроки(Новый Структура("ИмяОбработчика", ИмяОбработчика), Истина); + Если ОтобранныйОбработчик <> Неопределено И ОтобранныйОбработчик.Количество() > 0 Тогда + + Для Каждого СтрокаОбработчик Из ОтобранныйОбработчик Цикл + СтрокаОбработчик.Родитель.Строки.Удалить(СтрокаОбработчик); + КонецЦикла; + + КонецЕсли; + + ОбновлениеИнформационнойБазыСлужебный.ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении); + +КонецПроцедуры + +// Возвращает таблицу с версиями подсистем конфигурации. +// Для пакетной выгрузки-загрузки сведений о версиях подсистем. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица с колонками: +// * ИмяПодсистемы - Строка - имя подсистемы. +// * Версия - Строка - версия подсистемы. +// +Функция ВерсииПодсистем() Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы, + | ВерсииПодсистем.Версия КАК Версия + |ИЗ + | РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем"; + + Возврат Запрос.Выполнить().Выгрузить(); + +КонецФункции + +// Устанавливает версии всех подсистем. +// Для пакетной выгрузки-загрузки сведений о версиях подсистем. +// +// Параметры: +// ВерсииПодсистем - ТаблицаЗначений - таблица с колонками: +// * ИмяПодсистемы - Строка - имя подсистемы. +// * Версия - Строка - версия подсистемы. +// +Процедура УстановитьВерсииПодсистем(ВерсииПодсистем) Экспорт + + НаборЗаписей = РегистрыСведений.ВерсииПодсистем.СоздатьНаборЗаписей(); + + Для каждого Версия Из ВерсииПодсистем Цикл + НоваяЗапись = НаборЗаписей.Добавить(); + НоваяЗапись.ИмяПодсистемы = Версия.ИмяПодсистемы; + НоваяЗапись.Версия = Версия.Версия; + НоваяЗапись.ЭтоОсновнаяКонфигурация = (Версия.ИмяПодсистемы = Метаданные.Имя); + КонецЦикла; + + НаборЗаписей.Записать(); + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыБСП/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыБСП/Module.bsl index 3146f8ad0..f569e79f5 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыБСП/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыБСП/Module.bsl @@ -27,7 +27,7 @@ Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "СтандартныеПодсистемы"; - Описание.Версия = "2.2.2.48"; + Описание.Версия = "2.2.3.44"; КонецПроцедуры diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыВызовСервера/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыВызовСервера/Module.bsl index eab9bf736..3a487f4d5 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыВызовСервера/Module.bsl @@ -65,33 +65,4 @@ КонецПроцедуры -// Проверяет статус отложенных обработчиков обновления. -// -Функция ЕстьНеВыполненныеОбработчики() Экспорт - - Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда - Возврат ""; - КонецЕсли; - - СведенияОбОбновлении = ОбновлениеИнформационнойБазыСлужебный.СведенияОбОбновленииИнформационнойБазы(); - Если СведенияОбОбновлении = Неопределено Тогда - Возврат ""; - КонецЕсли; - - Для Каждого СтрокаДереваБиблиотека Из СведенияОбОбновлении.ДеревоОбработчиков.Строки Цикл - Для Каждого СтрокаДереваВерсия Из СтрокаДереваБиблиотека.Строки Цикл - Для Каждого Обработчик Из СтрокаДереваВерсия.Строки Цикл - Если Обработчик.Статус = "Ошибка" Тогда - Возврат "СтатусОшибка"; - ИначеЕсли Обработчик.Статус <> "Выполнено" Тогда - Возврат "СтатусНеВыполнено"; - КонецЕсли; - КонецЦикла; - КонецЦикла; - КонецЦикла; - - Возврат ""; - -КонецФункции - #КонецОбласти diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыГлобальный/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыГлобальный/Module.bsl index 6c98e6787..20454f962 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыГлобальный/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыГлобальный/Module.bsl @@ -10,26 +10,12 @@ // Процедура ПроверитьСтатусОтложенногоОбновления() Экспорт - ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента(); + ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); - Если ПараметрыРаботыКлиента.РазделениеВключено Тогда - Возврат; - КонецЕсли; - - Если ОбновлениеИнформационнойБазыВызовСервера.ЕстьНеВыполненныеОбработчики() <> "" Тогда - - Если ПараметрыРаботыКлиента.ЭтоПолноправныйПользователь Тогда - - Если ОбновлениеИнформационнойБазыВызовСервера.ЕстьНеВыполненныеОбработчики() = "СтатусОшибка" Тогда - ОткрытьФорму("Обработка.ОбновлениеИнформационнойБазы.Форма.ИндикацияХодаОтложенногоОбновленияИБ"); - Иначе - ОбновлениеИнформационнойБазыКлиент.ОповеститьОтложенныеОбработчикиНеВыполнены(); - КонецЕсли; - - Иначе - ОбновлениеИнформационнойБазыКлиент.ОповеститьОтложенныеОбработчикиНеВыполнены(); - КонецЕсли; - + Если ПараметрыКлиента.Свойство("ПоказатьСообщениеОбОшибочныхОбработчиках") Тогда + ОткрытьФорму("Обработка.ОбновлениеИнформационнойБазы.Форма.ИндикацияХодаОтложенногоОбновленияИБ"); + Иначе + ОбновлениеИнформационнойБазыКлиент.ОповеститьОтложенныеОбработчикиНеВыполнены(); КонецЕсли; КонецПроцедуры diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыКлиент/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыКлиент/Module.bsl index 6b25aaeb4..30f4efa96 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыКлиент/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыКлиент/Module.bsl @@ -82,7 +82,7 @@ Процедура ПослеЗакрытияФормыИндикацияХодаОбновленияИБ(Результат, Параметры) Экспорт Если ТипЗнч(Результат) <> Тип("Структура") Тогда - Результат = Новый Структура("Отказ", Истина); + Результат = Новый Структура("Отказ, Перезапустить", Истина, Ложь); КонецЕсли; Если Результат.Отказ Тогда @@ -140,7 +140,8 @@ ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); - Если Не ПараметрыКлиента.РазделениеВключено Тогда + Если ПараметрыКлиента.Свойство("ПоказатьСообщениеОбОшибочныхОбработчиках") + Или ПараметрыКлиента.Свойство("ПоказатьОповещениеОНевыполненныхОбработчиках") Тогда ПодключитьОбработчикОжидания("ПроверитьСтатусОтложенногоОбновления", 2, Истина); КонецЕсли; diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыПереопределяемый/Module.bsl index 90ac005c7..013cdd1f2 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыПереопределяемый/Module.bsl @@ -18,7 +18,7 @@ // ТекущаяВерсияИБ - Строка - версия ИБ после обновления. // ВыполненныеОбработчики - ДеревоЗначений - список выполненных процедур-обработчиков // обновления, сгруппированных по номеру версии. -// Итерирование по выполненным обработчикам: +// Для перебора выполненных обработчиков: // Для Каждого Версия Из ВыполненныеОбработчики.Строки Цикл // // Если Версия.Версия = "*" Тогда @@ -39,11 +39,11 @@ // Истина - обновление выполнялось в монопольном режиме. // Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсияИБ, Знач ТекущаяВерсияИБ, - Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, МонопольныйРежим) Экспорт + Знач ВыполненныеОбработчики, ВыводитьОписаниеОбновлений, МонопольныйРежим) Экспорт КонецПроцедуры -// Вызывается при подготовке табличного документа с описанием изменений системы. +// Вызывается при подготовке табличного документа с описанием изменений программы. // // Параметры: // Макет - ТабличныйДокумент - описание обновлений. @@ -54,13 +54,13 @@ КонецПроцедуры -// Получает список обработчиков обновления ИБ, которые не нужно выполнять. -// Отключать можно только те обработчики, у которых номер версии "*". +// Вызывается для получения списка обработчиков обновления, которые не нужно выполнять. +// Отключать можно только обработчики обновления с номером версии "*". // // Пример добавления отключаемого обработчика в список: // НовоеИсключение = ОтключаемыеОбработчики.Добавить(); // НовоеИсключение.ИдентификаторБиблиотеки = "СтандартныеПодсистемы"; -// НовоеИсключение.Версия = "2.1.2.3"; +// НовоеИсключение.Версия = "*"; // НовоеИсключение.Процедура = "ВариантыОтчетов.Обновить"; // // Версия - номер версии конфигурации, в которой нужно отключить diff --git a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыСлужебный/Module.bsl b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыСлужебный/Module.bsl index 48789d401..79dedf811 100644 --- a/SSL/src/CommonModules/ОбновлениеИнформационнойБазыСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеИнформационнойБазыСлужебный/Module.bsl @@ -124,6 +124,11 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриПолученииОбъектовИсключенийПланаОбмена"].Добавить( "ОбновлениеИнформационнойБазыСлужебный"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "ОбновлениеИнформационнойБазыСлужебный"); + КонецЕсли; + КонецПроцедуры // Инициализирует параметр сеанса ВыполняетсяОбновлениеИБ. @@ -179,12 +184,11 @@ // для этого недостаточно прав, иначе возвращает пустую строку. // // Параметры: -// УчитыватьПривилегированныйРежим - Булево. Начальное значение Истина. Если указать Ложь, -// то при проверке полноправности текущего пользователя +// УчитыватьПривилегированныйРежим - Булево - если указать Ложь, то при проверке прав текущего пользователя // наличие привилегированного режима не будет учитываться. // // Возвращаемое значение: -// Строка. Если база не заблокирована, тогда пустая строка, иначе сообщение о причине блокировки. +// Строка - если база не заблокирована, тогда пустая строка, иначе сообщение о причине блокировки. // Функция ИнформационнаяБазаЗаблокированаДляОбновления(УчитыватьПривилегированныйРежим = Истина) Экспорт @@ -192,6 +196,7 @@ ТекущийПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); + // Для входа в заблокированную базу достаточно только одного права администрирования. Если УчитыватьПривилегированныйРежим Тогда ЕстьПравоАдминистрирование = ПравоДоступа("Администрирование", Метаданные); Иначе @@ -418,16 +423,21 @@ ОбщегоНазначенияКлиентСервер.СообщитьПользователю("ШагПрогресса=20/75"); КонецЕсли; + Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() + Или ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда + СформироватьСписокОтложенныхОбработчиковОбновления(ИтерацииОбновления); + КонецЕсли; + Попытка - ХодВыполненияОбработчиков = КоличествоОбработчиковНаТекущуюВерсию(ИтерацииОбновления); + Параметры = Новый Структура; + Параметры.Вставить("ХодВыполненияОбработчиков", КоличествоОбработчиковНаТекущуюВерсию(ИтерацииОбновления)); + Параметры.Вставить("ОперативноеОбновление", ОперативноеОбновление); + Параметры.Вставить("ВФоне", ВФоне); + // Выполняем все обработчики обновления для подсистем конфигурации. Для Каждого ИтерацияОбновления Из ИтерацииОбновления Цикл - ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления( - ИтерацияОбновления, - ХодВыполненияОбработчиков, - ОперативноеОбновление, - ВФоне); + ИтерацияОбновления.ВыполненныеОбработчики = ВыполнитьИтерациюОбновления(ИтерацияОбновления, Параметры); КонецЦикла; Если ВФоне Тогда @@ -435,17 +445,13 @@ КонецЕсли; // Для файловой базы отложенные обработчики выполняются в основном цикле обновления - Если ОбщегоНазначения.ИнформационнаяБазаФайловая() И - (Не ОбщегоНазначенияПовтИсп.РазделениеВключено() - Или ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных()) Тогда - - ЗапланироватьОтложенноеОбновление(ИтерацииОбновления); + Если ОбщегоНазначения.ИнформационнаяБазаФайловая() + И (Не ОбщегоНазначенияПовтИсп.РазделениеВключено() + Или ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных()) Тогда ПараметрЗапускаКлиента = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска"); Если Найти(НРег(ПараметрЗапускаКлиента), НРег("ОтладкаОтложенногоОбновления")) = 0 Тогда - ВыполнитьОтложенноеОбновлениеСейчас(); - КонецЕсли; КонецЕсли; @@ -498,7 +504,7 @@ Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() Или ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда - ЗапланироватьОтложенноеОбновление(ИтерацииОбновления); + ЗапланироватьОтложенноеОбновление(); КонецЕсли; КонецЕсли; @@ -529,7 +535,9 @@ // которая хранится в информационной базе. // // Параметры -// ИдентификаторБиблиотеки - Строка - имя конфигурации или идентификатор библиотеки. +// ИдентификаторБиблиотеки - Строка - имя конфигурации или идентификатор библиотеки. +// ПолучитьВерсиюОбщихДанных - Булево - если указать Истина, то при работе в модели сервиса будет +// возвращена версия в общих данных. // // Возвращаемое значение: // Строка - версия. @@ -604,8 +612,9 @@ // Записывает в информационную базу версию конфигурации или родительской конфигурации (библиотеки). // // Параметры: -// ИдентификаторБиблиотеки - Строка, имя конфигурации или родительской конфигурации (библиотеки), -// НомерВерсии - Строка, номер версии. +// ИдентификаторБиблиотеки - Строка - имя конфигурации или родительской конфигурации (библиотеки), +// НомерВерсии - Строка - номер версии. +// ЭтоОсновнаяКонфигурация - Булево - признак, что ИдентификаторБиблиотеки соответствует имени конфигурации. // Процедура УстановитьВерсиюИБ(Знач ИдентификаторБиблиотеки, Знач НомерВерсии, Знач ЭтоОсновнаяКонфигурация) Экспорт @@ -795,12 +804,6 @@ // Вызывается при выполнении скрипта обновления из процедуры ОбновлениеКонфигурации.ЗавершитьОбновление(). Процедура ПослеЗавершенияОбновления() Экспорт - СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); - - Если СведенияОбОбновлении = Неопределено Тогда - Возврат; - КонецЕсли; - ЗаписатьПодтверждениеЛегальностиПолученияОбновлений(); КонецПроцедуры @@ -905,17 +908,13 @@ // Для внутреннего использования. // -Функция ВыполнитьИтерациюОбновления(Знач ИтерацияОбновления, Знач ХодВыполненияОбработчиков, Знач ОперативноеОбновление = Ложь, Знач ВФоне = Ложь) Экспорт +Функция ВыполнитьИтерациюОбновления(Знач ИтерацияОбновления, Знач Параметры) Экспорт ИдентификаторБиблиотеки = ИтерацияОбновления.Подсистема; ВерсияМетаданныхИБ = ИтерацияОбновления.Версия; ОбработчикиОбновления = ИтерацияОбновления.Обработчики; - ТекущаяВерсияИБ = ВерсияИБ(ИдентификаторБиблиотеки); - // Для предотвращения неоднозначности с переходом с другой конфигурации. - Если ТекущаяВерсияИБ = "0.0.0.0" Тогда - УстановитьВерсиюИБ(ИдентификаторБиблиотеки, ТекущаяВерсияИБ, ИтерацияОбновления.ЭтоОсновнаяКонфигурация); - КонецЕсли; + ТекущаяВерсияИБ = ИтерацияОбновления.ПредыдущаяВерсия; НоваяВерсияИБ = ТекущаяВерсияИБ; ВерсияМетаданных = ВерсияМетаданныхИБ; @@ -945,7 +944,7 @@ ВыполняемыеОбработчики = ОбработчикиОбновленияВИнтервале(ОбработчикиОбновления, ТекущаяВерсияИБ, ВерсияМетаданных); КонецЕсли; - ОтключитьОбработчикиОбновления(ИдентификаторБиблиотеки, ВыполняемыеОбработчики, ВерсияМетаданных, ХодВыполненияОбработчиков); + ОтключитьОбработчикиОбновления(ИдентификаторБиблиотеки, ВыполняемыеОбработчики, ВерсияМетаданных, Параметры.ХодВыполненияОбработчиков); ОбязательныеРазделенныеОбработчики = ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления(); ИсходнаяВерсияИБ = ТекущаяВерсияИБ; @@ -957,7 +956,9 @@ Сообщение = НСтр("ru = 'Выполняются обязательные процедуры обновления информационной базы.'"); Иначе НоваяВерсияИБ = Версия.Версия; - Если ИтерацияОбновления.ЭтоОсновнаяКонфигурация Тогда + Если ТекущаяВерсияИБ = "0.0.0.0" Тогда + Сообщение = НСтр("ru = 'Выполняется начальное заполнение данных.'"); + ИначеЕсли ИтерацияОбновления.ЭтоОсновнаяКонфигурация Тогда Сообщение = НСтр("ru = 'Выполняется обновление информационной базы с версии %1 на версию %2.'"); Иначе Сообщение = НСтр("ru = 'Выполняется обновление данных библиотеки %3 с версии %1 на версию %2.'"); @@ -978,7 +979,7 @@ КонецЕсли; Если Обработчик.МонопольныйРежим = Истина Тогда - Если ОперативноеОбновление Тогда + Если Параметры.ОперативноеОбновление Тогда // Проверки выполняются в ВозможноОперативноеОбновление, а само обновление для таких // обработчиков выполняется только при неоперативном обновлении. Продолжить; @@ -992,16 +993,13 @@ КонецЕсли; ДополнительныеПараметры = Новый Структура("ЗаписыватьВЖурнал, ИдентификаторБиблиотеки, ХодВыполненияОбработчиков, ВФоне", - ЗаписыватьВЖурнал, ИдентификаторБиблиотеки, ХодВыполненияОбработчиков, ВФоне); + ЗаписыватьВЖурнал, ИдентификаторБиблиотеки, Параметры.ХодВыполненияОбработчиков, Параметры.ВФоне); ВыполнитьОбработчикОбновления(Обработчик, ПараметрыОбработчика, ДополнительныеПараметры); КонецЦикла; Если Версия.Версия = "*" Тогда Сообщение = НСтр("ru = 'Выполнены обязательные процедуры обновления информационной базы.'"); Иначе - // Установка номера версии информационной базы - УстановитьВерсиюИБ(ИдентификаторБиблиотеки, НоваяВерсияИБ, ИтерацияОбновления.ЭтоОсновнаяКонфигурация); - Если ИтерацияОбновления.ЭтоОсновнаяКонфигурация Тогда Сообщение = НСтр("ru = 'Выполнено обновление информационной базы с версии %1 на версию %2.'"); Иначе @@ -1010,10 +1008,15 @@ Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ТекущаяВерсияИБ, НоваяВерсияИБ, ИдентификаторБиблиотеки); - ТекущаяВерсияИБ = НоваяВерсияИБ; КонецЕсли; ЗаписатьИнформацию(Сообщение); + Если Версия.Версия <> "*" Тогда + // Установка номера версии информационной базы + УстановитьВерсиюИБ(ИдентификаторБиблиотеки, НоваяВерсияИБ, ИтерацияОбновления.ЭтоОсновнаяКонфигурация); + ТекущаяВерсияИБ = НоваяВерсияИБ; + КонецЕсли; + КонецЦикла; // Установка номера версии информационной базы @@ -1135,11 +1138,20 @@ ПараметрыСеанса.ПараметрыКлиентаНаСервере = ПараметрыОбновленияИБ.ПараметрыКлиентаНаСервере; КонецЕсли; - Результат = ВыполнитьОбновлениеИнформационнойБазы( - ПараметрыОбновленияИБ.ИсключениеПриНевозможностиБлокировкиИБ, Истина, Ложь, - ПараметрыОбновленияИБ.БлокировкаИБ, ПараметрыОбновленияИБ.ВФоне); + ИнформацияОбОшибке = Неопределено; + Попытка + Результат = ВыполнитьОбновлениеИнформационнойБазы( + ПараметрыОбновленияИБ.ИсключениеПриНевозможностиБлокировкиИБ, Истина, Ложь, + ПараметрыОбновленияИБ.БлокировкаИБ, ПараметрыОбновленияИБ.ВФоне); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + КонецПопытки; - Если Не ПараметрыОбновленияИБ.ВФоне Тогда + Если ИнформацияОбОшибке <> Неопределено Тогда + РезультатОбновления = Новый Структура; + РезультатОбновления.Вставить("КраткоеСообщениеОбОшибке", КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); + РезультатОбновления.Вставить("ПодробноеСообщениеОбОшибке", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + ИначеЕсли Не ПараметрыОбновленияИБ.ВФоне Тогда РезультатОбновления = Результат; Иначе РезультатОбновления = Новый Структура; @@ -1298,7 +1310,13 @@ Модуль.ПриДобавленииОбработчиковПереходаСДругойПрограммы(ОбработчикиПерехода); КонецЦикла; - Возврат ОбработчикиПерехода.НайтиСтроки(Новый Структура("ПредыдущееИмяКонфигурации", ПредыдущееИмяКонфигурации)); + Отбор = Новый Структура("ПредыдущееИмяКонфигурации", "*"); + Результат = ОбработчикиПерехода.НайтиСтроки(Отбор); + + Отбор.ПредыдущееИмяКонфигурации = ПредыдущееИмяКонфигурации; + ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, ОбработчикиПерехода.НайтиСтроки(Отбор), Истина); + + Возврат Результат; КонецФункции @@ -1308,7 +1326,8 @@ Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 - | ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы + | ВерсииПодсистем.ИмяПодсистемы КАК ИмяПодсистемы, + | ВерсииПодсистем.Версия КАК Версия |ИЗ | РегистрСведений.ВерсииПодсистем КАК ВерсииПодсистем |ГДЕ @@ -1323,7 +1342,9 @@ ВызватьИсключение НСтр("ru = 'При работе в модели сервиса переход с другой программы не предусмотрен.'"); КонецЕсли; - ПредыдущееИмяКонфигурации = Запрос.Выполнить().Выгрузить()[0].ИмяПодсистемы; + РезультатЗапроса = Запрос.Выполнить().Выгрузить()[0]; + ПредыдущееИмяКонфигурации = РезультатЗапроса.ИмяПодсистемы; + ПредыдущаяВерсияКонфигурации = РезультатЗапроса.Версия; Обработчики = ОбработчикиПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации); // Выполняем все обработчики перехода. @@ -1336,7 +1357,7 @@ ИмяОбработчика = Обработчик.Процедура; ЗаписатьОшибку(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'При вызове обработчика перехода с другой программы: + НСтр("ru = 'При вызове обработчика перехода с другой программы |""%1"" |произошла ошибка: |""%2"".'"), @@ -1349,28 +1370,65 @@ КонецЦикла; + Параметры = Новый Структура(); + Параметры.Вставить("ВыполнитьОбновлениеСВерсии", Истина); + Параметры.Вставить("ВерсияКонфигурации", Метаданные.Версия); + Параметры.Вставить("ОчиститьСведенияОПредыдущейКонфигурации", Истина); + ПриЗавершенииПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ПредыдущаяВерсияКонфигурации, Параметры); + // Установка текущих имени и версии конфигурации НачатьТранзакцию(); - НаборЗаписей = РегистрыСведений.ВерсииПодсистем.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.ИмяПодсистемы.Установить(ПредыдущееИмяКонфигурации); - НаборЗаписей.Записать(); - - НаборЗаписей = РегистрыСведений.ВерсииПодсистем.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.ИмяПодсистемы.Установить(Метаданные.Имя); - - НоваяЗапись = НаборЗаписей.Добавить(); - НоваяЗапись.ИмяПодсистемы = Метаданные.Имя; - НоваяЗапись.Версия = Метаданные.Версия; - НоваяЗапись.ПланОбновления = Неопределено; - НоваяЗапись.ЭтоОсновнаяКонфигурация = Истина; - - НаборЗаписей.Записать(); - ЗафиксироватьТранзакцию(); + Попытка + Если Параметры.ОчиститьСведенияОПредыдущейКонфигурации Тогда + НаборЗаписей = РегистрыСведений.ВерсииПодсистем.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.ИмяПодсистемы.Установить(ПредыдущееИмяКонфигурации); + НаборЗаписей.Записать(); + КонецЕсли; + + НаборЗаписей = РегистрыСведений.ВерсииПодсистем.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.ИмяПодсистемы.Установить(Метаданные.Имя); + + ВерсияКонфигурации = Метаданные.Версия; + Если Параметры.ВыполнитьОбновлениеСВерсии Тогда + ВерсияКонфигурации = Параметры.ВерсияКонфигурации; + КонецЕсли; + НоваяЗапись = НаборЗаписей.Добавить(); + НоваяЗапись.ИмяПодсистемы = Метаданные.Имя; + НоваяЗапись.Версия = ВерсияКонфигурации; + НоваяЗапись.ПланОбновления = Неопределено; + НоваяЗапись.ЭтоОсновнаяКонфигурация = Истина; + + НаборЗаписей.Записать(); + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; ОбновитьПовторноИспользуемыеЗначения(); КонецПроцедуры +Процедура ПриЗавершенииПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ПредыдущаяВерсияКонфигурации, Параметры) + + ИмяКонфигурации = Метаданные.Имя; + ОписанияПодсистем = СтандартныеПодсистемыПовтИсп.ОписанияПодсистем(); + Для каждого ИмяПодсистемы Из ОписанияПодсистем.Порядок Цикл + ОписаниеПодсистемы = ОписанияПодсистем.ПоИменам.Получить(ИмяПодсистемы); + Если НЕ ЗначениеЗаполнено(ОписаниеПодсистемы.ОсновнойСерверныйМодуль) Тогда + Продолжить; + КонецЕсли; + + Если ОписаниеПодсистемы.Имя <> ИмяКонфигурации Тогда + Продолжить; + КонецЕсли; + + Модуль = ОбщегоНазначения.ОбщийМодуль(ОписаниеПодсистемы.ОсновнойСерверныйМодуль); + Модуль.ПриЗавершенииПереходаСДругойПрограммы(ПредыдущееИмяКонфигурации, ПредыдущаяВерсияКонфигурации, Параметры); + КонецЦикла; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Протоколирование хода обновления @@ -1480,37 +1538,24 @@ //////////////////////////////////////////////////////////////////////////////// // Механизм отложенного обновления -// Удаляет отложенный обработчики из очереди выполняемых обработчиков на новую версию. +// Формирует дерево отложенных обработчиков и записывает его в константу СведенияОбОбновленииИБ // -// Параметры: -// ИмяОбработчика - Строка - Строковый идентификатор отложенного обработчика. -// -Процедура УдалитьОтложенныйОбработчикИзОчереди(ИмяОбработчика) Экспорт - - СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); - - Если СведенияОбОбновлении = Неопределено Тогда - Возврат; - КонецЕсли; - - ОтобранныйОбработчик = СведенияОбОбновлении.ДеревоОбработчиков.Строки.НайтиСтроки(Новый Структура("ИмяОбработчика", ИмяОбработчика), Истина); - Если ОтобранныйОбработчик <> Неопределено И ОтобранныйОбработчик.Количество() > 0 Тогда - - Для Каждого СтрокаОбработчик Из ОтобранныйОбработчик Цикл - СтрокаОбработчик.Родитель.Строки.Удалить(СтрокаОбработчик); - КонецЦикла; - - КонецЕсли; - - ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении); - -КонецПроцедуры - -// Формирует дерево отложенных обработчиков и активирует регламентное задание. -Процедура ЗапланироватьОтложенноеОбновление(ИтерацииОбновления) +Процедура СформироватьСписокОтложенныхОбработчиковОбновления(ИтерацииОбновления) ДеревоОбработчиков = ВыполненныеОбработчикиПрошлыхВерсий(ИтерацииОбновления); - СведенияОбОбновлении = НовыеСведенияОбОбновлении(); + СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); + + // Устанавливаем начальные значения полей. + СведенияОбОбновлении.Вставить("ВремяНачалаОбновления"); + СведенияОбОбновлении.Вставить("ВремяОкончанияОбновления"); + СведенияОбОбновлении.Вставить("ПродолжительностьОбновления"); + СведенияОбОбновлении.Вставить("ВремяНачалаОтложенногоОбновления"); + СведенияОбОбновлении.Вставить("ВремяОкончаниеОтложенногоОбновления"); + СведенияОбОбновлении.Вставить("НомерСеанса", Новый СписокЗначений()); + СведенияОбОбновлении.Вставить("ПараметрыОбработчикаОбновления"); + СведенияОбОбновлении.Вставить("ОтложенноеОбновлениеЗавершеноУспешно"); + СведенияОбОбновлении.Вставить("ДеревоОбработчиков", Новый ДеревоЗначений()); + СведенияОбОбновлении.Вставить("ВыводитьОписаниеОбновлений", Ложь); ИмяБиблиотеки = ""; НомерВерсии = ""; @@ -1594,6 +1639,12 @@ СведенияОбОбновлении.ДеревоОбработчиков = ДеревоОбработчиков; ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении); +КонецПроцедуры + +// Планирует выполнение отложенного обновления в клиент-серверной базе. +// +Процедура ЗапланироватьОтложенноеОбновление() + // Планирование выполнения регламентного задания // При работе в модели сервиса - добавляется регламентное задание в очередь Если Не ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда @@ -1633,6 +1684,12 @@ СведенияОбОбновлении.НомерСеанса.Добавить(НомерСеансаИнформационнойБазы()); ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении); + // В сеансе регламентного задания проверка даты запрета изменения отключается. + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДатыЗапретаИзменения") Тогда + МодульДатыЗапретаИзмененияСлужебный = ОбщегоНазначения.ОбщийМодуль("ДатыЗапретаИзмененияСлужебный"); + МодульДатыЗапретаИзмененияСлужебный.ПропуститьПроверкуЗапретаИзменения(Истина); + КонецЕсли; + Если Не ВыполнитьОтложенныйОбработчикОбновления(СведенияОбОбновлении) Тогда ОтключитьОтложенноеОбновление(); КонецЕсли; @@ -1680,16 +1737,14 @@ КонецЕсли; СведенияОбОбновленииИБ = Константы.СведенияОбОбновленииИБ.Получить().Получить(); - Если ТипЗнч(СведенияОбОбновленииИБ) = Тип("Структура") Тогда - Если СведенияОбОбновленииИБ.Количество() = 1 Тогда - СведенияОбОбновленииИБ = Неопределено; - Иначе - СведенияОбОбновленииИБ = НовыеСведенияОбОбновлении(СведенияОбОбновленииИБ); - КонецЕсли; - Иначе - СведенияОбОбновленииИБ = Неопределено; + Если ТипЗнч(СведенияОбОбновленииИБ) <> Тип("Структура") Тогда + Возврат НовыеСведенияОбОбновлении(); КонецЕсли; - + Если СведенияОбОбновленииИБ.Количество() = 1 Тогда + Возврат НовыеСведенияОбОбновлении(); + КонецЕсли; + + СведенияОбОбновленииИБ = НовыеСведенияОбОбновлении(СведенияОбОбновленииИБ); Возврат СведенияОбОбновленииИБ; КонецФункции @@ -1698,17 +1753,11 @@ Процедура ЗаписатьСведенияОбОбновленииИнформационнойБазы(Знач СведенияОбОбновлении) Экспорт Если СведенияОбОбновлении = Неопределено Тогда - НовоеЗначение = Новый Структура; + НовоеЗначение = НовыеСведенияОбОбновлении(); Иначе НовоеЗначение = СведенияОбОбновлении; КонецЕсли; - СтароеЗначение = Константы.СведенияОбОбновленииИБ.Получить().Получить(); - - Если ТипЗнч(СтароеЗначение) = Тип("Структура") И СтароеЗначение.Свойство("ЛегальнаяВерсия") Тогда - НовоеЗначение.Вставить("ЛегальнаяВерсия", СтароеЗначение.ЛегальнаяВерсия); - КонецЕсли; - МенеджерКонстанты = Константы.СведенияОбОбновленииИБ.СоздатьМенеджерЗначения(); МенеджерКонстанты.Значение = Новый ХранилищеЗначения(НовоеЗначение); ОбновлениеИнформационнойБазы.ЗаписатьДанные(МенеджерКонстанты); @@ -1739,11 +1788,8 @@ Если РежимОбновленияДанныхВЛокальномРежимеРаботы() = "НачальноеЗаполнение" Тогда ЛегальнаяВерсия = Метаданные.Версия; Иначе - УстановитьПривилегированныйРежим(Истина); - Свойства = Константы.СведенияОбОбновленииИБ.Получить().Получить(); - Если ТипЗнч(Свойства) = Тип("Структура") И Свойства.Свойство("ЛегальнаяВерсия") Тогда - ЛегальнаяВерсия = Свойства.ЛегальнаяВерсия; - КонецЕсли; + СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); + ЛегальнаяВерсия = СведенияОбОбновлении.ЛегальнаяВерсия; КонецЕсли; Возврат ЛегальнаяВерсия <> Метаданные.Версия; @@ -1759,18 +1805,9 @@ Возврат; КонецЕсли; - СтароеЗначение = Константы.СведенияОбОбновленииИБ.Получить().Получить(); - Если ТипЗнч(СтароеЗначение) = Тип("Структура") Тогда - НовоеЗначение = СтароеЗначение; - Иначе - НовоеЗначение = Новый Структура; - КонецЕсли; - - НовоеЗначение.Вставить("ЛегальнаяВерсия", Метаданные.Версия); - - МенеджерКонстанты = Константы.СведенияОбОбновленииИБ.СоздатьМенеджерЗначения(); - МенеджерКонстанты.Значение = Новый ХранилищеЗначения(НовоеЗначение); - ОбновлениеИнформационнойБазы.ЗаписатьДанные(МенеджерКонстанты); + СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); + СведенияОбОбновлении.ЛегальнаяВерсия = Метаданные.Версия; + ЗаписатьСведенияОбОбновленииИнформационнойБазы(СведенияОбОбновлении); КонецПроцедуры @@ -1806,6 +1843,20 @@ Параметры.Вставить("НачальноеЗаполнениеДанных", РежимОбновленияДанных() = "НачальноеЗаполнение"); Параметры.Вставить("ПоказатьОписаниеИзмененийСистемы", ПоказатьОписаниеИзмененийСистемы()); + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + Возврат; + КонецЕсли; + СтатусОбработчиков = СтатусНевыполненныхОбработчиков(); + Если СтатусОбработчиков = "" Тогда + Возврат; + КонецЕсли; + Если СтатусОбработчиков = "СтатусОшибка" + И Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда + Параметры.Вставить("ПоказатьСообщениеОбОшибочныхОбработчиках"); + Иначе + Параметры.Вставить("ПоказатьОповещениеОНевыполненныхОбработчиках"); + КонецЕсли; + КонецПроцедуры // Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. @@ -1907,6 +1958,60 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не Пользователи.ЭтоПолноправныйПользователь(, Истина) Тогда + Возврат; + КонецЕсли; + + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + Возврат; + КонецЕсли; + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.Обработки.ОбновлениеИнформационнойБазы.ПолноеИмя()]; + + Если Разделы = Неопределено Тогда + Возврат; + КонецЕсли; + + СтатусОбработчиков = СтатусНевыполненныхОбработчиков(); + ЕстьОбработчикиСОшибкой = (СтатусОбработчиков = "СтатусОшибка"); + ЕстьНеВыполненныеОбработчики = (СтатусОбработчиков = "СтатусНеВыполнено"); + + Для Каждого Раздел Из Разделы Цикл + Идентификатор = "ОтложенноеОбновление" + СтрЗаменить(Раздел.ПолноеИмя(), ".", ""); + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = Идентификатор; + Дело.ЕстьДела = (ЕстьОбработчикиСОшибкой Или ЕстьНеВыполненныеОбработчики); + Дело.Важное = ЕстьОбработчикиСОшибкой; + Дело.Представление = НСтр("ru = 'Обновление программы не завершено'"); + Дело.Форма = "Обработка.ОбновлениеИнформационнойБазы.Форма.ИндикацияХодаОтложенногоОбновленияИБ"; + Дело.Владелец = Раздел; + КонецЦикла; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов в другие подсистемы @@ -2263,7 +2368,6 @@ Процедура ВыполнитьОбработчикОбновления(Обработчик, Параметры, ДополнительныеПараметры) ЗаписатьИнформациюОХодеОбновления(Обработчик, ДополнительныеПараметры.ХодВыполненияОбработчиков, ДополнительныеПараметры.ВФоне); - Если ДополнительныеПараметры.ЗаписыватьВЖурнал Тогда ОписаниеОбработчика = ПодготовитьДетальнуюИнформациюОХодеОбновления(Обработчик, Параметры, ДополнительныеПараметры.ИдентификаторБиблиотеки); @@ -2287,11 +2391,12 @@ КонецЕсли; ИмяОбработчика = Обработчик.Процедура + "(" + ?(ПараметрыОбработчика = Неопределено, "", "Параметры") + ")"; + ЗаписатьОшибку(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При вызове обработчика обновления: - |""%1"" - |произошла ошибка: - |""%2"".'"), + |""%1"" + |произошла ошибка: + |""%2"".'"), ИмяОбработчика, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()))); @@ -2405,7 +2510,9 @@ Процедура ПроверитьВложеннуюТранзакцию(ТранзакцияАктивнаНаНачалоВыполнения, НазваниеОбработчика) + ИмяСобытия = СобытиеЖурналаРегистрации() + ". " + НСтр("ru = 'Выполнение обработчиков'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()); Если ТранзакцияАктивнаНаНачалоВыполнения Тогда + Если ТранзакцияАктивна() Тогда // Проверка поглощенных исключений в обработчиках Попытка @@ -2416,11 +2523,7 @@ |При активных транзакциях, открытых выше по стеку, исключение также необходимо пробрасывать выше по стеку.'"); Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, НазваниеОбработчика); - ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации() + ". " + НСтр("ru = 'Выполнение обработчиков'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, - , - , - Комментарий); + ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, Комментарий); ВызватьИсключение(Комментарий); КонецПопытки; Иначе @@ -2428,11 +2531,7 @@ |Обработчиком обновления была закрыта лишняя транзакция, открытая ранее (выше по стеку).'"); Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, НазваниеОбработчика); - ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации() + ". " + НСтр("ru = 'Выполнение обработчиков'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, - , - , - Комментарий); + ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, Комментарий); ВызватьИсключение(Комментарий); КонецЕсли; Иначе @@ -2441,11 +2540,7 @@ |Открытая внутри обработчика обновления транзакция осталась активной (не была закрыта или отменена).'"); Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКомментария, НазваниеОбработчика); - ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации() + ". " + НСтр("ru = 'Выполнение обработчиков'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), - УровеньЖурналаРегистрации.Ошибка, - , - , - Комментарий); + ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка,,, Комментарий); ВызватьИсключение(Комментарий); КонецЕсли; КонецЕсли; @@ -2549,7 +2644,7 @@ КонецЦикла; - Сообщение = НСтр("ru = 'Для обновления информационной базы на новую версию будут выполнены обработчики: %1'"); + Сообщение = НСтр("ru = 'Для обновления программы на новую версию будут выполнены обработчики: %1'"); Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, КоличествоОбработчиков); ЗаписатьИнформацию(Сообщение); @@ -2627,8 +2722,7 @@ Функция ПоказатьОписаниеИзмененийСистемы() СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); - Если СведенияОбОбновлении <> Неопределено И СведенияОбОбновлении.Свойство("ВыводитьОписаниеОбновлений") - И СведенияОбОбновлении.ВыводитьОписаниеОбновлений = Ложь Тогда + Если СведенияОбОбновлении.ВыводитьОписаниеОбновлений = Ложь Тогда Возврат Ложь; КонецЕсли; @@ -2716,7 +2810,7 @@ Разделы.Добавить(ВесВерсии, Версия); КонецЦикла; - Разделы.СортироватьПоЗначению(); + Разделы.СортироватьПоЗначению(НаправлениеСортировки.Убыв); КонецЕсли; Константы.РазделыОписанияИзмененийСистемы.Установить(Новый ХранилищеЗначения(Разделы)); @@ -2796,9 +2890,9 @@ Функция ВыполненныеОбработчикиПрошлыхВерсий(ИтерацииОбновления) СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); - Если СведенияОбОбновлении <> Неопределено - И Не СведенияОбОбновлении.ОтложенноеОбновлениеЗавершеноУспешно = Истина - И СведенияОбОбновлении.ДеревоОбработчиков <> Неопределено Тогда + Если СведенияОбОбновлении.ОтложенноеОбновлениеЗавершеноУспешно <> Истина + И СведенияОбОбновлении.ДеревоОбработчиков <> Неопределено + И СведенияОбОбновлении.ДеревоОбработчиков.Строки.Количество() > 0 Тогда НеобходимоСохранитьНевыполненныеОбработчики = Ложь; Для Каждого Библиотека Из ИтерацииОбновления Цикл @@ -2812,7 +2906,7 @@ ЭлементДерева.ЧислоПопыток = 0; КонецЦикла; - // Поиск невыполненных обработчиков, которые необходимо сохранить для повторного запуска.. + // Поиск невыполненных обработчиков, которые необходимо сохранить для повторного запуска. НайденныеОбработчики = СведенияОбОбновлении.ДеревоОбработчиков.Строки.НайтиСтроки(Новый Структура("Статус, ИмяБиблиотеки", "НеВыполнено", Библиотека.Подсистема), Истина); Для Каждого ЭлементДерева Из НайденныеОбработчики Цикл Если ЭлементДерева.НомерВерсии <> "*" @@ -3045,11 +3139,12 @@ СведенияОбОбновлении.Вставить("ПродолжительностьОбновления"); СведенияОбОбновлении.Вставить("ВремяНачалаОтложенногоОбновления"); СведенияОбОбновлении.Вставить("ВремяОкончаниеОтложенногоОбновления"); - СведенияОбОбновлении.Вставить("НомерСеанса"); + СведенияОбОбновлении.Вставить("НомерСеанса", Новый СписокЗначений()); СведенияОбОбновлении.Вставить("ПараметрыОбработчикаОбновления"); СведенияОбОбновлении.Вставить("ОтложенноеОбновлениеЗавершеноУспешно"); - СведенияОбОбновлении.Вставить("ДеревоОбработчиков"); - СведенияОбОбновлении.Вставить("ВыводитьОписаниеОбновлений"); + СведенияОбОбновлении.Вставить("ДеревоОбработчиков", Новый ДеревоЗначений()); + СведенияОбОбновлении.Вставить("ВыводитьОписаниеОбновлений", Ложь); + СведенияОбОбновлении.Вставить("ЛегальнаяВерсия", ""); Если ТипЗнч(СтарыеСведения) = Тип("Структура") Тогда ЗаполнитьЗначенияСвойств(СведенияОбОбновлении, СтарыеСведения); @@ -3077,4 +3172,25 @@ КонецФункции +// Проверяет статус отложенных обработчиков обновления. +// +Функция СтатусНевыполненныхОбработчиков() + + СведенияОбОбновлении = СведенияОбОбновленииИнформационнойБазы(); + Для Каждого СтрокаДереваБиблиотека Из СведенияОбОбновлении.ДеревоОбработчиков.Строки Цикл + Для Каждого СтрокаДереваВерсия Из СтрокаДереваБиблиотека.Строки Цикл + Для Каждого Обработчик Из СтрокаДереваВерсия.Строки Цикл + Если Обработчик.Статус = "Ошибка" Тогда + Возврат "СтатусОшибка"; + ИначеЕсли Обработчик.Статус <> "Выполнено" Тогда + Возврат "СтатусНеВыполнено"; + КонецЕсли; + КонецЦикла; + КонецЦикла; + КонецЦикла; + + Возврат ""; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ОбновлениеКонфигурации/Module.bsl b/SSL/src/CommonModules/ОбновлениеКонфигурации/Module.bsl index 79c164960..81321e5d9 100644 --- a/SSL/src/CommonModules/ОбновлениеКонфигурации/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеКонфигурации/Module.bsl @@ -107,11 +107,13 @@ КонфигурацияИзменена = ?(ЕстьДоступДляОбновления Или ЕстьДоступДляПроверкиОбновления, КонфигурацияИзменена(), Ложь); + СтруктураНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ОбновлениеКонфигурации", "НастройкиОбновленияКонфигурации"); + Настройки = Новый Структура; - Настройки.Вставить("КороткоеИмяКонфигурации", КороткоеИмяКонфигурации()); - Настройки.Вставить("АдресСервераДляПроверкиНаличияОбновления", АдресСервераДляПроверкиНаличияОбновления()); - Настройки.Вставить("КаталогОбновлений", КаталогОбновлений()); - Настройки.Вставить("АдресРесурсаДляПроверкиНаличияОбновления", АдресРесурсаДляПроверкиНаличияОбновления()); + Настройки.Вставить("КороткоеИмяКонфигурации", КороткоеИмяКонфигурации(СтруктураНастройки)); + Настройки.Вставить("АдресСервераДляПроверкиНаличияОбновления", АдресСервераДляПроверкиНаличияОбновления(СтруктураНастройки)); + Настройки.Вставить("КаталогОбновлений", КаталогОбновлений(СтруктураНастройки)); + Настройки.Вставить("АдресРесурсаДляПроверкиНаличияОбновления", АдресРесурсаДляПроверкиНаличияОбновления(СтруктураНастройки)); Настройки.Вставить("АдресСервисаПроверкиЛегальности", АдресСервисаПроверкиЛегальности()); Настройки.Вставить("КонфигурацияИзменена", КонфигурацияИзменена); Настройки.Вставить("ПроверитьПрошлыеОбновленияБазы", ОбновлениеКонфигурацииУспешно() <> Неопределено); @@ -167,9 +169,15 @@ // // Возвращаемое значение: // Строка - короткое имя конфигурации. -Функция КороткоеИмяКонфигурации() +Функция КороткоеИмяКонфигурации(СтруктураНастройки) - Значение = ОбновлениеКонфигурацииПереопределяемый.КороткоеИмяКонфигурации() + "/"; + Значение = ОбновлениеКонфигурацииПереопределяемый.КороткоеИмяКонфигурации(); + Если Не ЗначениеЗаполнено(Значение) Тогда + Значение = ""; + КонецЕсли; + ОбновлениеКонфигурацииПереопределяемый.ПриОпределенииКраткогоИмениКонфигурации(Значение); + + Значение = Значение + "/"; // Определение редакции конфигурации ПодстрокиВерсии = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); @@ -181,17 +189,13 @@ ПодстрокиВерсии = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИнформацияСистемная.ВерсияПриложения, "."); Значение = Значение + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + "/"; - СтруктураНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "ОбновлениеКонфигурации", - "НастройкиОбновленияКонфигурации"); - Если СтруктураНастройки <> Неопределено Тогда // Значение из настроек пользователя - ИспользоватьЗначениеНастройки = Ложь; + ИспользоватьЗначениеНастройки = Ложь; СтруктураНастройки.Свойство("ИспользоватьЗначениеНастройкиКороткоеИмяКонфигурации", ИспользоватьЗначениеНастройки); Если ИспользоватьЗначениеНастройки = Истина Тогда Значение = СтруктураНастройки.КороткоеИмяКонфигурации; - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; Возврат Значение; @@ -207,76 +211,62 @@ // // Возврат "localhost"; // локальный веб-сервер для тестирования. // -Функция АдресСервераДляПроверкиНаличияОбновления() +Функция АдресСервераДляПроверкиНаличияОбновления(СтруктураНастройки) - Значение = "downloads.1c.ru"; // Значение по умолчанию - - ЗначениеПереопределяемогоМодуля = ОбновлениеКонфигурацииПереопределяемый.АдресСервераДляПроверкиНаличияОбновления(); - Если НЕ ПустаяСтрока(ЗначениеПереопределяемогоМодуля) Тогда // Переопределяемое значение - Значение = ЗначениеПереопределяемогоМодуля; + Значение = ОбновлениеКонфигурацииПереопределяемый.АдресСервераДляПроверкиНаличияОбновления(); + Если Не ЗначениеЗаполнено(Значение) Тогда + Значение = "downloads.1c.ru"; // Значение по умолчанию КонецЕсли; + ОбновлениеКонфигурацииПереопределяемый.ПриОпределенииАдресаСервераДляПроверкиНаличияОбновления(Значение); - СтруктураНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "ОбновлениеКонфигурации", - "НастройкиОбновленияКонфигурации"); - Если СтруктураНастройки <> Неопределено Тогда // Значение из настроек пользователя - ИспользоватьЗначениеНастройки = Ложь; + ИспользоватьЗначениеНастройки = Ложь; СтруктураНастройки.Свойство("ИспользоватьЗначениеНастройкиАдресСервераДляПроверкиНаличияОбновления", ИспользоватьЗначениеНастройки); Если ИспользоватьЗначениеНастройки = Истина Тогда Значение = СтруктураНастройки.АдресСервераДляПроверкиНаличияОбновления; КонецЕсли; - КонецЕсли; + КонецЕсли; Возврат Значение; КонецФункции -Функция КаталогОбновлений() +Функция КаталогОбновлений(СтруктураНастройки) - Значение = ОбновлениеКонфигурацииКлиентСервер.ДобавитьКонечныйРазделительПути(Метаданные.АдресКаталогаОбновлений); // Значение по умолчанию - - ЗначениеПереопределяемогоМодуля = ОбновлениеКонфигурацииПереопределяемый.КаталогОбновлений(); - Если НЕ ПустаяСтрока(ЗначениеПереопределяемогоМодуля) Тогда // Переопределяемое значение - Значение = ОбновлениеКонфигурацииКлиентСервер.ДобавитьКонечныйРазделительПути(ЗначениеПереопределяемогоМодуля); + Значение = ОбновлениеКонфигурацииПереопределяемый.КаталогОбновлений(); + Если Не ЗначениеЗаполнено(Значение) Тогда + Значение = ОбновлениеКонфигурацииКлиентСервер.ДобавитьКонечныйРазделительПути(Метаданные.АдресКаталогаОбновлений); // Значение по умолчанию КонецЕсли; - СтруктураНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "ОбновлениеКонфигурации", - "НастройкиОбновленияКонфигурации"); + ОбновлениеКонфигурацииПереопределяемый.ПриОпределенииАдресаКаталогаОбновлений(Значение); Если СтруктураНастройки <> Неопределено Тогда // Значение из настроек пользователя - ИспользоватьЗначениеНастройки = Ложь; + ИспользоватьЗначениеНастройки = Ложь; СтруктураНастройки.Свойство("ИспользоватьЗначениеНастройкиКаталогОбновлений", ИспользоватьЗначениеНастройки); Если ИспользоватьЗначениеНастройки = Истина Тогда Значение = СтруктураНастройки.КаталогОбновлений; КонецЕсли; - КонецЕсли; + КонецЕсли; Возврат Значение; КонецФункции -Функция АдресРесурсаДляПроверкиНаличияОбновления() +Функция АдресРесурсаДляПроверкиНаличияОбновления(СтруктураНастройки) - Значение = "/ipp/ITSREPV/V8Update/Configs/"; // Значение по умолчанию - - ЗначениеПереопределяемогоМодуля = ОбновлениеКонфигурацииПереопределяемый.АдресРесурсаДляПроверкиНаличияОбновления(); - Если НЕ ПустаяСтрока(ЗначениеПереопределяемогоМодуля) Тогда // Переопределяемое значение - Значение = ЗначениеПереопределяемогоМодуля; + Значение = ОбновлениеКонфигурацииПереопределяемый.АдресРесурсаДляПроверкиНаличияОбновления(); + Если Не ЗначениеЗаполнено(Значение) Тогда + Значение = "/ipp/ITSREPV/V8Update/Configs/"; // Значение по умолчанию КонецЕсли; - - СтруктураНастройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "ОбновлениеКонфигурации", - "НастройкиОбновленияКонфигурации"); + ОбновлениеКонфигурацииПереопределяемый.ПриОпределенииАдресаРесурсаДляПроверкиНаличияОбновления(Значение); Если СтруктураНастройки <> Неопределено Тогда // Значение из настроек пользователя - ИспользоватьЗначениеНастройки = Ложь; + ИспользоватьЗначениеНастройки = Ложь; СтруктураНастройки.Свойство("ИспользоватьЗначениеНастройкиАдресРесурсаДляПроверкиНаличияОбновления", ИспользоватьЗначениеНастройки); Если ИспользоватьЗначениеНастройки = Истина Тогда Значение = СтруктураНастройки.АдресРесурсаДляПроверкиНаличияОбновления; - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; Возврат Значение; @@ -360,10 +350,7 @@ Функция ПолучитьСтруктуруНастроекПомощника() Экспорт Расписание = Неопределено; - - Настройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( - "ОбновлениеКонфигурации", - "НастройкиОбновленияКонфигурации"); + Настройки = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ОбновлениеКонфигурации", "НастройкиОбновленияКонфигурации"); Если Настройки = Неопределено Тогда КоличествоСтарыхНастроек = 0; diff --git a/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиент/Module.bsl b/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиент/Module.bsl index a2cc64dfa..05fc4da1c 100644 --- a/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиент/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиент/Module.bsl @@ -41,14 +41,12 @@ Если НЕ НаличиеОбновления И НастройкиОбновленияКонфигурации <> Неопределено И НастройкиОбновления.ЕстьДоступДляПроверкиОбновления И (НастройкиОбновленияКонфигурации.ПроверятьНаличиеОбновленияПриЗапуске = 1 ИЛИ - НастройкиОбновленияКонфигурации.ПроверятьНаличиеОбновленияПриЗапуске = 2) Тогда - + НастройкиОбновленияКонфигурации.ПроверятьНаличиеОбновленияПриЗапуске = 2) Тогда + // Подключение обработчика ожидания для проверки наличия обновления в сети Интернет. - Если НастройкиОбновленияКонфигурации <> Неопределено Тогда - Если НастройкиОбновленияКонфигурации.ПроверятьНаличиеОбновленияПриЗапуске = 1 - И НастройкиОбновленияКонфигурации.РасписаниеПроверкиНаличияОбновления <> Неопределено Тогда - ПодключитьОтключитьПроверкуПоРасписанию(Истина); - КонецЕсли; + Если НастройкиОбновленияКонфигурации.ПроверятьНаличиеОбновленияПриЗапуске = 1 + И НастройкиОбновленияКонфигурации.РасписаниеПроверкиНаличияОбновления <> Неопределено Тогда + ПодключитьОтключитьПроверкуПоРасписанию(Истина); КонецЕсли; Параметры = ПолучитьДоступноеОбновлениеКонфигурации(); @@ -105,6 +103,10 @@ // Скачивает из Интернета файл проверки наличия обновлений // +// Параметры: +// ВыдаватьСообщения - Булево - Признак необходимости выводить сообщения об ошибках пользователю +// ПроверитьОбновленияДляНовойРедакции - Булево - признак необходимости проверять обновления для новой редакции платформы +// Функция ПолучитьФайлПроверкиНаличияОбновлений(Знач ВыдаватьСообщения = Истина, ПроверитьОбновленияДляНовойРедакции = Ложь) Экспорт ПараметрыОбновления = ПолучитьПараметрыОбновления(ПроверитьОбновленияДляНовойРедакции); @@ -344,14 +346,15 @@ // Строка - адрес веб-страницы. Функция АдресСтраницыИнформацииОПолученииДоступаКПользовательскомуСайту() Экспорт - Значение = "http://users.v8.1c.ru/Rules.aspx"; // Значение по умолчанию - - ЗначениеПереопределяемогоМодуля = ОбновлениеКонфигурацииКлиентПереопределяемый.АдресСтраницыИнформацииОПолученииДоступаКПользовательскомуСайту(); - Если НЕ ПустаяСтрока(ЗначениеПереопределяемогоМодуля) Тогда // Переопределяемое значение - Значение = ЗначениеПереопределяемогоМодуля; + АдресСтраницы = ОбновлениеКонфигурацииКлиентПереопределяемый.АдресСтраницыИнформацииОПолученииДоступаКПользовательскомуСайту(); + Если Не ЗначениеЗаполнено(АдресСтраницы) Тогда + АдресСтраницы = "http://users.v8.1c.ru/Rules.aspx"; // Значение по умолчанию КонецЕсли; - Возврат Значение; + ОбновлениеКонфигурацииКлиентПереопределяемый.ПриОпределенииАдресаСтраницыПолученияДоступаКСайтуОбновлений(АдресСтраницы); + + Возврат АдресСтраницы; + КонецФункции // Получить адрес каталога файлов обновления на сервере обновлений. @@ -445,7 +448,7 @@ // ВыдаватьСообщения: Булево, признак вывода пользователю сообщений об ошибках Процедура ПроверитьНаличиеОбновленияЧерезИнтернет(ВыдаватьСообщения = Ложь, ДоступноОбновлениеДляНовойРедакции = Ложь) Экспорт - Состояние("ru = 'Проверка наличия обновления в Интернете'"); + Состояние(Нстр("ru = 'Проверка наличия обновления в Интернете'")); Параметры = ПолучитьДоступноеОбновлениеКонфигурации(); Если Параметры.ИсточникОбновления <> -1 Тогда ВремяПолученияОбновления = Параметры.ВремяПолученияОбновления; @@ -489,7 +492,7 @@ Если ОбновленияНеОбнаружено Тогда ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Информация", - НСтр("ru = 'Обновление не требуется: последняя версия конфигурации уже установлена.'")); + НСтр("ru = 'Обновление не требуется: последняя версия конфигурации уже установлена.'")); Параметры.ИмяСтраницы = "ОбновленияНеОбнаружено"; Возврат; @@ -497,10 +500,11 @@ КонецЕсли; КонецЕсли; - ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Информация", - НСтр("ru = 'Обнаружена более новая версия конфигурации в Интернете:'") + " " + - Параметры.ПоследняяВерсияКонфигурации + "."); - + ТекстСообщения = НСтр("ru = 'Обнаружена более новая версия конфигурации в Интернете: %1.'"); + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, Параметры.ПоследняяВерсияКонфигурации); + ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СобытиеЖурналаРегистрации(), "Информация", ТекстСообщения); + + Параметры.ИсточникОбновления = 0; Параметры.ИмяСтраницы = "ДоступноеОбновление"; Параметры.ВремяПолученияОбновления = ОбщегоНазначенияКлиент.ДатаСеанса(); @@ -726,7 +730,14 @@ Функция ПроверятьОбновлениеДляСледующейРедакцииПлатформы() - Возврат ОбновлениеКонфигурацииКлиентПереопределяемый.ПроверятьОбновлениеДляСледующейРедакцииПлатформы(); + ПроверятьОбновление = ОбновлениеКонфигурацииКлиентПереопределяемый.ПроверятьОбновлениеДляСледующейРедакцииПлатформы(); + Если ПроверятьОбновление = Неопределено Тогда + ПроверятьОбновление = Ложь; + КонецЕсли; + + ОбновлениеКонфигурацииКлиентПереопределяемый.ПриПроверкеОбновленияДляСледующейРедакцииПлатформы(ПроверятьОбновление); + + Возврат ПроверятьОбновление; КонецФункции @@ -761,22 +772,18 @@ // Параметры: // см. ПриПолученииСпискаПредупрежденийЗавершенияРаботы. // -// Примечание: -// Процедура очищает список ранее добавленных предупреждений. Процедура ПриЗавершенииРаботыСистемы(Предупреждения) Экспорт Если ПредлагатьОбновлениеИнформационнойБазыПриЗавершенииСеанса = Истина Тогда - Предупреждения.Очистить(); - ТекстФлажка = НСтр("ru = 'Установить обновление конфигурации'"); - ДействиеПриУстановленномФлажке = Новый Структура; - ДействиеПриУстановленномФлажке.Вставить("Форма", "Обработка.ОбновлениеКонфигурации.Форма.Форма"); - ДействиеПриУстановленномФлажке.Вставить("ПараметрыФормы", Новый Структура("ЗавершениеРаботыСистемы, ВыполнитьОбновление", Истина, Истина)); - ПараметрыПредупреждения = Новый Структура; - ПараметрыПредупреждения.Вставить("ТекстФлажка", ТекстФлажка); - ПараметрыПредупреждения.Вставить("ДействиеПриУстановленномФлажке", ДействиеПриУстановленномФлажке); - ПараметрыПредупреждения.Вставить("Приоритет", 50); - ПараметрыПредупреждения.Вставить("ВывестиОдноПредупреждение", Истина); + ПараметрыПредупреждения = СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы(); + ПараметрыПредупреждения.ТекстФлажка = НСтр("ru = 'Установить обновление конфигурации'"); + ПараметрыПредупреждения.Приоритет = 50; + ПараметрыПредупреждения.ВывестиОдноПредупреждение = Истина; + + ДействиеПриУстановленномФлажке = ПараметрыПредупреждения.ДействиеПриУстановленномФлажке; + ДействиеПриУстановленномФлажке.Форма = "Обработка.ОбновлениеКонфигурации.Форма.Форма"; + ДействиеПриУстановленномФлажке.ПараметрыФормы = Новый Структура("ЗавершениеРаботыСистемы, ВыполнитьОбновление", Истина, Истина); Предупреждения.Добавить(ПараметрыПредупреждения); КонецЕсли; @@ -810,22 +817,8 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: -// Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: -// ТекстФлажка - Строка - текст флажка. -// ПоясняющийТекст - Строка - текст, выводимый в форме сверху -// управляющего элемента (флажок или гиперссылка). -// ТекстГиперссылки - Строка - текст гиперссылки. -// ДействиеПриУстановленномФлажке - Структура с полями: -// Форма - путь к открываемой форме. -// ПараметрыФормы - произвольная структура параметров формы Форма. -// ДействиеПриНажатииГиперссылки - Структура с полями: -// Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. -// ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. -// ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу -// вместо универсальной формы в случае, когда в списке -// предупреждений оказывается только одно данное предупреждение. -// ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура -// параметров для вышеописанной формы. +// Предупреждения - Массив - в массив можно добавить элементы типа Структура, +// свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт @@ -853,7 +846,14 @@ // Функция ПроверитьЛегальностьСкачиванияОбновления(ПараметрыЗапроса) Экспорт - Если Не ОбновлениеКонфигурацииКлиентПереопределяемый.ИспользоватьПроверкуЛегальностиСкачиванияОбновления() Тогда + ПроверятьЛегальность = ОбновлениеКонфигурацииКлиентПереопределяемый.ИспользоватьПроверкуЛегальностиСкачиванияОбновления(); + Если ПроверятьЛегальность = Неопределено Тогда + ПроверятьЛегальность = Истина; + КонецЕсли; + + ОбновлениеКонфигурацииКлиентПереопределяемый.ПриПроверкеЛегальностиСкачиванияОбновлений(ПроверятьЛегальность); + + Если Не ПроверятьЛегальность Тогда Возврат Новый Структура("ЗначениеРезультата, ТекстОшибки", Истина, ""); diff --git a/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиентПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиентПереопределяемый/Module.bsl index ff8195c77..b1cee3814 100644 --- a/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиентПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеКонфигурацииКлиентПереопределяемый/Module.bsl @@ -5,15 +5,7 @@ #Область ПрограммныйИнтерфейс -// Обработчик события перехода по страница помощника обновления. -// -// Параметры -// ПомощникОбновления - Обработка.ОбновлениеКонфигурации -// ПредыдущаяСтраница - Строка - имя страницы помощника. -// СледующаяСтраница - Строка - имя страницы помощника. -// Отказ - Булево - если записать значение Истина, то переход на -// страницу СледующаяСтраница не произойдет. -// По умолчанию, значение Ложь. +// Устарела. // Процедура ПриПереходеНаСтраницуПомощника(ПредыдущаяСтраница, СледующаяСтраница, Отказ) Экспорт @@ -30,6 +22,12 @@ КонецПроцедуры +// Устарела. Следует использовать ПриПроверкеГотовностиКОбновлениюКонфигурации +// +Функция ГотовностьКОбновлениюКонфигурации(Знач ВыдаватьСообщения) Экспорт + +КонецФункции + // Проверить, что информационную базу можно обновить. // Например, если выясняется, что обновление конфигурации не пройдет или // будет идти с проблемами, то пользователю выдается предупреждение, и @@ -37,54 +35,61 @@ // повторить попытку обновления. // // Параметры -// ВыдаватьСообщения - Булево - определяет, может ли функция выводить -// сообщения/диалоги или от нее требуется -// вернуть только результат проверки. -// -// Возвращаемое значение: -// Булево - признак готовности ИБ к проведению обновления. +// КонфигурацияГотоваКОбновлению - Булево - признак готовности ИБ к проведению обновления // // Пример реализации: -// -// Результат = ПроверитьКорректностьДанных(); -// Если НЕ Результат И ВыдаватьСообщения Тогда +// +// КонфигурацияГотоваКОбновлению = ПроверитьКорректностьДанных(); +// Если Не КонфигурацияГотоваКОбновлению И ВыдаватьСообщения Тогда // Предупреждение("Конфигурация не может быть обновлена, так как ..."); -// КонецЕсли; -// Возврат Результат; -Функция ГотовностьКОбновлениюКонфигурации(Знач ВыдаватьСообщения) Экспорт - Возврат Истина; // результат по умолчанию +// КонецЕсли; +// +Процедура ПриОпределенииГотовностиКОбновлениюКонфигурации(КонфигурацияГотоваКОбновлению) Экспорт + +КонецПроцедуры + +// Устарела. Следует использовать ПриОпределенииАдресаСтраницыПолученияДоступаКСайтуОбновлений +// +Функция АдресСтраницыИнформацииОПолученииДоступаКПользовательскомуСайту() Экспорт + КонецФункции // Получить адрес веб-страницы с информацией о том, как получить доступ к // пользовательскому разделу на сайте поставщика конфигурации. // -// Возвращаемое значение: -// Строка - адрес веб-страницы. +// Параметры: +// АдресСтраницы - Строка - адрес веб-страницы. // -// Пример реализации: -// Возврат "http://users.v8.1c.ru/Rules.aspx"; // для типовых конфигураций -// -Функция АдресСтраницыИнформацииОПолученииДоступаКПользовательскомуСайту() Экспорт +Процедура ПриОпределенииАдресаСтраницыПолученияДоступаКСайтуОбновлений(АдресСтраницы) Экспорт - - - Возврат ""; +КонецПроцедуры + +// Устарела. Следует использовать ПриПроверкеОбновленияДляСледующейРедакцииПлатформы. +// +Функция ПроверятьОбновлениеДляСледующейРедакцииПлатформы() Экспорт КонецФункции -// Признак необходимости проверки обновления для следующей редакции платформы. +// Проверят необходимость проверки обновления для следующей редакции платформы. // Рекомендуется устанавливать значение Истина, только при следующих условиях: // - Для конфигурации используется обновление с сайта поддержки пользователей системы 1С:Предприятие // - Вышла новая редакция платформы // - Конфигурация поддерживает прямое обновление на новую версию, использующую новую редакцию платформы. // -// Если функция возвращает значение Истина, то при проверке обновления на сайте поддержки пользователей +// Если процедура устанавливает значение Истина, то при проверке обновления на сайте поддержки пользователей // в случае если не найдено обновлений для текущей редакции платформы программа автоматически проверит // обновления для следующей редакции платформы. // -Функция ПроверятьОбновлениеДляСледующейРедакцииПлатформы() Экспорт +// Параметры: +// ПроверятьОбновление - Булево - Признак необходимости проверки обновления для следующей редакции +// +Процедура ПриПроверкеОбновленияДляСледующейРедакцииПлатформы(ПроверятьОбновление) Экспорт - Возврат Ложь; +КонецПроцедуры + +// Устарела. Следует использовать ПриПроверкеИспользованияПоверкиЛегальностиСкачиванияОбновлений +// +Функция ИспользоватьПроверкуЛегальностиСкачиванияОбновления() Экспорт КонецФункции @@ -92,10 +97,8 @@ // Рекомендуется устанавливать значение Истина, если конфигурация поддерживает обновление // с сайта поддержки пользователей. // -Функция ИспользоватьПроверкуЛегальностиСкачиванияОбновления() Экспорт +Процедура ПриПроверкеЛегальностиСкачиванияОбновлений(ПроверятьЛегальность) Экспорт - Возврат Истина; - -КонецФункции +КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonModules/ОбновлениеКонфигурацииПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбновлениеКонфигурацииПереопределяемый/Module.bsl index d38bc5ded..312cd6dfa 100644 --- a/SSL/src/CommonModules/ОбновлениеКонфигурацииПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбновлениеКонфигурацииПереопределяемый/Module.bsl @@ -5,62 +5,74 @@ #Область ПрограммныйИнтерфейс -// Получить короткое имя (идентификатор) конфигурации. +// Устарела. Следует использовать ПриОпределенииКраткогоИмениКонфигурации // -// Возвращаемое значение: -// Строка - короткое имя конфигурации. Функция КороткоеИмяКонфигурации() Экспорт - - - Возврат ""; - КонецФункции -// Получить адрес веб-сервера поставщика конфигурации, на котором находится -// информация о доступных обновлениях ("открытая" часть веб-сайта). +// Определяет короткое имя (идентификатор) конфигурации. // -// Возвращаемое значение: -// Строка - адрес веб-сервера. +// Параметры: +// КраткоеИмя - Строка- короткое имя конфигурации. // -// Примеры реализации: -// Возврат "localhost"; // локальный веб-сервер для тестирования -// Возврат "downloads.1c.ru"; // сервер обновлений типовых конфигураций +Процедура ПриОпределенииКраткогоИмениКонфигурации(КраткоеИмя) Экспорт + + + +КонецПроцедуры + +// Устарела. Следует использовать ПриОпределенииАдресаСервераДляПроверкиНаличияОбновления // Функция АдресСервераДляПроверкиНаличияОбновления() Экспорт +КонецФункции + +// Получает адрес веб-сервера поставщика конфигурации, на котором находится +// информация о доступных обновлениях ("открытая" часть веб-сайта). +// +// Параметры: +// АдресСервера - Строка - адрес веб-сервера. +// +// Примеры реализации: +// АдресСервера = "localhost"; // локальный веб-сервер для тестирования +// +Процедура ПриОпределенииАдресаСервераДляПроверкиНаличияОбновления(АдресСервера) Экспорт - - Возврат ""; +КонецПроцедуры + +// Устарела. Следует использовать ПриОпределенииАдресаРесурсаДляПроверкиНаличияОбновления +// +Функция АдресРесурсаДляПроверкиНаличияОбновления() Экспорт КонецФункции // Получить адрес ресурса на веб-сервере для проверки наличия обновлений // (на "открытой" части веб-сайта). // -// Например: -// Возврат "/ipp/ITSREPV/V8Update/Configs/"; +// Параметры: +// АдресРесурса - Строка - Адрес ресурса для проверки наличия обновления // -Функция АдресРесурсаДляПроверкиНаличияОбновления() Экспорт +Процедура ПриОпределенииАдресаРесурсаДляПроверкиНаличияОбновления(АдресРесурса) Экспорт - - - Возврат ""; - -КонецФункции +КонецПроцедуры -// Получить адрес веб-сайта с каталогом обновлений ("закрытая" часть веб-сайта). -// -// Примеры реализации: -// Возврат Метаданные.АдресКаталогаОбновлений; // из свойств конфигурации -// Возврат "localhost/tmplts/"; // локальный веб-сервер для тестирования +// Устарела. Следует использовать ПриОпределенииКаталогаОбновлений // Функция КаталогОбновлений() Экспорт - - - Возврат ""; - КонецФункции +// Получает адрес веб-сайта с каталогом обновлений ("закрытая" часть веб-сайта). +// +// Параметры: +// АдресКаталогаОбновлений - Строка - Адрес каталога обновлений +// +// Примеры реализации: +// АдресКаталогаОбновлений = "localhost/tmplts/"; // локальный веб-сервер для тестирования +// +Процедура ПриОпределенииАдресаКаталогаОбновлений(АдресКаталогаОбновлений) Экспорт + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/ОбщегоНазначения/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначения/Module.bsl index d2a581ffe..5c7a74c0b 100644 --- a/SSL/src/CommonModules/ОбщегоНазначения/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначения/Module.bsl @@ -1019,9 +1019,9 @@ // Прочитаем первый узел и проверим его Если Не Чтение.Прочитать() Тогда - ВызватьИсключение(НСтр("ru = 'Пустой XML'")); + ВызватьИсключение НСтр("ru = 'Пустой XML'"); ИначеЕсли Чтение.Имя <> "Items" Тогда - ВызватьИсключение(НСтр("ru = 'Ошибка в структуре XML'")); + ВызватьИсключение НСтр("ru = 'Ошибка в структуре XML'"); КонецЕсли; // Получим описание таблицы и создадим ее @@ -1042,7 +1042,7 @@ ИначеЕсли Чтение.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда Продолжить; ИначеЕсли Чтение.Имя <> "Item" Тогда - ВызватьИсключение(НСтр("ru = 'Ошибка в структуре XML'")); + ВызватьИсключение НСтр("ru = 'Ошибка в структуре XML'"); КонецЕсли; новСтр = ТаблицаЗначений.Добавить(); @@ -1070,22 +1070,22 @@ // (если ИменаКолонок не заполнен - всех колонок) // // Параметры: -// КоллекцияСтрок1 - коллекция, отвечающая вышеописанным требованиям -// КоллекцияСтрок2 - коллекция, отвечающая вышеописанным требованиям -// ИменаКолонок - строка, разделенная запятыми - имена колонок, +// КоллекцияСтрок1 - КоллекцияЗначений - коллекция, отвечающая вышеописанным требованиям; +// КоллекцияСтрок2 - КоллекцияЗначений - коллекция, отвечающая вышеописанным требованиям; +// ИменаКолонок - Строка - имена колонок через запятую, // по которым производится сравнение. // Не является обязательным для коллекций, // состав колонок которых можно выявить: // ТаблицаЗначений, СписокЗначений, Соответствие, Структура, // если не указан - сравнение производится по всем колонкам. // Для коллекций других типов является обязательным -// ИсключаяКолонки - имена колонок, которые игнорируются при сравнении, необязательный -// УчитыватьПоследовательностьСтрок - булево, если Истина, то коллекции признаются +// ИсключаяКолонки - Строка - имена колонок, которые игнорируются при сравнении, необязательный +// УчитыватьПоследовательностьСтрок - Булево - если Истина, то коллекции признаются // идентичными только если одинаковые строки размещены -// в коллекциях на одинаковых местах +// в коллекциях на одинаковых местах. // // Возвращаемое значение: -// Булево +// Булево. // Функция КоллекцииИдентичны(КоллекцияСтрок1, КоллекцияСтрок2, ИменаКолонок = "", ИсключаяКолонки = "", УчитыватьПоследовательностьСтрок = Ложь) Экспорт @@ -1274,14 +1274,14 @@ // Сравнивает данные сложной структуры с учетом вложенности. // // Параметры: -// Данные1 - Структура, ФиксированнаяСтруктура. -// - Соответствие, ФиксированноеСоответствие. -// - Массив, ФиксированныйМассив. -// - ХранилищеЗначения, ТаблицаЗначений. -// - Простые типы, которые можно сравнивать на равно, +// Данные1 - Структура , ФиксированнаяСтруктура - +// - Соответствие, ФиксированноеСоответствие - +// - Массив, ФиксированныйМассив - +// - ХранилищеЗначения, ТаблицаЗначений - +// - Простые типы - которые можно сравнивать на равно, // например, Строка, Число, Булево. // -// Данные2 - те же типы, что и для параметра Данные1. +// Данные2 - Произвольный - те же типы, что и для параметра Данные1. // // Возвращаемое значение: // Булево. @@ -1396,7 +1396,7 @@ // Фиксирует данные типов Структура, Соответствие, Массив с учетом вложенности. // // Параметры: -// Данные - Структура, Соответствие, Массив, значения которых являются примитивными типами, +// Данные - Структура, Соответствие, Массив - коллекции, значения которых являются примитивными типами, // хранилищем значения или не могут быть изменены. Поддерживаются типы значений: // Булево, Строка, Число, Дата, Неопределено, УникальныйИдентификатор, Null, Тип, // ХранилищеЗначения, ОбщийМодуль, ОбъектМетаданных, ТипЗначенияXDTO, ТипОбъектаXDTO, @@ -1515,23 +1515,21 @@ //////////////////////////////////////////////////////////////////////////////// // Математические процедуры и функции -// Выполняет пропорциональное распределение суммы в соответствии -// с заданными коэффициентами распределения. +// Выполняет пропорциональное распределение суммы в соответствии с заданными коэффициентами. // // Параметры: -// ИсхСумма - распределяемая сумма -// МассивКоэф - массив коэффициентов распределения -// Точность - точность округления при распределении. Необязателен. +// РаспределяемаяСумма - Число; +// КоэффициентыРаспределения - Массив; +// ТочностьОкругления - Число. // -// Возврат: -// МассивСумм - массив размерностью равный массиву коэффициентов, содержит -// суммы в соответствии с весом коэффициента (из массива коэффициентов) -// В случае если распределить не удалось (сумма = 0, кол-во коэф. = 0, -// или суммарный вес коэф. = 0), тогда возвращается значение Неопределено +// Возвращаемое значение: +// Массив - список распределенных сумм. +// В случае, если распределить не удалось (сумма = 0, кол-во коэф. = 0, +// или суммарный вес коэф. = 0), возвращается значение Неопределено. // -Функция РаспределитьСуммуПропорциональноКоэффициентам(Знач ИсхСумма, МассивКоэф, Знач Точность = 2) Экспорт +Функция РаспределитьСуммуПропорциональноКоэффициентам(Знач РаспределяемаяСумма, КоэффициентыРаспределения, Знач Точность = 2) Экспорт - Возврат ОбщегоНазначенияКлиентСервер.РаспределитьСуммуПропорциональноКоэффициентам(ИсхСумма, МассивКоэф, Точность); + Возврат ОбщегоНазначенияКлиентСервер.РаспределитьСуммуПропорциональноКоэффициентам(РаспределяемаяСумма, КоэффициентыРаспределения, Точность); КонецФункции @@ -1771,7 +1769,7 @@ // СсылкаНаПредмет - ЛюбаяСсылка - объект ссылочного типа. // // Возвращаемое значение: -// Строка +// Строка. // Функция ПредметСтрокой(СсылкаНаПредмет) Экспорт @@ -1806,26 +1804,27 @@ КонецФункции // Формирует соответствие для удаления объектов. -// Функция ПолучитьОбщийСписокИсключенийПоискаСсылок() Экспорт - МассивИсключенийИзСобытия = Новый Массив; - - ОбработчикиСобытия = ОбработчикиСлужебногоСобытия( - "СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииИсключенийПоискаСсылок"); - - Для Каждого Обработчик Из ОбработчикиСобытия Цикл - Обработчик.Модуль.ПриДобавленииИсключенийПоискаСсылок(МассивИсключенийИзСобытия); - КонецЦикла; - - МассивИсключенийИзПереопределяемогоМодуля = ОбщегоНазначенияПереопределяемый.ПолучитьИсключенияПоискаСсылок(); - ИсключенияПоискаСсылок = Новый Соответствие; - ДобавитьИсключенияПоискаСсылок(ИсключенияПоискаСсылок, МассивИсключенийИзСобытия); - ДобавитьИсключенияПоискаСсылок(ИсключенияПоискаСсылок, МассивИсключенийИзПереопределяемогоМодуля); + МассивИсключений = Новый Массив; + ОбработчикиСобытия = ОбработчикиСлужебногоСобытия( + "СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииИсключенийПоискаСсылок"); + Для Каждого Обработчик Из ОбработчикиСобытия Цикл + Обработчик.Модуль.ПриДобавленииИсключенийПоискаСсылок(МассивИсключений); + КонецЦикла; + ДобавитьИсключенияПоискаСсылок(ИсключенияПоискаСсылок, МассивИсключений); + МассивИсключений = ОбщегоНазначенияПереопределяемый.ПолучитьИсключенияПоискаСсылок(); + ДобавитьИсключенияПоискаСсылок(ИсключенияПоискаСсылок, МассивИсключений); + + МассивИсключений = Новый Массив; + ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок(МассивИсключений); + ДобавитьИсключенияПоискаСсылок(ИсключенияПоискаСсылок, МассивИсключений); + Возврат ИсключенияПоискаСсылок; + КонецФункции // Возвращает значение в виде XML-строки. @@ -1953,9 +1952,9 @@ Знач ИмяТочкиПодключения = "", Знач ИмяПользователя, Знач Пароль, - Знач Таймаут = Неопределено, + Знач Таймаут = 0, Знач ДелатьКонтрольныйВызов = Ложь) Экспорт - + Если ДелатьКонтрольныйВызов И Таймаут <> Неопределено И Таймаут > 20 Тогда WSПроксиPing = ОбщегоНазначенияПовтИсп.WSПрокси( @@ -2093,7 +2092,7 @@ ОбщиеПараметры = Новый Структура; ОбщиеПараметры.Вставить("ИмяФормыПерсональныхНастроек", ""); ОбщиеПараметры.Вставить("МинимальноНеобходимаяВерсияПлатформы", "8.3.4.365"); - ОбщиеПараметры.Вставить("РаботаВПрограммеЗапрещена", Истина); // Блокировать запуск, если версия ниже минимальной. + ОбщиеПараметры.Вставить("РаботаВПрограммеЗапрещена", Ложь); // Блокировать запуск, если версия ниже минимальной. ОбщиеПараметры.Вставить("ЗапрашиватьПодтверждениеПриЗавершенииПрограммы", Истина); ОбщиеПараметры.Вставить("ОтключитьСправочникИдентификаторыОбъектовМетаданных", Ложь); @@ -2167,13 +2166,12 @@ Функция ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт Если ОбщегоНазначенияПовтИсп.РазделениеВключено() - И Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда - + И Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда Отказ = Истина; Возврат Ложь; КонецЕсли; - Если Форма.Параметры.Свойство("АвтоТест") И ПравоДоступа("Администрирование", Метаданные) Тогда + Если Форма.Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат Ложь; КонецЕсли; @@ -2199,7 +2197,8 @@ Если СтандартныеПодсистемыСервер.НеобходимоОбновлениеПараметровРаботыПрограммы() Тогда ВызватьИсключение - НСтр("ru = 'Вход в программу временно невозможен в связи с обновлением на новую версию.'"); + НСтр("ru = 'Вход в программу временно невозможен в связи с обновлением на новую версию. + |Рекомендуется запрещать выполнение регламентных заданий на время обновления.'"); КонецЕсли; УстановитьПривилегированныйРежим(Истина); @@ -2209,7 +2208,8 @@ И ЗначениеЗаполнено(Константы.ГлавныйУзел.Получить()) Тогда ВызватьИсключение - НСтр("ru = 'Вход в программу временно невозможен до восстановления связи с главным узлом.'"); + НСтр("ru = 'Вход в программу временно невозможен до восстановления связи с главным узлом. + |Рекомендуется запрещать выполнение регламентных заданий на время восстановления.'"); КонецЕсли; КонецПроцедуры @@ -2918,21 +2918,9 @@ // Функция ИдентификаторОбъектаМетаданных(ОписаниеОбъектаМетаданных) Экспорт - Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); - - Кэш = СтандартныеПодсистемыПовтИсп.ПараметрыБазовойФункциональности( - ).ИдентификаторыОбъектовМетаданных; - ТипОписанияОбъектаМетаданных = ТипЗнч(ОписаниеОбъектаМетаданных); Если ТипОписанияОбъектаМетаданных = Тип("Тип") Тогда - Если Кэш <> Неопределено Тогда - Идентификатор = Кэш.ПоТипам.Получить(ТипОписанияОбъектаМетаданных); - Если Идентификатор <> Неопределено Тогда - Возврат Идентификатор; - КонецЕсли; - КонецЕсли; - ОбъектМетаданных = Метаданные.НайтиПоТипу(ОписаниеОбъектаМетаданных); Если ОбъектМетаданных = Неопределено Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( @@ -2942,94 +2930,16 @@ |""%1"".'"), ОписаниеОбъектаМетаданных); Иначе - Таблица = ОбъектМетаданных.ПолноеИмя(); + ПолноеИмяОбъектаМетаданных = ОбъектМетаданных.ПолноеИмя(); КонецЕсли; ИначеЕсли ТипОписанияОбъектаМетаданных = Тип("Строка") Тогда - Таблица = ОписаниеОбъектаМетаданных; + ПолноеИмяОбъектаМетаданных = ОписаниеОбъектаМетаданных; Иначе - Таблица = ОписаниеОбъектаМетаданных.ПолноеИмя(); + ПолноеИмяОбъектаМетаданных = ОписаниеОбъектаМетаданных.ПолноеИмя(); КонецЕсли; - Если Кэш <> Неопределено Тогда - Идентификатор = Кэш.ПоПолнымИменам.Получить(Таблица); - Если Идентификатор <> Неопределено Тогда - Возврат Идентификатор; - КонецЕсли; - КонецЕсли; - - УстановитьПривилегированныйРежим(Истина); - - Запрос = Новый Запрос; - Запрос.УстановитьПараметр("ПолноеИмя", Таблица); - Запрос.Текст = - "ВЫБРАТЬ - | Идентификаторы.Ссылка КАК Ссылка, - | Идентификаторы.КлючОбъектаМетаданных, - | Идентификаторы.ПолноеИмя - |ИЗ - | Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы - |ГДЕ - | Идентификаторы.ПолноеИмя = &ПолноеИмя - | И НЕ Идентификаторы.ПометкаУдаления"; - - Выгрузка = Запрос.Выполнить().Выгрузить(); - Если Выгрузка.Количество() = 0 Тогда - // Если идентификатор не найден по полному имени, возможно что полное имя задано с ошибкой - Если ТипОписанияОбъектаМетаданных = Тип("Строка") - И Метаданные.НайтиПоПолномуИмени(ОписаниеОбъектаМетаданных) = Неопределено Тогда - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). - | - |Объект метаданных не найден по полному имени: - |""%1"".'"), - ОписаниеОбъектаМетаданных); - КонецЕсли; - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). - | - |Для объекта метаданных ""%1"" - |не найден идентификатор - |в справочнике ""Идентификаторы объектов метаданных"".'") - + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), - Таблица); - ИначеЕсли Выгрузка.Количество() > 1 Тогда - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). - | - |Для объекта метаданных ""%1"" - |найдено несколько идентификаторов - |в справочнике ""Идентификаторы объектов метаданных"".'") - + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), - Таблица); - КонецЕсли; - - // Проверка соответствия ключа объекта метаданных полному имени объекта метаданных - РезультатПроверки = Справочники.ИдентификаторыОбъектовМетаданных.КлючОбъектаМетаданныхСоответствуетПолномуИмени(Выгрузка[0]); - Если РезультатПроверки.НеСоответствует Тогда - Если РезультатПроверки.ОбъектМетаданных = Неопределено Тогда - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). - | - |Для объекта метаданных ""%1"" - |найден идентификатор в справочнике ""Идентификаторы объектов метаданных"", - |которому соответствует удаленный объект метаданных.'") - + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), - Таблица); - Иначе - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). - | - |Для объекта метаданных ""%1"" - |найден идентификатор в справочнике ""Идентификаторы объектов метаданных"", - |который соответствует другому объекту метаданных ""%2"".'") - + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), - Таблица, - РезультатПроверки.ОбъектМетаданных); - КонецЕсли; - КонецЕсли; - - Возврат Выгрузка[0].Ссылка; + Возврат СтандартныеПодсистемыПовтИсп.ИдентификаторОбъектаМетаданных(ПолноеИмяОбъектаМетаданных); КонецФункции @@ -3043,28 +2953,7 @@ // Функция ОбъектМетаданныхПоИдентификатору(Идентификатор) Экспорт - Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); - - Кэш = СтандартныеПодсистемыПовтИсп.ПараметрыБазовойФункциональности( - ).ИдентификаторыОбъектовМетаданных; - - Если Кэш <> Неопределено Тогда - ТипОбъектаМетаданных = Кэш.ТипыПоИдентификаторам.Получить(Идентификатор); - Если ТипОбъектаМетаданных <> Неопределено Тогда - ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипОбъектаМетаданных); - Если ОбъектМетаданных <> Неопределено Тогда - Возврат ОбъектМетаданных; - КонецЕсли; - Иначе - ПолноеИмя = Кэш.ПолныеИменаПоИдентификаторам.Получить(Идентификатор); - Если ПолноеИмя <> Неопределено Тогда - ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмя); - Если ОбъектМетаданных <> Неопределено Тогда - Возврат ОбъектМетаданных; - КонецЕсли; - КонецЕсли; - КонецЕсли; - КонецЕсли; + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(Истина); УстановитьПривилегированныйРежим(Истина); @@ -3147,7 +3036,7 @@ КонецФункции -// Для использования в процедуре ЗаполнитьТаблицуПереименованияОбъектовМетаданных +// Для использования в процедуре ПриДобавленииПереименованийОбъектовМетаданных // общего модуля ОбщегоНазначенияПереопределяемый для описания переименований объектов метаданных. // // Параметры: @@ -3160,7 +3049,7 @@ // Процедура ДобавитьПереименование(Итог, ВерсияИБ, СтароеПолноеИмя, НовоеПолноеИмя, ИдентификаторБиблиотеки = "") Экспорт - Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(); СтароеИмяКоллекции = ВРег(ИмяКоллекции(СтароеПолноеИмя)); НовоеИмяКоллекции = ВРег(ИмяКоллекции(НовоеПолноеИмя)); @@ -3246,7 +3135,7 @@ // Для остальных типов приводит тип к строке, например "Число". // // Возвращаемое значение: -// Строка +// Строка. // Функция СтроковоеПредставлениеТипа(Тип) Экспорт @@ -3302,8 +3191,8 @@ // совпадает с нужным типом. // // Параметры: -// ОписаниеТипа - ОписаниеТипов -// ТипЗначения - Тип +// ОписаниеТипа - ОписаниеТипов - проверяемая коллекция типов; +// ТипЗначения - Тип - проверяемый тип. // // Возвращаемое значение: // Булево - Истина, если совпадает. @@ -3316,7 +3205,7 @@ КонецЕсли; Возврат Ложь; - + КонецФункции // Проверяет наличие табличной части у справочника. @@ -3506,7 +3395,7 @@ // конфигурациях, рассчитанных на платформу версии 8.2. // // Параметры: -// Ссылка - ссылка на предопределенный элемент. +// Ссылка - ЛюбаяСсылка - ссылка на предопределенный элемент. // // Возвращаемое значение: // Строка - имя предопределенного элемента. @@ -3517,6 +3406,79 @@ КонецФункции +// Конструктор объекта ОписаниеТипов, содержащего тип Строка. +// +// Параметры: +// ДлинаСтроки - Число. +// +// ВозвращаемоеЗначение: +// ОписаниеТипов. +Функция ОписаниеТипаСтрока(ДлинаСтроки) Экспорт + + Массив = Новый Массив; + Массив.Добавить(Тип("Строка")); + + КвалификаторСтроки = Новый КвалификаторыСтроки(ДлинаСтроки, ДопустимаяДлина.Переменная); + + Возврат Новый ОписаниеТипов(Массив, , КвалификаторСтроки); + +КонецФункции // ПолучитьОписаниеТиповСтроки() + +// Конструктор объекта ОписаниеТипов, содержащего тип Число. +// +// Параметры: +// Разрядность - Число - общее количество разрядов числа (количество разрядов +// целой части плюс количество разрядов дробной части). +// РазрядностьДробнойЧасти - Число - число разрядов дробной части. +// ЗнакЧисла - ДопустимыйЗнак - допустимый знак числа. +// +// ВозвращаемоеЗначение: +// ОписаниеТипов. +Функция ОписаниеТипаЧисло(Разрядность, РазрядностьДробнойЧасти = 0, ЗнакЧисла = Неопределено) Экспорт + + Если ЗнакЧисла = Неопределено Тогда + КвалификаторЧисла = Новый КвалификаторыЧисла(Разрядность, РазрядностьДробнойЧасти); + Иначе + КвалификаторЧисла = Новый КвалификаторыЧисла(Разрядность, РазрядностьДробнойЧасти, ЗнакЧисла); + КонецЕсли; + + Возврат Новый ОписаниеТипов("Число", КвалификаторЧисла); + +КонецФункции // ПолучитьОписаниеТиповЧисла() + +// Конструктор объекта ОписаниеТипов, содержащего тип Дата. +// +// Параметры: +// ЧастиДаты - ЧастиДаты - набор вариантов использования значений типа Дата. +// +// ВозвращаемоеЗначение: +// ОписаниеТипов. +Функция ОписаниеТипаДата(ЧастиДаты) Экспорт + + Массив = Новый Массив; + Массив.Добавить(Тип("Дата")); + + КвалификаторДаты = Новый КвалификаторыДаты(ЧастиДаты); + + Возврат Новый ОписаниеТипов(Массив, , , КвалификаторДаты); + +КонецФункции + +// Позволяет определить, есть ли среди реквизитов объекта реквизит с переданным именем. +// +// Параметры: +// ИмяРеквизита - Строка - имя реквизита; +// МетаданныеОбъекта - ОбъектМетаданных - объект, в котором требуется проверить наличие реквизита. +// +// Возвращаемое значение: +// Булево. +// +Функция ЕстьРеквизитОбъекта(ИмяРеквизита, МетаданныеОбъекта) Экспорт + + Возврат НЕ (МетаданныеОбъекта.Реквизиты.Найти(ИмяРеквизита) = Неопределено); + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Функции определения типов объектов метаданных @@ -4033,11 +3995,19 @@ // Сохранение, чтение и удаление настроек из хранилищ // Сохраняет настройку в хранилище общих настроек. -// +// // Параметры: -// Соответствуют методу ХранилищеОбщихНастроекСохранить.Сохранить, -// подробнее - см. параметры процедуры ХранилищеСохранить() -// +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// Значение - Произвольный - Настройки, которые нужно сохранить в хранилище. +// ОписаниеНастроек - ОписаниеНастроек - Вспомогательная информация о настройке. +// ИмяПользователя - Строка - Имя пользователя, настройки которого сохраняются. +// Если не указано, то сохраняются настройки текущего пользователя. +// НужноОбновитьПовторноИспользуемыеЗначения - Булево - Сбросить кэши модулей ПовтИсп. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Сохранить" в синтакс-помощнике. +// Процедура ХранилищеОбщихНастроекСохранить(КлючОбъекта, КлючНастроек = "", Значение, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено, НужноОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт @@ -4056,8 +4026,21 @@ // Загружает настройку из хранилища общих настроек. // // Параметры: -// Соответствуют методу ХранилищеОбщихНастроек.Загрузить, -// подробнее - см. параметры функции ХранилищеЗагрузить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Необязательный. Ключ сохраняемых настроек. +// ЗначениеПоУмолчанию - Произвольный - Необязательный. +// Значение, которое необходимо подставить если настройки не были загружены. +// ОписаниеНастроек - ОписаниеНастроек - Необязательный. При чтении значения настройки в данный параметр +// записывается вспомогательная информация о настройке. +// ИмяПользователя - Строка - Необязательный. Имя пользователя, настройки которого загружаются. +// Если не указано, то загружается настройки текущего пользователя. +// +// Возвращаемое значение: +// Произвольный - Настройки, загруженные из хранилища. +// Неопределено - Если настройки не найдены и параметр ЗначениеПоУмолчанию не указан. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Загрузить" в синтакс-помощнике. // Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек = "", ЗначениеПоУмолчанию = Неопределено, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт @@ -4075,8 +4058,15 @@ // Удаляет настройку из хранилища общих настроек. // // Параметры: -// Соответствуют методу ХранилищеОбщихНастроек.Удалить, -// подробнее - см. параметры функции ХранилищеУдалить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// - Неопределено - Удаляются настройки для всех объектов. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// - Неопределено - Удаляются настройки со всеми ключами. +// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. +// - Неопределено - Удаляются настройки всех пользователей. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Удалить" в синтакс-помощнике. // Процедура ХранилищеОбщихНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт @@ -4138,11 +4128,19 @@ КонецПроцедуры // Сохраняет настройку в хранилище системных настроек. -// +// // Параметры: -// Соответствуют методу ХранилищеСистемныхНастроек.Сохранить, -// подробнее - см. параметры процедуры ХранилищеСохранить() -// +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// Значение - Произвольный - Настройки, которые нужно сохранить в хранилище. +// ОписаниеНастроек - ОписаниеНастроек - Вспомогательная информация о настройке. +// ИмяПользователя - Строка - Имя пользователя, настройки которого сохраняются. +// Если не указано, то сохраняются настройки текущего пользователя. +// НужноОбновитьПовторноИспользуемыеЗначения - Булево - Сбросить кэши модулей ПовтИсп. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Сохранить" в синтакс-помощнике. +// Процедура ХранилищеСистемныхНастроекСохранить(КлючОбъекта, КлючНастроек = "", Значение, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено, НужноОбновитьПовторноИспользуемыеЗначения = Ложь) Экспорт @@ -4161,8 +4159,21 @@ // Загружает настройку из хранилища системных настроек. // // Параметры: -// Соответствуют методу ХранилищеСистемныхНастроек.Загрузить, -// подробнее - см. параметры функции ХранилищеЗагрузить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Необязательный. Ключ сохраняемых настроек. +// ЗначениеПоУмолчанию - Произвольный - Необязательный. +// Значение, которое необходимо подставить если настройки не были загружены. +// ОписаниеНастроек - ОписаниеНастроек - Необязательный. При чтении значения настройки в данный параметр +// записывается вспомогательная информация о настройке. +// ИмяПользователя - Строка - Необязательный. Имя пользователя, настройки которого загружаются. +// Если не указано, то загружается настройки текущего пользователя. +// +// Возвращаемое значение: +// Произвольный - Настройки, загруженные из хранилища. +// Неопределено - Если настройки не найдены и параметр ЗначениеПоУмолчанию не указан. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Загрузить" в синтакс-помощнике. // Функция ХранилищеСистемныхНастроекЗагрузить(КлючОбъекта, КлючНастроек = "", ЗначениеПоУмолчанию = Неопределено, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт @@ -4180,8 +4191,15 @@ // Удаляет настройку из хранилища системных настроек. // // Параметры: -// Соответствуют методу ХранилищеСистемныхНастроек.Удалить, -// подробнее - см. параметры функции ХранилищеУдалить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// - Неопределено - Удаляются настройки для всех объектов. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// - Неопределено - Удаляются настройки со всеми ключами. +// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. +// - Неопределено - Удаляются настройки всех пользователей. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Удалить" в синтакс-помощнике. // Процедура ХранилищеСистемныхНастроекУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт @@ -4194,10 +4212,18 @@ КонецПроцедуры // Сохраняет настройку в хранилище настроек данных форм. -// +// // Параметры: -// Соответствуют методу ХранилищеСистемныхНастроек.Сохранить, -// подробнее - см. параметры процедуры ХранилищеСохранить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// Значение - Произвольный - Настройки, которые нужно сохранить в хранилище. +// ОписаниеНастроек - ОписаниеНастроек - Вспомогательная информация о настройке. +// ИмяПользователя - Строка - Имя пользователя, настройки которого сохраняются. +// Если не указано, то сохраняются настройки текущего пользователя. +// НужноОбновитьПовторноИспользуемыеЗначения - Булево - Сбросить кэши модулей ПовтИсп. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Сохранить" в синтакс-помощнике. // Процедура ХранилищеНастроекДанныхФормСохранить(КлючОбъекта, КлючНастроек = "", Значение, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено, @@ -4217,8 +4243,21 @@ // Загружает настройку из хранилища настроек данных форм. // // Параметры: -// Соответствуют методу ХранилищеСистемныхНастроек.Загрузить, -// подробнее - см. параметры функции ХранилищеЗагрузить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Необязательный. Ключ сохраняемых настроек. +// ЗначениеПоУмолчанию - Произвольный - Необязательный. +// Значение, которое необходимо подставить если настройки не были загружены. +// ОписаниеНастроек - ОписаниеНастроек - Необязательный. При чтении значения настройки в данный параметр +// записывается вспомогательная информация о настройке. +// ИмяПользователя - Строка - Необязательный. Имя пользователя, настройки которого загружаются. +// Если не указано, то загружается настройки текущего пользователя. +// +// Возвращаемое значение: +// Произвольный - Настройки, загруженные из хранилища. +// Неопределено - Если настройки не найдены и параметр ЗначениеПоУмолчанию не указан. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Загрузить" в синтакс-помощнике. // Функция ХранилищеНастроекДанныхФормЗагрузить(КлючОбъекта, КлючНастроек = "", ЗначениеПоУмолчанию = Неопределено, ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт @@ -4236,8 +4275,15 @@ // Удаляет настройку из хранилища настроек данных форм. // // Параметры: -// Соответствуют методу ХранилищеНастроекДанныхФорм.Удалить, -// подробнее - см. параметры функции ХранилищеУдалить() +// КлючОбъекта - Строка - Ключ объекта настройки. +// - Неопределено - Удаляются настройки для всех объектов. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// - Неопределено - Удаляются настройки со всеми ключами. +// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. +// - Неопределено - Удаляются настройки всех пользователей. +// +// См. также: +// "СтандартноеХранилищеНастроекМенеджер.Удалить" в синтакс-помощнике. // Процедура ХранилищеНастроекДанныхФормУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт @@ -4255,13 +4301,14 @@ // МенеджерХранилища - СтандартноеХранилищеНастроекМенеджер - Хранилище, в котором сохраняется настройка. // КлючОбъекта - Строка - Ключ объекта настройки. // КлючНастроек - Строка - Ключ сохраняемых настроек. -// Значение - * - Содержит настройки, которые нужно сохранить в хранилище. -// ОписаниеНастроек - ОписаниеНастроек - Содержит информацию об описании настройки. +// Значение - Произвольный - Настройки, которые нужно сохранить в хранилище. +// ОписаниеНастроек - ОписаниеНастроек - Вспомогательная информация о настройке. // ИмяПользователя - Строка - Имя пользователя, настройки которого сохраняются. // Если не указано, то сохраняются настройки текущего пользователя. // НужноОбновитьПовторноИспользуемыеЗначения - Булево - Сбросить кэши модулей ПовтИсп. // // См. также: +// "СтандартноеХранилищеНастроекМенеджер.Сохранить" в синтакс-помощнике. // "Настройки, автоматически сохраняемые в системном хранилище" в синтакс-помощнике. // Процедура ХранилищеСохранить(МенеджерХранилища, КлючОбъекта, КлючНастроек, Значение, @@ -4282,19 +4329,22 @@ // Загружает настройку из хранилища настроек через его менеджер. // // Параметры: -// МенеджерХранилища - СтандартноеХранилищеНастроекМенеджер - Хранилище, из которого загружается настройка. -// КлючОбъекта - Строка - Ключ объекта настройки. -// КлючНастроек - Строка - Ключ сохраняемых настроек. -// ЗначениеПоУмолчанию - * - Значение, которое необходимо подставить если настройки не были загружены. -// ОписаниеНастроек - ОписаниеНастроек - Через данный параметр при загрузке можно получить описание настроек. -// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. +// МенеджерХранилища - СтандартноеХранилищеНастроекМенеджер - Хранилище, из которого загружается настройка. +// КлючОбъекта - Строка - Ключ объекта настройки. +// КлючНастроек - Строка - Необязательный. Ключ сохраняемых настроек. +// ЗначениеПоУмолчанию - Произвольный - Необязательный. +// Значение, которое необходимо подставить если настройки не были загружены. +// ОписаниеНастроек - ОписаниеНастроек - Необязательный. При чтении значения настройки в данный параметр +// записывается вспомогательная информация о настройке. +// ИмяПользователя - Строка - Необязательный. Имя пользователя, настройки которого загружаются. // Если не указано, то загружается настройки текущего пользователя. // // Возвращаемое значение: // Произвольный - Настройки, загруженные из хранилища. -// Неопределено - Если настройки не найдены. +// Неопределено - Если настройки не найдены и параметр ЗначениеПоУмолчанию не указан. // // См. также: +// "СтандартноеХранилищеНастроекМенеджер.Загрузить" в синтакс-помощнике. // "Настройки, автоматически сохраняемые в системном хранилище" в синтакс-помощнике. // Функция ХранилищеЗагрузить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию, @@ -4306,11 +4356,90 @@ Результат = МенеджерХранилища.Загрузить(КлючОбъекта, КлючНастроек(КлючНастроек), ОписаниеНастроек, ИмяПользователя); КонецЕсли; - Если (Результат = Неопределено) И (ЗначениеПоУмолчанию <> Неопределено) Тогда + Если Результат = Неопределено Тогда Результат = ЗначениеПоУмолчанию; + Иначе + УстановитьПривилегированныйРежим(Истина); + Если УдалитьБитыеСсылки(Результат) Тогда + Результат = ЗначениеПоУмолчанию; + КонецЕсли; КонецЕсли; - + Возврат Результат; +КонецФункции + +// Удаляет битые ссылки из переменной. +// +// Параметры: +// СсылкаИлиКоллекция - ЛюбаяСсылка, Произвольный - Проверяемый объект или очищаемая коллекция. +// +// Возвращаемое значение: +// Булево - +// * Истина - СсылкаИлиКоллекция ссылочного типа и объект не найден в базе данных. +// * Ложь - Когда СсылкаИлиКоллекция не ссылочного типа или объект найден в базе данных. +// +Функция УдалитьБитыеСсылки(СсылкаИлиКоллекция) + + Тип = ТипЗнч(СсылкаИлиКоллекция); + + Если Тип = Тип("Неопределено") + Или Тип = Тип("Булево") + Или Тип = Тип("Строка") + Или Тип = Тип("Число") + Или Тип = Тип("Дата") Тогда // Оптимизация - часто используемые примитивные типы. + + Возврат Ложь; // Не ссылка. + + ИначеЕсли Тип = Тип("Массив") Тогда + + Количество = СсылкаИлиКоллекция.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + Значение = СсылкаИлиКоллекция[ОбратныйИндекс]; + Если УдалитьБитыеСсылки(Значение) Тогда + СсылкаИлиКоллекция.Удалить(ОбратныйИндекс); + КонецЕсли; + КонецЦикла; + + Возврат Ложь; // Не ссылка. + + ИначеЕсли Тип = Тип("Структура") + Или Тип = Тип("Соответствие") Тогда + + Для Каждого КлючИЗначение Из СсылкаИлиКоллекция Цикл + Значение = КлючИЗначение.Значение; + Если УдалитьБитыеСсылки(Значение) Тогда + СсылкаИлиКоллекция.Вставить(КлючИЗначение.Ключ, Неопределено); + КонецЕсли; + КонецЦикла; + + Возврат Ложь; // Не ссылка. + + ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(Тип) + Или Справочники.ТипВсеСсылки().СодержитТип(Тип) + Или Перечисления.ТипВсеСсылки().СодержитТип(Тип) + Или ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(Тип) + Или ПланыСчетов.ТипВсеСсылки().СодержитТип(Тип) + Или ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(Тип) + Или ПланыОбмена.ТипВсеСсылки().СодержитТип(Тип) + Или БизнесПроцессы.ТипВсеСсылки().СодержитТип(Тип) + Или Задачи.ТипВсеСсылки().СодержитТип(Тип) Тогда + // Ссылочный тип, исключая ТочкаМаршрутаБизнесПроцессаСсылка. + + Если СсылкаИлиКоллекция.Пустая() Тогда + Возврат Ложь; // Ссылка пустая. + ИначеЕсли ЗначениеРеквизитаОбъекта(СсылкаИлиКоллекция, "Ссылка") = Неопределено Тогда + СсылкаИлиКоллекция = Неопределено; + Возврат Истина; // "Битая" ссылка. + Иначе + Возврат Ложь; // Объект найден. + КонецЕсли; + + Иначе + + Возврат Ложь; // Не ссылка. + + КонецЕсли; КонецФункции @@ -4318,17 +4447,15 @@ // // Параметры: // МенеджерХранилища - СтандартноеХранилищеНастроекМенеджер - Хранилище, из которого удаляется настройка. -// КлючОбъекта - Строка - Ключ объекта настройки. -// - Неопределено - Удаляются настройки для всех объектов. -// КлючНастроек - Строка - Ключ сохраняемых настроек. -// - Неопределено - Удаляются настройки со всеми ключами. -// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. -// - Неопределено - Удаляются настройки всех пользователей. -// -// Возвращаемое значение: -// (*) Настройки, загруженные из хранилища. Неопределено, если настройки не найдены. +// КлючОбъекта - Строка - Ключ объекта настройки. +// - Неопределено - Удаляются настройки для всех объектов. +// КлючНастроек - Строка - Ключ сохраняемых настроек. +// - Неопределено - Удаляются настройки со всеми ключами. +// ИмяПользователя - Строка - Имя пользователя, настройки которого загружается. +// - Неопределено - Удаляются настройки всех пользователей. // // См. также: +// "СтандартноеХранилищеНастроекМенеджер.Удалить" в синтакс-помощнике. // "Настройки, автоматически сохраняемые в системном хранилище" в синтакс-помощнике. // Процедура ХранилищеУдалить(МенеджерХранилища, КлючОбъекта, КлючНастроек, ИмяПользователя) @@ -4339,6 +4466,69 @@ КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// Функции для работы с настройкой рабочей даты + +// Сохраняет настройку рабочей даты пользователя. +// +// Параметры: +// НоваяРабочаяДата - Дата - Дата, которую необходимо установить в качестве рабочей даты пользователя. +// ИмяПользователя - Строка - Имя пользователя, для которого устанавливается рабочая дата. +// Если не задано, то устанавливается для текущего пользователя. +// +Процедура УстановитьРабочуюДатуПользователя(НоваяРабочаяДата, ИмяПользователя = Неопределено) Экспорт + + КлючОбъекта = ВРег("РабочаяДата"); + + ХранилищеОбщихНастроекСохранить(КлючОбъекта, , НоваяРабочаяДата, , ИмяПользователя); + +КонецПроцедуры + +// Возвращает значение настройки рабочей даты для пользователя. +// +// Параметры: +// ИмяПользователя - Строка - Имя пользователя, для которого запрашивается рабочая дата. +// Если не задано, то устанавливается для текущего пользователя. +// +// Возвращаемое значение: +// Дата - Значение настройки рабочей даты пользователя или пустая дата, если настройка не задана. +// +Функция РабочаяДатаПользователя(ИмяПользователя = Неопределено) Экспорт + + КлючОбъекта = ВРег("РабочаяДата"); + + Результат = ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, , '0001-01-01', , ИмяПользователя); + + Если ТипЗнч(Результат) <> Тип("Дата") Тогда + Результат = '0001-01-01'; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Возвращает значение настройки рабочей даты для пользователя или текущей даты сеанса, +// если рабочая дата пользователя не задана. +// +// Параметры: +// ИмяПользователя - Строка - Имя пользователя, для которого запрашивается рабочая дата. +// Если не задано, то устанавливается для текущего пользователя. +// +// Возвращаемое значение: +// Дата - Значение настройки рабочей даты пользователя или текущая дата сеанса, если настройка не задана. +// +Функция ТекущаяДатаПользователя(ИмяПользователя = Неопределено) Экспорт + + Результат = РабочаяДатаПользователя(ИмяПользователя); + + Если НЕ ЗначениеЗаполнено(Результат) Тогда + Результат = ТекущаяДатаСеанса(); + КонецЕсли; + + Возврат НачалоДня(Результат); + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Функции для работы с табличными документами @@ -4488,7 +4678,7 @@ // с переключением разделения сеанса на время записи. // // Параметры: -// ОбъектВспомогательныхДанных - значение ссылочного типа или УдалениеОбъекта. +// ОбъектВспомогательныхДанных - ЛюбаяСсылка, УдалениеОбъекта - значение ссылочного типа или УдалениеОбъекта. // Процедура ЗаписатьВспомогательныеДанные(ОбъектВспомогательныхДанных) Экспорт @@ -4505,7 +4695,7 @@ // с переключением разделения сеанса на время записи. // // Параметры: -// ОбъектВспомогательныхДанных - значение ссылочного типа. +// ОбъектВспомогательныхДанных - ЛюбаяСсылка - значение ссылочного типа. // Процедура УдалитьВспомогательныеДанные(ОбъектВспомогательныхДанных) Экспорт @@ -4524,18 +4714,10 @@ // Возвращает массив номеров версий, поддерживаемых интерфейсом удаленной системы. // // Параметры: -// ПараметрыПодключения - Структура: -// - URL - Строка - URL сервиса. Обязательно должно присутствовать и быть заполненным. -// - UserName - Строка - Имя пользователя сервиса. -// - Password - Строка - Пароль пользователя сервиса. -// ИмяИнтерфейса - Строка. -// -// Параметры: -// Адрес - Строка - адрес web-сервиса версионирования интерфейсов -// Пользователь - Строка - имя пользователя -// Пароль - Строка - пароль пользователя -// Интерфейс - Строка - имя интерфейса -// +// Адрес - Строка - адрес web-сервиса версионирования интерфейсов; +// Пользователь - Строка - имя пользователя; +// Пароль - Строка - пароль пользователя; +// Интерфейс - Строка - имя интерфейса. // // Возвращаемое значение: // ФиксированныйМассив - массив строк, каждая строка является представлением номера версии интерфейса. Например, "1.0.2.1". @@ -4585,8 +4767,8 @@ // Возвращает массив номеров версий, поддерживаемых интерфейсом системы, подключенной через внешнее соединение. // // Параметры: -// ВнешнееСоединение - объект COM-соединение, которое используется для работы с корреспондентом. -// ИмяИнтерфейса - Строка. +// ВнешнееСоединение - COMОбъект - объект COM-соединение, которое используется для работы с корреспондентом. +// ИмяИнтерфейса - Строка -. // // Возвращаемое значение: // ФиксированныйМассив - массив строк, каждая строка является представлением номера версии интерфейса. Например, "1.0.2.1". @@ -4597,7 +4779,6 @@ // МассивВерсий = ОбщегоНазначения.ПолучитьВерсииИнтерфейсаЧерезВнешнееСоединение(ВнешнееСоединение, "ОбменДанными"); // Функция ПолучитьВерсииИнтерфейсаЧерезВнешнееСоединение(ВнешнееСоединение, Знач ИмяИнтерфейса) Экспорт - Попытка ВерсииИнтерфейсаXML = ВнешнееСоединение.СтандартныеПодсистемыСервер.ПоддерживаемыеВерсии(ИмяИнтерфейса); Исключение @@ -4668,17 +4849,21 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции для обработки событий и вызова необязательных подсистем. -// Возвращает Истина, если подсистема существует в конфигурации. +// Возвращает Истина, если "функциональная" подсистема существует в конфигурации. +// Предназначена для реализации вызова необязательной подсистемы (условного вызова). +// +// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс". // // Параметры: -// ПолноеИмяПодсистемы - Строка. Полное имя объекта метаданных подсистема без слов "Подсистема.". -// Например: "СтандартныеПодсистемы.БазоваяФункциональность". +// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема +// без слов "Подсистема." и с учетом регистра символов. +// Например: "СтандартныеПодсистемы.ВариантыОтчетов". // -// Пример вызова необязательной подсистемы: +// Пример: // -// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда -// МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом"); -// МодульУправлениеДоступом.<Имя метода>(); +// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда +// МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); +// МодульВариантыОтчетов.<Имя метода>(); // КонецЕсли; // // Возвращаемое значение: @@ -4787,6 +4972,16 @@ УстановитьПривилегированныйРежим(Истина); + СтруктураКлюча = Новый Структура("Идентификатор, ТипДанных", Идентификатор, ТипДанных); + Ключ = РегистрыСведений.КэшПрограммныхИнтерфейсов.СоздатьКлючЗаписи(СтруктураКлюча); + + Попытка + ЗаблокироватьДанныеДляРедактирования(Ключ); + Исключение + // Данные уже обновляются из другого сеанса + Возврат; + КонецПопытки; + Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ @@ -4804,20 +4999,8 @@ НачатьТранзакцию(); - ОшибкаУстановкиБлокировки = Ложь; - Попытка - СтруктураКлюча = Новый Структура("Идентификатор, ТипДанных", Идентификатор, ТипДанных); - Ключ = РегистрыСведений.КэшПрограммныхИнтерфейсов.СоздатьКлючЗаписи(СтруктураКлюча); - Попытка - ЗаблокироватьДанныеДляРедактирования(Ключ); - Исключение - // Данные уже обновляются из другого сеанса - ОшибкаУстановкиБлокировки = Истина; - ВызватьИсключение; - КонецПопытки; - Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КэшПрограммныхИнтерфейсов"); ЭлементБлокировки.УстановитьЗначение("Идентификатор", Идентификатор); @@ -4826,19 +5009,22 @@ Результат = Запрос.Выполнить(); - // Убедимся что данные требуют обновления - Если НЕ Результат.Пустой() Тогда + // Не удерживаем транзакцию для того, чтобы другие сеансы могли выполнять чтение данных + ЗафиксироватьТранзакцию(); + + // Убедимся, что данные требуют обновления + Если Не Результат.Пустой() Тогда + Выборка = Результат.Выбрать(); Выборка.Следующий(); - Если НЕ ЗаписьКэшаВерсийУстарела(Выборка) Тогда - // Данные актуальны - ОтменитьТранзакцию(); + Если Не ЗаписьКэшаВерсийУстарела(Выборка) Тогда + РазблокироватьДанныеДляРедактирования(Ключ); Возврат; КонецЕсли; + КонецЕсли; Набор = РегистрыСведений.КэшПрограммныхИнтерфейсов.СоздатьНаборЗаписей(); - Набор.Отбор.Идентификатор.Установить(Идентификатор); Набор.Отбор.ТипДанных.Установить(ТипДанных); @@ -4847,31 +5033,23 @@ Запись.ТипДанных = ТипДанных; Запись.ДатаОбновления = ТекущаяУниверсальнаяДата(); - Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() Или Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда - - Данные = ПодготовитьДанныеКэшаВерсий(ТипДанных, ПараметрыПолучения); - Запись.Данные = Новый ХранилищеЗначения(Данные); - - Иначе - - Набор.ДополнительныеСвойства.Вставить("ПараметрыПолучения", ПараметрыПолучения); - - КонецЕсли; + Набор.ДополнительныеСвойства.Вставить("ПараметрыПолучения", ПараметрыПолучения); + Набор.ПодготовитьДанныеДляЗаписи(); Набор.Записать(); - ЗафиксироватьТранзакцию(); + РазблокироватьДанныеДляРедактирования(Ключ); Исключение - ОтменитьТранзакцию(); - - Если ОшибкаУстановкиБлокировки Тогда - Возврат; - Иначе - ВызватьИсключение; + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); КонецЕсли; + РазблокироватьДанныеДляРедактирования(Ключ); + + ВызватьИсключение; + КонецПопытки; КонецПроцедуры @@ -4997,7 +5175,7 @@ // Функция ВнутренняяWSПрокси(Знач АдресWSDL, Знач URIПространстваИмен, Знач ИмяСервиса, Знач ИмяТочкиПодключения = "", Знач ИмяПользователя, Знач Пароль, - Знач Таймаут = Неопределено) Экспорт + Знач Таймаут = 0) Экспорт WSОпределения = ОбщегоНазначенияПовтИсп.WSОпределения(АдресWSDL, ИмяПользователя, Пароль); @@ -5006,7 +5184,7 @@ КонецЕсли; ИнтернетПрокси = Неопределено; - Если ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернетаКлиентСервер") Тогда + Если ПодсистемаСуществует("СтандартныеПодсистемы.ПолучениеФайловИзИнтернета") Тогда МодульПолучениеФайловИзИнтернетаКлиентСервер = ОбщийМодуль("ПолучениеФайловИзИнтернетаКлиентСервер"); ИнтернетПрокси = МодульПолучениеФайловИзИнтернетаКлиентСервер.ПолучитьПрокси(АдресWSDL); КонецЕсли; @@ -5055,7 +5233,6 @@ КонецФункции // Устарела. Следует использовать РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации(). -// Процедура ВыполнитьБезопасно(ИмяЭкспортнойПроцедуры, Параметры = Неопределено, ОбластьДанных = Неопределено) Экспорт ВыполненаУстановкаРазделенияСеанса = Ложь; @@ -5097,7 +5274,6 @@ КонецПроцедуры // Устарела. Следует использовать РаботаВБезопасномРежиме.ПроверитьИмяМетодаКонфигурации(). -// Функция ПроверитьИмяЭкспортнойПроцедуры(Знач ИмяЭкспортнойПроцедуры, ТекстСообщения) Экспорт Попытка @@ -6475,7 +6651,7 @@ Строка.ПредставлениеОбъектаОшибки = ОписаниеОшибки.ПредставлениеОбъектаОшибки; Строка.ОбъектОшибки = ОписаниеОшибки.ОбъектОшибки; Строка.ТекстОшибки = ОписаниеОшибки.ТекстОшибки; - Строка.ОбъектОшибки = ОписаниеОшибки.ОбъектОшибки; + Строка.ТипОшибки = ОписаниеОшибки.ТипОшибки; КонецПроцедуры @@ -6560,11 +6736,6 @@ СообщитьОтложенныеСообщения(ПредыдущиеСообщения); КонецЕсли; - // И прекращаем работы - Если ПустаяСтрока(ТекстИсключения) Тогда - ВызватьИсключение; - КонецЕсли; - ВызватьИсключение СокрЛП(КраткоеПредставлениеОшибки(Информация) + Символы.ПС + СокрЛП(ТекстИсключения)); КонецПопытки; @@ -6716,25 +6887,37 @@ УстановитьПривилегированныйРежим(Ложь); - // 2. Замена везде + // 2. Замена везде до первой ошибки Если СостояниеОперации = "" Тогда КоличествоОшибок = РезультатЗамены.Количество(); Для Каждого МестоИспользования Из МестаИспользованияКонстанты Цикл ПроизвестиЗаменуВКонстанте(РезультатЗамены, МестоИспользования, ПараметрыЗаписи, Ложь); + Если КоличествоОшибок <> РезультатЗамены.Количество() Тогда + Прервать; + КонецЕсли; КонецЦикла; - Для Каждого МестоИспользования Из МестаИспользованияОбъекты Цикл - ПроизвестиЗаменуВОбъекте(РезультатЗамены, МестоИспользования, ПараметрыЗаписи, Ложь); - КонецЦикла; + Если КоличествоОшибок = РезультатЗамены.Количество() Тогда + Для Каждого МестоИспользования Из МестаИспользованияОбъекты Цикл + ПроизвестиЗаменуВОбъекте(РезультатЗамены, МестоИспользования, ПараметрыЗаписи, Ложь); + Если КоличествоОшибок <> РезультатЗамены.Количество() Тогда + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; - Для Каждого МестоИспользования Из МестаИспользованияНаборы Цикл - ПроизвестиЗаменуВНаборе(РезультатЗамены, МестоИспользования, ПараметрыЗаписи, Ложь); - КонецЦикла; - - Если КоличествоОшибок <> РезультатЗамены.Количество() Тогда + Если КоличествоОшибок = РезультатЗамены.Количество() Тогда + Для Каждого МестоИспользования Из МестаИспользованияНаборы Цикл + ПроизвестиЗаменуВНаборе(РезультатЗамены, МестоИспользования, ПараметрыЗаписи, Ложь); + Если КоличествоОшибок <> РезультатЗамены.Количество() Тогда + Прервать; + КонецЕсли; + КонецЦикла; + Иначе СостояниеОперации = "ОшибкаЗаписи"; КонецЕсли; + КонецЕсли; // 3. Удаление @@ -6913,7 +7096,6 @@ КонецПроцедуры // См. Обработка.ПоискИУдалениеДублей -// Функция ДоступныеИменаМетаРеквизитовОтбора(Знач МетаКоллекция) Результат = ""; ТипХранилища = Тип("ХранилищеЗначения"); diff --git a/SSL/src/CommonModules/ОбщегоНазначенияКлиент/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначенияКлиент/Module.bsl index 8601597c1..33e4e0173 100644 --- a/SSL/src/CommonModules/ОбщегоНазначенияКлиент/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначенияКлиент/Module.bsl @@ -126,6 +126,15 @@ Возврат; КонецЕсли; + // В веб клиенте под MacOS расширение не доступно. + СистемнаяИнформация = Новый СистемнаяИнформация; + ЭтоMacКлиент = (СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86 + Или СистемнаяИнформация.ТипПлатформы = ТипПлатформы.MacOS_x86_64); + Если ЭтоMacКлиент Тогда + ВыполнитьОбработкуОповещения(Оповещение); + Возврат; + КонецЕсли; + ПервоеОбращениеЗаСеанс = (ПредлагатьУстановкуРасширенияРаботыСФайлами = Неопределено); Если ПервоеОбращениеЗаСеанс Тогда ПредлагатьУстановкуРасширенияРаботыСФайлами = ПредлагатьУстановкуРасширенияРаботыСФайлами(); @@ -353,17 +362,21 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции для обработки событий и вызова необязательных подсистем. -// Возвращает Истина, если подсистема существует в конфигурации. +// Возвращает Истина, если "функциональная" подсистема существует в конфигурации. +// Предназначена для реализации вызова необязательной подсистемы (условного вызова). +// +// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс". // // Параметры: -// ПолноеИмяПодсистемы - Строка. Полное имя объекта метаданных подсистема без слов "Подсистема.". -// Например: "СтандартныеПодсистемы.БазоваяФункциональность". +// ПолноеИмяПодсистемы - Строка - полное имя объекта метаданных подсистема +// без слов "Подсистема." и с учетом регистра символов. +// Например: "СтандартныеПодсистемы.ВариантыОтчетов". // -// Пример вызова необязательной подсистемы: +// Пример: // -// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда -// МодульУправлениеДоступом = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступом"); -// МодульУправлениеДоступом.<Имя метода>(); +// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда +// МодульВариантыОтчетовКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ВариантыОтчетовКлиент"); +// МодульВариантыОтчетовКлиент.<Имя метода>(); // КонецЕсли; // // Возвращаемое значение: @@ -391,8 +404,9 @@ Модуль = Вычислить(Имя); #Если НЕ ВебКлиент Тогда - ОбщегоНазначенияКлиентСервер.Проверить(ТипЗнч(Модуль) = Тип("ОбщийМодуль"), - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Общий модуль ""%1"" не найден.'"), Имя)); + Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Общий модуль ""%1"" не найден.'"), Имя); + КонецЕсли; #КонецЕсли Возврат Модуль; @@ -730,8 +744,8 @@ // Возвращаемое значение: // ФиксированныйМассив со значениями типа // ФиксированнаяСтруктура со свойствами: -// Версия - Строка - версия обработчика, например, "2.1.3.4". Пустая строка, если не указана. -// Модуль - ОбщийМодуль - серверный общий модуль. +// * Версия - Строка - версия обработчика, например, "2.1.3.4". Пустая строка, если не указана. +// * Модуль - ОбщийМодуль - серверный общий модуль. // Функция ОбработчикиСобытия(Событие) Экспорт @@ -748,8 +762,8 @@ // Возвращаемое значение: // ФиксированныйМассив со значениями типа // ФиксированнаяСтруктура со свойствами: -// Версия - Строка - версия обработчика, например, "2.1.3.4". Пустая строка, если не указана. -// Модуль - ОбщийМодуль - серверный общий модуль. +// * Версия - Строка - версия обработчика, например, "2.1.3.4". Пустая строка, если не указана. +// * Модуль - ОбщийМодуль - серверный общий модуль. // Функция ОбработчикиСлужебногоСобытия(Событие) Экспорт @@ -757,6 +771,17 @@ КонецФункции +// Обновляет интерфейс программы сохраняя текущее активное окно. +Процедура ОбновитьИнтерфейсПрограммы() Экспорт + + ТекущееАктивноеОкно = АктивноеОкно(); + ОбновитьИнтерфейс(); + Если ТекущееАктивноеОкно <> Неопределено Тогда + ТекущееАктивноеОкно.Активизировать(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -787,7 +812,7 @@ КонецЕсли; Если ПустаяСтрока(Параметры.ТекстПредупреждения) Тогда - ТекстСообщения = НСтр("ru = 'Действие недоступно, так как не установлено расширение работы с файлами.'") + ТекстСообщения = НСтр("ru = 'Действие недоступно, так как не установлено расширение для веб-клиента 1С:Предприятие.'") Иначе ТекстСообщения = Параметры.ТекстПредупреждения; КонецЕсли; diff --git a/SSL/src/CommonModules/ОбщегоНазначенияКлиентПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначенияКлиентПереопределяемый/Module.bsl index 358b978c5..644c95e49 100644 --- a/SSL/src/CommonModules/ОбщегоНазначенияКлиентПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначенияКлиентПереопределяемый/Module.bsl @@ -58,17 +58,17 @@ // // Параметры: // Параметры - Структура - структура со свойствами: -// Отказ - Булево - Возвращаемое значение. Если установить Истина, +// * Отказ - Булево - Возвращаемое значение. Если установить Истина, // то работа программы будет прекращена. -// Перезапустить - Булево - Возвращаемое значение. Если установить Истина и параметр +// * Перезапустить - Булево - Возвращаемое значение. Если установить Истина и параметр // Отказ тоже установлен в Истина, то выполняется перезапуск программы. -// ДополнительныеПараметрыКоманднойСтроки - Строка - Возвращаемое значение. Имеет смысл +// * ДополнительныеПараметрыКоманднойСтроки - Строка - Возвращаемое значение. Имеет смысл // когда Отказ и Перезапустить установлены Истина. -// ИнтерактивнаяОбработка - ОписаниеОповещения - Возвращаемое значение. Для открытия окна, +// * ИнтерактивнаяОбработка - ОписаниеОповещения - Возвращаемое значение. Для открытия окна, // блокирующего вход в программу, следует присвоить в этот параметр // описание обработчика оповещения, который открывает окно. // См. пример выше (для обработчика ПередНачаломРаботыСистемы). -// ОбработкаПродолжения - ОписаниеОповещения - если открывается окно, блокирующее вход +// * ОбработкаПродолжения - ОписаниеОповещения - если открывается окно, блокирующее вход // в программу, то в обработке закрытия этого окна необходимо // выполнить оповещение ОбработкаПродолжения. // См. пример выше (для обработчика ПередНачаломРаботыСистемы). @@ -82,20 +82,16 @@ // Обработать параметры запуска программы. // Реализация функции может быть расширена для обработки новых параметров. // -// Параметры +// Параметры: // ЗначениеПараметраЗапуска - Строка - первое значение параметра запуска, // до первого символа ";" // ПараметрыЗапуска - Строка - параметр запуска, переданный в конфигурацию // с помощью ключа командной строки /C. -// -// Возвращаемое значение: -// Булево - Истина, если необходимо прервать выполнение процедуры ПриНачалеРаботыСистемы. -// -Функция ОбработатьПараметрыЗапуска(ЗначениеПараметраЗапуска, ПараметрыЗапуска) Экспорт +// Отказ - Булево - Возвращаемое значение. Если установить Истина, +// то выполнение процедуры ПриНачалеРаботыСистемы будет прервано. +Процедура ПриОбработкеПараметровЗапуска(ЗначениеПараметраЗапуска, ПараметрыЗапуска, Отказ) Экспорт - Возврат Ложь; - -КонецФункции +КонецПроцедуры // Выполняется при интерактивном начале работы пользователя с областью данных или в локальном режиме. // Вызывается после завершения действий ПриНачалеРаботыСистемы. @@ -114,13 +110,13 @@ // // Параметры: // Параметры - Структура - структура со свойствами: -// Отказ - Булево - Возвращаемое значение. Если установить Истина, +// * Отказ - Булево - Возвращаемое значение. Если установить Истина, // то завершение работы программы будет отменено. -// ИнтерактивнаяОбработка - ОписаниеОповещения - Возвращаемое значение. Для открытия окна, +// * ИнтерактивнаяОбработка - ОписаниеОповещения - Возвращаемое значение. Для открытия окна, // блокирующего выход из программы, следует присвоить в этот параметр // описание обработчика оповещения, который открывает окно. // См. пример выше (для обработчика ПередНачаломРаботыСистемы). -// ОбработкаПродолжения - ОписаниеОповещения - если открывается окно, блокирующее выход +// * ОбработкаПродолжения - ОписаниеОповещения - если открывается окно, блокирующее выход // из программы, то в обработке закрытия этого окна необходимо // выполнить оповещение ОбработкаПродолжения. // См. пример выше (для обработчика ПередНачаломРаботыСистемы). @@ -138,6 +134,23 @@ КонецПроцедуры +// Устарела. Следует использовать ПриОбработкеПараметровЗапуска. +// Обработать параметры запуска программы. +// Реализация функции может быть расширена для обработки новых параметров. +// +// Параметры: +// ЗначениеПараметраЗапуска - Строка - первое значение параметра запуска, +// до первого символа ";" +// ПараметрыЗапуска - Строка - параметр запуска, переданный в конфигурацию +// с помощью ключа командной строки /C. +// +// Возвращаемое значение: +// Булево - Истина, если необходимо прервать выполнение процедуры ПриНачалеРаботыСистемы. +// +Функция ОбработатьПараметрыЗапуска(ЗначениеПараметраЗапуска, ПараметрыЗапуска) Экспорт + Возврат Ложь; + +КонецФункции #КонецОбласти diff --git a/SSL/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl index 754762f9b..99da3ff7a 100644 --- a/SSL/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl @@ -17,7 +17,7 @@ // // Параметры // ТекстСообщенияПользователю - Строка - текст сообщения. -// КлючДанных - Любая ссылка на объект информационной базы. +// КлючДанных - ЛюбаяСсылка - на объект информационной базы. // Ссылка на объект информационной базы, к которому это сообщение относится, // или ключ записи. // Поле - Строка - наименование реквизита формы @@ -193,6 +193,54 @@ КонецПроцедуры +// Формирует текст ошибок заполнения полей и списков. +// +// Параметры: +// ВидПоля - Строка - может принимать значения: +// Поле, Колонка, Список; +// ВидСообщения - Строка - может принимать значения: +// Заполнение, Корректность; +// ИмяПоля - Строка - имя поля; +// НомерСтроки - Строка, Число - номер строки; +// ИмяСписка - Строка - имя списка; +// ТекстСообщения - Строка - детальная расшифровка ошибки заполнения. +// +// Возвращаемое значение: +// Строка - текст ошибки заполнения. +// +Функция ТекстОшибкиЗаполнения(ВидПоля = "Поле", ВидСообщения = "Заполнение", + ИмяПоля = "", НомерСтроки = "", ИмяСписка = "", ТекстСообщения = "") Экспорт + + Если ВРег(ВидПоля) = "ПОЛЕ" Тогда + Если ВРег(ВидСообщения) = "ЗАПОЛНЕНИЕ" Тогда + Шаблон = НСтр("ru = 'Поле ""%1"" не заполнено'"); + ИначеЕсли ВРег(ВидСообщения) = "КОРРЕКТНОСТЬ" Тогда + Шаблон = НСтр("ru = 'Поле ""%1"" заполнено некорректно. + | + |%4'"); + КонецЕсли; + ИначеЕсли ВРег(ВидПоля) = "КОЛОНКА" Тогда + Если ВРег(ВидСообщения) = "ЗАПОЛНЕНИЕ" Тогда + Шаблон = НСтр("ru = 'Не заполнена колонка ""%1"" в строке %2 списка ""%3""'"); + ИначеЕсли ВРег(ВидСообщения) = "КОРРЕКТНОСТЬ" Тогда + Шаблон = НСтр("ru = 'Некорректно заполнена колонка ""%1"" в строке %2 списка ""%3"". + | + |%4'"); + КонецЕсли; + ИначеЕсли ВРег(ВидПоля) = "СПИСОК" Тогда + Если ВРег(ВидСообщения) = "ЗАПОЛНЕНИЕ" Тогда + Шаблон = НСтр("ru = 'Не введено ни одной строки в список ""%3""'"); + ИначеЕсли ВРег(ВидСообщения) = "КОРРЕКТНОСТЬ" Тогда + Шаблон = НСтр("ru = 'Некорректно заполнен список ""%3"". + | + |%4'"); + КонецЕсли; + КонецЕсли; + + Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ИмяПоля, НомерСтроки, ИмяСписка, ТекстСообщения); + +КонецФункции + // Формирует путь к заданной строке НомерСтроки и колонке ИмяРеквизита // табличной части ИмяТабличнойЧасти для выдачи сообщений в форме. // Для совместного использования с процедурой СообщитьПользователю @@ -280,7 +328,7 @@ // СтруктураПриемник - Структура - Коллекция, в которую будут добавляться новые значения. // СтруктураИсточник - Структура - Коллекция, из которой будут считываться пары Ключ и Значение для заполнения. // СЗаменой - Булево, Неопределено - Что делать в местах пересечения ключей источника и приемника. -// - Истина - Заменять значения приемника. +// - Истина - Заменять значения приемника (самый быстрый способ). // - Ложь - Не заменять значения приемника (пропускать). // - Неопределено - Значение по умолчанию. Бросать исключение. // @@ -305,9 +353,9 @@ // Снимает один элемент условного оформления, если это список значений. // // Параметры: -// УсловноеОформление - условное оформление элемента формы; -// ИдентификаторПользовательскойНастройки - строка - идентификатор настройки; -// Значение - значение, которое требуется удалить из списка оформления. +// УсловноеОформление - УсловноеОформление - условное оформление элемента формы; +// ИдентификаторПользовательскойНастройки - Строка - идентификатор настройки; +// Значение - Произвольный - значение, которое требуется удалить из списка оформления. // Процедура СнятьУсловноеОформлениеСпискаЗначений( УсловноеОформление, @@ -337,8 +385,8 @@ // Удаляет все вхождения переданного значения из массива. // // Параметры: -// Массив - массив, из которого необходимо удалить значение; -// Значение - удаляемое значение из массива. +// Массив - Массив - массив, из которого необходимо удалить значение; +// Значение - Произвольный - удаляемое значение из массива. // Процедура УдалитьВсеВхожденияЗначенияИзМассива(Массив, Значение) Экспорт @@ -361,8 +409,8 @@ // Удаляет все вхождения значений указанного типа. // // Параметры: -// Массив - массив, из которого необходимо удалить значения; -// Тип - тип значений, которые подлежат удалению из массива. +// Массив - Массив - массив, из которого необходимо удалить значения; +// Тип - Тип - тип значений, которые подлежат удалению из массива. // Процедура УдалитьВсеВхожденияТипаИзМассива(Массив, Тип) Экспорт @@ -385,8 +433,8 @@ // Удаляет одно значение из массива. // // Параметры: -// Массив - массив, из которого необходимо удалить значение; -// Значение - удаляемое значение из массива. +// Массив - Массив - массив, из которого необходимо удалить значение; +// Значение - Массив - удаляемое значение из массива. // Процедура УдалитьЗначениеИзМассива(Массив, Значение) Экспорт @@ -400,13 +448,26 @@ КонецПроцедуры +// Удаляет повторяющиеся элементы массива. +// +// Параметры: +// Массив - Массив - массив произвольных значений. +// +// Возвращаемое значение: +// Массив; +Функция СвернутьМассив(Массив) Экспорт + Результат = Новый Массив; + ДополнитьМассив(Результат, Массив, Истина); + Возврат Результат; +КонецФункции + // Заполняет коллекцию-приемник значениями из коллекции-источник // В качестве коллекций источника и приемника могут выступать типы: // ТаблицаЗначений; ДеревоЗначений; СписокЗначений и пр. // // Параметры: -// КоллекцияИсточник - коллекция значений, которая является источником для заполнения данных; -// КоллекцияПриемник - коллекция значений, которая является приемником для заполнения данных. +// КоллекцияИсточник - ЛюбаяКоллекция - коллекция значений, которая является источником для заполнения данных; +// КоллекцияПриемник - ЛюбаяКоллекция - коллекция значений, которая является приемником для заполнения данных. // Процедура ЗаполнитьКоллекциюСвойств(КоллекцияИсточник, КоллекцияПриемник) Экспорт @@ -447,8 +508,8 @@ // Вычитает один массив элементов из другого массива. Возвращает результат вычитания. // // Параметры: -// Массив - массив элементов, из которого необходимо выполнить вычитание; -// МассивВычитания - массив элементов, который будет вычитаться. +// Массив - Массив - массив элементов, из которого необходимо выполнить вычитание; +// МассивВычитания - Массив - массив элементов, который будет вычитаться. // // Возвращаемое значение: // Массив - результат вычитания двух массивов. @@ -474,7 +535,7 @@ // Преобразует РасписаниеРегламентногоЗадания в структуру. // // Параметры: -// Расписание - РасписаниеРегламентногоЗадания; +// Расписание - РасписаниеРегламентногоЗадания -. // // Возвращаемое значение: // Структура. @@ -501,7 +562,7 @@ // Преобразует структуру в РасписаниеРегламентногоЗадания. // // Параметры: -// СтруктураРасписания - Структура; +// СтруктураРасписания - Структура -. // // Возвращаемое значение: // РасписаниеРегламентногоЗадания. @@ -643,8 +704,7 @@ КонецФункции -// Сравнивает элементы списков значений или массивов по значениям -// +// Сравнивает элементы списков значений или массивов по значениям. Функция СпискиЗначенийИдентичны(Список1, Список2) Экспорт СпискиИдентичны = Истина; @@ -669,8 +729,7 @@ КонецФункции // СпискиЗначенийИдентичны -// Создает массив и помещает в него переданное значение -// +// Создает массив и помещает в него переданное значение. Функция ЗначениеВМассиве(Значение) Экспорт Массив = Новый Массив; @@ -861,7 +920,7 @@ // Процедура УдалитьКаталогСФайлами удаляет все файлы в заданном каталоге. // // Параметры: -// Путь - Строка, полный путь каталога, в котором требуется +// Путь - Строка - полный путь каталога, в котором требуется // удалить все файлы. // Процедура УдалитьКаталогСФайлами(Путь) Экспорт @@ -904,8 +963,8 @@ // Составляет полное имя файла из имени каталога и имени файла. // // Параметры -// ИмяКаталога - Строка, содержащая путь к каталогу файла на диске. -// ИмяФайла - Строка, содержащая имя файла, без имени каталога. +// ИмяКаталога - Строка - путь к каталогу файла на диске. +// ИмяФайла - Строка - имя файла, без имени каталога. // // Возвращаемое значение: // Строка - полное имя файла с учетом каталога. @@ -932,8 +991,8 @@ // Раскладывает полное имя файла на составляющие. // // Параметры -// ПолноеИмяФайла - Строка, содержащая полный путь к файлу. -// ЭтоПапка - Булево, признак того, что требуется разложить полное имя папки, а не файла. +// ПолноеИмяФайла - Строка - полный путь к файлу. +// ЭтоПапка - Булево - признак того, что требуется разложить полное имя папки, а не файла. // // Возвращаемое значение: // Структура - имя файла, разложенное на составные части(аналогично свойствам объекта Файл): @@ -1115,7 +1174,7 @@ // Выделяет из имени файла его расширение (набор символов после последней точки). // // Параметры: -// ИмяФайла - Строка, содержащая имя файла, неважно с именем каталога или без. +// ИмяФайла - Строка - имя файла с именем каталога или без. // // Возвращаемое значение: // Строка - расширение файла. @@ -1143,7 +1202,7 @@ // Преобразует расширение файла в нижний регистр без точки. // // Параметры: -// Расширение - Строка. Расширение для преобразования. +// Расширение - Строка - Расширение для преобразования. // // Возвращаемое значение: // Строка. @@ -1163,7 +1222,7 @@ // Возвращает разделитель пути файловой системы. // // Параметры: -// Платформа - Неопределено: +// Платформа - Неопределено - // На клиенте - разделитель пути клиентской файловой системы. // На сервере - разделитель пути серверной файловой системы. // @@ -1199,8 +1258,8 @@ // Если расширение пустое, тогда точка не добавляется. // // Параметры: -// ИмяБезРасширения - Строка. -// Расширение - Строка. +// ИмяБезРасширения - Строка - . +// Расширение - Строка - . // // Возвращаемое значение: // Строка. @@ -1231,7 +1290,8 @@ // Проверяет наличие недопустимых символов в имени файла. // // Параметры -// ИмяФайла - Строка +// ИмяФайла - Строка -. +// // Возвращаемое значение: // Массив - массив обнаруженных в имени файла недопустимых символов. // Если недопустимых символов не обнаружено возвращается пустой массив. @@ -1721,7 +1781,8 @@ Знач ПравоеЗначение = Неопределено, Знач ВидСравнения = Неопределено, Знач Использование = Неопределено, - Знач РежимОтображения = Неопределено) Экспорт + Знач РежимОтображения = Неопределено, + Знач ИдентификаторПользовательскойНастройки = Неопределено) Экспорт Если ЗначениеЗаполнено(ИмяПоля) Тогда ЗначениеПоиска = Новый ПолеКомпоновкиДанных(ИмяПоля); @@ -1754,6 +1815,9 @@ Если РежимОтображения <> Неопределено Тогда Элемент.РежимОтображения = РежимОтображения; КонецЕсли; + Если ИдентификаторПользовательскойНастройки <> Неопределено Тогда + Элемент.ИдентификаторПользовательскойНастройки = ИдентификаторПользовательскойНастройки; + КонецЕсли; КонецЦикла; Возврат МассивЭлементов.Количество(); @@ -1811,15 +1875,21 @@ Знач ВидСравнения = Неопределено, Знач Представление = Неопределено, Знач Использование = Неопределено, - знач РежимОтображения = Неопределено, - знач ИдентификаторПользовательскойНастройки = Неопределено) Экспорт + Знач РежимОтображения = Неопределено, + Знач ИдентификаторПользовательскойНастройки = Неопределено) Экспорт ЧислоИзмененных = ИзменитьЭлементыОтбора(ОбластьПоискаДобавления, ИмяПоля, Представление, - ПравоеЗначение, ВидСравнения, Использование, РежимОтображения); + ПравоеЗначение, ВидСравнения, Использование, РежимОтображения, ИдентификаторПользовательскойНастройки); Если ЧислоИзмененных = 0 Тогда Если ВидСравнения = Неопределено Тогда - ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + Если ТипЗнч(ПравоеЗначение) = Тип("Массив") + Или ТипЗнч(ПравоеЗначение) = Тип("ФиксированныйМассив") + Или ТипЗнч(ПравоеЗначение) = Тип("СписокЗначений") Тогда + ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; + Иначе + ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + КонецЕсли; КонецЕсли; Если РежимОтображения = Неопределено Тогда РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; @@ -1881,9 +1951,15 @@ // Процедура УдалитьЭлементыГруппыОтбораДинамическогоСписка(ДинамическийСписок, ИмяПоля = Неопределено, Представление = Неопределено) Экспорт - ОтборДинамическогоСписка = ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.Отбор; + УдалитьЭлементыГруппыОтбора( + ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.Отбор, + ИмяПоля, + Представление); - УдалитьЭлементыГруппыОтбора(ОтборДинамическогоСписка, ИмяПоля, Представление); + УдалитьЭлементыГруппыОтбора( + ДинамическийСписок.КомпоновщикНастроек.Настройки.Отбор, + ИмяПоля, + Представление); КонецПроцедуры @@ -1988,7 +2064,7 @@ Процедура УстановитьСвойствоЭлементаФормы(ЭлементыФормы, ИмяЭлемента, ИмяСвойства, Значение) Экспорт ЭлементФормы = ЭлементыФормы.Найти(ИмяЭлемента); - Если ЭлементФормы <> Неопределено Тогда + Если ЭлементФормы <> Неопределено И ЭлементФормы[ИмяСвойства] <> Значение Тогда ЭлементФормы[ИмяСвойства] = Значение; КонецЕсли; @@ -2517,17 +2593,7 @@ КонецФункции // ЭлементПрисутствуетВСписке // Проверяет, что почтовый адрес не содержит символов обрамления -// если символы обрамления вставлены правильно убирает их -// Параметры: -// ПолноеИмяАдресата - строка - имя получателя -// ПочтовыйАдрес - строка - email адрес -// Возвращаемое значение: -// Структура: -// Ключ статус - булево - успех или неуспех операции -// СообщениеОбОшибке - в случае неуспеха операции содержит сообщение об ошибке -// Значение - структура - в случае успеха операции содержит записанную структуру почтового -// адреса: ключи - Адрес, Представление (строки) -// +// если символы обрамления вставлены правильно убирает их. Функция ПроверитьИПодготовитьПочтовыйАдрес(Знач ПолноеИмяАдресата, Знач ПочтовыйАдрес) НедопустимыйСимволВИмениАдресата = НСтр("ru = 'Недопустимый символ в имени адресата.'"); diff --git a/SSL/src/CommonModules/ОбщегоНазначенияПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначенияПереопределяемый/Module.bsl index 1512b44ed..5e6faf1aa 100644 --- a/SSL/src/CommonModules/ОбщегоНазначенияПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначенияПереопределяемый/Module.bsl @@ -7,21 +7,16 @@ // Возвращает соответствие имен параметров сеанса и обработчиков для их инициализации. // -Функция ОбработчикиИнициализацииПараметровСеанса() Экспорт +// Для задания обработчиков параметров сеанса следует использовать шаблон: +// Обработчики.Вставить("<ИмяПараметраСеанса>|<НачалоИмениПараметраСеанса*>", "Обработчик"); +// +// Примечание. Символ '*'используется в конце имени параметра сеанса и обозначает, +// что один обработчик будет вызван для инициализации всех параметров сеанса +// с именем, начинающимся на слово НачалоИмениПараметраСеанса +// +Процедура ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики) Экспорт - // Для задания обработчиков параметров сеанса следует использовать шаблон: - // Обработчики.Вставить("<ИмяПараметраСеанса>|<НачалоИмениПараметраСеанса*>", "Обработчик"); - // - // Примечание. Символ '*'используется в конце имени параметра сеанса и обозначает, - // что один обработчик будет вызван для инициализации всех параметров сеанса - // с именем, начинающимся на слово НачалоИмениПараметраСеанса - // - - Обработчики = Новый Соответствие; - - Возврат Обработчики; - -КонецФункции +КонецПроцедуры // Объекты метаданных, содержимое которых не должно учитывается в бизнес-логике приложения. // @@ -31,8 +26,8 @@ // Часть ссылок имеют значение для бизнес-логики (например движения по регистрам) и должны выводиться пользователю. // Другая часть ссылок - "техногенные" ссылки на документ из данных подсистем "Версионирование объектов" и "Свойства", // должны скрываться от пользователя при поиске ссылок на объект. -// Например, в обработке удаления помеченных или в подсистеме запрета редактирования ключевых реквизитов. -// Список таких "техногенных" объектов нужно перечислить в этой функции. +// Например, при анализе мест использования или в подсистеме запрета редактирования ключевых реквизитов. +// Список таких "техногенных" объектов нужно перечислить в этой процедуре. // // Важно: // Для избежания появления пустых "битых" ссылок рекомендуется предусмотреть процедуру очистки указанных объектов метаданных. @@ -43,23 +38,19 @@ // В обработчике необходимо найти "техногенные" объекты, в реквизитах которых указана ссылка удаляемого объекта, // и выбрать как именно очищать ссылку: очищать значение реквизита, удалять строку таблицы или удалять весь объект. // -// Например: -// Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов); -// Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.Реквизиты.АвторВерсии); -// Массив.Добавить("РегистрСведений.ВерсииОбъектов"); +// Параметры: +// ИсключенияПоискаСсылок - Массив - Объекты метаданных или их реквизиты, содержимое которых не должно учитывается в бизнес-логике приложения. +// * ОбъектМетаданных - Объект метаданных или его реквизит. +// * Строка - Полное имя объекта метаданных или его реквизита. // -// Возвращаемое значение: -// Массив - Объекты метаданных или их реквизиты, содержимое которых не должно учитывается в бизнес-логике приложения. -// * ОбъектМетаданных - Объект метаданных или его реквизит. -// * Строка - Полное имя объекта метаданных или его реквизита. +// Примеры: +// ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов); +// ИсключенияПоискаСсылок.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.Реквизиты.АвторВерсии); +// ИсключенияПоискаСсылок.Добавить("РегистрСведений.ВерсииОбъектов"); // -Функция ПолучитьИсключенияПоискаСсылок() Экспорт +Процедура ПриДобавленииИсключенийПоискаСсылок(ИсключенияПоискаСсылок) Экспорт - Массив = Новый Массив; - - Возврат Массив; - -КонецФункции +КонецПроцедуры // Устанавливает текстовое описание предмета // @@ -74,7 +65,13 @@ // автоматически найти по типу, но ссылки на которые требуется сохранять // в базе данных (например: подсистемы, роли). // -// Подробнее см. комментарий к процедуре ДобавитьПереименование общего модуля ОбщегоНазначения. +// Параметры: +// Итог - ТаблицаЗначений - таблица, которую нужно передавать, как параметр +// в процедуру ДобавитьПереименование общего модуля ОбщегоНазначения. +// +// Пример: +// ОбщегоНазначения.ДобавитьПереименование(Итог, "2.2.1.7", +// "Роль.ИспользованиеЭЦП", "Роль.ИспользованиеЭП", "СтандартныеПодсистемы"); // Процедура ПриДобавленииПереименованийОбъектовМетаданных(Итог) Экспорт @@ -233,4 +230,63 @@ КонецПроцедуры +// Устарела. Следует использовать ПриДобавленииОбработчиковУстановкиПараметровСеанса. +// Возвращает соответствие имен параметров сеанса и обработчиков для их инициализации. +// +Функция ОбработчикиИнициализацииПараметровСеанса() Экспорт + + // Для задания обработчиков параметров сеанса следует использовать шаблон: + // Обработчики.Вставить("<ИмяПараметраСеанса>|<НачалоИмениПараметраСеанса*>", "Обработчик"); + // + // Примечание. Символ '*'используется в конце имени параметра сеанса и обозначает, + // что один обработчик будет вызван для инициализации всех параметров сеанса + // с именем, начинающимся на слово НачалоИмениПараметраСеанса + // + + Обработчики = Новый Соответствие; + + Возврат Обработчики; + +КонецФункции + +// Устарела. Следует использовать ПриДобавленииИсключенийПоискаСсылок. +// +// Объекты метаданных, содержимое которых не должно учитывается в бизнес-логике приложения. +// +// Описание: +// Для документа "Реализация товаров и услуг" настроены подсистемы "Версионирование объектов" и "Свойства". +// При этом документ может быть указан в других объектах метаданных - документах или регистрах. +// Часть ссылок имеют значение для бизнес-логики (например движения по регистрам) и должны выводиться пользователю. +// Другая часть ссылок - "техногенные" ссылки на документ из данных подсистем "Версионирование объектов" и "Свойства", +// должны скрываться от пользователя при поиске ссылок на объект. +// Например, при анализе мест использования или в подсистеме запрета редактирования ключевых реквизитов. +// Список таких "техногенных" объектов нужно перечислить в этой функции. +// +// Важно: +// Для избежания появления пустых "битых" ссылок рекомендуется предусмотреть процедуру очистки указанных объектов метаданных. +// Для измерений регистров сведений - с помощью установки флажка "Ведущее", +// тогда запись регистра сведений будет удалена вместе с удалением ссылки, указанной в измерении. +// Для других реквизитов указанных объектов - с помощью подписки на событие ПередУдалением всех типов объектов метаданных, +// которые могут быть записаны в реквизиты указанных объектов метаданных. +// В обработчике необходимо найти "техногенные" объекты, в реквизитах которых указана ссылка удаляемого объекта, +// и выбрать как именно очищать ссылку: очищать значение реквизита, удалять строку таблицы или удалять весь объект. +// +// Например: +// Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов); +// Массив.Добавить(Метаданные.РегистрыСведений.ВерсииОбъектов.Реквизиты.АвторВерсии); +// Массив.Добавить("РегистрСведений.ВерсииОбъектов"); +// +// Возвращаемое значение: +// Массив - Объекты метаданных или их реквизиты, содержимое которых не должно учитывается в бизнес-логике приложения. +// * ОбъектМетаданных - Объект метаданных или его реквизит. +// * Строка - Полное имя объекта метаданных или его реквизита. +// +Функция ПолучитьИсключенияПоискаСсылок() Экспорт + + Массив = Новый Массив; + + Возврат Массив; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ОбщегоНазначенияПовтИсп/Module.bsl b/SSL/src/CommonModules/ОбщегоНазначенияПовтИсп/Module.bsl index 13831a783..96d551b5c 100644 --- a/SSL/src/CommonModules/ОбщегоНазначенияПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/ОбщегоНазначенияПовтИсп/Module.bsl @@ -565,7 +565,7 @@ // Параметры соответствуют конструктору объекта WSПрокси. // Функция WSПрокси(Знач АдресWSDL, Знач URIПространстваИмен, Знач ИмяСервиса, - Знач ИмяТочкиПодключения = "", Знач ИмяПользователя, Знач Пароль, Знач Таймаут = Неопределено) Экспорт + Знач ИмяТочкиПодключения = "", Знач ИмяПользователя, Знач Пароль, Знач Таймаут = 0) Экспорт Возврат ОбщегоНазначения.ВнутренняяWSПрокси(АдресWSDL, URIПространстваИмен, ИмяСервиса, ИмяТочкиПодключения, ИмяПользователя, Пароль, Таймаут); diff --git a/SSL/src/CommonModules/ОтправкаSMS/Module.bsl b/SSL/src/CommonModules/ОтправкаSMS/Module.bsl index 762eb3149..2cc60928b 100644 --- a/SSL/src/CommonModules/ОтправкаSMS/Module.bsl +++ b/SSL/src/CommonModules/ОтправкаSMS/Module.bsl @@ -14,10 +14,12 @@ // ПеревестиВТранслит - Булево - Истина, если требуется переводить текст сообщения в транслит перед отправкой. // // Возвращаемое значение: -// Структура: ОтправленныеСообщения - Массив структур: НомерПолучателя -// ИдентификаторСообщения -// ОписаниеОшибки - Строка - пользовательское представление ошибки, если пустая строка, -// то ошибки нет. +// Структура: +// * ОтправленныеСообщения - Массив - массив структур: +// ** НомерПолучателя - Строка. +// ** ИдентификаторСообщения - Строка. +// * ОписаниеОшибки - Строка - пользовательское представление ошибки, если пустая строка, +// то ошибки нет. Функция ОтправитьSMS(НомераПолучателей, Знач Текст, ИмяОтправителя = "", ПеревестиВТранслит = Ложь) Экспорт Результат = Новый Структура("ОтправленныеСообщения,ОписаниеОшибки", Новый Массив, ""); diff --git a/SSL/src/CommonModules/ОтправкаSMSПереопределяемый/Module.bsl b/SSL/src/CommonModules/ОтправкаSMSПереопределяемый/Module.bsl index 91e3d79f2..7e53d0ade 100644 --- a/SSL/src/CommonModules/ОтправкаSMSПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ОтправкаSMSПереопределяемый/Module.bsl @@ -44,10 +44,10 @@ // Проверяет правильность сохраненных настроек отправки SMS. // // Параметры: -// НастройкиОтправкиSMS - Структура - -// Провайдер - ПеречислениеСсылка.ПровайдерыSMS; -// Логин - Строка; -// Пароль - Строка; +// НастройкиОтправкиSMS - Структура: +// * Провайдер - ПеречислениеСсылка.ПровайдерыSMS; +// * Логин - Строка; +// * Пароль - Строка. // Отказ - Булево - установить этот параметр в Истина, если настройки не заполнены или заполнены неверно. // Процедура ПриПроверкеНастроекОтправкиSMS(НастройкиОтправкиSMS, Отказ) Экспорт diff --git a/SSL/src/CommonModules/ОчередьЗаданийСлужебный/Module.bsl b/SSL/src/CommonModules/ОчередьЗаданийСлужебный/Module.bsl index b1bce73ed..dab077d37 100644 --- a/SSL/src/CommonModules/ОчередьЗаданийСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ОчередьЗаданийСлужебный/Module.bsl @@ -525,7 +525,7 @@ Задание = Выборка.Идентификатор.ПолучитьОбъект(); Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.НеЗапланировано; - Задание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); ЗафиксироватьТранзакцию(); Исключение ОбщегоНазначения.УстановитьРазделениеСеанса(Ложь); @@ -589,10 +589,16 @@ КонецПопытки; - Задание = ПараметрыОбработчикаОшибок.Задание.ПолучитьОбъект(); - Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОшибкаВыполнения; - ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); - РазблокироватьДанныеДляРедактирования(Задание.Ссылка); + Если ОбщегоНазначения.СсылкаСуществует(Задание) + и Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОбработкаОшибкиПриАварийномЗавершении Тогда + + ЗаданиеОбъект = Задание.ПолучитьОбъект(); + ЗаданиеОбъект.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОшибкаВыполнения; + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(ЗаданиеОбъект); + + КонецЕсли; + + РазблокироватьДанныеДляРедактирования(Задание); КонецПроцедуры @@ -766,9 +772,7 @@ ОбщегоНазначения.УстановитьРазделениеСеанса(Истина,ЗначениеРазделителя); КонецЕсли; - ТекстОшибки = ИнформацияОбОшибке().Описание; - - ВызватьИсключение ТекстОшибки; + ВызватьИсключение; КонецПопытки; @@ -863,7 +867,6 @@ КонецФункции - // Формирует и возвращает таблицу имен регламентных заданий с признаком использования. // // Возвращаемое значение: @@ -1050,6 +1053,12 @@ ДатаДляПроверки = НачалоДня(ДатаНачалаПоследнегоЗапуска) + Расписание.ПериодПовтораДней * 86400; КонецЕсли; + + //Если задание повторяется раз в день (но не чаще) то сдвигаем на следующий день после последнего запуска + Если Расписание.ПериодПовтораДней = 1 И Расписание.ПериодПовтораВТечениеДня = 0 Тогда + ДатаДляПроверки = Макс(ДатаДляПроверки, НачалоДня(ДатаНачалаПоследнегоЗапуска+86400)); + КонецЕсли; + КонецЕсли; // Учет допустимых интервалов запуска @@ -1177,6 +1186,39 @@ ДетальныеРасписания = Расписание.ДетальныеРасписанияДня; КонецЕсли; + // Если у нас есть промежутки, с переходом через полночь, то разбиваем их на два промежутка + Индекс = 0; + Пока Индекс < ДетальныеРасписания.Количество() Цикл + + РасписаниеДня = ДетальныеРасписания[Индекс]; + + Если НЕ ЗначениеЗаполнено(РасписаниеДня.ВремяНачала) ИЛИ НЕ ЗначениеЗаполнено(РасписаниеДня.ВремяКонца) Тогда + Индекс = Индекс + 1; + Продолжить; + КонецЕсли; + + Если РасписаниеДня.ВремяНачала > РасписаниеДня.ВремяКонца Тогда + + РасписаниеДняПерваяПоловина = Новый РасписаниеРегламентногоЗадания(); + ЗаполнитьЗначенияСвойств(РасписаниеДняПерваяПоловина,РасписаниеДня); + РасписаниеДняПерваяПоловина.ВремяНачала = НачалоДня(РасписаниеДняПерваяПоловина.ВремяНачала); + ДетальныеРасписания.Добавить(РасписаниеДняПерваяПоловина); + + РасписаниеДняВтораяПоловина = Новый РасписаниеРегламентногоЗадания(); + ЗаполнитьЗначенияСвойств(РасписаниеДняВтораяПоловина,РасписаниеДня); + РасписаниеДняВтораяПоловина.ВремяКонца = КонецДня(РасписаниеДняВтораяПоловина.ВремяНачала); + ДетальныеРасписания.Добавить(РасписаниеДняВтораяПоловина); + + ДетальныеРасписания.Удалить(Индекс); + + Иначе + + Индекс = Индекс + 1; + + КонецЕсли; + + КонецЦикла; + Для Индекс = 0 По ДетальныеРасписания.ВГраница() Цикл РасписаниеДня = ДетальныеРасписания[Индекс]; @@ -1361,7 +1403,7 @@ Задание.НомерПопытки = Задание.НомерПопытки + 1; Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Запланировано; Задание.ИсполняющееФоновоеЗадание = Неопределено; - Задание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); ИначеЕсли Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.Выполняется Тогда // Задание не было выполнено, запланируем обработчик ошибки @@ -1388,10 +1430,15 @@ // Останавливаем выполнение задания пока не будет выполнен обработчик ошибок Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОбработкаОшибкиПриАварийномЗавершении; - Задание.Записать(); + + Иначе + + Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОшибкаВыполнения; КонецЕсли; + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); + Иначе Расписание = Выборка.Расписание.Получить(); Если Расписание <> Неопределено Тогда @@ -1405,7 +1452,7 @@ Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.НеАктивно; КонецЕсли; Задание.ИсполняющееФоновоеЗадание = Неопределено; - Задание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); Иначе // Нет расписания @@ -1492,7 +1539,7 @@ Задание.ИсполняющееФоновоеЗадание = ИсполняющееФоновоеЗадание.УникальныйИдентификатор; Задание.ДатаНачалаПоследнегоЗапуска = ТекущаяУниверсальнаяДата(); Задание.ДатаЗавершенияПоследнегоЗапуска = Неопределено; - Задание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); ЗафиксироватьТранзакцию(); @@ -1532,18 +1579,19 @@ Исключение + ИнформацияОбОшибкеВыполненияЗадания = ИнформацияОбОшибке(); + ЗаписьКонтроляВыполнения(НСтр("ru = 'Очередь регламентных заданий.Завершено с ошибками'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), Ссылка, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + ПодробноеПредставлениеОшибки(ИнформацияОбОшибкеВыполненияЗадания)); ЗаписьЖурналаРегистрации(НСтр("ru = 'Очередь регламентных заданий.Выполнение'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, , ИсполняющееФоновоеЗадание, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + ПодробноеПредставлениеОшибки(ИнформацияОбОшибкеВыполненияЗадания)); - ИнформацияОбОшибкеВыполненияЗадания = ИнформацияОбОшибке(); КонецПопытки; @@ -1572,7 +1620,7 @@ Иначе Задание.СостояниеЗадания = Перечисления.СостоянияЗаданий.ОшибкаВыполнения; КонецЕсли; - Задание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(Задание); КонецЕсли; @@ -1697,7 +1745,7 @@ КонецЕсли; ЗаполнитьЗначенияСвойств(НовоеЗадание, Выборка); - НовоеЗадание.Записать(); + ОбщегоНазначения.ЗаписатьВспомогательныеДанные(НовоеЗадание); КонецЦикла; diff --git a/SSL/src/CommonModules/ПолнотекстовыйПоискСервер/Module.bsl b/SSL/src/CommonModules/ПолнотекстовыйПоискСервер/Module.bsl index b624b931e..e521f1f7b 100644 --- a/SSL/src/CommonModules/ПолнотекстовыйПоискСервер/Module.bsl +++ b/SSL/src/CommonModules/ПолнотекстовыйПоискСервер/Module.bsl @@ -65,6 +65,7 @@ Обработчик = Обработчики.Добавить(); Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "ПолнотекстовыйПоискСервер.ИнициализироватьФункциональнуюОпциюПолнотекстовыйПоиск"; + Обработчик.Версия = "1.0.0.1"; Обработчик.ОбщиеДанные = Истина; КонецПроцедуры @@ -176,7 +177,7 @@ // Запись в журнал регистрации ЗаписьЖурналаРегистрации( - НСтр("ru = 'Полнотекстовый поиск'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + НСтр("ru = 'Полнотекстовое индексирование'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурнала, , , ТекстДляЖурнала); diff --git a/SSL/src/CommonModules/Пользователи/Module.bsl b/SSL/src/CommonModules/Пользователи/Module.bsl index 5f692ec34..4f00d855d 100644 --- a/SSL/src/CommonModules/Пользователи/Module.bsl +++ b/SSL/src/CommonModules/Пользователи/Module.bsl @@ -8,14 +8,14 @@ //////////////////////////////////////////////////////////////////////////////// // Основные процедуры и функции. -// См. ПользователиКлиентСервер.АвторизованныйПользователь(). +// См. одноименную функцию в общем модуле ПользователиКлиентСервер. Функция АвторизованныйПользователь() Экспорт Возврат ПользователиКлиентСервер.АвторизованныйПользователь(); КонецФункции -// См. ПользователиКлиентСервер.ТекущийПользователь(). +// См. одноименную функцию в общем модуле ПользователиКлиентСервер. Функция ТекущийПользователь() Экспорт Возврат ПользователиКлиентСервер.ТекущийПользователь(); @@ -31,25 +31,20 @@ // основная роль конфигурации не задана или ПолныеПрава. // // Параметры: -// Пользователь - Неопределено - проверяется текущий пользователь ИБ; -// СправочникСсылка.Пользователи, -// СправочникСсылка.ВнешниеПользователи - осуществляется поиск -// пользователя ИБ по уникальному идентификатору, -// заданному в реквизите ИдентификаторПользователяИБ. -// Прим.: если пользователь ИБ не найден, возвращается Ложь. -// ПользовательИнформационнойБазы - проверяется указанный -// пользователь ИБ. +// Пользователь - Неопределено - проверяется текущий пользователь ИБ. +// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - осуществляется +// поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите +// ИдентификаторПользователяИБ. Если пользователь ИБ не найден, возвращается Ложь. +// - ПользовательИнформационнойБазы - проверяется указанный пользователь ИБ. // -// ПроверятьПраваАдминистрированияСистемы - Булево - если задано Истина, тогда -// проверяется наличие роли для администрирования системы. -// Начальное значение: Ложь. +// ПроверятьПраваАдминистрированияСистемы - Булево - если задано Истина, тогда проверяется наличие +// роли для администрирования системы // // УчитыватьПривилегированныйРежим - Булево - если задано Истина, тогда для текущего пользователя // функция возвращает Истина, когда установлен привилегированный режим. -// Начальное значение: Истина. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, пользователь является полноправным. // Функция ЭтоПолноправныйПользователь(Пользователь = Неопределено, ПроверятьПраваАдминистрированияСистемы = Ложь, @@ -124,18 +119,14 @@ // Параметры: // ИменаРолей - Строка - имена ролей, разделенные запятыми, доступность которых проверяется. // -// Пользователь - Неопределено - проверяется текущий пользователь ИБ; -// СправочникСсылка.Пользователи, -// СправочникСсылка.ВнешниеПользователи - осуществляется поиск -// пользователя ИБ по уникальному идентификатору, -// заданному в реквизите ИдентификаторПользователяИБ -// Прим.: если пользователь ИБ не найден, возвращается Ложь. -// ПользовательИнформационнойБазы - проверяется указанный -// пользователь ИБ +// Пользователь - Неопределено - проверяется текущий пользователь ИБ. +// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - осуществляется +// поиск пользователя ИБ по уникальному идентификатору, заданному в реквизите +// ИдентификаторПользователяИБ. Если пользователь ИБ не найден, возвращается Ложь. +// - ПользовательИнформационнойБазы - проверяется указанный пользователь ИБ. // // УчитыватьПривилегированныйРежим - Булево - если задано Истина, тогда для текущего пользователя // функция возвращает Истина, когда установлен привилегированный режим. -// Начальное значение: Истина. // // Возвращаемое значение: // Булево - Истина, если хотя бы одна из указанных ролей доступна, @@ -178,14 +169,17 @@ // Проверяет наличие хотя бы одного вида аутентификации у пользователя ИБ. // // Параметры: -// ОписаниеПользователяИБ - УникальныйИдентификатор - пользователя ИБ, -// - Структура - содержит 3 свойства аутентификации, -// - ПользовательИнформационнойБазы, -// - СправочникСсылка.Пользователи, -// - СправочникСсылка.ВнешниеПользователи. +// ОписаниеПользователяИБ - УникальныйИдентификатор - пользователя ИБ. +// - Структура - содержит 3 свойства аутентификации: +// * АутентификацияСтандартная - Булево - +// * АутентификацияОС - Булево - +// * АутентификацияOpenID - Булево - +// - ПользовательИнформационнойБазы - +// - СправочникСсылка.Пользователи - +// - СправочникСсылка.ВнешниеПользователи - // // Возвращаемое значение: -// Булево. Истина - если хотя бы одно свойство аутентификации равно Истина. +// Булево - Истина, если хотя бы одно свойство аутентификации равно Истина. // Функция ВходВПрограммуРазрешен(ОписаниеПользователяИБ) Экспорт @@ -231,15 +225,15 @@ // Используется в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор. // // Параметры: -// Текст - Строка, символы введенные пользователем. +// Текст - Строка - символы введенные пользователем. // -// ВключаяГруппы - Булево, если Истина, включать группы пользователей и внешних пользователей. +// ВключаяГруппы - Булево - если Истина, включать группы пользователей и внешних пользователей. // Если ФО ИспользоватьГруппыПользователей отключена, параметр игнорируется. // -// ВключаяВнешнихПользователей - Неопределено, Булево, когда Неопределено, используется значение, +// ВключаяВнешнихПользователей - Неопределено, Булево - когда Неопределено, используется значение, // возвращаемое функцией ВнешниеПользователи.ИспользоватьВнешнихПользователей(). // -// БезПользователей - Булево, если Истина, то элементы справочника Пользователи +// БезПользователей - Булево - если Истина, то элементы справочника Пользователи // исключаются из результата. // Функция СформироватьДанныеВыбораПользователя(Знач Текст, @@ -337,11 +331,11 @@ // пользователей, групп пользователей, внешних пользователей и групп внешних пользователей. // // Параметры: -// Таблица - ДанныеФормыКоллекция, ДанныеФормыДерево. -// ИмяПоляПользователь - Строка, имя поля содержащего ссылку на пользователя, группу пользователей, +// Таблица - ДанныеФормыКоллекция, ДанныеФормыДерево - список для заполнения. +// ИмяПоляПользователь - Строка - имя поля содержащего ссылку на пользователя, группу пользователей, // внешнего пользователя или группу внешних пользователей. -// ИмяПоляНомераКартинки - Строка, имя поля содержащего номер картинки, который нужно установить. -// ИдентификаторСтроки - Неопределено, Число, идентификатор строки (не порядковый номер), +// ИмяПоляНомераКартинки - Строка - имя поля содержащего номер картинки, который нужно установить. +// ИдентификаторСтроки - Неопределено, Число - идентификатор строки (не порядковый номер), // когда Неопределено, заполнить картинки для всех строк таблицы. // Процедура ЗаполнитьНомераКартинокПользователей(Знач Таблица, @@ -632,13 +626,13 @@ // // Параметры: // ПользовательИБ - Строка - имя пользователя ИБ. -// УникальныйИдентификатор - уникальный идентификатор пользователя ИБ. -// ПользовательИнформационнойБазы. +// - УникальныйИдентификатор - уникальный идентификатор пользователя ИБ. +// - ПользовательИнформационнойБазы - // -// УчетнаяЗапись - ПользовательИнформационнойБазы (возвращаемое значение). +// УчетнаяЗапись - ПользовательИнформационнойБазы - (возвращаемое значение). // // Возвращаемое значение: -// Булево. Истина, если пользователь ИБ существует и его идентификатор +// Булево - Истина, если пользователь ИБ существует и его идентификатор // используется либо в справочнике Пользователи, либо в справочнике ВнешниеПользователи. // Функция ПользовательИБЗанят(ПользовательИБ, УчетнаяЗапись = Неопределено) Экспорт @@ -666,38 +660,34 @@ // Возвращает пустую структуру описания пользователя ИБ. // // Возвращаемое значение: -// Структура. -// УникальныйИдентификатор - УникальныйИдентификатор. -// Имя - Строка. -// ПолноеИмя - Строка. +// Структура - со свойствами: +// * УникальныйИдентификатор - УникальныйИдентификатор - +// * Имя - Строка - +// * ПолноеИмя - Строка - // -// АутентификацияOpenID - Булево. +// * АутентификацияOpenID - Булево - // -// АутентификацияСтандартная - Булево. -// ПоказыватьВСпискеВыбора - Булево. -// Пароль - Неопределено. -// СохраняемоеЗначениеПароля - Неопределено. -// ПарольУстановлен - Булево. -// ЗапрещеноИзменятьПароль - Булево. +// * АутентификацияСтандартная - Булево - +// * ПоказыватьВСпискеВыбора - Булево - +// * Пароль - Неопределено - +// * СохраняемоеЗначениеПароля - Неопределено - +// * ПарольУстановлен - Булево - +// * ЗапрещеноИзменятьПароль - Булево - // -// АутентификацияОС - Булево. -// ПользовательОС - Строка (не учитывается в учебной платформе). +// * АутентификацияОС - Булево - +// * ПользовательОС - Строка - (не учитывается в учебной платформе). // -// ОсновнойИнтерфейс - Неопределено, -// Строка (имя интерфейса из коллекции -// Метаданные.Интерфейсы). +// * ОсновнойИнтерфейс - Неопределено - +// - Строка - имя интерфейса из коллекции "Метаданные.Интерфейсы". // -// РежимЗапуска - Неопределено, -// Строка (значения: "Авто", -// "ОбычноеПриложение", -// "УправляемоеПриложение"). -// Язык - Неопределено, -// Строка (имя языка из коллекции -// Метаданные.Языки). +// * РежимЗапуска - Неопределено - +// - Строка - значения: "Авто", "ОбычноеПриложение", "УправляемоеПриложение". +// * Язык - Неопределено - +// - Строка - имя языка из коллекции "Метаданные.Языки". // -// Роли - Неопределено, -// Массив значений типа Строка (имена ролей -// из коллекции Метаданные.Роли). +// * Роли - Неопределено - +// - Массив - значений типа: +// * Строка - имена ролей из коллекции "Метаданные.Роли". // Функция НовоеОписаниеПользователяИБ() Экспорт @@ -734,17 +724,15 @@ КонецФункции -// Считывает свойства пользователя информационной базы по -// строковому или уникальному идентификатору. +// Считывает свойства пользователя информационной базы по строковому или уникальному идентификатору. // // Параметры: -// Идентификатор - Неопределено, Строка, УникальныйИдентификатор (идентификатор пользователя). -// Свойства - Структура со свойствами, как в фукнции НовоеОписаниеПользователяИБ(). -// ОписаниеОшибки - Строка, содержит описание ошибки, если чтение не удалось. +// Идентификатор - Неопределено, Строка, УникальныйИдентификатор - идентификатор пользователя. +// Свойства - Структура - со свойствами, как в фукнции НовоеОписаниеПользователяИБ(). +// ОписаниеОшибки - Строка - содержит описание ошибки, если чтение не удалось. // // Возвращаемое значение: -// Булево, -// если Истина - успех, иначе отказ, см. ОписаниеОшибки. +// Булево - если Истина, тогда пользователь прочитан, иначе см. ОписаниеОшибки. // Функция ПрочитатьПользователяИБ(Знач Идентификатор, Свойства = Неопределено, @@ -790,29 +778,26 @@ // (если задано создать существующего пользователя - будет ошибка). // // Параметры: -// Идентификатор - Строка, УникальныйИдентификатор (идентификатор пользователя). +// Идентификатор - Строка, УникальныйИдентификатор - идентификатор пользователя. // -// ОбновляемыеСвойства - Структура со свойствами, как в фукнции НовоеОписаниеПользователяИБ(). -// Свойство может быть не задано, тогда используется прочитанное или -// начальное значение. Следующие свойства используются нестандартно: -// -// УникальныйИдентификатор - Неопределено (возвращаемое значение, устанавливается -// после записи пользователя ИБ). -// СтарыйПароль - Неопределено, -// Строка - если заданный пароль не совпадет -// с существующим будет ошибка. +// ОбновляемыеСвойства - Структура - со свойствами, как в фукнции НовоеОписаниеПользователяИБ(). +// Свойство может быть не задано, тогда используется прочитанное или начальное значение. +// Следующие свойства структуры используются нестандартно: +// * УникальныйИдентификатор - Неопределено - (возвращаемое значение), +// устанавливается после записи пользователя ИБ. +// * СтарыйПароль - Неопределено, Строка - если заданный пароль +// не совпадет с существующим будет ошибка. // // СоздатьНового - Ложь - никаких дополнительных действий. -// Неопределено, -// Истина - создается новый пользователь ИБ, когда ПользовательИБ -// не найден по указанному идентификатору. +// - Неопределено, Истина - создается новый пользователь ИБ, +// когда ПользовательИБ не найден по указанному идентификатору. // При значении Истина, если Пользователь ИБ найден // по указанному идентификатору - будет ошибка. // -// ОписаниеОшибки - Строка, содержит описание ошибки, если чтение не удалось. +// ОписаниеОшибки - Строка - содержит описание ошибки, если чтение не удалось. // // Возвращаемое значение: -// Булево, если Истина - успех, иначе отказ, см. ОписаниеОшибки. +// Булево - если Истина, тогда пользователь записан, иначе см. ОписаниеОшибки. // Функция ЗаписатьПользователяИБ(Знач Идентификатор, Знач ОбновляемыеСвойства, @@ -918,13 +903,13 @@ // Удаляет указанного пользователя информационной базы. // // Параметры: -// Идентификатор - Строка - имя пользователя ИБ, -// УникальныйИдентификатор - идентификатор пользователя ИБ. +// Идентификатор - Строка - имя пользователя ИБ. +// - УникальныйИдентификатор - идентификатор пользователя ИБ. // -// ОписаниеОшибки - Строка, содержит описание ошибки, если удаление не удалось. +// ОписаниеОшибки - Строка - (возвращаемое значение) содержит описание ошибки, если удаление не удалось. // // Возвращаемое значение: -// Булево, если Истина - успех, иначе отказ, см. ОписаниеОшибки. +// Булево - если Истина пользователь успешно удален, иначе см. ОписаниеОшибки. // Функция УдалитьПользователяИБ(Знач Идентификатор, ОписаниеОшибки = "", @@ -984,21 +969,15 @@ // ПользовательИнформационнойБазы. // // Параметры: -// Приемник - Структура - подмножество свойств из НовоеОписаниеПользователяИБ(). -// ИЛИ НЕ Структура, например: -// ПользовательИнформационнойБазы, -// ДанныеФормыКоллекция. +// Приемник - Структура, ПользовательИнформационнойБазы, ДанныеФормыКоллекция - подмножество +// свойств из НовоеОписаниеПользователяИБ(). // -// Источник - как и приемник, но типы обратные, т.е. когда в Приемнике -// тип Структура, тогда в источнике НЕ Структура. +// Источник - Структура, ПользовательИнформационнойБазы, ДанныеФормыКоллекция - как и приемник, +// но типы обратные, т.е. когда в Приемнике тип Структура, тогда в источнике НЕ Структура. // -// СписокСвойств - Строка - список свойств через запятую, -// которые нужно скопировать (без префикса). -// -// ИсключаемыеСвойства - Строка - список свойств через запятую, -// которые не нужно копировать (без префикса). -// -// ПрефиксСвойств - Строка - начальное имя для Источника или Приемника типа НЕ Структура. +// КопируемыеСвойства - Строка - список свойств через запятую, которые нужно скопировать (без префикса). +// ИсключаемыеСвойства - Строка - список свойств через запятую, которые не нужно копировать (без префикса). +// ПрефиксСвойств - Строка - начальное имя для Источника или Приемника типа НЕ Структура. // Процедура СкопироватьСвойстваПользователяИБ(Приемник, Источник, @@ -1252,7 +1231,7 @@ // а роль для проверки может быть ПолныеПрава с правом Администрирование. // // Возвращаемое значение: -// ОбъектМетаданных: Роль. +// ОбъектМетаданных - Роль. // Функция РольАдминистратораСистемы(ДляПроверки = Ложь) Экспорт @@ -1275,23 +1254,20 @@ // // Параметры: // Пользователь - Неопределено - проверка для всех пользователей и внешних пользователей. -// СправочникСсылка.Пользователи или -// СправочникСсылка.ВнешниеПользователи - проверка только для указанной ссылки. +// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - проверка +// только для указанной ссылки. // -// УникальныйИдентификатор -// - Неопределено - проверка всех заданных идентификаторов пользователей ИБ. -// - УникальныйИдентификатор - проверка только для заданного идентификатора. +// УникальныйИдентификатор - Неопределено - проверка всех заданных идентификаторов пользователей ИБ. +// - УникальныйИдентификатор - проверка только для заданного идентификатора. // -// НайденныеИдентификаторы -// - Неопределено - при нахождении ошибок вызывается исключение. -// Соответствие - при нахождении ошибок исключение не вызывается, -// а вместо этого заполняется переданное соответствие: -// Ключ - неоднозначный идентификатор пользователя ИБ. -// Значение - массив пользователей и внешних пользователей. +// НайденныеИдентификаторы - Неопределено - при нахождении ошибок вызывается исключение. +// - Соответствие - при нахождении ошибок исключение не вызывается, +// а вместо этого заполняется переданное соответствие: +// * Ключ - неоднозначный идентификатор пользователя ИБ. +// * Значение - массив пользователей и внешних пользователей. // -// ИдентификаторПользователяСервиса - Булево. -// Ложь - проверять ИдентификаторПользователяИБ. -// Истина - проверять ИдентификаторПользователяСервиса. +// ИдентификаторПользователяСервиса - Булево - если Ложь, тогда проверять ИдентификаторПользователяИБ, +// если Истина,тогда проверять ИдентификаторПользователяСервиса. // Процедура НайтиНеоднозначныхПользователейИБ(Знач Пользователь = Неопределено, Знач УникальныйИдентификатор = Неопределено, @@ -1456,6 +1432,10 @@ КонецФункции +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ diff --git a/SSL/src/CommonModules/ПользователиКлиентСервер/Module.bsl b/SSL/src/CommonModules/ПользователиКлиентСервер/Module.bsl index c24829adc..182c333e1 100644 --- a/SSL/src/CommonModules/ПользователиКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ПользователиКлиентСервер/Module.bsl @@ -7,11 +7,10 @@ // Возвращает текущего пользователя или текущего внешнего пользователя, // в зависимости от того, кто выполнил вход в сеанс. -// Рекомендуется использовать в коде, который поддерживает работу -// в обоих случаях. +// Рекомендуется использовать в коде, который поддерживает работу в обоих случаях. // // Возвращаемое значение: -// СправочникСсылка.Пользователи или СправочникСсылка.ВнешниеПользователи. +// - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - // Функция АвторизованныйПользователь() Экспорт @@ -28,11 +27,9 @@ КонецФункции // Возвращает текущего пользователя. -// Рекомендуется использовать в коде, который не поддерживает -// работу с внешними пользователями. +// Рекомендуется использовать в коде, который не поддерживает работу с внешними пользователями. // -// Если вход в сеанс выполнил внешний пользователь, -// тогда будет вызвано исключение. +// Если вход в сеанс выполнил внешний пользователь, тогда будет вызвано исключение. // // Возвращаемое значение: // СправочникСсылка.Пользователи @@ -52,11 +49,9 @@ КонецФункции // Возвращает текущего внешнего пользователя. -// Рекомендуется использовать в коде, который поддерживает -// только внешних пользователей. +// Рекомендуется использовать в коде, который поддерживает только внешних пользователей. // -// Если вход в сеанс выполнил не внешний пользователь, -// тогда будет вызвано исключение. +// Если вход в сеанс выполнил не внешний пользователь, тогда будет вызвано исключение. // // Возвращаемое значение: // СправочникСсылка.ВнешниеПользователи @@ -76,6 +71,10 @@ КонецФункции // Возвращает Истина, если вход в сеанс выполнил внешний пользователь. +// +// Возвращаемое значение: +// Булево - Истина, если вход в сеанс выполнил внешний пользователь. +// Функция ЭтоСеансВнешнегоПользователя() Экспорт Возврат ТипЗнч(АвторизованныйПользователь()) diff --git a/SSL/src/CommonModules/ПользователиПереопределяемый/Module.bsl b/SSL/src/CommonModules/ПользователиПереопределяемый/Module.bsl index ab3eff688..b8b2e0212 100644 --- a/SSL/src/CommonModules/ПользователиПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ПользователиПереопределяемый/Module.bsl @@ -8,7 +8,7 @@ // Переопределяет стандартный способ установки ролей пользователям ИБ. // // Параметры: -// Запрет - Булево. Если установить Истина, изменение ролей +// Запрет - Булево - если установить Истина, изменение ролей // блокируется (в том числе для администратора). // Процедура ИзменитьЗапретРедактированияРолей(Запрет) Экспорт @@ -21,15 +21,14 @@ // Параметры: // Ссылка - СправочникСсылка.Пользователи, // СправочникСсылка.ВнешниеПользователи, -// СправочникСсылка.ГруппыВнешнихПользователей -// ссылка на пользователя, внешнего пользователя или группу внешних пользователей -// при создании формы. +// СправочникСсылка.ГруппыВнешнихПользователей - ссылка на пользователя, +// внешнего пользователя или группу внешних пользователей при создании формы. // -// ДействияВФорме - Структура (со свойствами типа Строка): -// Роли = "", "Просмотр", "Редактирование" -// КонтактнаяИнформация = "", "Просмотр", "Редактирование" -// СвойстваПользователяИБ = "", "Просмотр", "Редактирование" -// СвойстваЭлемента = "", "Просмотр", "Редактирование" +// ДействияВФорме - Структура - со свойствами: +// * Роли - Строка - "", "Просмотр", "Редактирование". +// * КонтактнаяИнформация - Строка - "", "Просмотр", "Редактирование". +// * СвойстваПользователяИБ - Строка - "", "Просмотр", "Редактирование". +// * СвойстваЭлемента - Строка - "", "Просмотр", "Редактирование". // // Для групп внешних пользователей КонтактнаяИнформация и СвойстваПользователяИБ не существуют. // @@ -41,8 +40,8 @@ // Вызывается из процедуры ЗаписатьПользователяИБ(), если пользователь был действительно изменен. // // Параметры: -// СтарыеСвойства - Структура, см. параметры возвращаемые функцией Пользователи.ПрочитатьПользователяИБ() -// НовыеСвойства - Структура, см. параметры возвращаемые функцией Пользователи.ЗаписатьПользователяИБ() +// СтарыеСвойства - Структура - см. параметры возвращаемые функцией Пользователи.ПрочитатьПользователяИБ(). +// НовыеСвойства - Структура - см. параметры возвращаемые функцией Пользователи.ЗаписатьПользователяИБ(). // Процедура ПриЗаписиПользователяИнформационнойБазы(Знач СтарыеСвойства, Знач НовыеСвойства) Экспорт @@ -52,29 +51,34 @@ // Вызывается из процедуры УдалитьПользователяИБ(), если пользователь был удален. // // Параметры: -// СтарыеСвойства - Структура, см. параметры возвращаемые функцией Пользователи.ПрочитатьПользователяИБ() +// СтарыеСвойства - Структура - см. параметры возвращаемые функцией Пользователи.ПрочитатьПользователяИБ(). // Процедура ПослеУдаленияПользователяИнформационнойБазы(Знач СтарыеСвойства) Экспорт КонецПроцедуры -// Переопределяет настройки интерфейса, устанавливаемые для новых пользователей +// Переопределяет настройки интерфейса, устанавливаемые для новых пользователей. // // Параметры: -// НастройкиКлиента - НастройкиКлиентскогоПриложения, -// НастройкиИнтерфейса - НастройкиКомандногоИнтерфейса. +// НачальныеНастройки - Структура - настройки по умолчанию: +// * НастройкиКлиента - НастройкиКлиентскогоПриложения - настройки клиентского приложения. +// * НастройкиИнтерфейса - НастройкиКомандногоИнтерфейса - настройки командного интерфейса (панели разделов, панели навигации, панели действий). +// * НастройкиТакси - НастройкиИнтерфейсаКлиентскогоПриложения - настройки интерфейса клиентского приложения (состав и размещение панелей). // -Процедура ПриУстановкеНачальныхНастроек(НастройкиКлиента, НастройкиИнтерфейса) Экспорт +Процедура ПриУстановкеНачальныхНастроек(НачальныеНастройки) Экспорт + + КонецПроцедуры // Дополняет список настроек переданного пользователя на вкладке "Прочее" обработки НастройкиПользователей. // // Параметры: -// СведенияОПользователе - Структура - Строковое и ссылочное представление пользователя. -// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, у которого нужно получить настройки. +// СведенияОПользователе - Структура - строковое и ссылочное представление пользователя. +// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, +// у которого нужно получить настройки. // * ИмяПользователяИнформационнойБазы - Строка - пользователь информационной базы, -// у которого нужно получить настройки. +// у которого нужно получить настройки. // Настройки - Структура - прочие пользовательские настройки. // * Ключ - Строка - строковый идентификатор настройки, используемый в дальнейшем // для копирования и очистки этой настройки. @@ -92,11 +96,12 @@ // Сохраняет настройки переданному пользователю. // // Параметры: -// Настройки - СписокЗначений - список значений сохраняемых настроек -// СведенияОПользователе - Структура - Строковое и ссылочное представление пользователя. -// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, которому нужно скопировать настройку. +// Настройки - СписокЗначений - список значений сохраняемых настроек. +// СведенияОПользователе - Структура - строковое и ссылочное представление пользователя. +// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, +// которому нужно скопировать настройку. // * ИмяПользователяИнформационнойБазы - Строка - пользователь информационной базы, -// которому нужно скопировать настройку. +// которому нужно скопировать настройку. // Процедура ПриСохраненииПрочихНастроек(СведенияОПользователе, Настройки) Экспорт @@ -107,11 +112,12 @@ // Очищает настройки переданному пользователю. // // Параметры: -// Настройки - СписокЗначений - список значений очищаемых настроек -// СведенияОПользователе - Структура - Строковое и ссылочное представление пользователя. -// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, которому нужно очистить настройку. +// Настройки - СписокЗначений - список значений очищаемых настроек +// СведенияОПользователе - Структура - строковое и ссылочное представление пользователя. +// * ПользовательСсылка - СправочникСсылка.Пользователи - пользователь, +// которому нужно очистить настройку. // * ИмяПользователяИнформационнойБазы - Строка - пользователь информационной базы, -// которому нужно очистить настройку. +// которому нужно очистить настройку. // Процедура ПриУдаленииПрочихНастроек(СведенияОПользователе, Настройки) Экспорт diff --git a/SSL/src/CommonModules/ПользователиСлужебный/Module.bsl b/SSL/src/CommonModules/ПользователиСлужебный/Module.bsl index 3daaa963e..bc9effec7 100644 --- a/SSL/src/CommonModules/ПользователиСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ПользователиСлужебный/Module.bsl @@ -393,19 +393,6 @@ Если НЕ ПриНачалеРаботыСистемы Тогда ОбновитьПовторноИспользуемыеЗначения(); - Иначе - // Программное заполнение списка пользователей. - Перезапустить = Ложь; - ДополнительныеПараметрыКоманднойСтроки = ""; - - ПередАвторизациейТекущегоПользователяПриНачалеРаботыСистемы( - Перезапустить, ДополнительныеПараметрыКоманднойСтроки); - - Если Перезапустить Тогда - Возврат Новый Структура( - "ДополнительныеПараметрыКоманднойСтроки", - ДополнительныеПараметрыКоманднойСтроки); - КонецЕсли; КонецЕсли; УстановитьПривилегированныйРежим(Истина); @@ -522,32 +509,53 @@ СистемнаяИнформация = Новый СистемнаяИнформация; - Такси = Ложь; ТекущийРежим = Метаданные.РежимСовместимостиИнтерфейса; Такси = (ТекущийРежим = Метаданные.СвойстваОбъектов.РежимСовместимостиИнтерфейса.Такси ИЛИ ТекущийРежим = Метаданные.СвойстваОбъектов.РежимСовместимостиИнтерфейса.ТаксиРазрешитьВерсия8_2); - Если Не Такси Тогда + НастройкиКлиента = Новый НастройкиКлиентскогоПриложения; + НастройкиКлиента.ОтображатьПанелиНавигацииИДействий = Ложь; + НастройкиКлиента.ОтображатьПанельРазделов = Истина; + НастройкиКлиента.РежимОткрытияФормПриложения = РежимОткрытияФормПриложения.Закладки; - НастройкиКлиента = Новый НастройкиКлиентскогоПриложения(); - НастройкиКлиента.ОтображатьПанелиНавигацииИДействий = Ложь; - НастройкиКлиента.ОтображатьПанельРазделов = Истина; - НастройкиКлиента.РежимОткрытияФормПриложения = РежимОткрытияФормПриложения.Закладки; + НастройкиТакси = Неопределено; + НастройкиИнтерфейса = Новый НастройкиКомандногоИнтерфейса; + + Если Такси Тогда + НастройкиКлиента.ВариантИнтерфейсаКлиентскогоПриложения = ВариантИнтерфейсаКлиентскогоПриложения.Такси; - НастройкиИнтерфейса = Новый НастройкиКомандногоИнтерфейса(); + НастройкиИнтерфейса.ОтображениеПанелиРазделов = ОтображениеПанелиРазделов.КартинкаИТекст; + + НастройкиТакси = Новый НастройкиИнтерфейсаКлиентскогоПриложения; + НастройкиСостава = Новый НастройкиСоставаИнтерфейсаКлиентскогоПриложения; + ГруппаСлева = Новый ГруппаНастройкиСоставаИнтерфейсаКлиентскогоПриложения; + ГруппаСлева.Добавить(Новый ЭлементНастройкиСоставаИнтерфейсаКлиентскогоПриложения("ПанельИнструментов")); + ГруппаСлева.Добавить(Новый ЭлементНастройкиСоставаИнтерфейсаКлиентскогоПриложения("ПанельРазделов")); + НастройкиСостава.Лево.Добавить(ГруппаСлева); + НастройкиТакси.УстановитьСостав(НастройкиСостава); + Иначе НастройкиИнтерфейса.ОтображениеПанелиРазделов = ОтображениеПанелиРазделов.Текст; - - ПользователиПереопределяемый.ПриУстановкеНачальныхНастроек( - НастройкиКлиента, - НастройкиИнтерфейса); - - ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения", "", - НастройкиКлиента, , ИмяПользователя); - - ХранилищеСистемныхНастроек.Сохранить("Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса", "", - НастройкиИнтерфейса, , ИмяПользователя); КонецЕсли; + НачальныеНастройки = Новый Структура("НастройкиКлиента,НастройкиИнтерфейса,НастройкиТакси", + НастройкиКлиента, НастройкиИнтерфейса, НастройкиТакси); + ПользователиПереопределяемый.ПриУстановкеНачальныхНастроек(НачальныеНастройки); + + Если НачальныеНастройки.НастройкиКлиента <> Неопределено Тогда + ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения", "", + НачальныеНастройки.НастройкиКлиента, , ИмяПользователя); + КонецЕсли; + + Если НачальныеНастройки.НастройкиИнтерфейса <> Неопределено Тогда + ХранилищеСистемныхНастроек.Сохранить("Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса", "", + НачальныеНастройки.НастройкиИнтерфейса, , ИмяПользователя); + КонецЕсли; + + Если НачальныеНастройки.НастройкиТакси <> Неопределено Тогда + ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", "", + НачальныеНастройки.НастройкиТакси, , ИмяПользователя); + КонецЕсли; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -649,6 +657,57 @@ КонецФункции +// При первом запуске подчиненного узла очищает идентификаторы +// пользователей ИБ, скопированные при создании начального образа. +// +Процедура ОчиститьИдентификаторыНесуществующихПользователейИБ() Экспорт + + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + Возврат; + КонецЕсли; + + ПустойУникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"); + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ПустойУникальныйИдентификатор", ПустойУникальныйИдентификатор); + + Запрос.Текст = + "ВЫБРАТЬ + | Пользователи.Ссылка КАК Ссылка, + | Пользователи.ИдентификаторПользователяИБ + |ИЗ + | Справочник.Пользователи КАК Пользователи + |ГДЕ + | Пользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | ВнешниеПользователи.Ссылка, + | ВнешниеПользователи.ИдентификаторПользователяИБ + |ИЗ + | Справочник.Пользователи КАК ВнешниеПользователи + |ГДЕ + | ВнешниеПользователи.ИдентификаторПользователяИБ <> &ПустойУникальныйИдентификатор"; + + Выборка = Запрос.Выполнить().Выбрать(); + + Пока Выборка.Следующий() Цикл + + ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору( + Выборка.ИдентификаторПользователяИБ); + + Если ПользовательИБ <> Неопределено Тогда + Продолжить; + КонецЕсли; + + ТекущийОбъект = Выборка.Ссылка.ПолучитьОбъект(); + ТекущийОбъект.ИдентификаторПользователяИБ = ПустойУникальныйИдентификатор; + ОбновлениеИнформационнойБазы.ЗаписатьДанные(ТекущийОбъект); + КонецЦикла; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -705,6 +764,11 @@ Обработчик.Версия = "2.2.2.42"; Обработчик.Процедура = "ПользователиСлужебный.ДобавитьПолноправнымПользователямРольАдминистраторСистемы"; + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.3.16"; + Обработчик.ОбщиеДанные = Истина; + Обработчик.Процедура = "ПользователиСлужебный.УдалитьКэшНеразделенныеДанныеДоступныеДляИзменения"; + КонецПроцедуры // Возвращает соответствие имен параметров сеанса и обработчиков для их инициализации. @@ -1015,9 +1079,8 @@ // - они отключаются только с отключением всего отчета. // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт - - Отчеты.СведенияОПользователях.НастроитьВариантыОтчета(Настройки); - + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.СведенияОПользователях); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -1241,8 +1304,8 @@ ПараметрыОбработки.Вставить("УровеньДоступа", УровеньДоступа); // ПередНачаломОбработкиПользователяИБ - поддержка модели сервиса. - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда - МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда + МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); МодульПользователиСлужебныйВМоделиСервиса.ПередНачаломОбработкиПользователяИБ(ПользовательОбъект, ПараметрыОбработки); КонецЕсли; @@ -1454,8 +1517,8 @@ КонецЕсли; // ПослеНачалаОбработкиПользователяИБ - поддержка модели сервиса. - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда - МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда + МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); МодульПользователиСлужебныйВМоделиСервиса.ПослеНачалаОбработкиПользователяИБ(ПользовательОбъект, ПараметрыОбработки); КонецЕсли; @@ -1467,8 +1530,8 @@ ПроверитьИзмененияРеквизитовПользователя(ПользовательОбъект, ПараметрыОбработки); // ПередЗавершениемОбработкиПользователяИБ - поддержка модели сервиса. - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда - МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда + МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); МодульПользователиСлужебныйВМоделиСервиса.ПередЗавершениемОбработкиПользователяИБ(ПользовательОбъект, ПараметрыОбработки); КонецЕсли; @@ -1490,8 +1553,8 @@ ОбновлятьРоли = Истина; // ПриЗавершенииОбработкиПользователяИБ - поддержка модели сервиса. - Если ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда - МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса") Тогда + МодульПользователиСлужебныйВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("ПользователиСлужебныйВМоделиСервиса"); МодульПользователиСлужебныйВМоделиСервиса.ПриЗавершенииОбработкиПользователяИБ( ПользовательОбъект, ПараметрыОбработки, ОбновлятьРоли); КонецЕсли; @@ -3328,6 +3391,14 @@ КонецПроцедуры +// Вызывается при переходе на новую версию конфигурации 2.2.3.16 +Процедура УдалитьКэшНеразделенныеДанныеДоступныеДляИзменения() Экспорт + + СтандартныеПодсистемыСервер.УдалитьПараметрРаботыПрограммы( + "ПараметрыРаботыПользователей", "НеразделенныеДанныеДоступныеДляИзменения"); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов в другие подсистемы @@ -3348,32 +3419,6 @@ КонецПроцедуры -// Переопределяет действие перед авторизацией пользователя, -// выполняемой при начале работы системы (в процессе получения -// параметров работы клиента при запуске). -// -// Можно заполнить состав пользователей и выполнить перезапуск. -// -// Требуется, например, при настройке автономного рабочего места. -// -// Параметры: -// Перезапустить - Булево, начальное значение Ложь. Если указать -// Истина, тогда работа системы будет прекращена. -// -// ДополнительныеПараметрыКоманднойСтроки - Строка, которая может -// быть заполнена для передачи во второй параметр -// метода ПрекратитьРаботуСистемы. -// -Процедура ПередАвторизациейТекущегоПользователяПриНачалеРаботыСистемы( - Перезапустить, ДополнительныеПараметрыКоманднойСтроки) Экспорт - - Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда - МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); - МодульАвтономнаяРаботаСлужебный.ПередАвторизациейТекущегоПользователяПриНачалеРаботыСистемы(Перезапустить); - КонецЕсли; - -КонецПроцедуры - // Переопределяет действие при авторизации администратора локальной ИБ // или администратора области данных. // @@ -4209,15 +4254,15 @@ // ПользовательИБ - ПользовательИнформационнойБазы. // РежимПроверки - Строка - ПриЗаписи или ПриЗапуске. // -Процедура ПроверитьПраваПользователя(ПользовательИБ, РежимПроверки = "ПриЗаписи") +Процедура ПроверитьПраваПользователя(ПользовательИБ, РежимПроверки) РазделениеВключено = ОбщегоНазначенияПовтИсп.РазделениеВключено(); Если РазделениеВключено И ПользовательИБ.РазделениеДанных.Количество() = 0 Тогда - Возврат; // не нужно проверять неразделенных пользователей в модели сервиса + Возврат; // не нужно проверять неразделенных пользователей в модели сервиса КонецЕсли; Если Не РазделениеВключено И РежимПроверки = "ПриЗапуске" Тогда - Возврат; // не нужно проверять права пользователей при запуске в локальном режиме + Возврат; // не нужно проверять права пользователей при запуске в локальном режиме КонецЕсли; ТипыПользователей = ?(РазделениеВключено, @@ -4229,24 +4274,45 @@ Возврат; КонецЕсли; - // Проверка на изменение состава ролей у администраторов + РолиДляПроверки = Новый ТаблицаЗначений; + РолиДляПроверки.Колонки.Добавить("Роль", Новый ОписаниеТипов("ОбъектМетаданных")); + РолиДляПроверки.Колонки.Добавить("ЭтоУдаляемаяРоль", Новый ОписаниеТипов("Булево")); + Для каждого Роль Из ПользовательИБ.Роли Цикл + РолиДляПроверки.Добавить().Роль = Роль; + КонецЦикла; + РолиДляПроверки.Индексы.Добавить("Роль"); + Если РежимПроверки = "ПриЗаписи" И Не РазделениеВключено Тогда - ПрежнийПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(ПользовательИБ.УникальныйИдентификатор); + ПрежнийПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору( + ПользовательИБ.УникальныйИдентификатор); + Если ПрежнийПользовательИБ <> Неопределено Тогда - ПроверитьПраваПользователя(ПрежнийПользовательИБ, "ПередЗаписью"); + Для каждого Роль Из ПрежнийПользовательИБ.Роли Цикл + Строка = РолиДляПроверки.Найти(Роль, "Роль"); + Если Строка <> Неопределено Тогда + РолиДляПроверки.Удалить(Строка); + ИначеЕсли РазделениеВключено Тогда + НоваяСтрока = РолиДляПроверки.Добавить(); + НоваяСтрока.Роль = Роль; + НоваяСтрока.ЭтоУдаляемаяРоль = Истина; + КонецЕсли; + КонецЦикла; КонецЕсли; КонецЕсли; - НайденныеНедоступныеРоли = Новый Массив; + НайденныеНедоступныеРоли = Новый ТаблицаЗначений; + НайденныеНедоступныеРоли.Колонки.Добавить("Роль", Новый ОписаниеТипов("ОбъектМетаданных")); + НайденныеНедоступныеРоли.Колонки.Добавить("ЭтоУдаляемаяРоль", Новый ОписаниеТипов("Булево")); - Для каждого Роль Из ПользовательИБ.Роли Цикл + Для каждого ОписаниеРоли Из РолиДляПроверки Цикл + Роль = ОписаниеРоли.Роль; ИмяРоли = Роль.Имя; СвойстваНедоступнойРоли = НедоступныеРоли.Получить(ИмяРоли); Если СвойстваНедоступнойРоли = Неопределено Тогда - Продолжить; + Продолжить; КонецЕсли; - НайденныеНедоступныеРоли.Добавить(Роль); + ЗаполнитьЗначенияСвойств(НайденныеНедоступныеРоли.Добавить(), ОписаниеРоли); Если СвойстваНедоступнойРоли.Свойство("ИзменяемыеНеразделенныеДанные") Тогда Запись = Новый ЗаписьXML; @@ -4254,7 +4320,7 @@ СериализаторXDTO.ЗаписатьXML(Запись, СвойстваНедоступнойРоли.ИзменяемыеНеразделенныеДанные); ТаблицаСтрокой = Запись.Закрыть(); - Если РежимПроверки = "ПередЗаписью" Тогда + Если ОписаниеРоли.ЭтоУдаляемаяРоль Тогда ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Попытка изменить состав ролей у пользователя %1 с ролью |""%2"", @@ -4286,7 +4352,7 @@ Для каждого Право Из СвойстваНедоступнойРоли.Права Цикл - Если РежимПроверки = "ПередЗаписью" Тогда + Если ОписаниеРоли.ЭтоУдаляемаяРоль Тогда ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Попытка изменить состав ролей у пользователя ""%1"" с ролью |""%2"", @@ -4312,42 +4378,50 @@ Если НайденныеНедоступныеРоли.Количество() = 0 Тогда Возврат; КонецЕсли; - - Если НайденныеНедоступныеРоли.Количество() = 1 Тогда - - Если РежимПроверки = "ПередЗаписью" Тогда - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Невозможно изменить состав ролей у пользователя ""%1"".'"), - ПользовательИБ.ПолноеИмя); - Иначе - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Пользователю ""%1"" не может быть назначена роль - |""%2"".'"), - ПользовательИБ.ПолноеИмя, - НайденныеНедоступныеРоли[0].Представление()); - КонецЕсли; - ВызватьИсключение ТекстСообщения; - - Иначе - - Если РежимПроверки = "ПередЗаписью" Тогда - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Невозможно изменить состав ролей у пользователя ""%1"".'"), - ПользовательИБ.ПолноеИмя); - Иначе - Роли = ""; - Для каждого Роль Из НайденныеНедоступныеРоли Цикл - Роли = " - |" + Роль.Представление(); - КонецЦикла; - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Пользователю ""%1"" не могут быть назначены роли:%2.'"), - ПользовательИБ.ПолноеИмя, - Роли); - КонецЕсли; - ВызватьИсключение ТекстСообщения; + + Отбор = Новый Структура("ЭтоУдаляемаяРоль", Истина); + УдаляемыеРоли = НайденныеНедоступныеРоли.НайтиСтроки(Отбор); + + Отбор = Новый Структура("ЭтоУдаляемаяРоль", Ложь); + ДобавляемыеРоли = НайденныеНедоступныеРоли.НайтиСтроки(Отбор); + + Если УдаляемыеРоли.Количество() = 1 Тогда + ТекстСообщенияУдаления = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Невозможно удалить недоступную роль у пользователя ""%1"".'"), + ПользовательИБ.ПолноеИмя); + ИначеЕсли УдаляемыеРоли.Количество() > 1 Тогда + ТекстСообщенияУдаления = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Невозможно удалить недоступные роли у пользователя ""%1"".'"), + ПользовательИБ.ПолноеИмя); КонецЕсли; - + + Если ДобавляемыеРоли.Количество() = 1 Тогда + ТекстСообщенияДобавления = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Пользователю ""%1"" не может быть добавлена роль + |""%2"".'"), + ПользовательИБ.ПолноеИмя, + ДобавляемыеРоли[0].Роль.Представление()); + + ИначеЕсли ДобавляемыеРоли.Количество() > 1 Тогда + Роли = ""; + Для каждого ОписаниеРоли Из ДобавляемыеРоли Цикл + Роли = Роли + " + |" + ОписаниеРоли.Роль.Представление(); + КонецЦикла; + ТекстСообщенияДобавления = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Пользователю ""%1"" не могут быть добавлены роли:%2.'"), + ПользовательИБ.ПолноеИмя, + Роли); + КонецЕсли; + + Если ЗначениеЗаполнено(ТекстСообщенияУдаления) Тогда + ТекстСообщения = ТекстСообщенияУдаления + Символы.ПС + ТекстСообщенияДобавления; + Иначе + ТекстСообщения = ТекстСообщенияДобавления; + КонецЕсли; + + ВызватьИсключение ТекстСообщения; + КонецПроцедуры Функция СписокНастроек(ИмяПользователяИБ, МенеджерНастроек) @@ -4960,8 +5034,8 @@ // Установка начальных значений перед загрузкой данных из настроек на сервере // для случая, когда данные еще не были записаны и не загружаются. - ПоказатьПодсистемыРолей = Истина; - Элементы.РолиПоказатьПодсистемыРолей.Пометка = Истина; + Форма.ПоказатьПодсистемыРолей = Ложь; + Элементы.РолиПоказатьПодсистемыРолей.Пометка = Ложь; // Для нового элемента показать все роли, для существующего - только выбранные роли. Если Элементы.Найти("РолиПоказатьТолькоВыбранныеРоли") <> Неопределено Тогда diff --git a/SSL/src/CommonModules/ПользователиСлужебныйВМоделиСервиса/Module.bsl b/SSL/src/CommonModules/ПользователиСлужебныйВМоделиСервиса/Module.bsl index 29ed0533f..c7c156c63 100644 --- a/SSL/src/CommonModules/ПользователиСлужебныйВМоделиСервиса/Module.bsl +++ b/SSL/src/CommonModules/ПользователиСлужебныйВМоделиСервиса/Module.bsl @@ -33,14 +33,30 @@ Пользователь = Пользователи.ТекущийПользователь(); КонецЕсли; - Если ЗначениеЗаполнено(Пользователь) Тогда - Возврат ДействияССуществующимПользователемСервиса(Пользователь); - Иначе - Если ЕстьПравоДобавленияПользователей() Тогда - Возврат ДействияСНовымПользователемСервиса(); + Если ДоступноИзменениеПользователей() Тогда + + Если ПользователиИнформационнойБазы.ТекущийПользователь().РазделениеДанных.Количество() = 0 Тогда + + Возврат ДействияСПользователемСервисаПриНедоступностиНастройкиПользователей(); + + ИначеЕсли ЭтоСуществующийПользовательТекущейОбластиДанных(Пользователь) Тогда + + Возврат ДействияССуществующимПользователемСервиса(Пользователь); + Иначе - ВызватьИсключение НСтр("ru = 'Недостаточно прав доступа для добавления новых пользователей'"); + + Если ЕстьПравоДобавленияПользователей() Тогда + Возврат ДействияСНовымПользователемСервиса(); + Иначе + ВызватьИсключение НСтр("ru = 'Недостаточно прав доступа для добавления новых пользователей'"); + КонецЕсли; + КонецЕсли; + + Иначе + + Возврат ДействияСПользователемСервисаПриНедоступностиНастройкиПользователей(); + КонецЕсли; КонецФункции @@ -397,6 +413,25 @@ КонецФункции +// Только для внутреннего использования +Функция ДействияСПользователемСервисаПриНедоступностиНастройкиПользователей() Экспорт + + ДействияСПользователемСервиса = НовыеДействияСПользователемСервиса(); + ДействияСПользователемСервиса.ИзменениеПароля = Ложь; + ДействияСПользователемСервиса.ИзменениеИмени = Ложь; + ДействияСПользователемСервиса.ИзменениеПолногоИмени = Ложь; + ДействияСПользователемСервиса.ИзменениеДоступа = Ложь; + ДействияСПользователемСервиса.ИзменениеАдминистративногоДоступа = Ложь; + + ДействияСКИ = ДействияСПользователемСервиса.КонтактнаяИнформация; + Для каждого КлючИЗначение Из РаботаВМоделиСервисаПовтИсп.СоответствиеВидовКИПользователяXDTO() Цикл + ДействияСКИ[КлючИЗначение.Ключ].Изменение = Ложь; + КонецЦикла; + + Возврат ДействияСПользователемСервиса; + +КонецФункции + // Только для внутреннего использования Функция ПолучитьПользователейСервиса(ПарольПользователяСервиса) Экспорт @@ -480,6 +515,46 @@ КонецПроцедуры +// Проверяет, что переданный пользователь соответствует существующему пользователю информационной +// базы в текущей области данных. +// +// Параметры: +// Пользователь - СправочникСсылка.Пользователи; +// +// Возвращаемое значение: Булево. +// +Функция ЭтоСуществующийПользовательТекущейОбластиДанных(Знач Пользователь) + + УстановитьПривилегированныйРежим(Истина); + + Если ЗначениеЗаполнено(Пользователь) Тогда + + Если ЗначениеЗаполнено(Пользователь.ИдентификаторПользователяИБ) Тогда + + Если ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ) <> Неопределено Тогда + + Возврат Истина; + + Иначе + + Возврат Ложь; + + КонецЕсли; + + Иначе + + Возврат Ложь; + + КонецЕсли; + + Иначе + + Возврат Ложь; + + КонецЕсли; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ diff --git a/SSL/src/CommonModules/ПользователиСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/ПользователиСлужебныйКлиент/Module.bsl index aa32c735b..26489db19 100644 --- a/SSL/src/CommonModules/ПользователиСлужебныйКлиент/Module.bsl +++ b/SSL/src/CommonModules/ПользователиСлужебныйКлиент/Module.bsl @@ -31,13 +31,8 @@ #Область СлужебныеПроцедурыИФункции -// Выполняет попытку авторизации пользователя и проверку результата. -Процедура ПроверитьАвторизациюПользователя(Параметры) Экспорт - - Параметры.ПолученныеПараметрыКлиента.Вставить("ДействияПередАвторизациейПользователяВыполнены"); - Параметры.Вставить("КоличествоПолученныхПараметровКлиента", - Параметры.ПолученныеПараметрыКлиента.Количество()); - ОбновитьПовторноИспользуемыеЗначения(); +// Проверяет авторизацию пользователя и уведомляет об ошибке. +Процедура ПередНачаломРаботыСистемы(Параметры) Экспорт ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); @@ -54,24 +49,193 @@ /////////////////////////////////////////////////////////////////////////////// // Обработчики оповещений. -// Предупреждает об ошибке авторизации или предлагает создать первого администратора. +// Предупреждает об ошибке авторизации пользователя. Процедура ИнтерактивнаяОбработкаПриПроверкеАвторизацииПользователя(Параметры, Неопределен) Экспорт ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); - ОшибкаАвторизации = ПараметрыКлиента.ОшибкаАвторизации; - - Если ТипЗнч(ОшибкаАвторизации) = Тип("ФиксированнаяСтруктура") Тогда - Параметры.Перезапустить = Истина; - Если ЗначениеЗаполнено(ОшибкаАвторизации.ДополнительныеПараметрыКоманднойСтроки) Тогда - Параметры.ДополнительныеПараметрыКоманднойСтроки = - ОшибкаАвторизации.ДополнительныеПараметрыКоманднойСтроки; - КонецЕсли; - ВыполнитьОбработкуОповещения(Параметры.ОбработкаПродолжения); - Иначе - СтандартныеПодсистемыКлиент.ПоказатьПредупреждениеИПродолжить(Параметры, ОшибкаАвторизации); - КонецЕсли; + СтандартныеПодсистемыКлиент.ПоказатьПредупреждениеИПродолжить( + Параметры, ПараметрыКлиента.ОшибкаАвторизации); КонецПроцедуры +/////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции обработки "НастройкиПользователей". + +// Предназначена для открытия переданного отчета или формы +// +// Параметры: +// ТекущийЭлемент - ТаблицаФормы - выделенная строка дерева значений. +// Пользователь - Строка - имя пользователя информационной базы, +// ТекущийПользователь - Строка - имя пользователя информационной базы, для открытия формы +// должен совпадать значением параметра "Пользователь". +// ИмяФормыПерсональныхНастроек - Строка - путь для открытия формы персональных настроек +// вида "ОбщаяФорма.НазваниеФормы" +Процедура ОткрытьОтчетИлиФорму(ТекущийЭлемент, Пользователь, ТекущийПользователь, ИмяФормыПерсональныхНастроек) Экспорт + + ЭлементДереваЗначений = ТекущийЭлемент; + Если ЭлементДереваЗначений.ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если Пользователь <> ТекущийПользователь Тогда + ТекстПредупреждения = НСтр("ru = 'Для просмотра настроек другого пользователя необходимо запустить программу от его имени + |и открыть нужный отчет или форму.'"); + ПоказатьПредупреждение(,ТекстПредупреждения); + Возврат; + КонецЕсли; + + Если ЭлементДереваЗначений.Имя = "НастройкиОтчетовДерево" Тогда + + КлючОбъекта = ЭлементДереваЗначений.ТекущиеДанные.Ключи[0].Значение; + КлючОбъектаМассивСтрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(КлючОбъекта, "/"); + КлючВарианта = КлючОбъектаМассивСтрок[1]; + ПараметрыОтчета = Новый Структура("КлючВарианта, КлючПользовательскихНастроек", КлючВарианта, ""); + + Если ЭлементДереваЗначений.ТекущиеДанные.Тип = "НастройкаОтчета" Тогда + КлючПользовательскихНастроек = ЭлементДереваЗначений.ТекущиеДанные.Ключи[0].Представление; + ПараметрыОтчета.Вставить("КлючПользовательскихНастроек", КлючПользовательскихНастроек); + КонецЕсли; + + ОткрытьФорму(КлючОбъектаМассивСтрок[0] + ".Форма", ПараметрыОтчета); + Возврат; + + ИначеЕсли ЭлементДереваЗначений.Имя = "ВнешнийВид" Тогда + + Для Каждого КлючОбъекта Из ЭлементДереваЗначений.ТекущиеДанные.Ключи Цикл + + Если КлючОбъекта.Пометка = Истина Тогда + + ОткрытьФорму(КлючОбъекта.Значение); + Возврат; + Иначе + РодительЭлемента = ЭлементДереваЗначений.ТекущиеДанные.ПолучитьРодителя(); + + Если ЭлементДереваЗначений.ТекущиеДанные.ТипСтроки = "НастройкиРабочегоСтола" Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Для просмотра настроек рабочего стола перейдите к разделу ""Рабочий стол"" + |в командном интерфейсе программы.'")); + Возврат; + КонецЕсли; + + Если ЭлементДереваЗначений.ТекущиеДанные.ТипСтроки = "НастройкиКомандногоИнтерфейса" Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Для просмотра настроек командного интерфейса выберите нужный раздел + |командного интерфейса программы.'")); + Возврат; + КонецЕсли; + + Если РодительЭлемента <> Неопределено Тогда + ТекстПредупреждения = НСтр("ru = 'Для просмотра данной настройки необходимо открыть ""%1"" + |и затем перейти к форме ""%2"".'"); + ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, + РодительЭлемента.Настройка, ЭлементДереваЗначений.ТекущиеДанные.Настройка); + ПоказатьПредупреждение(,ТекстПредупреждения); + Возврат; + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + ПоказатьПредупреждение(,НСтр("ru = 'Данную настройку невозможно просмотреть.'")); + Возврат; + + ИначеЕсли ЭлементДереваЗначений.Имя = "ПрочиеНастройки" Тогда + + Если ЭлементДереваЗначений.ТекущиеДанные.Тип = "ПерсональныеНастройки" + И ИмяФормыПерсональныхНастроек <> "" Тогда + ОткрытьФорму(ИмяФормыПерсональныхНастроек); + Возврат; + КонецЕсли; + + ПоказатьПредупреждение(,НСтр("ru = 'Данную настройку невозможно просмотреть.'")); + Возврат; + + КонецЕсли; + + ПоказатьПредупреждение(,НСтр("ru = 'Выберите настройку для просмотра.'")); + +КонецПроцедуры + +// Предназначена для формирования окончания у слова "настройка". +// +// Параметры: +// КоличествоНастроек - Число - количество настроек +// +// Возвращаемое значение: +// Строка - вида "хх настроек" с правильным окончанием. +// +Функция ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек) Экспорт + + ПрописьЧисла = ЧислоПрописью( + КоличествоНастроек, + "Л = ru_RU", + НСтр("ru = ',,,,,,,,0'")); + ПрописьЧислаИПредмета = ЧислоПрописью( + КоличествоНастроек, + "Л = ru_RU", + НСтр("ru = 'настройка,настройки,настроек,,,,,,0'")); + ПрописьПредмета = СтрЗаменить( + ПрописьЧислаИПредмета, + ПрописьЧисла, + Формат(КоличествоНастроек, "ЧДЦ=0") + " "); + + Возврат ПрописьПредмета; +КонецФункции + +// Предназначена для формирования строки пояснения при копировании настроек +// +// Параметры: +// ПредставлениеНастройки - Строка - название настройки. Используется если копируется одна настройка. +// КоличествоНастроек - Число - количество настроек. Используется, если копируется две более настроек. +// ПояснениеКомуСкопированыНастройки - Строка - кому копируются настройки. +// +// Возвращаемое значение: +// Строка - текст пояснения при копировании настройки +// +Функция ФормированиеПоясненияПриКопировании(ПредставлениеНастройки, КоличествоНастроек, ПояснениеКомуСкопированыНастройки) Экспорт + + Если КоличествоНастроек = 1 Тогда + + Если СтрДлина(ПредставлениеНастройки) > 24 Тогда + ПредставлениеНастройки = Лев(ПредставлениеНастройки, 24) + "..."; + КонецЕсли; + + ТекстПояснения = НСтр("ru = '""%1"" скопирована %2'"); + ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстПояснения, ПредставлениеНастройки, ПояснениеКомуСкопированыНастройки); + Иначе + ПрописьПредмета = ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек); + ТекстПояснения = НСтр("ru = 'Скопировано %1 %2'"); + ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстПояснения, ПрописьПредмета, ПояснениеКомуСкопированыНастройки); + КонецЕсли; + + Возврат ТекстПояснения; +КонецФункции + +// Формирует строку получателя настройки +// +// Параметры: +// КоличествоПользователей - Число - используется, если значение больше единицы. +// Пользователь - Строка - имя пользователя. Используется, если количество пользователей +// равно единице. +// +// Возвращаемое значение: +// Строка - пояснение кому копируется настройка +// +Функция ПояснениеПользователи(КоличествоПользователей, Пользователь) Экспорт + + Если КоличествоПользователей = 1 Тогда + ПояснениеКомуСкопированыНастройки = НСтр("ru = 'пользователю ""%1""'"); + ПояснениеКомуСкопированыНастройки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + ПояснениеКомуСкопированыНастройки, Пользователь); + Иначе + ПояснениеКомуСкопированыНастройки = НСтр("ru = '%1 пользователям'"); + ПояснениеКомуСкопированыНастройки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + ПояснениеКомуСкопированыНастройки, КоличествоПользователей); + КонецЕсли; + + Возврат ПояснениеКомуСкопированыНастройки; +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/ПользователиСлужебныйПовтИсп/Module.bsl b/SSL/src/CommonModules/ПользователиСлужебныйПовтИсп/Module.bsl index 02d7c3217..0ffefda73 100644 --- a/SSL/src/CommonModules/ПользователиСлужебныйПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/ПользователиСлужебныйПовтИсп/Module.bsl @@ -16,7 +16,6 @@ СтандартныеПодсистемыСервер.ПроверитьОбновлениеПараметровРаботыПрограммы( "ПараметрыРаботыПользователей", "НедоступныеРолиПоТипамПользователей, - |НеразделенныеДанныеДоступныеДляИзменения, |ВсеРоли"); ПредставлениеПараметра = ""; @@ -24,9 +23,6 @@ Если НЕ СохраненныеПараметры.Свойство("НедоступныеРолиПоТипамПользователей") Тогда ПредставлениеПараметра = НСтр("ru = 'Недоступные роли'"); - ИначеЕсли НЕ СохраненныеПараметры.Свойство("НеразделенныеДанныеДоступныеДляИзменения") Тогда - ПредставлениеПараметра = НСтр("ru = 'Неразделенные данные доступные для изменения'"); - ИначеЕсли НЕ СохраненныеПараметры.Свойство("ВсеРоли") Тогда ПредставлениеПараметра = НСтр("ru = 'Все роли'"); diff --git a/SSL/src/CommonModules/ПрисоединенныеФайлы/Module.bsl b/SSL/src/CommonModules/ПрисоединенныеФайлы/Module.bsl index 49dcf80ae..625c7c759 100644 --- a/SSL/src/CommonModules/ПрисоединенныеФайлы/Module.bsl +++ b/SSL/src/CommonModules/ПрисоединенныеФайлы/Module.bsl @@ -8,10 +8,10 @@ // Возвращает двоичные данные присоединенного файла. // // Параметры: -// ПрисоединенныйФайл - Ссылка на присоединенный файл. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". // // Возвращаемое значение: -// ДвоичныеДанные. +// ДвоичныеДанные - двоичные данные присоединенного файла. // Функция ПолучитьДвоичныеДанныеФайла(Знач ПрисоединенныйФайл) Экспорт @@ -68,35 +68,33 @@ КонецФункции -// Возвращает структуру данных файла. -// Используется в различных командах работы с файлами, +// Возвращает структуру данных файла. Используется в различных командах работы с файлами, // и как значение параметра ДанныеФайла других процедур и функций. // // Параметры: -// ПрисоединенныйФайл - Ссылка на присоединенный файл. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". // -// ИдентификаторФормы - УникальныйИдентификатор формы, -// используется при получении двоичных данных файла. +// ИдентификаторФормы - УникальныйИдентификатор - идентификатор формы, который +// используется при получении двоичных данных файла. // -// ПолучатьСсылкуНаДвоичныеДанные - Булево - начальное значение Истина, -// если передать Ложь, то ссылка на двоичные данные не будет получена, -// что существенно ускорит выполнение для больших двоичных данных. +// ПолучатьСсылкуНаДвоичныеДанные - Булево - если передать Ложь, то ссылка на двоичные данные +// не будет получена, что существенно ускорит выполнение для больших двоичных данных. // // Возвращаемое значение: -// Структура со свойствами: -// СсылкаНаДвоичныеДанныеФайла - Строка - адрес во временном хранилище. -// ОтносительныйПуть - Строка. -// ДатаМодификацииУниверсальная - Дата. -// ИмяФайла - Строка. -// Наименование - Строка. -// Расширение - Строка. -// Размер - Число. -// Редактирует - СправочникСсылка.Пользователи. -// ПодписанЭП - Булево. -// Зашифрован - Булево. -// ФайлРедактируется - Булево. -// ФайлРедактируетТекущийПользователь - Булево. -// +// Структура - со свойствами: +// * СсылкаНаДвоичныеДанныеФайла - Строка - адрес во временном хранилище. +// * ОтносительныйПуть - Строка - +// * ДатаМодификацииУниверсальная - Дата - +// * ИмяФайла - Строка - +// * Наименование - Строка - +// * Расширение - Строка - +// * Размер - Число - +// * Редактирует - Неопределено, СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи - +// * ПодписанЭП - Булево - +// * Зашифрован - Булево - +// * ФайлРедактируется - Булево - +// * ФайлРедактируетТекущийПользователь - Булево - +// Функция ПолучитьДанныеФайла(Знач ПрисоединенныйФайл, Знач ИдентификаторФормы = Неопределено, Знач ПолучатьСсылкуНаДвоичныеДанные = Истина) Экспорт @@ -176,9 +174,9 @@ ДополнительнаяИнформация.Вставить("Редактирует", ФайлОбъект.Редактирует); ДополнительнаяИнформация.Вставить("ПодписанЭП", ФайлОбъект.ПодписанЭП); ДополнительнаяИнформация.Вставить("Зашифрован", ФайлОбъект.Зашифрован); - ДополнительнаяИнформация.Вставить("ФайлРедактируется", ФайлОбъект.Редактирует <> Справочники.Пользователи.ПустаяСсылка() ); + ДополнительнаяИнформация.Вставить("ФайлРедактируется", ЗначениеЗаполнено(ФайлОбъект.Редактирует)); ДополнительнаяИнформация.Вставить("ФайлРедактируетТекущийПользователь", - ?(ДополнительнаяИнформация.ФайлРедактируется, ФайлОбъект.Редактирует = Пользователи.ТекущийПользователь(), Ложь) ); + ?(ДополнительнаяИнформация.ФайлРедактируется, ФайлОбъект.Редактирует = Пользователи.АвторизованныйПользователь(), Ложь) ); Если ФайлОбъект.Зашифрован Тогда МассивСертификатовШифрования = Новый Массив; @@ -195,9 +193,10 @@ // Заполняет массив ссылками на файлы объекта. // // Параметры: -// Объект - Ссылка на объект, который может содержать присоединенные файлы. -// МассивФайлов - Массив, в который будут добавлены ссылки на файлы объекта. -// +// Объект - Ссылка - ссылка на объект, который может содержать присоединенные файлы. +// МассивФайлов - Массив - массив в который будут добавлены ссылки на файлы объекта: +// * СправочникСсылка - (возвращаемое значение) ссылка на присоединенный файл. +// Процедура ПолучитьПрикрепленныеФайлыКОбъекту(Знач Объект, Знач МассивФайлов) Экспорт ТипыВладельцев = Метаданные.РегистрыСведений.НаличиеПрисоединенныхФайлов.Измерения.ОбъектСФайлами.Тип.Типы(); @@ -228,12 +227,12 @@ // НоваяСсылкаНаФайл - Неопределено - создать новую ссылку на файл в стандартном справочнике // или в нестандартном, но единственном справочнике. Когда у владельца файла несколько // справочников, требуется обязательно передать ссылку, иначе будет вызвано исключение. -// - Ссылка на элемент справочника хранения файлов, +// - Ссылка - ссылка на элемент справочника хранения файлов, // которую следует использовать для добавляемого файла. // Должна соответствовать одному из типов справочников хранения файлов владельца файлов. // // Возвращаемое значение: -// Ссылка - ссылка на созданный объект. +// СправочникСсылка - ссылка на созданный присоединенный файл. // Функция ДобавитьФайл(Знач ВладелецФайлов, Знач ИмяБезРасширения, @@ -375,7 +374,7 @@ // которую можно использовать, а затем передать в функцию ДобавитьФайл. // // Параметры: -// ВладелецФайлов - Ссылка - объект, к которому добавляется файл. +// ВладелецФайлов - Ссылка - ссылка на объект, к которому добавляется файл. // // ИмяСправочника - Неопределено - вычислить справочник по владельцу (допустимо, // когда справочник только один, иначе будет вызвано исключение). @@ -384,7 +383,7 @@ // от стандартного <ИмяВладельца>ПрисоединенныеФайлы. // // Возвращаемое значение: -// СправочникСсылка на новый файл. +// СправочникСсылка - ссылка на новый еще несозданный присоединенный файл. // Функция НоваяСсылкаНаФайл(ВладелецФайлов, ИмяСправочника = Неопределено) Экспорт @@ -401,19 +400,20 @@ // а также другие необязательные свойства. // // Параметры: -// ИнформацияОФайле - Структура со свойствами: -// <обязательные> -// АдресФайлаВоВременномХранилище - Строка - адрес новых двоичных данных файла. -// АдресВременногоХранилищаТекста - Строка - адрес новых двоичных данных текста, -// извлеченного из файла. -// <необязательные> -// ИмяБезРасширения - Строка - если свойство не указано или не заполнено, -// тогда не будет изменено. -// ДатаМодификацииУниверсальная - Дата - дата последнего изменения файла, если -// свойство не указано или не заполнено, тогда будет -// установлена текущая дата сеанса. -// Расширение - Строка - новое расширение файла. -// Редактирует - Ссылка - новый пользователь, редактирующий файл. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". +// ИнформацияОФайле - Структура - со свойствами: +// <обязательные> +// * АдресФайлаВоВременномХранилище - Строка - адрес новых двоичных данных файла. +// * АдресВременногоХранилищаТекста - Строка - адрес новых двоичных данных текста, +// извлеченного из файла. +// <необязательные> +// * ИмяБезРасширения - Строка - если свойство не указано или не заполнено, +// тогда не будет изменено. +// * ДатаМодификацииУниверсальная - Дата - дата последнего изменения файла, если +// свойство не указано или не заполнено, тогда будет +// установлена текущая дата сеанса. +// * Расширение - Строка - новое расширение файла. +// * Редактирует - Ссылка - новый пользователь, редактирующий файл. // Процедура ОбновитьПрисоединенныйФайл(Знач ПрисоединенныйФайл, Знач ИнформацияОФайле) Экспорт @@ -469,6 +469,13 @@ КонецПроцедуры // Возвращает имя формы объекта присоединенных файлов по владельцу. +// +// Параметры: +// ВладелецФайлов - Ссылка - ссылка на объект, по которому определяется имя формы. +// +// Возвращаемое значение: +// Строка - имя формы объекта присоединенных файлов по владельцу. +// Функция ПолучитьИмяФормыОбъектаПрисоединенныхФайловПоВладельцу(Знач ВладелецФайлов) Экспорт ЗаголовокОшибки = НСтр("ru = 'Ошибка при получении имени формы присоединенного файла.'"); @@ -491,7 +498,16 @@ КонецФункции -// Определяет наличие хранилища присоединенных файлов у объекта. +// Определяет наличие хранилища присоединенных файлов у объекта +// право Добавление в хранилище (справочник присоединенных файлов). +// +// Параметры: +// ВладелецФайлов - Ссылка - ссылка на объект для которого выполняется проверка. +// ИмяСправочника - Строка - если требуется проверка добавления в указанное хранилище. +// +// Возвращаемое значение: +// Булево - если Истина, тогда к объекту может присоединять файлы. +// Функция КОбъектуМожноПрисоединятьФайлы(ВладелецФайлов, ИмяСправочника = "") Экспорт ИмяСправочника = ПрисоединенныеФайлыСлужебный.ИмяСправочникаХраненияФайлов( @@ -517,7 +533,8 @@ // (элемента справочника, ПВХ, документа и т.п.). // // Параметры: -// ВладелецФайлов - Ссылка на владельца файлов. +// ВладелецФайлов - Ссылка - ссылка на объект для которого выполняется конвертация. +// ИмяСправочника - Строка - если требуется конвертация в указанное хранилище. // Процедура СконвертироватьФайлыВПрисоединенные(Знач ВладелецФайлов, ИмяСправочника = Неопределено) Экспорт @@ -637,6 +654,10 @@ // ТаблицаВладельцевФайлов - Строка - полное имя объекта метаданных, // который может владеть присоединенными файлами. // +// Возвращаемое значение: +// Массив - со значениями: +// * Ссылка - ссылка на объект у которого есть хотя бы один присоединенный файл. +// Функция СсылкиНаОбъектыСФайлами(Знач ТаблицаВладельцевФайлов) Экспорт Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСФайлами") Тогда @@ -652,7 +673,14 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры, подключаемые к событиям управляемых форм -// Обработчик подписки владельца присоединенного файла на событие "При записи на сервере". +// Обработчик события ПриЗаписиНаСервере управляемой формы владельца присоединенного файла. +// +// Параметры: +// Отказ - Булево - стандартный параметр события ПриЗаписиНаСервере управляемой формы. +// ТекущийОбъект - Объект - стандартный параметр события ПриЗаписиНаСервере управляемой формы. +// ПараметрыЗаписи - Структура - стандартный параметр события ПриЗаписиНаСервере управляемой формы. +// Параметры - ДанныеФормыСтруктура - свойство Параметры управляемой формы. +// Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи, Параметры) Экспорт Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда @@ -669,6 +697,11 @@ // Возвращает список реквизитов, которые разрешается редактировать // с помощью обработки группового изменения объектов. // +// Возвращаемое значение: +// Массив - значения: +// * Строка - имя реквизита присоединенного файла, который можно редактировать +// в групповой обработке. +// Функция РеквизитыРедактируемыеВГрупповойОбработке() Экспорт РедактируемыеРеквизиты = Новый Массив; @@ -685,8 +718,8 @@ // Заносит информацию о одной ЭП. // // Параметры: -// ПрисоединенныйФайл - Ссылка или Объект присоединенного файла. -// ДанныеПодписи - Структура для заполнения в табличной части ЭлектронныеПодписи. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". +// ДанныеПодписи - Структура - данные подписей для заполнения в табличной части ЭлектронныеПодписи. // Процедура ЗанестиИнформациюОднойПодписи(Знач ПрисоединенныйФайл, Знач ДанныеПодписи) Экспорт @@ -700,7 +733,7 @@ ПрисоединенныйФайлСсылка = ПрисоединенныйФайл.Ссылка; КонецЕсли; - Если НЕ СтруктураРеквизитов.Редактирует.Пустая() Тогда + Если ЗначениеЗаполнено(СтруктураРеквизитов.Редактирует) Тогда ВызватьИсключение ФайловыеФункцииСлужебныйКлиентСервер.СтрокаСообщенияОНедопустимостиПодписанияЗанятогоФайла(ПрисоединенныйФайлСсылка); КонецЕсли; @@ -723,8 +756,9 @@ // Заносит информацию о массиве ЭП. // // Параметры: -// ПрисоединенныйФайл - Ссылка или Объект присоединенного файла. -// МассивПодписей - Массив Структур данных подписей для заполнения в табличной части ЭлектронныеПодписи. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". +// МассивПодписей - Массив - значения: +// * Структура - данные подписей для заполнения в табличной части ЭлектронныеПодписи. // Процедура ЗанестиИнформациюОПодписях(Знач ПрисоединенныйФайл, Знач МассивПодписей) Экспорт @@ -741,7 +775,7 @@ Редактирует = ФайлОбъект.Редактирует; Зашифрован = ФайлОбъект.Зашифрован; - Если НЕ Редактирует.Пустая() Тогда + Если ЗначениеЗаполнено(Редактирует) Тогда ВызватьИсключение ФайловыеФункцииСлужебныйКлиентСервер.СтрокаСообщенияОНедопустимостиПодписанияЗанятогоФайла( ФайлСсылка); @@ -773,22 +807,54 @@ //////////////////////////////////////////////////////////////////////////////// // Обработчики подписок на события -// Обработчик подписки присоединенного файла на событие "Перед записью". +// Обработчик подписки на событие ПередЗаписью для заполнения авто реквизитов присоединенного файла. +// +// Параметры: +// Источник - СправочникОбъект - объект справочника с именем "*ПрисоединенныеФайлы". +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Процедура ВыполнитьДействияПередЗаписьюПрисоединенногоФайла(Источник, Отказ) Экспорт Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; + Если Не ЗначениеЗаполнено(Источник.ВладелецФайла) Тогда + + ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не заполнен владелец в файле + |""%1"".'"), + Источник.Наименование); + + Если ОбновлениеИнформационнойБазы.ВыполняетсяОбновлениеИнформационнойБазы() Тогда + + ЗаписьЖурналаРегистрации( + НСтр("ru = 'Файлы.Ошибка записи файла при обновлении ИБ'", + ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + УровеньЖурналаРегистрации.Ошибка, + , + Источник.Ссылка, + ОписаниеОшибки); + Иначе + ВызватьИсключение ОписаниеОшибки; + КонецЕсли; + + КонецЕсли; + Источник.ИндексКартинки = ФайловыеФункцииСлужебныйКлиентСервер.ПолучитьИндексПиктограммыФайла(Источник.Расширение); Если Источник.ЭтоНовый() Тогда - Источник.Автор = Пользователи.ТекущийПользователь(); + Источник.Автор = Пользователи.АвторизованныйПользователь(); КонецЕсли; КонецПроцедуры -// Обработчик подписки присоединенного файла на событие "Перед удалением". +// Обработчик подписки на событие ПередУдалением для удаления данных, связанных с присоединенным файлом. +// +// Параметры: +// Источник - СправочникОбъект - объект справочника с именем "*ПрисоединенныеФайлы". +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Процедура ВыполнитьДействияПередУдалениемПрисоединенногоФайла(Источник, Отказ) Экспорт Если Источник.ОбменДанными.Загрузка Тогда @@ -804,7 +870,12 @@ КонецПроцедуры -// Обработчик подписки присоединенного файла на событие "При записи". +// Обработчик подписки на событие ПриЗаписи для обновления данных, связанных с присоединенным файлом. +// +// Параметры: +// Источник - СправочникОбъект - объект справочника с именем "*ПрисоединенныеФайлы". +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// Процедура ВыполнитьДействияПриЗаписиПрисоединенногоФайла(Источник, Отказ) Экспорт Если Источник.ОбменДанными.Загрузка Тогда @@ -820,13 +891,18 @@ КонецПроцедуры -// Обработчик подписки присоединенного файла на событие "Обработка получения формы". -Процедура ПереопределитьПолучаемуюФормуПрисоединенногоФайла(Источник, - ВидФормы, - Параметры, - ВыбраннаяФорма, - ДополнительнаяИнформация, - СтандартнаяОбработка) Экспорт +// Обработчик подписки на событие ОбработкаПолученияФормы для переопределения формы присоединенного файла. +// +// Параметры: +// Источник - СправочникМенеджер - менеджер справочника с именем "*ПрисоединенныеФайлы". +// ВидФормы - Строка - имя стандартной формы. +// Параметры - Структура - параметры формы. +// ВыбраннаяФорма - Строка - имя или объект метаданных открываемой формы. +// ДополнительнаяИнформация - Структура - дополнительная информация открытия формы. +// СтандартнаяОбработка - Булево - признак выполнения стандартной (системной) обработки события. +// +Процедура ПереопределитьПолучаемуюФормуПрисоединенногоФайла(Источник, ВидФормы, Параметры, + ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Экспорт Если ВидФормы = "ФормаОбъекта" Тогда ВыбраннаяФорма = "ОбщаяФорма.ПрисоединенныйФайл"; @@ -836,9 +912,10 @@ ВыбраннаяФорма = "ОбщаяФорма.ПрисоединенныеФайлы"; СтандартнаяОбработка = Ложь; КонецЕсли; + КонецПроцедуры -// Обработчик подписки владельца присоединенного файла на событие "Перед записью". +// Обработчик подписки на событие ПередЗаписью владельца присоединенного файла. // Помечает на удаление связанные файлы. // // Параметры: @@ -855,12 +932,14 @@ КонецПроцедуры -// Обработчик подписки владельца-документа присоединенного файла на событие "Перед записью". +// Обработчик подписки на событие ПередЗаписью владельца присоединенного файла. // Помечает на удаление связанные файлы. // // Параметры: -// Источник - ДокументОбъект - владелец присоединенного файла. -// Отказ - Булево - признак отказа от записи. +// Источник - ДокументОбъект - владелец присоединенного файла. +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// РежимЗаписи - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// РежимПроведения - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. // Процедура УстановитьПометкуУдаленияПрисоединенныхФайловДокументов(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт @@ -872,6 +951,89 @@ КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать ВыполнитьДействияПередЗаписьюПрисоединенногоФайла. +Процедура ПередЗаписьюПрисоединенногоФайла(Источник, Отказ) Экспорт + + ВыполнитьДействияПередЗаписьюПрисоединенногоФайла(Источник, Отказ); + +КонецПроцедуры + +// Устарела. Следует использовать ВыполнитьДействияПередУдалениемПрисоединенногоФайла. +Процедура ПередУдалениемПрисоединенногоФайла(Источник, Отказ) Экспорт + + ВыполнитьДействияПередУдалениемПрисоединенногоФайла(Источник, Отказ); + +КонецПроцедуры + +// Устарела. Следует использовать ВыполнитьДействияПриЗаписиПрисоединенногоФайла. +Процедура ПриЗаписиПрисоединенногоФайла(Источник, Отказ) Экспорт + + ВыполнитьДействияПриЗаписиПрисоединенногоФайла(Источник, Отказ); + +КонецПроцедуры + +// Устарела. Следует использовать ПереопределитьПолучаемуюФормуПрисоединенногоФайла. +Процедура ОбработкаПолученияФормыПрисоединенногоФайла(Источник, + ВидФормы, + Параметры, + ВыбраннаяФорма, + ДополнительнаяИнформация, + СтандартнаяОбработка) Экспорт + + ПрисоединенныеФайлыКлиентСервер.ПереопределитьПолучаемуюФормуПрисоединенногоФайла(Источник, ВидФормы, Параметры, + ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка); + +КонецПроцедуры + +// Устарела. Следует использовать подписку на событие ОбработкаПолученияФормы. +// см. ПрисоединенныеФайлыКлиентСервер.ПереопределитьПолучаемуюФормуПрисоединенногоФайла. +// +// Настраивает форму присоединенного файла ПриСозданииНаСервере. +Процедура ПриСозданииНаСервереПрисоединенныйФайл(Знач Форма) Экспорт + + Если Форма.Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + Если НЕ Форма.Параметры.Свойство("Ключ", Форма.Ключ) Тогда + Форма.Ключ = Форма.Параметры.Key; + КонецЕсли; + + Форма.АвтоЗаголовок = Ложь; + Форма.Заголовок = НСтр("ru = 'Присоединенный файл'"); + + Команда = Форма.Команды.Добавить("ПерейтиКФормеФайла"); + Команда.Действие = "Подключаемый_ПерейтиКФормеФайла"; + + Декорация = Форма.Элементы.Добавить("ПоясняющийТекст", Тип("ДекорацияФормы")); + Декорация.Заголовок = НСтр("ru = 'Для того, чтобы перейти к карточке файла, нажмите на гиперссылку'"); + + Кнопка = Форма.Элементы.Добавить("ПерейтиКФормеФайла1", Тип("КнопкаФормы")); + Кнопка.Вид = ВидКнопкиФормы.Гиперссылка; + Кнопка.Заголовок = НСтр("ru = 'Перейти к форме файла'"); + Кнопка.ИмяКоманды = "ПерейтиКФормеФайла"; + +КонецПроцедуры + +// Устарела. Использовать не следует. +// Вызывает исключение в стандартной форме списка справочника присоединенных файлов. +Процедура ВызватьИсключениеОткрытияФормы(Форма) Экспорт + + Если Форма.Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + ВызватьИсключение НСтр("ru = 'Самостоятельное использование формы не предусмотрено.'"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // Вспомогательные процедуры и функции @@ -966,7 +1128,7 @@ Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - Если Источник.ПометкаУдаления И Не Выборка.Редактирует.Пустая() Тогда + Если Источник.ПометкаУдаления И ЗначениеЗаполнено(Выборка.Редактирует) Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = '""%1"" не может быть удален, |т.к. содержит присоединенный файл ""%2"", @@ -1003,83 +1165,4 @@ КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ - -// Устарела. Следует использовать ВыполнитьДействияПередЗаписьюПрисоединенногоФайла. -Процедура ПередЗаписьюПрисоединенногоФайла(Источник, Отказ) Экспорт - - ВыполнитьДействияПередЗаписьюПрисоединенногоФайла(Источник, Отказ); - -КонецПроцедуры - -// Устарела. Следует использовать ВыполнитьДействияПередУдалениемПрисоединенногоФайла. -Процедура ПередУдалениемПрисоединенногоФайла(Источник, Отказ) Экспорт - - ВыполнитьДействияПередУдалениемПрисоединенногоФайла(Источник, Отказ); - -КонецПроцедуры - -// Устарела. Следует использовать ВыполнитьДействияПриЗаписиПрисоединенногоФайла. -Процедура ПриЗаписиПрисоединенногоФайла(Источник, Отказ) Экспорт - - ВыполнитьДействияПриЗаписиПрисоединенногоФайла(Источник, Отказ); - -КонецПроцедуры - -// Устарела. Следует использовать ПереопределитьПолучаемуюФормуПрисоединенногоФайла. -Процедура ОбработкаПолученияФормыПрисоединенногоФайла(Источник, - ВидФормы, - Параметры, - ВыбраннаяФорма, - ДополнительнаяИнформация, - СтандартнаяОбработка) Экспорт - - ПрисоединенныеФайлыКлиентСервер.ПереопределитьПолучаемуюФормуПрисоединенногоФайла(Источник, ВидФормы, Параметры, - ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка); - -КонецПроцедуры - -// Устарела. Следует использовать подписку на событие ОбработкаПолученияФормы. -// см. ПрисоединенныеФайлыКлиентСервер.ПереопределитьПолучаемуюФормуПрисоединенногоФайла. -// -// Настраивает форму присоединенного файла ПриСозданииНаСервере. -Процедура ПриСозданииНаСервереПрисоединенныйФайл(Знач Форма) Экспорт - - Если Форма.Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - Если НЕ Форма.Параметры.Свойство("Ключ", Форма.Ключ) Тогда - Форма.Ключ = Форма.Параметры.Key; - КонецЕсли; - - Форма.АвтоЗаголовок = Ложь; - Форма.Заголовок = НСтр("ru = 'Присоединенный файл'"); - - Команда = Форма.Команды.Добавить("ПерейтиКФормеФайла"); - Команда.Действие = "Подключаемый_ПерейтиКФормеФайла"; - - Декорация = Форма.Элементы.Добавить("ПоясняющийТекст", Тип("ДекорацияФормы")); - Декорация.Заголовок = НСтр("ru = 'Для того, чтобы перейти к карточке файла, нажмите на гиперссылку'"); - - Кнопка = Форма.Элементы.Добавить("ПерейтиКФормеФайла1", Тип("КнопкаФормы")); - Кнопка.Вид = ВидКнопкиФормы.Гиперссылка; - Кнопка.Заголовок = НСтр("ru = 'Перейти к форме файла'"); - Кнопка.ИмяКоманды = "ПерейтиКФормеФайла"; - -КонецПроцедуры - -// Устарела. Использовать не следует. -// Вызывает исключение в стандартной форме списка справочника присоединенных файлов. -Процедура ВызватьИсключениеОткрытияФормы(Форма) Экспорт - - Если Форма.Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - ВызватьИсключение НСтр("ru = 'Самостоятельное использование формы не предусмотрено.'"); - -КонецПроцедуры - #КонецОбласти diff --git a/SSL/src/CommonModules/ПрисоединенныеФайлыКлиент/Module.bsl b/SSL/src/CommonModules/ПрисоединенныеФайлыКлиент/Module.bsl index 657a887d5..45bb61044 100644 --- a/SSL/src/CommonModules/ПрисоединенныеФайлыКлиент/Module.bsl +++ b/SSL/src/CommonModules/ПрисоединенныеФайлыКлиент/Module.bsl @@ -7,14 +7,13 @@ // Открывает файл для просмотра или редактирования. // Если файл открывается для просмотра, тогда получает файл в рабочий каталог пользователя, -// при этом ищет файл в рабочем каталоге и предлагает открыть существующий или -// получить файл с сервера. +// при этом ищет файл в рабочем каталоге и предлагает открыть существующий или получить файл с сервера. // Если файл открывается для редактирования, тогда открывает файл в рабочем каталоге (если есть) или // получает его с сервера. // // Параметры: // ДанныеФайла - Структура - данные файла. -// ДляРедактирования - Булево - истина, если файл открывается для редактирования, иначе ложь. +// ДляРедактирования - Булево - Истина, если файл открывается для редактирования, иначе Ложь. // Процедура ОткрытьФайл(Знач ДанныеФайла, Знач ДляРедактирования = Истина) Экспорт @@ -37,7 +36,7 @@ // // Параметры: // ВладелецФайла - Ссылка - владелец файла. -// ИдентификаторФормы - УникальныйИдентификатор формы. +// ИдентификаторФормы - УникальныйИдентификатор - идентификатор управляемой формы. // Фильтр - Строка - необязательный параметр, // позволяет задать фильтр выбираемого файла, // например, картинки для номенклатуры. @@ -57,7 +56,7 @@ // Подписывает присоединенный файл. // // Параметры: -// ПрисоединенныйФайл - Ссылка на присоединенный файл. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". // ИдентификаторФормы - УникальныйИдентификатор - идентификатор управляемой формы. // ДополнительныеПараметры - Неопределено - стандартное поведение (см. ниже). // - Структура - со свойствами: @@ -109,9 +108,9 @@ // Используется в обработчике команды сохранения файла. // // Параметры: -// ПрисоединенныйФайл - Ссылка на присоединенный файл. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". // ДанныеФайла - Структура - данные файла. -// ИдентификаторФормы - УникальныйИдентификатор формы. +// ИдентификаторФормы - УникальныйИдентификатор - идентификатор управляемой формы. // Процедура СохранитьВместеСЭП(Знач ПрисоединенныйФайл, Знач ДанныеФайла, Знач ИдентификаторФормы) Экспорт @@ -126,8 +125,6 @@ КонецПроцедуры // Помещает данные файла с сервера в рабочий каталог на диске. -// -// ОСОБЫЕ УСЛОВИЯ. // Требуется наличие подключенного расширения для работы с файлами. // // Параметры: @@ -137,10 +134,10 @@ // ДатаМодификацииУниверсальная - Дата - универсальная дата модификации файла. // ИмяФайла - Строка - имя файла (с расширением). // РабочийКаталогПользователя - Строка - путь к рабочему каталогу. -// ПолноеИмяФайлаНаКлиенте - Строка (возвращаемое значение) - устанавливается при успешном выполнении. +// ПолноеИмяФайлаНаКлиенте - Строка - (возвращаемое значение) устанавливается при успешном выполнении. // -// Возвращаемое значение: булево -// Истина - файл получен и сохранен успешно, иначе Ложь. +// Возвращаемое значение: +// Булево - если Истина, тогда файл получен и сохранен успешно, иначе Ложь. // Функция ПолучитьФайлВРабочийКаталог(Знач АдресДвоичныхДанныхФайла, Знач ОтносительныйПуть, @@ -193,10 +190,10 @@ // // Параметры: // ПутьКФайлу - Строка - полный путь к файлу. -// ИдентификаторФормы - УникальныйИдентификатор формы. +// ИдентификаторФормы - УникальныйИдентификатор - идентификатор управляемой формы. // // Возвращаемое значение: -// Структура. +// Структура - данные файла, помещенного во временное хранилище. // Функция ПоместитьФайлВХранилище(Знач ПутьКФайлу, Знач ИдентификаторФормы) Экспорт @@ -258,7 +255,7 @@ // справочника присоединенных файлов. Форма элемента закрывается. // // Параметры: -// Форма - форма справочника присоединенных файлов. +// Форма - УправляемаяФорма - форма справочника присоединенных файлов. // Процедура ПерейтиКФормеПрисоединенногоФайла(Знач Форма) Экспорт @@ -292,19 +289,20 @@ // Используется в обработчике выбора для переопределения стандартного поведения. // // Параметры: -// ВладелецФайлов - Ссылка на объект с файлами. -// ЭлементФормы - элемент формы, которому будет отправлено оповещение о выборе. -// СтандартнаяОбработка - Булево (возвращаемое значение), всегда устанавливается в Ложь. +// ВладелецФайлов - Ссылка - ссылка на объект с файлами. +// ЭлементФормы - ТаблицаФормы, ПолеФормы - элемент формы, которому будет отправлено +// оповещение о выборе. +// СтандартнаяОбработка - Булево - (возвращаемое значение), всегда устанавливается в Ложь. // Процедура ОткрытьФормуВыбораФайлов(Знач ВладелецФайлов, Знач ЭлементФормы, СтандартнаяОбработка = Ложь) Экспорт СтандартнаяОбработка = Ложь; ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ВладелецФайла", ВладелецФайлов); - ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Истина); + ПараметрыФормы.Вставить("РежимВыбора", Истина); + ПараметрыФормы.Вставить("ВладелецФайла", ВладелецФайлов); - ОткрытьФорму("ОбщаяФорма.ВыборПрисоединенныхФайлов", ПараметрыФормы, ЭлементФормы); + ОткрытьФорму("ОбщаяФорма.ПрисоединенныеФайлы", ПараметрыФормы, ЭлементФормы); КонецПроцедуры @@ -312,8 +310,8 @@ // Может использоваться как обработчик открытия присоединенного файла. // // Параметры: -// ПрисоединенныйФайл - Ссылка на файл, карточку которого нужно открыть. -// СтандартнаяОбработка - Булево (возвращаемое значение), всегда устанавливается в Ложь. +// ПрисоединенныйФайл - СправочникСсылка - ссылка на справочник с именем "*ПрисоединенныеФайлы". +// СтандартнаяОбработка - Булево - (возвращаемое значение), всегда устанавливается в Ложь. // Процедура ОткрытьФормуПрисоединенногоФайла(Знач ПрисоединенныйФайл, СтандартнаяОбработка = Ложь) Экспорт @@ -339,10 +337,6 @@ КонецФункции -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - //////////////////////////////////////////////////////////////////////////////// // Устаревшие процедуры и функции diff --git a/SSL/src/CommonModules/ПрисоединенныеФайлыПереопределяемый/Module.bsl b/SSL/src/CommonModules/ПрисоединенныеФайлыПереопределяемый/Module.bsl index 87a4169e6..2268f6ec8 100644 --- a/SSL/src/CommonModules/ПрисоединенныеФайлыПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ПрисоединенныеФайлыПереопределяемый/Module.bsl @@ -8,9 +8,9 @@ // Позволяет переопределить справочники хранения файлов по типам владельцев. // // Параметры: -// ТипВладелецФайла - Тип ссылки объекта, к которому добавляется файл. +// ТипВладелецФайла - Тип - тип ссылки объекта, к которому добавляется файл. // -// ИменаСправочников - Соответствие, содержащее в ключах имена справочников. +// ИменаСправочников - Соответствие - содержит в ключах имена справочников. // При вызове содержит стандартное имя одного справочника, // помеченного, как основной (если существует). // Основной справочник используется для интерактивного diff --git a/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебный/Module.bsl b/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебный/Module.bsl index ce7d7a20d..5b7e4ea5e 100644 --- a/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебный/Module.bsl @@ -250,63 +250,6 @@ КонецФункции -// Заполняет текст запроса для получения присоединенных файлов у которых не извлечен текст. -// Текст запроса формируется по всем справочникам присоединенных файлов. В качестве параметра -// может прийти другой запрос, с которым следует сделать объединение. -// -// Параметры: -// ТекстЗапроса - Строка (возвращаемое значение), варианты передаваемых значений: -// Пустая строка - будет возвращен требуемый текст запроса. -// Непустая строка - будет возвращен требуемый текст запроса, добавленный -// к переданному тексту посредством "ОБЪЕДИНИТЬ ВСЕ". -// -// ПолучитьВсеФайлы - Булево - начальное значение Ложь. Позволяет отключить выборку присоединенных -// файлов по частям, если передать Истина. -// -Процедура ПолучитьТекстЗапросаДляИзвлеченияТекста(ТекстЗапроса = "", ПолучитьВсеФайлы = Ложь) Экспорт - - ТипыВладельцев = Метаданные.РегистрыСведений.НаличиеПрисоединенныхФайлов.Измерения.ОбъектСФайлами.Тип.Типы(); - - КоличествоТипов = ТипыВладельцев.Количество(); - Если КоличествоТипов = 0 Тогда - Возврат; - КонецЕсли; - - ВсеИменаСправочников = Новый Соответствие; - - Для каждого Тип Из ТипыВладельцев Цикл - ИменаСправочников = ИменаСправочниковХраненияФайлов(Тип); - - Для каждого КлючИЗначение Из ИменаСправочников Цикл - Если ВсеИменаСправочников[КлючИЗначение.Ключ] <> Неопределено Тогда - Продолжить; - КонецЕсли; - ВсеИменаСправочников.Вставить(КлючИЗначение.Ключ, Истина); - КонецЦикла; - КонецЦикла; - - ЧислоФайловВВыборке = Цел(100 / ВсеИменаСправочников.Количество()); - ЧислоФайловВВыборке = ?(ЧислоФайловВВыборке < 10, 10, ЧислоФайловВВыборке); - - Для каждого КлючИЗначение Из ВсеИменаСправочников Цикл - - Если НЕ ПустаяСтрока(ТекстЗапроса) Тогда - ТекстЗапроса = ТекстЗапроса + - " - | - |ОБЪЕДИНИТЬ ВСЕ - | - |"; - КонецЕсли; - - ТекстЗапроса = ТекстЗапроса + ТекстЗапросаДляФайловСНеизвлеченнымТекстом( - КлючИЗначение.Ключ, - ЧислоФайловВВыборке, - ПолучитьВсеФайлы); - КонецЦикла; - -КонецПроцедуры - // Возвращает количество версий с неизвлеченным текстом. Функция ПолучитьКоличествоВерсийСНеизвлеченнымТекстом() Экспорт @@ -392,21 +335,6 @@ КонецФункции -// Записывает присоединенный файл. -// -// Параметры: -// ФайлОбъект - Объект присоединенного файла. -// -Процедура ЗаписатьИзвлеченныйТекст(ФайлОбъект) Экспорт - - Попытка - ФайлОбъект.Записать(); - Исключение - ВызватьИсключение; - КонецПопытки; - -КонецПроцедуры - // Заполняет параметр КоличествоФайловВТомах. Процедура ОпределитьКоличествоФайловВТомах(КоличествоФайловВТомах) Экспорт @@ -909,7 +837,7 @@ ФайлОбъект = ПрисоединенныйФайл; КонецЕсли; - Если НЕ ФайлОбъект.Редактирует.Пустая() Тогда + Если ЗначениеЗаполнено(ФайлОбъект.Редактирует) Тогда ФайлОбъект.Редактирует = Справочники.Пользователи.ПустаяСсылка(); ФайлОбъект.Записать(); Конецесли; @@ -930,7 +858,7 @@ ФайлОбъект = ПрисоединенныйФайл; КонецЕсли; - ФайлОбъект.Редактирует = Пользователи.ТекущийПользователь(); + ФайлОбъект.Редактирует = Пользователи.АвторизованныйПользователь(); ФайлОбъект.Записать(); КонецПроцедуры @@ -1042,7 +970,7 @@ ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайлаВоВременномХранилищеДвоичныеДанные); КонецЕсли; - ФайлОбъект.Изменил = Пользователи.ТекущийПользователь(); + ФайлОбъект.Изменил = Пользователи.АвторизованныйПользователь(); Если ТипЗнч(РеквизитыЗначения) = Тип("Структура") Тогда ЗаполнитьЗначенияСвойств(ФайлОбъект, РеквизитыЗначения); @@ -1661,11 +1589,61 @@ КонецПроцедуры -// Возвращает текст запроса для извлечения текста +// Заполняет текст запроса для получения файлов у которых не извлечен текст. +// В качестве параметра может прийти другой запрос, с которым следует сделать объединение. +// +// Параметры: +// ТекстЗапроса - Строка (возвращаемое значение), варианты передаваемых значений: +// Пустая строка - будет возвращен требуемый текст запроса. +// Непустая строка - будет возвращен требуемый текст запроса, добавленный +// к переданному тексту посредством "ОБЪЕДИНИТЬ ВСЕ". +// +// ПолучитьВсеФайлы - Булево - начальное значение Ложь. Позволяет отключить выборку +// файлов по частям, если передать Истина. // Процедура ПриОпределенииТекстаЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы = Ложь) Экспорт - ПолучитьТекстЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы); + // Текст запроса формируется по всем справочникам присоединенных файлов. + + ТипыВладельцев = Метаданные.РегистрыСведений.НаличиеПрисоединенныхФайлов.Измерения.ОбъектСФайлами.Тип.Типы(); + + КоличествоТипов = ТипыВладельцев.Количество(); + Если КоличествоТипов = 0 Тогда + Возврат; + КонецЕсли; + + ВсеИменаСправочников = Новый Соответствие; + + Для каждого Тип Из ТипыВладельцев Цикл + ИменаСправочников = ИменаСправочниковХраненияФайлов(Тип); + + Для каждого КлючИЗначение Из ИменаСправочников Цикл + Если ВсеИменаСправочников[КлючИЗначение.Ключ] <> Неопределено Тогда + Продолжить; + КонецЕсли; + ВсеИменаСправочников.Вставить(КлючИЗначение.Ключ, Истина); + КонецЦикла; + КонецЦикла; + + ЧислоФайловВВыборке = Цел(100 / ВсеИменаСправочников.Количество()); + ЧислоФайловВВыборке = ?(ЧислоФайловВВыборке < 10, 10, ЧислоФайловВВыборке); + + Для каждого КлючИЗначение Из ВсеИменаСправочников Цикл + + Если НЕ ПустаяСтрока(ТекстЗапроса) Тогда + ТекстЗапроса = ТекстЗапроса + + " + | + |ОБЪЕДИНИТЬ ВСЕ + | + |"; + КонецЕсли; + + ТекстЗапроса = ТекстЗапроса + ТекстЗапросаДляФайловСНеизвлеченнымТекстом( + КлючИЗначение.Ключ, + ЧислоФайловВВыборке, + ПолучитьВсеФайлы); + КонецЦикла; КонецПроцедуры @@ -1682,10 +1660,17 @@ // Процедура ПриЗаписиИзвлеченногоТекста(ФайлОбъект) Экспорт - Если ЭтоЭлементПрисоединенныеФайлы(ФайлОбъект) Тогда - ЗаписатьИзвлеченныйТекст(ФайлОбъект); + Если Не ЭтоЭлементПрисоединенныеФайлы(ФайлОбъект) Тогда + Возврат; КонецЕсли; + Попытка + ФайлОбъект.ОбменДанными.Загрузка = Истина; + ФайлОбъект.Записать(); + Исключение + ВызватьИсключение; + КонецПопытки; + КонецПроцедуры // Возвращает в параметре КоличествоФайловВТомах количество файлов в томах. diff --git a/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебныйКлиент/Module.bsl index 5a8101042..e0d265231 100644 --- a/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебныйКлиент/Module.bsl +++ b/SSL/src/CommonModules/ПрисоединенныеФайлыСлужебныйКлиент/Module.bsl @@ -686,7 +686,7 @@ Возврат; КонецЕсли; - Если НЕ ДанныеФайла.Редактирует.Пустая() Тогда + Если ЗначениеЗаполнено(ДанныеФайла.Редактирует) Тогда ПоказатьПредупреждение(, НСтр("ru = 'Нельзя зашифровать занятый файл.'")); ВыполнитьОбработкуОповещения(ОбработчикРезультата, Неопределено); Возврат; @@ -1457,7 +1457,12 @@ Если НРег(ДанныеФайла.Расширение) = НРег("mxl") Тогда ДвоичныеДанные = Новый ДвоичныеДанные(ИмяОткрываемогоФайла); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные); + #Если ТолстыйКлиентОбычноеПриложение Тогда + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.Прочитать(ИмяОткрываемогоФайла); + #Иначе ТабличныйДокумент = ФайловыеФункцииСлужебныйВызовСервера.ТабличныйДокументИзВременногоХранилища(Адрес); + #КонецЕсли ПараметрыОткрытия = Новый Структура; ПараметрыОткрытия.Вставить("ИмяДокумента", ЗаголовокСтрока); diff --git a/SSL/src/CommonModules/РаботаВБезопасномРежиме/Module.bsl b/SSL/src/CommonModules/РаботаВБезопасномРежиме/Module.bsl index 8fdf37a79..5ae4be366 100644 --- a/SSL/src/CommonModules/РаботаВБезопасномРежиме/Module.bsl +++ b/SSL/src/CommonModules/РаботаВБезопасномРежиме/Module.bsl @@ -454,7 +454,13 @@ // Процедура ВыполнитьМетодКонфигурации(Знач ИмяЭкспортнойПроцедуры, Знач Параметры = Неопределено) Экспорт - ПроверитьИмяМетодаКонфигурации(ИмяЭкспортнойПроцедуры); + Попытка + ПроверитьИмяМетодаКонфигурации(ИмяЭкспортнойПроцедуры); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ВызватьИсключение НСтр("ru = 'Ошибка при вызове процедуры ВыполнитьМетодКонфигурации общего модуля РаботаВБезопасномРежиме.'") + + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + КонецПопытки; Если ПолучитьФункциональнуюОпцию("ИспользуютсяПрофилиБезопасности") И Не УстановленБезопасныйРежим() Тогда @@ -537,70 +543,57 @@ // на встроенном языке 1С:Предприятия перед использованием его в операторах Выполнить() и Вычислить() // при их использовании для динамического вызова методов код конфигурации. // -// В случае, если переданная строка не соответствует имени метода конфигурации - генерируется +// В случае, если переданная строка не соответствует имени метода конфигурации - генерируется. // -Процедура ПроверитьИмяМетодаКонфигурации(Знач ИмяЭкспортнойПроцедуры) Экспорт +Процедура ПроверитьИмяМетодаКонфигурации(Знач ИмяМетода) Экспорт // Проверка предусловий на формат ИмяЭкспортнойПроцедуры. - ЧастиИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИмяЭкспортнойПроцедуры, "."); + ЧастиИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИмяМетода, "."); Если ЧастиИмени.Количество() <> 2 И ЧастиИмени.Количество() <> 3 Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Неправильный формат параметра ИмяЭкспортнойПроцедуры (%1)'"), - ИмяЭкспортнойПроцедуры); + НСтр("ru = 'Неправильный формат параметра ИмяМетода (%1)'"), + ИмяМетода); КонецЕсли; ИмяОбъекта = ЧастиИмени[0]; Если ЧастиИмени.Количество() = 2 И Метаданные.ОбщиеМодули.Найти(ИмяОбъекта) = Неопределено Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Неправильный формат параметра ИмяЭкспортнойПроцедуры (%1): - |Не найден общий модуль ""%2"".'"), - ИмяЭкспортнойПроцедуры, + НСтр("ru = 'Неправильный формат параметра ИмяМетода (%1): + |Не найден общий модуль ""%2"".'"), + ИмяМетода, ИмяОбъекта); КонецЕсли; Если ЧастиИмени.Количество() = 3 Тогда - ДопустимыеИменаТипов = Новый Массив; - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаКонстанты())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаРегистрыСведений())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаРегистрыНакопления())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаРегистрыБухгалтерии())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаРегистрыРасчета())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаСправочники())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаДокументы())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаОтчеты())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаОбработки())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаБизнесПроцессы())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаЖурналыДокументов())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаЗадачи())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаПланыСчетов())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаПланыОбмена())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаПланыВидовХарактеристик())); - ДопустимыеИменаТипов.Добавить(ВРег(ОбщегоНазначения.ИмяТипаПланыВидовРасчета())); - ИмяТипа = ВРег(ЧастиИмени[0]); - Если ДопустимыеИменаТипов.Найти(ИмяТипа) = Неопределено Тогда + ПолноеИмяОбъекта = ЧастиИмени[0] + "." + ЧастиИмени[1]; + Попытка + Менеджер = МенеджерОбъектаПоИмени(ПолноеИмяОбъекта); + Исключение + Менеджер = Неопределено; + КонецПопытки; + Если Менеджер = Неопределено Тогда ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Неправильный формат параметра ИмяЭкспортнойПроцедуры (%1): - |Не найдена коллекция объектов метаданных ""%2"", - |или для этой коллекции не поддерживается безопасное выполнение.'"), - ИмяЭкспортнойПроцедуры, - ИмяОбъекта); + НСтр("ru = 'Неправильный формат параметра ИмяМетода (%1): + |Не найден менеджер объекта ""%2"".'"), + ИмяМетода, + ПолноеИмяОбъекта); КонецЕсли; КонецЕсли; - ИмяМетода = ЧастиИмени[ЧастиИмени.ВГраница()]; + ИмяМетодаОбъекта = ЧастиИмени[ЧастиИмени.ВГраница()]; ВременнаяСтруктура = Новый Структура; Попытка - // Проверка на то, что ИмяМетода является допустимым идентификатором. + // Проверка того, что ИмяМетодаОбъекта является допустимым идентификатором. // Например: МояПроцедура - ВременнаяСтруктура.Вставить(ИмяМетода); + ВременнаяСтруктура.Вставить(ИмяМетодаОбъекта); Исключение ЗаписьЖурналаРегистрации(НСтр("ru = 'Безопасное выполнение метода'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Неправильный формат параметра ИмяЭкспортнойПроцедуры (%1): - |Имя метода ""%2"" не соответствует требованиям образования имен переменных.'"), - ИмяЭкспортнойПроцедуры, - ИмяМетода); + НСтр("ru = 'Неправильный формат параметра ИмяМетода (%1): + |Имя метода ""%2"" не соответствует требованиям образования имен процедур и фукнций.'"), + ИмяМетода, + ИмяМетодаОбъекта); КонецПопытки; КонецПроцедуры @@ -672,6 +665,137 @@ #Область СлужебныеПроцедурыИФункции +// Возвращает менеджер объекта по имени. +// Ограничение: не обрабатываются точки маршрутов бизнес-процессов. +// +// Параметры: +// Имя - Строка - имя например, "Справочник", "Справочники", "Справочник.Организации". +// +// Возвращаемое значение: +// СправочникиМенеджер, СправочникМенеджер, ДокументыМенеджер, ДокументМенеджер, ... +// +Функция МенеджерОбъектаПоИмени(Имя) + Перем КлассОМ, ИмяОМ, Менеджер; + + ЧастиИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Имя, "."); + + Если ЧастиИмени.Количество() > 0 Тогда + КлассОМ = ВРег(ЧастиИмени[0]); + КонецЕсли; + + Если ЧастиИмени.Количество() > 1 Тогда + ИмяОМ = ЧастиИмени[1]; + КонецЕсли; + + Если КлассОМ = "ПЛАНОБМЕНА" + Или КлассОМ = "ПЛАНЫОБМЕНА" Тогда + Менеджер = ПланыОбмена; + + ИначеЕсли КлассОМ = "СПРАВОЧНИК" + Или КлассОМ = "СПРАВОЧНИКИ" Тогда + Менеджер = Справочники; + + ИначеЕсли КлассОМ = "ДОКУМЕНТ" + Или КлассОМ = "ДОКУМЕНТЫ" Тогда + Менеджер = Документы; + + ИначеЕсли КлассОМ = "ЖУРНАЛДОКУМЕНТОВ" + Или КлассОМ = "ЖУРНАЛЫДОКУМЕНТОВ" Тогда + Менеджер = ЖурналыДокументов; + + ИначеЕсли КлассОМ = "ПЕРЕЧИСЛЕНИЕ" + Или КлассОМ = "ПЕРЕЧИСЛЕНИЯ" Тогда + Менеджер = Перечисления; + + ИначеЕсли КлассОМ = "ОТЧЕТ" + Или КлассОМ = "ОТЧЕТЫ" Тогда + Менеджер = Отчеты; + + ИначеЕсли КлассОМ = "ОБРАБОТКА" + Или КлассОМ = "ОБРАБОТКИ" Тогда + Менеджер = Обработки; + + ИначеЕсли КлассОМ = "ПЛАНВИДОВХАРАКТЕРИСТИК" + Или КлассОМ = "ПЛАНЫВИДОВХАРАКТЕРИСТИК" Тогда + Менеджер = ПланыВидовХарактеристик; + + ИначеЕсли КлассОМ = "ПЛАНСЧЕТОВ" + Или КлассОМ = "ПЛАНЫСЧЕТОВ" Тогда + Менеджер = ПланыСчетов; + + ИначеЕсли КлассОМ = "ПЛАНВИДОВРАСЧЕТА" + Или КлассОМ = "ПЛАНЫВИДОВРАСЧЕТА" Тогда + Менеджер = ПланыВидовРасчета; + + ИначеЕсли КлассОМ = "РЕГИСТРСВЕДЕНИЙ" + Или КлассОМ = "РЕГИСТРЫСВЕДЕНИЙ" Тогда + Менеджер = РегистрыСведений; + + ИначеЕсли КлассОМ = "РЕГИСТРНАКОПЛЕНИЯ" + Или КлассОМ = "РЕГИСТРЫНАКОПЛЕНИЯ" Тогда + Менеджер = РегистрыНакопления; + + ИначеЕсли КлассОМ = "РЕГИСТРБУХГАЛТЕРИИ" + Или КлассОМ = "РЕГИСТРЫБУХГАЛТЕРИИ" Тогда + Менеджер = РегистрыБухгалтерии; + + ИначеЕсли КлассОМ = "РЕГИСТРРАСЧЕТА" + Или КлассОМ = "РЕГИСТРЫРАСЧЕТА" Тогда + + Если ЧастиИмени.Количество() < 3 Тогда + // Регистр расчета + Менеджер = РегистрыРасчета; + Иначе + КлассПодчиненногоОМ = ВРег(ЧастиИмени[2]); + Если ЧастиИмени.Количество() > 3 Тогда + ИмяПодчиненногоОМ = ЧастиИмени[3]; + КонецЕсли; + Если КлассПодчиненногоОМ = "ПЕРЕРАСЧЕТ" + Или КлассПодчиненногоОМ = "ПЕРЕРАСЧЕТЫ" Тогда + // Перерасчет + Попытка + Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты; + ИмяОМ = ИмяПодчиненногоОМ; + Исключение + Менеджер = Неопределено; + КонецПопытки; + КонецЕсли; + КонецЕсли; + + ИначеЕсли КлассОМ = "БИЗНЕСПРОЦЕСС" + Или КлассОМ = "БИЗНЕСПРОЦЕССЫ" Тогда + Менеджер = БизнесПроцессы; + + ИначеЕсли КлассОМ = "ЗАДАЧА" + Или КлассОМ = "ЗАДАЧИ" Тогда + Менеджер = Задачи; + + ИначеЕсли КлассОМ = "КОНСТАНТА" + Или КлассОМ = "КОНСТАНТЫ" Тогда + Менеджер = Константы; + + ИначеЕсли КлассОМ = "ПОСЛЕДОВАТЕЛЬНОСТЬ" + Или КлассОМ = "ПОСЛЕДОВАТЕЛЬНОСТИ" Тогда + Менеджер = Последовательности; + КонецЕсли; + + Если Менеджер <> Неопределено Тогда + Если ЗначениеЗаполнено(ИмяОМ) Тогда + Попытка + Возврат Менеджер[ИмяОМ]; + Исключение + Менеджер = Неопределено; + КонецПопытки; + Иначе + Возврат Менеджер; + КонецЕсли; + КонецЕсли; + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не удалось получить менеджер для объекта ""%1""'"), Имя); + +КонецФункции + // Проверяет возможность перехода в привилегированный режим из текущего безопасного режима. // // Возвращаемое значение: Булево. diff --git a/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебный/Module.bsl b/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебный/Module.bsl index ce32cb721..5a91c9a5a 100644 --- a/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебный/Module.bsl +++ b/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебный/Module.bsl @@ -450,7 +450,7 @@ Попытка Если ВключаяЗапросСозданияПрофиляИБ Тогда - Результат.Добавить(ЗапросНаСозданиеНабораРазрешений(РаботаВБезопасномРежимеСлужебныйПовтИсп.СлужебныйИОМ())); + Результат.Добавить(ЗапросНаСозданиеНабораРазрешений(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка())); КонецЕсли; ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( @@ -581,24 +581,7 @@ // Функция РежимПодключенияВнешнегоМодуля(Знач ВнешнийМодуль) Экспорт - Если РаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда - - Возврат БезопасныйРежим(); - - Иначе - - УстановитьПривилегированныйРежим(Истина); - - Менеджер = РегистрыСведений.РежимыПодключенияВнешнихМодулей.СоздатьМенеджерЗаписи(); - Менеджер.ВнешнийМодуль = ВнешнийМодуль; - Менеджер.Прочитать(); - Если Менеджер.Выбран() Тогда - Возврат Менеджер.БезопасныйРежим; - Иначе - Возврат Неопределено; - КонецЕсли; - - КонецЕсли; + Возврат Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.РежимПодключенияВнешнегоМодуля(ВнешнийМодуль); КонецФункции @@ -675,40 +658,20 @@ // СЕРВЕРНЫЕ ОБРАБОТЧИКИ. - СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииИсключенийПоискаСсылок"].Добавить( - "РаботаВБезопасномРежимеСлужебный"); - СерверныеОбработчики["СтандартныеПодсистемы.ОбновлениеВерсииИБ\ПриДобавленииОбработчиковОбновления"].Добавить( "РаботаВБезопасномРежимеСлужебный"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"].Добавить( + "РаботаВБезопасномРежимеСлужебный"); + КонецЕсли; + КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // Обработчики служебных событий // -// Заполняет массив списком имен объектов метаданных, данные которых могут содержать ссылки на различные объекты метаданных, -// но при этом эти ссылки не должны учитываться в бизнес-логике приложения. -// -// Параметры: -// Массив - массив строк, например, "РегистрСведений.ВерсииОбъектов". -// -Процедура ПриДобавленииИсключенийПоискаСсылок(Массив) Экспорт - - Массив.Добавить(Метаданные.РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.ПолноеИмя()); - - Массив.Добавить(Метаданные.РегистрыСведений.РежимыПодключенияВнешнихМодулей.ПолноеИмя()); - - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенияПереходаВПривилегированныйРежим.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенныеCOMКлассы.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенныеВнешниеКомпоненты.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенныеИнтернетРесурсы.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенныеКаталогиФайловойСистемы.ПолноеИмя()); - Массив.Добавить(Метаданные.РегистрыСведений.РазрешенныеПриложенияОперационнойСистемы.ПолноеИмя()); - -КонецПроцедуры - // Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. // // Параметры: @@ -716,24 +679,23 @@ // Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт - Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "2.2.2.31"; - Обработчик.Процедура = "РаботаВБезопасномРежимеСлужебный.ЗаполнитьВнешнийМодульДляПредоставленныхРазрешений"; - Обработчик.ОбщиеДанные = Истина; + Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ПриДобавленииОбработчиковОбновления( + Обработчики); КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// Обработчики обновления +// Содержит настройки размещения вариантов отчетов в панели отчетов. // - -// [2.2.2.31] Процедура проставляет значение измерения ВнешнийМодуль у регистров, используемых в качестве -// кэша предоставленных разрешений. +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() // -Процедура ЗаполнитьВнешнийМодульДляПредоставленныхРазрешений() Экспорт - - Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ЗаполнитьВнешнийМодульДляПредоставленныхРазрешений(); - +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ИспользуемыеВнешниеРесурсы); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// diff --git a/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебныйПовтИсп/Module.bsl b/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебныйПовтИсп/Module.bsl index 7fbb5c4df..0398c6699 100644 --- a/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебныйПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/РаботаВБезопасномРежимеСлужебныйПовтИсп/Module.bsl @@ -7,18 +7,6 @@ #Область СлужебныйПрограммныйИнтерфейс -// Возвращает служебный идентификатор объектов метаданных, который используется для хранения -// разрешений, связанных с конфигурацией (а не с объектами конфигурации). -// -// Возвращаемое значение: СправочникСсылка.ИдентификаторыОбъектовМетаданных. -// -Функция СлужебныйИОМ() Экспорт - - Возврат Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту( - "ПолноеИмя", Метаданные.РегистрыСведений.РежимыПодключенияВнешнихМодулей.ПолноеИмя()); - -КонецФункции - // Возвращает массив существующих в конфигурации разделителей. // // Возвращаемое значение: ФиксированныйМассив(Строка) - массив строк общих реквизитов, которые @@ -38,4 +26,15 @@ КонецФункции +// Возвращает служебный идентификатор объектов метаданных, который используется для хранения +// разрешений, связанных с конфигурацией (а не с объектами конфигурации). +// +// Возвращаемое значение: СправочникСсылка.ИдентификаторыОбъектовМетаданных. +// +Функция СлужебныйИОМ() Экспорт + + Возврат Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); + +КонецФункции + #КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/РаботаВМоделиСервиса/Module.bsl b/SSL/src/CommonModules/РаботаВМоделиСервиса/Module.bsl index cf35845e1..6222232b8 100644 --- a/SSL/src/CommonModules/РаботаВМоделиСервиса/Module.bsl +++ b/SSL/src/CommonModules/РаботаВМоделиСервиса/Module.bsl @@ -2167,6 +2167,9 @@ Процедура ПриВключенииРазделенияПоОбластямДанных() Экспорт ПроверитьВозможностьИспользованияКонфигурацииВМоделиСервиса(); + + СоздатьНеразделенныеПредопределенныеЭлементы(); + РаботаВМоделиСервисаПереопределяемый.ПриВключенииРазделенияПоОбластямДанных(); КонецПроцедуры @@ -2248,6 +2251,13 @@ КонецЕсли; + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "*"; + Обработчик.Процедура = "РаботаВМоделиСервиса.СоздатьНеразделенныеПредопределенныеЭлементы"; + Обработчик.Приоритет = 99; + Обработчик.ОбщиеДанные = Истина; + Обработчик.МонопольныйРежим = Ложь; + КонецПроцедуры // Заполняет структуру параметров, необходимых для работы клиентского кода @@ -3972,6 +3982,56 @@ КонецПроцедуры +// Обработчик создания/обновления предопределенных элементов +// неразделенных объектов метаданных. +// +Процедура СоздатьНеразделенныеПредопределенныеЭлементы() Экспорт + + УстановитьПривилегированныйРежим(Истина); + + Если НЕ ОбщегоНазначенияПовтИсп.ЭтоРазделеннаяКонфигурация() Тогда + // Для конфигураций без разделения данных действий не требуется. + Возврат; + КонецЕсли; + + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда + + Если ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда + // В разделенном сеансе действия недоступны и не требуются. + Возврат; + + КонецЕсли; + + Иначе + + // При выключенном разделении данных действий не требуется. + Возврат; + + КонецЕсли; + + ОсновнойРазделитель = РазделительОсновныхДанных(); + ВспомогательныйРазделитель = РазделительВспомогательныхДанных(); + + КоллекцииМетаданных = Новый Массив; + КоллекцииМетаданных.Добавить(Метаданные.Справочники); + КоллекцииМетаданных.Добавить(Метаданные.ПланыВидовХарактеристик); + КоллекцииМетаданных.Добавить(Метаданные.ПланыСчетов); + КоллекцииМетаданных.Добавить(Метаданные.ПланыВидовРасчета); + + Для каждого Коллекция Из КоллекцииМетаданных Цикл + Для Каждого ОбъектМетаданных Из Коллекция Цикл + ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); + Если Не ОбщегоНазначенияПовтИсп.ЭтоРазделенныйОбъектМетаданных(ПолноеИмя, ОсновнойРазделитель) + И Не ОбщегоНазначенияПовтИсп.ЭтоРазделенныйОбъектМетаданных(ПолноеИмя, ВспомогательныйРазделитель) Тогда + + МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); + МенеджерОбъекта.Выбрать().Следующий(); + КонецЕсли; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + // Возвращает минимальную версию библиотеки "1С:Библиотека технологии сервиса", совместно с которой // возможно использование текущей версии БСП. // diff --git a/SSL/src/CommonModules/РаботаСБанками/Module.bsl b/SSL/src/CommonModules/РаботаСБанками/Module.bsl index 699ac5efb..02e36b515 100644 --- a/SSL/src/CommonModules/РаботаСБанками/Module.bsl +++ b/SSL/src/CommonModules/РаботаСБанками/Module.bsl @@ -8,28 +8,23 @@ //////////////////////////////////////////////////////////////////////////////// // Работа с данными справочника КлассификаторБанковРФ -// Получает данные из справочника КлассификаторБанковРФ по значениям БИК и КоррСчета +// Получает данные из справочника КлассификаторБанковРФ по значениям БИК и корсчета банка. // // Параметры -// БИК - Строка - Значение БИК -// КоррСчет - Строка - Значение корр.счета -// ЗаписьОБанке - СправочникСсылка или строка - результат выборки -Процедура ПолучитьДанныеКлассификатораРФ(БИК = "", КоррСчет = "", ЗаписьОБанке) Экспорт +// БИК - Строка - банковский идентификационный код. +// КоррСчет - Строка - корреспондентский счет банка. +// ЗаписьОБанке - СправочникСсылка, Строка - (возвращаемый) найденный банк. +Процедура ПолучитьДанныеКлассификатораРФ(БИК = "", КоррСчет = "", ЗаписьОБанке = "") Экспорт Если Не ПустаяСтрока(БИК) Тогда - КлассификаторБанковРФ = Справочники.КлассификаторБанковРФ; - ЗаписьОБанке = КлассификаторБанковРФ.НайтиПоКоду(БИК); - Если ЗаписьОБанке.Пустая() Тогда - ЗаписьОБанке = ""; - КонецЕсли; + ЗаписьОБанке = Справочники.КлассификаторБанковРФ.НайтиПоКоду(БИК); ИначеЕсли Не ПустаяСтрока(КоррСчет) Тогда - КлассификаторБанковРФ = Справочники.КлассификаторБанковРФ; - ЗаписьОБанке = КлассификаторБанковРФ.НайтиПоРеквизиту("КоррСчет", КоррСчет); - Если ЗаписьОБанке.Пустая() Тогда - ЗаписьОБанке = ""; - КонецЕсли; + ЗаписьОБанке = Справочники.КлассификаторБанковРФ.НайтиПоРеквизиту("КоррСчет", КоррСчет); Иначе ЗаписьОБанке = ""; КонецЕсли; + Если ЗаписьОБанке = Справочники.КлассификаторБанковРФ.ПустаяСсылка() Тогда + ЗаписьОБанке = ""; + КонецЕсли; КонецПроцедуры #КонецОбласти @@ -570,16 +565,17 @@ Банк.Вставить("Адрес", ""); КодРегиона = Сред(Банк.БИК, 3, 2); - Регион = Регионы[КодРегиона]; - Если Регион <> Неопределено Тогда - Банк.Вставить("КодРегиона", КодРегиона); - Банк.Вставить("Регион", Регион); - Иначе - Возврат ""; + Регион = Регионы[КодРегиона]; + Если Регион = Неопределено Тогда + Регион = НСтр("ru = 'Другие территории'"); + КодРегиона = ""; КонецЕсли; - + + Банк.Вставить("КодРегиона", КодРегиона); + Банк.Вставить("Регион", Регион); + Возврат Банк; - + КонецФункции // Выполняет загрузку классификатора банков РФ из файла, полученного с сайта РБК. @@ -870,30 +866,28 @@ Загружено = ПараметрыЗагрузкиДанных["Загружено"]; Обновлено = ПараметрыЗагрузкиДанных["Обновлено"]; - Если Не ПустаяСтрока(СтруктураБанк.КодРегиона) Тогда - ТекущийРегион = Справочники.КлассификаторБанковРФ.НайтиПоКоду(СтруктураБанк.КодРегиона); - Если ТекущийРегион.Пустая() Тогда - Регион = Справочники.КлассификаторБанковРФ.СоздатьГруппу(); + ТекущийРегион = Справочники.КлассификаторБанковРФ.НайтиПоКоду(СтруктураБанк.КодРегиона); + Если ТекущийРегион.Пустая() Тогда + Регион = Справочники.КлассификаторБанковРФ.СоздатьГруппу(); + Иначе + Если ТекущийРегион.ЭтоГруппа Тогда + Регион = ТекущийРегион.ПолучитьОбъект(); Иначе - Если ТекущийРегион.ЭтоГруппа Тогда - Регион = ТекущийРегион.ПолучитьОбъект(); - Иначе - Регион = Справочники.КлассификаторБанковРФ.СоздатьГруппу(); - КонецЕсли; + Регион = Справочники.КлассификаторБанковРФ.СоздатьГруппу(); КонецЕсли; - - Если СокрЛП(Регион.Код) <> СокрЛП(СтруктураБанк.КодРегиона) Тогда - Регион.Код = СокрЛП(СтруктураБанк.КодРегиона); - КонецЕсли; - - Если СокрЛП(Регион.Наименование) <> СокрЛП(СтруктураБанк.Регион) Тогда - Регион.Наименование = СокрЛП(СтруктураБанк.Регион); - КонецЕсли; - - Если Регион.Модифицированность() Тогда - Регион.Записать(); - КонецЕсли; - КонецЕсли; + КонецЕсли; + + Если СокрЛП(Регион.Код) <> СокрЛП(СтруктураБанк.КодРегиона) Тогда + Регион.Код = СокрЛП(СтруктураБанк.КодРегиона); + КонецЕсли; + + Если СокрЛП(Регион.Наименование) <> СокрЛП(СтруктураБанк.Регион) Тогда + Регион.Наименование = СокрЛП(СтруктураБанк.Регион); + КонецЕсли; + + Если Регион.Модифицированность() Тогда + Регион.Записать(); + КонецЕсли; ЗаписываемыйЭлементСправочникаКлассификаторБанковРФ = Справочники.КлассификаторБанковРФ.НайтиПоКоду(СтруктураБанк.БИК); diff --git a/SSL/src/CommonModules/РаботаСБанкамиПереопределяемый/Module.bsl b/SSL/src/CommonModules/РаботаСБанкамиПереопределяемый/Module.bsl index f768e5c36..55d59d57a 100644 --- a/SSL/src/CommonModules/РаботаСБанкамиПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/РаботаСБанкамиПереопределяемый/Module.bsl @@ -3,7 +3,7 @@ // //////////////////////////////////////////////////////////////////////////////// -#Область СлужебныеПроцедурыИФункции +#Область ПрограммныйИнтерфейс // Включает/отключает показ предупреждений о необходимости обновления классификатора банков. // diff --git a/SSL/src/CommonModules/РаботаСКурсамиВалют/Module.bsl b/SSL/src/CommonModules/РаботаСКурсамиВалют/Module.bsl index d350b8656..8d2eb4538 100644 --- a/SSL/src/CommonModules/РаботаСКурсамиВалют/Module.bsl +++ b/SSL/src/CommonModules/РаботаСКурсамиВалют/Module.bsl @@ -5,17 +5,16 @@ #Область ПрограммныйИнтерфейс -// Добавляет в справочник валют валюты из макета. +// Добавляет в справочник валют валюты из классификатора. // // Параметры: -// Код - коллекция строк - Коды добавляемых валют. +// Коды - Массив - цифровые коды добавляемых валют. // // Возвращаемое значение: -// Массив из СправочникСсылка - Ссылки созданных валют. +// Массив, СправочникСсылка.Валюты - ссылки созданных валют. // Функция ДобавитьВалютыПоКоду(Знач Коды) Экспорт Перем КлассификаторXML, КлассификаторТаблица, ЗаписьОКВ, НоваяСтрока, Результат; - КлассификаторXML = Справочники.Валюты.ПолучитьМакет("ОбщероссийскийКлассификаторВалют").ПолучитьТекст(); КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторXML).Данные; @@ -34,7 +33,11 @@ НоваяСтрока.Код = ЗаписьОКВ.Code; НоваяСтрока.Наименование = ЗаписьОКВ.CodeSymbol; НоваяСтрока.НаименованиеПолное = ЗаписьОКВ.Name; - НоваяСтрока.ЗагружаетсяИзИнтернета = ЗаписьОКВ.RBCLoading; + Если ЗаписьОКВ.RBCLoading Тогда + НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета; + Иначе + НоваяСтрока.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод; + КонецЕсли; НоваяСтрока.ПараметрыПрописиНаРусском = ЗаписьОКВ.NumerationItemOptions; НоваяСтрока.Записать(); Результат.Добавить(НоваяСтрока.Ссылка); @@ -71,15 +74,15 @@ КонецФункции -// Формирует представление суммы прописью в указанной валюте +// Формирует представление суммы прописью в указанной валюте. // // Параметры: -// СуммаЧислом - Число - Сумма, которую надо представить прописью -// Валюта - СправочникСсылка.Валюты - Валюта, в которой нужно представить сумму -// ВыводитьСуммуБезКопеек - Булево - Флаг представления суммы без копеек +// СуммаЧислом - Число - сумма, которую надо представить прописью. +// Валюта - СправочникСсылка.Валюты - валюта, в которой нужно представить сумму. +// ВыводитьСуммуБезКопеек - Булево - признак представления суммы без копеек. // // Возвращаемое значение: -// Строка - Сумма прописью. +// Строка - сумма прописью. // Функция СформироватьСуммуПрописью(СуммаЧислом, Валюта, ВыводитьСуммуБезКопеек = Ложь) Экспорт @@ -117,7 +120,16 @@ // Загружает курсы валют на текущую дату. // -Процедура ЗагрузитьАктуальныйКурс() Экспорт +// Параметры: +// ПараметрыЗагрузки - Структура - детали загрузки: +// * НачалоПериода - Дата - начало периода загрузки; +// * КонецПериода - Дата - конец периода загрузки; +// * СписокВалют - ТаблицаЗначений - загружаемые валюты: +// ** Валюта - СправочникСсылка.Валюты; +// ** КодВалюты - Строка. +// АдресРезультата - Строка - адрес во временном хранилище для помещения результатов загрузки. +// +Процедура ЗагрузитьАктуальныйКурс(ПараметрыЗагрузки = Неопределено, АдресРезультата = Неопределено) Экспорт Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда ВызватьИсключение НСтр("ru = 'Недопустимый вызов процедуры ""ЗагрузитьАктуальныйКурс"".'"); @@ -134,14 +146,43 @@ ТекущаяДата = ТекущаяДатаСеанса(); СостояниеЗагрузки = Неопределено; - ПриЗагрузкеВозниклиОшибки = Неопределено; + ПриЗагрузкеВозниклиОшибки = Ложь; - ОбработкаЗагрузкиКурсовВалют = Обработки.ЗагрузкаКурсовВалют.Создать(); - ОбработкаЗагрузкиКурсовВалют.НачалоПериодаЗагрузки = ТекущаяДата; - ОбработкаЗагрузкиКурсовВалют.ОкончаниеПериодаЗагрузки = ТекущаяДата; - ОбработкаЗагрузкиКурсовВалют.ЗаполнитьСписокВалют(); - ОбработкаЗагрузкиКурсовВалют.ЗагрузитьКурсыВалют(ПриЗагрузкеВозниклиОшибки); + Если ПараметрыЗагрузки = Неопределено Тогда + ТекстЗапроса = + "ВЫБРАТЬ + | КурсыВалют.Валюта КАК Валюта, + | КурсыВалют.Валюта.Код КАК КодВалюты, + | МАКСИМУМ(КурсыВалют.Период) КАК ДатаКурса + |ИЗ + | РегистрСведений.КурсыВалют КАК КурсыВалют + |ГДЕ + | КурсыВалют.Валюта.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета) + | И НЕ КурсыВалют.Валюта.ПометкаУдаления + | + |СГРУППИРОВАТЬ ПО + | КурсыВалют.Валюта, + | КурсыВалют.Валюта.Код"; + Запрос = Новый Запрос(ТекстЗапроса); + Выборка = Запрос.Выполнить().Выбрать(); + + КонецПериода = ТекущаяДата; + Пока Выборка.Следующий() Цикл + НачалоПериода = ?(Выборка.ДатаКурса = '198001010000', НачалоГода(ТекущаяДата), Выборка.ДатаКурса + 60*60*24); + СписокВалют = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Выборка); + + РаботаСКурсамиВалютКлиентСервер.ЗагрузитьКурсыВалютПоПараметрам( + СписокВалют, НачалоПериода, КонецПериода, ПриЗагрузкеВозниклиОшибки); + КонецЦикла; + Иначе + Результат = РаботаСКурсамиВалютКлиентСервер.ЗагрузитьКурсыВалютПоПараметрам(ПараметрыЗагрузки.СписокВалют, + ПараметрыЗагрузки.НачалоПериода, ПараметрыЗагрузки.КонецПериода, ПриЗагрузкеВозниклиОшибки); + КонецЕсли; + Если АдресРезультата <> Неопределено Тогда + ПоместитьВоВременноеХранилище(Результат, АдресРезультата); + КонецЕсли; + Если ПриЗагрузкеВозниклиОшибки Тогда ЗаписьЖурналаРегистрации( ИмяСобытия, @@ -291,52 +332,6 @@ //////////////////////////////////////////////////////////////////////////////// // Экспортные служебные процедуры и функции -// Копирует в регистр сведений подчиненной валюты всю информацию из регистра -// сведений базовой валюты (период, курс, кратность). -// -// Параметры -// ВалютаИсточник - Справочники.Валюты - ссылка на базовую валюту, из регистра -// сведений которой, будут копироваться данные -// ВалютаПриемник - Справочники.Валюты - ссылка на зависимую валюту от базовой, -// в регистр сведений которой данные будут копироваться -// -Процедура ЗаписатьСведенияДляПодчиненногоРегистра(ВалютаИсточник, ВалютаПриемник) Экспорт - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | КурсыВалют.Период, - | КурсыВалют.Валюта, - | КурсыВалют.Курс, - | КурсыВалют.Кратность - |ИЗ - | РегистрСведений.КурсыВалют КАК КурсыВалют - |ГДЕ - | КурсыВалют.Валюта = &ВалютаИсточник"; - Запрос.УстановитьПараметр("ВалютаИсточник", ВалютаИсточник); - - Выборка = Запрос.Выполнить().Выбрать(); - - НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Валюта.Установить(ВалютаПриемник, Истина); - - Наценка = ВалютаПриемник.Наценка; - - Пока Выборка.Следующий() Цикл - - НоваяЗаписьНабораКурсов = НаборЗаписей.Добавить(); - НоваяЗаписьНабораКурсов.Валюта = ВалютаПриемник; - НоваяЗаписьНабораКурсов.Кратность = Выборка.Кратность; - НоваяЗаписьНабораКурсов.Курс = Выборка.Курс + Выборка.Курс * Наценка / 100; - НоваяЗаписьНабораКурсов.Период = Выборка.Период; - - КонецЦикла; - - НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); - НаборЗаписей.Записать(); - -КонецПроцедуры - // Проверяет наличие установленного курса и кратности валюты на 1 января 1980 года. // В случае отсутствия устанавливает курс и кратность равными единице. // @@ -443,6 +438,14 @@ Валюта.Код, Валюта.Наименование); + СообщенияПользователю = ПолучитьСообщенияПользователю(Истина); + СписокОшибок = Новый Массив; + Для Каждого СообщениеПользователю Из СообщенияПользователю Цикл + СписокОшибок.Добавить(СообщениеПользователю.Текст); + КонецЦикла; + СписокОшибок = ОбщегоНазначенияКлиентСервер.СвернутьМассив(СписокОшибок); + ПояснениеОЗагрузке = ?(ПустаяСтрока(ПояснениеОЗагрузке), "", Символы.ПС) + СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(СписокОшибок, Символы.ПС); + Возврат ПояснениеОЗагрузке; КонецФункции @@ -458,7 +461,8 @@ |ИЗ | Справочник.Валюты КАК Валюты |ГДЕ - | Валюты.ЗагружаетсяИзИнтернета + | Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета) + | И НЕ Валюты.ПометкаУдаления | |УПОРЯДОЧИТЬ ПО | Валюты.НаименованиеПолное"; @@ -524,12 +528,17 @@ Запрос.Текст = "ВЫБРАТЬ | СпрВалюты.Ссылка, - | СпрВалюты.Наценка + | СпрВалюты.Наценка, + | СпрВалюты.СпособУстановкиКурса, + | СпрВалюты.ФормулаРасчетаКурса |ИЗ | Справочник.Валюты КАК СпрВалюты |ГДЕ - | СпрВалюты.ОсновнаяВалюта = &ВалютаБазовая"; + | (СпрВалюты.ОсновнаяВалюта = &ВалютаБазовая + | ИЛИ СпрВалюты.ФормулаРасчетаКурса ПОДОБНО &СимвольныйКод)"; + Запрос.УстановитьПараметр("ВалютаБазовая", ВалютаБазовая); + Запрос.УстановитьПараметр("СимвольныйКод", "%" + ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВалютаБазовая, "Наименование") + "%"); ЗависимыеВалюты = Запрос.Выполнить().Выгрузить(); @@ -563,6 +572,11 @@ Обработчик.Процедура = "РаботаСКурсамиВалют.ОбновитьСведенияОВалюте937"; Обработчик.РежимВыполнения = "Монопольно"; + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.3.10"; + Обработчик.Процедура = "РаботаСКурсамиВалют.ЗаполнитьСпособУстановкиКурсаВалют"; + Обработчик.РежимВыполнения = "Монопольно"; + КонецПроцедуры // Обработчик обновления формата хранения прописей при переходе на более новую версию БСП @@ -604,6 +618,22 @@ КонецЕсли; КонецПроцедуры +// Заполняет реквизит СпособУстановкиКурса у элементов справочника Валюты. +Процедура ЗаполнитьСпособУстановкиКурсаВалют() Экспорт + Выборка = Справочники.Валюты.Выбрать(); + Пока Выборка.Следующий() Цикл + Валюта = Выборка.Ссылка.ПолучитьОбъект(); + Если Валюта.ЗагружаетсяИзИнтернета Тогда + Валюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета; + ИначеЕсли Не Валюта.ОсновнаяВалюта.Пустая() Тогда + Валюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты; + Иначе + Валюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод; + КонецЕсли; + Валюта.Записать(); + КонецЦикла; +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обновление курсов валют @@ -617,7 +647,7 @@ |ИЗ | Справочник.Валюты КАК Валюты |ГДЕ - | Валюты.ЗагружаетсяИзИнтернета = ИСТИНА + | Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета) | И Валюты.ПометкаУдаления = ЛОЖЬ |; | @@ -649,7 +679,7 @@ |ИЗ | Справочник.Валюты КАК Валюты |ГДЕ - | Валюты.ЗагружаетсяИзИнтернета = ИСТИНА + | Валюты.СпособУстановкиКурса = ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.ЗагрузкаИзИнтернета) | И Валюты.ПометкаУдаления = ЛОЖЬ"; Возврат НЕ Запрос.Выполнить().Пустой(); КонецФункции @@ -687,7 +717,7 @@ // Обработчики условных вызовов в другие подсистемы // Обновляет связи между справочником валют и файлом поставляемых курсов -// в зависимости от флажка ЗагружаетсяИзИнтернета +// в зависимости от способа установки курса валют. // // Параметры: // Валюта - СправочникОбъект.Валюты diff --git a/SSL/src/CommonModules/РаботаСКурсамиВалютКлиентСервер/Module.bsl b/SSL/src/CommonModules/РаботаСКурсамиВалютКлиентСервер/Module.bsl index eed21016c..e2806e384 100644 --- a/SSL/src/CommonModules/РаботаСКурсамиВалютКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/РаботаСКурсамиВалютКлиентСервер/Module.bsl @@ -133,7 +133,7 @@ ПоясняющееСообщение = РаботаСКурсамиВалют.ЗагрузитьКурсВалютыИзФайла(Валюта.Валюта, Результат.Путь, НачалоПериодаЗагрузки, ОкончаниеПериодаЗагрузки) + Символы.ПС; #КонецЕсли УдалитьФайлы(Результат.Путь); - СтатусОперации = Истина; + СтатусОперации = ПустаяСтрока(ПоясняющееСообщение); Иначе ПоясняющееСообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Невозможно получить файл данных с курсами валюты (%1 - %2): diff --git a/SSL/src/CommonModules/РаботаСКурсамиВалютПереопределяемый/Module.bsl b/SSL/src/CommonModules/РаботаСКурсамиВалютПереопределяемый/Module.bsl index b42ccdd24..b09419d40 100644 --- a/SSL/src/CommonModules/РаботаСКурсамиВалютПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/РаботаСКурсамиВалютПереопределяемый/Module.bsl @@ -3,7 +3,7 @@ // //////////////////////////////////////////////////////////////////////////////// -#Область СлужебныеПроцедурыИФункции +#Область ПрограммныйИнтерфейс // Включает/отключает показ предупреждений о необходимости обновления курсов валют. // diff --git a/SSL/src/CommonModules/РаботаСПочтовымиСообщениямиСлужебный/Module.bsl b/SSL/src/CommonModules/РаботаСПочтовымиСообщениямиСлужебный/Module.bsl index b9986a6cd..646afc0b4 100644 --- a/SSL/src/CommonModules/РаботаСПочтовымиСообщениямиСлужебный/Module.bsl +++ b/SSL/src/CommonModules/РаботаСПочтовымиСообщениямиСлужебный/Module.bsl @@ -531,20 +531,31 @@ Результат = Неопределено; Если Выборка.Следующий() Тогда - СписокСвойств = ""; + СписокСвойствIMAP = "АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP,ПарольIMAP,ТолькоЗащищеннаяАутентификацияIMAP"; + СписокСвойствPOP3 = "АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь,Пароль,ТолькоЗащищеннаяАутентификацияPOP3"; + СписокСвойствSMTP = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,POP3ПередSMTP,ПользовательSMTP,ПарольSMTP,ТолькоЗащищеннаяАутентификацияSMTP"; + + ТребуемыеСвойства = Неопределено; + ИсключаемыеСвойства = Неопределено; + Если ДляПолучения Тогда Если Выборка.Протокол = "IMAP" Тогда - СписокСвойств = "АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP,ПарольIMAP,ТолькоЗащищеннаяАутентификацияIMAP"; + ТребуемыеСвойства = СписокСвойствIMAP; Иначе - СписокСвойств = "АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь,Пароль,ТолькоЗащищеннаяАутентификацияPOP3"; + ТребуемыеСвойства = СписокСвойствPOP3; КонецЕсли; Иначе - СписокСвойств = "АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,POP3ПередSMTP,ПользовательSMTP,ПарольSMTP,ТолькоЗащищеннаяАутентификацияSMTP"; + ТребуемыеСвойства = СписокСвойствSMTP; + КонецЕсли; + ТребуемыеСвойства = ТребуемыеСвойства + ",Таймаут"; + + Если Выборка.POP3ПередSMTP Тогда + ТребуемыеСвойства = Неопределено; + ИсключаемыеСвойства = СписокСвойствIMAP; КонецЕсли; - СписокСвойств = СписокСвойств + ",Таймаут"; Результат = Новый ИнтернетПочтовыйПрофиль; - ЗаполнитьЗначенияСвойств(Результат, Выборка, СписокСвойств); + ЗаполнитьЗначенияСвойств(Результат, Выборка, ТребуемыеСвойства, ИсключаемыеСвойства); КонецЕсли; Возврат Результат; @@ -742,6 +753,7 @@ Обработчик = Обработчики.Добавить(); Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "РаботаСПочтовымиСообщениямиСлужебный.ЗаполнитьСистемнуюУчетнуюЗапись"; + Обработчик.Версия = "1.0.0.1"; Обработчик = Обработчики.Добавить(); Обработчик.Процедура = "РаботаСПочтовымиСообщениямиСлужебный.ЗаполнитьНовыеРеквизитыУчетныхЗаписей"; diff --git a/SSL/src/CommonModules/РаботаСФайлами/Module.bsl b/SSL/src/CommonModules/РаботаСФайлами/Module.bsl index 01f3ad109..16752ffd5 100644 --- a/SSL/src/CommonModules/РаботаСФайлами/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайлами/Module.bsl @@ -5,13 +5,16 @@ #Область ПрограммныйИнтерфейс -// Создает карточку Файла в БД вместе с версией -// Параметры -// Владелец - владелец файла - будет установлен в реквизит ВладелецФайла у созданного файла -// ПутьКФайлуНаДиске - Строка - полный путь (включающий имя и расширение) к файлу на диске (файл должен находиться на сервере) +// Создает карточку Файла в БД вместе с версией. +// +// Параметры: +// Владелец - Ссылка - владелец файла, который будет установлен в реквизит ВладелецФайла у созданного файла. +// +// ПутьКФайлуНаДиске - Строка - полный путь к файлу на диске, включающий имя и расширение файла. +// Файл должен находиться на сервере. // // Возвращаемое значение: -// СправочникСсылка.Файлы - созданный файл +// СправочникСсылка.Файлы - созданный файл. // Функция СоздатьФайлНаОсновеФайлаНаДиске(Владелец, ПутьКФайлуНаДиске) Экспорт @@ -48,7 +51,14 @@ КонецФункции -// Обработчик события ПриЗаписи. Определен для объектов (кроме Документ), владельцев Файла. +// Обработчик события ПередЗаписью объектов-владельцев файлов. +// Определен для объектов, кроме Документ. +// +// Параметры: +// Источник - Объект - стандартный параметр события ПередЗаписью, например, СправочникОбъект. +// Исключение - ДокументОбъект. +// Отказ - Булево - стандартный параметр события ПередЗаписью. +// Процедура УстановитьПометкуУдаленияФайловПередЗаписью(Источник, Отказ) Экспорт Если Источник.ОбменДанными.Загрузка Тогда @@ -61,7 +71,15 @@ КонецПроцедуры -// Обработчик события ПриЗаписи. Определен для объектов типа Документ, владельцев Файла. +// Обработчик события ПередЗаписью объектов-владельцев файлов. +// Определен только для объектов Документ. +// +// Параметры: +// Источник - ДокументОбъект - стандартный параметр события ПередЗаписью. +// Отказ - Булево - стандартный параметр события ПередЗаписью. +// РежимЗаписи - РежимЗаписиДокумента - стандартный параметр события ПередЗаписью. +// РежимПроведения - РежимПроведенияДокумента - стандартный параметр события ПередЗаписью. +// Процедура УстановитьПометкуУдаленияФайловДокументовПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Если Источник.ОбменДанными.Загрузка Тогда @@ -74,6 +92,10 @@ КонецПроцедуры +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // Вспомогательные процедуры и функции @@ -108,6 +130,6 @@ ФайлОбъект.УстановитьПометкуУдаления(ПометкаУдаления); КонецЦикла; -КонецПроцедуры +КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonModules/РаботаСФайламиКлиент/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиКлиент/Module.bsl index 74a497f0c..83a1f0bf1 100644 --- a/SSL/src/CommonModules/РаботаСФайламиКлиент/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиКлиент/Module.bsl @@ -34,6 +34,10 @@ // Команды работы с файлами // Открывает файл для просмотра. +// +// Параметры: +// ДанныеФайла - Структура - структура с данными файла. +// Процедура Открыть(ДанныеФайла) Экспорт РаботаСФайламиСлужебныйКлиент.ОткрытьФайлСОповещением(Неопределено, ДанныеФайла); @@ -41,6 +45,10 @@ КонецПроцедуры // Открывает каталог на локальном компьютере в котором размещен этот файл. +// +// Параметры: +// ДанныеФайла - Структура - структура с данными файла. +// Процедура ОткрытьКаталогФайла(ДанныеФайла) Экспорт РаботаСФайламиСлужебныйКлиент.КаталогФайла(Неопределено, ДанныеФайла); @@ -50,29 +58,27 @@ // Создает новый файл интерактивно. // // Параметры: -// ОбработчикРезультата - ОписаниеОповещения - Необязательный. Описание процедуры, принимающей результат работы метода. -// ВладелецФайла - ЛюбаяСсылка - Необязательный. Определяет группу, в которой создается Элемент. -// Если группа неизвестна в момент вызова этого метода - там будет Неопределено. -// ФормаВладелец - УправляемаяФорма - Необязательный. Форма, из которой вызвано создание файла. -// РежимСоздания - Необязательный. Режим создания файла. -// - Неопределено - Значение по умолчанию. Показать диалог выбора режима создания файла. +// ОбработчикРезультата - ОписаниеОповещения - Необязательный. Описание процедуры, принимающей +// результат работы метода. +// +// ВладелецФайла - ЛюбаяСсылка - определяет группу, в которой создается Элемент. +// Если группа неизвестна в момент вызова этого метода - там будет Неопределено. +// +// ФормаВладелец - УправляемаяФорма - форма, из которой вызвано создание файла. +// +// РежимСоздания - режим создания файла: +// - Неопределено - значение по умолчанию. Показать диалог выбора режима создания файла. // - Число - Создать файл указанным способом: // * 1 - из шаблона (копированием другого файла), // * 2 - с диска (из файловой системы клиента), // * 3 - со сканера. -// НеОткрыватьКарточку - Булево - Необязательный. Действие после создания. +// +// НеОткрыватьКарточку - Булево - действие после создания: // * Ложь - Значение по умолчанию. Открывать карточку файла после создания. // * Истина - Не открывать карточку файла после создания. // -// Возвращаемое значение: -// Неопределено -// -Процедура ДобавитьФайл( - ОбработчикРезультата = Неопределено, - ВладелецФайла = Неопределено, - ФормаВладелец = Неопределено, - РежимСоздания = Неопределено, - НеОткрыватьКарточку = Ложь) Экспорт +Процедура ДобавитьФайл(ОбработчикРезультата = Неопределено, ВладелецФайла = Неопределено, + ФормаВладелец = Неопределено, РежимСоздания = Неопределено, НеОткрыватьКарточку = Ложь) Экспорт Если РежимСоздания = Неопределено Тогда РаботаСФайламиСлужебныйКлиент.ДобавитьФайл(ОбработчикРезультата, ВладелецФайла, ФормаВладелец, , НеОткрыватьКарточку); @@ -98,34 +104,34 @@ КонецПроцедуры // Задает вопрос о продолжении закрытия формы если в форме остались захваченные файлы. -// Вызывается из ПередЗакрытием форм с файлами. +// Вызывается из ПередЗакрытием форм с файлами. +// +// По ссылке объекта проверяет остались ли захваченные файлы. +// Если захваченные файлы остались: +// - В параметре Отказ устанавливается значение Истина, +// - Пользователю задается вопрос. +// Если пользователь ответил утвердительно, тогда форма снова закрывается. // // Параметры: -// Форма - УправляемаяФорма - Форма, в которой можно редактировать файл. -// Отказ - Булево - Параметр события ПередЗакрытием. -// ОбъектСсылка - ЛюбаяСсылка - Ссылка владельца файла. -// ИмяРеквизита - Строка - Необязательный. Имя реквизита типа Булево, -// в котором хранится признак того, что вопрос уже выводился. +// Форма - УправляемаяФорма - форма, в которой можно редактировать файл. +// Отказ - Булево - параметр события ПередЗакрытием. +// ОбъектСсылка - ЛюбаяСсылка - ссылка на владельца файла. +// ИмяРеквизита - Строка - имя реквизита типа Булево, в котором хранится признак того, +// что вопрос уже выводился. // -// Описание: -// По ссылке объекта проверяет остались ли захваченные файлы. -// Если захваченные файлы остались: -// - В параметре Отказ устанавливается значение Истина, -// - Пользователю задается вопрос. -// Если пользователь ответил утвердительно, тогда форма снова закрывается. -// -// Например: -// &НаКлиенте -// Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) -// РаботаСФайламиКлиент.ПоказатьПодтверждениеЗакрытияФормыСФайлами(ЭтотОбъект, Отказ, Объект.Ссылка); -// // <Если есть другой код:> -// Если Отказ Тогда -// Возврат; -// КонецЕсли; -// // <Другой прикладной код...> -// КонецПроцедуры +// Пример: +// &НаКлиенте +// Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) +// РаботаСФайламиКлиент.ПоказатьПодтверждениеЗакрытияФормыСФайлами(ЭтотОбъект, Отказ, Объект.Ссылка); +// // <Если есть другой код:> +// Если Отказ Тогда +// Возврат; +// КонецЕсли; +// // <Другой прикладной код...> +// КонецПроцедуры // Процедура ПоказатьПодтверждениеЗакрытияФормыСФайлами(Форма, Отказ, ОбъектСсылка, ИмяРеквизита = "МожноЗакрытьФормуСФайлами") Экспорт + Если Форма[ИмяРеквизита] Тогда Возврат; КонецЕсли; @@ -140,6 +146,7 @@ | |Продолжить?'"); ОбщегоНазначенияКлиент.ПоказатьПодтверждениеЗакрытияПроизвольнойФормы(Форма, Отказ, ТекстВопроса, ИмяРеквизита); + КонецПроцедуры // Копирует существующий файл. diff --git a/SSL/src/CommonModules/РаботаСФайламиКлиентПереопределяемый/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиКлиентПереопределяемый/Module.bsl index 1694dd4f6..84d95cc43 100644 --- a/SSL/src/CommonModules/РаботаСФайламиКлиентПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиКлиентПереопределяемый/Module.bsl @@ -5,10 +5,11 @@ #Область ПрограммныйИнтерфейс -// Вызывается при ошибке захвате файла -// Параметры -// ДанныеФайла - Структура - структура с данными файла -// СтандартнаяОбработка - Булево - уникальный идентификатор формы +// Вызывается при ошибке захвате файла. +// +// Параметры: +// ДанныеФайла - Структура - структура с данными файла. +// СтандартнаяОбработка - Булево - уникальный идентификатор формы. // Процедура ПриОшибкеЗахватаФайла(ДанныеФайла, СтандартнаяОбработка) Экспорт diff --git a/SSL/src/CommonModules/РаботаСФайламиКлиентСервер/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиКлиентСервер/Module.bsl index f71952c33..4eed85997 100644 --- a/SSL/src/CommonModules/РаботаСФайламиКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиКлиентСервер/Module.bsl @@ -5,7 +5,16 @@ #Область ПрограммныйИнтерфейс -// Определяет, можно ли занять файл и, если нет, то формирует строку ошибки +// Определяет, можно ли занять файл и, если нет, то формирует строку ошибки. +// +// Параметры: +// ДанныеФайла - Структура - структура с данными файла. +// СтрокаОшибки - Строка - (возвращаемое значение) - если файл занять нельзя, +// тогда содержит описание ошибки. +// +// Возвращаемое значение: +// Булево - если Истина, тогда текущий пользователь может занять файл или +// файл уже занят текущим пользователем. // Функция МожноЛиЗанятьФайл(ДанныеФайла, СтрокаОшибки = "") Экспорт @@ -39,17 +48,17 @@ // Создает элемент справочника Файлы Функция СоздатьЭлементСправочникаФайлы( - ВыбранныйФайл, - МассивСтруктурВсехФайлов, - Владелец, - ИдентификаторФормы, - Комментарий, - ХранитьВерсии, - ДобавленныеФайлы, - АдресВременногоХранилищаФайла, - АдресВременногоХранилищаТекста, - Пользователь = Неопределено, - Кодировка = Неопределено) Экспорт + ВыбранныйФайл, + МассивСтруктурВсехФайлов, + Владелец, + ИдентификаторФормы, + Комментарий, + ХранитьВерсии, + ДобавленныеФайлы, + АдресВременногоХранилищаФайла, + АдресВременногоХранилищаТекста, + Пользователь = Неопределено, + Кодировка = Неопределено) Экспорт ИмяБезРасширения = ВыбранныйФайл.ИмяБезРасширения; Расширение = ВыбранныйФайл.Расширение; @@ -91,6 +100,14 @@ КонецФункции // Получает имя сканированного файла, вида ДМ-00000012, где ДМ - префикс базы +// +// Параметры: +// НомерФайла - Число - целое число, например, 12. +// ПрефиксБазы - Строка - префикс базы, например, "ДМ". +// +// Возвращаемое значение: +// Строка - имя сканированного файла, например, "ДМ-00000012". +// Функция ПолучитьИмяСканированногоФайла(НомерФайла, ПрефиксБазы) Экспорт ИмяФайла = ""; @@ -102,6 +119,6 @@ Возврат ИмяФайла; -КонецФункции +КонецФункции #КонецОбласти diff --git a/SSL/src/CommonModules/РаботаСФайламиПереопределяемый/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиПереопределяемый/Module.bsl index 26beb835f..bf1dc1ce1 100644 --- a/SSL/src/CommonModules/РаботаСФайламиПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиПереопределяемый/Module.bsl @@ -8,57 +8,70 @@ // Можно ли занять данный файл. // // Параметры: -// ДанныеФайла - Структура с данными файла. -// СтрокаОшибки - строка, содержащая текст ошибки в случае невозможности занять. +// ДанныеФайла - Структура - с данными файла. +// ОписаниеОшибки - Строка - содержащая текст ошибки в случае невозможности занять. +// Если не пустая, тогда файл невозможно занять. // -// Возвращаемое значение: -// Булево. -Функция ВозможноЗанятьФайл(ДанныеФайла, СтрокаОшибки = "") Экспорт +Процедура ПриПопыткеЗанятьФайл(ДанныеФайла, ОписаниеОшибки = "") Экспорт - Возврат Истина; -КонецФункции - -// Вызывается при создании файла -// Параметры -// ДанныеФайла - СправочникСсылка.Файлы - ссылка на созданный файл -// см. функцию РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла() -// -Процедура ПриСозданииФайла(ДанныеФайла) Экспорт КонецПроцедуры -// Вызывается после копирования файла из исходного файла -// для заполнения таких реквизитов нового файла, которые не -// предусмотрены в БСП и были добавлены к справочнику Файлы или -// ВерсииФайлов в конфигурации. +// Вызывается при создании файла. // // Параметры: -// НовыйФайл - СправочникСсылка.Файлы - ссылка на новый файл, который надо заполнить -// ИсходныйФайл - СправочникСсылка.Файлы - ссылка на исходный файл, откуда надо скопировать реквизиты +// Файл - СправочникСсылка.Файлы - ссылка на созданный файл. +// +Процедура ПриСозданииФайла(Файл) Экспорт + +КонецПроцедуры + +// Вызывается после копирования файла из исходного файла для заполнения таких реквизитов нового файла, +// которые не предусмотрены в БСП и были добавлены к справочнику Файлы или ВерсииФайлов в конфигурации. +// +// Параметры: +// НовыйФайл - СправочникСсылка.Файлы - ссылка на новый файл, который надо заполнить. +// ИсходныйФайл - СправочникСсылка.Файлы - ссылка на исходный файл, откуда надо скопировать реквизиты. // Процедура ЗаполнитьРеквизитыФайлаИзИсходногоФайла(НовыйФайл, ИсходныйФайл) Экспорт КонецПроцедуры -// Вызывается при захвате файла -// Параметры -// ДанныеФайла - структура, содержащая сведения о Файле -// см. функцию РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла() -// УникальныйИдентификатор - уникальный идентификатор формы +// Вызывается при захвате файла. +// +// Параметры: +// ДанныеФайла - Структура - содержащая сведения о файле +// см. функцию РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла(). +// +// УникальныйИдентификатор - уникальный идентификатор формы. // Процедура ПриЗахватеФайла(ДанныеФайла, УникальныйИдентификатор) Экспорт КонецПроцедуры -// Вызывается при освобождении файла -// Параметры -// ДанныеФайла - структура, содержащая сведения о Файле -// см. функцию РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла() -// УникальныйИдентификатор - уникальный идентификатор формы +// Вызывается при освобождении файла. +// +// Параметры: +// ДанныеФайла - Структура - содержащая сведения о файле +// см. функцию РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайла(). +// +// УникальныйИдентификатор - уникальный идентификатор формы. // Процедура ПриОсвобожденииФайла(ДанныеФайла, УникальныйИдентификатор) Экспорт КонецПроцедуры #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Устарела. Будет удалена в следующей редакции БСП. +// Следует использовать процедуру ПриПопыткеЗанятьФайл. +Функция ВозможноЗанятьФайл(ДанныеФайла, СтрокаОшибки = "") Экспорт + + Возврат Истина; + +КонецФункции + +#КонецОбласти diff --git a/SSL/src/CommonModules/РаботаСФайламиСлужебный/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиСлужебный/Module.bsl index 9b1138b9e..94ae27a2c 100644 --- a/SSL/src/CommonModules/РаботаСФайламиСлужебный/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиСлужебный/Module.bsl @@ -39,7 +39,7 @@ "РаботаСФайламиСлужебный"); СерверныеОбработчики["СтандартныеПодсистемы.ФайловыеФункции\ПриОпределенииТекстаЗапросаДляИзвлеченияТекста"].Добавить( - "РаботаСФайламиСлужебный"); + "РаботаСФайламиСлужебныйВызовСервера"); СерверныеОбработчики["СтандартныеПодсистемы.ФайловыеФункции\ПриОпределенииКоличестваВерсийСНеизвлеченнымТекстом"].Добавить( "РаботаСФайламиСлужебный"); @@ -648,14 +648,6 @@ КонецПроцедуры -// Возвращает текст запроса для извлечения текста -// -Процедура ПриОпределенииТекстаЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы = Ложь) Экспорт - - РаботаСФайламиСлужебныйВызовСервера.ПолучитьТекстЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы); - -КонецПроцедуры - // Возвращает число файлов с неизвлеченным текстом // Процедура ПриОпределенииКоличестваВерсийСНеизвлеченнымТекстом(ЧислоВерсий) Экспорт @@ -670,7 +662,7 @@ Процедура ПриЗаписиИзвлеченногоТекста(ФайлОбъект) Экспорт Если ЭтоЭлементРаботаСФайлами(ФайлОбъект) Тогда - РаботаСФайламиСлужебныйВызовСервера.ЗаписатьИзвлеченныйТекст(ФайлОбъект); + РаботаСФайламиСлужебныйВызовСервера.ПриЗаписиИзвлеченногоТекста(ФайлОбъект); КонецЕсли; КонецПроцедуры diff --git a/SSL/src/CommonModules/РаботаСФайламиСлужебныйВызовСервера/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиСлужебныйВызовСервера/Module.bsl index b8d726ff7..d9b8c7f14 100644 --- a/SSL/src/CommonModules/РаботаСФайламиСлужебныйВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиСлужебныйВызовСервера/Module.bsl @@ -128,11 +128,14 @@ // Функция ЗанятьФайл(ДанныеФайла, СтрокаОшибки = "", УникальныйИдентификатор = Неопределено) Экспорт - ВозможноЗанять = Истина; - ВозможноЗанять = РаботаСФайламиПереопределяемый.ВозможноЗанятьФайл(ДанныеФайла, СтрокаОшибки); + Если Не РаботаСФайламиПереопределяемый.ВозможноЗанятьФайл(ДанныеФайла, СтрокаОшибки) Тогда + Возврат Ложь; + КонецЕсли; - Если Не ВозможноЗанять Тогда + ОписаниеОшибки = ""; + РаботаСФайламиПереопределяемый.ПриПопыткеЗанятьФайл(ДанныеФайла, ОписаниеОшибки); + Если Не ПустаяСтрока(ОписаниеОшибки) Тогда Возврат Ложь; КонецЕсли; @@ -4234,11 +4237,19 @@ КонецПроцедуры -// Получает текст запроса для извлечения текста -// Параметры -// ТекстЗапроса - Строка - текст запроса для извлечения текста +// Заполняет текст запроса для получения файлов у которых не извлечен текст. +// В качестве параметра может прийти другой запрос, с которым следует сделать объединение. // -Процедура ПолучитьТекстЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы = Ложь) Экспорт +// Параметры: +// ТекстЗапроса - Строка (возвращаемое значение), варианты передаваемых значений: +// Пустая строка - будет возвращен требуемый текст запроса. +// Непустая строка - будет возвращен требуемый текст запроса, добавленный +// к переданному тексту посредством "ОБЪЕДИНИТЬ ВСЕ". +// +// ПолучитьВсеФайлы - Булево - начальное значение Ложь. Позволяет отключить выборку +// файлов по частям, если передать Истина. +// +Процедура ПриОпределенииТекстаЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы = Ложь) Экспорт ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 100 @@ -4296,7 +4307,7 @@ // Параметры: // ТекущаяВерсия - СправочникСсылка.ВерсииФайлов - версия файла. // -Процедура ЗаписатьИзвлеченныйТекст(ТекущаяВерсия) Экспорт +Процедура ПриЗаписиИзвлеченногоТекста(ТекущаяВерсия) Экспорт ФайлЗаблокирован = Ложь; @@ -4312,11 +4323,13 @@ НачатьТранзакцию(); Попытка + ТекущаяВерсия.ОбменДанными.Загрузка = Истина; ТекущаяВерсия.Записать(); Если Файл.ТекущаяВерсия = ТекущаяВерсия.Ссылка Тогда ФайлОбъект = Файл.ПолучитьОбъект(); ФайлОбъект.ТекстХранилище = ТекущаяВерсия.ТекстХранилище; + ФайлОбъект.ОбменДанными.Загрузка = Истина; ФайлОбъект.Записать(); КонецЕсли; diff --git a/SSL/src/CommonModules/РаботаСФайламиСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/РаботаСФайламиСлужебныйКлиент/Module.bsl index 4335cc2d8..e8a475b98 100644 --- a/SSL/src/CommonModules/РаботаСФайламиСлужебныйКлиент/Module.bsl +++ b/SSL/src/CommonModules/РаботаСФайламиСлужебныйКлиент/Module.bsl @@ -22,8 +22,13 @@ КонецПроцедуры -// Добавляет предупреждения пользователю при завершении работы программы. +// Формирует список предупреждений для пользователя при завершении работы программы. +// +// Параметры: +// см. ПриПолученииСпискаПредупрежденийЗавершенияРаботы +// Процедура ПриЗавершенииРаботыСистемы(Предупреждения) Экспорт + Ответ = ПроверитьЗанятыеФайлыПриЗавершенииРаботы(); Если Ответ = Неопределено Тогда Возврат; @@ -33,40 +38,34 @@ Возврат; КонецЕсли; - // Инициализация формы индивидуального открытия и ее параметров. + ПредупреждениеПользователю = СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы(); + ПредупреждениеПользователю.ТекстГиперссылки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Открыть список редактируемых файлов (%1)'"), + Ответ.КоличествоЗанятыхФайлов); + + ДействиеПриНажатииГиперссылки = ПредупреждениеПользователю.ДействиеПриНажатииГиперссылки; + ПрикладнаяФормаПредупреждения = Неопределено; Ответ.Свойство("ПрикладнаяФормаПредупреждения", ПрикладнаяФормаПредупреждения); ПараметрыПрикладнойФормыПредупреждения = Неопределено; Ответ.Свойство("ПараметрыПрикладнойФормыПредупреждения", ПараметрыПрикладнойФормыПредупреждения); - // Инициализация формы открытия из списка и ее параметров. Форма = Неопределено; Ответ.Свойство("Форма", Форма); ПараметрыФормы = Неопределено; Ответ.Свойство("ПараметрыФормы", ПараметрыФормы); - КоличествоЗанятыхФайлов = Ответ.КоличествоЗанятыхФайлов; - - ТекстГиперСсылки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Открыть список редактируемых файлов (%1)'"), - КоличествоЗанятыхФайлов); - - ДействиеПриНажатииГиперссылки = Новый Структура; Если ПрикладнаяФормаПредупреждения <> Неопределено Тогда - ДействиеПриНажатииГиперссылки.Вставить("ПрикладнаяФормаПредупреждения", ПрикладнаяФормаПредупреждения); - ДействиеПриНажатииГиперссылки.Вставить("ПараметрыПрикладнойФормыПредупреждения", ПараметрыПрикладнойФормыПредупреждения); + ДействиеПриНажатииГиперссылки.ПрикладнаяФормаПредупреждения = ПрикладнаяФормаПредупреждения; + ДействиеПриНажатииГиперссылки.ПараметрыПрикладнойФормыПредупреждения = ПараметрыПрикладнойФормыПредупреждения; КонецЕсли; Если Форма <> Неопределено Тогда - ДействиеПриНажатииГиперссылки.Вставить("Форма", Форма); - ДействиеПриНажатииГиперссылки.Вставить("ПараметрыФормы", ПараметрыФормы); + ДействиеПриНажатииГиперссылки.Форма = Форма; + ДействиеПриНажатииГиперссылки.ПараметрыФормы = ПараметрыФормы; КонецЕсли; - ПредупреждениеПользователю = Новый Структура; - ПредупреждениеПользователю.Вставить("ТекстГиперСсылки", ТекстГиперСсылки); - ПредупреждениеПользователю.Вставить("ДействиеПриНажатииГиперссылки", ДействиеПриНажатииГиперссылки); - ПредупреждениеПользователю.Вставить("Приоритет", 70); - Предупреждения.Добавить(ПредупреждениеПользователю); + КонецПроцедуры #КонецОбласти @@ -503,12 +502,29 @@ ПомещаемыеФайлы.Добавить(Описание); ПомещенныеФайлы = Новый Массив; - ФайлыПомещены = ПоместитьФайлы( + Попытка + ФайлыПомещены = ПоместитьФайлы( ПомещаемыеФайлы, ПомещенныеФайлы, , Интерактивно, ПараметрыВыполнения.ИдентификаторФормы); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + + ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не удалось поместить файл в хранилище файлов по причине: + |""%1"". + | + |Повторить операцию?'"), + КраткоеПредставлениеОшибки(ИнформацияОбОшибке)); + + Оповещение = Новый ОписаниеОповещения("ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрованПовтор", ЭтотОбъект, ПараметрыВыполнения); + ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ПовторитьОтмена); + Возврат; + КонецПопытки; + + Состояние(); Если Не ФайлыПомещены Тогда ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, Ложь); @@ -609,6 +625,15 @@ КонецПроцедуры +// Продолжение процедуры (см. выше). +// +Процедура ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрованПовтор(Результат, Параметр) Экспорт + Если Результат = КодВозвратаДиалога.Повторить Тогда + ЗакончитьРедактированиеСРасширениемПослеПроверкиЗашифрован(Параметр); + КонецЕсли; +КонецПроцедуры + + // Продолжение процедуры (см. выше). Процедура ЗакончитьРедактированиеСРасширениемПослеУдаленияФайлаИзРабочегоКаталога(Результат, ПараметрыВыполнения) Экспорт @@ -1198,6 +1223,8 @@ КонецЕсли; КонецЕсли; + ПараметрыВыполнения.Вставить("РедактируетТекущийПользователь", ПараметрыВыполнения.ДанныеФайла.РедактируетТекущийПользователь); + Если Не ПараметрыВыполнения.ДанныеФайла.РедактируетТекущийПользователь Тогда ТекстОшибки = ""; @@ -1242,7 +1269,7 @@ ПереданныйПолныйПутьКФайлу = ""; Обработчик = Новый ОписаниеОповещения("ОбновитьИзФайлаНаДискеПослеЗавершенияРедактирования", ЭтотОбъект, ПараметрыВыполнения); - Если ПараметрыВыполнения.ДанныеФайла.РедактируетТекущийПользователь Тогда // Файл уже был занят. + Если ПараметрыВыполнения.РедактируетТекущийПользователь Тогда // Файл уже был занят. ОпубликоватьФайл( Обработчик, ПараметрыВыполнения.ДанныеФайла.Ссылка, @@ -7345,7 +7372,12 @@ ДвоичныеДанные = Новый ДвоичныеДанные(ИмяОткрываемогоФайла); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные); + #Если ТолстыйКлиентОбычноеПриложение Тогда + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.Прочитать(ИмяОткрываемогоФайла); + #Иначе ТабличныйДокумент = ФайловыеФункцииСлужебныйВызовСервера.ТабличныйДокументИзВременногоХранилища(Адрес); + #КонецЕсли ЗаголовокСтрока = ОбщегоНазначенияКлиентСервер.ПолучитьИмяСРасширением( ДанныеФайла.ПолноеНаименованиеВерсии, ДанныеФайла.Расширение); @@ -7673,22 +7705,8 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: -// Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: -// ТекстФлажка - Строка - текст флажка. -// ПоясняющийТекст - Строка - текст, выводимый в форме сверху -// управляющего элемента (флажок или гиперссылка). -// ТекстГиперссылки - Строка - текст гиперссылки. -// ДействиеПриУстановленномФлажке - Структура с полями: -// Форма - путь к открываемой форме. -// ПараметрыФормы - произвольная структура параметров формы Форма. -// ДействиеПриНажатииГиперссылки - Структура с полями: -// Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. -// ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. -// ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу -// вместо универсальной формы в случае, когда в списке -// предупреждений оказывается только одно данное предупреждение. -// ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура -// параметров для вышеописанной формы. +// Предупреждения - Массив - в массив можно добавить элементы типа Структура, +// свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт diff --git a/SSL/src/CommonModules/РассылкаОтчетов/Module.bsl b/SSL/src/CommonModules/РассылкаОтчетов/Module.bsl index aca67410b..fef3de037 100644 --- a/SSL/src/CommonModules/РассылкаОтчетов/Module.bsl +++ b/SSL/src/CommonModules/РассылкаОтчетов/Module.bsl @@ -251,8 +251,8 @@ // Дополнительно используется для определения принадлежности отчета к СКД. // - ПользовательскиеНастройкиКомпоновкиДанных - Табличный документ сформируется механизмами СКД. // - Структура - Табличный документ сформируется при помощи метода "Сформировать()". -// *** Ключ - Строка - Имя реквизита объекта отчета -// *** Значение - * - Значение реквизита объекта отчета +// *** Ключ - Строка - Имя реквизита объекта отчета +// *** Значение - Произвольный - Значение реквизита объекта отчета // - Неопределено - Настройки по умолчанию. Для определения принадлежности к СКД // будет использован реквизит объекта "СхемаКомпоновкиДанных". // * Форматы - Массив из ПеречислениеСсылка.ФорматыСохраненияОтчетов - @@ -453,7 +453,7 @@ ПараметрыДоставки.ВыполненаПоЭлектроннойПочте = Истина; Исключение ЗаписьЖурнала(ПараметрыЖурнала, , - НСтр("ru = 'Ошибка отправки отчетов получателю %1:'"), ИнформацияОбОшибке(), + НСтр("ru = 'Не удалось отправить отчеты получателю %1:'"), ИнформацияОбОшибке(), "'"+ Строка(СтрокаПолучатель.Ключ) +"'"); КонецПопытки; @@ -687,13 +687,13 @@ ТекстСообщения = ""; Для Каждого СтрокаТаблицы Из ТаблицаРассылок Цикл Если НЕ СтрокаТаблицы.Подготовлена Тогда - ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" не подготовлена'"); + ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" не подготовлена.'"); ИначеЕсли НЕ СтрокаТаблицы.Выполнена Тогда - ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" не выполнена'"); + ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" не выполнена.'"); ИначеЕсли СтрокаТаблицы.СОшибками Тогда - ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" выполнена с ошибками'"); + ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" выполнена с ошибками.'"); Иначе - ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" выполнена'"); + ШаблонСообщения = НСтр("ru = 'Рассылка ""%1"" выполнена.'"); КонецЕсли; ШаблонСообщения = СтрЗаменить(ШаблонСообщения, "%1", СтрокаТаблицы.Представление); @@ -806,6 +806,9 @@ Если Не ЗначениеЗаполнено(Форма.ВариантСсылка) Тогда Возврат; КонецЕсли; + Если Не ПравоДоступа("Изменение", Метаданные.Справочники.РассылкиОтчетов) Тогда + Возврат; + КонецЕсли; // Добавление команд и кнопок КомандаСоздать = Форма.Команды.Добавить("РассылкаОтчетовСоздатьНовую"); @@ -1266,9 +1269,6 @@ КомпоновщикНастроекКД.ЗагрузитьПользовательскиеНастройки(ПараметрыОтчета.Настройки); КонецЕсли; - //// Восстановление работоспособности настроек - //КомпоновщикНастроекКД.Восстановить(); - // Персональные отборы Если ПерсонализацияВозможна Тогда ПользовательскиеНастройкиКД = КомпоновщикНастроекКД.ПользовательскиеНастройки; @@ -1618,10 +1618,10 @@ Если ПараметрыДоставки.ИспользоватьЭлектроннуюПочту Тогда Если ПараметрыДоставки.ТолькоУведомить Тогда - ШаблонСообщенияОбОшибке = НСтр("ru = 'Ошибка отправки уведомлений по электронной почте:'"); + ШаблонСообщенияОбОшибке = НСтр("ru = 'Невозможно отправить уведомление о рассылке по электронной почте:'"); ВложенияПисьма = Новый Соответствие; Иначе - ШаблонСообщенияОбОшибке = НСтр("ru = 'Ошибка отправки отчетов по электронной почте:'"); + ШаблонСообщенияОбОшибке = НСтр("ru = 'Невозможно отправить отчет по электронной почте:'"); ВложенияПисьма = Вложения; КонецЕсли; @@ -1839,7 +1839,7 @@ СтрокаОтчет.Значение = Результат.ТабДок; СтрокаОтчет.Настройки = ПараметрыОтчета; - ПредставлениеОтчета = СокрЛП(СтрокаОтчет.Ключ) + " ([ПредставлениеФорматов])"; + ПредставлениеОтчета = СокрЛП(СтрокаОтчет.Ключ);// + " ([ПредставлениеФорматов])"; // Сохранение табличного документа в форматы ПредставлениеФорматов = ""; diff --git a/SSL/src/CommonModules/РегламентированныеДанныеКлиентСервер/Module.bsl b/SSL/src/CommonModules/РегламентированныеДанныеКлиентСервер/Module.bsl index c232a3e7a..ef19dbdc4 100644 --- a/SSL/src/CommonModules/РегламентированныеДанныеКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/РегламентированныеДанныеКлиентСервер/Module.bsl @@ -260,12 +260,11 @@ // ПроверяемыйКод - Строка - проверяемый код ОКПО; // ЭтоЮрЛицо - Булево - признак, является ли владелец кода ОКПО юридическим лицом; // ТекстСообщения - Строка - текст сообщения о найденных ошибках в проверяемом коде ОКПО; -// ОтбрасыватьВедущиеНули - Булево - (не используется) признак необходимости проверки кода физического лица без ведущих нулей. // // Возвращаемое значение: // Булево. // -Функция КодПоОКПОСоответствуетТребованиям(Знач ПроверяемыйКод, ЭтоЮрЛицо, ТекстСообщения = "", ОтбрасыватьВедущиеНули = Ложь) Экспорт +Функция КодПоОКПОСоответствуетТребованиям(Знач ПроверяемыйКод, ЭтоЮрЛицо, ТекстСообщения = "") Экспорт ПроверяемыйКод = СокрЛП(ПроверяемыйКод); ТекстСообщения = ""; diff --git a/SSL/src/CommonModules/РегламентныеЗаданияСервер/Module.bsl b/SSL/src/CommonModules/РегламентныеЗаданияСервер/Module.bsl index 5fd0ffd31..fa26ed97e 100644 --- a/SSL/src/CommonModules/РегламентныеЗаданияСервер/Module.bsl +++ b/SSL/src/CommonModules/РегламентныеЗаданияСервер/Module.bsl @@ -6,18 +6,17 @@ #Область ПрограммныйИнтерфейс // Возвращает использование регламентного задания. -// Перед вызовом требуется иметь право Администрирования -// или УстановитьПривилегированныйРежим. +// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим. // // Параметры: -// Идентификатор - ОбъектМетаданных регламентного задания для поиска +// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска // предопределенного регламентного задания. -// - УникальныйИдентификатор регламентного задания. -// - Строка уникального идентификатора регламентного задания. -// - РегламентноеЗадание. +// - УникальныйИдентификатор - идентификатор регламентного задания. +// - Строка - строка уникального идентификатора регламентного задания. +// - РегламентноеЗадание - регламентное задание. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, регламентное задание используется. // Функция ПолучитьИспользованиеРегламентногоЗадания(Знач Идентификатор) Экспорт @@ -31,17 +30,16 @@ КонецФункции // Устанавливает использование регламентного задания. -// Перед вызовом требуется иметь право Администрирования -// или УстановитьПривилегированныйРежим. +// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим. // // Параметры: -// Идентификатор - ОбъектМетаданных регламентного задания для поиска +// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска // предопределенного регламентного задания. -// - УникальныйИдентификатор регламентного задания. -// - Строка уникального идентификатора регламентного задания. -// - РегламентноеЗадание. +// - УникальныйИдентификатор - идентификатор регламентного задания. +// - Строка - строка уникального идентификатора регламентного задания. +// - РегламентноеЗадание - регламентное задание. // -// Использование - Булево. +// Использование - Булево - значение использования которое нужно установить. // Процедура УстановитьИспользованиеРегламентногоЗадания(Знач Идентификатор, Знач Использование) Экспорт @@ -59,21 +57,20 @@ КонецПроцедуры // Возвращает расписание регламентного задания. -// Перед вызовом требуется иметь право Администрирования -// или УстановитьПривилегированныйРежим. +// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим. // // Параметры: -// Идентификатор - ОбъектМетаданных регламентного задания для поиска +// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска // предопределенного регламентного задания. -// - УникальныйИдентификатор регламентного задания. -// - Строка уникального идентификатора регламентного задания. -// - РегламентноеЗадание. +// - УникальныйИдентификатор - идентификатор регламентного задания. +// - Строка - строка уникального идентификатора регламентного задания. +// - РегламентноеЗадание - регламентное задание. // -// ВСтруктуре - Булево, если Истина, тогда расписание будет преобразовано +// ВСтруктуре - Булево - если Истина, тогда расписание будет преобразовано // в структуру, которую можно передать на клиент. // // Возвращаемое значение: -// Булево. +// РасписаниеРегламентногоЗадания, Структура - структура содержит те же свойства, что и расписание. // Функция ПолучитьРасписаниеРегламентногоЗадания(Знач Идентификатор, Знач ВСтруктуре = Ложь) Экспорт @@ -91,19 +88,18 @@ КонецФункции // Устанавливает расписание регламентного задания. -// Перед вызовом требуется иметь право Администрирования -// или УстановитьПривилегированныйРежим. +// Перед вызовом требуется иметь право Администрирования или УстановитьПривилегированныйРежим. // // Параметры: -// Идентификатор - ОбъектМетаданных регламентного задания для поиска +// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска // предопределенного регламентного задания. -// - УникальныйИдентификатор регламентного задания. -// - Строка уникального идентификатора регламентного задания. -// - РегламентноеЗадание. +// - УникальныйИдентификатор - идентификатор регламентного задания. +// - Строка - строка уникального идентификатора регламентного задания. +// - РегламентноеЗадание - регламентное задание. // -// Расписание - РасписаниеРегламентногоЗадания. -// - Структура расписания, как возвращает функция -// ОбщегоНазначенияКлиентСервер.РасписаниеВСтруктуру. +// Расписание - РасписаниеРегламентногоЗадания - расписание. +// - Структура - значение возвращаемое функцией РасписаниеВСтруктуру +// общего модуля ОбщегоНазначенияКлиентСервер. // Процедура УстановитьРасписаниеРегламентногоЗадания(Знач Идентификатор, Знач Расписание) Экспорт @@ -125,15 +121,15 @@ // Возвращает РегламентноеЗадание из информационной базы. // // Параметры: -// Идентификатор - ОбъектМетаданных регламентного задания для поиска +// Идентификатор - ОбъектМетаданных - объект метаданных регламентного задания для поиска // предопределенного регламентного задания. -// - УникальныйИдентификатор регламентного задания. -// - Строка уникального идентификатора регламентного задания. -// - РегламентноеЗадание из которого нужно получить уникальный -// идентификатор для получения свежей копии регламентного задания. +// - УникальныйИдентификатор - идентификатор регламентного задания. +// - Строка - строка уникального идентификатора регламентного задания. +// - РегламентноеЗадание - регламентное задание из которого нужно получить +// уникальный идентификатор для получения свежей копии регламентного задания. // // Возвращаемое значение: -// РегламентноеЗадание, прочитанное из базы данных. +// РегламентноеЗадание - прочитано из базы данных. // Функция ПолучитьРегламентноеЗадание(Знач Идентификатор) Экспорт diff --git a/SSL/src/CommonModules/РезервноеКопированиеИБКлиент/Module.bsl b/SSL/src/CommonModules/РезервноеКопированиеИБКлиент/Module.bsl index f6fbe955f..6bb4db9f1 100644 --- a/SSL/src/CommonModules/РезервноеКопированиеИБКлиент/Module.bsl +++ b/SSL/src/CommonModules/РезервноеКопированиеИБКлиент/Module.bsl @@ -67,22 +67,8 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: -// Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: -// ТекстФлажка - Строка - текст флажка. -// ПоясняющийТекст - Строка - текст, выводимый в форме сверху -// управляющего элемента (флажок или гиперссылка). -// ТекстГиперссылки - Строка - текст гиперссылки. -// ДействиеПриУстановленномФлажке - Структура с полями: -// Форма - путь к открываемой форме. -// ПараметрыФормы - произвольная структура параметров формы Форма. -// ДействиеПриНажатииГиперссылки - Структура с полями: -// Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. -// ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. -// ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу -// вместо универсальной формы в случае, когда в списке -// предупреждений оказывается только одно данное предупреждение. -// ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура -// параметров для вышеописанной формы. +// Предупреждения - Массив - в массив можно добавить элементы типа Структура, +// свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт @@ -100,15 +86,17 @@ Возврат; КонецЕсли; - ТекстФлажка = НСтр("ru = 'Выполнить резервное копирование'"); + ПараметрыПредупреждения = СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы(); + ПараметрыПредупреждения.ТекстФлажка = НСтр("ru = 'Выполнить резервное копирование'"); + ПараметрыПредупреждения.Приоритет = 50; + + ДействиеПриУстановленномФлажке = ПараметрыПредупреждения.ДействиеПриУстановленномФлажке; + ДействиеПриУстановленномФлажке.Форма = "Обработка.РезервноеКопированиеИБ.Форма.РезервноеКопированиеДанных"; ПараметрыФормы = Новый Структура(); ПараметрыФормы.Вставить("РежимРаботы", "ВыполнитьПриЗавершенииРаботы"); - ФормаОбработки = "Обработка.РезервноеКопированиеИБ.Форма.РезервноеКопированиеДанных"; + ДействиеПриУстановленномФлажке.ПараметрыФормы = ПараметрыФормы; - ДействиеПриУстановленномФлажке = Новый Структура("Форма, ПараметрыФормы", ФормаОбработки, ПараметрыФормы); - СтруктураПредупреждения = Новый Структура("ТекстФлажка, ДействиеПриУстановленномФлажке, Приоритет", - ТекстФлажка, ДействиеПриУстановленномФлажке, 70); - Предупреждения.Добавить(СтруктураПредупреждения); + Предупреждения.Добавить(ПараметрыПредупреждения); КонецПроцедуры @@ -196,7 +184,7 @@ КонецЕсли; ДатаПроверки = ОбщегоНазначенияКлиент.ДатаСеанса(); - Если ПараметрыРезервногоКопированияИБ.МинимальнаяДатаСледующегоАвтоматическогоРезервногоКопирования > ДатаПроверки Тогда + Если ПараметрыРезервногоКопированияИБ.МинимальнаяДатаСледующегоАвтоматическогоРезервногоКопирования = '29990101' Тогда Возврат Ложь; КонецЕсли; diff --git a/SSL/src/CommonModules/РезервноеКопированиеИБСервер/Module.bsl b/SSL/src/CommonModules/РезервноеКопированиеИБСервер/Module.bsl index d3fcb3cd5..7c0925a25 100644 --- a/SSL/src/CommonModules/РезервноеКопированиеИБСервер/Module.bsl +++ b/SSL/src/CommonModules/РезервноеКопированиеИБСервер/Module.bsl @@ -358,7 +358,10 @@ Результат.Вставить("ПараметрОповещения", ВариантОповещения); Если Результат.ПроведеноКопирование И Результат.РезультатКопирования Тогда - УстановитьДатуПоследнегоКопирования(ТекущаяДатаСеанса()); + ТекущаяДатаСеанса = ТекущаяДатаСеанса(); + Результат.ДатаПоследнегоРезервногоКопирования = ТекущаяДатаСеанса; + // Сохранение даты последнего резервного копирования в хранилище общих настроек. + УстановитьДатуПоследнегоКопирования(ТекущаяДатаСеанса); КонецЕсли; Если Результат.ПроведеноВосстановление Тогда @@ -446,6 +449,7 @@ Параметры.Вставить("РасписаниеКопирования", ОбщегоНазначенияКлиентСервер.РасписаниеВСтруктуру(Новый РасписаниеРегламентногоЗадания)); Параметры.Вставить("КаталогХраненияРезервныхКопий", ""); + Параметры.Вставить("КаталогХраненияРезервныхКопийПриРучномЗапуске", ""); // При ручном выполнении Параметры.Вставить("ПроведеноКопирование", Ложь); Параметры.Вставить("ПроведеноВосстановление", Ложь); Параметры.Вставить("РезультатКопирования", Неопределено); diff --git a/SSL/src/CommonModules/РезервноеКопированиеОбластейДанных/Module.bsl b/SSL/src/CommonModules/РезервноеКопированиеОбластейДанных/Module.bsl index 44dd15d48..dbcf88950 100644 --- a/SSL/src/CommonModules/РезервноеКопированиеОбластейДанных/Module.bsl +++ b/SSL/src/CommonModules/РезервноеКопированиеОбластейДанных/Module.bsl @@ -796,7 +796,7 @@ СообщенияВМоделиСервиса.ОтправитьСообщение( Сообщение, РаботаВМоделиСервисаПовтИсп.КонечнаяТочкаМенеджераСервиса()); - + ЗафиксироватьТранзакцию(); Исключение @@ -813,7 +813,6 @@ Процедура ОтправитьСообщениеОшибкаАрхивацииОбласти(Знач ПараметрыСообщения) НачатьТранзакцию(); - Попытка Сообщение = СообщенияВМоделиСервиса.НовоеСообщение( @@ -842,7 +841,6 @@ Процедура ОтправитьСообщениеАрхивацияОбластиПропущена(Знач ПараметрыСообщения) НачатьТранзакцию(); - Попытка Сообщение = СообщенияВМоделиСервиса.НовоеСообщение( diff --git a/SSL/src/CommonModules/СоединенияИБ/Module.bsl b/SSL/src/CommonModules/СоединенияИБ/Module.bsl index 2511c3ed3..8a92dc4b5 100644 --- a/SSL/src/CommonModules/СоединенияИБ/Module.bsl +++ b/SSL/src/CommonModules/СоединенияИБ/Module.bsl @@ -62,8 +62,11 @@ // Определить, установлена ли блокировка соединений при пакетном // обновлении конфигурации информационной базы // +// Параметры: +// ПараметрыБлокировки - Структура - параметры блокировки сеансов. См. описание в СтруктураПараметровБлокировкиСеансов() +// // Возвращаемое значение: -// Булево - Истина, если установлена, ложь - Иначе. +// Булево - Истина, если установлена, ложь - Иначе. // Функция УстановленаБлокировкаСоединений(ПараметрыБлокировки = Неопределено) Экспорт @@ -78,18 +81,19 @@ // Получить параметры блокировки соединений ИБ для использования на стороне клиента. // // Параметры: -// ПолучитьКоличествоСеансов - Булево - если Истина, то в возвращаемой структуре +// ПолучитьКоличествоСеансов - Булево - если Истина, то в возвращаемой структуре // заполняется поле КоличествоСеансов. +// ПараметрыБлокировки - Структура - параметры блокировки сеансов. См. описание в СтруктураПараметровБлокировкиСеансов() // // Возвращаемое значение: -// Структура - с полями: -// Установлена - Булево - Истина, если установлена блокировка, Ложь - Иначе. -// Начало - Дата - дата начала блокировки. -// Конец - Дата - дата окончания блокировки. -// Сообщение - Строка - сообщение пользователю. -// ИнтервалОжиданияЗавершенияРаботыПользователей - Число - интервал в секундах. -// КоличествоСеансов - 0, если параметр ПолучитьКоличествоСеансов = Ложь -// ТекущаяДатаСеанса - Дата - текущая дата сеанса. +// Структура - со свойствами: +// * Установлена - Булево - Истина, если установлена блокировка, Ложь - Иначе. +// * Начало - Дата - дата начала блокировки. +// * Конец - Дата - дата окончания блокировки. +// * Сообщение - Строка - сообщение пользователю. +// * ИнтервалОжиданияЗавершенияРаботыПользователей - Число - интервал в секундах. +// * КоличествоСеансов - Число - 0, если параметр ПолучитьКоличествоСеансов = Ложь +// * ТекущаяДатаСеанса - Дата - текущая дата сеанса. // Функция ПараметрыБлокировкиСеансов(Знач ПолучитьКоличествоСеансов = Ложь, ПараметрыБлокировки = Неопределено) Экспорт @@ -375,6 +379,11 @@ "СоединенияИБ"); КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "СоединенияИБ"); + КонецЕсли; + КонецПроцедуры #КонецОбласти @@ -504,6 +513,93 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не ПравоДоступа("АдминистрированиеДанных", Метаданные) Тогда + Возврат; + КонецЕсли; + + + // Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь + // не делается проверка существования подсистемы. + МодульТекущиеДелаСлужебныйПовтИсп = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебныйПовтИсп"); + ПринадлежностьОбъектов = МодульТекущиеДелаСлужебныйПовтИсп.ПринадлежностьОбъектовРазделамКомандногоИнтерфейса(); + Разделы = ПринадлежностьОбъектов[Метаданные.Обработки.БлокировкаРаботыПользователей.ПолноеИмя()]; + Если Разделы = Неопределено Тогда + Возврат; + КонецЕсли; + + ПараметрыБлокировки = ПараметрыБлокировкиСеансов(Ложь); + ТекущаяДатаСеанса = ТекущаяДатаСеанса(); + + Если ПараметрыБлокировки.Установлена Тогда + Если ТекущаяДатаСеанса < ПараметрыБлокировки.Начало Тогда + Если ПараметрыБлокировки.Конец <> Дата(1, 1, 1) Тогда + Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запланирована с %1 по %2'"), + Формат(ПараметрыБлокировки.Начало, "ДЛФ=DT"), Формат(ПараметрыБлокировки.Конец, "ДЛФ=DT")); + Иначе + Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запланирована с %1'"), + Формат(ПараметрыБлокировки.Начало, "ДЛФ=DT")); + КонецЕсли; + Важность = Ложь; + ИначеЕсли ПараметрыБлокировки.Конец <> Дата(1, 1, 1) И ТекущаяДатаСеанса > ПараметрыБлокировки.Конец И ПараметрыБлокировки.Начало <> Дата(1, 1, 1) Тогда + Важность = Ложь; + Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Не действует (истек срок %1)'"), + Формат(ПараметрыБлокировки.Конец, "ДЛФ=DT")); + Иначе + Если ПараметрыБлокировки.Конец <> Дата(1, 1, 1) Тогда + Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'с %1 по %2'"), + Формат(ПараметрыБлокировки.Начало, "ДЛФ=DT"), Формат(ПараметрыБлокировки.Конец, "ДЛФ=DT")); + Иначе + Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'с %1'"), + Формат(ПараметрыБлокировки.Начало, "ДЛФ=DT")); + КонецЕсли; + Важность = Истина; + КонецЕсли; + Иначе + Сообщение = НСтр("ru = 'Не действует'"); + Важность = Ложь; + КонецЕсли; + + + Для Каждого Раздел Из Разделы Цикл + + ИдентификаторДела = "БлокировкаСеансов" + СтрЗаменить(Раздел.ПолноеИмя(), ".", ""); + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = ИдентификаторДела; + Дело.ЕстьДела = ПараметрыБлокировки.Установлена; + Дело.Представление = НСтр("ru = 'Блокировка работы пользователей'"); + Дело.Форма = "Обработка.БлокировкаРаботыПользователей.Форма"; + Дело.Важное = Важность; + Дело.Владелец = Раздел; + + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "БлокировкаСеансовПодробности"; + Дело.ЕстьДела = ПараметрыБлокировки.Установлена; + Дело.Представление = Сообщение; + Дело.Владелец = ИдентификаторДела; + + КонецЦикла; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ ОБНОВЛЕНИЯ ИНФОРМАЦИОННОЙ БАЗЫ @@ -664,8 +760,6 @@ КонецФункции -// Возвращает структуру, содержащую параметры блокировки сеансов -// Функция СтруктураПараметровБлокировкиСеансов() УстановитьПривилегированныйРежим(Истина); diff --git a/SSL/src/CommonModules/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4.mdo b/SSL/src/CommonModules/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4.mdo index a561682e0..152d0fae2 100644 --- a/SSL/src/CommonModules/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4.mdo +++ b/SSL/src/CommonModules/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4/СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4.mdo @@ -3,7 +3,7 @@ СообщенияКонтрольУдаленногоАдминистрированияОбработчикТрансляции_1_0_2_4 ru - Сообщения контроль удаленного администрирования обработчик трансляции 1.0.2.3 + Сообщения контроль удаленного администрирования обработчик трансляции 1.0.2.4 true true diff --git a/SSL/src/CommonModules/СообщенияУдаленногоАдминистрированияОбработчикСообщения_1_0_3_4/Module.bsl b/SSL/src/CommonModules/СообщенияУдаленногоАдминистрированияОбработчикСообщения_1_0_3_4/Module.bsl index c646d720f..a9c2b6e90 100644 --- a/SSL/src/CommonModules/СообщенияУдаленногоАдминистрированияОбработчикСообщения_1_0_3_4/Module.bsl +++ b/SSL/src/CommonModules/СообщенияУдаленногоАдминистрированияОбработчикСообщения_1_0_3_4/Module.bsl @@ -39,48 +39,46 @@ СообщениеОбработано = Истина; - Словарь = СообщенияУдаленногоАдминистрированияИнтерфейс; - - Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ДополнительныеОтчетыИОбработкиВМоделиСервиса") Тогда - СловарьДОиО = ОбщегоНазначения.ОбщийМодуль("СообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс"); - Иначе - СловарьДОиО = Неопределено; + ПодсистемаСуществует = ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.РаботаВМоделиСервиса.ДополнительныеОтчетыИОбработкиВМоделиСервиса"); + МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс = Неопределено; + Если ПодсистемаСуществует Тогда + МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс = ОбщегоНазначения.ОбщийМодуль("СообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс"); КонецЕсли; ТипСообщения = Сообщение.Body.Тип(); - Если ТипСообщения = Словарь.СообщениеОбновитьПользователя(Пакет()) Тогда + Если ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеОбновитьПользователя(Пакет()) Тогда ОбновитьПользователя(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеПодготовитьОбластьДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеПодготовитьОбластьДанных(Пакет()) Тогда ПодготовитьОбластьДанных(Сообщение, Отправитель, Ложь); - ИначеЕсли ТипСообщения = Словарь.СообщениеПодготовитьОбластьДанныхИзВыгрузки(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеПодготовитьОбластьДанныхИзВыгрузки(Пакет()) Тогда ПодготовитьОбластьДанных(Сообщение, Отправитель, Истина); - ИначеЕсли ТипСообщения = Словарь.СообщениеУдалитьОбластьДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУдалитьОбластьДанных(Пакет()) Тогда УдалитьОбластьДанных(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьДоступКОбластиДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьДоступКОбластиДанных(Пакет()) Тогда УстановитьДоступКОбластиДанных(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьКонечнуюТочкуМенеджераСервиса(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьКонечнуюТочкуМенеджераСервиса(Пакет()) Тогда УстановитьКонечнуюТочкуМенеджераСервиса(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьПараметрыИБ(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьПараметрыИБ(Пакет()) Тогда УстановитьПараметрыИБ(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьПараметрыОбластиДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьПараметрыОбластиДанных(Пакет()) Тогда УстановитьПараметрыОбластиДанных(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьПолныеПраваОбластиДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьПолныеПраваОбластиДанных(Пакет()) Тогда УстановитьПолныеПраваОбластиДанных(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьПраваПользователяПоУмолчанию(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьПраваПользователяПоУмолчанию(Пакет()) Тогда УстановитьПраваПользователяПоУмолчанию(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеУстановитьРейтингОбластейДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеУстановитьРейтингОбластейДанных(Пакет()) Тогда УстановитьРейтингОбластейДанных(Сообщение, Отправитель); - ИначеЕсли ТипСообщения = Словарь.СообщениеПрикрепитьОбластьДанных(Пакет()) Тогда + ИначеЕсли ТипСообщения = СообщенияУдаленногоАдминистрированияИнтерфейс.СообщениеПрикрепитьОбластьДанных(Пакет()) Тогда ПрикрепитьОбластьДанных(Сообщение, Отправитель); - ИначеЕсли СловарьДОиО <> Неопределено И ТипСообщения = СловарьДОиО.СообщениеУстановитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда + ИначеЕсли ПодсистемаСуществует И ТипСообщения = МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс.СообщениеУстановитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда УстановитьДополнительныйОтчетИлиОбработку(Сообщение, Отправитель); - ИначеЕсли СловарьДОиО <> Неопределено И ТипСообщения = СловарьДОиО.СообщениеУдалитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда + ИначеЕсли ПодсистемаСуществует И ТипСообщения = МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс.СообщениеУдалитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда УдалитьДополнительныйОтчетИлиОбработку(Сообщение, Отправитель); - ИначеЕсли СловарьДОиО <> Неопределено И ТипСообщения = СловарьДОиО.СообщениеОтключитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда + ИначеЕсли ПодсистемаСуществует И ТипСообщения = МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс.СообщениеОтключитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда ОтключитьДополнительныйОтчетИлиОбработку(Сообщение, Отправитель); - ИначеЕсли СловарьДОиО <> Неопределено И ТипСообщения = СловарьДОиО.СообщениеВключитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда + ИначеЕсли ПодсистемаСуществует И ТипСообщения = МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс.СообщениеВключитьДополнительныйОтчетИлиОбработку(Пакет()) Тогда ВключитьДополнительныйОтчетИлиОбработку(Сообщение, Отправитель); - ИначеЕсли СловарьДОиО <> Неопределено И ТипСообщения = СловарьДОиО.СообщениеОтозватьДополнительныйОтчетИлиОбработку(Пакет()) Тогда + ИначеЕсли ПодсистемаСуществует И ТипСообщения = МодульСообщенияУправленияДополнительнымиОтчетамиИОбработкамиИнтерфейс.СообщениеОтозватьДополнительныйОтчетИлиОбработку(Пакет()) Тогда ОтозватьДополнительныйОтчетИлиОбработку(Сообщение, Отправитель); Иначе СообщениеОбработано = Ложь; diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыВызовСервера/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыВызовСервера/Module.bsl index 6f54f9c68..883665f86 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыВызовСервера/Module.bsl @@ -27,7 +27,6 @@ ЗапомнитьВременныеПараметры(Параметры); Если Параметры.ПолученныеПараметрыКлиента <> Неопределено Тогда - ОбновитьПовторноИспользуемыеЗначения(); Если НЕ Параметры.Свойство("ПропуститьОчисткуСкрытияРабочегоСтола") Тогда СкрытьРабочийСтолПриНачалеРаботыСистемы(Ложь); КонецЕсли; @@ -60,9 +59,7 @@ Если ПланыОбмена.ГлавныйУзел() <> Неопределено И Не ЗначениеЗаполнено(Константы.ГлавныйУзел.Получить()) Тогда // Сохранение главного узла для возможности восстановления. - ГлавныйУзелМенеджер = Константы.ГлавныйУзел.СоздатьМенеджерЗначения(); - ГлавныйУзелМенеджер.Значение = ПланыОбмена.ГлавныйУзел(); - ОбновлениеИнформационнойБазы.ЗаписатьДанные(ГлавныйУзелМенеджер); + СтандартныеПодсистемыСервер.СохранитьГлавныйУзел(); КонецЕсли; КонецЕсли; КонецЕсли; diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыГлобальный/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыГлобальный/Module.bsl index 8a4a6f04f..5744aa056 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыГлобальный/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыГлобальный/Module.bsl @@ -21,4 +21,10 @@ КонецПроцедуры +// Вызывается после запуска конфигурации, открывает окно информации. +Процедура ПоказатьИнформациюПослеЗапуска() Экспорт + МодульИнформацияПриЗапускеКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ИнформацияПриЗапускеКлиент"); + МодульИнформацияПриЗапускеКлиент.Показать(); +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыКлиент/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыКлиент/Module.bsl index a2702ab75..11469b2a0 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыКлиент/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыКлиент/Module.bsl @@ -5,6 +5,9 @@ #Область ПрограммныйИнтерфейс +//////////////////////////////////////////////////////////////////////////////// +// Поиск и удаление дублей. + // Открывает форму объединения элементов справочников, планов видов характеристик, видов расчетов и счетов. // // Параметры: @@ -64,6 +67,9 @@ КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции интерактивной работы. + // Устанавливает заголовок главного окна приложения, используя представление текущего пользователя, // значение константы ЗаголовокПриложения и заголовок приложения по умолчанию. // @@ -108,14 +114,6 @@ КонецПроцедуры -// Отключает выдачу предупреждения пользователю при завершении работы программы. -// -Процедура ПропуститьПредупреждениеПередЗавершениемРаботыСистемы() Экспорт - - ПропуститьПредупреждениеПередЗавершениемРаботыСистемы = Истина; - -КонецПроцедуры - // Показать форму вопроса. // // Параметры: @@ -192,14 +190,17 @@ // Возвращает новую структуру дополнительных параметров для процедуры ПоказатьВопросПользователю. // // Возвращаемое значение: -// Структура - параметры процедуры ПоказатьВопросПользователю: -// КнопкаПоУмолчанию - Произвольный - определяет кнопку по умолчанию по типу кнопки или по связанному с ней значению. -// Таймаут - Число - интервал времени в секундах до автоматического закрытия окна вопроса. -// КнопкаТаймаута - Произвольный - кнопка (по типу кнопки или по связанному с ней значению), -// на которой отображается количество секунд, оставшихся до истечения таймаута. -// Заголовок - Строка - заголовок вопроса. -// ПредлагатьБольшеНеЗадаватьЭтотВопрос - Булево - если Истина, то в окне вопроса будет доступен одноименный флажок. -// БольшеНеЗадаватьЭтотВопрос - Булево - принимает значение, выбранное пользователем в соответствующем флажке. +// Структура - структура со свойствами: +// * КнопкаПоУмолчанию - Произвольный - определяет кнопку по умолчанию по типу кнопки или по связанному с ней значению. +// * Таймаут - Число - интервал времени в секундах до автоматического закрытия окна вопроса. +// * КнопкаТаймаута - Произвольный - кнопка (по типу кнопки или по связанному с ней значению), +// на которой отображается количество секунд, оставшихся до истечения таймаута. +// * Заголовок - Строка - заголовок вопроса. +// * ПредлагатьБольшеНеЗадаватьЭтотВопрос - Булево- если Истина, то в окне вопроса будет доступен одноименный флажок. +// * БольшеНеЗадаватьЭтотВопрос - Булево - принимает значение, выбранное пользователем в соответствующем флажке. +// * БлокироватьВесьИнтерфейс - Булево - если Истина, форма вопроса открывается блокируя работу всех остальных +// открытых окон, включая главное окно. +// * Картинка - Картинка - картинка, выводимая в окне вопроса. // Функция ПараметрыВопросаПользователю() Экспорт @@ -216,6 +217,17 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Запуск и завершение работы. + +// Отключает выдачу предупреждения пользователю при завершении работы программы. +// +Процедура ПропуститьПредупреждениеПередЗавершениемРаботыСистемы() Экспорт + + ПропуститьПредупреждениеПередЗавершениемРаботыСистемы = Истина; + +КонецПроцедуры + // Выполнить стандартные действия перед началом работы пользователя // с областью данных, либо в локальном режиме работы. // @@ -235,7 +247,7 @@ ОбщегоНазначенияКлиентСервер.ПроверитьПараметр("СтандартныеПодсистемыКлиент.ПередНачаломРаботыСистемы", "ОповещениеЗавершения", ОповещениеЗавершения, Тип("ОписаниеОповещения")); КонецЕсли; - + УстановитьРазделениеСеанса(); Параметры = Новый Структура; @@ -256,7 +268,8 @@ Параметры.Вставить("ОбработкаЗавершения", Новый ОписаниеОповещения( "ДействияПередНачаломРаботыСистемыОбработкаЗавершения", ЭтотОбъект, Параметры)); - ОбновитьПараметрыРаботыКлиента(Параметры, Истина); + ОбновитьПараметрыРаботыКлиента(Параметры, Истина, ОповещениеЗавершения <> Неопределено); + ПараметрыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске(); Параметры.Вставить("ОбработкаПродолжения", Новый ОписаниеОповещения( "ДействияПередНачаломРаботыСистемыПослеПроверкиВерсииПлатформы", ЭтотОбъект, Параметры)); @@ -532,6 +545,53 @@ #Область СлужебныйПрограммныйИнтерфейс +// Возвращает новую структуру параметров для вывода предупреждения перед завершением работы программы. +// +// Возвращаемое значение: +// Структура - со свойствами: +// ТекстФлажка - Строка - текст флажка. +// ПоясняющийТекст - Строка - текст, выводимый в форме сверху управляющего элемента (флажок или гиперссылка). +// ТекстГиперссылки - Строка - текст гиперссылки. +// РасширеннаяПодсказка - Строка - текст подсказки, выводимый по кнопке справа от управляющего элемента (флажок или гиперссылка). +// Приоритет - Число - определяет относительный порядок вывода предупреждений в форме (чем больше, тем выше). +// ВывестиОдноПредупреждение - Булево - если Истина, то в списке предупреждений выводится только одно это предупреждение. +// ДействиеПриУстановленномФлажке - Структура с полями: +// * Форма - Строка - путь к открываемой форме. +// * ПараметрыФормы - Структура - произвольная структура параметров формы Форма. +// ДействиеПриНажатииГиперссылки - Структура с полями: +// * Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. +// * ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. +// * ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу +// вместо универсальной формы в случае, когда в списке +// предупреждений оказывается только одно данное предупреждение. +// * ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура +// параметров для вышеописанной формы. +Функция ПредупреждениеПриЗавершениеРаботы() Экспорт + + ДействиеПриУстановленномФлажке = Новый Структура; + ДействиеПриУстановленномФлажке.Вставить("Форма", ""); + ДействиеПриУстановленномФлажке.Вставить("ПараметрыФормы", Неопределено); + + ДействиеПриНажатииГиперссылки = Новый Структура; + ДействиеПриНажатииГиперссылки.Вставить("Форма", ""); + ДействиеПриНажатииГиперссылки.Вставить("ПараметрыФормы", Неопределено); + ДействиеПриНажатииГиперссылки.Вставить("ПрикладнаяФормаПредупреждения", ""); + ДействиеПриНажатииГиперссылки.Вставить("ПараметрыПрикладнойФормыПредупреждения", Неопределено); + + ПараметрыПредупреждения = Новый Структура; + ПараметрыПредупреждения.Вставить("ТекстФлажка", ""); + ПараметрыПредупреждения.Вставить("ПоясняющийТекст", ""); + ПараметрыПредупреждения.Вставить("РасширеннаяПодсказка", ""); + ПараметрыПредупреждения.Вставить("ТекстГиперссылки", ""); + ПараметрыПредупреждения.Вставить("ДействиеПриУстановленномФлажке", ДействиеПриУстановленномФлажке); + ПараметрыПредупреждения.Вставить("ДействиеПриНажатииГиперссылки", ДействиеПриНажатииГиперссылки); + ПараметрыПредупреждения.Вставить("Приоритет", 0); + ПараметрыПредупреждения.Вставить("ВывестиОдноПредупреждение", Ложь); + + Возврат ПараметрыПредупреждения; + +КонецФункции + // После предупреждения вызывает процедуру с параметрами Результат, ДополнительныеПараметры. // // Параметры: @@ -732,7 +792,7 @@ ВыводПредупреждения = Результат.ВыводПредупреждения; Если ЗначениеЗаполнено(ВыводПредупреждения.ТекстОшибок) Тогда Кнопки = Новый СписокЗначений; - Кнопки.Добавить(1, НСтр("ru = 'Показать ошибки'")); + Кнопки.Добавить(1, НСтр("ru = 'Подробнее...'")); Если ТипЗнч(Форма) = Тип("УправляемаяФорма") И ЗначениеЗаполнено(ВыводПредупреждения.ПутьКРеквизитуФормы) Тогда Кнопки.Добавить(2, НСтр("ru = 'Перейти к реквизиту'")); КонецЕсли; @@ -811,7 +871,7 @@ // // Параметры: // ОбработкаПродолжения - ОписаниеОповещения, которое нужно обработать после получения пароля. -// ФормаВладелец - Неопределено, УправляемаяФорма, которая запрашивает пароль. +// ФормаВладелец - Неопределено, УправляемаяФорма - форма, которая запрашивает пароль. // ПарольПользователяСервиса - Строка - текущий пароль пользователя сервиса. // Процедура ПриЗапросеПароляДляАутентификацииВСервисе(ОбработкаПродолжения, ФормаВладелец = Неопределено, ПарольПользователяСервиса = Неопределено) Экспорт @@ -977,8 +1037,22 @@ Параметры.Вставить("ОбработкаПродолжения", Параметры.ОбработкаЗавершения); + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует( + "СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда + + МодульАвтономнаяРаботаСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("АвтономнаяРаботаСлужебныйКлиент"); + Попытка + МодульАвтономнаяРаботаСлужебныйКлиент.ПередНачаломРаботыСистемы(Параметры); + Исключение + ОбработатьОшибкуПриЗапускеИлиЗавершении(Параметры, ИнформацияОбОшибке(), "Запуск", Истина); + КонецПопытки; + Если ИнтерактивнаяОбработкаПередНачаломРаботыСистемы(Параметры) Тогда + Возврат; + КонецЕсли; + КонецЕсли; + Попытка - ПользователиСлужебныйКлиент.ПроверитьАвторизациюПользователя(Параметры); + ПользователиСлужебныйКлиент.ПередНачаломРаботыСистемы(Параметры); Исключение ОбработатьОшибкуПриЗапускеИлиЗавершении(Параметры, ИнформацияОбОшибке(), "Запуск", Истина); КонецПопытки; @@ -1292,6 +1366,10 @@ Отказ = ОбщегоНазначенияКлиентПереопределяемый.ОбработатьПараметрыЗапуска( ПервыйПараметр, ПараметрыЗапуска) Или Отказ; + Если Не Отказ Тогда + ОбщегоНазначенияКлиентПереопределяемый.ПриОбработкеПараметровЗапуска(ПервыйПараметр, ПараметрыЗапуска, Отказ); + КонецЕсли; + Возврат НЕ Отказ; КонецФункции @@ -1752,7 +1830,8 @@ КонецФункции -Процедура ОбновитьПараметрыРаботыКлиента(Параметры, ПервыйВызов = Ложь) +// Обновляет параметры работы клиента после очередной интерактивной обработки при запуске. +Процедура ОбновитьПараметрыРаботыКлиента(Параметры, ПервыйВызов = Ложь, ОбновитьПовторноИспользуемыеЗначения = Истина) Если ПервыйВызов Тогда Если ТипЗнч(ПараметрыПриЗапускеИЗавершенииПрограммы) <> Тип("Структура") Тогда @@ -1770,7 +1849,9 @@ ПараметрыПриЗапускеИЗавершенииПрограммы.Вставить("ПолученныеПараметрыКлиента", Параметры.ПолученныеПараметрыКлиента); - ОбновитьПовторноИспользуемыеЗначения(); + Если ОбновитьПовторноИспользуемыеЗначения Тогда + ОбновитьПовторноИспользуемыеЗначения(); + КонецЕсли; КонецПроцедуры @@ -1943,17 +2024,14 @@ ИмяФормы = "ОбщаяФорма.ПредупрежденияПриЗавершенииРаботы"; Если Предупреждения.Количество() = 1 Тогда - ТекстФлажка = ""; - Если Предупреждения[0].Свойство("ТекстФлажка", ТекстФлажка) Тогда - Если Не ПустаяСтрока(ТекстФлажка) Тогда - ДополнительныеПараметры.Вставить("ВариантФормы", "СтандартнаяФорма"); - ПараметрыОткрытияФормы = Новый Структура; - ПараметрыОткрытияФормы.Вставить("ИмяФормы", ИмяФормы); - ПараметрыОткрытияФормы.Вставить("ПараметрыФормы", ПараметрыФормы); - ПараметрыОткрытияФормы.Вставить("ОбработкаОтвета", ОбработкаОтвета); - Параметры.ИнтерактивнаяОбработка = Новый ОписаниеОповещения( - "ИнтерактивнаяОбработкаПредупрежденийПриЗавершенииРаботы", ЭтотОбъект, ПараметрыОткрытияФормы); - КонецЕсли; + Если Не ПустаяСтрока(Предупреждения[0].ТекстФлажка) Тогда + ДополнительныеПараметры.Вставить("ВариантФормы", "СтандартнаяФорма"); + ПараметрыОткрытияФормы = Новый Структура; + ПараметрыОткрытияФормы.Вставить("ИмяФормы", ИмяФормы); + ПараметрыОткрытияФормы.Вставить("ПараметрыФормы", ПараметрыФормы); + ПараметрыОткрытияФормы.Вставить("ОбработкаОтвета", ОбработкаОтвета); + Параметры.ИнтерактивнаяОбработка = Новый ОписаниеОповещения( + "ИнтерактивнаяОбработкаПредупрежденийПриЗавершенииРаботы", ЭтотОбъект, ПараметрыОткрытияФормы); Иначе ДополнительныеПараметры.Вставить("ВариантФормы", "ПрикладнаяФорма"); ОткрытьПрикладнуюФормуПредупреждения(Параметры, ОбработкаОтвета, Предупреждения[0], ИмяФормы, ПараметрыФормы); @@ -2118,7 +2196,6 @@ КонецПроцедуры Процедура УстановитьПараметрыФункциональныхОпцийИнтерфейсаПриЗапуске() - ОпцииИнтерфейса = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске().ОпцииИнтерфейса; Если ТипЗнч(ОпцииИнтерфейса) = Тип("ФиксированнаяСтруктура") Тогда #Если ВебКлиент Тогда diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыКлиентСервер/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыКлиентСервер/Module.bsl index 36c5b3181..fd0e5f74f 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыКлиентСервер/Module.bsl @@ -71,8 +71,8 @@ // Параметры: // Результат - Структура - См. СтандартныеПодсистемыКлиент.ПоказатьРезультатВыполнения(). // ИмяСобытия - Строка - Имя события, которое используется для первичной идентификации сообщений принимающими формами. -// Параметр - * - Набор данных, которые используются принимающей формой для обновления состава. -// Источник - * - Источник оповещения, например форма-источником. +// Параметр - Произвольный - Набор данных, которые используются принимающей формой для обновления состава. +// Источник - Произвольный - Источник оповещения, например форма-источником. // Процедура РезультатВыполненияДобавитьОповещениеОткрытыхФорм(Результат, ИмяСобытия, Параметр = Неопределено, Источник = Неопределено) Экспорт Если Не Результат.Свойство("ОповещениеФорм") Тогда diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыПовтИсп/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыПовтИсп/Module.bsl index e90509cb0..0521aba94 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыПовтИсп/Module.bsl @@ -5,38 +5,6 @@ #Область СлужебныеПроцедурыИФункции -// Содержит сохраненные параметры, используемые подсистемой. -Функция ПараметрыБазовойФункциональности() Экспорт - - УстановитьПривилегированныйРежим(Истина); - СохраненныеПараметры = СтандартныеПодсистемыСервер.ПараметрыРаботыПрограммы( - "ПараметрыБазовойФункциональности"); - УстановитьПривилегированныйРежим(Ложь); - - СтандартныеПодсистемыСервер.ПроверитьОбновлениеПараметровРаботыПрограммы( - "ПараметрыБазовойФункциональности", - "ИдентификаторыОбъектовМетаданных"); - - ПредставлениеПараметра = ""; - - Если НЕ СохраненныеПараметры.Свойство("ИдентификаторыОбъектовМетаданных") Тогда - ПредставлениеПараметра = НСтр("ru = 'Идентификаторы объектов метаданных'"); - КонецЕсли; - - Если ЗначениеЗаполнено(ПредставлениеПараметра) Тогда - - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка обновления информационной базы. - |Не заполнен параметр базовой функциональности: - |""%1"".'") - + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), - ПредставлениеПараметра); - КонецЕсли; - - Возврат СохраненныеПараметры; - -КонецФункции - // Содержит сохраненные параметры, используемые подсистемой. Функция ПараметрыПрограммныхСобытий() Экспорт @@ -234,10 +202,15 @@ КонецФункции -// Возвращает соответствие имен подсистем и значения Истина; +// Возвращает соответствие имен "функциональных" подсистем и значения Истина. +// У "функциональной" подсистемы снят флажок "Включать в командный интерфейс". +// Функция ИменаПодсистем() Экспорт - Возврат Новый ФиксированноеСоответствие(ИменаПодчиненныхПодсистем(Метаданные)); + Имена = Новый Соответствие; + ВставитьИменаПодчиненныхПодсистем(Имена, Метаданные); + + Возврат Новый ФиксированноеСоответствие(Имена); КонецФункции @@ -373,6 +346,104 @@ КонецФункции +// Только для внутреннего использования. +Функция ПараметрыРаботыПрограммы(ИмяКонстанты) Экспорт + + Параметры = Константы[ИмяКонстанты].Получить().Получить(); + + Если ТипЗнч(Параметры) <> Тип("Структура") Тогда + Параметры = Новый Структура; + КонецЕсли; + + Возврат Новый ФиксированнаяСтруктура(Параметры); + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Получение идентификатора по объекту метаданных и наоборот + +// Только для внутреннего использования +Функция ИдентификаторОбъектаМетаданных(ПолноеИмяОбъектаМетаданных) Экспорт + + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(Истина); + + УстановитьПривилегированныйРежим(Истина); + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ПолноеИмя", ПолноеИмяОбъектаМетаданных); + Запрос.Текст = + "ВЫБРАТЬ + | Идентификаторы.Ссылка КАК Ссылка, + | Идентификаторы.КлючОбъектаМетаданных, + | Идентификаторы.ПолноеИмя + |ИЗ + | Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы + |ГДЕ + | Идентификаторы.ПолноеИмя = &ПолноеИмя + | И НЕ Идентификаторы.ПометкаУдаления"; + + Выгрузка = Запрос.Выполнить().Выгрузить(); + Если Выгрузка.Количество() = 0 Тогда + // Если идентификатор не найден по полному имени, возможно что полное имя задано с ошибкой + Если Метаданные.НайтиПоПолномуИмени(ПолноеИмяОбъектаМетаданных) = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Объект метаданных не найден по полному имени: + |""%1"".'"), + ПолноеИмяОбъектаМетаданных); + КонецЕсли; + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Для объекта метаданных ""%1"" + |не найден идентификатор + |в справочнике ""Идентификаторы объектов метаданных"".'") + + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), + ПолноеИмяОбъектаМетаданных); + ИначеЕсли Выгрузка.Количество() > 1 Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Для объекта метаданных ""%1"" + |найдено несколько идентификаторов + |в справочнике ""Идентификаторы объектов метаданных"".'") + + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), + ПолноеИмяОбъектаМетаданных); + КонецЕсли; + + // Проверка соответствия ключа объекта метаданных полному имени объекта метаданных + РезультатПроверки = Справочники.ИдентификаторыОбъектовМетаданных.КлючОбъектаМетаданныхСоответствуетПолномуИмени(Выгрузка[0]); + Если РезультатПроверки.НеСоответствует Тогда + Если РезультатПроверки.ОбъектМетаданных = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Для объекта метаданных ""%1"" + |найден идентификатор в справочнике ""Идентификаторы объектов метаданных"", + |которому соответствует удаленный объект метаданных.'") + + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), + ПолноеИмяОбъектаМетаданных); + Иначе + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Для объекта метаданных ""%1"" + |найден идентификатор в справочнике ""Идентификаторы объектов метаданных"", + |который соответствует другому объекту метаданных ""%2"".'") + + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), + ПолноеИмяОбъектаМетаданных, + РезультатПроверки.ОбъектМетаданных); + КонецЕсли; + КонецЕсли; + + Возврат Выгрузка[0].Ссылка; + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Использование справочника ИдентификаторыОбъектовМетаданных + // Только для внутреннего использования. Функция ОтключитьСправочникИдентификаторыОбъектовМетаданных() Экспорт @@ -402,16 +473,14 @@ КонецФункции // Только для внутреннего использования. -Функция ПараметрыРаботыПрограммы(ИмяКонстанты) Экспорт +Функция СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(ПроверитьОбновление = Ложь) Экспорт - Параметры = Константы[ИмяКонстанты].Получить().Получить(); + Справочники.ИдентификаторыОбъектовМетаданных.ПроверкаИспользования(); - Если ТипЗнч(Параметры) <> Тип("Структура") Тогда - Параметры = Новый Структура; + Если ПроверитьОбновление Тогда + Справочники.ИдентификаторыОбъектовМетаданных.ДанныеОбновлены(Истина); КонецЕсли; - Возврат Новый ФиксированнаяСтруктура(Параметры); - КонецФункции //////////////////////////////////////////////////////////////////////////////// @@ -501,23 +570,25 @@ КонецФункции -Функция ИменаПодчиненныхПодсистем(РодительскаяПодсистема) - - Имена = Новый Соответствие; +Процедура ВставитьИменаПодчиненныхПодсистем(Имена, РодительскаяПодсистема, Все = Ложь, ИмяРодительскойПодсистемы = "") Для каждого ТекущаяПодсистема Из РодительскаяПодсистема.Подсистемы Цикл - Имена.Вставить(ТекущаяПодсистема.Имя, Истина); - ИменаПодчиненных = ИменаПодчиненныхПодсистем(ТекущаяПодсистема); + Если ТекущаяПодсистема.ВключатьВКомандныйИнтерфейс И Не Все Тогда + Продолжить; + КонецЕсли; - Для каждого ИмяПодчиненной Из ИменаПодчиненных Цикл - Имена.Вставить(ТекущаяПодсистема.Имя + "." + ИмяПодчиненной.Ключ, Истина); - КонецЦикла; + ИмяТекущейПодсистемы = ИмяРодительскойПодсистемы + ТекущаяПодсистема.Имя; + Имена.Вставить(ИмяТекущейПодсистемы, Истина); + + Если ТекущаяПодсистема.Подсистемы.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + ВставитьИменаПодчиненныхПодсистем(Имена, ТекущаяПодсистема, Все, ИмяТекущейПодсистемы + "."); КонецЦикла; - Возврат Имена; - -КонецФункции +КонецПроцедуры Функция ПодготовленныеОбработчикиСерверногоСобытия(Событие, Служебное = Ложь, ПерваяПопытка = Истина) diff --git a/SSL/src/CommonModules/СтандартныеПодсистемыСервер/Module.bsl b/SSL/src/CommonModules/СтандартныеПодсистемыСервер/Module.bsl index b58a3b0cd..971489c8e 100644 --- a/SSL/src/CommonModules/СтандартныеПодсистемыСервер/Module.bsl +++ b/SSL/src/CommonModules/СтандартныеПодсистемыСервер/Module.bsl @@ -58,7 +58,12 @@ КонецЦикла; ОбработчикиСобственные = ОбщегоНазначенияПереопределяемый.ОбработчикиИнициализацииПараметровСеанса(); + Для Каждого Запись Из ОбработчикиСобственные Цикл + Обработчики.Вставить(Запись.Ключ, Запись.Значение); + КонецЦикла; + ОбработчикиСобственные = Новый Соответствие; + ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса(ОбработчикиСобственные); Для Каждого Запись Из ОбработчикиСобственные Цикл Обработчики.Вставить(Запись.Ключ, Запись.Значение); КонецЦикла; @@ -219,8 +224,8 @@ // через процедуру ПриДобавленииОбработчиковСлужебныхСобытий. // // Параметры: -// КлиентскиеСобытия - Массив, где значения типа Строка - полное имя события. -// СерверныеСобытия - Массив, где значения типа Строка - полное имя события. +// КлиентскиеСобытия - Массив - список значений типа Строка - полное имя события. +// СерверныеСобытия - Массив - список значений типа Строка - полное имя события. // // Для упрощения поддержки, рекомендуется делать вызов такой же // процедуры в общем модуле библиотеки. @@ -320,6 +325,11 @@ МодульПоставляемыеДанные.ПриДобавленииСлужебныхСобытий(КлиентскиеСобытия, СерверныеСобытия); КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + МодульТекущиеДелаСлужебный = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСлужебный"); + МодульТекущиеДелаСлужебный.ПриДобавленииСлужебныхСобытий(КлиентскиеСобытия, СерверныеСобытия); + КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.УправлениеДоступом") Тогда МодульУправлениеДоступомСлужебный = ОбщегоНазначения.ОбщийМодуль("УправлениеДоступомСлужебный"); МодульУправлениеДоступомСлужебный.ПриДобавленииСлужебныхСобытий(КлиентскиеСобытия, СерверныеСобытия); @@ -336,13 +346,13 @@ // через процедуру ПриДобавленииСлужебныхСобытий. // // Параметры: -// КлиентскиеОбработчики - Соответствие, где -// Ключ - Строка - полное имя события, -// Значение - Массив - массив имен клиентских общих модулей обработчиков. +// КлиентскиеОбработчики - Соответствие - список обработчиков: +// * Ключ - Строка - полное имя события, +// * Значение - Массив - массив имен клиентских общих модулей обработчиков. // -// СерверныеОбработчики - Соответствие, где -// Ключ - Строка - полное имя события, -// Значение - Массив - массив имен серверных общих модулей обработчиков. +// СерверныеОбработчики - Соответствие - список обработчиков: +// * Ключ - Строка - полное имя события, +// * Значение - Массив - массив имен серверных общих модулей обработчиков. // // Для упрощения поддержки, рекомендуется делать вызов такой же // процедуры в общем модуле библиотеки. @@ -391,9 +401,6 @@ Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); МодульВариантыОтчетов.ПриДобавленииОбработчиковСлужебныхСобытий(КлиентскиеОбработчики, СерверныеОбработчики); - - СерверныеОбработчики["СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"].Добавить( - "СтандартныеПодсистемыСервер"); КонецЕсли; Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Взаимодействия") Тогда @@ -867,7 +874,6 @@ // ИмяКонстанты - Строка - имя неразделенной константы, в которой сохраняется значение параметра. // ИмяПараметра - Строка - имя параметра, который нужно установить (без приставки ИзмененияПараметра). // ЗначениеПараметра - фиксированные данные, которые устанавливаются в качестве значения параметра. -// ТолькоПроверка - // Процедура УстановитьПараметрРаботыПрограммы(ИмяКонстанты, ИмяПараметра, ЗначениеПараметра) Экспорт @@ -1043,6 +1049,62 @@ КонецПроцедуры +// Удаляет вспомогательные данные для работы программы, хранимые в неразделенных константах. +// +// Параметры: +// ИмяКонстанты - Строка - имя неразделенной константы, в которой сохраняется значение параметра. +// ИмяПараметра - Строка - имя параметра, который нужно установить (без приставки ИзмененияПараметра). +// +Процедура УдалитьПараметрРаботыПрограммы(ИмяКонстанты, ИмяПараметра) Экспорт + + Блокировка = Новый БлокировкаДанных; + ЭлементБлокировки = Блокировка.Добавить("Константа." + ИмяКонстанты); + ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; + + Записать = Ложь; + + НачатьТранзакцию(); + Попытка + Блокировка.Заблокировать(); + + Параметры = Константы[ИмяКонстанты].Получить().Получить(); + Если ТипЗнч(Параметры) <> Тип("Структура") Тогда + Возврат; + КонецЕсли; + + Если Параметры.Свойство(ИмяПараметра) Тогда + Параметры.Удалить(ИмяПараметра); + Записать = Истина; + КонецЕсли; + + ИмяПараметраХраненияИзменений = "ИзмененияПараметра" + ИмяПараметра; + + Если Параметры.Свойство(ИмяПараметраХраненияИзменений) Тогда + Параметры.Удалить(ИмяПараметраХраненияИзменений); + Записать = Истина; + КонецЕсли; + + Если Записать Тогда + МенеджерЗначения = Константы[ИмяКонстанты].СоздатьМенеджерЗначения(); + МенеджерЗначения.ОбменДанными.Загрузка = Истина; + МенеджерЗначения.ОбменДанными.Получатели.Автозаполнение = Ложь; + МенеджерЗначения.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов"); + МенеджерЗначения.Значение = Новый ХранилищеЗначения(Параметры); + МенеджерЗначения.Записать(); + КонецЕсли; + + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + + Если Записать Тогда + ОбновитьПовторноИспользуемыеЗначения(); + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Дополнительная базовая функциональность для обмена данными @@ -1297,6 +1359,15 @@ КонецПроцедуры +// Сохраняет ссылку на главный узел в константе ГлавныйУзел для возможности восстановления. +Процедура СохранитьГлавныйУзел() Экспорт + + ГлавныйУзелМенеджер = Константы.ГлавныйУзел.СоздатьМенеджерЗначения(); + ГлавныйУзелМенеджер.Значение = ПланыОбмена.ГлавныйУзел(); + ОбновлениеИнформационнойБазы.ЗаписатьДанные(ГлавныйУзелМенеджер); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики отправки и получения данных для обмена в распределенной ИБ @@ -1514,10 +1585,10 @@ // то в параметр <Объект> необходимо добавить эти объекты метаданных. // // Параметры: -// Объекты - Массив. Массив объектов метаданных конфигурации, которые необходимо включить в состав плана обмена. -// РаспределеннаяИнформационнаяБаза (только чтение) - Булево. Признак получения объектов для плана обмена РИБ. -// Истина - требуется получить список объектов плана обмена РИБ; -// Ложь - требуется получить список для плана обмена НЕ РИБ. +// Объекты - Массив - список объектов метаданных конфигурации, которые необходимо включить в состав плана обмена. +// РаспределеннаяИнформационнаяБаза - Булево - (только чтение) Признак получения объектов для плана обмена РИБ. +// Истина - требуется получить список объектов плана обмена РИБ; +// Ложь - требуется получить список для плана обмена НЕ РИБ. // Процедура ПриПолученииОбязательныхОбъектовПланаОбмена(Объекты, Знач РаспределеннаяИнформационнаяБаза) Экспорт @@ -1534,10 +1605,10 @@ // то в параметр <Объект> необходимо добавить эти объекты метаданных. // // Параметры: -// Объекты - Массив. Массив объектов метаданных конфигурации, которые не следует включать в состав плана обмена. -// РаспределеннаяИнформационнаяБаза (только чтение) - Булево. Признак получения объектов для плана обмена РИБ. -// Истина - требуется получить список объектов-исключений плана обмена РИБ; -// Ложь - требуется получить список для плана обмена НЕ РИБ. +// Объекты - Массив - список объектов метаданных конфигурации, которые не следует включать в состав плана обмена. +// РаспределеннаяИнформационнаяБаза - Булево - (только чтение) Признак получения объектов для плана обмена РИБ. +// Истина - требуется получить список объектов-исключений плана обмена РИБ; +// Ложь - требуется получить список для плана обмена НЕ РИБ. // Процедура ПриПолученииОбъектовИсключенийПланаОбмена(Объекты, Знач РаспределеннаяИнформационнаяБаза) Экспорт @@ -1562,12 +1633,11 @@ // то в параметр <Объект> необходимо добавить эти объекты метаданных. // // Параметры: -// Объекты - Массив. Массив объектов метаданных конфигурации. +// Объекты - Массив - список объектов метаданных конфигурации. // Процедура ПриПолученииОбъектовНачальногоОбразаПланаОбмена(Объекты) Экспорт Объекты.Добавить(Метаданные.Константы.ПараметрыСлужебныхСобытий); - Объекты.Добавить(Метаданные.Константы.ПараметрыБазовойФункциональности); КонецПроцедуры @@ -1582,15 +1652,7 @@ // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); - - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.МестаИспользованияСсылок); - - МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, Отчет, Ложь); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "Основной"); - Вариант.Описание = НСтр("ru = 'Поиск мест использования объектов приложения.'"); - Вариант.Включен = Ложь; - + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.МестаИспользованияСсылок); КонецПроцедуры // Заполняет перечень запросов внешних разрешений, которые обязательно должны быть предоставлены @@ -1624,7 +1686,7 @@ // ОбъектМетаданных - ОбъектМетаданных - регистр или ссылочный объект. // // Возвращаемое значение: -// Тип ссылки или ключа записи. +// Тип. // Функция ТипСсылкиИлиКлючаЗаписиОбъектаМетаданных(ОбъектМетаданных) Экспорт @@ -1658,7 +1720,7 @@ // ОбъектМетаданных - ОбъектМетаданных - регистр или ссылочный объект. // // Возвращаемое значение: -// Тип объекта или набора записей. +// Тип. // Функция ТипОбъектаИлиНабораЗаписейОбъектаМетаданных(ОбъектМетаданных) Экспорт @@ -1687,6 +1749,42 @@ КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции работы с формами + +// Устанавливает размер шрифта заголовков групп формы для их корректного отображения в интерфейсе 8.2. +// +// Параметры: +// Форма - УправляемаяФорма - Форма для изменения шрифта заголовков групп; +// ИменаГрупп - Строка - Список имен групп формы, разделенных запятыми. +// +Процедура УстановитьОтображениеЗаголовковГрупп(Форма, ИменаГрупп = "") Экспорт + + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + ЖирныйШрифт = Новый Шрифт(,, Истина); + Если НЕ ЗначениеЗаполнено(ИменаГрупп) Тогда + Для Каждого Элемент из Форма.Элементы Цикл + Если Тип(Элемент) = Тип("ГруппаФормы") И + Элемент.Вид = ВидГруппыФормы.ОбычнаяГруппа И + Элемент.ОтображатьЗаголовок = Истина И ( + Элемент.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение ИЛИ + Элемент.Отображение = ОтображениеОбычнойГруппы.Нет ) Тогда + Элемент.ШрифтЗаголовка = ЖирныйШрифт; + КонецЕсли; + КонецЦикла; + Иначе + МассивЗаголовков = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИменаГрупп,,, Истина); + Для Каждого ИмяЗаголовка Из МассивЗаголовков Цикл + Элемент = Форма.Элементы[ИмяЗаголовка]; + Если Элемент.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение ИЛИ Элемент.Отображение = ОтображениеОбычнойГруппы.Нет Тогда + Элемент.ШрифтЗаголовка = ЖирныйШрифт; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Прочие процедуры и функции. @@ -1694,11 +1792,10 @@ // метаданных. Может потребоваться при обновлении информационной базы. // // Параметры: -// ПолноеИмя - полное имя объекта метаданных, который может содержать -// предопределенные элементы. +// ПолноеИмя - Строка - полное имя объекта метаданных, который может содержать предопределенные элементы. // // Возвращаемое значение: -// ФиксированныйМассив имен предопределенных элементов. +// ФиксированныйМассив. // Функция ИменаПредопределенныхДанных(ПолноеИмя) Экспорт @@ -1800,7 +1897,7 @@ ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных()); Параметры.Вставить("ЭтоРазделеннаяКонфигурация", ОбщегоНазначенияПовтИсп.ЭтоРазделеннаяКонфигурация()); - Параметры.Вставить("ЕстьДоступДляОбновленияВерсииПлатформы", ПравоДоступа("Администрирование", Метаданные)); + Параметры.Вставить("ЕстьДоступДляОбновленияВерсииПлатформы", Пользователи.ЭтоПолноправныйПользователь(,Истина)); Параметры.Вставить("ИменаПодсистем", СтандартныеПодсистемыПовтИсп.ИменаПодсистем()); @@ -1942,10 +2039,11 @@ КонецЕсли; КонецЕсли; - Если Параметры.ПолученныеПараметрыКлиента <> Неопределено - И НЕ Параметры.ПолученныеПараметрыКлиента.Свойство("ДействияПередАвторизациейПользователяВыполнены") Тогда - - Возврат Ложь; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда + МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); + Если МодульАвтономнаяРаботаСлужебный.ПродолжитьНастройкуАвтономногоРабочегоМеста(Параметры) Тогда + Возврат Ложь; + КонецЕсли; КонецЕсли; ОшибкаАвторизации = ПользователиСлужебный.АвторизоватьТекущегоПользователя(Истина); @@ -1964,7 +2062,7 @@ // Требуется привилегированный режим. // // Параметры: -// Запуск - Булево. Если установить Истина, состояние будет установлено, +// Запуск - Булево - Если установить Истина, состояние будет установлено, // если установить Ложь, состояние будет снято. // Процедура УстановитьЗапускОбновленияИнформационнойБазы(Запуск) Экспорт @@ -2055,7 +2153,7 @@ // ИмяПодсистемы - Строка - Имя подсистемы. // // Возвращаемое значение: -// Массив строк. +// Массив - список значений типа Строка. // Функция ПоддерживаемыеВерсии(ИмяПодсистемы) Экспорт @@ -2082,15 +2180,17 @@ // Возвращает соответствие имен событий массивам их обработчиков. // // Возвращаемое значение: -// Структура со свойствами: -// НаКлиенте - Соответствие (см. ниже) -// НаСервере - Соответствие (см. ниже) -// -// Соответствие, где -// Ключ - Строка - полное имя события, -// Значение - Массив структур со свойствами: -// Версия - Строка - версия обработчика (пустая, если не была указана), -// Модуль - имя модуля в котором размещен обработчик. +// Структура - информация об обработчиках событий: +// * НаКлиенте - Соответствие - +// ** Ключ - Строка - полное имя события, +// ** Значение - Массив - список структур со свойствами: +// *** Версия - Строка - версия обработчика (пустая, если не была указана), +// *** Модуль - Строка - имя модуля, в котором размещен обработчик. +// * НаСервере - Соответствие - +// ** Ключ - Строка - полное имя события, +// ** Значение - Массив - список структур со свойствами: +// *** Версия - Строка - версия обработчика (пустая, если не была указана), +// *** Модуль - Строка - имя модуля, в котором размещен обработчик. // Функция ОбработчикиСобытий() Экспорт @@ -2341,7 +2441,7 @@ // Проверка загрузки идентификаторов объектов метаданных из главного узла. СписокКритичныхИзменений = ""; Попытка - Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(, , Истина, , , СписокКритичныхИзменений); + Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(, , Истина, , СписокКритичныхИзменений); Исключение Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда // Сброс кэша сообщения обмена. @@ -2499,13 +2599,6 @@ Обработчик.ОбщиеДанные = Истина; Обработчик.МонопольныйРежим = Ложь; - Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "*"; - Обработчик.Процедура = "СтандартныеПодсистемыСервер.СоздатьНеразделенныеПредопределенныеЭлементы"; - Обработчик.Приоритет = 99; - Обработчик.ОбщиеДанные = Истина; - Обработчик.МонопольныйРежим = Ложь; - Обработчик = Обработчики.Добавить(); Обработчик.Версия = "2.1.3.4"; Обработчик.Процедура = "СтандартныеПодсистемыСервер.УстановитьВерсиюОписанийИзменений"; @@ -2515,6 +2608,11 @@ Обработчик.ОбщиеДанные = Истина; Обработчик.Процедура = "СтандартныеПодсистемыСервер.ОбновитьПараметрыАдминистрированияИнформационнойБазы"; + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.3.35"; + Обработчик.ОбщиеДанные = Истина; + Обработчик.Процедура = "СтандартныеПодсистемыСервер.УстановитьЗначениеКонстантыГлавныйУзел"; + КонецПроцедуры // Устанавливает корректное значение константе НеИспользоватьРазделениеПоОбластямДанных @@ -2637,52 +2735,6 @@ КонецПроцедуры -// Обработчик создания/обновления предопределенных элементов -// неразделенных объектов метаданных. -// -Процедура СоздатьНеразделенныеПредопределенныеЭлементы() Экспорт - - УстановитьПривилегированныйРежим(Истина); - - Если НЕ ОбщегоНазначенияПовтИсп.ЭтоРазделеннаяКонфигурация() Тогда - // Для конфигураций без разделения данных действий не требуется. - Возврат; - КонецЕсли; - - Если ОбщегоНазначенияПовтИсп.РазделениеВключено() - И ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных() Тогда - // В разделенном сеансе действия недоступны и не требуются. - Возврат; - КонецЕсли; - - Если НЕ ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.БазоваяФункциональностьВМоделиСервиса") Тогда - // Действия не рассчитаны на произвольные способы разделения. - Возврат; - КонецЕсли; - - ОсновнойРазделитель = ОбщегоНазначенияПовтИсп.РазделительОсновныхДанных(); - ВспомогательныйРазделитель = ОбщегоНазначенияПовтИсп.РазделительВспомогательныхДанных(); - - КоллекцииМетаданных = Новый Массив; - КоллекцииМетаданных.Добавить(Метаданные.Справочники); - КоллекцииМетаданных.Добавить(Метаданные.ПланыВидовХарактеристик); - КоллекцииМетаданных.Добавить(Метаданные.ПланыСчетов); - КоллекцииМетаданных.Добавить(Метаданные.ПланыВидовРасчета); - - Для каждого Коллекция Из КоллекцииМетаданных Цикл - Для Каждого ОбъектМетаданных Из Коллекция Цикл - ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); - Если Не ОбщегоНазначенияПовтИсп.ЭтоРазделенныйОбъектМетаданных(ПолноеИмя, ОсновнойРазделитель) - И Не ОбщегоНазначенияПовтИсп.ЭтоРазделенныйОбъектМетаданных(ПолноеИмя, ВспомогательныйРазделитель) Тогда - - МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); - МенеджерОбъекта.Выбрать().Следующий(); - КонецЕсли; - КонецЦикла; - КонецЦикла; - -КонецПроцедуры - // Удаляет сохраненные пароли и изменяет структуру хранения настроек. // Процедура ОбновитьПараметрыАдминистрированияИнформационнойБазы() Экспорт @@ -2724,6 +2776,21 @@ КонецПроцедуры +// Обновляет значение константы Главный узел в узлах АРМ +// +Процедура УстановитьЗначениеКонстантыГлавныйУзел() Экспорт + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбменДанными") Тогда + + МодульОбменДаннымиПовтИсп = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиПовтИсп"); + Если МодульОбменДаннымиПовтИсп.ЭтоАвтономноеРабочееМесто() Тогда + СохранитьГлавныйУзел(); + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Подтверждение завершения работы программы @@ -2747,6 +2814,60 @@ Возврат Результат; КонецФункции +//////////////////////////////////////////////////////////////////////////////// +// Обработчики подписок на события + +// Обработчик события ПередЗаписью предопределенных элементов +Процедура ЗапретитьПометкуУдаленияПредопределенныхЭлементовПередЗаписью(Источник, Отказ) Экспорт + + Если Источник.ОбменДанными.Загрузка + Или Источник.ИмяПредопределенныхДанных = "" + Или Источник.ПометкаУдаления <> Истина Тогда + Возврат; + КонецЕсли; + + Если Источник.ЭтоНовый() Тогда + ВызватьИсключение + НСтр("ru = 'Недопустимо создавать предопределенный элемент помеченный на удаление.'"); + Иначе + СтарыеСвойства = ОбщегоНазначения.ПолучитьЗначенияРеквизитов( + Источник.Ссылка, "ПометкаУдаления, ИмяПредопределенныхДанных"); + + Если СтарыеСвойства.ИмяПредопределенныхДанных <> "" + И СтарыеСвойства.ПометкаУдаления <> Истина Тогда + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Недопустимо помечать на удаление предопределенный элемент: + |""%1"".'"), + Строка(Источник.Ссылка)); + + ИначеЕсли СтарыеСвойства.ИмяПредопределенныхДанных = "" + И СтарыеСвойства.ПометкаУдаления = Истина Тогда + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Недопустимо связывать с именем предопределенного элемент, помеченный на удаление: + |""%1"".'"), + Строка(Источник.Ссылка)); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +// Обработчик события ПередУдалением предопределенных элементов +Процедура ЗапретитьУдалениеПредопределенныхЭлементовПередУдалением(Источник, Отказ) Экспорт + + Если Источник.ОбменДанными.Загрузка + Или Источник.ИмяПредопределенныхДанных = "" Тогда + Возврат; + КонецЕсли; + + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Недопустимо удалять предопределенный элемент + |""%1"".'"), + Строка(Источник.Ссылка)); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработка подписок на события планов обмена РИБ @@ -2892,19 +3013,19 @@ // Привилегированный режим (установлен платформой). // Проверка основного языка программирования, установленного в конфигурации. - ОбщегоНазначенияКлиентСервер.Проверить( - Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский, - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Если Метаданные.ВариантВстроенногоЯзыка <> Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Вариант встроенного языка конфигурации ""%1"" не поддерживается. |Необходимо использовать вариант языка ""%2"".'"), Метаданные.ВариантВстроенногоЯзыка, - Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский)); - + Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский); + КонецЕсли; + // Проверка настройки совместимости конфигурации с версией платформы. СистемнаяИнформация = Новый СистемнаяИнформация; - ОбщегоНазначенияКлиентСервер.Проверить(ОбщегоНазначенияКлиентСервер.СравнитьВерсии( - СистемнаяИнформация.ВерсияПриложения, "8.3.4.365") >= 0, - НСтр("ru = 'Для запуска необходима версия платформы 1С:Предприятие 8.3.4.365 или выше.'")); + Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(СистемнаяИнформация.ВерсияПриложения, "8.3.4.365") < 0 Тогда + ВызватьИсключение НСтр("ru = 'Для запуска необходима версия платформы 1С:Предприятие 8.3.4.365 или выше.'"); + КонецЕсли; Режимы = Метаданные.СвойстваОбъектов.РежимСовместимости; ТекущийРежим = Метаданные.РежимСовместимости; @@ -3313,7 +3434,7 @@ // Синтаксис: // Процедура ПриОбработкеПараметровЗапуска(ПервыйПараметр, ПараметрыЗапуска, Отказ) Экспорт // - // (То же, что ОбщегоНазначенияКлиентПереопределяемый.ОбработатьПараметрыЗапуска). + // (То же, что ОбщегоНазначенияКлиентПереопределяемый.ПриОбработкеПараметровЗапуска). КлиентскиеСобытия.Добавить( "СтандартныеПодсистемы.БазоваяФункциональность\ПриОбработкеПараметровЗапуска"); @@ -3332,22 +3453,9 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: - // Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: - // ТекстФлажка - Строка - текст флажка. - // ПоясняющийТекст - Строка - текст, выводимый в форме сверху - // управляющего элемента (флажок или гиперссылка). - // ТекстГиперссылки - Строка - текст гиперссылки. - // ДействиеПриУстановленномФлажке - Структура с полями: - // Форма - путь к открываемой форме. - // ПараметрыФормы - произвольная структура параметров формы Форма. - // ДействиеПриНажатииГиперссылки - Структура с полями: - // Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. - // ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. - // ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу - // вместо универсальной формы в случае, когда в списке - // предупреждений оказывается только одно данное предупреждение. - // ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура - // параметров для вышеописанной формы. + // Предупреждения - Массив - в массив можно добавить элементы типа Структура, + // свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. + // // Синтаксис: // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт // @@ -3373,7 +3481,7 @@ // Синтаксис: // Процедура ПриДобавленииОбработчиковУстановкиПараметровСеанса(Обработчики) Экспорт // - // (То же, что ОбщегоНазначенияПереопределяемый.ОбработчикиИнициализацииПараметровСеанса). + // (То же, что ОбщегоНазначенияПереопределяемый.ПриДобавленииОбработчиковУстановкиПараметровСеанса). СерверныеСобытия.Добавить( "СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииОбработчиковУстановкиПараметровСеанса"); @@ -3410,7 +3518,7 @@ // Синтаксис: // Процедура ПриДобавленииИсключенийПоискаСсылок(Исключения) Экспорт // - // (То же, что ОбщегоНазначенияПереопределяемый.ПолучитьИсключенияПоискаСсылок). + // (То же, что ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок). СерверныеСобытия.Добавить( "СтандартныеПодсистемы.БазоваяФункциональность\ПриДобавленииИсключенийПоискаСсылок"); @@ -3758,6 +3866,11 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам"].Добавить( "СтандартныеПодсистемыСервер"); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ВариантыОтчетов\ПриНастройкеВариантовОтчетов"].Добавить( + "СтандартныеПодсистемыСервер"); + КонецЕсли; + Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.ВыгрузкаЗагрузкаДанных") Тогда СерверныеОбработчики[ "ТехнологияСервиса.ВыгрузкаЗагрузкаДанных\ПриЗаполненииТиповОбщихДанныхПоддерживающихСопоставлениеСсылокПриЗагрузке"].Добавить( @@ -3959,7 +4072,7 @@ ЕстьТекущиеИзменения = Ложь; Если ТолькоПроверка Тогда // Проверка только критичных изменений: добавление, удаление или переименование объектов метаданных. - Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(, ЕстьТекущиеИзменения, ТолькоПроверка, ЕстьТекущиеИзменения, ЕстьТекущиеИзменения); + Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(, ЕстьТекущиеИзменения, ТолькоПроверка, ЕстьТекущиеИзменения); Иначе Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(ЕстьТекущиеИзменения); КонецЕсли; diff --git a/SSL/src/CommonModules/СтроковыеФункцииКлиентСервер/Module.bsl b/SSL/src/CommonModules/СтроковыеФункцииКлиентСервер/Module.bsl index 5054a162f..cbd40247e 100644 --- a/SSL/src/CommonModules/СтроковыеФункцииКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/СтроковыеФункцииКлиентСервер/Module.bsl @@ -343,7 +343,7 @@ // УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются // // Возвращаемое значение: -// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит не только цифры. +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. // Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт @@ -385,8 +385,8 @@ // ДопустимыеСимволы - строка для проверки. // // Возвращаемое значение: -// Истина - строка содержит только кириллические (или допустимые) символы или пустая; -// Ложь - строка содержит не только кириллические (или допустимые) символы. +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. // Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт @@ -426,8 +426,8 @@ // ДопустимыеСимволы - строка для проверки. // // Возвращаемое значение: -// Истина - строка содержит только латинские (или допустимые) символы; -// Ложь - строка содержит не только латинские (или допустимые) символы. +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. // Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт @@ -658,10 +658,6 @@ // Строка - строка после замены символов. // // Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические символы. -// Функция не анализирует повторную замену символов, поэтому такой вызов: -// ЗаменитьОдниСимволыДругими("кр", "карета", "гз") вернет слово "газета", а -// ЗаменитьОдниСимволыДругими("кр", "карета", "рк") не вернет слово "ракета". -// Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт Результат = Строка; diff --git a/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/Module.bsl b/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/Module.bsl new file mode 100644 index 000000000..984c0428c --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/Module.bsl @@ -0,0 +1,66 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Текущие дела". +// +//////////////////////////////////////////////////////////////////////////////// + +#Область ПрограммныйИнтерфейс + +// Заполняет список обработчиков текущих дел. +// +// Параметры: +// Обработчики - Массив - массив ссылок на модули менеджеров или общие модули, в которых +// определена процедура ПриЗаполненииСпискаТекущихДел. +// +Процедура ПриОпределенииОбработчиковТекущихДел(Обработчики) Экспорт + + + +КонецПроцедуры + +// Получает список разделов командного интерфейса в заданном порядке. +// +// Параметры: +// Разделы - Массив - массив разделов командного интерфейса. +// Задает начальный порядок разделов в панели текущих дел. +// +Процедура ПриОпределенииПорядкаРазделовКомандногоИнтерфейса(Разделы) Экспорт + + + +КонецПроцедуры + +// Устанавливает общие параметры запросов для расчета текущих дел. +// см. ТекущиеДелаСлужебный.УстановитьОбщиеПараметрыЗапросов() +// +// Параметры: +// Запрос - выполняемый запрос +// ОбщиеПараметрыЗапросов - Структура - общие значения для расчета текущих дел +// +Процедура УстановитьОбщиеПараметрыЗапросов(Запрос, ОбщиеПараметрыЗапросов) Экспорт + +КонецПроцедуры + +// Процедура-обработчик, вызываемая в форме расшифровки текущего дела. +// Устанавливает параметры открытия формы и необходимые отборы списка формы. +// +// Параметры: +// Форма - УправляемаяФорма +// Список - ДинамическийСписок +// +Процедура ПриСозданииНаСервере(Форма, Список) Экспорт + +КонецПроцедуры + +// Процедура-обработчик, вызываемая в форме расшифровки текущего дела. +// Позволяет заменить сохраненные значения реквизитов формы +// Заменяет сохраненные значения реквизитов формы на свойства Форма.Параметры.СтруктураБыстрогоОтбора +// +// Параметры: +// Форма - УправляемаяФорма +// Настройки - Соответствие +// +Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Форма, Настройки) Экспорт + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/ТекущиеДелаПереопределяемый.mdo b/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/ТекущиеДелаПереопределяемый.mdo new file mode 100644 index 000000000..2e6eaf993 --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаПереопределяемый/ТекущиеДелаПереопределяемый.mdo @@ -0,0 +1,11 @@ + + + ТекущиеДелаПереопределяемый + + ru + Текущие дела переопределяемый + + true + true + true + diff --git a/SSL/src/CommonModules/ТекущиеДелаСлужебный/Module.bsl b/SSL/src/CommonModules/ТекущиеДелаСлужебный/Module.bsl new file mode 100644 index 000000000..0cbfd3dc6 --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаСлужебный/Module.bsl @@ -0,0 +1,281 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Текущие дела". +// +//////////////////////////////////////////////////////////////////////////////// + +#Область СлужебныйПрограммныйИнтерфейс + +// Объявляет служебные события подсистемы ТекущиеДела. +// +// Серверные события: +// ПриЗаполненииСпискаТекущихДел. +// +// См. описание этой же процедуры в модуле СтандартныеПодсистемыСервер. +Процедура ПриДобавленииСлужебныхСобытий(КлиентскиеСобытия, СерверныеСобытия) Экспорт + + // СЕРВЕРНЫЕ СОБЫТИЯ. + + // Заполняет список текущих дел пользователя. + // + // Параметры: + // ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: + // * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". + // * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. + // * Важное - Булево - если Истина, дело будет выделено красным цветом. + // * Представление - Строка - представление дела, выводимое пользователю. + // * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. + // * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку + // дела на панели "Текущие дела". + // * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. + // * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего + // или объект метаданных подсистема. + // * Подсказка - Строка - текст подсказки. + // + // Синтаксис: + // Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + // + СерверныеСобытия.Добавить("СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"); + +КонецПроцедуры + +// Заполняет список текущих дел пользователя. +// +// Параметры: +// АдресХранилища - Строка - адрес временного хранилища, куда будет помещен +// результат выполнения функции. +// Если не задано, возвращает таблицу значения. +// +// Возвращаемое значение: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Функция СписокТекущихДелПользователя(АдресХранилища = Неопределено) Экспорт + + ТекущиеДела = НоваяТаблицаТекущихДел(); + + // Заполнение текущих дел БСП. + ОбработчикиСобытия = ОбщегоНазначения.ОбработчикиСлужебногоСобытия( + "СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"); + + Для каждого Обработчик Из ОбработчикиСобытия Цикл + Обработчик.Модуль.ПриЗаполненииСпискаТекущихДел(ТекущиеДела); + КонецЦикла; + + // Добавление дел от прикладных конфигураций. + ОбработчикиЗаполненияДел = Новый Массив; + ТекущиеДелаПереопределяемый.ПриОпределенииОбработчиковТекущихДел(ОбработчикиЗаполненияДел); + + Для Каждого Обработчик Из ОбработчикиЗаполненияДел Цикл + Обработчик.ПриЗаполненииСпискаТекущихДел(ТекущиеДела); + КонецЦикла; + + // Постобработка результата. + ПреобразоватьТаблицуТекущихДел(ТекущиеДела); + + Если АдресХранилища = Неопределено Тогда + Возврат ТекущиеДела; + Иначе + ПоместитьВоВременноеХранилище(ТекущиеДела, АдресХранилища); + КонецЕсли; + +КонецФункции + +// Возвращает структуру сохраненных настроек отображения дел +// для текущего пользователя. +// +Функция СохраненныеНастройкиОтображения() Экспорт + + НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); + Если НастройкиОтображения = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Если ТипЗнч(НастройкиОтображения) <> Тип("Структура") Тогда + Возврат Неопределено; + КонецЕсли; + + Если НастройкиОтображения.Свойство("ДеревоДел") + И НастройкиОтображения.Свойство("ВидимостьРазделов") + И НастройкиОтображения.Свойство("ВидимостьДел") Тогда + Возврат НастройкиОтображения; + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +// Получает числовые значения дел из переданного запроса. +// +// Запрос с данными должен содержать только одну строку с произвольным количеством полей. +// Значения этих полей должны являться значениями соответствующих показателей. +// +// Пример простейшего запроса: +// ВЫБРАТЬ +// Количество(*) КАК <Имя предопределенного элемента - показателя количества документов> +// ИЗ +// Документ.<Имя документа> +// +// Параметры: +// Запрос - выполняемый запрос +// ОбщиеПараметрыЗапросов - Структура - общие значения для расчета текущих дел. +// +Функция ЧисловыеПоказателиТекущихДел(Запрос, ОбщиеПараметрыЗапросов = Неопределено) Экспорт + + // Установим общие параметры для всех запросов. + // Специфические параметры этого запроса, если таковые имеются, должны быть установлены ранее. + Если Не ОбщиеПараметрыЗапросов = Неопределено Тогда + УстановитьОбщиеПараметрыЗапросов(Запрос, ОбщиеПараметрыЗапросов); + КонецЕсли; + + Результат = Запрос.ВыполнитьПакет(); + + НомераЗапросовПакета = Новый Массив; + НомераЗапросовПакета.Добавить(Результат.Количество() - 1); + + // Выберем все запросы с данными + РезультатЗапроса = Новый Структура; + Для Каждого НомерЗапроса Из НомераЗапросовПакета Цикл + + Выборка = Результат[НомерЗапроса].Выбрать(); + + Если Выборка.Следующий() Тогда + + Для Каждого Колонка Из Результат[НомерЗапроса].Колонки Цикл + ЗначениеДела = ?(ТипЗнч(Выборка[Колонка.Имя]) = Тип("Null"), 0, Выборка[Колонка.Имя]); + РезультатЗапроса.Вставить(Колонка.Имя, ЗначениеДела); + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + + Возврат РезультатЗапроса; + +КонецФункции + +// Возвращает структуру общих значений, используемых для расчета текущих дел. +// +// Возвращаемое значение: +// Структура - имя значение и само значение +// +Функция ОбщиеПараметрыЗапросов() Экспорт + + ОбщиеПараметрыЗапросов = Новый Структура; + ОбщиеПараметрыЗапросов.Вставить("Пользователь", ПользователиКлиентСервер.ТекущийПользователь()); + ОбщиеПараметрыЗапросов.Вставить("ЭтоПолноправныйПользователь", Пользователи.ЭтоПолноправныйПользователь()); + ОбщиеПараметрыЗапросов.Вставить("ТекущаяДата", ТекущаяДатаСеанса()); + ОбщиеПараметрыЗапросов.Вставить("ПустаяДата", '00010101000000'); + + Возврат ОбщиеПараметрыЗапросов; + +КонецФункции + +// Устанавливает общие параметры запросов для расчета текущих дел. +// +// Параметры: +// Запрос - выполняемый запрос +// ОбщиеПараметрыЗапросов - Структура - общие значения для расчета показателей +// +Процедура УстановитьОбщиеПараметрыЗапросов(Запрос, ОбщиеПараметрыЗапросов) Экспорт + + Для Каждого КлючИЗначение Из ОбщиеПараметрыЗапросов Цикл + Запрос.УстановитьПараметр(КлючИЗначение.Ключ, КлючИЗначение.Значение); + КонецЦикла; + + ТекущиеДелаПереопределяемый.УстановитьОбщиеПараметрыЗапросов(Запрос, ОбщиеПараметрыЗапросов); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Только для внутреннего использования. +// +Процедура ПреобразоватьТаблицуТекущихДел(ТекущиеДела) + + ТекущиеДела.Колонки.Добавить("ИдентификаторВладельца", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + ТекущиеДела.Колонки.Добавить("ЭтоРаздел", Новый ОписаниеТипов("Булево")); + ТекущиеДела.Колонки.Добавить("ПредставлениеРаздела", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + + УдаляемыеДела = Новый Массив; + Для Каждого Дело Из ТекущиеДела Цикл + + Если ТипЗнч(Дело.Владелец) = Тип("ОбъектМетаданных") Тогда + РазделДоступен = ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Дело.Владелец); + Если Не РазделДоступен Тогда + УдаляемыеДела.Добавить(Дело); + Продолжить; + КонецЕсли; + + Дело.ИдентификаторВладельца = СтрЗаменить(Дело.Владелец.ПолноеИмя(), ".", ""); + Дело.ЭтоРаздел = Истина; + Дело.ПредставлениеРаздела = Дело.Владелец.Синоним; + Иначе + ЭтоИдентификаторДела = (ТекущиеДела.Найти(Дело.Владелец, "Идентификатор") <> Неопределено); + Если ЭтоИдентификаторДела Тогда + Дело.ИдентификаторВладельца = Дело.Владелец; + Иначе + Дело.ИдентификаторВладельца = СтрЗаменить(Дело.Владелец, " ", ""); + Дело.ЭтоРаздел = Истина; + Дело.ПредставлениеРаздела = Дело.Владелец; + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + Для Каждого УдаляемоеДело Из УдаляемыеДела Цикл + ТекущиеДела.Удалить(УдаляемоеДело); + КонецЦикла; + + ТекущиеДела.Колонки.Удалить("Владелец"); + +КонецПроцедуры + +// Создает пустую таблицу дел пользователя. +// +// Возвращаемое значение: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - +// ОбъектМетаданных: Подсистема - подсистема командного интерфейса, в которой +// будет размещено данное дело. +// Строка - идентификатор дела верхнего уровня, требуется +// для указания владельца дочернего дела (расшифровки дела верхнего уровня). +// * Подсказка - Строка - текст подсказки. +// +Функция НоваяТаблицаТекущихДел() + + ДелаПользователя = Новый ТаблицаЗначений; + ДелаПользователя.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + ДелаПользователя.Колонки.Добавить("ЕстьДела", Новый ОписаниеТипов("Булево")); + ДелаПользователя.Колонки.Добавить("Важное", Новый ОписаниеТипов("Булево")); + ДелаПользователя.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + ДелаПользователя.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число")); + ДелаПользователя.Колонки.Добавить("Форма", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + ДелаПользователя.Колонки.Добавить("ПараметрыФормы", Новый ОписаниеТипов("Структура")); + ДелаПользователя.Колонки.Добавить("Владелец"); + ДелаПользователя.Колонки.Добавить("Подсказка", Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(250))); + + Возврат ДелаПользователя; + +КонецФункции + +#КонецОбласти diff --git a/SSL/src/CommonModules/ТекущиеДелаСлужебный/ТекущиеДелаСлужебный.mdo b/SSL/src/CommonModules/ТекущиеДелаСлужебный/ТекущиеДелаСлужебный.mdo new file mode 100644 index 000000000..cc001786a --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаСлужебный/ТекущиеДелаСлужебный.mdo @@ -0,0 +1,11 @@ + + + ТекущиеДелаСлужебный + + ru + Текущие дела служебный + + true + true + true + diff --git a/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/Module.bsl b/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/Module.bsl new file mode 100644 index 000000000..4c735d88f --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/Module.bsl @@ -0,0 +1,75 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Текущие дела". +// +//////////////////////////////////////////////////////////////////////////////// + +#Область СлужебныйПрограммныйИнтерфейс + +// Возвращает соответствие объектов метаданных и подсистем командного интерфейса. +// +// Возвращаемое значение: +// Соответствие, где ключем является полное имя объекта, а значение - массив подсистем +// командного интерфейса программы, в которые входит данный объект. +// +Функция ПринадлежностьОбъектовРазделамКомандногоИнтерфейса() Экспорт + + СоответствиеОбъектовИПодсистем = Новый Соответствие; + + Для Каждого Подсистема Из Метаданные.Подсистемы Цикл + Если Не Подсистема.ВключатьВКомандныйИнтерфейс + Или Не ПравоДоступа("Просмотр", Подсистема) + Или Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Подсистема) Тогда + Продолжить; + КонецЕсли; + + Для Каждого Объект Из Подсистема.Состав Цикл + ПодсистемыОбъекта = СоответствиеОбъектовИПодсистем[Объект.ПолноеИмя()]; + Если ПодсистемыОбъекта = Неопределено Тогда + ПодсистемыОбъекта = Новый Массив; + ИначеЕсли ПодсистемыОбъекта.Найти(Подсистема) <> Неопределено Тогда + Продолжить; + КонецЕсли; + ПодсистемыОбъекта.Добавить(Подсистема); + СоответствиеОбъектовИПодсистем.Вставить(Объект.ПолноеИмя(), ПодсистемыОбъекта); + КонецЦикла; + + ДобавитьОбъектыПодчиненныхПодсистем(Подсистема, СоответствиеОбъектовИПодсистем); + КонецЦикла; + + Возврат СоответствиеОбъектовИПодсистем; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Только для внутреннего использования +// +Процедура ДобавитьОбъектыПодчиненныхПодсистем(ПодсистемаПервогоУровня, СоответствиеОбъектовИПодсистем, ПодсистемаРодитель = Неопределено) + + Подсистемы = ?(ПодсистемаРодитель = Неопределено, ПодсистемаПервогоУровня, ПодсистемаРодитель); + + Для Каждого Подсистема Из Подсистемы.Подсистемы Цикл + Если Подсистема.ВключатьВКомандныйИнтерфейс + И ПравоДоступа("Просмотр", Подсистема) + И ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Подсистема) Тогда + + Для Каждого Объект Из Подсистема.Состав Цикл + ПодсистемыОбъекта = СоответствиеОбъектовИПодсистем[Объект.ПолноеИмя()]; + Если ПодсистемыОбъекта = Неопределено Тогда + ПодсистемыОбъекта = Новый Массив; + ИначеЕсли ПодсистемыОбъекта.Найти(ПодсистемаПервогоУровня) <> Неопределено Тогда + Продолжить; + КонецЕсли; + ПодсистемыОбъекта.Добавить(ПодсистемаПервогоУровня); + СоответствиеОбъектовИПодсистем.Вставить(Объект.ПолноеИмя(), ПодсистемыОбъекта); + КонецЦикла; + + ДобавитьОбъектыПодчиненныхПодсистем(ПодсистемаПервогоУровня, СоответствиеОбъектовИПодсистем, Подсистема); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/ТекущиеДелаСлужебныйПовтИсп.mdo b/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/ТекущиеДелаСлужебныйПовтИсп.mdo new file mode 100644 index 000000000..4ca168305 --- /dev/null +++ b/SSL/src/CommonModules/ТекущиеДелаСлужебныйПовтИсп/ТекущиеДелаСлужебныйПовтИсп.mdo @@ -0,0 +1,12 @@ + + + ТекущиеДелаСлужебныйПовтИсп + + ru + Текущие дела служебный повт исп + + true + true + true + DuringRequest + diff --git a/SSL/src/CommonModules/УправлениеДоступом/Module.bsl b/SSL/src/CommonModules/УправлениеДоступом/Module.bsl index 7cc28b460..ec022932c 100644 --- a/SSL/src/CommonModules/УправлениеДоступом/Module.bsl +++ b/SSL/src/CommonModules/УправлениеДоступом/Module.bsl @@ -8,32 +8,32 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции, используемые для проверки прав -// Проверяет, что у пользователя есть роль в одном из профилей -// тех групп доступа в которых он участвует, например, -// роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов. +// Проверяет, что у пользователя есть роль в одном из профилей тех групп доступа в которых он участвует, +// например, роль ПросмотрЖурналаРегистрации, роль ПечатьНепроведенныхДокументов. // -// Если указан объект, тогда дополнительно проверяет, что группа доступа -// в профиле которой есть указанная роль также предоставляет право Чтение -// указанного объекта. +// Если указан объект (или наборы значений доступа), тогда дополнительно проверяется, +// что группа доступа предоставляет право Чтение указанного объекта (или набор значений доступа разрешен). // // Параметры: // Роль - Строка - имя роли. // -// СсылкаНаОбъект - Ссылка на объект для которого заполняются наборы значений доступа +// СсылкаНаОбъект - Ссылка - на объект для которого заполняются наборы значений доступа // для проверки права Чтение. -// - ТаблицаЗначений(НомерНабора, ВидДоступа, ЗначениеДоступа) - произвольная -// таблица наборов значений доступа. -// Пустую подготовленную таблицу можно получить с помощью функции -// УправлениеДоступом.ТаблицаНаборыЗначенийДоступа() - колонки -// Чтение, Изменение не заполнять. +// - ТаблицаЗначений - таблица произвольных наборов значений доступа с колонками: +// * НомерНабора - Число - номер, группирующий несколько строк в отдельный набор. +// * ВидДоступа - Строка - имя вида доступа, указанного в переопределяемом модуле. +// * ЗначениеДоступа - Ссылка - на тип значения доступа указанного в переопределяемом модуле. +// Пустую подготовленную таблицу можно получить с помощью функции +// ТаблицаНаборыЗначенийДоступа общего модуля УправлениеДоступом +// (колонки Чтение, Изменение не заполнять). // -// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи, Неопределено. -// Если не заполнено, тогда право проверяется для текущего пользователя. +// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи, Неопределено - если +// параметр не указан, тогда право проверяется для текущего пользователя. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, тогда у пользователя есть роль с учетом ограничений. // -Функция ЕстьРоль(Знач Роль, Знач НаборыЗначенийДоступа = Неопределено, Знач Пользователь = Неопределено) Экспорт +Функция ЕстьРоль(Знач Роль, Знач СсылкаНаОбъект = Неопределено, Знач Пользователь = Неопределено) Экспорт Пользователь = ?(ЗначениеЗаполнено(Пользователь), Пользователь, Пользователи.АвторизованныйПользователь()); Если Пользователи.ЭтоПолноправныйПользователь(Пользователь) Тогда @@ -42,7 +42,7 @@ УстановитьПривилегированныйРежим(Истина); - Если НаборыЗначенийДоступа = Неопределено ИЛИ НЕ ОграничиватьДоступНаУровнеЗаписей() Тогда + Если СсылкаНаОбъект = Неопределено ИЛИ НЕ ОграничиватьДоступНаУровнеЗаписей() Тогда // Проверка, что роль назначается пользователю через группу доступа по профилю. Запрос = Новый Запрос; Запрос.УстановитьПараметр("АвторизованныйПользователь", Пользователь); @@ -64,10 +64,9 @@ Возврат НЕ Запрос.Выполнить().Пустой(); КонецЕсли; - Если ТипЗнч(НаборыЗначенийДоступа) = Тип("ТаблицаЗначений") Тогда - НаборыЗначенийДоступа = НаборыЗначенийДоступа.Скопировать(); + Если ТипЗнч(СсылкаНаОбъект) = Тип("ТаблицаЗначений") Тогда + НаборыЗначенийДоступа = СсылкаНаОбъект.Скопировать(); Иначе - СсылкаНаОбъект = НаборыЗначенийДоступа; НаборыЗначенийДоступа = ТаблицаНаборыЗначенийДоступа(); СсылкаНаОбъект.ПолучитьОбъект().ЗаполнитьНаборыЗначенийДоступа(НаборыЗначенийДоступа); // Выбор только наборов значений доступа предназначенных для проверки права Чтение. @@ -339,9 +338,8 @@ КонецФункции // Проверяет, что для пользователя настроено разрешение права для объекта. -// Например, для папки файлов могут быть настроены права "УправлениеПравами", -// "Чтение", "ИзменениеПапок", причем право "Чтение" являются, -// как правом для папки файлов, так и правом для файлов. +// Например, для папки файлов могут быть настроены права "УправлениеПравами", "Чтение", "ИзменениеПапок", +// причем право "Чтение" являются, как правом для папки файлов, так и правом для файлов. // // Параметры: // Право - Строка - имя права, как оно указано в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов @@ -351,11 +349,12 @@ // указанных в процедуре ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов // общего модуля УправлениеДоступомПереопределяемый, например, ссылка на папку файлов. // -// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи, Неопределено. -// Если не заполнено, тогда право проверяется для текущего пользователя. +// Пользователь - СправочникСсылка.Пользователи, СправочникСсылка.ВнешниеПользователи, Неопределено - если +// параметр не указан, тогда право проверяется для текущего пользователя. // // Возвращаемое значение: -// Булево. Истина - настроено разрешение права с учетом всех разрешающих и запрещающих настроек в иерархии. +// Булево - если Истина, то настроено разрешение права с учетом всех разрешающих и +// запрещающих настроек в иерархии. // Функция ЕстьПраво(Право, СсылкаНаОбъект, Пользователь = Неопределено) Экспорт @@ -439,6 +438,10 @@ // Процедуры и функции для получения общих настроек подсистемы // Проверяет используется ли ограничении доступа на уровне записей. +// +// Возвращаемое значение: +// Булево - если Истина, тогда доступ ограничивается на уровне записей. +// Функция ОграничиватьДоступНаУровнеЗаписей() Экспорт УстановитьПривилегированныйРежим(Истина); @@ -451,43 +454,40 @@ // Процедуры и функции, используемые для настройки интерфейса управляемых форм. // Настраивает форму значения доступа, которое использует группы значений доступа -// при настройке разрешенных значений в группах доступа пользователей. +// для выбора разрешенных значений в группах доступа пользователей. // -// Поддерживается только для случая, когда выбирается одна группа доступа, а не несколько. +// Поддерживается только для случая, когда у значения доступа выбирается одна группа значений доступа, +// а не несколько. // -// Для элемента формы ГруппаДоступа, связанного с реквизитом ГруппаДоступа -// устанавливает список групп значений доступа в параметр выбора, которые дают -// доступ на изменение значения доступа. +// Для элемента формы ГруппаДоступа, связанного с реквизитом ГруппаДоступа устанавливает +// список групп значений доступа в параметр выбора, которые дают доступ на изменение значения доступа. // -// При создании нового значения доступа, если количество групп значений доступа -// которые дают доступ на изменение значения доступа равно нулю, -// будет вызвано исключение. +// При создании нового значения доступа, если количество групп значений доступа, которые дают доступ +// на изменение значения доступа равно нулю, будет вызвано исключение. // -// Если в базе данных уже записана группа значений доступа, которая не дает -// доступ на изменение значения доступа или количество групп значений доступа, -// которые дают доступ на изменение значения доступа равно нулю, +// Если в базе данных уже записана группа значений доступа, которая не дает доступ на изменение значения доступа +// или количество групп значений доступа, которые дают доступ на изменение значения доступа равно нулю, // тогда свойство формы ТолькоПросмотр устанавливается Истина. // -// Если ограничение на уровне записей не используется или ограничение -// по виду доступа не используется, тогда элемент формы скрывается. +// Если ограничение на уровне записей не используется или ограничение по виду доступа не используется, +// тогда элемент формы скрывается. // // Параметры: -// Форма - УправляемаяФорма значения доступа, использующего группы -// для назначения разрешенных. +// Форма - УправляемаяФорма - форма значения доступа, использующего группы +// для выбора разрешенных значений. // -// Реквизит - Неопределено - означает реквизит Форма.Объект.ГруппаДоступа. -// - Строка - реквизит формы содержащий группу доступа. +// Реквизит - Неопределено - означает имя реквизита формы "Объект.ГруппаДоступа". +// - Строка - имя реквизита формы содержащего группу доступа. // -// Элементы - Неопределено - означает элемент формы Форма.Элементы.ГруппаДоступа. -// - Строка, -// - Массив строк имен элементов формы. +// Элементы - Неопределено - означает имя элемента формы "ГруппаДоступа". +// - Строка - имя элемента формы. +// - Массив - имена элементов формы. // -// ТипЗначения - Неопределено - предполагает наличие реквизита формы Объект.Ссылка, -// по которому определяется тип значения доступа. -// - Тип ссылки - используется указанный тип значения доступа. +// ТипЗначения - Неопределено - означает получить тип из реквизита формы "Объект.Ссылка". +// - Тип - тип ссылки значения доступа. // -// СозданиеНового - Неопределено - означает проверку НЕ ЗначениеЗаполнено(Форма.Объект.Ссылка), -// для определения того, что создается новое значение доступа. +// СозданиеНового - Неопределено - означает получить значение "НЕ ЗначениеЗаполнено(Форма.Объект.Ссылка)" +// для определения того, что создается новое значение доступа или нет. // - Булево - используется указанное значение. // Процедура ПриСозданииФормыЗначенияДоступа(Форма, @@ -532,7 +532,7 @@ ЗаголовокОшибки + Символы.ПС + Символы.ПС + НСтр("ru = 'Для значений доступа типа ""%1"" |используются вид доступа ""%2"" с типом значений ""%3"", - |заданным в плане видов характеристик ""Виды доступа"". + |заданным в переопределяемом модуле. |Но этот тип не совпадает с типом ""%4"" в форме значения |доступа у реквизита ГруппаДоступа.'"), Строка(ТипЗначенияДоступа), @@ -598,17 +598,17 @@ // Возвращает массив групп значений доступа разрешающих изменять значения доступа. // -// Поддерживается только для случая, когда выбирается одна группа доступа, а не несколько. +// Поддерживается только для случая, когда выбирается одна группа значений доступа, а не несколько. // // Параметры: -// ТипЗначенийДоступа - Тип ссылки. -// ВозвращатьВсе - Булево, если Истина, то в случае, когда нет ограничений +// ТипЗначенийДоступа - Тип - тип ссылки значений доступа. +// ВозвращатьВсе - Булево - если Истина, то в случае, когда нет ограничений // (доступны все) будет возвращен массив всех вместо Неопределено. // // Возвращаемое значение: // Неопределено - все группы значений доступа разрешают изменять значения доступа. -// Массив - массив найденных групп значений доступа. -// +// Массив - массив найденных групп значений доступа. +// Функция ГруппыЗначенийДоступаРазрешающиеИзменениеЗначенийДоступа(ТипЗначенийДоступа, ВозвращатьВсе = Ложь) Экспорт ЗаголовокОшибки = @@ -638,7 +638,6 @@ КонецЕсли; Запрос = Новый Запрос; - Запрос.УстановитьПараметр("ВидДоступа", СвойстваГрупп.ВидДоступа); Запрос.УстановитьПараметр("ТекущийПользователь", Пользователи.АвторизованныйПользователь()); Запрос.УстановитьПараметр("ТипЗначенийДоступа", СвойстваГрупп.ПустаяСсылкаТипаЗначений); @@ -721,14 +720,13 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции для работы с наборами значений доступа -// Проверяет предусмотрена ли для объекта метаданных -// процедура заполнения наборов значений доступа. +// Проверяет предусмотрена ли для объекта метаданных процедура заполнения наборов значений доступа. // // Параметры: -// Ссылка - ЛюбаяСсылка. +// Ссылка - ЛюбаяСсылка - ссылка на любой объект. // // Возвращаемое значение: -// Булево. +// Булево - если Истина, наборы значений доступа можно заполнить. // Функция ВозможноЗаполнитьНаборыЗначенийДоступа(Ссылка) Экспорт @@ -742,16 +740,16 @@ КонецФункции -// Возвращает пустую таблицу, которая заполняется для передачи в функцию ЕстьРоль() и +// Возвращает пустую таблицу, которая заполняется для передачи в функцию ЕстьРоль и // в процедуры ЗаполнитьНаборыЗначенийДоступа(Таблица), определенные прикладным разработчиком. // // Возвращаемое значение: -// ТаблицаЗначений с колонками: -// НомерНабора - Число (необязательно, если набор один), -// ВидДоступа - Строка - необязательно, кроме специальных ПравоЧтения, ПравоИзменения. -// ЗначениеДоступа - Неопределено, СправочникСсылка или др. (обязательно), -// Чтение - Булево (необязательно, если набор для всех прав) устанавливается для одной строки набора, -// Изменение - Булево (необязательно, если набор для всех прав) устанавливается для одной строки набора. +// ТаблицаЗначений - с колонками: +// * НомерНабора - Число - (необязательно, если набор один), +// * ВидДоступа - Строка - необязательно, кроме специальных ПравоЧтения, ПравоИзменения. +// * ЗначениеДоступа - Неопределено, СправочникСсылка - или др. (обязательно), +// * Чтение - Булево - (необязательно, если набор для всех прав) устанавливается для одной строки набора, +// * Изменение - Булево - (необязательно, если набор для всех прав) устанавливается для одной строки набора. // Функция ТаблицаНаборыЗначенийДоступа() Экспорт @@ -775,31 +773,21 @@ // ЗаписатьНаборыЗначенийДоступа или ЗаписатьЗависимыеНаборыЗначенийДоступа. // В процедуре выполняется заполнение наборов значений доступа по свойствам объекта. // -// Параметры: -// Таблица - ТаблицаЗначений, возвращаемая функцией ТаблицаНаборыЗначенийДоступа() модуля УправлениеДоступом. -// Поля таблицы: -// НомерНабора - Число (необязательно, если набор один); -// ВидДоступа - Строка - имя вида доступа (не обязательно), -// кроме специальных ПравоЧтения, ПравоИзменения; -// ЗначениеДоступа - Неопределено, СправочникСсылка или др. (обязательно); -// Чтение - Булево (необязательно, если набор для всех прав) -// устанавливается для одной строки набора; -// Изменение - Булево (необязательно, если набор для всех прав) -// устанавливается для одной строки набора. +// Параметр: +// Таблица - ТаблицаЗначений - возвращаемая функцией ТаблицаНаборыЗначенийДоступа. // -// Процедура ЗаполнитьНаборыЗначенийДоступа(Знач Объект, Таблица, Знач СсылкаНаПодчиненныйОбъект = Неопределено) -// заполняет наборы значений доступа объекта, используя процедуру ЗаполнитьНаборыЗначенийДоступа(Таблица), -// созданную прикладным разработчиком (см. описание выше). +// Текущая одноименная процедура заполняет наборы значений доступа объекта, используя процедуру +// ЗаполнитьНаборыЗначенийДоступа(Таблица), созданную прикладным разработчиком (см. описание выше). // // Параметры: -// Объект - СправочникОбъект, ДокументОбъект, ..., или СправочникСсылка, ДокументСсылка, ... -// Если передана ссылка, то по ней будет получен объект. +// Объект - Объект, Ссылка - СправочникаОбъект, ДокументОбъект, ... СправочникСсылка, ДокументСсылка, ... +// Если передана ссылка, то по ней будет получен объект. // -// Таблица - ТаблицаЗначений, возвращаемая функцией ТаблицаНаборыЗначенийДоступа() модуля УправлениеДоступом, -// Неопределено - будет создана таблица значений. +// Таблица - ТаблицаЗначений - возвращаемая функцией ТаблицаНаборыЗначенийДоступа модуля УправлениеДоступом. +// - Неопределено - будет создана новая таблица значений. // -// СсылкаНаПодчиненныйОбъект - ЛюбаяСсылка, используется, когда нужно заполнить наборы значений доступа объекта-владельца -// для подчиненного объекта. +// СсылкаНаПодчиненныйОбъект - ЛюбаяСсылка - используется, когда нужно заполнить наборы значений доступа +// объекта-владельца для подчиненного объекта. // Процедура ЗаполнитьНаборыЗначенийДоступа(Знач Объект, Таблица, Знач СсылкаНаПодчиненныйОбъект = Неопределено) Экспорт @@ -942,16 +930,17 @@ КонецПроцедуры -// Позволяет добавить к одной таблице наборов значений доступа другую -// таблицу наборов значений доступа, либо логическим сложением, либо логическим умножением. -// Результат помещается в приемник. +// Позволяет добавить к одной таблице наборов значений доступа другую таблицу +// наборов значений доступа, либо логическим сложением, либо логическим умножением. +// +// Результат помещается в параметр Приемник. // // Параметры: -// Приемник, -// Источник - ТаблицаЗначений возвращаемая функцией ТаблицаНаборыЗначенийДоступа() модуля УправлениеДоступом. +// Приемник - ТаблицаЗначений - с колонкам, как у таблицы возвращаемой функцией ТаблицаНаборыЗначенийДоступа. +// Источник - ТаблицаЗначений - с колонкам, как у таблицы возвращаемой функцией ТаблицаНаборыЗначенийДоступа. // -// Умножение - Булево, определяет способ логического объединения наборов приемника и источника. -// Упростить - Булево, определяет требуется ли упрощение наборов после добавления. +// Умножение - Булево - определяет способ логического объединения наборов приемника и источника. +// Упростить - Булево - определяет требуется ли упрощение наборов после добавления. // Процедура ДобавитьНаборыЗначенийДоступа(Приемник, Знач Источник, Знач Умножение = Ложь, Знач Упростить = Ложь) Экспорт @@ -1004,7 +993,8 @@ // в регистре сведений НаборыЗначенийДоступа. // // Параметры: -// СсылкаНаОбъект - СправочникСсылка, ДокументСсылка, ... +// СсылкаНаОбъект - СправочникСсылка, ДокументСсылка и другие типы ссылок тех объектов +// метаданных, для которых заполняются наборы значений доступа. // Процедура ОбновитьНаборыЗначенийДоступа(СсылкаНаОбъект) Экспорт @@ -1018,31 +1008,39 @@ // Возможен случай использования подсистемы Управление доступом, когда // указанной подписки не существует, если для указанной цели наборы не применяются. // -// Обработчик подписки на событие ПередЗаписью для типов: -// СправочникОбъект -// ДокументОбъект -// ПланВидовХарактеристикОбъект -// ПланСчетовОбъект -// ПланВидовРасчетаОбъект -// БизнесПроцессОбъект -// ЗадачаОбъект -// ПланОбменаОбъект +// Параметры: +// Источник - СправочникОбъект, +// ДокументОбъект, +// ПланВидовХарактеристикОбъект, +// ПланСчетовОбъект, +// ПланВидовРасчетаОбъект, +// БизнесПроцессОбъект, +// ЗадачаОбъект, +// ПланОбменаОбъект - объект данных, передаваемый в подписку на событие ПередЗаписью. // -Процедура ЗаполнитьНаборыЗначенийДоступаТабличныхЧастей(Объект, Отказ = Неопределено, РежимЗаписи = Неопределено, РежимПроведения = Неопределено) Экспорт +// Отказ - Булево - параметр, передаваемый в подписку на событие ПередЗаписью. +// +// РежимЗаписи - Булево - параметр, передаваемый в подписку на событие ПередЗаписью, +// когда тип параметра Источник - ДокументОбъект. +// +// РежимПроведения - Булево - параметр, передаваемый в подписку на событие ПередЗаписью, +// когда тип параметра Источник - ДокументОбъект. +// +Процедура ЗаполнитьНаборыЗначенийДоступаТабличныхЧастей(Источник, Отказ = Неопределено, РежимЗаписи = Неопределено, РежимПроведения = Неопределено) Экспорт - Если Объект.ОбменДанными.Загрузка - И НЕ Объект.ДополнительныеСвойства.Свойство("ЗаписатьНаборыЗначенийДоступа") Тогда + Если Источник.ОбменДанными.Загрузка + И НЕ Источник.ДополнительныеСвойства.Свойство("ЗаписатьНаборыЗначенийДоступа") Тогда Возврат; КонецЕсли; Если НЕ ( ПривилегированныйРежим() - И Объект.ДополнительныеСвойства.Свойство( - "НаборыЗначенийДоступаТабличнойЧастиЗаполнены")) Тогда + И Источник.ДополнительныеСвойства.Свойство( + "НаборыЗначенийДоступаТабличнойЧастиЗаполнены")) Тогда - Таблица = УправлениеДоступомСлужебный.ПолучитьНаборыЗначенийДоступаТабличнойЧасти(Объект); + Таблица = УправлениеДоступомСлужебный.ПолучитьНаборыЗначенийДоступаТабличнойЧасти(Источник); УправлениеДоступомСлужебный.ПодготовитьНаборыЗначенийДоступаКЗаписи(Неопределено, Таблица, Ложь); - Объект.НаборыЗначенийДоступа.Загрузить(Таблица); + Источник.НаборыЗначенийДоступа.Загрузить(Таблица); КонецЕсли; КонецПроцедуры @@ -1055,9 +1053,8 @@ // Чтобы указать предустановленный вид доступа, // нужно в представлении задать строку Предустановленный. // -// Чтобы добавить значение доступа нужно указать -// полное имя предопределенного элемента, например, -// "Справочник.ГруппыПользователей.ВсеПользователи". +// Чтобы добавить значение доступа нужно указать полное имя предопределенного элемента, +// например, "Справочник.ГруппыПользователей.ВсеПользователи". // // Идентификатор извлекается из реального элемента в справочнике. // Не следует брать идентификаторы, полученные произвольным способом. @@ -1084,6 +1081,7 @@ // // ... // // Использование НСИ. // ОписаниеПрофиля.Роли.Добавить("ЧтениеБазовойНСИ"); +// ОписаниеПрофиля.Роли.Добавить("ЧтениеОбщейБазовойНСИ"); // // ... // // Типовые возможности. // ОписаниеПрофиля.Роли.Добавить("ИспользованиеВариантовОтчетов"); @@ -1100,7 +1098,7 @@ // ОписаниеПрофиля.ВидыДоступа.Добавить("Пользователи", "Предустановленный"); // ОписаниеПрофиля.ВидыДоступа.Добавить("ХозяйственныеОперации", "Предустановленный"); // ОписаниеПрофиля.ЗначенияДоступа.Добавить("ХозяйственныеОперации", -// "Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчет"); +// "Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику"); // // ... // ОписанияПрофилей.Добавить(ОписаниеПрофиля); // @@ -1120,14 +1118,14 @@ КонецФункции -// Добавляет дополнительные типы в процедуре ПриЗаполненииВидовДоступа. +// Добавляет дополнительные типы в процедуре ПриЗаполненииВидовДоступа +// общего модуля УправлениеДоступомПереопределяемый. // // Параметры: -// ВидДоступа - СтрокаТаблицыЗначений, добавленная в параметр ВидыДоступа. +// ВидДоступа - СтрокаТаблицыЗначений - добавленная в параметр ВидыДоступа. // ТипЗначений - Тип - дополнительный тип значений доступа. -// ТипГруппЗначений - Тип - дополнительный тип групп значений доступа, -// может совпадать с типом групп значений указанным ранее -// для этого же вида доступа. +// ТипГруппЗначений - Тип - дополнительный тип групп значений доступа, может совпадать +// с типом групп значений указанным ранее для этого же вида доступа. // НесколькоГруппЗначений - Булево - Истина, если у дополнительного типа значений доступа // можно указать несколько групп значений (есть табличная часть ГруппыДоступа). // @@ -1155,7 +1153,12 @@ // Возвращает ссылку на поставляемый профиль по идентификатору. // // Параметры: -// Идентификатор - Строка - имя или уникальный идентификатор поставляемого профиля. +// Идентификатор - Строка - имя или уникальный идентификатор поставляемого профиля, как указано +// в процедуре ПриЗаполненииВидовДоступа общего модуля УправлениеДоступомПереопределяемый. +// +// Возвращаемое значение: +// СправочникСсылка.ПрофилиГруппДоступа - если поставляемый профиль найден в справочнике. +// Неопределено - если поставляемый профиль не найден в справочнике. // Функция ПоставляемыйПрофильПоИдентификатору(Идентификатор) Экспорт @@ -1163,8 +1166,15 @@ КонецФункции -// Возвращает пустую таблицу для заполнения и передачи -// в процедуру ЗаменитьПраваВНастройкахПравОбъектов. +// Возвращает пустую таблицу для заполнения и +// передачи в процедуру ЗаменитьПраваВНастройкахПравОбъектов. +// +// Возвращаемое значение: +// ТаблицаЗначений - с колонками: +// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов +// ВладелецНастроекПрав, например пустая ссылка справочника ПапкиФайлов. +// * СтароеИмя - Строка - старое имя права. +// * НовоеИмя - Строка - новое имя права. // Функция ТаблицаЗаменыПравВНастройкахПравОбъектов() Экспорт @@ -1185,13 +1195,14 @@ // процедуру однократно, чтобы не снижать производительность. // // Параметры: -// ТаблицаЗамены - ТаблицаЗначений с колонками: -// ТипВладельцев - Пустая ссылка типа владельца прав, например пустая ссылка справочника ПапкиФайлов. -// СтароеИмя - Строка, старое имя права, относящееся к указанному типу владельцев. -// НовоеИмя - Строка, новое имя права, относящееся к указанному типу владельцев. -// Если указана пустая строка, настройка старого права будет удалена. -// Если старому имени поставлено в соответствие два новых имени, -// тогда настройка одна старая настройка будет размножена в две новых. +// ТаблицаПереименований - ТаблицаЗначений - с колонками: +// * ТипВладельцев - Ссылка - пустая ссылка типа владельца прав из описания типов +// ВладелецНастроекПрав, например пустая ссылка справочника ПапкиФайлов. +// * СтароеИмя - Строка - старое имя права, относящееся к указанному типу владельцев. +// * НовоеИмя - Строка - новое имя права, относящееся к указанному типу владельцев. +// Если указана пустая строка, настройка старого права будет удалена. +// Если старому имени поставлено в соответствие два новых имени, +// тогда одна старая настройка будет размножена в две новых. // Процедура ЗаменитьПраваВНастройкахПравОбъектов(ТаблицаПереименований) Экспорт @@ -1350,13 +1361,12 @@ //////////////////////////////////////////////////////////////////////////////// // Процедуры и функции, используемые для обновления служебных данных -// Обновляет список ролей пользователей информационной базы -// по их текущим принадлежностям к группам доступа. -// Пользователи с ролью "ПолныеПрава" игнорируется. +// Обновляет список ролей пользователей информационной базы по их текущим принадлежностям +// к группам доступа. Пользователи ИБ с ролью "ПолныеПрава" пропускаются. // // Параметры: -// МассивПользователей - Массив, Неопределено, Тип - массив из -// элементов СправочникСсылка.Пользователи или СправочникСсылка.ВнешниеПользователи. +// МассивПользователей - Массив, Неопределено, Тип - массив из элементов +// СправочникСсылка.Пользователи или СправочникСсылка.ВнешниеПользователи. // Если Неопределено, то обновить роли всех пользователей. // Если Тип = Справочник.ВнешниеПользователи, то будут обновлены роли всех внешних пользователей, // иначе будут обновлены роли всех пользователей. @@ -1378,7 +1388,7 @@ КонецПроцедуры -// Выполняет последовательное заполнение и обновление данных, необходимых для работы +// Выполняет последовательное заполнение и частичное обновление данных, необходимых для работы // подсистемы УправленияДоступом в режиме ограничения доступа на уровне записей. // // При включенном режиме ограничения доступа на уровне записей заполняет наборы @@ -1394,9 +1404,10 @@ // Сведения о состоянии работы записываются в журнал регистрации. // // Возможно вызывать программно, например, при обновлении информационной базы. -// Также для целей обновления есть форма Справочник.ГруппыДоступа.ОбновлениеДанныхОграниченияДоступа, -// с помощью которой можно сделать интерактивное обновление данных ограничения доступа -// при обновлении информационной базы. +// +// Параметры: +// КоличествоДанных - Число - (возвращаемое значение) содержит количество +// объектов данных для которых было выполнено заполнение. // Процедура ЗаполнениеДанныхДляОграниченияДоступа(КоличествоДанных = 0) Экспорт @@ -1404,6 +1415,10 @@ КонецПроцедуры +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + //////////////////////////////////////////////////////////////////////////////// // Вспомогательные процедуры и функции diff --git a/SSL/src/CommonModules/УправлениеДоступомПереопределяемый/Module.bsl b/SSL/src/CommonModules/УправлениеДоступомПереопределяемый/Module.bsl index 35fbf1467..6171f7e78 100644 --- a/SSL/src/CommonModules/УправлениеДоступомПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/УправлениеДоступомПереопределяемый/Module.bsl @@ -10,14 +10,14 @@ // Их можно удалить, если они не требуются для ограничения прав доступа. // // Параметры: -// ВидыДоступа - ТаблицаЗначений с полями: -// - Имя - Строка - имя используемое в описании поставляемых -// профилей групп доступа и текстах ОДД. -// - Представление - Строка - представляет вид доступа в профилях и группах доступа. -// - ТипЗначений - Тип - тип ссылки значений доступа. Например, Тип("СправочникСсылка.Номенклатура"). -// - ТипГруппЗначений - Тип - тип ссылки групп значений доступа. Например, Тип("СправочникСсылка.ГруппыДоступаНоменклатуры"). -// - НесколькоГруппЗначений - Булево - Истина указывает, что для значения доступа (Номенклатуры), -// можно выбрать несколько групп значений (Групп доступа номенклатуры). +// ВидыДоступа - ТаблицаЗначений - с колонками: +// * Имя - Строка - имя используемое в описании поставляемых +// профилей групп доступа и текстах ОДД. +// * Представление - Строка - представляет вид доступа в профилях и группах доступа. +// * ТипЗначений - Тип - тип ссылки значений доступа. Например, Тип("СправочникСсылка.Номенклатура"). +// * ТипГруппЗначений - Тип - тип ссылки групп значений доступа. Например, Тип("СправочникСсылка.ГруппыДоступаНоменклатуры"). +// * НесколькоГруппЗначений - Булево - Истина указывает, что для значения доступа (Номенклатуры), +// можно выбрать несколько групп значений (Групп доступа номенклатуры). // Процедура ПриЗаполненииВидовДоступа(ВидыДоступа) Экспорт @@ -28,29 +28,22 @@ // Заполняет описания поставляемых профилей групп доступа и // переопределяет параметры обновления профилей и групп доступа. // -// Для автоматической подготовки содержимого процедуры следует -// воспользоваться инструментами разработчика для подсистемы -// Управление доступом. +// Для автоматической подготовки содержимого процедуры следует воспользоваться инструментами +// разработчика для подсистемы Управление доступом. // // Параметры: -// ОписанияПрофилей - Массив в который нужно добавить описания. +// ОписанияПрофилей - Массив - массив структур, в который нужно добавить описания. // Пустая структура должна быть получена при помощи функции -// УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа(). +// УправлениеДоступом.НовоеОписаниеПрофиляГруппДоступа. // -// ПараметрыОбновления - Структура со свойствами: -// -// ОбновлятьИзмененныеПрофили - Булево (начальное значение Истина). -// -// ЗапретитьИзменениеПрофилей - Булево (начальное значение Истина), -// если установить Ложь, тогда поставляемые профили будут открываться -// в режиме ТолькоПросмотр. -// -// ОбновлятьГруппыДоступа - Булево (начальное значение Истина). -// -// ОбновлятьГруппыДоступаСУстаревшимиНастройками - Булево (начальное -// значение Ложь), если установить Истина, то настройки значений, -// сделанные администратором по виду доступа, который удален из -// профиля, будут удалены из группы доступа. +// ПараметрыОбновления - Структура - структура со свойствами: +// * ОбновлятьИзмененныеПрофили - Булево - начальное значение Истина. +// * ЗапретитьИзменениеПрофилей - Булево - начальное значение Истина. +// Если установить Ложь, тогда поставляемые профили можно не только просматривать, но и редактировать. +// * ОбновлятьГруппыДоступа - Булево - начальное значение Истина. +// * ОбновлятьГруппыДоступаСУстаревшимиНастройками - Булево - начальное значение Ложь. +// Если установить Истина, то настройки значений, выполненные администратором для +// вида доступа который был удален из профиля, будут также удалены из групп доступа. // Процедура ПриЗаполненииПоставляемыхПрофилейГруппДоступа(ОписанияПрофилей, ПараметрыОбновления) Экспорт @@ -74,9 +67,9 @@ // проверку права чтения "ведущего" объекта. // // Параметры: -// ЗависимостиПрав - ТаблицаЗначений с колонками: -// - ВедущаяТаблица - Строка, например, "БизнесПроцесс.Задание" -// - ПодчиненнаяТаблица - Строка, например, "Задача.ЗадачаИсполнителя" +// ЗависимостиПрав - ТаблицаЗначений - с колонками: +// * ВедущаяТаблица - Строка - например, "БизнесПроцесс.Задание". +// * ПодчиненнаяТаблица - Строка - например, "Задача.ЗадачаИсполнителя". // Процедура ПриЗаполненииЗависимостейПравДоступа(ЗависимостиПрав) Экспорт @@ -87,9 +80,8 @@ // Заполняет описания возможных прав, назначаемых для объектов, указанных типов. // // Параметры: -// ВозможныеПрава - ТаблицаЗначений, содержащая поля, -// описание которых см. в комментарии к функции -// РегистрыСведений.НастройкиПравОбъектов.ВозможныеПрава(). +// ВозможныеПрава - ТаблицаЗначений - с колонками, описание которых см. в комментарии +// к функции РегистрыСведений.НастройкиПравОбъектов.ВозможныеПрава(). // Процедура ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов(ВозможныеПрава) Экспорт @@ -97,13 +89,8 @@ // Определяет вид используемого интерфейса пользователя для настройки доступа. // -// Упрощенный интерфейс удобен для конфигураций с небольшим количеством пользователей, -// так как много функций не требуются и они могут быть скрыты (скрытие не может быть -// выполнено только лишь функциональной опцией, так как потребуется пересмотр -// содержимого групп доступа и профилей). -// // Параметры: -// УпрощенныйИнтерфейс - Булево (возвращаемое значение). Начальное значение Ложь. +// УпрощенныйИнтерфейс - Булево - начальное значение Ложь. // Процедура ПриОпределенииИнтерфейсаНастройкиДоступа(УпрощенныйИнтерфейс) Экспорт @@ -113,10 +100,10 @@ // например, ИспользоватьГруппыДоступаНоменклатуры. // // Параметры: -// ВидДоступа - Строка. Имя вида доступа заданное в процедуре ПриЗаполненииВидовДоступа. -// Использование - Булево (возвращаемое значение). Начальное значение Истина. +// ВидДоступа - Строка - имя вида доступа заданное в процедуре ПриЗаполненииВидовДоступа. +// Использование - Булево - начальное значение Истина. // -Процедура ПриЗаполненииИспользованияВидаДоступа(ИмяВидаДоступа, Использование) Экспорт +Процедура ПриЗаполненииИспользованияВидаДоступа(ВидДоступа, Использование) Экспорт @@ -125,17 +112,15 @@ // Заполняет состав видов доступа, используемых при ограничении прав объектов метаданных. // Если состав видов доступа не заполнен, отчет "Права доступа" покажет некорректные сведения. // -// Обязательно требуется заполнить только виды доступа, используемые -// в шаблонах ограничения доступа явно, а виды доступа, используемые -// в наборах значений доступа могут быть получены из текущего состояния -// регистра сведений НаборыЗначенийДоступа. +// Обязательно требуется заполнить только виды доступа, используемые в шаблонах ограничения доступа +// явно, а виды доступа, используемые в наборах значений доступа могут быть получены из текущего +// состояния регистра сведений НаборыЗначенийДоступа. // -// Для автоматической подготовки содержимого процедуры следует -// воспользоваться инструментами разработчика для подсистемы -// Управление доступом. +// Для автоматической подготовки содержимого процедуры следует воспользоваться инструментами +// разработчика для подсистемы Управление доступом. // // Параметры: -// Описание - Строка, многострочная строка формата <Таблица>.<Право>.<ВидДоступа>[.Таблица объекта] +// Описание - Строка - многострочная строка формата <Таблица>.<Право>.<ВидДоступа>[.Таблица объекта] // Например, Документ.ПриходнаяНакладная.Чтение.Организации // Документ.ПриходнаяНакладная.Чтение.Контрагенты // Документ.ПриходнаяНакладная.Изменение.Организации @@ -172,7 +157,7 @@ // Ссылка - СправочникСсылка, ДокументСсылка, ... - ссылка на объект для которого // записаны наборы значений доступа. // -// СсылкиНаЗависимыеОбъекты - Массив элементов типа СправочникСсылка, ДокументСсылка, ... +// СсылкиНаЗависимыеОбъекты - Массив - массив элементов типа СправочникСсылка, ДокументСсылка, ... // Содержит ссылки на объекты с зависимыми наборами значений доступа // Начальное значение - пустой массив. // diff --git a/SSL/src/CommonModules/УправлениеДоступомСлужебный/Module.bsl b/SSL/src/CommonModules/УправлениеДоступомСлужебный/Module.bsl index bebd62995..81494638f 100644 --- a/SSL/src/CommonModules/УправлениеДоступомСлужебный/Module.bsl +++ b/SSL/src/CommonModules/УправлениеДоступомСлужебный/Module.bsl @@ -271,6 +271,14 @@ СерверныеОбработчики[ "ТехнологияСервиса.ВыгрузкаЗагрузкаДанных\ПриЗаполненииТиповОбщихДанныхНеТребующихСопоставлениеСсылокПриЗагрузке"].Добавить( "УправлениеДоступомСлужебный"); + СерверныеОбработчики[ + "ТехнологияСервиса.ВыгрузкаЗагрузкаДанных\ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки"].Добавить( + "УправлениеДоступомСлужебный"); + КонецЕсли; + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "Справочники.ПрофилиГруппДоступа"); КонецЕсли; КонецПроцедуры @@ -910,6 +918,7 @@ // Должен выполнятся после обработчика ЗаполнитьИдентификаторыПоставляемыхДанных. Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "1.0.0.1"; Обработчик.НачальноеЗаполнение = Истина; Обработчик.Процедура = "Справочники.ГруппыДоступа.ЗаполнитьПрофильГруппыДоступаАдминистраторы"; Обработчик.РежимВыполнения = "Монопольно"; @@ -959,7 +968,7 @@ Обработчик.РежимВыполнения = "Оперативно"; Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "2.2.2.48"; + Обработчик.Версия = "2.2.3.27"; Обработчик.Процедура = "РегистрыСведений.ЗначенияГруппДоступа.ОбновитьДанныеРегистра"; Обработчик.РежимВыполнения = "Оперативно"; @@ -1123,7 +1132,7 @@ Иначе // Администраторы назначаются во всех подчиненных РИБ-узлах независимо. Если ТипЗнч(ЭлементДанных) = Тип("СправочникОбъект.ГруппыДоступа") Тогда - Справочники.ГруппыДоступа.ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных); + Справочники.ГруппыДоступа.ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных, ОтправкаНазад); КонецЕсли; КонецЕсли; @@ -1143,7 +1152,7 @@ // Администраторы назначаются во всех подчиненных РИБ-узлах независимо. Если ТипЗнч(ЭлементДанных) = Тип("СправочникОбъект.ГруппыДоступа") Тогда - Справочники.ГруппыДоступа.ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных); + Справочники.ГруппыДоступа.ВосстановитьСоставУчастниковГруппыДоступаАдминистраторы(ЭлементДанных, ОтправкаНазад); КонецЕсли; ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("КонстантаМенеджерЗначения.ОграничиватьДоступНаУровнеЗаписей") @@ -1400,9 +1409,8 @@ // - они отключаются только с отключением всего отчета. // Процедура ПриНастройкеВариантовОтчетов(Настройки) Экспорт - - Отчеты.ПраваДоступа.НастроитьВариантыОтчета(Настройки); - + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.ПраваДоступа); КонецПроцедуры // Обработчики событий библиотеки ТехнологияСервиса. @@ -1422,6 +1430,17 @@ КонецПроцедуры +// Заполняет массив типов, исключаемых из выгрузки и загрузки данных. +// +// Параметры: +// Типы - Массив(Типы). +// +Процедура ПриЗаполненииТиповИсключаемыхИзВыгрузкиЗагрузки(Типы) Экспорт + + Типы.Добавить(Метаданные.ПланыВидовХарактеристик.УдалитьВидыДоступа); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики подписок на события @@ -2383,6 +2402,9 @@ ОбновитьОтображениеНеиспользуемыхВидовДоступа(Форма, Истина); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп( + Форма, "ЗначенияДоступаПоВидуДоступа"); + КонецПроцедуры // При повторном чтении заполняет или обновляет вспомогательные данные, diff --git a/SSL/src/CommonModules/УправлениеДоступомСлужебныйВызовСервера/Module.bsl b/SSL/src/CommonModules/УправлениеДоступомСлужебныйВызовСервера/Module.bsl index 22b3ef83f..8f7c30d3d 100644 --- a/SSL/src/CommonModules/УправлениеДоступомСлужебныйВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/УправлениеДоступомСлужебныйВызовСервера/Module.bsl @@ -26,8 +26,8 @@ // Используется в обработчиках событий ОкончаниеВводаТекста и АвтоПодбор. // // Параметры: -// Текст - Строка, символы введенные пользователем. -// ВключаяГруппы - Булево, если Истина, включать группы пользователей и внешних пользователей. +// Текст - Строка - символы введенные пользователем. +// ВключаяГруппы - Булево - если Истина, включать группы пользователей и внешних пользователей. // ВидДоступа - Ссылка - пустая ссылка основного типа значения доступа, // - Строка - имя вида доступа, значения доступа которого выбираются. // @@ -43,7 +43,7 @@ Запрос.УстановитьПараметр("ВключаяГруппы", ВключаяГруппы); Запрос.Текст = "ВЫБРАТЬ - | ПредставленияПеречислений.Ссылка, + | ПредставленияПеречислений.Ссылка КАК Ссылка, | ПредставленияПеречислений.Наименование КАК Наименование |ПОМЕСТИТЬ ПредставленияПеречислений |ИЗ @@ -66,15 +66,13 @@ | ЛОЖЬ"; Для каждого Тип Из СвойстваВидаДоступа.ТипыВыбираемыхЗначений Цикл + ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); + ПолноеИмяТаблицы = ОбъектМетаданных.ПолноеИмя(); - МетаданныеТипа = Метаданные.НайтиПоТипу(Тип); - - ПолноеИмяТаблицы = МетаданныеТипа.ПолноеИмя(); - - Если ( Метаданные.Справочники.Содержит(МетаданныеТипа) - ИЛИ Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеТипа) ) - И МетаданныеТипа.Иерархический - И МетаданныеТипа.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов + Если ( Метаданные.Справочники.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) ) + И ОбъектМетаданных.Иерархический + И ОбъектМетаданных.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов И НЕ ВключаяГруппы Тогда УсловиеДляГруппы = "НЕ Таблица.ЭтоГруппа"; @@ -82,32 +80,46 @@ УсловиеДляГруппы = "Истина"; КонецЕсли; - Если Метаданные.Перечисления.Содержит(МетаданныеТипа) Тогда - // - ЗапросПредставленийПеречислений.Текст = ЗапросПредставленийПеречислений.Текст + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС; - ЗапросПредставленийПеречислений.Текст = ЗапросПредставленийПеречислений.Текст + СтрЗаменить( + Если Метаданные.Перечисления.Содержит(ОбъектМетаданных) Тогда + ТекстЗапроса = "ВЫБРАТЬ - | Таблица.Ссылка, + | Таблица.Ссылка КАК Ссылка, | ПРЕДСТАВЛЕНИЕ(Таблица.Ссылка) КАК Наименование |ИЗ - | &ПолноеИмяТаблицы КАК Таблица", "&ПолноеИмяТаблицы", ПолноеИмяТаблицы); + | &ПолноеИмяТаблицы КАК Таблица"; + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПолноеИмяТаблицы", ПолноеИмяТаблицы); + + ЗапросПредставленийПеречислений.Текст = ЗапросПредставленийПеречислений.Текст + + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС + + ТекстЗапроса; Иначе - Запрос.Текст = Запрос.Текст + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС; - Запрос.Текст = Запрос.Текст + СтрЗаменить(СтрЗаменить( + ТекстЗапроса = "ВЫБРАТЬ - | Таблица.Ссылка, - | Таблица.Наименование + | Таблица.Ссылка КАК Ссылка, + | Таблица.Наименование КАК Наименование |ИЗ | &ПолноеИмяТаблицы КАК Таблица |ГДЕ | (НЕ Таблица.ПометкаУдаления) | И Таблица.Наименование ПОДОБНО &Текст - | И &УсловиеДляГруппы", "&ПолноеИмяТаблицы", ПолноеИмяТаблицы), "&УсловиеДляГруппы", УсловиеДляГруппы); + | И &УсловиеДляГруппы"; + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПолноеИмяТаблицы", ПолноеИмяТаблицы); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеДляГруппы", УсловиеДляГруппы); + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "Таблица.Наименование", + "Таблица." + ПолеПредставления(ОбъектМетаданных)); + + Запрос.Текст = Запрос.Текст + + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС + + ТекстЗапроса; КонецЕсли; КонецЦикла; - Запрос.УстановитьПараметр("ПредставленияПеречислений", ЗапросПредставленийПеречислений.Выполнить().Выгрузить()); - Запрос.Текст = Запрос.Текст + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС; + Запрос.УстановитьПараметр("ПредставленияПеречислений", + ЗапросПредставленийПеречислений.Выполнить().Выгрузить()); + + Запрос.Текст = Запрос.Текст + + Символы.ПС + Символы.ПС + " ОБЪЕДИНИТЬ ВСЕ " + Символы.ПС + Символы.ПС; + Запрос.Текст = Запрос.Текст + "ВЫБРАТЬ | ПредставленияПеречислений.Ссылка, @@ -128,4 +140,54 @@ КонецФункции +Функция ПолеПредставления(ОбъектМетаданных) + + ПолеПредставления = "Наименование"; + + Если Метаданные.ПланыОбмена.Содержит(ОбъектМетаданных) Тогда + + Если ОбъектМетаданных.ОсновноеПредставление + = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеПланаОбмена.ВВидеКода Тогда + + ПолеПредставления = "Код"; + КонецЕсли; + + ИначеЕсли Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда + + Если ОбъектМетаданных.ОсновноеПредставление + = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСправочника.ВВидеКода Тогда + + ПолеПредставления = "Код"; + КонецЕсли; + + ИначеЕсли Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) Тогда + + Если ОбъектМетаданных.ОсновноеПредставление + = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеВидаХарактеристики.ВВидеКода Тогда + + ПолеПредставления = "Код"; + КонецЕсли; + + ИначеЕсли Метаданные.ПланыСчетов.Содержит(ОбъектМетаданных) Тогда + + Если ОбъектМетаданных.ОсновноеПредставление + = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеСчета.ВВидеКода Тогда + + ПолеПредставления = "Код"; + КонецЕсли; + + ИначеЕсли Метаданные.ПланыВидовРасчета.Содержит(ОбъектМетаданных) Тогда + + Если ОбъектМетаданных.ОсновноеПредставление + = Метаданные.СвойстваОбъектов.ОсновноеПредставлениеВидаРасчета.ВВидеКода Тогда + + ПолеПредставления = "Код"; + КонецЕсли; + + КонецЕсли; + + Возврат ПолеПредставления; + +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/УправлениеДоступомСлужебныйКлиентСервер/Module.bsl b/SSL/src/CommonModules/УправлениеДоступомСлужебныйКлиентСервер/Module.bsl index d4b7cea0a..9e9fbc3e9 100644 --- a/SSL/src/CommonModules/УправлениеДоступомСлужебныйКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/УправлениеДоступомСлужебныйКлиентСервер/Module.bsl @@ -248,8 +248,7 @@ Форма.ТекущиеТипыВыбираемыхЗначений.Добавить(Неопределено, НСтр("ru = 'Неопределено'")); КонецЕсли; - Элементы.ЗначенияДоступа.Доступность = ЗначенияРедактируются; - Элементы.ЗначенияДоступаДобавить.Доступность = ЗначенияРедактируются; + Элементы.ЗначенияДоступа.Доступность = ЗначенияРедактируются; КонецПроцедуры @@ -301,7 +300,10 @@ Параметры = ПараметрыФормыРедактированияРазрешенныхЗначений(Форма); - Для каждого Строка Из Параметры.ВидыДоступа Цикл + ОтборВидовДоступа = ОтборВТаблицахФормыРедактированияРазрешенныхЗначений(Форма); + ВидыДоступа = Параметры.ВидыДоступа.НайтиСтроки(ОтборВидовДоступа); + + Для каждого Строка Из ВидыДоступа Цикл Строка.Используется = Истина; diff --git a/SSL/src/CommonModules/УправлениеИтогамиИАгрегатамиКлиент/Module.bsl b/SSL/src/CommonModules/УправлениеИтогамиИАгрегатамиКлиент/Module.bsl index 1044c08d8..5d0c48ff2 100644 --- a/SSL/src/CommonModules/УправлениеИтогамиИАгрегатамиКлиент/Module.bsl +++ b/SSL/src/CommonModules/УправлениеИтогамиИАгрегатамиКлиент/Module.bsl @@ -11,39 +11,21 @@ // Доопределяет список предупреждений пользователю перед завершением работы системы. // // Параметры: -// Предупреждения - Массив, в который можно добавить элементы типа Структура с полями: -// ТекстФлажка - Строка - текст флажка. -// ПоясняющийТекст - Строка - текст, выводимый в форме сверху -// управляющего элемента (флажок или гиперссылка). -// ТекстГиперссылки - Строка - текст гиперссылки. -// ДействиеПриУстановленномФлажке - Структура с полями: -// Форма - путь к открываемой форме. -// ПараметрыФормы - произвольная структура параметров формы Форма. -// ДействиеПриНажатииГиперссылки - Структура с полями: -// Форма - Строка - путь к форме, которая должна открываться по нажатию на гиперссылку. -// ПараметрыФормы - Структура - произвольная структура параметров для вышеописанной формы. -// ПрикладнаяФормаПредупреждения - Строка - путь к форме, которая должна открываться сразу -// вместо универсальной формы в случае, когда в списке -// предупреждений оказывается только одно данное предупреждение. -// ПараметрыПрикладнойФормыПредупреждения - Структура - произвольная структура -// параметров для вышеописанной формы. +// Предупреждения - Массив - в массив можно добавить элементы типа Структура, +// свойства которой см. в СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы. // Процедура ПриПолученииСпискаПредупрежденийЗавершенияРаботы(Предупреждения) Экспорт Параметры = СтандартныеПодсистемыКлиент.ПараметрыРаботыКлиентаПриЗавершении(); Если Параметры.Свойство("УправлениеИтогамиИАгрегатами") И Параметры.УправлениеИтогамиИАгрегатами.СдвинутьГраницуИтогов Тогда - ТекстФлажка = НСтр("ru = 'Ускорить проведение документов и формирование отчетов - |(обязательная ежемесячная процедура, может занять некоторое время)'"); - ДействиеПриУстановленномФлажке = Новый Структура; - ДействиеПриУстановленномФлажке.Вставить("Форма", "Обработка.СдвигГраницыИтоговПриЗавершенииРаботы.Форма"); - ДействиеПриУстановленномФлажке.Вставить("ПараметрыФормы", Новый Структура("ОткрытаПоСценарию", Истина)); - - ПараметрыПредупреждения = Новый Структура; - ПараметрыПредупреждения.Вставить("ТекстФлажка", ТекстФлажка); - ПараметрыПредупреждения.Вставить("ДействиеПриУстановленномФлажке", ДействиеПриУстановленномФлажке); - ПараметрыПредупреждения.Вставить("Приоритет", 60); - + ПараметрыПредупреждения = СтандартныеПодсистемыКлиент.ПредупреждениеПриЗавершениеРаботы(); + ПараметрыПредупреждения.ТекстФлажка = НСтр("ru = 'Ускорить проведение документов и формирование отчетов + |(обязательная ежемесячная процедура, может занять некоторое время)'"); + ПараметрыПредупреждения.Приоритет = 60; + ДействиеПриУстановленномФлажке = ПараметрыПредупреждения.ДействиеПриУстановленномФлажке; + ДействиеПриУстановленномФлажке.Форма = "Обработка.СдвигГраницыИтоговПриЗавершенииРаботы.Форма"; + ДействиеПриУстановленномФлажке.ПараметрыФормы = Новый Структура("ОткрытаПоСценарию", Истина); Предупреждения.Добавить(ПараметрыПредупреждения); КонецЕсли; diff --git a/SSL/src/CommonModules/УправлениеКонтактнойИнформацией/Module.bsl b/SSL/src/CommonModules/УправлениеКонтактнойИнформацией/Module.bsl index b8724727f..f7920caad 100644 --- a/SSL/src/CommonModules/УправлениеКонтактнойИнформацией/Module.bsl +++ b/SSL/src/CommonModules/УправлениеКонтактнойИнформацией/Module.bsl @@ -14,8 +14,8 @@ // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной // информации -// Объект - Объект-владелец контактной информации -// ПоложениеЗаголовкаКИ - Может принимать значения ПоложениеЗаголовкаЭлементаФормы.Лево +// Объект - Произвольный - Объект-владелец контактной информации +// ПоложениеЗаголовкаКИ - ПоложениеЗаголовкаЭлементаФормы - Может принимать значения ПоложениеЗаголовкаЭлементаФормы.Лево // или ПоложениеЗаголовкаЭлементаФормы.Верх (по умолчанию) // Процедура ПриСозданииНаСервере(Форма, Объект, ИмяЭлементаДляРазмещения = "", ПоложениеЗаголовкаКИ = "") Экспорт @@ -67,22 +67,22 @@ Если ЗначениеЗаполнено(СсылкаНаОбъект) Тогда Запрос.Текст =" |ВЫБРАТЬ - | ВидыКонтактнойИнформации.Ссылка КАК Вид, - | ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных, - | ВидыКонтактнойИнформации.Тип КАК Тип, - | ВидыКонтактнойИнформации.ОбязательноеЗаполнение КАК ОбязательноеЗаполнение, - | ВидыКонтактнойИнформации.Подсказка КАК Подсказка, - | ВидыКонтактнойИнформации.Наименование КАК Наименование, - | ВидыКонтактнойИнформации.Наименование КАК Заголовок, - | - | ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти, - | ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, - | ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Представление, - | ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, """") КАК ЗначенияПолей, - | ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки, - | " + ДанныеИдентификатораСтрокиТабличнойЧасти + " КАК ИдентификаторСтроки, - | ВЫРАЗИТЬ("""""""" КАК СТРОКА(200)) КАК ИмяРеквизита, - | ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий + | ВидыКонтактнойИнформации.Ссылка КАК Вид, + | ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных, + | ВидыКонтактнойИнформации.Тип КАК Тип, + | ВидыКонтактнойИнформации.ОбязательноеЗаполнение КАК ОбязательноеЗаполнение, + | ВидыКонтактнойИнформации.Подсказка КАК Подсказка, + | ВидыКонтактнойИнформации.Наименование КАК Наименование, + | ВидыКонтактнойИнформации.Наименование КАК Заголовок, + | ВидыКонтактнойИнформации.РедактированиеТолькоВДиалоге КАК РедактированиеТолькоВДиалоге, + | ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти, + | ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, + | ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Представление, + | ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, """") КАК ЗначенияПолей, + | ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки, + | " + ДанныеИдентификатораСтрокиТабличнойЧасти + " КАК ИдентификаторСтроки, + | ВЫРАЗИТЬ("""""""" КАК СТРОКА(200)) КАК ИмяРеквизита, + | ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий |ИЗ | Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации |ЛЕВОЕ СОЕДИНЕНИЕ @@ -116,22 +116,22 @@ |;//////////////////////////////////////////////////////////////////////////////// | |ВЫБРАТЬ - | ВидыКонтактнойИнформации.Ссылка КАК Вид, - | ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных, - | ВидыКонтактнойИнформации.Тип КАК Тип, - | ВидыКонтактнойИнформации.ОбязательноеЗаполнение КАК ОбязательноеЗаполнение, - | ВидыКонтактнойИнформации.Подсказка КАК Подсказка, - | ВидыКонтактнойИнформации.Наименование КАК Наименование, - | ВидыКонтактнойИнформации.Наименование КАК Заголовок, - | - | ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти, - | ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, - | ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Представление, - | ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, """") КАК ЗначенияПолей, - | ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки, - | " + ДанныеИдентификатораСтрокиТабличнойЧасти + " КАК ИдентификаторСтроки, - | ВЫРАЗИТЬ("""""""" КАК СТРОКА(200)) КАК ИмяРеквизита, - | ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий + | ВидыКонтактнойИнформации.Ссылка КАК Вид, + | ВидыКонтактнойИнформации.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных, + | ВидыКонтактнойИнформации.Тип КАК Тип, + | ВидыКонтактнойИнформации.ОбязательноеЗаполнение КАК ОбязательноеЗаполнение, + | ВидыКонтактнойИнформации.Подсказка КАК Подсказка, + | ВидыКонтактнойИнформации.Наименование КАК Наименование, + | ВидыКонтактнойИнформации.Наименование КАК Заголовок, + | ВидыКонтактнойИнформации.РедактированиеТолькоВДиалоге КАК РедактированиеТолькоВДиалоге, + | ВидыКонтактнойИнформации.ЭтоГруппа КАК ЭтоРеквизитТабличнойЧасти, + | ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания, + | ЕСТЬNULL(КонтактнаяИнформация.Представление, """") КАК Представление, + | ЕСТЬNULL(КонтактнаяИнформация.ЗначенияПолей, """") КАК ЗначенияПолей, + | ЕСТЬNULL(КонтактнаяИнформация.НомерСтроки, 0) КАК НомерСтроки, + | " + ДанныеИдентификатораСтрокиТабличнойЧасти + " КАК ИдентификаторСтроки, + | ВЫРАЗИТЬ("""""""" КАК СТРОКА(200)) КАК ИмяРеквизита, + | ВЫРАЗИТЬ("""" КАК СТРОКА) КАК Комментарий |ИЗ | Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации |ЛЕВОЕ СОЕДИНЕНИЕ @@ -304,21 +304,19 @@ КонецЕсли; - Вид = СтрокаКИ.Вид; - Тип = СтрокаКИ.Тип; ЕстьКомментарий = ЗначениеЗаполнено(СтрокаКИ.Комментарий); ИмяРеквизита = СтрокаКИ.ИмяРеквизита; - ЭтоНовыйВидКИ = (Вид <> ПредыдущийВид); + ЭтоНовыйВидКИ = (СтрокаКИ.Вид <> ПредыдущийВид); // Добавляем заголовок Если ЗаголовокСлева Тогда - Заголовок(Форма, Тип, ИмяРеквизита, ГруппаЗаголовков, СтрокаКИ.Наименование, ЭтоНовыйВидКИ, ЕстьКомментарий); + Заголовок(Форма, СтрокаКИ.Тип, ИмяРеквизита, ГруппаЗаголовков, СтрокаКИ.Наименование, ЭтоНовыйВидКИ, ЕстьКомментарий); КонецЕсли; - ПолеВвода(Форма, Вид, Тип, ИмяРеквизита, СтрокаКИ.Подсказка, ЭтоНовыйВидКИ, СтрокаКИ.ОбязательноеЗаполнение); + ПолеВвода(Форма, СтрокаКИ.РедактированиеТолькоВДиалоге, СтрокаКИ.Тип, ИмяРеквизита, СтрокаКИ.Подсказка, ЭтоНовыйВидКИ, СтрокаКИ.ОбязательноеЗаполнение); // Выводим комментарий Если ЕстьКомментарий Тогда @@ -337,10 +335,10 @@ КонецЕсли; - Действие(Форма, Тип, ИмяРеквизита, ГруппаДействий, КоличествоАдресов, ЕстьКомментарий); + Действие(Форма, СтрокаКИ.Тип, ИмяРеквизита, ГруппаДействий, КоличествоАдресов, ЕстьКомментарий); ДобавитьРеквизитВОписание(Форма, СтрокаКИ, ЭтоНовыйВидКИ); - ПредыдущийВид = Вид; + ПредыдущийВид = СтрокаКИ.Вид; КонецЦикла; @@ -356,7 +354,6 @@ Команда.Отображение = ОтображениеКнопки.КартинкаИТекст; Команда.Картинка = БиблиотекаКартинок.ДобавитьЭлементСписка; Команда.Действие = "Подключаемый_КонтактнаяИнформацияВыполнитьКоманду"; - Команда.ИзменяетСохраняемыеДанные = Истина; ДобавитьОписаниеЭлемента(Форма, ИмяКоманды, 9, Истина); @@ -374,7 +371,7 @@ // // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной информации -// Объект - Объект-владелец контактной информации +// Объект - Произвольный - Объект-владелец контактной информации // Процедура ПриЧтенииНаСервере(Форма, Объект) Экспорт @@ -429,7 +426,7 @@ // // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной информации -// Объект - Объект-владелец контактной информации +// Объект - Произвольный - Объект-владелец контактной информации // Процедура ПослеЗаписиНаСервере(Форма, Объект) Экспорт @@ -472,7 +469,7 @@ // // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной информации -// Объект - Объект-владелец контактной информации +// Объект - Произвольный - Объект-владелец контактной информации // Процедура ОбработкаПроверкиЗаполненияНаСервере(Форма, Объект, Отказ) Экспорт @@ -564,7 +561,7 @@ // // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной информации -// Объект - Объект-владелец контактной информации +// Объект - Произвольный - Объект-владелец контактной информации // Процедура ПередЗаписьюНаСервере(Форма, Объект, Отказ = Ложь) Экспорт @@ -614,8 +611,11 @@ // // Параметры: // Форма - УправляемаяФорма - Форма объекта-владельца, предназначенная для вывода контактной информации -// Объект - Объект-владелец контактной информации -// Результат - Необязательный служебный реквизит, полученный из предыдущего обработчика события. +// Объект - Произвольный - Объект-владелец контактной информации +// Результат - Произвольный - Необязательный служебный реквизит, полученный из предыдущего обработчика события. +// +// Возвращаемое значение: +// Неопределено // Функция ОбновитьКонтактнуюИнформацию(Форма, Объект, Результат = Неопределено) Экспорт @@ -639,43 +639,45 @@ // Проверяет адрес на соответствие российского адреса требованиям к адресной информации // // Параметры: -// СтруктураПолейАдреса - Структура, СписокЗначений, Строка, содержащая поля адресной информации -// Структура и СписокЗначений, содержит имена полей адреса и их значения, -// Строка - строка XML контактной информации или содержит строки с именами -// полей и их значениями. +// СтруктураПолейАдреса - Структура, СписокЗначений, Строка - поля адресной информации. +// Структура и СписокЗначений, содержит имена полей адреса и их значения, +// Строка - строка XML контактной информации или содержит строки с именами полей и их значениями. // -// ВидКонтактнойИнформации - необязательная ссылка на справочник "Виды контактной информации" -// соответствующая проверяемому адресу +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание соответствующего вида контактной информации +// для получения флагов, влияющих на проверку: АдресТолькоРоссийский, ОбязательноеЗаполнение, ВключатьСтрануВПредставление. +// Если не указан, то будут использованы установки по умолчанию - значение Ложь для всех флагов // // Возвращаемое значение: -// Массив структур с полями: -// - ТипОшибки - строка с наименованием ошибки. Принимаемые значения: -// - ПредставлениеНеСоответствуетНаборуПолей -// - НеЗаполненыОбязательныеПоля -// - НеУказаныСокращенияПолей -// - НедопустимыеСимволыПолей -// - НеСоответствуетДлинаПолей -// - ОшибкиПоКлассификатору -// - Сообщение - Подробный текст ошибки -// - Поля - массив структур с полями: -// - ИмяПоля - Строка, название элемента в структуре адреса -// - Сообщение - строка, подробный текст ошибки для поля +// Массив - содержит структуру с полями: +// * ТипОшибки - Строка - Идентификатор ошибки. Принимаемые значения: +// "ПредставлениеНеСоответствуетНаборуПолей" +// "НеЗаполненыОбязательныеПоля" +// "НеУказаныСокращенияПолей" +// "НедопустимыеСимволыПолей" +// "НеСоответствуетДлинаПолей" +// "ОшибкиПоКлассификатору" +// * Сообщение - Строка - Подробный текст ошибки +// * Поля - Массив - содержит структуры с полями: +// ** ИмяПоля - Строка - название элемента в структуре адреса +// ** Сообщение - строка - подробный текст ошибки для поля // Функция ПроверитьАдрес(Знач СтруктураПолейАдреса, ВидКонтактнойИнформации = Неопределено) Экспорт + Возврат КонтактнаяИнформацияСлужебный.ОшибкиЗаполненияАдреса(СтруктураПолейАдреса, ВидКонтактнойИнформации, Истина); + КонецФункции // Преобразует все входящие форматы контактной информации в XML // // Параметры: -// ЗначенияПолей - строка (XML или старый формат ключ-значение), структура, соответствие или список значений, -// описывающие поля контактной информации. -// Представление - строка представления. Используется, если невозможно определить представление из параметра +// ЗначенияПолей - Строка, Структура, Соответствие, СписокЗначений - описание полей контактной информации. +// Представление - Строка - представления. Используется, если невозможно определить представление из параметра // ЗначенияПолей (отсутствие поля "Представление") -// ОжидаемыйВид - ссылка на справочник ВидыКонтактнойИнформации или перечисление ТипыКонтактнойИнформации. +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации - // Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей // -// Возвращаемое значение - строка XML данных контактной информации +// Возвращаемое значение: +// Строка - XML данные контактной информации // Функция КонтактнаяИнформацияВXML(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйВид = Неопределено) Экспорт @@ -689,7 +691,10 @@ // Возвращает соответствующее значение перечисления "ТипыКонтактнойИнформации" по строке XML // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию +// XMLСтрока - Строка - контактная информацию +// +// Возвращаемое значение: +// ПеречислениеСсылка.ТипыКонтактнойИнформации - соответствующий тип // Функция ТипКонтактнойИнформации(Знач XMLСтрока) Экспорт Возврат КонтактнаяИнформацияXML.ТипКонтактнойИнформации(XMLСтрока); @@ -698,8 +703,11 @@ // Читает или устанавливает представление контактной информации. // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. Может быть изменена если указан второй параметр. -// НовоеЗначение - если этот параметр указан, то представление в XMLСтрока устанавливается на новое значение +// XMLСтрока - Строка - XML контактной информации +// НовоеЗначение - Строка - устанавливаемое значение +// +// Возвращаемое значение: +// Строка - новое значение // Функция ПредставлениеКонтактнойИнформации(XMLСтрока, Знач НовоеЗначение = Неопределено) Экспорт Возврат КонтактнаяИнформацияСлужебный.ПредставлениеКонтактнойИнформации(XMLСтрока, НовоеЗначение); @@ -712,6 +720,9 @@ // ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - набор флагов, описывающих // параметры генерации представления // +// Возвращаемое значение: +// Строка - вычисленное представление +// Функция ПредставлениеКонтактнойИнформацииПоЗначениюПолей(Знач XMLСтрока, Знач ВидКонтактнойИнформации = Неопределено) Экспорт Если ВидКонтактнойИнформации = Неопределено Тогда @@ -727,20 +738,25 @@ // Читает или устанавливает комментарий к контактной информации // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. Может быть изменена если указан второй параметр. -// НовоеЗначение - если этот параметр указан, то комментарий в XMLСтрока устанавливается на новое значение +// XMLСтрока - Строка - XML контактной информации +// НовоеЗначение - Строка - устанавливаемое значение +// +// Возвращаемое значение: +// Строка - новое значение // Функция КомментарийКонтактнойИнформации(XMLСтрока, Знач НовоеЗначение = Неопределено) Экспорт Возврат КонтактнаяИнформацияСлужебный.КомментарийКонтактнойИнформации(XMLСтрока, НовоеЗначение); КонецФункции // Читает или устанавливает адрес по документу у адреса РФ +// Если переданная строка не содержит информации об адресе РФ, то будет вызвано исключение // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. Может быть изменена если указан второй параметр. -// НовоеЗначение - если этот параметр указан, то комментарий в XMLСтрока устанавливается на новое значение +// XMLСтрока - Строка - XML контактной информации +// НовоеЗначение - Строка - устанавливаемое значение // -// Если переданная строка не содержит информации об адресе РФ, то будет вызвано исключение +// Возвращаемое значение: +// Строка - новое значение // Функция АдресПоДокументуКонтактнойИнформации(XMLСтрока, Знач НовоеЗначение = Неопределено) Экспорт Если ПустаяСтрока(XMLСтрока) Тогда @@ -765,19 +781,23 @@ КонецФункции // Возвращает информацию о стране адреса +// Если переданная строка не содержит информации об адресе, то будет вызвано исключение // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. +// XMLСтрока - Строка - XML контактной информации // // Возвращаемое значение: -// Структура с полями "Ссылка", "Наименование", "Ссылка", "Код", "НаименованиеПолное", "КодАльфа2", "КодАльфа3", -// которая описывает страну адреса. +// Структура - описание страны адреса. Содержит поля: +// * Ссылка - СправочникСсылка.СтраныМира, Неопределено - соответствующий элемент страны мира +// * Наименование - Строка - часть описания страны +// * Код - Строка - часть описания страны +// * НаименованиеПолное - Строка - часть описания страны +// * КодАльфа2 - Строка - часть описания страны +// * КодАльфа3 - Строка - часть описания страны // -// Если передана пустая строка, то возвращается пустая структура. -// Если страна не найдена в справочнике, то но найдена в классфикаторе, то поле "Ссылка" не заполнено -// Если страна не найдена ни в адресе, ни в классификаторе, то будет заполнено только поле "Наименование" -// -// Если переданная строка не содержит информации об адресе, то будет вызвано исключение +// Если передана пустая строка, то возвращается пустая структура. +// Если страна не найдена в справочнике, то но найдена в классфикаторе, то поле "Ссылка" результата не заполнено +// Если страна не найдена ни в адресе, ни в классификаторе, то будет заполнено только поле "Наименование" // Функция СтранаАдресаКонтактнойИнформации(Знач XMLСтрока) Экспорт @@ -802,11 +822,13 @@ КонецФункции // Возвращает наименование субъекта РФ для адреса или пустую строку, если субъект не определен +// Если переданная строка не содержит информации об адресе, то будет вызвано исключение // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. +// XMLСтрока - Строка - XML контактной информации // -// Если переданная строка не содержит информации об адресе, то будет вызвано исключение +// Возвращаемое значение: +// Строка - наименование // Функция РегионАдресаКонтактнойИнформации(Знач XMLСтрока) Экспорт Если ПустаяСтрока(XMLСтрока) Тогда @@ -827,11 +849,13 @@ КонецФункции // Возвращает наименование города для адреса РФ или пустую строку для иностранного адреса +// Если переданная строка не содержит информации об адресе, то будет вызвано исключение // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. +// XMLСтрока - Строка - XML контактной информации // -// Если переданная строка не содержит информации об адресе, то будет вызвано исключение +// Возвращаемое значение: +// Строка - наименование // Функция ГородАдресаКонтактнойИнформации(Знач XMLСтрока) Экспорт Если ПустаяСтрока(XMLСтрока) Тогда @@ -854,7 +878,10 @@ // Возвращает домен сетевого адреса для веб-ссылки или адреса электронной почты // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. +// XMLСтрока - Строка - XML контактной информации +// +// Возвращаемое значение: +// Строка - требуемое значение // Функция ДоменАдресаКонтактнойИнформации(Знач XMLСтрока) Экспорт Если ПустаяСтрока(XMLСтрока) Тогда @@ -891,7 +918,10 @@ // Возвращает строку с номером телефона без кода и дополнительного номера // // Параметры: -// XMLСтрока - строка, описывающая контактную информацию. +// XMLСтрока - Строка - XML контактной информации +// +// Возвращаемое значение: +// Строка - требуемое значение // Функция НомерТелефонаКонтактнойИнформации(Знач XMLСтрока) Экспорт Если ПустаяСтрока(XMLСтрока) Тогда @@ -920,28 +950,24 @@ // Сравнивает два экземпляра контактной инфромации. // // Параметры: -// Данные1, Данные2 - данные экземпляров контактной информации. Каждый параметр независимо может принимать -// значения следующих типов: -// - ОбъектXTDO. Рассматривается как объект с контактной информацией -// - Строка. Рассматривается как контактная информация в формате XML -// - Структура, описывающие контактную информацию. Ожидаются поля: -// ЗначенияПолей - строка (XML или старый формат ключ-значение), структура, список значений, -// соответствие. Если в этом поле передана строка XML, то остальные поля -// структуры игнорируются. -// Представление - строка представления. Используется в случае, если не удалось вычислить -// представление из ЗначенияПолей (отсутствие в них поля Представление) -// ВидКонтактнойИнформации - ссылка на справочник ВидыКонтактнойИнформации или значение перечисления -// ТипыКонтактнойИнформации. Используется в случае, если не удалось вычислить -// тип из ЗначенияПолей -// Комментарий - строка комментария. Используется в случае, если не удалось вычислить -// комментарий из ЗначенияПолей +// Данные1 - ОбъектXTDO - объект с контактной информацией +// - Строка - контактная информация в формате XML +// - Структура - описание контактной информацию. Ожидаются поля: +// * ЗначенияПолей - Строка, Структура, СписокЗначений, Соответствие - поля контактной информации +// * Представление - Строка - Представление. Используется в случае, если не удалось вычислить +// представление из ЗначенияПолей (отсутствие в них поля Представление) +// * Комментарий - Строка - комментарий. Используется в случае, если не удалось вычислить комментарий из ЗначенияПолей +// * ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// Используется в случае, если не удалось вычислить тип из ЗначенияПолей +// Данные2 - ОбъектXTDO, Строка, Структура - аналогично Данные1 // -// Возвращает таблицу отличающихся полей со следующими колонками: -// Путь - строка XPath, идентифицирующая различающееся значение. Значение "ТипКонтактнойИнформации" означает, -// что переданные экземпляры контактной информации различаются типом. -// Описание - строка описания отличающегося реквизита в терминах предметной области -// Значение1 - строка значения, соответствующая объекту, переданному в параметре Данные1 -// Значение2 - строка значения, соответствующая объекту, переданному в параметре Данные2 +// Возвращаемое значение: +// ТаблицаЗначений: - таблица отличающихся полей со следующими колонками: +// * Путь - Строка - XPath, идентифицирующий различающееся значение. Значение "ТипКонтактнойИнформации" означает, +// что переданные экземпляры контактной информации различаются типом. +// * Описание - Строка - описание отличающегося реквизита в терминах предметной области +// * Значение1 - Строка - значение, соответствующая объекту, переданному в параметре Данные1 +// * Значение2 - Строка - значение, соответствующая объекту, переданному в параметре Данные2 // Функция РазличияКонтактнойИнформации(Знач Данные1, Знач Данные2) Экспорт Возврат КонтактнаяИнформацияXML.РазличияКонтактнойИнформации(Данные1, Данные2); @@ -950,12 +976,12 @@ // Преобразует данные нового формата XML контактной информации в старый формат // // Параметры: -// Данные - строка значений полей в новом формате (xml) -// СтарыйСоставПолей - булево - необязательный флаг того, что из состава полей будут исключены -// поля, отсутствующие в версиях БСП младше 2.1.3 +// Данные - Строка - XML контактной информации +// СтарыйСоставПолей - Булево - необязательный флаг того, что из состава полей будут исключены +// поля, отсутствующие в версиях БСП младше 2.1.3 // // Возвращаемое значение: -// Строка с набором пар ключ-значение, разделенных переносом строки +// Строка - набор пар ключ-значение, разделенных переносом строки // Функция ПредыдущийФорматКонтактнойИнформацииXML(Знач Данные, Знач СтарыйСоставПолей = Ложь) Экспорт @@ -971,12 +997,11 @@ // Преобразует данные нового формата XML контактной информации в структуру старого формата // // Параметры: -// Данные - строка значений полей, в новом формате (xml) или в старом (ключ = значение) -// ВидКонтактнойИнформации - необязательная ссылка на справочник вида, или совместимая по полям структура -// используется, если "Данные" - пустая строка +// Данные - Строка - XML контактной информации или пары ключ-значение +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание параметров КИ // // Возвращаемое значение: -// Структура с набором пар ключ-значение +// Структура - набор пар ключ-значение // Функция ПредыдущаяСтруктураКонтактнойИнформацииXML(Знач Данные, Знач ВидКонтактнойИнформации = Неопределено) Экспорт @@ -1001,14 +1026,18 @@ // Определяет данные страны по справочнику стран или классификатору ОКСМ // // Параметры: -// КодСтраны - строка или число с кодом ОКСМ страны. Если не указано, то поиск по коду не производится -// Наименование - наименование страны. Если не указано, то поиск по наименованию не производится +// КодСтраны - Строка, Число - код ОКСМ страны. Если не указано, то поиск по коду не производится +// Наименование - Строка - Наименование страны. Если не указано, то поиск по наименованию не производится // // Возвращаемое значение: -// Структура с полями "Ссылка", "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3", -// Если страна не найдена в справочнике, но найдена в классфикаторе, то поле "Ссылка" не заполнено -// -// Если страна не найдена ни в адресе, ни в классификаторе, то возвращается значение Неопределено +// Структура - описание страны. Содержит поля: +// * Ссылка - СправочникСсылка.СтраныМира, Неопределено - соответствующий элемент страны мира +// * Наименование - Строка - часть описания страны +// * Код - Строка - часть описания страны +// * НаименованиеПолное - Строка - часть описания страны +// * КодАльфа2 - Строка - часть описания страны +// * КодАльфа3 - Строка - часть описания страны +// Неопределено - страна не найдена ни в адресе, ни в классификаторе // Функция ДанныеСтраныМира(Знач КодСтраны = Неопределено, Знач Наименование = Неопределено) Экспорт Возврат Справочники.СтраныМира.ДанныеСтраныМира(КодСтраны, Наименование); @@ -1017,11 +1046,16 @@ // Определяет данные страны по классификатору ОКСМ // // Параметры: -// КодСтраны - строка кода страны или числовой код +// КодСтраны - Строка, Число - код страны // // Возвращаемое значение: -// - в случае успеха - структура с полями "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3" -// - в случае отсутствия страны в классификаторе - Неопределено +// Структура - описание страны. Содержит поля: +// * Наименование - Строка - часть описания страны +// * Код - Строка - часть описания страны +// * НаименованиеПолное - Строка - часть описания страны +// * КодАльфа2 - Строка - часть описания страны +// * КодАльфа3 - Строка - часть описания страны +// Неопределено - страна не найдена в классификаторе // Функция ДанныеКлассификатораСтранМираПоКоду(Знач КодСтраны) Экспорт Возврат Справочники.СтраныМира.ДанныеКлассификатораСтранМираПоКоду(КодСтраны); @@ -1030,11 +1064,16 @@ // Определяет данные страны по классификатору ОКСМ // // Параметры: -// Наименование - строка наименования страны +// Наименование - Строка - наименование страны // // Возвращаемое значение: -// - в случае успеха - структура с полями "Код", "Наименование", "НаименованиеПолное", "КодАльфа2", "КодАльфа3" -// - в случае отсутствия страны в классификаторе - Неопределено +// Структура - описание страны. Содержит поля: +// * Наименование - Строка - часть описания страны +// * Код - Строка - часть описания страны +// * НаименованиеПолное - Строка - часть описания страны +// * КодАльфа2 - Строка - часть описания страны +// * КодАльфа3 - Строка - часть описания страны +// Неопределено - страна не найдена в классификаторе // Функция ДанныеКлассификатораСтранМираПоНаименованию(Знач Наименование) Экспорт Возврат Справочники.СтраныМира.ДанныеКлассификатораСтранМираПоНаименованию(Наименование); @@ -1051,11 +1090,11 @@ // Получить значение определенного вида контактной информации у объекта. // // Параметры -// Ссылка - ЛюбаяСсылка - ссылка на объект-владелец контактной информации (организация, контрагент, партнер и т.д.) -// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации +// Ссылка - ЛюбаяСсылка - ссылка на объект-владелец контактной информации (организация, контрагент, партнер и т.д.) +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - параметры обработки // // Возвращаемое значение: -// Строка - строковое представление значения. +// Строка - строковое представление значения. // Функция КонтактнаяИнформацияОбъекта(Ссылка, ВидКонтактнойИнформации) Экспорт @@ -1075,14 +1114,14 @@ // Возвращает значения всей контактной информации определенного вида для объекта-владельца // // Параметры: -// Ссылка - ссылка на объект-владелец контактной информации (организация, контрагент, партнер и т.д.) -// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации +// Ссылка - ЛюбаяСсылка - ссылка на объект-владелец контактной информации (организация, контрагент, партнер и т.д.) +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - параметры обработки // // Возвращаемое значение: -// Таблица значений с колонками: -// НомерСтроки - номер строки дополнительной табличной части объекта-владельца -// Представление - представление КИ, введенное пользователем -// СтруктураПолей - структура с парами ключ-значение данных информации +// Таблица значений -информация. Колонками: +// * НомерСтроки - Число - номер строки дополнительной табличной части объекта-владельца +// * Представление - Строка - представление КИ, введенное пользователем +// * СтруктураПолей - Структура - пары ключ-значение данных информации // Функция ТаблицаКонтактнойИнформацииОбъекта(Ссылка, ВидКонтактнойИнформации) Экспорт @@ -1122,19 +1161,17 @@ // Предназначена для создания временной таблицы с контактной информацией нескольких объектов // // Параметры: -// МенеджерВременныхТаблиц -// МассивОбъектов, массив владельцев контактной информации -// Тип - массив -// Все элементы одного типа -// ТипыКИ - массив, необязательный, если не задан все типы -// ВидыКИ - массив, необязательный, если не задан все виды +// МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - для формирования +// МассивОбъектов - Массив - владельцы контактной информации, все элементы должны быть одного типа +// ТипыКИ - Массив - необязательный, используется если не задан все типы +// ВидыКИ - Массив - необязательный, используется если не задан все виды // -// В менеджер создается временная таблица ВТКонтактнаяИнформация с полями: -// Объект -// Вид -// Тип -// ЗначенияПолей -// Представление +// В менеджере создается временная таблица ВТКонтактнаяИнформация с полями: +// * Объект - Ссылка - владелец КИ +// * Вид - СправочникСсылка.ВидыКонтактнойИнформации +// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации +// * ЗначенияПолей - Строка - данные значений полей +// * Представление - Строка - представление КИ // Процедура СоздатьВТКонтактнаяИнформация(МенеджерВременныхТаблиц, МассивОбъектов, ТипыКИ = Неопределено, ВидыКИ = Неопределено) Экспорт @@ -1172,19 +1209,17 @@ // Предназначена для получения контактной информации для нескольких объектов // // Параметры: -// МассивОбъектов, массив владельцев контактной информации -// Тип - массив -// Все элементы одного типа -// ТипыКИ - массив, необязательный, если не задан все типы -// ВидыКИ - массив, необязательный, если не задан все виды +// МассивОбъектов - Массив - владельцы контактной информации, все элементы должны быть одного типа +// ТипыКИ - Массив - необязательный, используется если не задан все типы +// ВидыКИ - Массив - необязательный, используется если не задан все виды // // Возвращаемое значение -// Таблица значений с полями: -// Объект -// Вид -// Тип -// ЗначенияПолей -// Представление +// Таблица значений - результат. Колонки: +// * Объект - Ссылка - владелец КИ +// * Вид - СправочникСсылка.ВидыКонтактнойИнформации +// * Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации +// * ЗначенияПолей - Строка - данные значений полей +// * Представление - Строка - представление КИ // Функция КонтактнаяИнформацияОбъектов(МассивОбъектов, ТипыКИ = Неопределено, ВидыКИ = Неопределено) Экспорт @@ -1208,10 +1243,11 @@ КонецФункции // Заполняет контактную информацию в объектах +// // Параметры: // ДанныеЗаполнения - ТаблицаЗначений - описывает объекты для для заполнения. Содержит колонки: -// * Приемник - Ссылка или Объект, в котором нужно заполнить КИ -// * ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации вид контактной информации, заполняемый в приемнике +// * Приемник - Произвольный - ссылка или объект, в котором нужно заполнить КИ +// * ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации, заполняемый в приемнике // * СтруктураКИ - СписокЗначений, Строка, Структура - данные значений полей контактной информации // * КлючСтроки - Структура - фильтр для поиска строки в табличной части, где Ключ - имя колонки в табличной части, Значение - значение отбора // @@ -1272,12 +1308,12 @@ КонецПроцедуры // Заполняет контактную информацию объекта +// // Параметры: -// Приемник - ссылка или объект, в котором нужно заполнить КИ -// ВидКИ - вид контактной информации, заполняемый в приемнике -// СтруктураКИ - заполненная структура контактной информации -// КлючСтроки - Структура отбора для поиска строки в табличной части, -// где Ключ - Имя колонки в табличной части, значение - значение отбора +// Приемник - Произвольный - ссылка или объект, в котором нужно заполнить КИ +// ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации, заполняемый в приемнике +// СтруктураКИ - Структура - заполненная структура контактной информации +// КлючСтроки - Структура - отбор для поиска строки в табличной части, Ключ - Имя колонки в табличной части, значение - значение отбора // Процедура ЗаполнитьКонтактнуюИнформациюОбъекта(Приемник, ВидКИ, СтруктураКИ, КлючСтроки = Неопределено) Экспорт @@ -1297,6 +1333,52 @@ КонецПроцедуры +// Записывает контактную информацию из XML в поля табличной части Контактная информация объекта +// +// Параметры: +// Объект - ЛюбаяСсылка - номер телефона или факса. +// ЗначенияПолей - Строка - контактная информация в формате XML +// ВидИнформации - Справочник.ВидыКонтактнойИнформация - ссылка на вид контактной информации +// ТипИнформации - Перечисление.ТипыКонтактнойИнформация - тип контактной информации +// ИдентификаторСтроки - Число - идентификатор строки табличной части +Процедура ЗаписатьКонтактнуюИнформацию(Объект, ЗначенияПолей, ВидИнформации, ТипИнформации, ИдентификаторСтроки = 0) Экспорт + + ОбъектКИ = КонтактнаяИнформацияСлужебный.ДесериализацияКонтактнойИнформации(ЗначенияПолей, ВидИнформации); + + Если Не КонтактнаяИнформацияСлужебный.XDTOКонтактнаяИнформацияЗаполнена(ОбъектКИ) Тогда + Возврат; + КонецЕсли; + + НоваяСтрока = Объект.КонтактнаяИнформация.Добавить(); + НоваяСтрока.Представление = ОбъектКИ.Представление; + НоваяСтрока.ЗначенияПолей = КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(ОбъектКИ); + НоваяСтрока.Вид = ВидИнформации; + НоваяСтрока.Тип = ТипИнформации; + + Если ЗначениеЗаполнено(ИдентификаторСтроки) Тогда + НоваяСтрока.ИдентификаторСтрокиТабличнойЧасти = ИдентификаторСтроки; + КонецЕсли; + + // Заполнение дополнительных реквизитов ТЧ + Если ТипИнформации = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда + ЗаполнитьРеквизитыТабличнойЧастиДляАдресаЭлектроннойПочты(НоваяСтрока, ОбъектКИ); + + ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда + ЗаполнитьРеквизитыТабличнойЧастиДляАдреса(НоваяСтрока, ОбъектКИ); + + ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда + ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(НоваяСтрока, ОбъектКИ); + + ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда + ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(НоваяСтрока, ОбъектКИ); + + ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда + ЗаполнитьРеквизитыТабличнойЧастиДляВебСтраницы(НоваяСтрока, ОбъектКИ); + + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныйПрограммныйИнтерфейс @@ -1315,8 +1397,7 @@ // Возвращает значение перечисления тип вида контактной информации // // Параметры: -// ВидИнформации - перечисление типа, ссылка на справочник ВидыКонтактнойИнформации или объект -// с полем "Тип" +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - источник данных // Функция ТипВидаКонтактнойИнформации(Знач ВидИнформации) Экспорт Результат = Неопределено; @@ -1423,6 +1504,9 @@ // ИмяРеквизита - Строка - Имя реквизита, наличие которого проверяется // Объект - Произвольный - Проверяемый объект // +// Возвращаемое значение: +// Булево - результат проверки +// Функция ЕстьРеквизитОбъекта(Знач ИмяРеквизита, Знач Объект) ПроверкаРеквизита = Новый Структура(ИмяРеквизита, Неопределено); ЗаполнитьЗначенияСвойств(ПроверкаРеквизита, Объект); @@ -1594,6 +1678,13 @@ Процедура ДобавитьСтрокуКонтактнойИнформации(Форма, Результат) ДобавляемыйВид = Результат.ДобавляемыйВид; + Если ТипЗнч(ДобавляемыйВид)= Тип("СправочникСсылка.ВидыКонтактнойИнформации") Тогда + ИнформацияОВидеКИ = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДобавляемыйВид, "Тип, Наименование, РедактированиеТолькоВДиалоге, Подсказка"); + Иначе + ИнформацияОВидеКИ = ДобавляемыйВид; + ДобавляемыйВид = ДобавляемыйВид.Ссылка; + КонецЕсли; + ТаблицаКонтактнойИнформации = Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов; Отбор = Новый Структура("Вид", ДобавляемыйВид); @@ -1611,14 +1702,13 @@ НоваяСтрока = ТаблицаКонтактнойИнформации.Вставить(ИндексДобавляемойСтроки); ИмяРеквизита = "КонтактнаяИнформацияПоле" + НоваяСтрока.ПолучитьИдентификатор(); - Тип = ДобавляемыйВид.Тип; НоваяСтрока.ИмяРеквизита = ИмяРеквизита; НоваяСтрока.Вид = ДобавляемыйВид; - НоваяСтрока.Тип = Тип; + НоваяСтрока.Тип = ИнформацияОВидеКИ.Тип; НоваяСтрока.ЭтоРеквизитТабличнойЧасти = Ложь; МассивДобавляемыхРеквизитов = Новый Массив; - МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита, Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(500)), , ДобавляемыйВид.Наименование, Истина)); + МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита, Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(500)), , ИнформацияОВидеКИ.Наименование, Истина)); Форма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); @@ -1627,7 +1717,7 @@ //Отрисовка на форме Если ЗаголовокСлева Тогда ГруппаЗаголовков = Форма.Элементы.ГруппаЗаголовковКонтактнойИнформации; - Заголовок = Заголовок(Форма, Тип, ИмяРеквизита, ГруппаЗаголовков, ДобавляемыйВид.Наименование); + Заголовок = Заголовок(Форма, ИнформацияОВидеКИ.Тип, ИмяРеквизита, ГруппаЗаголовков, ИнформацияОВидеКИ.Наименование); Если Не ЭтоПоследняяСтрока Тогда СледующийЗаголовок = Форма.Элементы["Заголовок" + ИмяСледующегоРеквизита]; @@ -1636,7 +1726,7 @@ КонецЕсли; ГруппаПолейВвода = Форма.Элементы.ГруппаПолейВводаКонтактнойИнформации; - ПолеВвода = ПолеВвода(Форма, ДобавляемыйВид, Тип, ИмяРеквизита, ДобавляемыйВид.Подсказка); + ПолеВвода = ПолеВвода(Форма, ИнформацияОВидеКИ.РедактированиеТолькоВДиалоге, ИнформацияОВидеКИ.Тип, ИмяРеквизита, ИнформацияОВидеКИ.Подсказка); Если Не ЭтоПоследняяСтрока Тогда @@ -1668,7 +1758,7 @@ ИмяСледующегоДействия = "ЗаглушкаДействия" + ИмяСледующегоРеквизита; КонецЕсли; - Действие = Действие(Форма, Тип, ИмяРеквизита, ГруппаДействий, КоличествоАдресов); + Действие = Действие(Форма, ИнформацияОВидеКИ.Тип, ИмяРеквизита, ГруппаДействий, КоличествоАдресов); Если Не ЭтоПоследняяСтрока Тогда СледующееДействие = Форма.Элементы[ИмяСледующегоДействия]; Форма.Элементы.Переместить(Действие, ГруппаДействий, СледующееДействие); @@ -1676,8 +1766,8 @@ Форма.ТекущийЭлемент = Форма.Элементы[ИмяРеквизита]; - Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес - И ДобавляемыйВид.РедактированиеТолькоВДиалоге Тогда + Если ИнформацияОВидеКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес + И ИнформацияОВидеКИ.РедактированиеТолькоВДиалоге Тогда Результат.Вставить("ЭлементФормыАдреса", ИмяРеквизита); @@ -1712,7 +1802,7 @@ КонецФункции -Функция ПолеВвода(Форма, Вид, Тип, ИмяРеквизита, Подсказка, ЭтоНовыйВидКИ = Ложь, ОбязательноеЗаполнение = Ложь) +Функция ПолеВвода(Форма, РедактированиеТолькоВДиалоге, Тип, ИмяРеквизита, Подсказка, ЭтоНовыйВидКИ = Ложь, ОбязательноеЗаполнение = Ложь) ЗаголовокСлева = ЗаголовокСлева(Форма); @@ -1756,7 +1846,7 @@ Элемент.КнопкаВыбора = Истина; - Если Вид.РедактированиеТолькоВДиалоге Тогда + Если РедактированиеТолькоВДиалоге Тогда Элемент.РедактированиеТекста = Ложь; Элемент.ЦветФона = ЦветаСтиля.КонтактнаяИнформацияСРедактированиемВДиалогеЦвет; КонецЕсли; @@ -1838,11 +1928,14 @@ Элемент = Форма.Элементы.Добавить(ИмяКомментария, Тип("ДекорацияФормы"), ГруппаДляРазмещения); Элемент.Заголовок = Комментарий; + Элемент.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; + Элемент.РастягиватьПоГоризонтали = Истина; - Элемент.РастягиватьПоВертикали = Ложь; + Элемент.РастягиватьПоВертикали = Ложь; + Элемент.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; + Элемент.Высота = 1; - Элемент.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх; ДобавитьОписаниеЭлемента(Форма, ИмяКомментария, 2); @@ -1872,8 +1965,8 @@ // Заполняет дополнительные реквизиты табличной части "Контактная информация" для адреса // // Параметры: -// СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". -// Источник - объект XDTO с контактной информацией +// СтрокаТабличнойЧасти - СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". +// Источник - ОбъектXDTO - контактная информация // Процедура ЗаполнитьРеквизитыТабличнойЧастиДляАдреса(СтрокаТабличнойЧасти, Источник) @@ -1901,8 +1994,8 @@ // Заполняет дополнительные реквизиты табличной части "Контактная информация" для адреса электронной почты. // // Параметры: -// СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". -// Источник - объект XDTO с контактной информацией +// СтрокаТабличнойЧасти - СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". +// Источник - ОбъектXDTO - контактная информация // Процедура ЗаполнитьРеквизитыТабличнойЧастиДляАдресаЭлектроннойПочты(СтрокаТабличнойЧасти, Источник) @@ -1922,8 +2015,8 @@ // Заполняет дополнительные реквизиты табличной части "Контактная информация" для телефона и факса. // // Параметры: -// СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". -// Источник - объект XDTO с контактной информацией +// СтрокаТабличнойЧасти - СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". +// Источник - ОбъектXDTO - контактная информация // Процедура ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(СтрокаТабличнойЧасти, Источник) @@ -1961,8 +2054,8 @@ // Заполняет дополнительные реквизиты табличной части "Контактная информация" для телефона и факса. // // Параметры: -// СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". -// Источник - объект XDTO с контактной информацией +// СтрокаТабличнойЧасти - СтрокаТабличнойЧасти - заполняемая строка табличной части "Контактная информация". +// Источник - ОбъектXDTO - контактная информация // Процедура ЗаполнитьРеквизитыТабличнойЧастиДляВебСтраницы(СтрокаТабличнойЧасти, Источник) @@ -1989,8 +2082,8 @@ // Заполняет контактную информацию в табличной части "Контактная информация" приемника // // Параметры: -// * Приемник - Объект, в котором нужно заполнить КИ -// * ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации вид контактной информации, заполняемый в приемнике +// * Приемник - Произвольный - Объект, в котором нужно заполнить КИ +// * ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации, заполняемый в приемнике // * СтруктураКИ - СписокЗначений, Строка, Структура - данные значений полей контактной информации // * СтрокаТабличнойЧасти - СтрокаТабличнойЧасти, Неопределено - данные приемника, если контактная информация заполняется для строки // Неопределено, если контактная информация заполняется для приемника @@ -2029,12 +2122,14 @@ КонецПроцедуры // Проверяет контактную информацию электронной почты и сообщает об ошибках. -// Возвращает уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // -// Параметры: -// Источник - объект XDTO с контактной информацией -// ВидИнформации - ссылка на справочник видов КИ с настройками проверки -// ИмяРеквизита - необязательно имя реквизита для привязки сообщения об ошибке +// Параметры: +// Источник - ОбъектXDTO - контактная информацией +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки +// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке +// +// Возвращаемое значение: +// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // Функция ОшибкиЗаполненияЭлектроннойПочты(Источник, ВидИнформации, Знач ИмяРеквизита = "", ПолеРеквизита = "") @@ -2071,12 +2166,14 @@ КонецФункции // Проверяет контактную информацию адреса и сообщает об ошибках. Возвращает флаг наличия ошибок -// Возвращает уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // // Параметры: -// Источник - объект XDTO с контактной информацией -// ВидИнформации - ссылка на справочник видов КИ с настройками проверки -// ИмяРеквизита - необязательно имя реквизита для привязки сообщения об ошибке +// Источник - ОбъектXDTO - контактная информацией +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки +// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке +// +// Возвращаемое значение: +// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // Функция ОшибкиЗаполненияАдреса(Источник, ВидИнформации, ИмяРеквизита = "", ПолеРеквизита = "") Если Не ВидИнформации.ПроверятьКорректность Тогда @@ -2103,25 +2200,29 @@ Возврат 0; КонецФункции -// Проверяет контактную информацию телефона и сообщает об ошибках. Возвращает флаг наличия ошибок -// Возвращает уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие +// Проверяет контактную информацию телефона и сообщает об ошибках. Возвращает флаг наличия ошибок // -// Параметры: -// Источник - объект XDTO с контактной информацией -// ВидИнформации - ссылка на справочник видов КИ с настройками проверки -// ИмяРеквизита - необязательно имя реквизита для привязки сообщения об ошибке +// Параметры: +// Источник - ОбъектXDTO - контактная информацией +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки +// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке +// +// Возвращаемое значение: +// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // Функция ОшибкиЗаполненияТелефона(Источник, ВидИнформации, ИмяРеквизита = "") Возврат 0; КонецФункции // Проверяет контактную информацию веб страницы и сообщает об ошибках. Возвращает флаг наличия ошибок -// Возвращает уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // // Параметры: -// Источник - объект XDTO с контактной информацией -// ВидИнформации - ссылка на справочник видов КИ с настройками проверки -// ИмяРеквизита - необязательно имя реквизита для привязки сообщения об ошибке +// Источник - ОбъектXDTO - контактная информацией +// ВидИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации с настройками проверки +// ИмяРеквизита - Строка - необязательно имя реквизита для привязки сообщения об ошибке +// +// Возвращаемое значение: +// Число - уровень ошибок: 0 - нет, 1 - неблокирующие, 2 - блокирующие // Функция ОшибкиЗаполненияВебСтраницы(Источник, ВидИнформации, ИмяРеквизита = "") Возврат 0; @@ -2132,7 +2233,8 @@ // Параметры: // НомерТелефона - Строка - номер телефона или факса. // -// Возвращаемое значение - Строка - номер телефона или факса без разделителей. +// Возвращаемое значение: +// Строка - номер телефона или факса без разделителей. // Функция УбратьРазделителиВНомерТелефона(Знач НомерТелефона) @@ -2188,51 +2290,13 @@ КонецФункции -Процедура ЗаписатьКонтактнуюИнформацию(Объект, ЗначенияПолей, ВидИнформации, ТипИнформации, ИдентификаторСтроки = 0) - - ОбъектКИ = КонтактнаяИнформацияСлужебный.ДесериализацияКонтактнойИнформации(ЗначенияПолей, ВидИнформации); - - Если Не КонтактнаяИнформацияСлужебный.XDTOКонтактнаяИнформацияЗаполнена(ОбъектКИ) Тогда - Возврат; - КонецЕсли; - - НоваяСтрока = Объект.КонтактнаяИнформация.Добавить(); - НоваяСтрока.Представление = ОбъектКИ.Представление; - НоваяСтрока.ЗначенияПолей = КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(ОбъектКИ); - НоваяСтрока.Вид = ВидИнформации; - НоваяСтрока.Тип = ТипИнформации; - - Если ЗначениеЗаполнено(ИдентификаторСтроки) Тогда - НоваяСтрока.ИдентификаторСтрокиТабличнойЧасти = ИдентификаторСтроки; - КонецЕсли; - - // Заполнение дополнительных реквизитов ТЧ - Если ТипИнформации = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда - ЗаполнитьРеквизитыТабличнойЧастиДляАдресаЭлектроннойПочты(НоваяСтрока, ОбъектКИ); - - ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда - ЗаполнитьРеквизитыТабличнойЧастиДляАдреса(НоваяСтрока, ОбъектКИ); - - ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда - ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(НоваяСтрока, ОбъектКИ); - - ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.Факс Тогда - ЗаполнитьРеквизитыТабличнойЧастиДляТелефона(НоваяСтрока, ОбъектКИ); - - ИначеЕсли ТипИнформации = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда - ЗаполнитьРеквизитыТабличнойЧастиДляВебСтраницы(НоваяСтрока, ОбъектКИ); - - КонецЕсли; - -КонецПроцедуры - //////////////////////////////////////////////////////////////////////////////// // Служебные // Заполняет дополнительные реквизиты строки табличной части "Контактная информация" // // Параметры: -// СтрокаКИ - строка табличной части "Контактная информация" +// СтрокаКИ - СтрокаТабличнойЧасти - строка "Контактная информация" // Представление - Строка - представление значения // ЗначенияПолей - СписокЗначений, ОбъектXTDO - значения полей // @@ -2268,7 +2332,7 @@ // Возвращает пустую структура адреса // // Возвращаемое значение: -// СтруктураАдреса - ключи - имена полей, значения поля +// Структура - описание адреса, ключи - имена полей, значения поля // Функция ПолучитьПустуюСтруктуруАдреса() Экспорт @@ -2281,7 +2345,8 @@ // Параметры: // Тип - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации. // -// Возвращаемое значение - Булево - доступно или нет редактирование в диалоге. +// Возвращаемое значение: +// Булево - доступно или нет редактирование в диалоге. // Функция ДляТипаКонтактнойИнформацииДоступноРедактированиеВДиалоге(Тип) @@ -2300,8 +2365,8 @@ // Возвращает имя табличной части документа по виду контактной информации // // Параметры: -// ВидКИ - вид контактной информации -// ИмяОбъекта - полное имя объекта метаданного +// ВидКИ - СправочникСсылка.ВидыКонтактнойИнформации - вид контактной информации +// ИмяОбъекта - Строка - полное имя объекта метаданного // // Возвращаемое значение: // Строка - имя табличной части или пустая строка, если табличной части нет. @@ -2349,9 +2414,12 @@ КонецЕсли; - Если ЭтоНовыйВидКИ И СтрокаКИ.Вид.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти Тогда + СтруктураВидаКИ = СтруктураВидаКонтактнойИнформации(СтрокаКИ.Вид); + СтруктураВидаКИ.Вставить("Ссылка", СтрокаКИ.Вид); + + Если ЭтоНовыйВидКИ И СтруктураВидаКИ.РазрешитьВводНесколькихЗначений И Не ЭтоРеквизитТабличнойЧасти Тогда - Форма.СписокДобавляемыхЭлементовКонтактнойИнформации.Добавить(СтрокаКИ.Вид, СтрокаКИ.Вид.Наименование); + Форма.СписокДобавляемыхЭлементовКонтактнойИнформации.Добавить(СтруктураВидаКИ, СтрокаКИ.Вид.Наименование); КонецЕсли; @@ -2385,7 +2453,6 @@ // Обновление информационной базы // Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. - // // Параметры: // Обработчики - ТаблицаЗначений - см. описание функции НоваяТаблицаОбработчиковОбновления @@ -2410,15 +2477,17 @@ // Штатное обновление классификатора без добавления новых стран Обработчик = Обработчики.Добавить(); - Обработчик.Версия = "2.2.2.13"; + Обработчик.Версия = "2.2.3.34"; Обработчик.Процедура = "УправлениеКонтактнойИнформацией.ОбработчикОбновленияСуществующихСтранМира"; Обработчик.РежимВыполнения = "Монопольно"; - Обработчик.ОбщиеДанные = Ложь; + Обработчик.ОбщиеДанные = Ложь; + Обработчик.НачальноеЗаполнение = Истина; КонецПроцедуры // Неразделенный монопольный обработчик для копирования стран мира из нулевой области // Сохраняет эталон и список областей данных - адресатов +// Процедура ПодготовкаЭталонаРазделенныхСтранМира() Экспорт // Контроль версии базы @@ -2427,7 +2496,7 @@ Возврат; КонецЕсли; - МодульРаботаВМоделиСервиса = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("РаботаВМоделиСервиса"); + МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); Если МодульРаботаВМоделиСервиса = Неопределено Тогда Возврат; КонецЕсли; @@ -2472,6 +2541,7 @@ // Разделенный обработчик для копирования стран мира из нулевой области // Используется эталон, подготовленный на предыдущем шаге +// Процедура ОбновлениеПоЭталонуРазделенныхСтранМира() Экспорт // Контроль версии базы @@ -2560,14 +2630,14 @@ // РазрешитьВводНесколькихЗначений - Булево - Признак возможности использования дополнительных полей ввода для данного вида. // НастройкиПроверки - Структура, Неопределено - Настройки проверки для вида контактной информации. // Для типа Адрес - структура, содержащая поля: -// АдресТолькоРоссийский - Булево - Истина, если используются только российские адреса, Ложь - иначе. -// ПроверятьКорректность - Булево - Истина, если используется проверка адреса по классификатору (Только если АдресТолькоРоссийский = Истина), Ложь - иначе. -// ЗапрещатьВводНекорректного - Булево - Истина, если требуется запрещать пользователю записывать некорректный адрес (Только если ПроверятьКорректность = Истина), Ложь - иначе. -// СкрыватьНеактуальныеАдреса - Булево - Истина, если не требуется показывать неактуальные адреса при вводе(Только если АдресТолькоРоссийский = Истина), Ложь - иначе. -// ВключатьСтрануВПредставление - Булево - Истина, если требуется включать наименование страны в представление адреса, Ложь - иначе. +// * АдресТолькоРоссийский - Булево - Истина, если используются только российские адреса, Ложь - иначе. +// * ПроверятьКорректность - Булево - Истина, если используется проверка адреса по классификатору (Только если АдресТолькоРоссийский = Истина), Ложь - иначе. +// * ЗапрещатьВводНекорректного - Булево - Истина, если требуется запрещать пользователю записывать некорректный адрес (Только если ПроверятьКорректность = Истина), Ложь - иначе. +// * СкрыватьНеактуальныеАдреса - Булево - Истина, если не требуется показывать неактуальные адреса при вводе(Только если АдресТолькоРоссийский = Истина), Ложь - иначе. +// * ВключатьСтрануВПредставление - Булево - Истина, если требуется включать наименование страны в представление адреса, Ложь - иначе. // Для типа АдресЭлектроннойПочты - структура, содержащая поля: -// ПроверятьКорректность - Булево - Истина, если требуется проверка адреса электронной почты на корректность, Ложь - иначе. -// ЗапрещатьВводНекорректного - Булево - Истина, если требуется запрещать пользователю записывать некорректный адрес (Только если ПроверятьКорректность = Истина), Ложь - иначе. +// * ПроверятьКорректность - Булево - Истина, если требуется проверка адреса электронной почты на корректность, Ложь - иначе. +// * ЗапрещатьВводНекорректного - Булево - Истина, если требуется запрещать пользователю записывать некорректный адрес (Только если ПроверятьКорректность = Истина), Ложь - иначе. // Для остальных типов или для задания настроек по умолчанию используется Неопределено // // Примечание: @@ -2677,9 +2747,9 @@ // ТипКонтактнойИнформации - ПеречислениеСсылка.ТипыКонтактнойИнформации // // Возвращаемое значение: -// ТаблицаЗначений - с полями -// Значение (строка) - строковое представление значения -// Вид (строка) - представление вида контактной информации +// ТаблицаЗначений - колонки +// * Значение - строка - строковое представление значения +// * Вид - строка - представление вида контактной информации // Функция ЗначенияКонтактнойИнформацииОбъекта(Ссылка, ТипКонтактнойИнформации) Экспорт @@ -2715,8 +2785,8 @@ // Получить значения поля адреса. // // Параметры: -// СтрокаЗначенийПолей - строка со значениями полей адреса. -// ИмяПоля - имя поля. Например, "Район". +// СтрокаЗначенийПолей - Строка - значения полей адреса. +// ИмяПоля - Строка - имя поля. Например, "Район". // // Возвращаемое значение: // Строка - значение поля. @@ -2738,7 +2808,7 @@ // // Параметры: // СтрокаЗначенийПолей - Строка - строка значений полей -// ИмяПоля - Строка - имя поля +// ИмяПоля - Строка - имя поля // // Возвращаемое значение - Строка - значение контактной информации. // @@ -2756,12 +2826,29 @@ КонецФункции -// Конструктор структуры, совместимой по полям сл справочникам видов КИ +// Конструктор структуры, совместимой по полям со справочникам видов КИ // -Функция СтруктураВидаКонтактнойИнформации() Экспорт +// Параметры: +// Источник - СправочникСсылка.ВидыКонтактнойИнформации - необязательный источник данных для заполнения +// +// Возвращаемое значение: +// Структура - совместимая по полям со справочникам видов КИ +// +Функция СтруктураВидаКонтактнойИнформации(Знач Источник = Неопределено) Экспорт - Результат = Новый Структура; - Для Каждого Мета Из Метаданные.Справочники.ВидыКонтактнойИнформации.Реквизиты Цикл + МетаРеквизиты = Метаданные.Справочники.ВидыКонтактнойИнформации.Реквизиты; + + Если ТипЗнч(Источник) = Тип("СправочникСсылка.ВидыКонтактнойИнформации") Тогда + Реквизиты = "Наименование"; + Для Каждого Мета Из МетаРеквизиты Цикл + Реквизиты = Реквизиты + "," + Мета.Имя; + КонецЦикла; + + Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Источник, Реквизиты); + КонецЕсли; + + Результат = Новый Структура("Наименование", ""); + Для Каждого Мета Из МетаРеквизиты Цикл Результат.Вставить(Мета.Имя, Мета.Тип.ПривестиЗначение()); КонецЦикла; @@ -2821,12 +2908,12 @@ // // Параметры: // Индекс - Строка - индекс, по которому будет производиться поиск. -// АдресныеОбъекты - Неопределено или Структура с полями: -// Количество - Число - количество найденных вариантов -// НайденныйРегион - Строка - если найден один регион -// НайденныйРайон - Строка - если найден один район -// ПризнакАктуальности - Число - признак актуальности если найден один вариант -// АдресВХранилище - Строка - идентификатор сохраненной в хранилище таблицы с найденными вариантами +// АдресныеОбъекты - Неопределено, Структура - поля: +// * Количество - Число - количество найденных вариантов +// * НайденныйРегион - Строка - если найден один регион +// * НайденныйРайон - Строка - если найден один район +// * ПризнакАктуальности - Число - признак актуальности если найден один вариант +// * АдресВХранилище - Строка - идентификатор сохраненной в хранилище таблицы с найденными вариантами // Процедура ПриОпределенииЗаписейПоИндексу(Индекс, АдресныеОбъекты) Экспорт @@ -2841,13 +2928,13 @@ // // Параметры: // КодАдресногоЭлемента - Число - код адресного элемента, по которому ищутся компоненты адреса -// Результат - структура с полями(в которую выгружается результат поиска): -// Регион - Строка - наименование найденного региона -// Район - Строка - наименование найденного района -// Город - Строка - наименование найденного города -// НаселенныйПункт - Строка - наименование найденного населенного пункта -// Улица - Строка - наименование найденной улицы -// ПризнакАктуальности - Число - признак актуальности найденного адреса +// Результат - Структура - результат поиска: +// * Регион - Строка - наименование найденного региона +// * Район - Строка - наименование найденного района +// * Город - Строка - наименование найденного города +// * НаселенныйПункт - Строка - наименование найденного населенного пункта +// * Улица - Строка - наименование найденной улицы +// * ПризнакАктуальности - Число - признак актуальности найденного адреса // Процедура ПоКодуАдресногоЭлементаВСтруктуруПолучитьЕгоКомпоненты(КодАдресногоЭлемента, Результат) Экспорт @@ -2861,20 +2948,20 @@ // Определяет структуру адреса. // // Параметры: -// СтруктураАдреса -Структура с полями: -// Индекс - Строка - индекс адреса по переданным параметрам -// Регион - Строка - регион по переданному коду -// Район - Строка - район по переданному коду -// Город - Строка - город по переданному коду -// НаселенныйПункт - Строка - населенный пункт по переданному коду -// Улица - Строка - улица по переданному коду -// Дом - Строка - переданный номер дома -// Корпус - Строка - переданный номер корпуса -// Квартира - Строка - переданный номер квартиры -// КодАдресногоЭлемента - Число - код адресного элемента, по которому ищутся компоненты адреса -// Дом - Строка - номер дома, если требуется -// Корпус - Строка - номер корпуса, если требуется -// Квартира - Строка - номер квартиры, если требуется +// СтруктураАдреса - Структура - полями: +// * Индекс - Строка - индекс адреса по переданным параметрам +// * Регион - Строка - регион по переданному коду +// * Район - Строка - район по переданному коду +// * Город - Строка - город по переданному коду +// * НаселенныйПункт - Строка - населенный пункт по переданному коду +// * Улица - Строка - улица по переданному коду +// * Дом - Строка - переданный номер дома +// * Корпус - Строка - переданный номер корпуса +// * Квартира - Строка - переданный номер квартиры +// * КодАдресногоЭлемента - Число - код адресного элемента, по которому ищутся компоненты адреса +// * Дом - Строка - номер дома, если требуется +// * Корпус - Строка - номер корпуса, если требуется +// * Квартира - Строка - номер квартиры, если требуется // Процедура ПриОпределенииСтруктурыАдреса(СтруктураАдреса, КодАдресногоЭлемента, Дом = "", Корпус = "", Квартира = "") Экспорт @@ -2890,14 +2977,14 @@ // // Параметры: // Индекс - Строка - почтовый индекс. -// НазваниеРегиона - название региона( с сокращением) -// НазваниеРайона - название района( с сокращением) -// НазваниеГорода - название города( с сокращением) -// НазваниеНаселенногоПункта - название населенного пункта( с сокращением) -// Улица - название улицы ( с сокращением) -// НомерДома - номер дома, для которого необходимо получить индекс -// НомерКорпуса - номер корпуса -// РодительИндекса - переменная, в которую сохраняется структура найденного адресного элемента +// НазваниеРегиона - Строка - название региона( с сокращением) +// НазваниеРайона - Строка - название района( с сокращением) +// НазваниеГорода - Строка - название города( с сокращением) +// НазваниеНаселенногоПункта - Строка - название населенного пункта( с сокращением) +// Улица - Строка - название улицы ( с сокращением) +// НомерДома - Строка - номер дома, для которого необходимо получить индекс +// НомерКорпуса - Строка - номер корпуса +// РодительИндекса - Структура - приемник для структуры найденного адресного элемента // Процедура ПриОпределенииИндекса(Индекс, НазваниеРегиона, НазваниеРайона, НазваниеГорода, НазваниеНаселенногоПункта, НазваниеУлицы, НомерДома, НомерКорпуса, РодительИндекса = Неопределено) Экспорт @@ -2924,7 +3011,8 @@ // ПризнакАктуальности - Число - признак актуальности элемента. // // Возвращаемое значение: -// СписокЗначений; Неопределено +// СписокЗначений - данные автоподбора +// Неопределено - нет данных // Процедура ПриОпределенииСпискаАвтоПодбораТекстаВАдресномЭлементе(СписокАвтоПодбора, Текст, Регион, Район, Город, НаселенныйПункт, УровеньЭлемента, ПризнакАктуальности = 0) Экспорт @@ -3015,13 +3103,13 @@ // По переданным элементам адреса определяет, загружен ли КЛАДР по соответствующим элементам. // // Параметры: -// СтруктураЗагруженныхЭлементовАдреса - Структура с полями: -// Регион - Булево - регион загружен -// Район - Булево - район загружен -// Город - Булево - город загружен -// НаселенныйПункт - населенный пункт загружен -// Улица - Булево - улица загружена -// Дом - Булево - дом загружен. +// СтруктураЗагруженныхЭлементовАдреса - Структура - поля: +// * Регион - Булево - регион загружен +// * Район - Булево - район загружен +// * Город - Булево - город загружен +// * НаселенныйПункт - населенный пункт загружен +// * Улица - Булево - улица загружена +// * Дом - Булево - дом загружен. // НазваниеРегиона - Строка - название региона(с сокращением) // НазваниеРайона - Строка - название района(с сокращением) // НазваниеГорода - Строка - название города(с сокращением) @@ -3042,7 +3130,7 @@ // Определяет наименование региона по коду. // // Параметры: -// НаименованиеРегиона - наименование региона. +// НаименованиеРегиона - Строка - наименование региона. // КодРегиона - Число - код региона. // Процедура ПриОпределенииНаименованияРегионаПоКоду(НаименованиеРегиона, КодРегиона) Экспорт @@ -3073,11 +3161,11 @@ // // Параметры: // СтруктураАдресногоКлассификатора - Неопределено или Структура - Структура полей по найденому адресному элементу (см. функцию "АдресныйКлассификаторКлиентСервер.ПустаяСтруктураАдреса()") -// НазваниеРегиона - название региона( с сокращением) -// НазваниеРайона - название района( с сокращением) -// НазваниеГорода - название города( с сокращением) -// НазваниеНаселенногоПункта - название населенного пункта( с сокращением) -// НазваниеУлицы - название улицы( с сокращением) +// НазваниеРегиона - Строка - название региона( с сокращением) +// НазваниеРайона - Строка - название района( с сокращением) +// НазваниеГорода - Строка - название города( с сокращением) +// НазваниеНаселенногоПункта - Строка - название населенного пункта( с сокращением) +// НазваниеУлицы - Строка - название улицы( с сокращением) // Процедура ПриОпределенииСтрокиАдресногоКлассификатораПоАдреснымЭлементам(СтруктураАдресногоКлассификатора, НазваниеРегиона, НазваниеРайона, НазваниеГорода, НазваниеНаселенногоПункта, НазваниеУлицы) Экспорт @@ -3092,14 +3180,14 @@ // Процедура очищает потомков определенного адресного элемента // // Параметры: -// Регион - строка - строка, куда будет помещено строковое представление "родительского" региона. -// Район - строка - строка, куда будет помещено строковое представление "родительского" района. -// Город - строка - строка, куда будет помещено строковое представление "родительского" города. +// Регион - Строка - строка, куда будет помещено строковое представление "родительского" региона. +// Район - Строка - строка, куда будет помещено строковое представление "родительского" района. +// Город - Строка - строка, куда будет помещено строковое представление "родительского" города. // НаселенныйПункт - строка - строка, куда будет помещено строковое представление "родительского" населенного пункта. -// Улица - строка - строка, куда будет помещено строковое представление "родительской" улицы. -// Дом - строка - строка, куда будет помещено строковое представление "родительского" номера дома. -// Корпус - строка - строка, куда будет помещено строковое представление "родительского" номера корпуса дома. -// Квартира - строка - строка, куда будет помещено строковое представление "родительского" номера квартиры. +// Улица - Строка - строка, куда будет помещено строковое представление "родительской" улицы. +// Дом - Строка - строка, куда будет помещено строковое представление "родительского" номера дома. +// Корпус - Строка - строка, куда будет помещено строковое представление "родительского" номера корпуса дома. +// Квартира - Строка - строка, куда будет помещено строковое представление "родительского" номера квартиры. // Уровень - Число - уровень адресного элемента. // Процедура ПриОчисткеПотомковПоУровнюАдресногоЭлемента(Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус, Квартира, Уровень) Экспорт diff --git a/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиент/Module.bsl b/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиент/Module.bsl index 504b71b2b..70dacd529 100644 --- a/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиент/Module.bsl +++ b/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиент/Module.bsl @@ -61,6 +61,9 @@ // Модифицированность - Булево - Устанавливаемый флаг модифицированности формы // СтандартнаяОбработка - Булево - Устанавливаемый флаг стандартной обработки события формы // +// Возвращаемое значение: +// Неопределено +// Функция ПредставлениеНачалоВыбора(Форма, Элемент, Модифицированность = Истина, СтандартнаяОбработка = Ложь) Экспорт СтандартнаяОбработка = Ложь; @@ -113,9 +116,12 @@ // Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация" // // Параметры: -// Форма - УправляемаяФорма - Форма владельца контактной информации +// Форма - УправляемаяФорма - Форма владельца контактной информации // ИмяРеквизита - Строка - Имя реквизита формы, связанного с представление контактной информации // +// Возвращаемое значение: +// Неопределено +// Функция ПредставлениеОчистка(Знач Форма, Знач ИмяРеквизита) Экспорт Результат = Новый Структура("ИмяРеквизита", ИмяРеквизита); @@ -138,6 +144,9 @@ // Форма - УправляемаяФорма - Форма владельца контактной информации // ИмяКоманды - Строка - Имя автоматически сгенерированной команды действия // +// Возвращаемое значение: +// Неопределено +// Функция ПодключаемаяКоманда(Знач Форма, Знач ИмяКоманды) Экспорт Если ИмяКоманды = "КонтактнаяИнформацияДобавитьПолеВвода" Тогда @@ -253,9 +262,9 @@ // Конструктор для структуры параметров открытия формы контактной информации // // Параметры: -// ВидКонтактнойИнформации - вид редактируемой информации, СправочникСсылка.ВидыКонтактнойИнформации -// Значение - строка с сериализованным значением полей контактной информации -// Представление - необязательное представление +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - вид редактируемой информации, +// Значение - Строка - сериализованное значение полей контактной информации +// Представление - Строка - необязательное представление // Функция ПараметрыФормыКонтактнойИнформации(ВидКонтактнойИнформации, Значение, Представление = Неопределено, Комментарий = Неопределено) Экспорт Возврат Новый Структура("ВидКонтактнойИнформации, ЗначенияПолей, Представление, Комментарий", @@ -265,10 +274,10 @@ // Открывает подходящую форму контактной информации для редактирования или просмотра // // Параметры: -// Параметры - результат функции ПараметрыФормыКонтактнойИнформации -// Владелец - параметр для открываемой формы -// Уникальность - параметр для открываемой формы -// Окно - параметр для открываемой формы +// Параметры - Произвольный - результат функции ПараметрыФормыКонтактнойИнформации +// Владелец - Произвольный - параметр для открываемой формы +// Уникальность - Произвольный - параметр для открываемой формы +// Окно - Произвольный - параметр для открываемой формы // Оповещение - ОписаниеОповещения - для обработки закрытия формы // // Возвращаемое значение: необходимая форма @@ -297,10 +306,10 @@ // Модально открывает подходящую форму контактной информации для редактирования или просмотра // // Параметры: -// Параметры - результат функции ПараметрыФормыКонтактнойИнформации -// Владелец - параметр для открываемой формы -// Уникальность - параметр для открываемой формы -// Окно - параметр для открываемой формы +// Параметры - Произвольный - результат функции ПараметрыФормыКонтактнойИнформации +// Владелец - Произвольный - параметр для открываемой формы +// Уникальность - Произвольный - параметр для открываемой формы +// Окно - Произвольный - параметр для открываемой формы // // Возвращаемое значение: отредактированный результат или Неопределено при отказе от редактирования // @@ -327,13 +336,11 @@ // Создает письмо по контактной информации // // Параметры: -// ЗначенияПолей - строка (XML или старый формат ключ-значение), структура, соответствие или список значений, -// описывающие контактную информацию. -// Представление - строка представления. Используется, если невозможно определить представление из параметра +// ЗначенияПолей - Строка, Структура, Соответствие, Список значений - контактная информация. +// Представление - Строка - представление. Используется, если невозможно определить представление из параметра // ЗначенияПолей (отсутствие поля "Представление") -// ОжидаемыйВид - ссылка на справочник ВидыКонтактнойИнформации или перечисление ТипыКонтактнойИнформации, -// объект с полем "Тип". Используется для определения типа, если его невозможно вычислить -// по полю ЗначенияПолей +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей // Процедура СоздатьЭлектронноеПисьмо(Знач ЗначенияПолей, Знач Представление = "", ОжидаемыйВид = Неопределено) Экспорт @@ -370,13 +377,11 @@ // Открывает ссылку по контактной информации // // Параметры: -// ЗначенияПолей - строка (XML или старый формат ключ-значение), структура, соответствие или список значений, -// описывающие контактную информацию. -// Представление - строка представления. Используется, если невозможно определить представление из параметра +// ЗначенияПолей - Строка, Структура, Соответствие, Список значений - контактная информация. +// Представление - Строка - представление. Используется, если невозможно определить представление из параметра // ЗначенияПолей (отсутствие поля "Представление") -// ОжидаемыйВид - ссылка на справочник ВидыКонтактнойИнформации или перечисление ТипыКонтактнойИнформации, -// объект с полем "Тип". Используется для определения типа, если его невозможно вычислить -// по полю ЗначенияПолей +// ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации, Структура +// Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей // Процедура ПерейтиПоВебСсылке(Знач ЗначенияПолей, Знач Представление = "", ОжидаемыйВид = Неопределено) Экспорт @@ -458,17 +463,16 @@ Результат = Новый Структура("ДобавляемыйВид", ВыбранныйЭлемент.Значение); - ДополнительныеПараметры.Форма.Модифицированность = Истина; ОбновитьКонтактнуюИнформациюФормы(ДополнительныеПараметры.Форма, Результат); КонецПроцедуры // Обработчик события НачалоВыбора для улицы // // Параметры: -// Элемент - вызывающий элемент формы -// КодКлассификатораНаселенногоПункта - ограничение по населенному пункту -// ТекущееЗначение - текущее значение - или код классификатора, или текст -// ПараметрыФормы - необязательная дополнительная структура параметров для формы подбора +// Элемент - Произвольный - вызывающий элемент формы +// КодКлассификатораНаселенногоПункта - Число - ограничение по населенному пункту +// ТекущееЗначение - Число, Строка - текущее значение - или код классификатора, или текст +// ПараметрыФормы - Структура - необязательная дополнительная структура параметров для формы подбора // Процедура НачалоВыбораУлицы(Элемент, КодКлассификатораНаселенногоПункта, ТекущееЗначение, ПараметрыФормы = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -483,10 +487,10 @@ // Обработчик события НачалоВыбора для элемента адреса (субъект РФ, район, город и т.п.) // // Параметры: -// Элемент - вызывающий элемент формы -// КодЧастиАдреса - идентификатор обрабатываемой части адреса, зависит от классификатора -// ЧастиАдреса - значения для других частей адреса, зависит от классификатора -// ПараметрыФормы - необязательная дополнительная структура параметров для формы подбора +// Элемент - Произвольный - вызывающий элемент формы +// КодЧастиАдреса - Число - идентификатор обрабатываемой части адреса, зависит от классификатора +// ЧастиАдреса - Произвольный - значения для других частей адреса, зависит от классификатора +// ПараметрыФормы - Структура - необязательная дополнительная структура параметров для формы подбора // Процедура НачалоВыбораЭлементаАдреса(Элемент, КодЧастиАдреса, ЧастиАдреса, ПараметрыФормы = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -502,7 +506,7 @@ // поле, характеризующее все, что больше улицы // // Параметры: -// ЧастиАдреса - значения для частей адреса, зависит от классификатора +// ЧастиАдреса - Произвольный - значения для частей адреса, зависит от классификатора // Функция НаименованиеНаселенногоПунктаПоЧастямАдреса(ЧастиАдреса) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -518,13 +522,10 @@ // Предлагает загрузить адресный классификатор // // Параметры: -// Текст - строка с дополнительным текстов предложения +// Текст - Строка - Дополнительный текст предложения +// Регион - Число, Строка - Код или название региона для загрузки // -Процедура ПредложениеЗагрузкиКлассификатора(Текст = "") Экспорт - -#Если ВебКлиент Тогда - Возврат; -#КонецЕсли +Процедура ПредложениеЗагрузкиКлассификатора(Знач Текст = "", Знач Регион = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -533,31 +534,41 @@ Возврат; КонецЕсли; - ТекстЗаголовка = НСтр("ru = 'Подтверждение'"); - ТекстВопроса = Текст + Символы.ПС + НСтр("ru = 'Загрузить классификатор сейчас?'"); + ТипПараметраРегиона = ТипЗнч(Регион); + ПараметрыЗагрузки = Новый Структура; - Оповещение = Новый ОписаниеОповещения("ПредложениеЗагрузкиКлассификатораЗавершение", ЭтотОбъект); + Если ТипПараметраРегиона = Тип("Число") Тогда + ПараметрыЗагрузки.Вставить("КодРегионаДляЗагрузки", Регион); + + ИначеЕсли ТипПараметраРегиона = Тип("Строка") Тогда + ПараметрыЗагрузки.Вставить("НазваниеРегионаДляЗагрузки", Регион); + + КонецЕсли; + + ТекстЗаголовка = НСтр("ru = 'Подтверждение'"); + ТекстВопроса = СокрЛП(Текст + Символы.ПС + НСтр("ru = 'Загрузить классификатор сейчас?'") ); + + Оповещение = Новый ОписаниеОповещения("ПредложениеЗагрузкиКлассификатораЗавершение", ЭтотОбъект, ПараметрыЗагрузки); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,,,ТекстЗаголовка); КонецПроцедуры Процедура ПредложениеЗагрузкиКлассификатораЗавершение(Знач РезультатВопроса, Знач ДополнительныеПараметры) Экспорт - Если РезультатВопроса = КодВозвратаДиалога.Да Тогда - ЗагрузитьАдресныйКлассификатор(); + Если РезультатВопроса <> КодВозвратаДиалога.Да Тогда + Возврат; КонецЕсли; + + ЗагрузитьАдресныйКлассификатор(ДополнительныеПараметры); КонецПроцедуры // Загружает адресный классификатор // -Процедура ЗагрузитьАдресныйКлассификатор() Экспорт -#Если ВебКлиент Тогда - Возврат; -#КонецЕсли +Процедура ЗагрузитьАдресныйКлассификатор(Знач ДополнительныеПараметры = Неопределено) Экспорт Вариант = КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); Если Вариант = "КЛАДР" Тогда МодульКЛАДР = КлиентскийМодульКЛАДР(); - МодульКЛАДР.ЗагрузитьАдресныйКлассификатор(); + МодульКЛАДР.ЗагрузитьАдресныйКлассификатор(ДополнительныеПараметры); КонецЕсли; // Нет подсистемы классификатора @@ -667,10 +678,12 @@ // Возвращает строку дополнительных значений по имени реквизита. // // Параметры: -// Форма - Форма - передаваемая форма. +// Форма - УправляемаяФорма - передаваемая форма. // Элемент - ДанныеФормыСтруктураСКоллекцией - данные формы. // -// Возвращаемое значение - Неопределено или СтрокаКоллекции - строка коллекции. +// Возвращаемое значение: +// СтрокаКоллекции - найденные данные +// Неопределено - при отсутствии данных // Функция ПолучитьСтрокуДополнительныхЗначений(Форма, Элемент, ЭтоТабличнаяЧасть = Ложь) @@ -698,9 +711,10 @@ // КодГорода - Строка - код города. // НомерТелефона - Строка - номер телефона. // Добавочный - Строка - добавочный номер. -// Комментарий - Строка - комментарий. +// Комментарий - Строка - комментарий. // -// Возвращаемое значение - Строка - представление телефона. +// Возвращаемое значение: +// Строка - представление телефона. // Функция СформироватьПредставлениеТелефона(КодСтраны, КодГорода, НомерТелефона, Добавочный, Комментарий) Экспорт @@ -736,6 +750,7 @@ Оповещение.ДополнительныеПараметры.Вставить("НайденнаяСтрока", НайденнаяСтрока); Оповещение.ДополнительныеПараметры.Вставить("ИмяРеквизита", ИмяРеквизита); Оповещение.ДополнительныеПараметры.Вставить("Результат", Результат); + Оповещение.ДополнительныеПараметры.Вставить("КомментарийПустой", ПустаяСтрока(НайденнаяСтрока.Комментарий)); Форма.ПоказатьВыборИзМеню(Оповещение, АдресаДляЗаполнения, Форма.Элементы["Команда" + ИмяРеквизита]); КонецПроцедуры @@ -755,12 +770,20 @@ ДополнительныеПараметры.НайденнаяСтрока.ЗначенияПолей = СтрокаИсточник.ЗначенияПолей; ДополнительныеПараметры.НайденнаяСтрока.Представление = СтрокаИсточник.Представление; ДополнительныеПараметры.НайденнаяСтрока.Комментарий = СтрокаИсточник.Комментарий; - ДополнительныеПараметры.Форма[ДополнительныеПараметры.ИмяРеквизита] = СтрокаИсточник.Представление; - + ДополнительныеПараметры.Форма.Модифицированность = Истина; + + Если ДополнительныеПараметры.КомментарийПустой И ЗначениеЗаполнено(СтрокаИсточник.Комментарий) Тогда + ДополнительныеПараметры.Результат.Вставить("ЭтоДобавлениеКомментария", Истина); + ИначеЕсли НЕ ДополнительныеПараметры.КомментарийПустой И ПустаяСтрока(СтрокаИсточник.Комментарий) Тогда + ДополнительныеПараметры.Результат.Вставить("ЭтоДобавлениеКомментария", Ложь); + ИначеЕсли НЕ ДополнительныеПараметры.КомментарийПустой И ЗначениеЗаполнено(СтрокаИсточник.Комментарий) Тогда + Комментарий = ДополнительныеПараметры.Форма.Элементы["Комментарий" + ДополнительныеПараметры.ИмяРеквизита]; + Комментарий.Заголовок = СтрокаИсточник.Комментарий; + КонецЕсли; + ОбновитьКонтактнуюИнформациюФормы(ДополнительныеПараметры.Форма, ДополнительныеПараметры.Результат); - КонецПроцедуры // Ввод комментария из контекстного меню diff --git a/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиентСервер/Module.bsl b/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиентСервер/Module.bsl index 3dea3d424..62a6d92f0 100644 --- a/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/УправлениеКонтактнойИнформациейКлиентСервер/Module.bsl @@ -87,10 +87,10 @@ //Возвращает структуру контактной информации по типу // // Параметры: -// ТипКИ - тип контактной информации +// ТипКИ - ПеречислениеСсылка.ТипыКонтактнойИнформации - тип контактной информации // // Возвращаемое значение: -// СтруктураКИ - пустая структура контактной информации, ключи - имена полей, значения поля +// Структура - пустая структура контактной информации, ключи - имена полей, значения поля // Функция СтруктураКонтактнойИнформацииПоТипу(ТипКИ) Экспорт @@ -129,7 +129,9 @@ // Ключ - Строка - ключ структуры. // Структура - Структура - передаваемая структура. // -// Возвращаемое значение - ПустаяСтрока или ПроизвольныйТип - значение. +// Возвращаемое значение: +// Произвольный - значение. +// Строка - пустая строка, если нет значения // Функция ЗначениеПоКлючуСтруктуры(Ключ, Структура) @@ -146,10 +148,12 @@ // Возвращает строку дополнительных значений по имени реквизита. // // Параметры: -// Форма - Форма - передаваемая форма. -// ИмяРеквизита - Строка с именем реквизита. +// Форма - УправляемаяФорма - передаваемая форма. +// ИмяРеквизита - Строка - имя реквизита. // -// Возвращаемое значение - Неопределено или СтрокаКоллекции - строка коллекции. +// Возвращаемое значение: +// СтрокаКоллекции - строка коллекции. +// Неопределено - нет данных // Функция ПолучитьСтрокуДополнительныхЗначений(Форма, ИмяРеквизита) Экспорт @@ -163,7 +167,7 @@ // Возвращает пустую структура адреса // // Возвращаемое значение: -// СтруктураАдреса - ключи - имена полей, значения поля +// Структура - адрес, ключи - имена полей, значения поля // Функция СтруктураПолейАдреса() Экспорт @@ -198,7 +202,7 @@ // Возвращает пустую структура телефона // // Возвращаемое значение: -// СтруктураТелефона - ключи - имена полей, значения поля +// Структура - ключи - имена полей, значения поля // Функция СтруктураПолейТелефона() Экспорт @@ -217,9 +221,10 @@ // Получает сокращение географического названия объекта // // Параметры: -// ГеографическоеНазвание - географическое название объекта +// ГеографическоеНазвание - Строка - географическое название объекта // -// Возвращаемое значение - Пустая строка или Последнее слово в географическом названии +// Возвращаемое значение: +// Строка - пустая строка или последнее слово в географическом названии // Функция АдресноеСокращение(Знач ГеографическоеНазвание) Экспорт @@ -236,10 +241,11 @@ // Возвращает строку списка полей. // // Параметры: -// СоответствиеПолей - список значений - соответствия полей. -// БезПустыхПолей - необязательный флаг сохранения полей с пустыми значениями +// СоответствиеПолей - СписокЗначений - соответствия полей. +// БезПустыхПолей - Булево - необязательный флаг сохранения полей с пустыми значениями // -// Возвращаемое значение - строка, преобразованная из списка +// Возвращаемое значение: +// Строка - результат, преобразованный из списка // Функция ПреобразоватьСписокПолейВСтроку(СоответствиеПолей, БезПустыхПолей = Истина) Экспорт @@ -256,7 +262,8 @@ // Параметры: // СтрокаПолей - Строка - строка полей. // -// Возвращаемое значение - Список значений - список значений полей. +// Возвращаемое значение: +// СписокЗначений - список значений полей. // Функция ПреобразоватьСтрокуВСписокПолей(СтрокаПолей) Экспорт @@ -279,10 +286,11 @@ // Преобразует строку полей вида ключ = значение в структуру // // Параметры: -// СтрокаПолей - строка полей с данными в виде ключ = значение -// ВидКонтактнойИнформации - необязательный вид КИ для определения состава незаполненных полей +// СтрокаПолей - Строка - строка полей с данными в виде ключ = значение +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации - для определения состава незаполненных полей // -// Возвращаемое значение: структура значений полей. +// Возвращаемое значение: +// Структура - значения полей // Функция СтруктураЗначенийПолей(СтрокаПолей, ВидКонтактнойИнформации = Неопределено) Экспорт @@ -323,10 +331,11 @@ // Возвращает строку списка полей. // // Параметры: -// СтруктураЗначенийПолей - структура значений полей. -// БезПустыхПолей - необязательный флаг сохранения полей с пустыми значениями +// СтруктураЗначенийПолей - Структура - структура значений полей. +// БезПустыхПолей - Булево - необязательный флаг сохранения полей с пустыми значениями // -// Возвращаемое значение - строка, преобразованная из структуры +// Возвращаемое значение: +/// Строка - результат преобразования из структуры // Функция СтрокаПолей(СтруктураЗначенийПолей, БезПустыхПолей = Истина) Экспорт diff --git a/SSL/src/CommonModules/УправлениеПечатью/Module.bsl b/SSL/src/CommonModules/УправлениеПечатью/Module.bsl index 2e9e9e796..728f4c5d7 100644 --- a/SSL/src/CommonModules/УправлениеПечатью/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатью/Module.bsl @@ -5,6 +5,19 @@ #Область ПрограммныйИнтерфейс +// Возвращает описание найденной в коллекции печатной формы. +// Если описание не найдено, возвращает Неопределено. +// +// Параметры: +// КоллекцияПечатныхФорм - ТаблицаЗначений - см. ПодготовитьКоллекциюПечатныхФорм(); +// ИмяМакета - Строка - имя проверяемого макета. +// +// ВозвращаемоеЗначение: +// СтрокаТаблицыЗначений - найденное описание печатной формы. +Функция СведенияОПечатнойФорме(КоллекцияПечатныхФорм, Идентификатор) Экспорт + Возврат КоллекцияПечатныхФорм.Найти(ВРег(Идентификатор), "ИмяВРЕГ"); +КонецФункции + // Проверить, нужно ли печатать макет. // // Параметры: @@ -31,16 +44,20 @@ // "Документ._ДемоСчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ". // Если не указывать этот параметр, то редактирование макета пользователем будет // недоступно в форме ПечатьДокументов. -// -Процедура ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка = Неопределено, ПолныйПутьКМакету = "") Экспорт +// ИмяФайлаПечатнойФормы - Строка - имя, используемое при сохранении печатной формы в файл; +// - Соответствие: +// * Ключ - ЛюбаяСсылка - ссылка на объект печати; +// * Значение - Строка - имя файла. +Процедура ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, + Картинка = Неопределено, ПолныйПутьКМакету = "", ИмяФайлаПечатнойФормы = Неопределено) Экспорт - Стр = КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ"); - - Если Стр <> Неопределено Тогда - Стр.ТабличныйДокумент = ТабличныйДокумент; - Стр.СинонимМакета = СинонимМакета; - Стр.Картинка = Картинка; - Стр.ПолныйПутьКМакету = ПолныйПутьКМакету; + ОписаниеПечатнойФормы = КоллекцияПечатныхФорм.Найти(ВРег(ИмяМакета), "ИмяВРЕГ"); + Если ОписаниеПечатнойФормы <> Неопределено Тогда + ОписаниеПечатнойФормы.ТабличныйДокумент = ТабличныйДокумент; + ОписаниеПечатнойФормы.СинонимМакета = СинонимМакета; + ОписаниеПечатнойФормы.Картинка = Картинка; + ОписаниеПечатнойФормы.ПолныйПутьКМакету = ПолныйПутьКМакету; + ОписаниеПечатнойФормы.ИмяФайлаПечатнойФормы = ИмяФайлаПечатнойФормы; КонецЕсли; КонецПроцедуры @@ -51,11 +68,10 @@ // документе. // // Параметры: -// ТабличныйДокумент - табличный документ - табличный документ печатной формы -// НомерСтрокиНачало - число - позиция начала очередной области в документе -// ОбъектыПечати - СписокЗначений - список объектов печати -// Ссылка - ссылка на объект ИБ - объект печати -// +// ТабличныйДокумент - ТабличныйДокумент - печатная форма; +// НомерСтрокиНачало - Число - позиция начала очередной области в документе; +// ОбъектыПечати - СписокЗначений - список объектов печати; +// Ссылка - ЛюбаяСсылка - объект печати. Процедура ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка) Экспорт Элемент = ОбъектыПечати.НайтиПоЗначению(Ссылка); @@ -77,8 +93,9 @@ // ПолноеИмяОбъектаМетаданных - Строка - полное имя объекта метаданных, для которого необходимо получить список печатных форм. // // Возвращаемое значение: -// Список: значение - Строка - идентификатор печатной формы; -// представление - Строка - представление печатной формы. +// Список: +// * Значение - Строка - идентификатор печатной формы; +// * Представление - Строка - представление печатной формы. Функция СписокПечатныхФормИзВнешнихИсточников(ПолноеИмяОбъектаМетаданных) Экспорт ВнешниеПечатныеФормы = Новый СписокЗначений; @@ -96,8 +113,20 @@ // Форма - УправляемаяФорма - форма, в которой необходимо разместить подменю Печать. // МестоРазмещенияКомандПоУмолчанию - ЭлементФормы - группа, в которую необходимо разместить подменю Печать, // по умолчанию размещается в командную панель формы. -Процедура ПриСозданииНаСервере(Форма, МестоРазмещенияКомандПоУмолчанию = Неопределено) Экспорт - КомандыПечати = КомандыПечатиФормы(Форма); +// ОбъектыПечати - Массив - список объектов метаданных, для которых необходимо сформировать +// объединенное подменю Печать. +Процедура ПриСозданииНаСервере(Форма, МестоРазмещенияКомандПоУмолчанию = Неопределено, ОбъектыПечати = Неопределено) Экспорт + + КомандыПечати = КомандыПечатиФормы(Форма, ОбъектыПечати); + Если МестоРазмещенияКомандПоУмолчанию <> Неопределено Тогда + Для Каждого КомандаПечати Из КомандыПечати Цикл + Если ПустаяСтрока(КомандаПечати.МестоРазмещения) Тогда + КомандаПечати.МестоРазмещения = МестоРазмещенияКомандПоУмолчанию.Имя; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + КомандыПечати.Колонки.Добавить("ИмяКомандыНаФорме", Новый ОписаниеТипов("Строка")); ТаблицаКоманд = КомандыПечати.Скопировать(,"МестоРазмещения"); ТаблицаКоманд.Свернуть("МестоРазмещения"); @@ -116,6 +145,19 @@ КонецЕсли; КонецЦикла; + АдресКомандПечатиВоВременномХранилище = "АдресКомандПечатиВоВременномХранилище"; + КомандаФормы = Форма.Команды.Найти(АдресКомандПечатиВоВременномХранилище); + Если КомандаФормы = Неопределено Тогда + КомандаФормы = Форма.Команды.Добавить(АдресКомандПечатиВоВременномХранилище); + КомандаФормы.Действие = ПоместитьВоВременноеХранилище(КомандыПечати, Форма.УникальныйИдентификатор); + Иначе + ОбщийСписокКомандПечатиФормы = ПолучитьИзВременногоХранилища(КомандаФормы.Действие); + Для Каждого КомандаПечати Из КомандыПечати Цикл + ЗаполнитьЗначенияСвойств(ОбщийСписокКомандПечатиФормы.Добавить(), КомандаПечати); + КонецЦикла; + КомандаФормы.Действие = ПоместитьВоВременноеХранилище(ОбщийСписокКомандПечатиФормы, Форма.УникальныйИдентификатор); + КонецЕсли; + КонецПроцедуры // Возвращает список команд печати для указанной формы. @@ -125,7 +167,7 @@ // // Возвращаемое значение: // ТаблицаЗначений - описание см. в СоздатьКоллекциюКомандПечати(). -Функция КомандыПечатиФормы(Форма) Экспорт +Функция КомандыПечатиФормы(Форма, СписокОбъектов = Неопределено) Экспорт Если ТипЗнч(Форма) = Тип("УправляемаяФорма") Тогда ИмяФормы = Форма.ИмяФормы; @@ -140,19 +182,31 @@ УправлениеПечатьюПереопределяемый.ПередДобавлениемКомандПечати(ИмяФормы, КомандыПечати, СтандартнаяОбработка); Если СтандартнаяОбработка Тогда - ПолноеИмяОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяФормы).Родитель().ПолноеИмя(); - МенеджерПечати = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ПолноеИмяОбъекта); - МенеджерПечати.ДобавитьКомандыПечати(КомандыПечати); + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяФормы); + Если ОбъектМетаданных <> Неопределено Тогда + ОбъектМетаданных = ОбъектМетаданных.Родитель(); + КонецЕсли; - Для Каждого КомандаПечати Из КомандыПечати Цикл - Если ПустаяСтрока(КомандаПечати.МенеджерПечати) Тогда - КомандаПечати.МенеджерПечати = ПолноеИмяОбъекта; + Если СписокОбъектов <> Неопределено Тогда + ЗаполнитьКомандыПечатиДляСпискаОбъектов(СписокОбъектов, КомандыПечати); + ИначеЕсли ОбъектМетаданных = Неопределено Тогда + Возврат КомандыПечати; + Иначе + МенеджерПечати = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ОбъектМетаданных.ПолноеИмя()); + КомандыДобавлены = ДобавитьКомандыИзМенеджераПечати(МенеджерПечати, КомандыПечати); + Если КомандыДобавлены Тогда + Для Каждого КомандаПечати Из КомандыПечати Цикл + Если ПустаяСтрока(КомандаПечати.МенеджерПечати) Тогда + КомандаПечати.МенеджерПечати = ОбъектМетаданных.ПолноеИмя(); + КонецЕсли; + КонецЦикла; + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки"); + МодульДополнительныеОтчетыИОбработки.ПриПолученииКомандПечати(КомандыПечати, ИмяФормы); + КонецЕсли; + ИначеЕсли ОбщегоНазначения.ЭтоЖурналДокументов(ОбъектМетаданных) Тогда + ЗаполнитьКомандыПечатиДляСпискаОбъектов(ОбъектМетаданных.РегистрируемыеДокументы, КомандыПечати); КонецЕсли; - КонецЦикла; - - Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда - МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки"); - МодульДополнительныеОтчетыИОбработки.ПриПолученииКомандПечати(КомандыПечати, ИмяФормы); КонецЕсли; КонецЕсли; @@ -187,9 +241,9 @@ // Возвращаемое значение: // ТаблицаЗначений - описание команд печати: // -// Идентификатор - Строка, Массив - Идентификатор команды печати, по которому менеджер печати определяет печатную -// форму, которую необходимо сформировать. -// Пример: "СчетЗаказ". +// * Идентификатор - Строка - Идентификатор команды печати, по которому менеджер печати определяет печатную +// форму, которую необходимо сформировать. +// Пример: "СчетЗаказ". // // Для печати нескольких печатных форм можно указывать одновременно несколько их // идентификаторов (строкой, через запятую, либо массивом строк), например: @@ -210,54 +264,62 @@ // Обработка._ДемоПечатнаяФорма, а СчетЗаказ - в менеджере печати, указанном в // параметре МенеджерПечати. // -// Представление - Строка - Представление команды в меню Печать. +// - Массив - список идентификаторов команд печати. +// +// * Представление - Строка - Представление команды в меню Печать. // Пример: "Счет на оплату". // -// МенеджерПечати - Строка - (необязательный) Имя объекта, в модуле менеджера которого располагается +// * МенеджерПечати - Строка - (необязательный) Имя объекта, в модуле менеджера которого располагается // процедура Печать, формирующая табличные документы для этой команды. // Значение по умолчанию: имя модуля менеджера объекта. // Пример: "Документ.СчетНаОплатуПокупателю". +// * ТипыОбъектовПечати - Массив - (необязательный) список типов объектов, для которых предназначена команда +// печати. Параметр предназначен для команд печати в журналах документов, где +// требуется проверка передаваемого типа объекта перед вызовом менеджера печати. +// Если список не заполнен, то при автоматическом создании списка команд печати +// в журнале документов он заполняется типом объекта, из которого была +// импортирована команда печати. // -// Обработчик - Строка - (необязательный) Клиентский обработчик команды, в который необходимо передать +// * Обработчик - Строка - (необязательный) Клиентский обработчик команды, в который необходимо передать // управление вместо стандартного обработчика команды печать. Используется, // например, когда печатная форма формируется на клиенте. // Пример: "ОбработчикиПечатиКлиент.ПечатьСчетовНаОплатуПокупателю". // -// Порядок - Число - (необязательный) Значение от 1 до 100, указывающее порядок размещения команды +// * Порядок - Число - (необязательный) Значение от 1 до 100, указывающее порядок размещения команды // по отношению к другим командам. Сортировка команд меню Печать осуществляется // сначала по полю Порядок, затем по представлению. // Значение по умолчанию: 50. // -// Картинка - Картинка - (необязательный) Картинка, которая отображается возле команды в меню Печать. +// * Картинка - Картинка - (необязательный) Картинка, которая отображается возле команды в меню Печать. // Пример: БиблиотекаКартинок.ФорматPDF. // -// СписокФорм - Строка - (необязательный) Имена форм через запятую, в которых должна отображаться +// * СписокФорм - Строка - (необязательный) Имена форм через запятую, в которых должна отображаться // команда. Если параметр не указан, то команда печати будет отображаться во // всех формах объекта, где встроена подсистема Печать. // Пример: "ФормаДокумента". // -// МестоРазмещения - Строка - (необязательный) Имя командной панели формы, в которую необходимо разместить +// * МестоРазмещения - Строка - (необязательный) Имя командной панели формы, в которую необходимо разместить // команду печати. Параметр необходимо использовать только в случае, когда на // форме размещается более одного подменю "Печать". В остальных случаях место // размещения необходимо задавать в модуле формы при вызове метода // УправлениеПечатью.ПриСозданииНаСервере. // -// ЗаголовокФормы - Строка - (необязательный) Произвольная строка, переопределяющая стандартных заголовок +// * ЗаголовокФормы - Строка - (необязательный) Произвольная строка, переопределяющая стандартных заголовок // формы «Печать документов». // Пример: "Настраиваемый комплект". // -// ФункциональныеОпции - Строка - (необязательный) Имена функциональных опций через запятую, от которых зависит +// * ФункциональныеОпции - Строка - (необязательный) Имена функциональных опций через запятую, от которых зависит // доступность команды печати. // -// ПроверкаПроведенияПередПечатью - Булево - (необязательный) Признак необходимости проверки проведенности +// * ПроверкаПроведенияПередПечатью - Булево - (необязательный) Признак необходимости проверки проведенности // документов перед печатью. Если параметр не указан, то проверка проведенности // не выполняется. // -// СразуНаПринтер - Булево - (необязательный) Признак необходимости печати документов без предварительного +// * СразуНаПринтер - Булево - (необязательный) Признак необходимости печати документов без предварительного // просмотра, сразу на принтер. Если параметр не указан, то при выборе команды // печати открывается форма предварительного просмотра «Печать документов». // -// ФорматСохранения - ТипФайлаТабличногоДокумента - (необязательный) Применяется для быстрого сохранения печатной +// * ФорматСохранения - ТипФайлаТабличногоДокумента - (необязательный) Применяется для быстрого сохранения печатной // формы (без дополнительных действий) в различные форматы, отличные от mxl. // Если параметр не указан, то формируется обычный mxl. // Пример: ТипФайлаТабличногоДокумента.PDF. @@ -265,28 +327,28 @@ // При выборе команды печати сразу открывается сформированный в формате pdf // документ. // -// ПереопределитьПользовательскиеНастройкиКоличества - Булево - (необязательный) Признак необходимости отключения в +// * ПереопределитьПользовательскиеНастройкиКоличества - Булево - (необязательный) Признак необходимости отключения в // форме ПечатьДокументов механизма сохранения/восстановления выбранного // пользователем количества экземпляров на печать. Если параметр не указан, то // механизм сохранения/восстановления настроек будет работать при открытии формы // ПечатьДокументов. // -// ДополнитьКомплектВнешнимиПечатнымиФормами - Булево - (необязательный) Признак необходимости дополнить комплект +// * ДополнитьКомплектВнешнимиПечатнымиФормами - Булево - (необязательный) Признак необходимости дополнить комплект // документов всеми подключенными к объекту внешними печатными формами // (подсистема ДополнительныеОтчетыИОбработки). Если параметр не указан, внешние // печатные формы не добавляются в комплект. // -// ФиксированныйКомплект - Булево - (необязательный) Признак необходимости блокировки от изменения пользователем +// * ФиксированныйКомплект - Булево - (необязательный) Признак необходимости блокировки от изменения пользователем // состава комплекта документов. Если параметр не указан, то пользователь сможет // исключать отдельные печатные формы из комплекта в форме ПечатьДокументов, а // также изменять их количество. // -// НеВыполнятьЗаписьВФорме - Булево - (необязательный) Признак необходимости отключения механизма записи объекта +// * НеВыполнятьЗаписьВФорме - Булево - (необязательный) Признак необходимости отключения механизма записи объекта // перед выполнением команды печати. Используется в исключительных случаях. Если // параметр не указан, производится запись объекта в случае, если в форме // объекта установлен признак модифицированности. // -// ТребуетсяРасширениеРаботыСФайлами - Булево - (необязательный) Признак необходимости подключения расширения работы +// * ТребуетсяРасширениеРаботыСФайлами - Булево - (необязательный) Признак необходимости подключения расширения работы // с файлами перед выполнением команды. Если параметр не указан, подключение // расширения работы с файлами выполняться не будет. // @@ -303,6 +365,7 @@ // менеджер печати Результат.Колонки.Добавить("МенеджерПечати", Новый ОписаниеТипов("Строка")); + Результат.Колонки.Добавить("ТипыОбъектовПечати", Новый ОписаниеТипов("Массив")); // альтернативный обработчик команды Результат.Колонки.Добавить("Обработчик", Новый ОписаниеТипов("Строка")); @@ -471,7 +534,7 @@ // ДвоичныеДанныеДокумента - ДвоичныеДанные - двоичные данные табличного документа. // // Возвращаемое значение: -// ТабличныйДокумент +// ТабличныйДокумент. // Функция ТабличныйДокументПоДвоичнымДанным(ДвоичныеДанныеДокумента) Экспорт @@ -519,7 +582,7 @@ КонецФункции -// Возвращает двоичные данные для формирования QR кода +// Возвращает двоичные данные для формирования QR кода. // // Параметры: // QRСтрока - Строка - данные, которые необходимо разместить в QR-коде. @@ -534,7 +597,7 @@ // ТекстОшибки - Строка - в этот параметр помещается описание возникшей ошибки (если возникла). // // Возвращаемое значение: -// Двоичные данные - буфер, содержащий байты PNG-изображения QR-кода. +// ДвоичныеДанные - буфер, содержащий байты PNG-изображения QR-кода. // // Пример: // @@ -571,7 +634,8 @@ КонецФункции // Формирует форматную строку согласно "Унифицированному формату электронных банковских сообщений" для ее отображения в виде QR-кода -// Параметры: +// +//Параметры: // ДанныеДокумента - Структура - содержит значения полей документа // - Данные документа будут закодированы согласно стандарту // "СТАНДАРТЫ ФИНАНСОВЫХ ОПЕРАЦИЙ Символы двумерного штрихового кода для осуществления платежей физических лиц" @@ -739,8 +803,13 @@ СерверныеОбработчики["СтандартныеПодсистемы.БазоваяФункциональность\ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам"].Добавить( "УправлениеПечатью"); - - КонецПроцедуры + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ТекущиеДела") Тогда + СерверныеОбработчики["СтандартныеПодсистемы.ТекущиеДела\ПриЗаполненииСпискаТекущихДел"].Добавить( + "УправлениеПечатью"); + КонецЕсли; + +КонецПроцедуры #КонецОбласти @@ -778,6 +847,80 @@ КонецПроцедуры +// Заполняет список текущих дел пользователя. +// +// Параметры: +// ТекущиеДела - ТаблицаЗначений - таблица значений с колонками: +// * Идентификатор - Строка - внутренний идентификатор дела, используемый механизмом "Текущие дела". +// * ЕстьДела - Булево - если Истина, дело выводится в списке текущих дел пользователя. +// * Важное - Булево - если Истина, дело будет выделено красным цветом. +// * Представление - Строка - представление дела, выводимое пользователю. +// * Количество - Число - количественный показатель дела, выводится в строке заголовка дела. +// * Форма - Строка - полный путь к форме, которую необходимо открыть при нажатии на гиперссылку +// дела на панели "Текущие дела". +// * ПараметрыФормы- Структура - параметры, с которыми нужно открывать форму показателя. +// * Владелец - Строка, объект метаданных - строковый идентификатор дела, которое будет владельцем для текущего +// или объект метаданных подсистема. +// * Подсказка - Строка - текст подсказки. +// +Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт + + Если Не ПравоДоступа("Редактирование", Метаданные.РегистрыСведений.ПользовательскиеМакетыПечати) Тогда + Возврат; + КонецЕсли; + + // Если нет раздела администрирование, дело не добавляется. + Подсистема = Метаданные.Подсистемы.Найти("Администрирование"); + Если Подсистема <> Неопределено + И Не ПравоДоступа("Просмотр", Подсистема) + И Не ОбщегоНазначения.ОбъектМетаданныхДоступенПоФункциональнымОпциям(Подсистема) Тогда + Возврат; + КонецЕсли; + + ВывестиДело = Истина; + ПровереноНаВерсию = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "ПечатныеФормы"); + Если ПровереноНаВерсию <> Неопределено Тогда + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + Если ПровереноНаВерсию = ТекущаяВерсия Тогда + ВывестиДело = Ложь; // Печатные формы проверены на текущей версии. + КонецЕсли; + КонецЕсли; + + КоличествоПользовательскихМакетов = КоличествоИспользуемыхПользовательскихМакетов(); + + // Добавление дела. + Дело = ТекущиеДела.Добавить(); + Дело.Идентификатор = "МакетыПечатныхФорм"; + Дело.ЕстьДела = ВывестиДело И КоличествоПользовательскихМакетов > 0; + Дело.Представление = НСтр("ru = 'Макеты печатных форм'"); + Дело.Количество = КоличествоПользовательскихМакетов; + Дело.Форма = "РегистрСведений.ПользовательскиеМакетыПечати.Форма.ПроверкаПечатныхФорм"; + Дело.Владелец = "ПроверитьСовместимостьСТекущейВерсией"; + + // Проверка наличия группы дела. Если группа отсутствует - добавляем. + ГруппаДела = ТекущиеДела.Найти("ПроверитьСовместимостьСТекущейВерсией", "Идентификатор"); + Если ГруппаДела = Неопределено Тогда + ГруппаДела = ТекущиеДела.Добавить(); + ГруппаДела.Идентификатор = "ПроверитьСовместимостьСТекущейВерсией"; + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + ГруппаДела.Представление = НСтр("ru = 'Проверить совместимость'"); + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = Дело.Количество; + КонецЕсли; + ГруппаДела.Владелец = Подсистема; + Иначе + Если Не ГруппаДела.ЕстьДела Тогда + ГруппаДела.ЕстьДела = Дело.ЕстьДела; + КонецЕсли; + + Если Дело.ЕстьДела Тогда + ГруппаДела.Количество = ГруппаДела.Количество + Дело.Количество; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + // Возвращает список разрешений для загрузки классификатора банков с сайта РБК. // // Возвращаемое значение: @@ -866,7 +1009,7 @@ // Сформировать печатные формы Процедура СформироватьПечатныеФормы(ИмяМенеджераПечати, Знач ИменаМакетов, МассивОбъектов, ПараметрыПечати, - КоллекцияПечатныхФорм, ОбъектыПечати = Неопределено, ПараметрыВывода) Экспорт + КоллекцияПечатныхФорм, ОбъектыПечати = Неопределено, ПараметрыВывода, ДопустимыеТипыОбъектовПечати = Неопределено) Экспорт ПараметрыВывода = ПодготовитьСтруктуруПараметровВывода(); @@ -945,24 +1088,13 @@ // проверка соответствия печатаемых объектов выбранной печатной форме ОжидаемыйТипОбъекта = Неопределено; - МетаданныеМенеджера = Метаданные.НайтиПоПолномуИмени(ИспользуемыйМенеджерПечати); - Если МетаданныеМенеджера <> Неопределено - И (Метаданные.Документы.Содержит(МетаданныеМенеджера) - Или Метаданные.Справочники.Содержит(МетаданныеМенеджера) - Или Метаданные.БизнесПроцессы.Содержит(МетаданныеМенеджера) - Или Метаданные.Задачи.Содержит(МетаданныеМенеджера) - Или Метаданные.ПланыВидовРасчета.Содержит(МетаданныеМенеджера) - Или Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеМенеджера) - Или Метаданные.ПланыОбмена.Содержит(МетаданныеМенеджера)) Тогда - ОжидаемыйТипОбъекта = Тип(СтрЗаменить(ИспользуемыйМенеджерПечати, ".", "Ссылка.")); - КонецЕсли; ОбъектыСоответствующиеПечатнойФорме = МассивОбъектов; - Если ОжидаемыйТипОбъекта <> Неопределено Тогда + Если ДопустимыеТипыОбъектовПечати <> Неопределено И ДопустимыеТипыОбъектовПечати.Количество() > 0 Тогда Если ТипЗнч(МассивОбъектов) = Тип("Массив") Тогда ОбъектыСоответствующиеПечатнойФорме = Новый Массив; Для Каждого Объект Из МассивОбъектов Цикл - Если ТипЗнч(Объект) <> ОжидаемыйТипОбъекта Тогда + Если ДопустимыеТипыОбъектовПечати.Найти(ТипЗнч(Объект)) = Неопределено Тогда СообщитьПечатнаяФормаНедоступна(Объект); Иначе ОбъектыСоответствующиеПечатнойФорме.Добавить(Объект); @@ -971,8 +1103,8 @@ Если ОбъектыСоответствующиеПечатнойФорме.Количество() = 0 Тогда ОбъектыСоответствующиеПечатнойФорме = Неопределено; КонецЕсли; - ИначеЕсли ОбщегоНазначения.ЗначениеСсылочногоТипа(МассивОбъектов) Тогда - Если ТипЗнч(МассивОбъектов) <> ОжидаемыйТипОбъекта Тогда + ИначеЕсли ОбщегоНазначения.ЗначениеСсылочногоТипа(МассивОбъектов) Тогда // передан не массив + Если ДопустимыеТипыОбъектовПечати.Найти(ТипЗнч(МассивОбъектов)) = Неопределено Тогда СообщитьПечатнаяФормаНедоступна(МассивОбъектов); ОбъектыСоответствующиеПечатнойФорме = Неопределено; КонецЕсли; @@ -996,7 +1128,16 @@ МенеджерПечати = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИспользуемыйМенеджерПечати); // печать внутренней печатной формы Если ОбъектыСоответствующиеПечатнойФорме <> Неопределено Тогда - МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы, ОбъектыПечати, ПараметрыВывода); + + // При вызове из формы ПечатьДокументов в параметре ПараметрыПечати передается внутренняя информация, + // которая включает в себя ДополнительныеПараметры. + ДополнительныеПараметры = Неопределено; + Если ТипЗнч(ПараметрыПечати) <> Тип("Структура") + Или Не ПараметрыПечати.Свойство("ДополнительныеПараметры", ДополнительныеПараметры) Тогда + ДополнительныеПараметры = ПараметрыПечати; + КонецЕсли; + МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ДополнительныеПараметры, + ВременнаяКоллекцияДляОднойПечатнойФормы, ОбъектыПечати, ПараметрыВывода); Иначе ВременнаяКоллекцияДляОднойПечатнойФормы[0].ТабличныйДокумент = Новый ТабличныйДокумент; КонецЕсли; @@ -1009,8 +1150,7 @@ ТипЗнч(ОписаниеПечатнойФормы.Экземпляров) = Тип("Число") И ОписаниеПечатнойФормы.Экземпляров > 0, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не задано количество экземпляров для печатной формы ""%1"".'"), - ?(ПустаяСтрока(ОписаниеПечатнойФормы.СинонимМакета), ОписаниеПечатнойФормы.ИмяМакета, ОписаниеПечатнойФормы.СинонимМакета) - )); + ?(ПустаяСтрока(ОписаниеПечатнойФормы.СинонимМакета), ОписаниеПечатнойФормы.ИмяМакета, ОписаниеПечатнойФормы.СинонимМакета))); КонецЦикла; // обновление коллекции @@ -1034,7 +1174,7 @@ Если Отказ Тогда ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'При формировании печатной формы ""%1"" возникла ошибка. Обратитесь к администратору.'"), ИмяМакета); - ВызватьИсключение(ТекстСообщенияОбОшибке); + ВызватьИсключение ТекстСообщенияОбОшибке; КонецЕсли; КонецЦикла; @@ -1115,6 +1255,7 @@ Макеты.Колонки.Добавить("Экземпляров"); Макеты.Колонки.Добавить("Картинка"); Макеты.Колонки.Добавить("ПолныйПутьКМакету"); + Макеты.Колонки.Добавить("ИмяФайлаПечатнойФормы"); Если ТипЗнч(ИменаМакетов) = Тип("Строка") Тогда ИменаМакетов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИменаМакетов); @@ -1141,7 +1282,7 @@ Функция ПодготовитьСтруктуруПараметровВывода() Экспорт ПараметрыВывода = Новый Структура; - ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно", Ложь); + ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно", Ложь); // не используется СтруктураПараметровПисьма = Новый Структура("Получатель,Тема,Текст", Неопределено, "", ""); ПараметрыВывода.Вставить("ПараметрыОтправки", СтруктураПараметровПисьма); @@ -1299,6 +1440,8 @@ КомандаФормы.Картинка = БиблиотекаКартинок.Печать; КонецЕсли; + ОписаниеКомандыПечати.ИмяКомандыНаФорме = ИмяКоманды; + НовыйЭлемент = Форма.Элементы.Добавить(МестоРазмещенияКоманд.Имя + ИмяКоманды, Тип("КнопкаФормы"), МестоРазмещенияКоманд); НовыйЭлемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; НовыйЭлемент.ИмяКоманды = ИмяКоманды; @@ -1310,21 +1453,13 @@ // // Возвращаемое значение // Структура - строка таблицы из функции КомандыПечатиФормы, преобразованная в структуру. -Функция ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы) Экспорт +Функция ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище) Экспорт - КомандыПечати = КомандыПечатиФормы(ИмяФормы); - - Позиция = СтрДлина(ИмяКоманды); - Пока КодСимвола(ИмяКоманды, Позиция) >= 48 И КодСимвола(ИмяКоманды, Позиция) <= 57 Цикл // 0..9 - Позиция = Позиция - 1; + КомандыПечати = ПолучитьИзВременногоХранилища(АдресКомандПечатиВоВременномХранилище); + Для Каждого КомандаПечати Из КомандыПечати.НайтиСтроки(Новый Структура("ИмяКомандыНаФорме", ИмяКоманды)) Цикл + Возврат ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(КомандаПечати); КонецЦикла; - КомандаПечати = КомандыПечати[Число(Сред(ИмяКоманды, Позиция + 1))]; // "КомандаПечати№" - - Результат = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(КомандаПечати); - - Возврат Результат; - КонецФункции // Фильтрует список команд печати в соответствии с установленными функциональными опциями. @@ -1585,6 +1720,113 @@ ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, Объект); КонецПроцедуры +// Формирует пакет документов для отправки на принтер. +Функция ПакетДокументов(ТабличныеДокументы, ОбъектыПечати, ПечататьКомплектами, КоличествоЭкземпляров = 1) Экспорт + + ПакетОтображаемыхДокументов = Новый ПакетОтображаемыхДокументов; + КоллекцияПечатныхФорм = ТабличныеДокументы.ВыгрузитьЗначения(); + + Если ПечататьКомплектами И ОбъектыПечати.Количество() > 0 Тогда + Для Каждого ОбъектПечати Из ОбъектыПечати Цикл + ИмяОбласти = ОбъектПечати.Представление; + Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл + Область = ПечатнаяФорма.Области.Найти(ИмяОбласти); + Если Область = Неопределено Тогда + Продолжить; + КонецЕсли; + + ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ); + ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице"); + + ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент); + КонецЦикла; + КонецЦикла; + Иначе + Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.Вывести(ПечатнаяФорма); + ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице"); + ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент); + КонецЦикла; + КонецЕсли; + + ПакетОтображаемыхДокументов.КоличествоЭкземпляров = КоличествоЭкземпляров; + + Возврат ПакетОтображаемыхДокументов; + +КонецФункции + +// Заворачивает табличный документ в пакет отображаемых документов. +Функция ПакетСОднимТабличнымДокументом(ТабличныйДокумент) + АдресТабличногоДокументаВоВременномХранилище = ПоместитьВоВременноеХранилище(ТабличныйДокумент); + ПакетСОднимДокументом = Новый ПакетОтображаемыхДокументов; + ПакетСОднимДокументом.Состав.Добавить(АдресТабличногоДокументаВоВременномХранилище); + ЗаполнитьЗначенияСвойств(ПакетСОднимДокументом, ТабличныйДокумент, "Вывод, ДвусторонняяПечать, ИмяПринтера, КоличествоЭкземпляров, ТочностьПечати"); + Если ТабличныйДокумент.РазборПоКопиям <> Неопределено Тогда + ПакетСОднимДокументом.РазборПоКопиям = ТабличныйДокумент.РазборПоКопиям; + КонецЕсли; + Возврат ПакетСОднимДокументом; +КонецФункции + +// Добавляет команды печати в список, если у менеджера печати есть соответствующая процедура. +Функция ДобавитьКомандыИзМенеджераПечати(МенеджерПечати, КомандыПечати) + ДобавляемыеКомандыПечати = СоздатьКоллекциюКомандПечати(); + Попытка + МенеджерПечати.ДобавитьКомандыПечати(ДобавляемыеКомандыПечати); + Исключение + Если ДобавляемыеКомандыПечати.Количество() > 0 Тогда + ВызватьИсключение; + Иначе + Возврат Ложь; + КонецЕсли; + КонецПопытки; + + Для Каждого КомандаПечати Из ДобавляемыеКомандыПечати Цикл + ЗаполнитьЗначенияСвойств(КомандыПечати.Добавить(), КомандаПечати); + КонецЦикла; + + Возврат Истина; +КонецФункции + +// Собирает список команд печати из нескольких объектов. +Процедура ЗаполнитьКомандыПечатиДляСпискаОбъектов(СписокОбъектов, КомандыПечати) + Для Каждого ОбъектМетаданных Из СписокОбъектов Цикл + Если ОбъектМетаданных.ОсновнаяФормаСписка = Неопределено Тогда + Продолжить; // не предусмотрены команды печати в основной форме списка объекта + КонецЕсли; + ИмяФормыСписка = ОбъектМетаданных.ОсновнаяФормаСписка.ПолноеИмя(); + Для Каждого ДобавляемаяКомандаПечати Из КомандыПечатиФормы(ИмяФормыСписка) Цикл + // поиск аналогичной ранее добавленной команды печати + СтруктураОтбора = "Идентификатор,Обработчик,СразуНаПринтер,ФорматСохранения"; + Если ПустаяСтрока(ДобавляемаяКомандаПечати.Обработчик) Тогда + СтруктураОтбора = СтруктураОтбора + ",МенеджерПечати"; + КонецЕсли; + Отбор = Новый Структура(СтруктураОтбора); + ЗаполнитьЗначенияСвойств(Отбор, ДобавляемаяКомандаПечати); + НайденныеКоманды = КомандыПечати.НайтиСтроки(Отбор); + Если НайденныеКоманды.Количество() > 0 Тогда + Для Каждого ИмеющаясяКомандаПечати Из НайденныеКоманды Цикл + // если уже есть такая команда, дополняем список типов объектов, для которых она предназначена + ТипОбъекта = Тип(СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), ".", "Ссылка.")); + Если ИмеющаясяКомандаПечати.ТипыОбъектовПечати.Найти(ТипОбъекта) = Неопределено Тогда + ИмеющаясяКомандаПечати.ТипыОбъектовПечати.Добавить(ТипОбъекта); + КонецЕсли; + // очистим МенеджерПечати в случае, если у имеющейся команды он отличается + Если ИмеющаясяКомандаПечати.МенеджерПечати <> ДобавляемаяКомандаПечати.МенеджерПечати Тогда + ИмеющаясяКомандаПечати.МенеджерПечати = ""; + КонецЕсли; + КонецЦикла; + Продолжить; + КонецЕсли; + + Если ДобавляемаяКомандаПечати.ТипыОбъектовПечати.Количество() = 0 Тогда + ДобавляемаяКомандаПечати.ТипыОбъектовПечати.Добавить(Тип(СтрЗаменить(ОбъектМетаданных.ПолноеИмя(), ".", "Ссылка."))); + КонецЕсли; + ЗаполнитьЗначенияСвойств(КомандыПечати.Добавить(), ДобавляемаяКомандаПечати); + КонецЦикла; + КонецЦикла; +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики условных вызовов в другие подсистемы @@ -1650,3 +1892,26 @@ КонецПроцедуры #КонецОбласти + +#Область ВспомогательныеПроцедурыИФункции + +// Только для внутреннего использования. +// +Функция КоличествоИспользуемыхПользовательскихМакетов() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ПользовательскиеМакетыПечати.ИмяМакета + |ИЗ + | РегистрСведений.ПользовательскиеМакетыПечати КАК ПользовательскиеМакетыПечати + |ГДЕ + | ПользовательскиеМакетыПечати.Использование = ИСТИНА"; + + Результат = Запрос.Выполнить().Выгрузить(); + + Возврат Результат.Количество(); + +КонецФункции + +#КонецОбласти diff --git a/SSL/src/CommonModules/УправлениеПечатьюMSWordКлиент/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюMSWordКлиент/Module.bsl index ce2f2d59b..79001cc7e 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюMSWordКлиент/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюMSWordКлиент/Module.bsl @@ -163,7 +163,9 @@ COMСоединение.Application.Selection.Collapse(); // восстановить вид просмотра документа - COMСоединение.Application.ActiveWindow.View.Type = Handler.ViewType; + Если Handler.Свойство("ViewType") Тогда + COMСоединение.Application.ActiveWindow.View.Type = Handler.ViewType; + КонецЕсли; COMСоединение.Application.Visible = Истина; COMСоединение.Activate(); diff --git a/SSL/src/CommonModules/УправлениеПечатьюВызовСервера/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюВызовСервера/Module.bsl index e63c8d08d..9744f8969 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюВызовСервера/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюВызовСервера/Module.bsl @@ -87,9 +87,9 @@ // // См. УправлениеПечатью.ОписаниеКомандыПечати // -Функция ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы) Экспорт +Функция ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище) Экспорт - Возврат УправлениеПечатью.ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы); + Возврат УправлениеПечатью.ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище); КонецФункции @@ -97,4 +97,22 @@ Функция ДоступноПравоПроведения(СписокДокументов) Экспорт Возврат УправлениеПечатью.ДоступноПравоПроведения(СписокДокументов); КонецФункции + +// См. УправлениеПечатью.ПакетДокументов. +Функция ПакетДокументов(ТабличныеДокументы, ОбъектыПечати, ПечататьКомплектами, КоличествоЭкземпляров = 1) Экспорт + + Возврат УправлениеПечатью.ПакетДокументов(ТабличныеДокументы, ОбъектыПечати, + ПечататьКомплектами, КоличествоЭкземпляров); + +КонецФункции + +// Сообщение о недоступности команды печати для выбранного объекта. +Функция СообщениеОПредназначенииКомандыПечати(ТипыОбъектовПечати) Экспорт + ТекстСообщения = НСтр("ru = 'Выбранная команда печати предназначена для документов:'") + Символы.ПС; + Для Каждого Тип Из ТипыОбъектовПечати Цикл + ТекстСообщения = ТекстСообщения + Метаданные.НайтиПоТипу(Тип).Представление() + Символы.ПС; + КонецЦикла; + Возврат СокрЛП(ТекстСообщения); +КонецФункции + #КонецОбласти diff --git a/SSL/src/CommonModules/УправлениеПечатьюКлиент/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюКлиент/Module.bsl index 636422aeb..b8040d8fb 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюКлиент/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюКлиент/Module.bsl @@ -69,43 +69,25 @@ КонецЕсли; // Распечатаем - РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати, - ПараметрыВывода.ДоступнаПечатьПоКомплектно); + РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати); КонецПроцедуры -// Вывести табличные документы на принтер -Процедура РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати, - Знач ДоступнаПечатьПокомплектно, Знач КоличествоКопийКомплектов = 1) Экспорт +// Вывести табличные документы на принтер. +// +// Параметры: +// ТабличныеДокументы - СписокЗначений - печатные формы. +// ОбъектыПечати - СписокЗначений - соответствие объектов именам областей табличного документа. +// ПечататьКомплектами - Булево, Неопределено - (не используется, вычисляется автоматически). +// КоличествоКопийКомплектов - Число - количество экземпляров каждого из комплектов документов. +Процедура РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати, Знач ПечататьКомплектами = Неопределено, Знач КоличествоКопийКомплектов = 1) Экспорт - #Если ВебКлиент Тогда - ДоступнаПечатьПокомплектно = Ложь; - #КонецЕсли - - Если ДоступнаПечатьПокомплектно Тогда - Для НомерКопииКомплекта = 1 По КоличествоКопийКомплектов Цикл - Для Каждого ОбъектПечати Из ОбъектыПечати Цикл - ИмяОбласти = ОбъектПечати.Представление; - Для Каждого Элемент Из ТабличныеДокументы Цикл - ТабДок = Элемент.Значение; - ОбластьПечати = ТабДок.Области.Найти(ИмяОбласти); - Если ОбластьПечати = Неопределено Тогда - Продолжить; - КонецЕсли; - ОбластьПечатиПользователя = ТабДок.ОбластьПечати; - ТабДок.ОбластьПечати = ОбластьПечати; - ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); - ТабДок.ОбластьПечати = ОбластьПечатиПользователя; - КонецЦикла; - КонецЦикла; - КонецЦикла; - Иначе - Для Каждого Элемент Из ТабличныеДокументы Цикл - ТабДок = Элемент.Значение; - ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); - КонецЦикла; - КонецЕсли; + ПечататьКомплектами = ТабличныеДокументы.Количество() > 1; + ПакетОтображаемыхДокументов = УправлениеПечатьюВызовСервера.ПакетДокументов(ТабличныеДокументы, + ОбъектыПечати, ПечататьКомплектами, КоличествоКопийКомплектов); + + ПакетОтображаемыхДокументов.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать); КонецПроцедуры // Выполняет интерактивное проведение документов перед печатью. @@ -142,7 +124,7 @@ // // Команда - КомандаФормы - подключаемая команда формы, выполняющая обработчик Подключаемый_ВыполнитьКомандуПечати. // (альтернативный вызов*) Структура - строка таблицы КомандыПечати, преобразованная в структуру. -// Источник - ТаблицаФормы Или ДанныеФормыСтруктура - источник объектов печати (Форма.Объект, Форма.Элементы.Список). +// Источник - ТаблицаФормы, ДанныеФормыСтруктура - источник объектов печати (Форма.Объект, Форма.Элементы.Список). // (альтернативный вызов*) Массив - список объектов печати. // // *Альтернативный вызов - указанные типы используются в случае, если вызов выполняется не из штатного @@ -152,7 +134,7 @@ ОписаниеКоманды = Команда; Если ТипЗнч(Команда) = Тип("КомандаФормы") Тогда - ОписаниеКоманды = ОписаниеКомандыПечати(Команда.Имя, Форма.ИмяФормы); + ОписаниеКоманды = ОписаниеКомандыПечати(Команда.Имя, Форма.Команды.Найти("АдресКомандПечатиВоВременномХранилище").Действие); КонецЕсли; ДополнительныеПараметры = Новый Структура; @@ -182,16 +164,6 @@ КонецПроцедуры -// Возвращает описание команды по имени элемента формы. -// -// См. УправлениеПечатью.ОписаниеКомандыПечати -// -Функция ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы) Экспорт - - Возврат УправлениеПечатьюКлиентПовтИсп.ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы); - -КонецФункции - //////////////////////////////////////////////////////////////////////////////// // Работа с макетами офисных документов @@ -620,6 +592,16 @@ КонецФункции +// Возвращает описание команды по имени элемента формы. +// +// См. УправлениеПечатью.ОписаниеКомандыПечати +// +Функция ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище) + + Возврат УправлениеПечатьюКлиентПовтИсп.ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище); + +КонецФункции + // ИспользованиеМодальности #Если ВебКлиент Тогда diff --git a/SSL/src/CommonModules/УправлениеПечатьюКлиентПовтИсп/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюКлиентПовтИсп/Module.bsl index bbdbbec28..b8a87a3c2 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюКлиентПовтИсп/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюКлиентПовтИсп/Module.bsl @@ -9,9 +9,9 @@ // // См. УправлениеПечатью.ОписаниеКомандыПечати // -Функция ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы) Экспорт +Функция ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище) Экспорт - Возврат УправлениеПечатьюВызовСервера.ОписаниеКомандыПечати(ИмяКоманды, ИмяФормы); + Возврат УправлениеПечатьюВызовСервера.ОписаниеКомандыПечати(ИмяКоманды, АдресКомандПечатиВоВременномХранилище); КонецФункции diff --git a/SSL/src/CommonModules/УправлениеПечатьюПереопределяемый/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюПереопределяемый/Module.bsl index 98b63b3d1..d6c560657 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюПереопределяемый/Module.bsl @@ -10,17 +10,17 @@ // // Параметры // ТаблицаФорматов - ТаблицаЗначений: -// ТипФайлаТабличногоДокумента - ТипФайлаТабличногоДокумента - значение в платформе, соответствующее формату; -// Ссылка - ПеречислениеСсылка.ФорматыСохраненияОтчетов - ссылка на метаданные, где хранится представление; -// Представление - Строка - - представление типа файла (заполняется из перечисления); -// Расширение - Строка - - тип файла для операционной системы; -// Картинка - Картинка - значок формата. +// * ТипФайлаТабличногоДокумента - ТипФайлаТабличногоДокумента - значение в платформе, соответствующее формату; +// * Ссылка - ПеречислениеСсылка.ФорматыСохраненияОтчетов - ссылка на метаданные, где хранится представление; +// * Представление - Строка - - представление типа файла (заполняется из перечисления); +// * Расширение - Строка - - тип файла для операционной системы; +// * Картинка - Картинка - значок формата. // Процедура ПриЗаполненииНастроекФорматовСохраненияТабличногоДокумента(ТаблицаФорматов) Экспорт КонецПроцедуры -// Переопределяет список команд печати, получаемый функцией +// Переопределяет список команд печати, получаемый функцией УправлениеПечатью.КомандыПечатиФормы. Процедура ПередДобавлениемКомандПечати(ИмяФормы, КомандыПечати, СтандартнаяОбработка) Экспорт КонецПроцедуры diff --git a/SSL/src/CommonModules/УправлениеПечатьюСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/УправлениеПечатьюСлужебныйКлиент/Module.bsl index f16f6d7e2..160ae577d 100644 --- a/SSL/src/CommonModules/УправлениеПечатьюСлужебныйКлиент/Module.bsl +++ b/SSL/src/CommonModules/УправлениеПечатьюСлужебныйКлиент/Module.bsl @@ -37,6 +37,22 @@ ВызватьИсключение НСтр("ru = 'Команда не может быть выполнена для указанного объекта!'") КонецЕсли; + Если ДополнительныеПараметры.ОписаниеКоманды.ТипыОбъектовПечати.Количество() <> 0 Тогда // требуется проверка типа + ЕстьПечатаемыеОбъекты = Ложь; + Для Каждого ОбъектПечати Из ОбъектыПечати Цикл + Если ДополнительныеПараметры.ОписаниеКоманды.ТипыОбъектовПечати.Найти(ТипЗнч(ОбъектПечати)) <> Неопределено Тогда + ЕстьПечатаемыеОбъекты = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Если Не ЕстьПечатаемыеОбъекты Тогда + ТекстСообщения = УправлениеПечатьюВызовСервера.СообщениеОПредназначенииКомандыПечати(ДополнительныеПараметры.ОписаниеКоманды.ТипыОбъектовПечати); + ПоказатьПредупреждение(, ТекстСообщения); + Возврат; + КонецЕсли; + КонецЕсли; + Если ДополнительныеПараметры.ОписаниеКоманды.ПроверкаПроведенияПередПечатью Тогда ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьПодключаемуюКомандуПечатиПодключениеРасширенияРаботыСФайлами", ЭтотОбъект, ДополнительныеПараметры); УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеОповещения, ОбъектыПечати, ДополнительныеПараметры.Форма); @@ -234,7 +250,7 @@ // Процедура ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещения) Экспорт #Если ВебКлиент Тогда - ТекстСообщения = НСтр("ru = 'Для продолжения печати необходимо установить расширение работы с файлами.'"); + ТекстСообщения = НСтр("ru = 'Для продолжения печати необходимо установить расширение для веб-клиента 1С:Предприятие.'"); ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(ОписаниеОповещения, ТекстСообщения, Ложь); Возврат; #КонецЕсли diff --git a/SSL/src/CommonModules/УправлениеСвойствами/Module.bsl b/SSL/src/CommonModules/УправлениеСвойствами/Module.bsl index 683158e39..4b1ebd4df 100644 --- a/SSL/src/CommonModules/УправлениеСвойствами/Module.bsl +++ b/SSL/src/CommonModules/УправлениеСвойствами/Module.bsl @@ -13,14 +13,14 @@ // Вызывается из обработчика ПриСозданииНаСервере формы объекта со свойствами // // Параметры: -// Форма - УправляемаяФорма. +// Форма - УправляемаяФорма - в которой будут отображаться дополнительные реквизиты. // // Объект - Неопределено - взять объект из реквизита формы Объект. -// ДанныеФормыСтруктура (по типу объекта). +// - ДанныеФормыСтруктура - по типу объекта. // // ИмяЭлементаДляРазмещения - Строка - имя группы формы, в которой будут размещены свойства. // -// ПроизвольныйОбъект - Булево, если Истина, тогда в форме создается таблица описания дополнительных реквизитов +// ПроизвольныйОбъект - Булево - если Истина, тогда в форме создается таблица описания дополнительных реквизитов // параметр Объект игнорируется, дополнительные реквизиты не создаются и не заполняются. // // Это востребовано при последовательном использовании одной формы для просмотра или редактирования @@ -31,7 +31,12 @@ // Чтобы сохранить изменения следует вызвать ПеренестиЗначенияИзРеквизитовФормыВОбъект(), // а для обновления состава реквизитов вызвать ОбновитьЭлементыДополнительныхРеквизитов(). // -Процедура ПриСозданииНаСервере(Форма, Объект = Неопределено, ИмяЭлементаДляРазмещения = "", ПроизвольныйОбъект = Ложь) Экспорт +// ИмяЭлементаКоманднойПанели - Строка - имя группы формы, в которую будет добавлена кнопка +// РедактироватьСоставДополнительныхРеквизитов. Если имя элемента не указано, +// используется стандартная группа "Форма.КоманднаяПанель". +// +Процедура ПриСозданииНаСервере(Форма, Объект = Неопределено, ИмяЭлементаДляРазмещения = "", + ПроизвольныйОбъект = Ложь, ИмяЭлементаКоманднойПанели = "") Экспорт Если ПроизвольныйОбъект Тогда СоздатьОписаниеДополнительныхРеквизитов = Истина; @@ -44,7 +49,8 @@ СоздатьОписаниеДополнительныхРеквизитов = ИспользоватьДопРеквизиты(ОписаниеОбъекта.Ссылка); КонецЕсли; - СоздатьОсновныеОбъектыФормы(Форма, ИмяЭлементаДляРазмещения, СоздатьОписаниеДополнительныхРеквизитов); + СоздатьОсновныеОбъектыФормы(Форма, ИмяЭлементаДляРазмещения, + СоздатьОписаниеДополнительныхРеквизитов, ИмяЭлементаКоманднойПанели); Если НЕ ПроизвольныйОбъект Тогда ЗаполнитьДополнительныеРеквизитыВФорме(Форма, ОписаниеОбъекта); @@ -56,8 +62,8 @@ // Вызывается из обработчика ПередЗаписьюНаСервере формы объекта со свойствами. // // Параметры: -// Форма - УправляемаяФорма. -// ТекущийОбъект - <ВидОбъектаМетаданных>Объект.<ИмяОбъектаМетаданных>. +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// ТекущийОбъект - Объект - <ВидОбъектаМетаданных>Объект.<ИмяОбъектаМетаданных>. // Процедура ПриЧтенииНаСервере(Форма, ТекущийОбъект) Экспорт @@ -74,10 +80,8 @@ // Вызывается из обработчика ПередЗаписьюНаСервере формы объекта со свойствами. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере() -// -// ТекущийОбъект - Объект. +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// ТекущийОбъект - Объект - <ВидОбъектаМетаданных>Объект.<ИмяОбъектаМетаданных>. // Процедура ПередЗаписьюНаСервере(Форма, ТекущийОбъект) Экспорт @@ -88,11 +92,9 @@ // Проверяет заполненность реквизитов обязательных для заполнения. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере(). -// -// Отказ - параметр обработчика ОбработкаПроверкиЗаполненияНаСервере(). -// ПроверяемыеРеквизиты - параметр обработчика ОбработкаПроверкиЗаполненияНаСервере(). +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// Отказ - Булево - параметр обработчика ОбработкаПроверкиЗаполненияНаСервере. +// ПроверяемыеРеквизиты - Массив - параметр обработчика ОбработкаПроверкиЗаполненияНаСервере. // Процедура ОбработкаПроверкиЗаполнения(Форма, Отказ, ПроверяемыеРеквизиты) Экспорт @@ -122,14 +124,14 @@ // Обновляет наборы дополнительных реквизитов и сведений для вида объектов со свойствами. // Используется при записи элементов справочников, которые являются видами объектов со свойствами. -// Например, если есть справочник Сущности к которому применяется подсистема Свойства, для него создан -// справочник ВидыСущностей, то при записи элемента ВидыСущностей необходимо вызывать эту процедуру. +// Например, если есть справочник Номенклатура к которому применяется подсистема Свойства, для него создан +// справочник ВидыНоменклатуры, то при записи элемента ВидНоменклатуры необходимо вызывать эту процедуру. // // Параметры: -// ВидОбъекта - Объект, запись которого выполняется. -// ИмяОбъектаСоСвойствами - Строка - имя объекта со свойствами вид которого записывается. -// ИмяРеквизитаНабораСвойств - Строка - используется, когда наборов свойств несколько -// или используется имя основного набора отличное от "НаборСвойств". +// ВидОбъекта - Объект - например, вид номенклатуры перед записью. +// ИмяОбъектаСоСвойствами - Строка - например, Номенклатура. +// ИмяРеквизитаНабораСвойств - Строка - используется, когда наборов свойств несколько или +// используется имя реквизита основного набора отличное от "НаборСвойств". // Процедура ПередЗаписьюВидаОбъекта(ВидОбъекта, ИмяОбъектаСоСвойствами, @@ -174,12 +176,9 @@ // Обновляет отображаемые данные на форме объекта со свойствами. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере() -// -// Объект - Неопределено - взять объект из реквизита формы Объект. -// Объект - СправочникОбъект, ДокументОбъект, ... -// ДанныеФормыСтруктура (по типу объекта). +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// Объект - Неопределено - взять объект из реквизита формы "Объект". +// - Объект - СправочникОбъект, ДокументОбъект, ... , ДанныеФормыСтруктура (по типу объекта). // Процедура ОбновитьЭлементыДополнительныхРеквизитов(Форма, Объект = Неопределено) Экспорт @@ -195,15 +194,10 @@ // Создает/пересоздает дополнительные реквизиты и элементы в форме владельца свойств. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере() -// -// Объект - Неопределено - взять объект из реквизита формы Объект. -// Объект - СправочникОбъект, ДокументОбъект, ... -// ДанныеФормыСтруктура (по типу объекта). -// -// ПоляНадписей - Булево - начальное значение Ложь, если указать Истина, -// то вместо полей ввода на форме будут созданы поля надписей. +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// Объект - Неопределено - взять объект из реквизита формы "Объект". +// - Объект - СправочникОбъект, ДокументОбъект, ..., ДанныеФормыСтруктура (по типу объекта). +// ПоляНадписей - Булево - если указать Истина, то вместо полей ввода на форме будут созданы поля надписей. // Процедура ЗаполнитьДополнительныеРеквизитыВФорме(Форма, Объект = Неопределено, ПоляНадписей = Ложь) Экспорт @@ -240,8 +234,8 @@ Ложь); ОписаниеСвойств.Колонки.Добавить("ИмяРеквизитаЗначение"); - ОписаниеСвойств.Колонки.Добавить("ДополнительноеЗначение"); ОписаниеСвойств.Колонки.Добавить("ИмяУникальнаяЧасть"); + ОписаниеСвойств.Колонки.Добавить("ДополнительноеЗначение"); ОписаниеСвойств.Колонки.Добавить("Булево"); УдалитьСтарыеРеквизитыИЭлементы(Форма); @@ -458,12 +452,9 @@ // Переносит значения свойств из реквизитов формы в табличную часть объекта. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере() -// -// Объект - Неопределено - взять объект из реквизита формы Объект. -// Объект - СправочникОбъект, ДокументОбъект, ... -// ДанныеФормыСтруктура (по типу объекта). +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. +// Объект - Неопределено - взять объект из реквизита формы "Объект". +// - Объект - СправочникОбъект, ДокументОбъект, ..., ДанныеФормыСтруктура (по типу объекта). // Процедура ПеренестиЗначенияИзРеквизитовФормыВОбъект(Форма, Объект = Неопределено) Экспорт @@ -523,17 +514,14 @@ // Удаляет старые реквизиты и элементы формы. // // Параметры: -// Форма - УправляемаяФорма, предварительно настроенная в процедуре -// УправлениеСвойствами.ПриСозданииНаСервере() +// Форма - УправляемаяФорма - уже настроена в процедуре ПриСозданииНаСервере. // Процедура УдалитьСтарыеРеквизитыИЭлементы(Форма) Экспорт УдаляемыеРеквизиты = Новый Массив; Для каждого ОписаниеСвойства Из Форма.Свойства_ОписаниеДополнительныхРеквизитов Цикл - УдаляемыеРеквизиты.Добавить(ОписаниеСвойства.ИмяРеквизитаЗначение); Форма.Элементы.Удалить(Форма.Элементы[ОписаниеСвойства.ИмяРеквизитаЗначение]); - КонецЦикла; Если УдаляемыеРеквизиты.Количество() > 0 Тогда @@ -552,12 +540,13 @@ // Возвращает свойства владельца. // // Параметры: -// ВладелецСвойств - Ссылка на владельца свойств. +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... // ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты. // ПолучатьДопСведения - Булево - в результат включать дополнительные сведения. // // Возвращаемое значение: -// Массив значений типа ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения. +// Массив - значения +// * ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - если есть. // Функция ПолучитьСписокСвойств(ВладелецСвойств, ПолучатьДопРеквизиты = Истина, ПолучатьДопСведения = Истина) Экспорт @@ -612,14 +601,18 @@ // Возвращает значения дополнительных свойств объекта. // // Параметры: -// ВладелецСвойств - Ссылка на владельца свойств. +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... // ПолучатьДопРеквизиты - Булево - в результат включать дополнительные реквизиты. // ПолучатьДопСведения - Булево - в результат включать дополнительные сведения. -// МассивСвойств - Массив значений типа ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения, -// значения которых следует получить. -// Неопределено - все свойства владельца. -// Возвращаемое значение : -// ТаблицаЗначений - колонки "Свойство" и "Значение". +// МассивСвойств - Массив - свойства: +// * ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - значения +// которых следует получить. +// - Неопределено - получить значения всех свойств владельца. +// Возвращаемое значение: +// ТаблицаЗначений - колонки: +// * Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - свойство владельца. +// * Значение - Произвольный - значения любого типа из описания типов свойства объекта метаданных: +// "Метаданные.ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.Тип". // Функция ПолучитьЗначенияСвойств(ВладелецСвойств, ПолучатьДопРеквизиты = Истина, @@ -704,8 +697,11 @@ // Проверяет, есть ли у объекта свойство. // // Параметры: -// ВладелецСвойств - Ссылка на владельца свойств. -// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения. +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... +// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - проверяемое свойство. +// +// Возвращаемое значение: +// Булево - если Истина, свойство у владельца есть. // Функция ПроверитьСвойствоУОбъекта(ВладелецСвойств, Свойство) Экспорт @@ -721,12 +717,14 @@ // Возвращает перечисляемые значения указанного свойства. // -// Параметр: -// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения. +// Параметры: +// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - свойство для +// которого нужно получить перечисляемые значения. // // Возвращаемое значение: -// Массив значений типа СправочникСсылка.ЗначенияСвойствОбъектов -// или типа СправочникСсылка.ЗначенияСвойствОбъектовИерархия. +// Массив - значения: +// * СправочникСсылка.ЗначенияСвойствОбъектов, СправочникСсылка.ЗначенияСвойствОбъектовИерархия - значения +// свойства, если есть. // Функция ПолучитьСписокЗначенийСвойств(Свойство) Экспорт @@ -763,10 +761,10 @@ // Изменения происходят в транзакции. // // Параметры: -// ВладелецСвойств - Ссылка или Объект владельца свойств. +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... // ТаблицаСвойствИЗначений - ТаблицаЗначений - с колонками: -// Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения. -// Значение - любое значение, допустимое для свойства. +// * Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения - свойство владельца. +// * Значение - Произвольный - любое значение, допустимое для свойства (указано в элементе свойства). // Процедура ЗаписатьСвойстваУОбъекта(ВладелецСвойств, ТаблицаСвойствИЗначений) Экспорт @@ -842,10 +840,13 @@ КонецПроцедуры -// Проверяет, используется ли дополнительные реквизиты с объектом. +// Проверяет, используются ли дополнительные реквизиты с объектом. +// +// Параметры: +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... // // Возвращаемое значение: -// Булево. +// Булево - если Истина, тогда дополнительные реквизиты используются. // Функция ИспользоватьДопРеквизиты(ВладелецСвойств) Экспорт @@ -855,10 +856,13 @@ КонецФункции -// Проверяет, используется ли дополнительные сведения объектом. +// Проверяет, используются ли дополнительные сведения объектом. +// +// Параметры: +// ВладелецСвойств - Ссылка - например, СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ... // // Возвращаемое значение: -// Булево. +// Булево - если Истина, тогда дополнительные сведения используются. // Функция ИспользоватьДопСведения(ВладелецСвойств) Экспорт @@ -938,11 +942,16 @@ КонецПроцедуры +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // Вспомогательные процедуры и функции // Создает основные реквизиты, команды, элементы в форме владельца свойств. -Процедура СоздатьОсновныеОбъектыФормы(Форма, ИмяЭлементаДляРазмещения, СоздатьОписаниеДополнительныхРеквизитов) +Процедура СоздатьОсновныеОбъектыФормы(Форма, ИмяЭлементаДляРазмещения, + СоздатьОписаниеДополнительныхРеквизитов, ИмяЭлементаКоманднойПанели) Реквизиты = Новый Массив; @@ -1007,7 +1016,13 @@ Команда.Подсказка = НСтр("ru = 'Изменить состав дополнительных реквизитов'"); Команда.Картинка = БиблиотекаКартинок.НастройкаСписка; - Кнопка = Форма.Элементы.Добавить("РедактироватьСоставДополнительныхРеквизитов", Тип("КнопкаФормы"), Форма.КоманднаяПанель); + Кнопка = Форма.Элементы.Добавить( + "РедактироватьСоставДополнительныхРеквизитов", + Тип("КнопкаФормы"), + ?(ИмяЭлементаКоманднойПанели = "", + Форма.КоманднаяПанель, + Форма.Элементы[ИмяЭлементаКоманднойПанели])); + Кнопка.ТолькоВоВсехДействиях = Истина; Кнопка.ИмяКоманды = "РедактироватьСоставДополнительныхРеквизитов"; КонецЕсли; diff --git a/SSL/src/CommonModules/УправлениеСвойствамиСлужебный/Module.bsl b/SSL/src/CommonModules/УправлениеСвойствамиСлужебный/Module.bsl index 8a36b1f2c..d6963c7ad 100644 --- a/SSL/src/CommonModules/УправлениеСвойствамиСлужебный/Module.bsl +++ b/SSL/src/CommonModules/УправлениеСвойствамиСлужебный/Module.bsl @@ -192,6 +192,45 @@ // Возвращает заполненную таблицу значений свойств объекта. Функция ПолучитьТаблицуЗначенийСвойств(ДополнительныеСвойстваОбъекта, Наборы, ЭтоДополнительноеСведение) Экспорт + Если ДополнительныеСвойстваОбъекта.Количество() = 0 Тогда + // Предварительная быстрая проверка использования дополнительных свойств. + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("НаборыСвойств", Наборы.ВыгрузитьЗначения()); + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ИСТИНА КАК ЗначениеИстина + |ИЗ + | Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК СвойстваНаборов + |ГДЕ + | СвойстваНаборов.Ссылка В(&НаборыСвойств) + | И НЕ СвойстваНаборов.ПометкаУдаления"; + + Если ЭтоДополнительноеСведение Тогда + Запрос.Текст = СтрЗаменить( + Запрос.Текст, + "Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты", + "Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения"); + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + СвойстваНеНайдены = Запрос.Выполнить().Пустой(); + УстановитьПривилегированныйРежим(Ложь); + Если СвойстваНеНайдены Тогда + ОписаниеСвойств = Новый ТаблицаЗначений; + ОписаниеСвойств.Колонки.Добавить("Набор"); + ОписаниеСвойств.Колонки.Добавить("Свойство"); + ОписаниеСвойств.Колонки.Добавить("ВладелецДополнительныхЗначений"); + ОписаниеСвойств.Колонки.Добавить("ЗаполнятьОбязательно"); + ОписаниеСвойств.Колонки.Добавить("Наименование"); + ОписаниеСвойств.Колонки.Добавить("ТипЗначения"); + ОписаниеСвойств.Колонки.Добавить("ФорматСвойства"); + ОписаниеСвойств.Колонки.Добавить("МногострочноеПолеВвода"); + ОписаниеСвойств.Колонки.Добавить("Удалено"); + ОписаниеСвойств.Колонки.Добавить("Значение"); + Возврат ОписаниеСвойств; + КонецЕсли; + КонецЕсли; + Свойства = ДополнительныеСвойстваОбъекта.ВыгрузитьКолонку("Свойство"); НаборыСвойств = Новый ТаблицаЗначений; @@ -211,7 +250,6 @@ Запрос = Новый Запрос; Запрос.УстановитьПараметр("Свойства", Свойства); Запрос.УстановитьПараметр("НаборыСвойств", НаборыСвойств); - Запрос.Текст = "ВЫБРАТЬ | НаборыСвойств.Набор, diff --git a/SSL/src/CommonModules/УправлениеЭлектроннойПочтой/Module.bsl b/SSL/src/CommonModules/УправлениеЭлектроннойПочтой/Module.bsl index f5c3d31c8..ce7874be2 100644 --- a/SSL/src/CommonModules/УправлениеЭлектроннойПочтой/Module.bsl +++ b/SSL/src/CommonModules/УправлениеЭлектроннойПочтой/Module.bsl @@ -83,25 +83,39 @@ //Отправка писем Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | ЭлектронноеПисьмоИсходящее.Ссылка, - | ПРЕДСТАВЛЕНИЕ(ЭлектронноеПисьмоИсходящее.Ссылка) КАК ПредставлениеПисьма, - | ЭлектронноеПисьмоИсходящее.УдалятьПослеОтправки, - | ЭлектронноеПисьмоИсходящее.УчетнаяЗапись КАК УчетнаяЗапись, - | ЕСТЬNULL(ПапкиЭлектронныхПисем.ПредопределеннаяПапка, ИСТИНА) КАК ТребуетсяОпределениеПапки - |ИЗ - | Документ.ЭлектронноеПисьмоИсходящее КАК ЭлектронноеПисьмоИсходящее - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты - | ПО ЭлектронноеПисьмоИсходящее.УчетнаяЗапись = УчетныеЗаписиЭлектроннойПочты.Ссылка - | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем - | ПО ПредметыПапкиВзаимодействий.ПапкаЭлектронногоПисьма = ПапкиЭлектронныхПисем.Ссылка - | ПО ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоИсходящее.Ссылка - |ГДЕ - | (НЕ ЭлектронноеПисьмоИсходящее.ПометкаУдаления) - | И ЭлектронноеПисьмоИсходящее.СтатусПисьма = ЗНАЧЕНИЕ(Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Исходящее) - |ИТОГИ ПО - | УчетнаяЗапись"; + Запрос = Новый Запрос; + Запрос.Текст = " + |ВЫБРАТЬ + | ЭлектронноеПисьмоИсходящее.Ссылка, + | ПРЕДСТАВЛЕНИЕ(ЭлектронноеПисьмоИсходящее.Ссылка) КАК ПредставлениеПисьма, + | ЭлектронноеПисьмоИсходящее.УдалятьПослеОтправки, + | ЭлектронноеПисьмоИсходящее.УчетнаяЗапись КАК УчетнаяЗапись, + | ЕСТЬNULL(ПапкиЭлектронныхПисем.ПредопределеннаяПапка, ИСТИНА) КАК ТребуетсяОпределениеПапки + |ИЗ + | Документ.ЭлектронноеПисьмоИсходящее КАК ЭлектронноеПисьмоИсходящее + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.УчетныеЗаписиЭлектроннойПочты КАК УчетныеЗаписиЭлектроннойПочты + | ПО ЭлектронноеПисьмоИсходящее.УчетнаяЗапись = УчетныеЗаписиЭлектроннойПочты.Ссылка + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПредметыПапкиВзаимодействий КАК ПредметыПапкиВзаимодействий + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем + | ПО ПредметыПапкиВзаимодействий.ПапкаЭлектронногоПисьма = ПапкиЭлектронныхПисем.Ссылка + | ПО (ПредметыПапкиВзаимодействий.Взаимодействие = ЭлектронноеПисьмоИсходящее.Ссылка) + |ГДЕ + | НЕ ЭлектронноеПисьмоИсходящее.ПометкаУдаления + | И ЭлектронноеПисьмоИсходящее.СтатусПисьма = ЗНАЧЕНИЕ(Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Исходящее) + | И ВЫБОР + | КОГДА ЭлектронноеПисьмоИсходящее.ДатаКогдаОтправить = ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ ЭлектронноеПисьмоИсходящее.ДатаКогдаОтправить < &ТекущаяДата + | КОНЕЦ + | И ВЫБОР + | КОГДА ЭлектронноеПисьмоИсходящее.ДатаАктуальностиОтправки = ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ ЭлектронноеПисьмоИсходящее.ДатаАктуальностиОтправки > &ТекущаяДата + | КОНЕЦ + |ИТОГИ ПО + | УчетнаяЗапись"; + + Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса()); ВыборкаУчетныеЗаписи = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаУчетныеЗаписи.Следующий() Цикл @@ -317,10 +331,21 @@ | И ЭлектронноеПисьмоИсходящее.Автор = &Пользователь | И УчетныеЗаписиЭлектроннойПочты.ИспользоватьДляОтправки | И НЕ ЕСТЬNULL(НастройкиУчетныхЗаписейЭлектроннойПочты.НеИспользоватьВоВстроенномПочтовомКлиенте, ЛОЖЬ) + | И ВЫБОР + | КОГДА ЭлектронноеПисьмоИсходящее.ДатаКогдаОтправить = ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ ЭлектронноеПисьмоИсходящее.ДатаКогдаОтправить < &ТекущаяДата + | КОНЕЦ + | И ВЫБОР + | КОГДА ЭлектронноеПисьмоИсходящее.ДатаАктуальностиОтправки = ДАТАВРЕМЯ(1, 1, 1) + | ТОГДА ИСТИНА + | ИНАЧЕ ЭлектронноеПисьмоИсходящее.ДатаАктуальностиОтправки > &ТекущаяДата + | КОНЕЦ |ИТОГИ ПО | УчетнаяЗапись"; Запрос.УстановитьПараметр("Пользователь",ТекущийПользователь); + Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДатаСеанса()); МассивПисем = Новый Массив; ВыборкаУчетныеЗаписи = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); @@ -760,11 +785,23 @@ СтруктураДляЗаписи = ВзаимодействияКлиентСервер.СтруктураРеквизитовВзаимодействияДляЗаписи( Папка,?(ЗначениеЗаполнено(Предмет),Предмет,Письмо.Ссылка), , , Ложь); ВзаимодействияВызовСервера.ЗаписьРегистрРеквизитыВзаимодействия(Письмо.Ссылка, СтруктураДляЗаписи); - МассивИменВложений = Новый Массив; + МассивИменВложений = Новый Массив; + МассивДублирующихсяИменВложений = Новый Массив; //Запишем вложения Для Каждого Вложение Из Сообщение.Вложения Цикл - МассивИменВложений.Добавить(Вложение.ИмяФайла); + Если МассивИменВложений.Найти(Вложение.ИмяФайла) = Неопределено Тогда + МассивИменВложений.Добавить(Вложение.ИмяФайла); + ИначеЕсли МассивДублирующихсяИменВложений.Найти(Вложение.ИмяФайла) = Неопределено Тогда + МассивДублирующихсяИменВложений.Добавить(Вложение.ИмяФайла); + КонецЕсли; + КонецЦикла; + + Для Каждого ДублирующеесяВложение Из МассивДублирующихсяИменВложений Цикл + ИндексВМассиве = МассивИменВложений.Найти(ДублирующеесяВложение); + Если ИндексВМассиве <> Неопределено Тогда + МассивИменВложений.Удалить(ИндексВМассиве); + КонецЕсли; КонецЦикла; РасширениеДляФайловПодписи = ЭлектроннаяПодписьКлиентСервер.ПерсональныеНастройки().РасширениеДляФайловПодписи; @@ -802,6 +839,17 @@ КонецЦикла; + Если МассивДублирующихсяИменВложений.Количество() > 0 Тогда + Для каждого Вложение Из Сообщение.Вложения Цикл + Если МассивДублирующихсяИменВложений.Найти(Вложение.ИмяФайла) <> Неопределено Тогда + ЗаписатьВложениеЭлектронногоПисьма( + Письмо,Вложение, + Новый Массив, + КоличествоПустыхИменВоВложениях); + КонецЕсли; + КонецЦикла; + КонецЕсли; + Если Письмо.НепринятыеВложения.Количество() Тогда Письмо.Записать(); КонецЕсли; @@ -1187,8 +1235,8 @@ Для Каждого Адрес Из Адреса Цикл НоваяСтрока = ТабличнаяЧасть.Добавить(); - НоваяСтрока.Адрес = Адрес.Адрес; - НоваяСтрока.Представление = Адрес.ОтображаемоеИмя; + НоваяСтрока.Адрес = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Адрес.Адрес, ""); + НоваяСтрока.Представление = ОбщегоНазначенияКлиентСервер.ЗаменитьНедопустимыеСимволыXML(Адрес.ОтображаемоеИмя, ""); КонецЦикла; КонецПроцедуры @@ -1355,7 +1403,15 @@ УстановитьПривилегированныйРежим(Истина); - ИмяОбъектаМетаданных = ПолучитьИмяОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо); + ДанныеПрисоединенныхФайловПисьма = ВзаимодействияПереопределяемый.ПолучитьДанныеОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо); + Если ДанныеПрисоединенныхФайловПисьма = Неопределено Тогда + ИмяОбъектаМетаданных = ПолучитьИмяОбъектаМетаданныхПрисоединенныхФайловПисьма(Письмо); + ВладелецФайлов = Письмо; + Иначе + ИмяОбъектаМетаданных = ДанныеПрисоединенныхФайловПисьма.ИмяСправочникаПрисоединенныеФайлы; + ВладелецФайлов = ДанныеПрисоединенныхФайловПисьма.Владелец; + КонецЕсли; + Если ИмяОбъектаМетаданных = Неопределено Тогда Возврат Новый ТаблицаЗначений; КонецЕсли; @@ -1386,7 +1442,7 @@ | Файлы.ВладелецФайла = &Письмо | И НЕ Файлы.ПометкаУдаления"; - Запрос.УстановитьПараметр("Письмо", Письмо); + Запрос.УстановитьПараметр("Письмо", ВладелецФайлов); Запрос.УстановитьПараметр("ПустаяСтрока",""); ТаблицаКВозврату = Запрос.Выполнить().Выгрузить(); diff --git a/SSL/src/CommonModules/ФайловыеФункции/Module.bsl b/SSL/src/CommonModules/ФайловыеФункции/Module.bsl index 1fea38011..5f923df26 100644 --- a/SSL/src/CommonModules/ФайловыеФункции/Module.bsl +++ b/SSL/src/CommonModules/ФайловыеФункции/Module.bsl @@ -6,6 +6,10 @@ #Область ПрограммныйИнтерфейс // Возвращает максимальный размер файла. +// +// Возвращаемое значение: +// Число - целое число байт. +// Функция МаксимальныйРазмерФайла() Экспорт УстановитьПривилегированныйРежим(Истина); @@ -42,6 +46,10 @@ КонецФункции // Возвращает максимальный размер файла провайдера. +// +// Возвращаемое значение: +// Число - целое число байт. +// Функция МаксимальныйРазмерФайлаОбщий() Экспорт УстановитьПривилегированныйРежим(Истина); @@ -63,6 +71,10 @@ // Работа с томами файлов // Есть ли хоть один том хранения файлов. +// +// Возвращаемое значение: +// Булево - если Истина, тогда существует хотя бы один работающий том. +// Функция ЕстьТомаХраненияФайлов() Экспорт УстановитьПривилегированныйРежим(Истина); diff --git a/SSL/src/CommonModules/ФайловыеФункцииСлужебный/Module.bsl b/SSL/src/CommonModules/ФайловыеФункцииСлужебный/Module.bsl index b26d280f1..0f1dda1e9 100644 --- a/SSL/src/CommonModules/ФайловыеФункцииСлужебный/Module.bsl +++ b/SSL/src/CommonModules/ФайловыеФункцииСлужебный/Module.bsl @@ -39,7 +39,17 @@ // СерверныеСобытия.Добавить("СтандартныеПодсистемы.ФайловыеФункции\ПриУдаленииРегистрацииИзменений"); - // Возвращает текст запроса для извлечения текста + // Заполняет текст запроса для получения файлов у которых не извлечен текст. + // В качестве параметра может прийти другой запрос, с которым следует сделать объединение. + // + // Параметры: + // ТекстЗапроса - Строка (возвращаемое значение), варианты передаваемых значений: + // Пустая строка - будет возвращен требуемый текст запроса. + // Непустая строка - будет возвращен требуемый текст запроса, добавленный + // к переданному тексту посредством "ОБЪЕДИНИТЬ ВСЕ". + // + // ПолучитьВсеФайлы - Булево - начальное значение Ложь. Позволяет отключить выборку + // файлов по частям, если передать Истина. // // Синтаксис: // Процедура ПриОпределенииТекстаЗапросаДляИзвлеченияТекста(ТекстЗапроса, ПолучитьВсеФайлы = Ложь) Экспорт @@ -56,7 +66,7 @@ // Записывает извлеченный текст // // Синтаксис: - // Процедура ЗаписатьИзвлеченныйТекст(ФайлОбъект) Экспорт + // Процедура ПриЗаписиИзвлеченногоТекста(ФайлОбъект) Экспорт // СерверныеСобытия.Добавить("СтандартныеПодсистемы.ФайловыеФункции\ПриЗаписиИзвлеченногоТекста"); @@ -497,22 +507,12 @@ Процедура ПроверитьПодписиВСтрокахКоллекции(КоллекцияСтрок) Экспорт УстановитьПривилегированныйРежим(Истина); - - ПровайдерЭП = Константы.ПровайдерЭП.Получить(); - ПутьМодуляКриптографии = ЭлектроннаяПодписьПовтИсп.ПутьМодуляКриптографии(); - ТипПровайдераЭП = Константы.ТипПровайдераЭП.Получить(); - АлгоритмПодписи = Константы.АлгоритмПодписи.Получить(); - АлгоритмХеширования = Константы.АлгоритмХеширования.Получить(); - АлгоритмШифрования = Константы.АлгоритмШифрования.Получить(); - + МенеджерКриптографии = ЭлектроннаяПодпись.ПолучитьМенеджерКриптографии(); УстановитьПривилегированныйРежим(Ложь); - МенеджерКриптографии = Новый МенеджерКриптографии( - ПровайдерЭП, ПутьМодуляКриптографии, ТипПровайдераЭП); - - МенеджерКриптографии.АлгоритмПодписи = АлгоритмПодписи; - МенеджерКриптографии.АлгоритмХеширования = АлгоритмХеширования; - МенеджерКриптографии.АлгоритмШифрования = АлгоритмШифрования; + Если МенеджерКриптографии = Неопределено Тогда + Возврат; + КонецЕсли; Для Каждого Строка Из КоллекцияСтрок Цикл @@ -1237,14 +1237,15 @@ ФайлОбъект.Ссылка, ИмяФайлаСПутем, Истина); КонецЦикла; - Если ПустаяСтрока(ИмяФайлаСПутем) Тогда - Продолжить; - КонецЕсли; - Кодировка = ПолучитьКодировкуВерсииФайла(Строка.Ссылка); Отказ = Ложь; - Текст = ФайловыеФункцииСлужебныйКлиентСервер.ИзвлечьТекст(ИмяФайлаСПутем, Отказ, Кодировка); + Если ПустаяСтрока(ИмяФайлаСПутем) Тогда + Отказ = Истина; + Текст = ""; + Иначе + Текст = ФайловыеФункцииСлужебныйКлиентСервер.ИзвлечьТекст(ИмяФайлаСПутем, Отказ, Кодировка); + КонецЕсли; Если Отказ = Ложь Тогда ФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.Извлечен; @@ -1253,7 +1254,9 @@ ФайлОбъект.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.ИзвлечьНеУдалось; КонецЕсли; - Если Строка.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда + Если Строка.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе + И Не ПустаяСтрока(ИмяФайлаСПутем) Тогда + УдалитьФайлы(ИмяФайлаСПутем); КонецЕсли; diff --git a/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиент/Module.bsl b/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиент/Module.bsl index a1340764a..2dd2ef465 100644 --- a/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиент/Module.bsl +++ b/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиент/Module.bsl @@ -32,7 +32,7 @@ // Процедура ПоказатьПредупреждениеОНеобходимостиРасширенияРаботыСФайлами(ОбработчикРезультата, ПредставлениеКоманды = "") Экспорт ТекстПредупреждения = НСтр("ru = 'Для выполнения команды ""%1"" необходимо - |установить расширение работы с файлами.'"); + |установить расширение для веб-клиента 1С:Предприятие.'"); Если ЗначениеЗаполнено(ПредставлениеКоманды) Тогда ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%1", ПредставлениеКоманды); Иначе @@ -381,7 +381,7 @@ // В рабочем каталоге более новый файл. Если ДанныеФайла.ВРабочемКаталогеНаЧтение = Ложь - И ДанныеФайла.Редактирует = ПользователиКлиентСервер.ТекущийПользователь() Тогда + И ДанныеФайла.Редактирует = ПользователиКлиентСервер.АвторизованныйПользователь() Тогда // Файл в рабочем каталоге для редактирования и занят текущим пользователем. ВернутьРезультат(ОбработчикРезультата, "ОткрытьСуществующий"); @@ -494,7 +494,7 @@ // ОбработчикРезультата - Процедура-обработчик асинхронного метода. // - Неопределено - Обработка не требуется. // - ОписаниеОповещения - Описание процедуры-обработчика. -// Результат - * - Значение, которое необходимо вернуть в ОбработчикРезультата. +// Результат - Произвольный - Значение, которое необходимо вернуть в ОбработчикРезультата. // Показывает текст и вызывает обработчик с заданным результатом. Процедура ВернутьРезультатПослеПоказаПредупреждения(ОбработчикРезультата, ТекстПредупреждения, Результат) Экспорт diff --git a/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиентСервер/Module.bsl b/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиентСервер/Module.bsl index 000333b54..f06ece29a 100644 --- a/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ФайловыеФункцииСлужебныйКлиентСервер/Module.bsl @@ -38,6 +38,19 @@ ИзвлеченныйТекст = ""; + Попытка + Файл = Новый Файл(ПолноеИмяФайла); + Если Не Файл.Существует() Тогда + Отказ = Истина; + Возврат ИзвлеченныйТекст; + КонецЕсли; + Исключение + Отказ = Истина; + Возврат ИзвлеченныйТекст; + КонецПопытки; + + Прекратить = Ложь; + ОбщиеНастройки = ОбщиеНастройкиРаботыСФайлами(); #Если Не ВебКлиент Тогда @@ -49,7 +62,7 @@ ОбщиеНастройки.СписокРасширенийТекстовыхФайлов, РасширениеИмениФайла); Если РасширениеФайлаВСписке Тогда - Возврат ИзвлечьТекстИзТекстовогоФайла(ПолноеИмяФайла, Кодировка); + Возврат ИзвлечьТекстИзТекстовогоФайла(ПолноеИмяФайла, Кодировка, Отказ); КонецЕсли; Попытка @@ -58,7 +71,7 @@ Исключение // Когда текст некому извлечь исключение не требуется. Это нормальный случай. ИзвлеченныйТекст = ""; - Отказ = Истина; + Прекратить = Истина; КонецПопытки; #КонецЕсли @@ -71,11 +84,15 @@ ОбщиеНастройки.СписокРасширенийФайловOpenDocument, РасширениеИмениФайла); Если РасширениеФайлаВСписке Тогда - Возврат ИзвлечьТекстOpenDocument(ПолноеИмяФайла); + Возврат ИзвлечьТекстOpenDocument(ПолноеИмяФайла, Отказ); КонецЕсли; КонецЕсли; + Если Прекратить Тогда + Отказ = Истина; + КонецЕсли; + Возврат ИзвлеченныйТекст; КонецФункции @@ -660,7 +677,7 @@ // Извлекает текст в соответствии с кодировкой. // Если кодировка не задана - сама вычисляет кодировку. // -Функция ИзвлечьТекстИзТекстовогоФайла(ПолноеИмяФайла, Кодировка) +Функция ИзвлечьТекстИзТекстовогоФайла(ПолноеИмяФайла, Кодировка, Отказ) ИзвлеченныйТекст = ""; @@ -671,8 +688,13 @@ Кодировка = Неопределено; КонецЕсли; - ЧтениеТекста = Новый ЧтениеТекста(ПолноеИмяФайла, Кодировка); - ИзвлеченныйТекст = ЧтениеТекста.Прочитать(); + Попытка + ЧтениеТекста = Новый ЧтениеТекста(ПолноеИмяФайла, Кодировка); + ИзвлеченныйТекст = ЧтениеТекста.Прочитать(); + Исключение + Отказ = Истина; + ИзвлеченныйТекст = ""; + КонецПопытки; #КонецЕсли @@ -682,7 +704,7 @@ // Извлечь текст из файла OpenDocument и возвратить его в виде строки // -Функция ИзвлечьТекстOpenDocument(ПутьКФайлу) +Функция ИзвлечьТекстOpenDocument(ПутьКФайлу, Отказ) ИзвлеченныйТекст = ""; @@ -707,6 +729,7 @@ ЧтениеXML.Закрыть(); Исключение // не считаем ошибкой, т.к. например расширение OTF может быть как OpenDocument, так и шрифт OpenType + Отказ = Истина; ИзвлеченныйТекст = ""; КонецПопытки; diff --git a/SSL/src/CommonModules/ФизическиеЛицаКлиентСервер/Module.bsl b/SSL/src/CommonModules/ФизическиеЛицаКлиентСервер/Module.bsl index 357a6bd74..3f9a75f86 100644 --- a/SSL/src/CommonModules/ФизическиеЛицаКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ФизическиеЛицаКлиентСервер/Module.bsl @@ -27,6 +27,15 @@ // Функция Просклонять(Знач ФИО, Падеж, Результат, Пол = Неопределено) Экспорт + СистемнаяИнформация = Новый СистемнаяИнформация(); + Если СистемнаяИнформация.ТипПлатформы <> ТипПлатформы.Windows_x86 + И СистемнаяИнформация.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда + + Результат = ФИО; + Возврат Ложь; + + КонецЕсли; + ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСклоненияФИО", "Decl"); Компонента = Новый("AddIn.Decl.CNameDecl"); @@ -142,6 +151,19 @@ Имя = ?(КоличествоПодстрок > 1, ФИО[1], ""); Отчество = ?(КоличествоПодстрок > 2, ФИО[2], ""); + Если КоличествоПодстрок > 3 Тогда + ДополнительныеЧастиОтчества = Новый Массив; + ДополнительныеЧастиОтчества.Добавить(НСтр("ru = 'оглы'")); + ДополнительныеЧастиОтчества.Добавить(НСтр("ru = 'улы'")); + ДополнительныеЧастиОтчества.Добавить(НСтр("ru = 'уулу'")); + ДополнительныеЧастиОтчества.Добавить(НСтр("ru = 'кызы'")); + ДополнительныеЧастиОтчества.Добавить(НСтр("ru = 'гызы'")); + + Если ДополнительныеЧастиОтчества.Найти(НРег(ФИО[3])) <> Неопределено Тогда + Отчество = Отчество + " " + ФИО[3]; + КонецЕсли; + КонецЕсли; + Возврат ?(Не ПустаяСтрока(Фамилия), Фамилия + ?(Не ПустаяСтрока(Имя), " " + Лев(Имя,1) + "." + ?(Не ПустаяСтрока(Отчество), Лев(Отчество, 1) + ".", ""), ""), ""); diff --git a/SSL/src/CommonModules/ФормаОтчетаПереопределяемый/Module.bsl b/SSL/src/CommonModules/ФормаОтчетаПереопределяемый/Module.bsl index cbb8c9cf0..8cde41435 100644 --- a/SSL/src/CommonModules/ФормаОтчетаПереопределяемый/Module.bsl +++ b/SSL/src/CommonModules/ФормаОтчетаПереопределяемый/Module.bsl @@ -20,97 +20,64 @@ КонецПроцедуры -// Вызывается в одноименном обработчике формы отчета после выполнения кода формы. +// Вызывается в форме отчета перед выводом настройки. // // Параметры: // Форма - УправляемаяФорма - Форма отчета. -// Отказ - Передается из параметров обработчика "как есть". -// СтандартнаяОбработка - Передается из параметров обработчика "как есть". +// СвойстваНастройки - Структура - Описание настройки отчета, которая будет выведена в форме отчета. +// * ОписаниеТипов - ОписаниеТипов - +// Тип настройки. +// * ЗначенияДляВыбора - СписокЗначений - +// Объекты, которые будут предложены пользователю в списке выбора. +// Дополняет список объектов, уже выбранных пользователем ранее. +// * ЗапросЗначенийВыбора - Запрос - +// Возвращает объекты, которыми необходимо дополнить ЗначенияДляВыбора. +// Первой колонкой (с 0м индексом) должен выбираться объект, +// который следует добавить в ЗначенияДляВыбора.Значение. +// Для отключения автозаполнения +// в свойство ЗапросЗначенийВыбора.Текст следует записать пустую строку. +// * ОграничиватьВыборУказаннымиЗначениями - Булево - +// Когда Истина, то выбор пользователя будет ограничен значениями, +// указанными в ЗначенияДляВыбора (его конечным состоянием). // -// См. также: -// "УправляемаяФорма.ПриСозданииНаСервере" в синтакс-помощнике. -// -Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт - - +Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт КонецПроцедуры -// Вызывается в обработчике "ПриЗагрузкеВариантаНаСервере" формы отчета до выполнения кода формы. -// -// Параметры: -// Форма - УправляемаяФорма - Форма отчета. -// НовыеНастройкиКД - НастройкиКомпоновкиДанных - Настройки для загрузки в компоновщик настроек. -// -// См. также: -// "Расширение управляемой формы для отчета.ПриЗагрузкеВариантаНаСервере" в синтакс-помощнике. -// +//////////////////////////////////////////////////////////////////////////////// +// Устаревшие процедуры и функции + +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. +Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт + +КонецПроцедуры + +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт КонецПроцедуры -// Вызывается в одноименном обработчике формы отчета после выполнения кода формы. -// -// Параметры: -// Форма - УправляемаяФорма - Форма отчета. -// НовыеНастройкиКД - НастройкиКомпоновкиДанных - Настройки для загрузки в компоновщик настроек. -// -// См. также: -// "Расширение управляемой формы для отчета.ПриЗагрузкеВариантаНаСервере" в синтакс-помощнике. -// +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура ПриЗагрузкеВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт КонецПроцедуры -// Вызывается в одноименном обработчике формы отчета после выполнения кода формы. -// -// Параметры: -// Форма - УправляемаяФорма - Форма отчета. -// НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных - -// Пользовательские настройки для загрузки в компоновщик настроек. -// -// См. также: -// "Расширение управляемой формы для отчета.ПриЗагрузкеПользовательскихНастроекНаСервере" в синтакс-помощнике. -// +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеПользовательскиеНастройкиКД) Экспорт - - КонецПроцедуры -// Вызывается до перезаполнения панели быстрых настроек. -// -// Параметры: -// Форма - УправляемаяФорма - Форма отчета. -// ПараметрыЗаполнения - Структура - Параметры, которые будут загружены в отчет. -// +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура ПередЗаполнениемПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт КонецПроцедуры -// Вызывается после перезаполнения панели быстрых настроек. -// -// Параметры: -// Форма - УправляемаяФорма - Форма отчета. -// ПараметрыЗаполнения - Структура - Параметры, которые будут загружены в отчет. -// +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт КонецПроцедуры -// Обработчик контекстного вызова сервера. -// Позволяет выполнить контекстный вызов сервера когда это требуется из клиентского общего модуля. -// Например, из ФормаОтчетаКлиентПереопределяемый.ОбработчикКоманды(). -// -// Параметры: -// Форма - УправляемаяФорма -// Ключ - Строка - Ключ операции, которую необходимо выполнить в контекстном вызове. -// Параметры - Структура - Параметры вызова сервера. -// Результат - Структура - Результат работы сервера, возвращается на клиент. -// -// См. также: -// ОбщаяФорма.ФормаОтчета.ВыполнитьКонтекстныйВызовСервера(). -// +// Устарела: следует использовать аналогичную процедуру в модуле объекта отчета. Процедура КонтекстныйВызовСервера(Форма, Ключ, Параметры, Результат) Экспорт КонецПроцедуры diff --git a/SSL/src/CommonModules/ФункцииОтчетовКлиентСервер/Module.bsl b/SSL/src/CommonModules/ФункцииОтчетовКлиентСервер/Module.bsl index 85d887147..a9969f9a1 100644 --- a/SSL/src/CommonModules/ФункцииОтчетовКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ФункцииОтчетовКлиентСервер/Module.bsl @@ -5,28 +5,196 @@ #Область ПрограммныйИнтерфейс -// Формирует настройки отчета по умолчанию. +// Настройки формы отчета по умолчанию. // // Возвращаемое значение: -// Настройки - Структура - Настройки отчета. -// * СоответствиеПериодичностиПараметров - Соответствие - Настройки полей ввода периодов. -// ** Ключ - ПараметрКомпоновкиДанных - Параметр отчета. -// ** Значение - ПеречислениеСсылка.ДоступныеПериодыОтчета - Доступный период. -// * ПараметрыПечатиПоУмолчанию - Структура - Параметры печати табличного документа "по умолчанию". +// Структура - Настройки формы отчета. +// +// * ФормироватьСразу - Булево - Значение по умолчанию для флажка "Формировать сразу". +// Когда флажок включен, то отчет будет формироваться: +// - После открытия; +// - После выбора пользовательских настроек; +// - После выбора другого варианта отчета. +// +// * ВыводитьСуммуВыделенныхЯчеек - Булево - Если Истина, то в отчете будет выводиться поле автосуммы. +// +// * СоответствиеПериодичностиПараметров - Соответствие - Ограничение списка выбора полей "СтандартныйПериод". +// ** Ключ - ПараметрКомпоновкиДанных - Имя параметра отчета, к которому применятся ограничение. +// ** Значение - ПеречислениеСсылка.ДоступныеПериодыОтчета - Ограничение периода отчета "снизу". +// +// * Печать - Структура - Параметры печати табличного документа "по умолчанию". +// ** ПолеСверху - Число - Отступ сверху при печати (в миллиметрах). +// ** ПолеСлева - Число - Отступ слева при печати (в миллиметрах). +// ** ПолеСнизу - Число - Отступ снизу при печати (в миллиметрах). +// ** ПолеСправа - Число - Отступ справа при печати (в миллиметрах). +// ** ОриентацияСтраницы - ОриентацияСтраницы - "Портрет" или "Ландшафт". +// ** АвтоМасштаб - Булево - Автоматически подгонять масштаб под размер страницы. +// ** МасштабПечати - Число - Масштаб изображения (в процентах). +// +// * События - Структура - События, для которых определены обработчики в модуле объекта отчета. +// +// ** ПриСозданииНаСервере - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // Отказ - Передается из параметров обработчика "как есть". +// // СтандартнаяОбработка - Передается из параметров обработчика "как есть". +// // +// // См. также: +// // "УправляемаяФорма.ПриСозданииНаСервере" в синтакс-помощнике. +// // +// Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПередЗагрузкойВариантаНаСервере - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // НовыеНастройкиКД - НастройкиКомпоновкиДанных - Настройки для загрузки в компоновщик настроек. +// // +// // См. также: +// // "Расширение управляемой формы для отчета.ПриЗагрузкеВариантаНаСервере" в синтакс-помощнике. +// // +// Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПриЗагрузкеВариантаНаСервере - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // НовыеНастройкиКД - НастройкиКомпоновкиДанных - Настройки для загрузки в компоновщик настроек. +// // +// // См. также: +// // "Расширение управляемой формы для отчета.ПриЗагрузкеВариантаНаСервере" в синтакс-помощнике. +// // +// Процедура ПриЗагрузкеВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПриЗагрузкеПользовательскихНастроекНаСервере - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // НовыеПользовательскиеНастройкиКД - ПользовательскиеНастройкиКомпоновкиДанных - +// // Пользовательские настройки для загрузки в компоновщик настроек. +// // +// // См. также: +// // "Расширение управляемой формы для отчета.ПриЗагрузкеПользовательскихНастроекНаСервере" в синтакс-помощнике. +// // +// Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Форма, НовыеПользовательскиеНастройкиКД) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПередЗаполнениемПанелиБыстрыхНастроек - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается до перезаполнения панели настроек формы отчета. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // ПараметрыЗаполнения - Структура - Параметры, которые будут загружены в отчет. +// // +// Процедура ПередЗаполнениемПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПослеЗаполненияПанелиБыстрыхНастроек - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается после перезаполнения панели настроек формы отчета. +// // +// // Параметры: +// // Форма - УправляемаяФорма - Форма отчета. +// // ПараметрыЗаполнения - Структура - Параметры, которые будут загружены в отчет. +// // +// Процедура ПослеЗаполненияПанелиБыстрыхНастроек(Форма, ПараметрыЗаполнения) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** КонтекстныйВызовСервера - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Обработчик контекстного вызова сервера. +// // Позволяет выполнить контекстный вызов сервера когда это требуется из клиентского общего модуля. +// // Например, из ФормаОтчетаКлиентПереопределяемый.ОбработчикКоманды(). +// // +// // Параметры: +// // Форма - УправляемаяФорма +// // Ключ - Строка - Ключ операции, которую необходимо выполнить в контекстном вызове. +// // Параметры - Структура - Параметры вызова сервера. +// // Результат - Структура - Результат работы сервера, возвращается на клиент. +// // +// // См. также: +// // ОбщаяФорма.ФормаОтчета.ВыполнитьКонтекстныйВызовСервера(). +// // +// Процедура КонтекстныйВызовСервера(Форма, Ключ, Параметры, Результат) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ПриОпределенииПараметровВыбора - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Вызывается в форме отчета перед выводом настройки. +// // Подробнее - см. ФормаОтчетаПереопределяемый.ПриОпределенииПараметровВыбора() +// // +// Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт +// // Обработка события. +// КонецПроцедуры +// +// ** ДополнитьСвязиОбъектовМетаданных - Булево - Если Истина, то в модуле объекта отчета +// следует определить обработчик события по шаблону: +// +// // Дополнительные связи настроек этого отчета. +// // Подробнее - см. ФормаОтчетаПереопределяемый.ДополнитьСвязиОбъектовМетаданных() +// // +// Процедура ДополнитьСвязиОбъектовМетаданных(СвязиОбъектовМетаданных) Экспорт +// // Обработка события. +// КонецПроцедуры // Функция ПолучитьНастройкиОтчетаПоУмолчанию() Экспорт + Печать = Новый Структура; + Печать.Вставить("ПолеСверху", 10); + Печать.Вставить("ПолеСлева", 10); + Печать.Вставить("ПолеСнизу", 10); + Печать.Вставить("ПолеСправа", 10); + Печать.Вставить("ОриентацияСтраницы", ОриентацияСтраницы.Портрет); + Печать.Вставить("АвтоМасштаб", Истина); + Печать.Вставить("МасштабПечати", Неопределено); + + События = Новый Структура; + События.Вставить("ПриСозданииНаСервере", Ложь); + События.Вставить("ПередЗагрузкойВариантаНаСервере", Ложь); + События.Вставить("ПриЗагрузкеВариантаНаСервере", Ложь); + События.Вставить("ПриЗагрузкеПользовательскихНастроекНаСервере", Ложь); + События.Вставить("ПередЗаполнениемПанелиБыстрыхНастроек", Ложь); + События.Вставить("ПослеЗаполненияПанелиБыстрыхНастроек", Ложь); + События.Вставить("КонтекстныйВызовСервера", Ложь); + События.Вставить("ПриОпределенииПараметровВыбора", Ложь); + События.Вставить("ДополнитьСвязиОбъектовМетаданных", Ложь); Настройки = Новый Структура; - Настройки.Вставить("СоответствиеПериодичностиПараметров", Новый Соответствие); - Настройки.Вставить("ПараметрыПечатиПоУмолчанию", Новый Структура); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("ПолеСверху", 10); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("ПолеСлева", 10); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("ПолеСнизу", 10); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("ПолеСправа", 10); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("ОриентацияСтраницы", ОриентацияСтраницы.Портрет); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("АвтоМасштаб", Истина); - Настройки.ПараметрыПечатиПоУмолчанию.Вставить("МасштабПечати", Неопределено); + Настройки.Вставить("ФормироватьСразу", Ложь); Настройки.Вставить("ВыводитьСуммуВыделенныхЯчеек", Истина); + Настройки.Вставить("СоответствиеПериодичностиПараметров", Новый Соответствие); + Настройки.Вставить("Печать", Печать); + Настройки.Вставить("События", События); + + // Устарели: + Настройки.Вставить("ПараметрыПечатиПоУмолчанию", Печать); // См. Настройки.Печать. Возврат Настройки; @@ -236,7 +404,10 @@ // Настройки - НастройкиКомпоновкиДанных - Коллекции настроек. // ИдентификаторПользовательскойНастройки - Строка - // -Функция ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки, ИдентификаторПользовательскойНастройки) Экспорт +Функция ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки, ИдентификаторПользовательскойНастройки, Иерархия = Неопределено) Экспорт + Если Иерархия <> Неопределено Тогда + Иерархия.Добавить(Настройки); + КонецЕсли; ТипНастройки = ТипЗнч(Настройки); @@ -248,19 +419,23 @@ ИначеЕсли ТипНастройки = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда - Возврат ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Настройки, ИдентификаторПользовательскойНастройки); + Возврат ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Настройки, ИдентификаторПользовательскойНастройки, Иерархия); ИначеЕсли ТипНастройки = Тип("КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных") ИЛИ ТипНастройки = Тип("КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных") ИЛИ ТипНастройки = Тип("КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных") Тогда Для Каждого ВложенныйЭлемент Из Настройки Цикл - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(ВложенныйЭлемент, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(ВложенныйЭлемент, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; КонецЦикла; + Если Иерархия <> Неопределено Тогда + Иерархия.Удалить(Иерархия.ВГраница()); + КонецЕсли; + Возврат Неопределено; КонецЕсли; @@ -302,37 +477,41 @@ Если ТипНастройки = Тип("ТаблицаКомпоновкиДанных") Тогда - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Строки, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Строки, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Колонки, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Колонки, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; ИначеЕсли ТипНастройки = Тип("ДиаграммаКомпоновкиДанных") Тогда - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Точки, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Точки, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Серии, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Серии, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; Иначе - РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Структура, ИдентификаторПользовательскойНастройки); + РезультатПоиска = ПолучитьОбъектПоПользовательскомуИдентификатору(Настройки.Структура, ИдентификаторПользовательскойНастройки, Иерархия); Если РезультатПоиска <> Неопределено Тогда Возврат РезультатПоиска; КонецЕсли; КонецЕсли; + Если Иерархия <> Неопределено Тогда + Иерархия.Удалить(Иерархия.ВГраница()); + КонецЕсли; + Возврат Неопределено; КонецФункции diff --git a/SSL/src/CommonModules/ЭлектроннаяПодпись/Module.bsl b/SSL/src/CommonModules/ЭлектроннаяПодпись/Module.bsl index 9f4de72df..e960d0fe0 100644 --- a/SSL/src/CommonModules/ЭлектроннаяПодпись/Module.bsl +++ b/SSL/src/CommonModules/ЭлектроннаяПодпись/Module.bsl @@ -8,19 +8,21 @@ // Удаляет записи из табличной части ЭП // // Параметры -// ТаблицаВыделенныеСтроки - ТаблицаЗначений - таблица, содержащая данные - ссылка на объект и номер строки в его табличной части -// РеквизитПодписанИзменен - Булево - возвращаемое значение - если удалена последняя подпись, -// РеквизитПодписанИзменен примет значение Истина -// КоличествоПодписей - Число - количество подписей в объекте после удаления -// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы +// ОбъектСсылка - ЛюбаяСсылка - Объект, для которого следует удалить записи. +// ТаблицаВыделенныеСтроки - ТаблицаЗначений - Набор строк объекта, для которых следует удалить подписи. +// * НомерСтроки - Число - Номер строки таблицы. +// РеквизитПодписанИзменен - Булево - (возвращаемое значение) примет значение Истина если удалена последняя подпись. +// КоличествоПодписей - Число - Количество подписей в объекте после удаления. +// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор формы. +// Процедура УдалитьПодписи(ОбъектСсылка, ТаблицаВыделенныеСтроки, РеквизитПодписанИзменен, КоличествоПодписей, УникальныйИдентификатор = Неопределено) Экспорт РеквизитПодписанИзменен = Ложь; - + // Сортировка по убыванию номера строки - вначале будут последние строки - ТаблицаВыделенныеСтроки.Сортировать("НомерСтроки Убыв"); - + ТаблицаВыделенныеСтроки.Сортировать("НомерСтроки Убыв"); + ПодписанныйОбъект = ОбъектСсылка.ПолучитьОбъект(); ЗаблокироватьДанныеДляРедактирования(ОбъектСсылка, , УникальныйИдентификатор); @@ -40,12 +42,12 @@ КонецПроцедуры // Проверяет действительность подписи и корректность сертификата, -// генерируя исключительную ситуацию в случае неудачи. +// генерируя исключительную ситуацию в случае неудачи. // // Параметры: -// МенеджерКриптографии - МенеджерКриптографии - Менеджер криптографии. -// ДвоичныеДанныеФайла - ДвоичныеДанные - Файл для проверки. -// ДвоичныеДанныеПодписи - ДвоичныеДанные - Подпись. +// МенеджерКриптографии - МенеджерКриптографии - Менеджер криптографии. +// ДвоичныеДанныеФайла - ДвоичныеДанные - Файл для проверки. +// ДвоичныеДанныеПодписи - ДвоичныеДанные - Подпись. // Процедура ПроверитьПодпись(МенеджерКриптографии, ДвоичныеДанныеФайла, ДвоичныеДанныеПодписи) Экспорт @@ -90,9 +92,8 @@ // Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. // // Параметры: -// Обработчики - ТаблицаЗначений - см. описание функции НоваяТаблицаОбработчиковОбновления -// общего модуля ОбновлениеИнформационнойБазы. -// +// Обработчики - ТаблицаЗначений - см. ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления(). +// Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт Обработчик = Обработчики.Добавить(); @@ -106,10 +107,11 @@ КонецПроцедуры // Заполняет переименования тех объектов метаданных, которые невозможно -// автоматически найти по типу, но ссылки на которые требуется сохранять -// в базе данных (например: подсистемы, роли). +// автоматически найти по типу, но ссылки на которые требуется сохранять +// в базе данных (например: подсистемы, роли). // -// Подробнее: см. ОбщегоНазначения.ДобавитьПереименование(). +// См. также: +// ОбщегоНазначения.ДобавитьПереименование(). // Процедура ПриДобавленииПереименованийОбъектовМетаданных(Итог) Экспорт @@ -125,11 +127,10 @@ КонецПроцедуры -// Заполняет структуру параметров, необходимых для работы клиентского кода -// конфигурации. +// Определяет параметры работы клиента. // // Параметры: -// Параметры - Структура - структура параметров. +// Параметры - Структура - Все параметры работы клиента. // Процедура ПриДобавленииПараметровРаботыКлиентскойЛогикиСтандартныхПодсистем(Параметры) Экспорт @@ -150,16 +151,16 @@ // Заносит информацию о подписи объекта // // Параметры -// ПодписываемыйОбъектСсылка - любая ссылка / объект - в табличную часть которого будет занесена информация о ЭП -// в случае если ссылка - будет получен объект, блокировка, запись в ИБ -// в случае объекта за блокировку и запись отвечает вызывающий код -// НоваяПодписьДвоичныеДанные - ДвоичныеДанные - двоичные данные подписи -// Отпечаток - Строка - Base64 закодированная строка с отпечатком сертификата подписавшего -// ДатаПодписи - Дата - дата подписи -// Комментарий - Строка - комментарий подписи -// ИмяФайлаПодписи - Строка - имя файла подписи (не пусто только в случае если подпись добавлена из файла) -// КомуВыданСертификат - Строка - представление поля КомуВыдан сертификата -// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы +// ПодписываемыйОбъектСсылка - Произвольный - Объект, в табличную часть которого будет занесена информация о ЭП. +// - ЛюбаяСсылка - Будет получен объект, блокировка, запись в ИБ. +// - ЛюбойОбъект - За блокировку и запись отвечает вызывающий код. +// НоваяПодписьДвоичныеДанные - ДвоичныеДанные - Двоичные данные подписи. +// Отпечаток - Строка - Base64 закодированная строка с отпечатком сертификата подписавшего. +// ДатаПодписи - Дата - Дата подписи. +// Комментарий - Строка - Комментарий подписи. +// ИмяФайлаПодписи - Строка - Имя файла подписи (заполняется только если подпись добавлена из файла). +// КомуВыданСертификат - Строка - Представление поля КомуВыдан сертификата. +// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор формы. // Процедура ЗанестиИнформациюОПодписи( ПодписываемыйОбъектСсылка, @@ -181,7 +182,7 @@ Если ДатаПодписи = Дата('00010101') Тогда ДатаПодписи = ТекущаяДатаСеанса(); - КонецЕсли; + КонецЕсли; НоваяЗапись = ПодписываемыйОбъект.ЭлектронныеПодписи.Добавить(); @@ -205,13 +206,14 @@ КонецПроцедуры -// Возвращает количество подписей у данного объекта +// Возвращает количество подписей у данного объекта. // // Параметры -// ОбъектСсылка - ЛюбаяСсылка - ссылка на объект, в табличной части которого содержатся подписи +// ОбъектСсылка - ЛюбаяСсылка - Ссылка на объект, в табличной части которого содержатся подписи. // // Возвращаемое значение: -// Число - количество подписей +// Число - количество подписей +// Функция КоличествоПодписей(ОбъектСсылка) Экспорт УстановитьПривилегированныйРежим(Истина); @@ -222,7 +224,7 @@ |ИЗ | "; - Запрос.Текст = Запрос.Текст + ОбщегоНазначения.ИмяТаблицыПоСсылке(ОбъектСсылка); + Запрос.Текст = Запрос.Текст + ОбщегоНазначения.ИмяТаблицыПоСсылке(ОбъектСсылка); Запрос.Текст = Запрос.Текст + ".ЭлектронныеПодписи КАК ЭлектронныеПодписи |ГДЕ | ЭлектронныеПодписи.Ссылка = &ОбъектСсылка"; @@ -245,16 +247,16 @@ // Возвращаемое значение: // Структура - Персональные настройки для работы с электронной подписью. // * ДействияПриСохраненииСЭП - Строка - Что делать при сохранении файлов с электронной подписью: -// ** "Спрашивать" - -// ** "СохранятьВсеПодписи" - -// * ПутьМодуляКриптографии - Строка - -// * РасширениеДляФайловПодписи - Строка - -// * РасширениеДляЗашифрованныхФайлов - Строка - -// * ОтпечатокЛичногоСертификатаДляШифрования - Строка - +// ** "Спрашивать" - Показывать диалог выбора подписей для сохранения. +// ** "СохранятьВсеПодписи" - Всегда все подписи. +// * ПутьМодуляКриптографии - Строка - Путь модуля. +// * РасширениеДляФайловПодписи - Строка - Расширение для файлов ЭП. +// * РасширениеДляЗашифрованныхФайлов - Строка - Расширение для зашифрованных файлов. +// * ОтпечатокЛичногоСертификатаДляШифрования - Строка - Отпечаток личного сертификата. // // См. также: // ЭлектроннаяПодписьКлиентСервер.ПерсональныеНастройки() - программный интерфейс для получения. -// ОбщаяФорма.ПерсональныеНастройкиЭП - место определения данных параметров и их текстовые описания. +// ОбщаяФорма.ПерсональныеНастройкиЭП - место ввода данных параметров и их пользовательские представления. // Функция ПерсональныеНастройки(ТолькоЗначенияПоУмолчанию = Ложь) Экспорт ПерсональныеНастройки = Новый Структура; @@ -295,12 +297,12 @@ // // Возвращаемое значение: // Структура - Общие настройки подсистемы для работы с электронной подписью. -// * ПровайдерЭП - Строка - -// * ТипПровайдераЭП - Число - -// * ВыполнятьПроверкуЭПНаСервере - Булево - -// * АлгоритмПодписи - Строка - -// * АлгоритмХеширования - Строка - -// * АлгоритмШифрования - Строка - +// * ПровайдерЭП - Строка - Имя провайдера ЭП. +// * ТипПровайдераЭП - Число - Тип провайдера. +// * ВыполнятьПроверкуЭПНаСервере - Булево - Если Истина то ЭП проверяется на сервере. +// * АлгоритмПодписи - Строка - Имя алгоритма подписи. +// * АлгоритмХеширования - Строка - Имя алгоритма хеширования. +// * АлгоритмШифрования - Строка - Имя алгоритма шифрования. // // См. также: // ЭлектроннаяПодписьКлиентСервер.ОбщиеНастройки() - единая точка входа. @@ -334,12 +336,16 @@ КонецФункции -// Преобразует назначения сертификатов в дружественный вид +// Преобразует назначения сертификатов в дружественный вид. +// // Параметры -// Назначение - Строка - назначение сертификата вида "TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)" -// НовоеНазначение - Строка - удобное для понимания назначение сертификата вида "Проверка подлинности клиента" -// ДобавлятьКодНазначения - Булево - надо ли добавлять к назначению код назначения -// (например 1.3.6.1.5.5.7.3.2, чтобы получилось "Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)") +// Назначение - Строка - Имя назначения сертификата. +// Например: "TLS Web Client Authentication (1.3.6.1.5.5.7.3.2)". +// НовоеНазначение - Строка - Возвращаемое значение. Представление назначения сертификата. +// Например: "Проверка подлинности клиента". +// ДобавлятьКодНазначения - Булево - Надо ли добавлять код к представлению. +// Если Истина то НовоеНазначение может быть таким: "Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)". +// Процедура ЗаполнитьНазначениеСертификата(Назначение, НовоеНазначение, ДобавлятьКодНазначения = Ложь) Экспорт УстановитьПривилегированныйРежим(Истина); @@ -347,7 +353,7 @@ Для Индекс = 1 По СтрЧислоСтрок(Назначение) Цикл - Строка = СтрПолучитьСтроку(Назначение, Индекс); + Строка = СтрПолучитьСтроку(Назначение, Индекс); Представление = Назначение; Код = ""; @@ -360,45 +366,50 @@ СпрСсылка = Справочники.НазначенияСертификатовЭП.НайтиПоКоду(Код); Если СпрСсылка <> Неопределено И НЕ СпрСсылка.Пустая() Тогда Представление = СпрСсылка.Наименование; - КонецЕсли; + КонецЕсли; Если ДобавлятьКодНазначения Тогда Представление = Представление + " (" + Код + ")"; КонецЕсли; - КонецЕсли; + КонецЕсли; НовоеНазначение = НовоеНазначение + Представление; НовоеНазначение = НовоеНазначение + Символы.ПС; - КонецЦикла; + КонецЦикла; КонецПроцедуры -// Получает все подписи файла +// Подписи объекта. // // Параметры -// СсылкаНаОбъект - СправочникСсылка - ссылка объект, в табличной части которого содержатся подписи -// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы +// СсылкаНаОбъект - СправочникСсылка - Объект, в табличной части которого содержатся подписи. +// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор формы. // // Возвращаемое значение: -// МассивВозврата - Массив - массив структур с возвращаемыми значениями +// Массив - Подписи объекта. +// * Структура - Подпись объекта. +// ** АдресПодписи - Строка - Адрес подписи во временном хранилище. +// ** КомуВыданСертификат - Строка - Кому выдан сертификат (имя, отдел и др. информация). +// ** ИмяФайлаПодписи - Строка - Имя файла подписи (служебное поле). // Функция ПолучитьВсеПодписи(СсылкаНаОбъект, УникальныйИдентификатор) Экспорт - МассивВозврата = Новый Массив; + Результат = Новый Массив; //ВерсияСсылка = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ФайлСсылка, "ТекущаяВерсия"); ПолноеИмяОбъектаСЭП = СсылкаНаОбъект.Метаданные().ПолноеИмя(); - ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ - | ЭлектронныеПодписи.КомуВыданСертификат КАК КомуВыданСертификат, - | ЭлектронныеПодписи.Подпись КАК Подпись, - | ЭлектронныеПодписи.ИмяФайлаПодписи КАК ИмяФайлаПодписи - |ИЗ - | [ПолноеИмяОбъектаСЭП].ЭлектронныеПодписи КАК ЭлектронныеПодписи - |ГДЕ - | ЭлектронныеПодписи.Ссылка = &СсылкаНаОбъект"; + ТекстЗапроса = + "ВЫБРАТЬ РАЗРЕШЕННЫЕ + | ЭлектронныеПодписи.КомуВыданСертификат КАК КомуВыданСертификат, + | ЭлектронныеПодписи.Подпись КАК Подпись, + | ЭлектронныеПодписи.ИмяФайлаПодписи КАК ИмяФайлаПодписи + |ИЗ + | [ПолноеИмяОбъектаСЭП].ЭлектронныеПодписи КАК ЭлектронныеПодписи + |ГДЕ + | ЭлектронныеПодписи.Ссылка = &СсылкаНаОбъект"; ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ПолноеИмяОбъектаСЭП]", ПолноеИмяОбъектаСЭП); @@ -409,38 +420,42 @@ ВыборкаЗапроса = Запрос.Выполнить().Выбрать(); Пока ВыборкаЗапроса.Следующий() Цикл + ДвоичныеДанные = ВыборкаЗапроса.Подпись.Получить(); АдресПодписи = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор); - СтруктураВозврата = Новый Структура("АдресПодписи, КомуВыданСертификат, ИмяФайлаПодписи", - АдресПодписи, - ВыборкаЗапроса.КомуВыданСертификат, - ВыборкаЗапроса.ИмяФайлаПодписи); - МассивВозврата.Добавить(СтруктураВозврата); + + Подпись = Новый Структура; + Подпись.Вставить("АдресПодписи", АдресПодписи); + Подпись.Вставить("КомуВыданСертификат", ВыборкаЗапроса.КомуВыданСертификат); + Подпись.Вставить("ИмяФайлаПодписи", ВыборкаЗапроса.ИмяФайлаПодписи); + + Результат.Добавить(Подпись); + КонецЦикла; - Возврат МассивВозврата; + Возврат Результат; КонецФункции -// Возвращает структуру файла подписи +// Извлекает сертификаты из данных подписи. // -// Параметры -// Подпись - ДвоичныеДанные - файл подписи. +// Параметры: +// Подпись - ДвоичныеДанные - Файл подписи. // -// Возвращаемое значение -// Структура: -// Отпечаток - Строка -// КомуВыданСертификат - Строка -// ДвоичныеДанныеСертификата - ДвоичныеДанные -// Подпись - ХранилищеЗначения -// Сертификат - ХранилищеЗначения +// Возвращаемое значение: +// Неопределено - Если при разборе возникла ошибка. +// Структура - Данные подписи +// * Отпечаток - Строка +// * КомуВыданСертификат - Строка +// * ДвоичныеДанныеСертификата - ДвоичныеДанные +// * Подпись - ХранилищеЗначения +// * Сертификат - ХранилищеЗначения // -// При возникновении ошибок разбора подписи возвращает Неопределено. Функция ПрочитатьДанныеПодписи(Подпись) Экспорт Результат = Неопределено; - МенеджерКриптографии = СоздатьМенеджерКриптографии(); + МенеджерКриптографии = ПолучитьМенеджерКриптографии(); Если МенеджерКриптографии = Неопределено Тогда Возврат Результат; КонецЕсли; @@ -465,11 +480,12 @@ Возврат Результат; КонецФункции -// Удаляет одну запись из табл части ЭП +// Удаляет строку табличной части ЭП. +// +// Параметры: +// ПодписываемыйОбъект - СправочникОбъект - Подписываемый объект. +// ДанныеПодписи - Структура - Данные для поиска объекта и строки в его табличной части. // -// Параметры -// ПодписываемыйОбъект - СправочникОбъект - подписываемый объект -// ДанныеПодписи - Структура - данные для поиска объекта и строки в его табличной части Процедура УдалитьПодпись(ПодписанныйОбъект, ДанныеПодписи) НомерСтроки = ДанныеПодписи.НомерСтроки; @@ -480,8 +496,8 @@ Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда Если СтрокаТабличнойЧасти.УстановившийПодпись <> Пользователи.ТекущийПользователь() Тогда ВызватьИсключение НСтр("ru = 'Недостаточно прав на удаление подписи.'"); - КонецЕсли; - КонецЕсли; + КонецЕсли; + КонецЕсли; ПодписанныйОбъект.ЭлектронныеПодписи.Удалить(СтрокаТабличнойЧасти); Иначе @@ -491,7 +507,7 @@ КонецПроцедуры // Получает менеджер на основе общих настроек криптографии. -Функция СоздатьМенеджерКриптографии() +Функция ПолучитьМенеджерКриптографии() Экспорт ОбщиеНастройки = ОбщиеНастройки(); @@ -499,11 +515,12 @@ Возврат Неопределено; КонецЕсли; + ПровайдерЭП = ОбщиеНастройки.ПровайдерЭП; + ТипПровайдераЭП = ОбщиеНастройки.ТипПровайдераЭП; + ПутьМодуляКриптографии = ОбщиеНастройки.ПутьМодуляКриптографииСервера; + Попытка - МенеджерКриптографии = Новый МенеджерКриптографии( - ОбщиеНастройки.ПровайдерЭП, - ОбщиеНастройки.ПутьМодуляКриптографииСервера, - ОбщиеНастройки.ТипПровайдераЭП); + МенеджерКриптографии = Новый МенеджерКриптографии(ПровайдерЭП, ПутьМодуляКриптографии, ТипПровайдераЭП); Исключение ТекстОшибки = НСтр("ru = 'Ошибка при создании менеджера криптографии на сервере:'") + Символы.ПС @@ -546,15 +563,15 @@ УстановитьПривилегированныйРежим(Истина); МакетУдаленный = Справочники.НазначенияСертификатовЭП.ПолучитьМакет("УдалитьНазначенияСертификатов"); - ТабЗначенийУдаленный = ОбщегоНазначения.ПрочитатьXMLВТаблицу(МакетУдаленный.ПолучитьТекст()).Данные; + ТаблицаЗначенийУдаленный = ОбщегоНазначения.ПрочитатьXMLВТаблицу(МакетУдаленный.ПолучитьТекст()).Данные; Макет = Справочники.НазначенияСертификатовЭП.ПолучитьМакет("НазначенияСертификатов"); - ТабЗначений = ОбщегоНазначения.ПрочитатьXMLВТаблицу(Макет.ПолучитьТекст()).Данные; + ТаблицаЗначений = ОбщегоНазначения.ПрочитатьXMLВТаблицу(Макет.ПолучитьТекст()).Данные; НачатьТранзакцию(); Попытка - Для Каждого Запись Из ТабЗначенийУдаленный Цикл + Для Каждого Запись Из ТаблицаЗначенийУдаленный Цикл СпрСсылка = Справочники.НазначенияСертификатовЭП.НайтиПоКоду(Запись.Code); Если СпрСсылка <> Неопределено И НЕ СпрСсылка.Пустая() Тогда @@ -566,7 +583,7 @@ КонецЦикла; - Для Каждого Запись Из ТабЗначений Цикл + Для Каждого Запись Из ТаблицаЗначений Цикл СпрСсылка = Справочники.НазначенияСертификатовЭП.НайтиПоКоду(Запись.Code); Если СпрСсылка = Неопределено ИЛИ СпрСсылка.Пустая() Тогда @@ -591,12 +608,12 @@ УстановитьПривилегированныйРежим(Истина); Макет = Справочники.НазначенияСертификатовЭП.ПолучитьМакет("НазначенияСертификатов"); - ТабЗначений = ОбщегоНазначения.ПрочитатьXMLВТаблицу(Макет.ПолучитьТекст()).Данные; + ТаблицаЗначений = ОбщегоНазначения.ПрочитатьXMLВТаблицу(Макет.ПолучитьТекст()).Данные; НачатьТранзакцию(); Попытка - Для Каждого Запись Из ТабЗначений Цикл + Для Каждого Запись Из ТаблицаЗначений Цикл СпрСсылка = Справочники.НазначенияСертификатовЭП.НайтиПоКоду(Запись.Code); Если СпрСсылка = Неопределено ИЛИ СпрСсылка.Пустая() Тогда @@ -614,6 +631,6 @@ ВызватьИсключение; КонецПопытки; -КонецПроцедуры +КонецПроцедуры #КонецОбласти diff --git a/SSL/src/CommonModules/ЭлектроннаяПодписьКлиент/Module.bsl b/SSL/src/CommonModules/ЭлектроннаяПодписьКлиент/Module.bsl index 78ff72031..78b6fe2c8 100644 --- a/SSL/src/CommonModules/ЭлектроннаяПодписьКлиент/Module.bsl +++ b/SSL/src/CommonModules/ЭлектроннаяПодписьКлиент/Module.bsl @@ -5,16 +5,17 @@ #Область ПрограммныйИнтерфейс -// Формирует данные подписи объекта +// Данные подписи объекта. // -// Параметры -// МенеджерКриптографии - МенеджерКриптографии - менеджер криптографии -// ОбъектДляПодписиСсылка - любая ссылка - ссылка на подписываемый объект -// ДвоичныеДанные - ДвоичныеДанные - двоичные данные подписи -// СтруктураПараметровПодписи - Структура - информация о подписи - выбранный сертификат, пароль, комментарий +// Параметры: +// МенеджерКриптографии - МенеджерКриптографии - менеджер криптографии +// ОбъектДляПодписиСсылка - ЛюбаяСсылка - Подписываемый объект. +// ДвоичныеДанные - ДвоичныеДанные - двоичные данные подписи +// СтруктураПараметровПодписи - Структура - информация о подписи - выбранный сертификат, пароль, комментарий // // Возвращаемое значение: -// Структура - данные для занесения в табличную часть ЭП +// Структура - Данные подписи для записи в табличную часть. +// Функция СформироватьДанныеПодписи( МенеджерКриптографии, ОбъектДляПодписиСсылка, @@ -30,27 +31,28 @@ КомуВыданСертификат = ЭлектроннаяПодписьКлиентСервер.ПолучитьПредставлениеПользователя(СтруктураПараметровПодписи.Сертификат.Субъект); ДвоичныеДанныеСертификата = СтруктураПараметровПодписи.Сертификат.Выгрузить(); - ДанныеПодписи = Новый Структура("ОбъектСсылка, НоваяПодписьДвоичныеДанные, Отпечаток, ДатаПодписи, Комментарий, ИмяФайлаПодписи, КомуВыданСертификат, АдресФайла, ДвоичныеДанныеСертификата", - ОбъектДляПодписиСсылка, - НоваяПодписьДвоичныеДанные, - Отпечаток, - ДатаПодписи, - СтруктураПараметровПодписи.Комментарий, - "", // ИмяФайлаПодписи - КомуВыданСертификат, - "", // АдресФайла - ДвоичныеДанныеСертификата); - + ДанныеПодписи = Новый Структура; + ДанныеПодписи.Вставить("ОбъектСсылка", ОбъектДляПодписиСсылка); + ДанныеПодписи.Вставить("НоваяПодписьДвоичныеДанные", НоваяПодписьДвоичныеДанные); + ДанныеПодписи.Вставить("Отпечаток", Отпечаток); + ДанныеПодписи.Вставить("ДатаПодписи", ДатаПодписи); + ДанныеПодписи.Вставить("Комментарий", СтруктураПараметровПодписи.Комментарий); + ДанныеПодписи.Вставить("ИмяФайлаПодписи", ""); + ДанныеПодписи.Вставить("КомуВыданСертификат", КомуВыданСертификат); + ДанныеПодписи.Вставить("АдресФайла", ""); + ДанныеПодписи.Вставить("ДвоичныеДанныеСертификата", ДвоичныеДанныеСертификата); + Возврат ДанныеПодписи; КонецФункции -// Проверяет подпись. В случае ошибки бросает исключение +// Проверяет подпись. В случае ошибки бросает исключение. +// +// Параметры: +// МенеджерКриптографии - МенеджерКриптографии - Менеджер криптографии. +// ДвоичныеДанныеФайла - Двоичные данные файла. +// ДвоичныеДанныеПодписи - Двоичные данные подписи. // -// Параметры -// МенеджерКриптографии - МенеджерКриптографии - менеджер криптографии -// ДвоичныеДанныеФайла - двоичные данные файла -// ДвоичныеДанныеПодписи - двоичные данные подписи Процедура ПроверитьПодпись(МенеджерКриптографии, ДвоичныеДанныеФайла, ДвоичныеДанныеПодписи) Экспорт Сертификат = Неопределено; @@ -83,11 +85,10 @@ // ТекстВопроса - Строка - Текст вопроса. // ЗаголовокВопроса - Строка - Заголовок вопроса. // -// Значение первого параметра, возвращаемого в обработчик вызывающего кода: -// РасширениеУстановлено -// * Истина - Пользователь подтвердил установку, после установки расширение было успешно подключено. -// * Ложь - Пользователь подтвердил установку, однако после установки расширение не удалось подключить. -// * Неопределено - Пользователь отказался от установки. +// Возвращаемое значение: +// Истина - Пользователь подтвердил установку, после установки расширение было успешно подключено. +// Ложь - Пользователь подтвердил установку, однако после установки расширение не удалось подключить. +// Неопределено - Пользователь отказался от установки. // Процедура УстановитьРасширение(ОбработчикРезультата, ТекстВопроса = "", ЗаголовокВопроса = "") Экспорт @@ -124,8 +125,9 @@ // По окончании подписания нотифицирует о подписании // -// Параметры -// ОбъектСсылка - любая ссылка - объект, в табличную часть которого будет занесена информация о ЭП +// Параметры: +// ОбъектСсылка - ЛюбаяСсылка - Объект, в табличную часть которого будет занесена информация о ЭП. +// Процедура ИнформироватьОПодписанииОбъекта(ОбъектСсылка) Экспорт ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( @@ -140,14 +142,15 @@ #Область СлужебныеПроцедурыИФункции -// Находит сертификат по строке отпечатка +// Находит сертификат по строке отпечатка. // // Параметры -// Отпечаток - Строка - base64 кодированный отпечаток сертификата -// ТолькоВЛичномХранилище - Булево - вести поиск только в личном хранилище +// Отпечаток - Строка - Base64 кодированный отпечаток сертификата. +// ТолькоВЛичномХранилище - Булево - Если Истина, то поиск производится только в личном хранилище. // // Возвращаемое значение: -// СертификатКриптографии - сертификат криптографии +// СертификатКриптографии - Сертификат криптографии. +// Функция ПолучитьСертификатПоОтпечатку(Отпечаток, ТолькоВЛичномХранилище = Ложь) Экспорт ДвоичныеДанныеОтпечатка = Base64Значение(Отпечаток); @@ -171,13 +174,14 @@ КонецФункции -// Заполняет структуру полями сертификата +// Заполняет структуру полями сертификата. // // Параметры -// Отпечаток - Строка - base64 кодированный отпечаток сертификата +// Отпечаток - Строка - Base64 кодированный отпечаток сертификата. // // Возвращаемое значение: -// Структура - структура с полями сертификата +// Структура - Структура с полями сертификата. +// Функция ЗаполнитьСтруктуруСертификатаПоОтпечатку(Отпечаток) Экспорт ДвоичныеДанныеОтпечатка = Base64Значение(Отпечаток); @@ -198,15 +202,16 @@ Возврат ЭлектроннаяПодписьКлиентСервер.ЗаполнитьСтруктуруСертификата(Сертификат); -КонецФункции +КонецФункции -// Получает массив структур сертификатов для показа в диалоге выбора сертификатов для подписи или шифрования +// Получает массив структур сертификатов для показа в диалоге выбора сертификатов для подписи или шифрования. // // Параметры -// ТолькоЛичные - Булево - если Ложь, то берутся также и сертификаты получателей +// ТолькоЛичные - Булево - Если Ложь, то берутся также и сертификаты получателей. // // Возвращаемое значение: -// Массив - массив структур с полями сертификата +// Массив - массив структур с полями сертификата +// Функция ПолучитьМассивСтруктурСертификатов(Знач ТолькоЛичные) Экспорт МассивСтруктурСертификатов = Новый Массив; @@ -265,12 +270,13 @@ Возврат МассивСтруктурСертификатов; -КонецФункции +КонецФункции -// Создает на клиенте менеджер криптографии. Пароль не устанавливается +// Создает на клиенте менеджер криптографии. Пароль не устанавливается. // // Возвращаемое значение: -// МенеджерКриптографии - менеджер криптографии +// МенеджерКриптографии - менеджер криптографии +// Функция ПолучитьМенеджерКриптографии(Отказ = Ложь) Экспорт Если НЕ ПодключитьРасширениеРаботыСКриптографией() Тогда @@ -301,10 +307,10 @@ КонецФункции -// Открывает форму просмотра сертификата ЭП +// Открывает форму просмотра сертификата ЭП. // // Параметры -// Отпечаток - Строка - отпечаток сертификата ЭП +// Отпечаток - Строка - Отпечаток сертификата ЭП. // Процедура ОткрытьСертификат(Отпечаток) Экспорт @@ -320,12 +326,12 @@ КонецПроцедуры -// Открывает форму просмотра сертификата ЭП +// Открывает форму просмотра сертификата ЭП. // // Параметры -// СтруктураСертификата - Структура с полями сертификата -// Отпечаток - Строка - отпечаток сертификата ЭП -// АдресСертификата - Строка - адрес сертификата во временном хранилище +// СтруктураСертификата - Структура с полями сертификата. +// Отпечаток - Строка - Отпечаток сертификата ЭП. +// АдресСертификата - Строка - Адрес сертификата во временном хранилище. // Процедура ОткрытьСертификатСоСтруктурой(СтруктураСертификата, Отпечаток, АдресСертификата) Экспорт @@ -341,7 +347,7 @@ КонецПроцедуры -// Открывает форму просмотра сертификата ЭП +// Открывает форму просмотра сертификата ЭП. Процедура ОткрытьСертификатПоОтпечаткуИАдресу(Отпечаток, АдресСертификата) Экспорт Если ОбщегоНазначенияКлиентПовтИсп.ЭтоВебКлиентПодMacOS() Тогда @@ -367,7 +373,7 @@ КонецПроцедуры -// Открывает форму просмотра подписи ЭП +// Открывает форму просмотра подписи ЭП. Процедура ОткрытьПодпись(ТекущиеДанные) Экспорт Если ТекущиеДанные = Неопределено Тогда @@ -415,13 +421,13 @@ КонецПроцедуры -// "Сохранить как" вместе с подписями - все или выбранные +// "Сохранить как" вместе с подписями - все или выбранные. // // Параметры -// ФайлСсылка - СправочникСсылка - объект, в табличной части которого содержатся подписи -// ПолноеИмяФайла - Строка - полное имя с путем, под которым сохранен файл -// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы -// МассивСтруктурПодписей - Массив - массив структур подписей. Если Неопределено - сохраняем все подписи +// ФайлСсылка - СправочникСсылка - Объект, в табличной части которого содержатся подписи. +// ПолноеИмяФайла - Строка - Полное имя с путем, под которым сохранен файл. +// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор формы. +// МассивСтруктурПодписей - Массив - массив структур подписей. Если Неопределено - сохраняем все подписи. // Процедура СохранитьПодписи(ФайлСсылка, ПолноеИмяФайла, УникальныйИдентификатор, МассивСтруктурПодписей) Экспорт @@ -496,13 +502,14 @@ КонецПроцедуры -// Добавляет ЭП из файла (файлов) +// Добавляет ЭП из файла (файлов). // // Параметры -// ФайлСсылка - любая ссылка - объект, в табличную часть которого будет занесена информация о ЭП -// МассивФайловПодписей - Массив структур - массив структур (ПутьКФайлу, Комментарий) -// УникальныйИдентификатор - УникальныйИдентификатор - уникальный идентификатор формы -// ВладелецФайла - любая ссылка - значение реквизита ВладелецФайла у ФайлСсылка +// ФайлСсылка - ЛюбаяСсылка - Объект, в табличную часть которого будет занесена информация о ЭП. +// МассивФайловПодписей - Массив - Массив структур (ПутьКФайлу, Комментарий). +// УникальныйИдентификатор - УникальныйИдентификатор - Уникальный идентификатор формы. +// ВладелецФайла - ЛюбаяСсылка - значение реквизита ВладелецФайла у ФайлСсылка. +// Функция СформироватьПодписиДляЗанесениюВБазу(ФайлСсылка, МассивФайловПодписей, УникальныйИдентификатор = Неопределено) Экспорт МассивДанныхДляЗанесенияВБазу = Новый Массив; diff --git a/SSL/src/CommonModules/ЭлектроннаяПодписьКлиентСервер/Module.bsl b/SSL/src/CommonModules/ЭлектроннаяПодписьКлиентСервер/Module.bsl index 082809711..6be0051f4 100644 --- a/SSL/src/CommonModules/ЭлектроннаяПодписьКлиентСервер/Module.bsl +++ b/SSL/src/CommonModules/ЭлектроннаяПодписьКлиентСервер/Module.bsl @@ -7,8 +7,8 @@ // Получает представление поля КомуВыдан или КемВыдан сертификата. // -// Параметры -// СтруктураПользователя - Структура - структура поля КомуВыдан или КемВыдан сертификата. +// Параметры: +// СтруктураПользователя - Структура - Структура поля КомуВыдан или КемВыдан сертификата. // // Возвращаемое значение: // Строка - Представление поля. @@ -57,7 +57,7 @@ // Заполняет структуру полями сертификата. // -// Параметры +// Параметры: // Сертификат - СертификатКриптографии - Сертификат криптографии. // // Возвращаемое значение: @@ -91,15 +91,15 @@ // Возвращаемое значение: // Структура - Персональные настройки для работы с электронной подписью. // * ДействияПриСохраненииСЭП - Строка - Что делать при сохранении файлов с электронной подписью: -// ** "Спрашивать" - -// ** "СохранятьВсеПодписи" - -// * ПутьМодуляКриптографии - Строка - -// * РасширениеДляФайловПодписи - Строка - -// * РасширениеДляЗашифрованныхФайлов - Строка - -// * ОтпечатокЛичногоСертификатаДляШифрования - Строка - +// ** "Спрашивать" - Показывать диалог выбора подписей для сохранения. +// ** "СохранятьВсеПодписи" - Всегда все подписи. +// * ПутьМодуляКриптографии - Строка - Путь модуля. +// * РасширениеДляФайловПодписи - Строка - Расширение для файлов ЭП. +// * РасширениеДляЗашифрованныхФайлов - Строка - Расширение для зашифрованных файлов. +// * ОтпечатокЛичногоСертификатаДляШифрования - Строка - Отпечаток личного сертификата. // // См. также: -// ОбщаяФорма.ПерсональныеНастройкиЭП - место определения данных параметров и их текстовые описания. +// ОбщаяФорма.ПерсональныеНастройкиЭП - место ввода данных параметров и их пользовательские представления. // Функция ПерсональныеНастройки() Экспорт #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда @@ -115,8 +115,8 @@ // Получает назначение сертификата. // -// Параметры -// ФиксированныйМассивСвойств - ФиксированныйМассив - массив расширенных свойств сертификата (EKU). +// Параметры: +// ФиксированныйМассивСвойств - ФиксированныйМассив - массив расширенных свойств сертификата (EKU). // Функция ПолучитьНазначение(ФиксированныйМассивСвойств) diff --git a/SSL/src/CommonPictures/Переключатель/Picture.png b/SSL/src/CommonPictures/Переключатель/Picture.png deleted file mode 100644 index 5d8d7a20d..000000000 Binary files a/SSL/src/CommonPictures/Переключатель/Picture.png and /dev/null differ diff --git a/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/Picture.png b/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/Picture.png new file mode 100644 index 000000000..769347c09 Binary files /dev/null and b/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/Picture.png differ diff --git a/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/ПодписанЗашифрованЗаголовок.mdo b/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/ПодписанЗашифрованЗаголовок.mdo new file mode 100644 index 000000000..2ff814f66 --- /dev/null +++ b/SSL/src/CommonPictures/ПодписанЗашифрованЗаголовок/ПодписанЗашифрованЗаголовок.mdo @@ -0,0 +1,8 @@ + + + ПодписанЗашифрованЗаголовок + + ru + Подписан зашифрован заголовок + + diff --git a/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/Picture.png b/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/Picture.png new file mode 100644 index 000000000..17b0afa95 Binary files /dev/null and b/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/Picture.png differ diff --git a/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/ПодписанЗашифрованСостояния.mdo b/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/ПодписанЗашифрованСостояния.mdo new file mode 100644 index 000000000..4816cf3d5 --- /dev/null +++ b/SSL/src/CommonPictures/ПодписанЗашифрованСостояния/ПодписанЗашифрованСостояния.mdo @@ -0,0 +1,8 @@ + + + ПодписанЗашифрованСостояния + + ru + Подписан зашифрован состояния + + diff --git a/SSL/src/CommonPictures/РазделАдминистрирование/Picture.png b/SSL/src/CommonPictures/РазделАдминистрирование/Picture.png new file mode 100644 index 000000000..74df1b4b7 Binary files /dev/null and b/SSL/src/CommonPictures/РазделАдминистрирование/Picture.png differ diff --git a/SSL/src/CommonPictures/РазделАдминистрирование/РазделАдминистрирование.mdo b/SSL/src/CommonPictures/РазделАдминистрирование/РазделАдминистрирование.mdo new file mode 100644 index 000000000..64d66d4fc --- /dev/null +++ b/SSL/src/CommonPictures/РазделАдминистрирование/РазделАдминистрирование.mdo @@ -0,0 +1,8 @@ + + + РазделАдминистрирование + + ru + Раздел "Администрирование" + + diff --git a/SSL/src/CommonPictures/Администрирование48/Picture.png b/SSL/src/CommonPictures/РазделАдминистрирование48/Picture.png similarity index 100% rename from SSL/src/CommonPictures/Администрирование48/Picture.png rename to SSL/src/CommonPictures/РазделАдминистрирование48/Picture.png diff --git a/SSL/src/CommonPictures/Администрирование48/Администрирование48.mdo b/SSL/src/CommonPictures/РазделАдминистрирование48/РазделАдминистрирование48.mdo similarity index 60% rename from SSL/src/CommonPictures/Администрирование48/Администрирование48.mdo rename to SSL/src/CommonPictures/РазделАдминистрирование48/РазделАдминистрирование48.mdo index 250160fdd..e82f9121e 100644 --- a/SSL/src/CommonPictures/Администрирование48/Администрирование48.mdo +++ b/SSL/src/CommonPictures/РазделАдминистрирование48/РазделАдминистрирование48.mdo @@ -1,8 +1,8 @@ - Администрирование48 + РазделАдминистрирование48 ru - Администрирование + Раздел "Администрирование" (48x48) diff --git a/SSL/src/CommonPictures/СтрелкаВверх/Picture.png b/SSL/src/CommonPictures/СтрелкаВверх/Picture.png new file mode 100644 index 000000000..5d23cd7f5 Binary files /dev/null and b/SSL/src/CommonPictures/СтрелкаВверх/Picture.png differ diff --git a/SSL/src/CommonPictures/Переключатель/Переключатель.mdo b/SSL/src/CommonPictures/СтрелкаВверх/СтрелкаВверх.mdo similarity index 53% rename from SSL/src/CommonPictures/Переключатель/Переключатель.mdo rename to SSL/src/CommonPictures/СтрелкаВверх/СтрелкаВверх.mdo index 180c1f1e9..91b94290c 100644 --- a/SSL/src/CommonPictures/Переключатель/Переключатель.mdo +++ b/SSL/src/CommonPictures/СтрелкаВверх/СтрелкаВверх.mdo @@ -1,8 +1,8 @@ - - Переключатель + + СтрелкаВверх ru - Переключатель + Стрелка вверх diff --git a/SSL/src/CommonPictures/СтрелкаВлево/Picture.png b/SSL/src/CommonPictures/СтрелкаВлево/Picture.png new file mode 100644 index 000000000..58e0e3253 Binary files /dev/null and b/SSL/src/CommonPictures/СтрелкаВлево/Picture.png differ diff --git a/SSL/src/CommonPictures/СтрелкаВлево/СтрелкаВлево.mdo b/SSL/src/CommonPictures/СтрелкаВлево/СтрелкаВлево.mdo new file mode 100644 index 000000000..74ffa685e --- /dev/null +++ b/SSL/src/CommonPictures/СтрелкаВлево/СтрелкаВлево.mdo @@ -0,0 +1,8 @@ + + + СтрелкаВлево + + ru + Стрелка влево + + diff --git a/SSL/src/CommonPictures/СтрелкаВниз/Picture.png b/SSL/src/CommonPictures/СтрелкаВниз/Picture.png new file mode 100644 index 000000000..fa7913a7d Binary files /dev/null and b/SSL/src/CommonPictures/СтрелкаВниз/Picture.png differ diff --git a/SSL/src/CommonPictures/СтрелкаВниз/СтрелкаВниз.mdo b/SSL/src/CommonPictures/СтрелкаВниз/СтрелкаВниз.mdo new file mode 100644 index 000000000..dabb9aeb9 --- /dev/null +++ b/SSL/src/CommonPictures/СтрелкаВниз/СтрелкаВниз.mdo @@ -0,0 +1,8 @@ + + + СтрелкаВниз + + ru + Стрелка вниз + + diff --git a/SSL/src/CommonPictures/СтрелкаВправо/Picture.png b/SSL/src/CommonPictures/СтрелкаВправо/Picture.png new file mode 100644 index 000000000..1de77cd2d Binary files /dev/null and b/SSL/src/CommonPictures/СтрелкаВправо/Picture.png differ diff --git a/SSL/src/CommonPictures/СтрелкаВправо/СтрелкаВправо.mdo b/SSL/src/CommonPictures/СтрелкаВправо/СтрелкаВправо.mdo new file mode 100644 index 000000000..f1c9dd38a --- /dev/null +++ b/SSL/src/CommonPictures/СтрелкаВправо/СтрелкаВправо.mdo @@ -0,0 +1,8 @@ + + + СтрелкаВправо + + ru + Стрелка вправо + + diff --git a/SSL/src/CommonTemplates/ИнструкцияКакВыполнитьУстановкуОбновленияВручную/ru.html b/SSL/src/CommonTemplates/ИнструкцияКакВыполнитьУстановкуОбновленияВручную/ru.html index eeb941bd9..061baa131 100644 --- a/SSL/src/CommonTemplates/ИнструкцияКакВыполнитьУстановкуОбновленияВручную/ru.html +++ b/SSL/src/CommonTemplates/ИнструкцияКакВыполнитьУстановкуОбновленияВручную/ru.html @@ -1,4 +1,4 @@ - +

                            Установка обновления конфигурации

                            Для установки обновления конфигурации необходимо выполнить следующие действия:

                            diff --git a/SSL/src/CommonTemplates/КомпонентаПечатиQRКода/Template.bin b/SSL/src/CommonTemplates/КомпонентаПечатиQRКода/Template.bin index 7ea5f9337..e6acd9f9c 100644 Binary files a/SSL/src/CommonTemplates/КомпонентаПечатиQRКода/Template.bin and b/SSL/src/CommonTemplates/КомпонентаПечатиQRКода/Template.bin differ diff --git a/SSL/src/Configuration/Configuration.mdo b/SSL/src/Configuration/Configuration.mdo index b47cb6b31..f194c79cf 100644 --- a/SSL/src/Configuration/Configuration.mdo +++ b/SSL/src/Configuration/Configuration.mdo @@ -1,24 +1,24 @@ - + БиблиотекаСтандартныхПодсистем ru Библиотека стандартных подсистем, редакция 2.2 - - - - - - - + + + + + + + ManagedApplication PersonalComputer Russian Role.ПолныеПрава Role.АдминистраторСистемы Фирма "1С" - 2.2.2.48 + 2.2.3.44 http://downloads.v8.1c.ru/tmplts/ true @@ -31,6 +31,7 @@ OpenDataInDialogs + Language.Русский ru @@ -53,7 +54,7 @@ Managed NotAutoFree UseWithWarnings - Version8_2EnableTaxi + TaxiEnableVersion8_2 8.3.4 Русский @@ -74,10 +75,12 @@ StyleItem.ВидимыйВариантОтчетаЦвет StyleItem.ВыполненнаяЗадача StyleItem.ГруппаВариантовОтчетовЦвет + StyleItem.ГруппаВариантовОтчетовЦвет82 StyleItem.ДатаГрафикаИзмененнаяФон StyleItem.ДобавленныйРеквизитФон StyleItem.ЗаблокированныйРеквизитЦвет StyleItem.ЗавершенныйБизнесПроцесс + StyleItem.ЗаголовокДелаЦвет StyleItem.ЗаголовокУдаленногоРеквизитаФон StyleItem.ЗапрещенноеПравоДоступа StyleItem.ИзмененноеЗначениеРеквизитаФон @@ -93,6 +96,7 @@ StyleItem.ПоясняющийОшибкуТекст StyleItem.ПоясняющийТекст StyleItem.ПросроченныеДанныеЦвет + StyleItem.РезультатУспехЦвет StyleItem.РольБезИсполнителей StyleItem.СкрытыйВариантОтчетаЦвет StyleItem.СобытиеОтказ @@ -102,7 +106,6 @@ StyleItem.ФайлЗанятыйДругимПользователем StyleItem.ФайлЗанятыйТекущимПользователем StyleItem.ФонУправляющегоПоля - CommonPicture.Администрирование48 CommonPicture.АрхивАнкета CommonPicture.БыстрыеНастройкиОтчета CommonPicture.БыстрыйДоступ @@ -224,13 +227,14 @@ CommonPicture.Папка CommonPicture.Папки CommonPicture.ПапкиЭлектронныхПисем - CommonPicture.Переключатель CommonPicture.ПереместитьВЗакладкиВзаимодействия CommonPicture.ПереместитьВПапкуПисем CommonPicture.ПереслатьЭлектронноеПисьмо CommonPicture.ПиктограммыПланОбменаУзел CommonPicture.ПиктограммыЭлементов CommonPicture.Подменю + CommonPicture.ПодписанЗашифрованЗаголовок + CommonPicture.ПодписанЗашифрованСостояния CommonPicture.ПодписанЭП CommonPicture.Подсистема CommonPicture.Подчеркивание @@ -250,6 +254,8 @@ CommonPicture.ПримечаниеЖурналаРегистрации CommonPicture.ПрочиеПользовательскиеНастройки CommonPicture.РабочийКаталогПоУмолчанию + CommonPicture.РазделАдминистрирование + CommonPicture.РазделАдминистрирование48 CommonPicture.РазорватьСоединение CommonPicture.РазрешитьРедактированиеРеквизитовОбъекта CommonPicture.Рассчитать @@ -295,7 +301,11 @@ CommonPicture.СправкаПереходВниз CommonPicture.СтатусыДокумента CommonPicture.СтатусыСопоставленияОбъектов + CommonPicture.СтрелкаВверх + CommonPicture.СтрелкаВлево + CommonPicture.СтрелкаВниз CommonPicture.СтрелкаВнизСправка + CommonPicture.СтрелкаВправо CommonPicture.Сумма CommonPicture.ТелефонныйЗвонок CommonPicture.ТипыМакетов @@ -334,9 +344,9 @@ SessionParameter.ВыполняетсяОбновлениеИБ SessionParameter.ДатаОбновленияПовторноИспользуемыхЗначенийМРО SessionParameter.ИдентификаторыТаблицСОтдельнымиНастройкамиПрав - SessionParameter.ИспользуемыеПланыОбмена SessionParameter.ОбластьДанныхЗначение SessionParameter.ОбластьДанныхИспользование + SessionParameter.ОшибкаРасхожденияВерсийПриПолученииДанных SessionParameter.ПараметрыКлиентаНаСервере SessionParameter.ПаролиСинхронизацииДанных SessionParameter.ПравилаВыборочнойРегистрацииОбъектов @@ -385,6 +395,7 @@ Role.ИспользованиеЗаметок Role.ИспользованиеНапоминаний Role.ИспользованиеСтруктурыПодчиненности + Role.ИспользованиеТекущихДел Role.ИспользованиеУчетныхЗаписейЭлектроннойПочты Role.ИспользованиеЭП Role.НастройкаИОценкаПроизводительности @@ -409,6 +420,7 @@ Role.ЧтениеЗаданий Role.ЧтениеЗадач Role.ЧтениеИнформацииОВерсияхОбъектов + Role.ЧтениеОбщейБазовойНСИ Role.ЧтениеОтветовНаВопросыАнкет CommonTemplate.ИнструкцияКакВыполнитьУстановкуОбновленияВручную CommonTemplate.КомпонентаTWAIN @@ -421,6 +433,7 @@ CommonModule.АвтономнаяРабота CommonModule.АвтономнаяРаботаСлужебный CommonModule.АвтономнаяРаботаСлужебныйВызовСервера + CommonModule.АвтономнаяРаботаСлужебныйКлиент CommonModule.АдминистрированиеКластераCOMКлиентСервер CommonModule.АдминистрированиеКластераRASКлиентСервер CommonModule.АдминистрированиеКластераКлиентСервер @@ -437,6 +450,7 @@ CommonModule.БизнесПроцессыИЗадачиВызовСервера CommonModule.БизнесПроцессыИЗадачиКлиент CommonModule.БизнесПроцессыИЗадачиКлиентПереопределяемый + CommonModule.БизнесПроцессыИЗадачиКлиентСервер CommonModule.БизнесПроцессыИЗадачиПереопределяемый CommonModule.БизнесПроцессыИЗадачиСервер CommonModule.БизнесПроцессыИЗадачиСобытия @@ -462,8 +476,8 @@ CommonModule.ГрупповоеИзменениеОбъектовКлиент CommonModule.ДатыЗапретаИзменения CommonModule.ДатыЗапретаИзмененияПереопределяемый - CommonModule.ДатыЗапретаИзмененияПовтИсп CommonModule.ДатыЗапретаИзмененияСлужебный + CommonModule.ДатыЗапретаИзмененияСлужебныйПовтИсп CommonModule.ДлительныеОперации CommonModule.ДлительныеОперацииКлиент CommonModule.ДлительныеОперацииКлиентПовтИсп @@ -483,10 +497,12 @@ CommonModule.ЖурналРегистрации CommonModule.ЖурналРегистрацииВызовСервера CommonModule.ЖурналРегистрацииКлиент + CommonModule.ЗагрузкаДанныхИзФайлаКлиент CommonModule.ЗаметкиПользователя CommonModule.ЗаметкиПользователяСлужебный CommonModule.ЗапретРедактированияРеквизитовОбъектов CommonModule.ЗапретРедактированияРеквизитовОбъектовКлиент + CommonModule.ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент CommonModule.ЗащитаПерсональныхДанных CommonModule.ЗащитаПерсональныхДанныхКлиент CommonModule.ЗащитаПерсональныхДанныхПереопределяемый @@ -495,6 +511,7 @@ CommonModule.ИнтерфейсыСообщенийВМоделиСервисаПереопределяемый CommonModule.ИнформацияПриЗапуске CommonModule.ИнформацияПриЗапускеКлиент + CommonModule.ИнформацияПриЗапускеПереопределяемый CommonModule.КалендарныеГрафики CommonModule.КалендарныеГрафикиПереопределяемый CommonModule.КалендарныеГрафикиСлужебныйВМоделиСервиса @@ -522,7 +539,6 @@ CommonModule.НастройкаПорядкаЭлементовСлужебныйВызовСервера CommonModule.НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный CommonModule.НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент - CommonModule.НастройкиПользователейКлиент CommonModule.ОбменДаннымиВМоделиСервиса CommonModule.ОбменДаннымиВМоделиСервисаКлиент CommonModule.ОбменДаннымиВМоделиСервисаПереопределяемый @@ -716,6 +732,9 @@ CommonModule.СтандартныеПодсистемыСервер CommonModule.СтроковыеФункцииКлиентСервер CommonModule.СтруктураПодчиненностиПереопределяемый + CommonModule.ТекущиеДелаПереопределяемый + CommonModule.ТекущиеДелаСлужебный + CommonModule.ТекущиеДелаСлужебныйПовтИсп CommonModule.ТрансляцияXDTO CommonModule.ТрансляцияXDTOПереопределяемый CommonModule.ТрансляцияXDTOСлужебный @@ -821,11 +840,14 @@ EventSubscription.ВыполнитьДействияПередЗаписьюПрисоединенногоФайлаВзаимодействия EventSubscription.ВыполнитьДействияПередУдалениемПрисоединенногоФайлаВзаимодействия EventSubscription.ВыполнитьДействияПриЗаписиПрисоединенногоФайлаВзаимодействия + EventSubscription.ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных EventSubscription.ЗаписатьВерсиюПриОбменеДанными EventSubscription.ЗаписатьВСписокБизнесПроцессов EventSubscription.ЗаписатьЗависимыеНаборыЗначенийДоступа EventSubscription.ЗаписатьНаборыЗначенийДоступа EventSubscription.ЗаполнитьКонтактнуюИнформацию + EventSubscription.ЗапретитьПометкуУдаленияПредопределенныхЭлементов + EventSubscription.ЗапретитьУдалениеПредопределенныхЭлементов EventSubscription.ЗарегистрироватьИзмененияОбщихДанныхУзлов EventSubscription.ЗарегистрироватьИзмененияФильтровОграниченияМиграцииДанных EventSubscription.КонтрольНеразделенныхНаборовЗаписейПриЗаписи @@ -838,6 +860,10 @@ EventSubscription.ОтменитьОтправкуДанныхУзлаВРаспределеннойИнформационнойБазе EventSubscription.ОчиститьСсылкиНаУзелИнформационнойБазы EventSubscription.ПереопределитьПолучаемуюФормуПрисоединенногоФайлаВзаимодействия + EventSubscription.ПолучениеПолейПредставленияВзамоимодействия + EventSubscription.ПолучениеПредставленияВзаимодействия + EventSubscription.ПолучитьПоляПредставленияБизнесПроцесса + EventSubscription.ПолучитьПредставлениеБизнесПроцесса EventSubscription.ПослеОтправкиДанных EventSubscription.ПослеПолученияДанных EventSubscription.ПриОтправкеДанныхГлавному @@ -870,6 +896,7 @@ ScheduledJob.ОтложенноеОбновлениеИБ ScheduledJob.ОтправкаSMS ScheduledJob.ОтправкаИПолучениеСообщенийСистемы + ScheduledJob.ОчисткаУстаревшихВерсийОбъектов ScheduledJob.ПерестроениеАгрегатов ScheduledJob.ПересчетТекущихЗначенийОтносительныхДатЗапретаИзменения ScheduledJob.ПланированиеИзвлеченияТекстаВМоделиСервиса @@ -948,6 +975,8 @@ CommonCommand.ВыполнитьОбменДанными CommonCommand.ВыполнитьОбменДаннымиИнтерактивно CommonCommand.ДобавитьПользователейСервиса + CommonCommand.ДополнительныеОбработкиАдминистрирование + CommonCommand.ДополнительныеОтчетыАдминистрирование CommonCommand.ДополнительныеПечатныеФормыОбъекта CommonCommand.ДополнительныеСведенияКоманднаяПанель CommonCommand.ДополнительныеСведенияПанельНавигации @@ -967,6 +996,7 @@ CommonCommand.ОткрытьОбменыДанными CommonCommand.ОткрытьПравилаКонвертацииОбъектов CommonCommand.ОткрытьПравилаРегистрацииОбъектов + CommonCommand.ОткрытьПравилаСинхронизацииДанных CommonCommand.ОткрытьРезультатыОбменаДанными CommonCommand.ОткрытьСценарииОбменовДанными CommonCommand.ОтчетыОбъекта @@ -1076,7 +1106,6 @@ Constant.ОтправлятьПисьмаВФорматеHTML Constant.ОценкаПроизводительностиПериодЗаписи Constant.ПараметрыАдминистрированияИБ - Constant.ПараметрыБазовойФункциональности Constant.ПараметрыВариантовОтчетов Constant.ПараметрыДополнительныхРеквизитовИСведений Constant.ПараметрыИтоговИАгрегатов @@ -1117,6 +1146,7 @@ CommonForm.АвтономнаяРаботаВМоделиСервиса CommonForm.АдреснаяКнига CommonForm.АутентификацияВСервисе + CommonForm.ВводЗначенийСпискомСФлажками CommonForm.ВводПароляСОписаниями CommonForm.Вопрос CommonForm.ВопросОбУстановкеРасширенияРаботыСФайлами @@ -1129,7 +1159,6 @@ CommonForm.ВыборОбъектовИнформационнойБазыКорреспондента CommonForm.ВыборОбъектовМетаданных CommonForm.ВыборПодписей - CommonForm.ВыборПрисоединенныхФайлов CommonForm.ВыборПроизвольногоПериода CommonForm.ВыборПутиКАрхивуФайловТомов CommonForm.ВыборРолиИсполнителя @@ -1294,6 +1323,8 @@ Enum.СпособыРедактированияЭлектронныхПисем Enum.СпособыСравненияВерсийФайлов Enum.СпособыУстановкиВремениНапоминания + Enum.СпособыУстановкиКурсаВалюты + Enum.СрокиХраненияВерсий Enum.СтатусыИзвлеченияТекстаФайлов Enum.СтатусыИсходящегоЭлектронногоПисьма Enum.СтатусыОбластейДанных @@ -1318,6 +1349,7 @@ Enum.ФорматыХраненияОдностраничныхФайлов Enum.ЦветаЗаметок Enum.ЦветностиИзображения + Report.АнализВерсийОбъектов Report.АнализЖурналаРегистрации Report.АнализОпроса Report.АналитическийОтчетПоАнкетированию @@ -1341,6 +1373,7 @@ DataProcessor.ВыполнениеОбменаДанными DataProcessor.ГрупповоеИзменениеРеквизитов DataProcessor.ЖурналРегистрации + DataProcessor.ЗагрузкаДанныхИзФайла DataProcessor.ЗагрузкаКурсовВалют DataProcessor.ЗагрузкаПравилРегистрацииОбъектов DataProcessor.ЗаменаСсылок @@ -1376,6 +1409,7 @@ DataProcessor.СогласиеНаОбработкуПерсональныхДанных DataProcessor.СопоставлениеОбъектовИнформационныхБаз DataProcessor.СписокРеспондента + DataProcessor.ТекущиеДела DataProcessor.ТранспортСообщенийОбменаEMAIL DataProcessor.ТранспортСообщенийОбменаFILE DataProcessor.ТранспортСообщенийОбменаFTP diff --git a/SSL/src/Configuration/MainSectionPicture.png b/SSL/src/Configuration/MainSectionPicture.png new file mode 100644 index 000000000..061357c46 Binary files /dev/null and b/SSL/src/Configuration/MainSectionPicture.png differ diff --git a/SSL/src/Configuration/ParentConfigurations.bin b/SSL/src/Configuration/ParentConfigurations.bin index c6c33b12e..46c78dc90 100644 --- a/SSL/src/Configuration/ParentConfigurations.bin +++ b/SSL/src/Configuration/ParentConfigurations.bin @@ -1 +1 @@ -{6,1,1,e2088e81-4965-4f1f-b1c3-8762501109ca,1,314ecaf7-7507-4a6f-b7c8-39ef36c095cb,"2.2.2.48","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",4448,1,0,643640d5-800d-47bb-bc90-7c6235acc247,643640d5-800d-47bb-bc90-7c6235acc247,0,1,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,0,1,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,0,1,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,0,1,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,0,1,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,0,1,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,0,1,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,0,1,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,0,1,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,0,1,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,0,1,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,0,1,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,0,1,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,0,1,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,0,1,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,0,1,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,0,1,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,0,1,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,0,1,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,0,1,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,0,1,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,0,1,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,0,1,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,0,1,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,0,1,9e36087a-baa8-4812-956a-6e1ac73aa7e0,9e36087a-baa8-4812-956a-6e1ac73aa7e0,0,1,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,0,1,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,0,1,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,0,1,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,0,1,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,0,1,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,0,1,cb8da2f3-f8bb-4736-8381-7c153670e3e2,cb8da2f3-f8bb-4736-8381-7c153670e3e2,0,1,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,0,1,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,0,1,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,0,1,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,0,1,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,0,1,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,0,1,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,0,1,c53df2d1-4564-47a7-b66e-6a23ba28270e,c53df2d1-4564-47a7-b66e-6a23ba28270e,0,1,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,0,1,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,0,1,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,0,1,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,0,1,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,0,1,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,0,1,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,0,1,52176b25-0232-4326-9548-495db32b2660,52176b25-0232-4326-9548-495db32b2660,0,1,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,0,1,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,0,1,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,0,1,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0,1,060b6f18-538c-4ea1-9748-00efe0b1ab57,060b6f18-538c-4ea1-9748-00efe0b1ab57,0,1,307b6821-fd82-4a1c-9fdb-a26293d4f713,307b6821-fd82-4a1c-9fdb-a26293d4f713,0,1,a952960b-be1b-4ec4-bd76-80915065a60b,a952960b-be1b-4ec4-bd76-80915065a60b,0,1,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,0,1,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,0,1,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,0,1,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5-45fc-8da2-a36c435085a6,0,1,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,0,1,5d16e042-3889-4851-86f1-bc43bf06ee88,5d16e042-3889-4851-86f1-bc43bf06ee88,0,1,e5a0e7c2-6186-43a3-a1c5-1f16990602a4,e5a0e7c2-6186-43a3-a1c5-1f16990602a4,0,1,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,0,1,e39ecc8a-ce81-483d-85de-b0488c8b7749,e39ecc8a-ce81-483d-85de-b0488c8b7749,0,1,1514eaff-faea-4d82-9465-d0d5292bb31d,1514eaff-faea-4d82-9465-d0d5292bb31d,0,1,6d39c6df-8cd4-47ad-9125-252b37d94575,6d39c6df-8cd4-47ad-9125-252b37d94575,0,1,739bd762-01fc-41a8-87df-844eb201962f,739bd762-01fc-41a8-87df-844eb201962f,0,1,ad7c6165-2e44-4808-a77a-526882cf5dea,ad7c6165-2e44-4808-a77a-526882cf5dea,0,1,b7e435a9-6107-4d02-a949-cff793462e31,b7e435a9-6107-4d02-a949-cff793462e31,0,1,f0cda8f5-56f5-423b-8c1c-7113433ebf25,f0cda8f5-56f5-423b-8c1c-7113433ebf25,0,1,1a220e88-428b-4d85-926d-e572bf19997c,1a220e88-428b-4d85-926d-e572bf19997c,0,1,ca0d938b-244e-421f-9fa4-320784b9f416,ca0d938b-244e-421f-9fa4-320784b9f416,0,1,a108b11d-a489-4684-84ea-d5377c7394de,a108b11d-a489-4684-84ea-d5377c7394de,0,1,289a2d84-2477-4177-a6ef-507e2cadeea2,289a2d84-2477-4177-a6ef-507e2cadeea2,0,1,757b547b-b79c-459a-a64a-eef19a09a38f,757b547b-b79c-459a-a64a-eef19a09a38f,0,1,61cd6eab-6bab-4382-986e-4c7fc44f369b,61cd6eab-6bab-4382-986e-4c7fc44f369b,0,1,cbbe7903-842c-470e-a2d6-7928df8f13e9,cbbe7903-842c-470e-a2d6-7928df8f13e9,0,1,e02597c4-bf45-4bb6-931d-62d2244f6c58,e02597c4-bf45-4bb6-931d-62d2244f6c58,0,1,42544966-445d-41b8-b6a0-a52c64758232,42544966-445d-41b8-b6a0-a52c64758232,0,1,a92d8a5c-b595-4c6c-9f1d-5e85b1c996b4,a92d8a5c-b595-4c6c-9f1d-5e85b1c996b4,0,1,bd68dd13-66bb-40ed-8f4b-0767b7063ffd,bd68dd13-66bb-40ed-8f4b-0767b7063ffd,0,1,e07ac651-07b9-4664-95e8-f3f5a51ea6c8,e07ac651-07b9-4664-95e8-f3f5a51ea6c8,0,1,0c44fdea-7b81-45be-87f5-d64456a9d379,0c44fdea-7b81-45be-87f5-d64456a9d379,0,1,d09d6f21-cdd0-485e-bd2c-92092a1aefef,d09d6f21-cdd0-485e-bd2c-92092a1aefef,0,1,2fc92784-d7b0-4209-ba06-e54bed2f160f,2fc92784-d7b0-4209-ba06-e54bed2f160f,0,1,e5b8ea5c-1d08-4f0a-a8f6-358b41e2e9f2,e5b8ea5c-1d08-4f0a-a8f6-358b41e2e9f2,0,1,a4e4c91c-fd95-4369-98e3-51ffba79937b,a4e4c91c-fd95-4369-98e3-51ffba79937b,0,1,0d0ada8a-09bb-4634-bf50-199f3779dad5,0d0ada8a-09bb-4634-bf50-199f3779dad5,0,1,d343d4e4-d07f-48c3-9db1-774b0d6c1134,d343d4e4-d07f-48c3-9db1-774b0d6c1134,0,1,14ef2331-6d9b-4cf1-90f3-7d4ac410439d,14ef2331-6d9b-4cf1-90f3-7d4ac410439d,0,1,04ab13b1-ffc2-47f5-aa0d-5850dcbd4a62,04ab13b1-ffc2-47f5-aa0d-5850dcbd4a62,0,1,968588bb-ee60-4399-955a-3ec4228d3c40,968588bb-ee60-4399-955a-3ec4228d3c40,0,1,23dbb528-7ea8-44ae-a1f2-b7608118666e,23dbb528-7ea8-44ae-a1f2-b7608118666e,0,1,b9627855-6773-4a59-b7d3-f9e2e565cd9e,b9627855-6773-4a59-b7d3-f9e2e565cd9e,0,1,ad87bd29-0ad1-4da4-ac62-38e714e0cb9f,ad87bd29-0ad1-4da4-ac62-38e714e0cb9f,0,1,283ce432-3553-4de9-94a2-ca9a590437f5,283ce432-3553-4de9-94a2-ca9a590437f5,0,1,7102d4fa-92f2-4fba-ad09-a33dbc71bef2,7102d4fa-92f2-4fba-ad09-a33dbc71bef2,0,1,34b0e268-497d-44d4-b822-84909d0685aa,34b0e268-497d-44d4-b822-84909d0685aa,0,1,8961a859-2203-4678-ae1f-63e2474a787a,8961a859-2203-4678-ae1f-63e2474a787a,0,1,fe63db47-3ece-4518-b6a2-0b6499f60a61,fe63db47-3ece-4518-b6a2-0b6499f60a61,0,1,654523be-93d9-4faa-9a35-ce2fede13820,654523be-93d9-4faa-9a35-ce2fede13820,0,1,671afc3e-7589-49d8-95a5-1cf195c3b2f8,671afc3e-7589-49d8-95a5-1cf195c3b2f8,0,1,2c8e45b8-7d80-4137-85db-66cd1db94526,2c8e45b8-7d80-4137-85db-66cd1db94526,0,1,47accdc7-8fa0-4996-9305-c42b6ca12df9,47accdc7-8fa0-4996-9305-c42b6ca12df9,0,1,5abc496c-5745-4220-9fdc-bac092717871,5abc496c-5745-4220-9fdc-bac092717871,0,1,93c347d8-66cb-406c-9ee6-b1962482893f,93c347d8-66cb-406c-9ee6-b1962482893f,0,1,7df36398-7752-4f51-9978-1bcb4bcdd062,7df36398-7752-4f51-9978-1bcb4bcdd062,0,1,9fd55b7f-209b-4b74-99d6-965b8f6f2df9,9fd55b7f-209b-4b74-99d6-965b8f6f2df9,0,1,f818fde9-1b06-4507-a69f-4dcb0ce8cd7a,f818fde9-1b06-4507-a69f-4dcb0ce8cd7a,0,1,a6690ef1-b16a-4d58-bc31-a8089b2c00d8,a6690ef1-b16a-4d58-bc31-a8089b2c00d8,0,1,316f94ec-81ed-4b5c-aa9d-98d2cfe1c641,316f94ec-81ed-4b5c-aa9d-98d2cfe1c641,0,1,f4885af5-6ed6-40e8-81a5-0e9537f943d7,f4885af5-6ed6-40e8-81a5-0e9537f943d7,0,1,87472d14-0d8c-4813-8a3e-2721bbb26811,87472d14-0d8c-4813-8a3e-2721bbb26811,0,1,44cf6d0a-0a5b-4ca1-b91e-af61f40fb825,44cf6d0a-0a5b-4ca1-b91e-af61f40fb825,0,1,e8faa1a9-807a-4916-b3c5-76ba2199754c,e8faa1a9-807a-4916-b3c5-76ba2199754c,0,1,99b5c632-61fe-41f5-ac00-ea530633bf28,99b5c632-61fe-41f5-ac00-ea530633bf28,0,1,a3c9c4e7-d36a-4db1-bd95-a50886c4be60,a3c9c4e7-d36a-4db1-bd95-a50886c4be60,0,1,4c53f94e-d7e8-457c-b337-59d3b3c5bf24,4c53f94e-d7e8-457c-b337-59d3b3c5bf24,0,1,bd6d7dcd-421c-402e-b6b8-f6ce6b18c140,bd6d7dcd-421c-402e-b6b8-f6ce6b18c140,0,1,485911f7-a964-450d-82da-cab020836eb2,485911f7-a964-450d-82da-cab020836eb2,0,1,cedd0b47-07cb-4dae-86b5-31d396b693c7,cedd0b47-07cb-4dae-86b5-31d396b693c7,0,1,c08391e1-c4e3-42aa-8738-061031d0cb75,c08391e1-c4e3-42aa-8738-061031d0cb75,0,1,bf4c6723-e586-4643-9f03-9e672afea26f,bf4c6723-e586-4643-9f03-9e672afea26f,0,1,23204b0b-bf77-4f7c-9945-e73ad924ebb4,23204b0b-bf77-4f7c-9945-e73ad924ebb4,0,1,dd9d3586-775b-4d5b-ab2d-78db0870ecdd,dd9d3586-775b-4d5b-ab2d-78db0870ecdd,0,1,44c610c3-9c0b-4bf0-95d6-f17100d3e98d,44c610c3-9c0b-4bf0-95d6-f17100d3e98d,0,1,a54f2d41-a05e-4878-80c6-81ca2899fa4c,a54f2d41-a05e-4878-80c6-81ca2899fa4c,0,1,23a898d9-5bcb-4744-ab6c-97b17dc98f20,23a898d9-5bcb-4744-ab6c-97b17dc98f20,0,1,50a04251-ac9c-4a21-a37f-ebc9ac3ef233,50a04251-ac9c-4a21-a37f-ebc9ac3ef233,0,1,f8f56806-ed7e-4059-a0c8-940538c14c98,f8f56806-ed7e-4059-a0c8-940538c14c98,0,1,9ff9f92b-c509-48da-82ce-15b524a895d6,9ff9f92b-c509-48da-82ce-15b524a895d6,0,1,c8bf96c8-f359-4940-8e87-3d190371d6d3,c8bf96c8-f359-4940-8e87-3d190371d6d3,0,1,477f0b81-0eb1-4de1-8cb5-38f1e0823947,477f0b81-0eb1-4de1-8cb5-38f1e0823947,0,1,d914eaa9-ce85-4df7-a545-2d411ef915b0,d914eaa9-ce85-4df7-a545-2d411ef915b0,0,1,41881344-82b7-4904-9ab8-0207d9bcd0a9,41881344-82b7-4904-9ab8-0207d9bcd0a9,0,1,21032fa5-9426-40bd-91e4-ace1e4ceb013,21032fa5-9426-40bd-91e4-ace1e4ceb013,0,1,ddfe5401-e136-4f20-aa65-aeb42a61a1f0,ddfe5401-e136-4f20-aa65-aeb42a61a1f0,0,1,27a80757-c0fd-40c7-ad24-4c819c1ba72b,27a80757-c0fd-40c7-ad24-4c819c1ba72b,0,1,7fce9e49-e558-4760-9d95-dde6ac6c1e78,7fce9e49-e558-4760-9d95-dde6ac6c1e78,0,1,e5aba4a3-6056-4ef3-827c-d74283175393,e5aba4a3-6056-4ef3-827c-d74283175393,0,1,63039e62-7314-42ff-bdc6-c251f38b3827,63039e62-7314-42ff-bdc6-c251f38b3827,0,1,8a4b7aab-b602-4581-8fa4-fab66791f701,8a4b7aab-b602-4581-8fa4-fab66791f701,0,1,7c92c579-4651-4fe3-90dc-6c9b594b76f0,7c92c579-4651-4fe3-90dc-6c9b594b76f0,0,1,a2be2d7a-cca0-460f-a915-dadfb9cd588b,a2be2d7a-cca0-460f-a915-dadfb9cd588b,0,1,35bac3e3-1329-4aa6-866f-f6fcaed8cd6e,35bac3e3-1329-4aa6-866f-f6fcaed8cd6e,0,1,ed53b24d-5338-4ae1-8659-0ea6450dc7bb,ed53b24d-5338-4ae1-8659-0ea6450dc7bb,0,1,6add2712-48e8-4b22-a7bb-7d8c808ac5fc,6add2712-48e8-4b22-a7bb-7d8c808ac5fc,0,1,1f4408f5-460e-431b-9842-bc6875ccf0ae,1f4408f5-460e-431b-9842-bc6875ccf0ae,0,1,ec09aa2d-758f-4ae8-96b7-0f05b8187dda,ec09aa2d-758f-4ae8-96b7-0f05b8187dda,0,1,7bfc6163-a62f-45e8-9112-40a5d675ba4a,7bfc6163-a62f-45e8-9112-40a5d675ba4a,0,1,542ff510-0245-4a08-80ac-a9941c66ae93,542ff510-0245-4a08-80ac-a9941c66ae93,0,1,03297623-eaa2-4db0-bf1b-ce2076faf20a,03297623-eaa2-4db0-bf1b-ce2076faf20a,0,1,3c6ef64e-c9bd-4cba-98a4-ffcc5b93b6da,3c6ef64e-c9bd-4cba-98a4-ffcc5b93b6da,0,1,700c2edd-c457-47b7-a7d3-5fb3d9078d1f,700c2edd-c457-47b7-a7d3-5fb3d9078d1f,0,1,82a3802c-b6d6-4511-bd8b-eeec003afa33,82a3802c-b6d6-4511-bd8b-eeec003afa33,0,1,8b59dec8-12b8-455f-8dfc-7c3f03b4ffa5,8b59dec8-12b8-455f-8dfc-7c3f03b4ffa5,0,1,b5eb2e12-c39c-44fa-b940-09b4dcd2817c,b5eb2e12-c39c-44fa-b940-09b4dcd2817c,0,1,5d5ffb56-e18b-4831-94f0-d7a76c2eee6f,5d5ffb56-e18b-4831-94f0-d7a76c2eee6f,0,1,590f29f4-2db1-47c6-83a0-f44d4bbe6e3e,590f29f4-2db1-47c6-83a0-f44d4bbe6e3e,0,1,a755cb43-492d-4069-9b6a-29b92ebb5b0e,a755cb43-492d-4069-9b6a-29b92ebb5b0e,0,1,86d09107-f511-4148-b5d9-d97e92addfde,86d09107-f511-4148-b5d9-d97e92addfde,0,1,c14c1f91-f4b9-44d6-b560-8dcdb5faf5f9,c14c1f91-f4b9-44d6-b560-8dcdb5faf5f9,0,1,55b78834-3d90-4858-a6f7-e0368b1d8c41,55b78834-3d90-4858-a6f7-e0368b1d8c41,0,1,059b9a75-f53a-4518-a48a-afc72ab9ee36,059b9a75-f53a-4518-a48a-afc72ab9ee36,0,1,bc0dcb68-bfb8-49f4-8eb4-2ca953d852bd,bc0dcb68-bfb8-49f4-8eb4-2ca953d852bd,0,1,31e95872-97c7-49e3-bd1b-8df4de07014d,31e95872-97c7-49e3-bd1b-8df4de07014d,0,1,8b9be02b-cd1f-4231-a895-6c9be26348c2,8b9be02b-cd1f-4231-a895-6c9be26348c2,0,1,c52c4b8c-6be7-460a-9b54-6cdf64e3f8fe,c52c4b8c-6be7-460a-9b54-6cdf64e3f8fe,0,1,fa4f0b33-5253-4a5f-8121-feae3e1968a6,fa4f0b33-5253-4a5f-8121-feae3e1968a6,0,1,e0d21be2-91dc-4a04-9078-49420ddddcd5,e0d21be2-91dc-4a04-9078-49420ddddcd5,0,1,56c97764-7dba-42e0-8ba0-82712aca20e9,56c97764-7dba-42e0-8ba0-82712aca20e9,0,1,03ad9b3d-8f3a-4482-a777-f6a3b3d953d6,03ad9b3d-8f3a-4482-a777-f6a3b3d953d6,0,1,3f05dcf9-be52-42e1-b5ff-dea14d97a26f,3f05dcf9-be52-42e1-b5ff-dea14d97a26f,0,1,ea868745-71fc-483c-aa6e-f242c06c673f,ea868745-71fc-483c-aa6e-f242c06c673f,0,1,7f3c6269-ea41-492f-87b7-7eaaf712762e,7f3c6269-ea41-492f-87b7-7eaaf712762e,0,1,a5d037b0-c666-4179-9d6a-5f48c4a126a8,a5d037b0-c666-4179-9d6a-5f48c4a126a8,0,1,f0850411-4dee-4f1d-baec-7d6c96b10637,f0850411-4dee-4f1d-baec-7d6c96b10637,0,1,12f95031-b81f-4802-b2f3-6f70def90db0,12f95031-b81f-4802-b2f3-6f70def90db0,0,1,5732112a-f31d-41cd-9a7f-312a27395502,5732112a-f31d-41cd-9a7f-312a27395502,0,1,bbf8342b-24f0-4d11-bb5a-4c89d5ea7766,bbf8342b-24f0-4d11-bb5a-4c89d5ea7766,0,1,06fc381d-f27a-433c-95c3-e0981e01f22b,06fc381d-f27a-433c-95c3-e0981e01f22b,0,1,f646835e-61eb-4ebd-811e-dac5e70bd1b4,f646835e-61eb-4ebd-811e-dac5e70bd1b4,0,1,61b49c4c-3021-4868-834a-9137476ae169,61b49c4c-3021-4868-834a-9137476ae169,0,1,58911911-5192-45fe-87cf-c4a222a521a1,58911911-5192-45fe-87cf-c4a222a521a1,0,1,70067937-9f27-4442-b87b-6c4576ce1b78,70067937-9f27-4442-b87b-6c4576ce1b78,0,1,115d5d06-a2fc-453e-aab5-c869b6d5850b,115d5d06-a2fc-453e-aab5-c869b6d5850b,0,1,d33ca006-d81d-4ef8-8503-7878e81c599f,d33ca006-d81d-4ef8-8503-7878e81c599f,0,1,123bb339-b95e-44c3-b1e9-482dcaa6f297,123bb339-b95e-44c3-b1e9-482dcaa6f297,0,1,f4119605-beb3-46b6-b372-ecdb74f10a33,f4119605-beb3-46b6-b372-ecdb74f10a33,0,1,d2a2e332-a52c-4277-bd19-5ea8ef198469,d2a2e332-a52c-4277-bd19-5ea8ef198469,0,1,e440c594-14bb-4a6e-af53-a4519c7d5548,e440c594-14bb-4a6e-af53-a4519c7d5548,0,1,4165bdaa-8e27-40de-bcdc-0379c34e8868,4165bdaa-8e27-40de-bcdc-0379c34e8868,0,1,a9a3fde2-99d5-4ebf-88b1-eccd9d74276e,a9a3fde2-99d5-4ebf-88b1-eccd9d74276e,0,1,e606f8eb-952a-4abb-b1ae-4211204bed84,e606f8eb-952a-4abb-b1ae-4211204bed84,0,1,7ddc3d13-fa6f-4fa9-870e-a34d5b2d9582,7ddc3d13-fa6f-4fa9-870e-a34d5b2d9582,0,1,1c2ad932-150a-4b15-b958-62eaa8a1eebc,1c2ad932-150a-4b15-b958-62eaa8a1eebc,0,1,b4deaebf-2c21-47d7-9436-10c94c94667c,b4deaebf-2c21-47d7-9436-10c94c94667c,0,1,f8295f29-2533-4013-981b-240f017d9f7c,f8295f29-2533-4013-981b-240f017d9f7c,0,1,538b316b-3876-4da6-8b97-ad8ef59de17d,538b316b-3876-4da6-8b97-ad8ef59de17d,0,1,f70f09fd-59e1-47b6-aaf3-cb4cc4ceaa7e,f70f09fd-59e1-47b6-aaf3-cb4cc4ceaa7e,0,1,ebc5f182-482b-4dec-9961-ce3a448abd0e,ebc5f182-482b-4dec-9961-ce3a448abd0e,0,1,83e618f5-1bf4-474a-9d65-389f1e4b16c3,83e618f5-1bf4-474a-9d65-389f1e4b16c3,0,1,1357512e-3ed3-455d-bc91-81db3b92f9fe,1357512e-3ed3-455d-bc91-81db3b92f9fe,0,1,82223d0f-41d9-45a6-9612-ae4d8408fa1b,82223d0f-41d9-45a6-9612-ae4d8408fa1b,0,1,3ee058a9-aff5-46f0-8928-8a417e7800d4,3ee058a9-aff5-46f0-8928-8a417e7800d4,0,1,c9a03f19-42bb-4e07-8ce8-1b954e431ada,c9a03f19-42bb-4e07-8ce8-1b954e431ada,0,1,ed4edc6f-048a-40d5-8f61-989895c95cf3,ed4edc6f-048a-40d5-8f61-989895c95cf3,0,1,dc17d8b6-d277-43eb-8823-71d440ae1e90,dc17d8b6-d277-43eb-8823-71d440ae1e90,0,1,c5b8bf21-5c8f-4e5b-8b85-bfac387ce99a,c5b8bf21-5c8f-4e5b-8b85-bfac387ce99a,0,1,d9a6706e-3dcd-4aec-b9d1-542330ba6e2e,d9a6706e-3dcd-4aec-b9d1-542330ba6e2e,0,1,7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2,7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2,0,1,cc770616-f6f6-4054-876c-f319b1f8c6cf,cc770616-f6f6-4054-876c-f319b1f8c6cf,0,1,8486e623-1a54-4ad9-ab44-591b6a559bc3,8486e623-1a54-4ad9-ab44-591b6a559bc3,0,1,dce82d28-9a7b-4d4c-af13-90f459cf4af2,dce82d28-9a7b-4d4c-af13-90f459cf4af2,0,1,cb9f2231-49bb-4b14-a124-8996628afead,cb9f2231-49bb-4b14-a124-8996628afead,0,1,dc1b8bce-49c5-4fd2-a597-27f1fbc98648,dc1b8bce-49c5-4fd2-a597-27f1fbc98648,0,1,ac4c6275-3c23-4a1f-b19e-c674fd685e8f,ac4c6275-3c23-4a1f-b19e-c674fd685e8f,0,1,896de79f-3c34-4436-a4e2-4dd4f45c3e20,896de79f-3c34-4436-a4e2-4dd4f45c3e20,0,1,25d118f0-bfb7-4f08-84b1-0511b0fc92e8,25d118f0-bfb7-4f08-84b1-0511b0fc92e8,0,1,e6c42b5d-57fd-42ce-a968-653620e797f6,e6c42b5d-57fd-42ce-a968-653620e797f6,0,1,724fb328-fec6-4afe-bc99-0ff0951b184b,724fb328-fec6-4afe-bc99-0ff0951b184b,0,1,f6259a3b-98f5-4649-8fd0-da0a0285f375,f6259a3b-98f5-4649-8fd0-da0a0285f375,0,1,c565bf25-c55e-4324-851a-cec497f5114a,c565bf25-c55e-4324-851a-cec497f5114a,0,1,b50994d0-23f9-4bf4-93d2-cf9bcffa6fc9,b50994d0-23f9-4bf4-93d2-cf9bcffa6fc9,0,1,5b0e250c-4d2d-4e37-ade1-593854610d3f,5b0e250c-4d2d-4e37-ade1-593854610d3f,0,1,148f63d5-23ad-4824-a24c-14d5a54c62d3,148f63d5-23ad-4824-a24c-14d5a54c62d3,0,1,d6cdd049-b31b-48aa-a2aa-a24b0bdf3337,d6cdd049-b31b-48aa-a2aa-a24b0bdf3337,0,1,041daf91-e5b3-471d-934d-55229f8a81d6,041daf91-e5b3-471d-934d-55229f8a81d6,0,1,eabfa8b7-fb65-43dd-9308-787f7cce88c9,eabfa8b7-fb65-43dd-9308-787f7cce88c9,0,1,30213cef-b2bc-4e6c-8094-74a61f28b2ed,30213cef-b2bc-4e6c-8094-74a61f28b2ed,0,1,8c72f824-b667-4d74-84aa-30eccfbbd2f0,8c72f824-b667-4d74-84aa-30eccfbbd2f0,0,1,ec7b492d-5d38-4f31-90e0-577ad181514e,ec7b492d-5d38-4f31-90e0-577ad181514e,0,1,da0686ce-25e2-4d2c-b152-283f5e4cf4b1,da0686ce-25e2-4d2c-b152-283f5e4cf4b1,0,1,4807629d-8421-4bd9-beb4-5b2940197958,4807629d-8421-4bd9-beb4-5b2940197958,0,1,cd6f96c7-33ee-42b1-bb81-ce7d9652337c,cd6f96c7-33ee-42b1-bb81-ce7d9652337c,0,1,766c7fb5-727e-4975-9ea1-3b0df4739620,766c7fb5-727e-4975-9ea1-3b0df4739620,0,1,ba59393c-c499-4999-91d4-b9e34d94db0e,ba59393c-c499-4999-91d4-b9e34d94db0e,0,1,fcf6a4cd-d0c9-4f83-b9b0-514baed3ccb9,fcf6a4cd-d0c9-4f83-b9b0-514baed3ccb9,0,1,3f92cffe-b4ea-45e3-b2b9-a9e316405a8c,3f92cffe-b4ea-45e3-b2b9-a9e316405a8c,0,1,e70a6eab-791f-4c70-bb92-f069c7486d1b,e70a6eab-791f-4c70-bb92-f069c7486d1b,0,1,f74f97b7-4cbf-4124-b441-d8bb5d9b1634,f74f97b7-4cbf-4124-b441-d8bb5d9b1634,0,1,a3a9a48b-f241-45b2-b93b-d34bba0a8a66,a3a9a48b-f241-45b2-b93b-d34bba0a8a66,0,1,f58bffe7-4a02-4c4e-bfed-7895177a400c,f58bffe7-4a02-4c4e-bfed-7895177a400c,0,1,fe285122-2257-4fb2-ab7e-1683c31db1c6,fe285122-2257-4fb2-ab7e-1683c31db1c6,0,1,0facc6eb-a178-45ee-a6bc-4bf085d80453,0facc6eb-a178-45ee-a6bc-4bf085d80453,0,1,f74eef36-9441-4b6f-b21c-de9643832f9f,f74eef36-9441-4b6f-b21c-de9643832f9f,0,1,ac2e5217-aaeb-4b6f-b063-538c84f2da06,ac2e5217-aaeb-4b6f-b063-538c84f2da06,0,1,b5e73fbe-499c-4666-a482-0ef399c97c1e,b5e73fbe-499c-4666-a482-0ef399c97c1e,0,1,a0811e0a-91b6-4c4b-a6d2-a57b9185983b,a0811e0a-91b6-4c4b-a6d2-a57b9185983b,0,1,4ac77dea-3c2b-4566-8857-ba99f7b025c9,4ac77dea-3c2b-4566-8857-ba99f7b025c9,0,1,8e87da88-9fa8-4dd8-b904-622b763239f4,8e87da88-9fa8-4dd8-b904-622b763239f4,0,1,09fec67d-6e45-428c-b858-9ae20979676c,09fec67d-6e45-428c-b858-9ae20979676c,0,1,58ffc4d9-d711-4b68-905c-d2ac4f78b547,58ffc4d9-d711-4b68-905c-d2ac4f78b547,0,1,94ab750f-46b4-427c-a7f2-4e94fb9b0678,94ab750f-46b4-427c-a7f2-4e94fb9b0678,0,1,397d9926-31a3-4c03-acb7-74478f9863e1,397d9926-31a3-4c03-acb7-74478f9863e1,0,1,264dd12a-b4c5-44bf-b3c0-ef9225505f76,264dd12a-b4c5-44bf-b3c0-ef9225505f76,0,1,90b8fdf3-3e42-442f-a002-6a28ad0edc99,90b8fdf3-3e42-442f-a002-6a28ad0edc99,0,1,92f35bea-50b8-4a1c-8fb2-a8c7df7a50db,92f35bea-50b8-4a1c-8fb2-a8c7df7a50db,0,1,82ba8c13-6567-4f0c-be0e-0884ce19bbcc,82ba8c13-6567-4f0c-be0e-0884ce19bbcc,0,1,a3e9afe9-1587-47c7-8e7b-b8df6b3a2664,a3e9afe9-1587-47c7-8e7b-b8df6b3a2664,0,1,0e31d69a-8d2c-4ad0-b3ac-93ba5afcefdf,0e31d69a-8d2c-4ad0-b3ac-93ba5afcefdf,0,1,89574884-bce2-406d-9961-d1656b306eb8,89574884-bce2-406d-9961-d1656b306eb8,0,1,3de28e34-3c1e-4e7f-a720-3418c8c9c496,3de28e34-3c1e-4e7f-a720-3418c8c9c496,0,1,7f2d69b4-2f87-40f4-a78c-fe4cabc2a502,7f2d69b4-2f87-40f4-a78c-fe4cabc2a502,0,1,dacb236e-42a5-47e5-b239-ff18ae48e21e,dacb236e-42a5-47e5-b239-ff18ae48e21e,0,1,5cdb6e71-fd20-461a-83db-d59ccdb5b366,5cdb6e71-fd20-461a-83db-d59ccdb5b366,0,1,388b8576-9ba4-460f-b71b-3d644663656a,388b8576-9ba4-460f-b71b-3d644663656a,0,1,d4d38827-fce6-4c39-a4b4-51c7d7edc475,d4d38827-fce6-4c39-a4b4-51c7d7edc475,0,1,2d40609d-b56f-4082-9a6f-8216817ebd24,2d40609d-b56f-4082-9a6f-8216817ebd24,0,1,b238b4b2-beaf-4b5d-a728-8aebac3bacb5,b238b4b2-beaf-4b5d-a728-8aebac3bacb5,0,1,732b19c8-4f22-4748-a796-71538e46fc2f,732b19c8-4f22-4748-a796-71538e46fc2f,0,1,9fb2169b-fc77-4a3f-a1d8-b939079d9d9d,9fb2169b-fc77-4a3f-a1d8-b939079d9d9d,0,1,3fe0ef25-ce56-435d-b343-eadfec91a636,3fe0ef25-ce56-435d-b343-eadfec91a636,0,1,6cb35d15-936f-4ca8-a196-8a9a75ce54dd,6cb35d15-936f-4ca8-a196-8a9a75ce54dd,0,1,74f02619-7fa8-4c6d-81d6-230156ee45f4,74f02619-7fa8-4c6d-81d6-230156ee45f4,0,1,a103cca0-8243-40e9-bcdd-97a1cc8a3943,a103cca0-8243-40e9-bcdd-97a1cc8a3943,0,1,80fd89d7-160d-4528-9aa0-05b8dac64b4c,80fd89d7-160d-4528-9aa0-05b8dac64b4c,0,1,4eb24fcd-85f6-4fa6-bc9f-baef3861664e,4eb24fcd-85f6-4fa6-bc9f-baef3861664e,0,1,da551cf6-4f86-4e37-8967-a84c80e1fb13,da551cf6-4f86-4e37-8967-a84c80e1fb13,0,1,5fb2c120-fd14-4e78-a35f-c8e9478b3235,5fb2c120-fd14-4e78-a35f-c8e9478b3235,0,1,9d514ce1-f9bd-4018-8107-545cdd372fbd,9d514ce1-f9bd-4018-8107-545cdd372fbd,0,1,fe6b732f-3a33-460f-9686-cffdd5f7d99b,fe6b732f-3a33-460f-9686-cffdd5f7d99b,0,1,06250212-aeb1-4cb8-8785-ea71b1dad848,06250212-aeb1-4cb8-8785-ea71b1dad848,0,1,0c068a61-e5e6-4475-96fa-b7c1d825da42,0c068a61-e5e6-4475-96fa-b7c1d825da42,0,1,1047e34d-397a-42cc-80e6-1be755bd6462,1047e34d-397a-42cc-80e6-1be755bd6462,0,1,1cd473c3-4e36-47a9-b466-73d86ec244b0,1cd473c3-4e36-47a9-b466-73d86ec244b0,0,1,c3e31dfd-b79b-49b9-9dc0-e2439bfe5ab7,c3e31dfd-b79b-49b9-9dc0-e2439bfe5ab7,0,1,b406b5f9-eeaf-43a0-8930-067554d783c9,b406b5f9-eeaf-43a0-8930-067554d783c9,0,1,47718840-2939-4e30-a72c-a20c88ac4c17,47718840-2939-4e30-a72c-a20c88ac4c17,0,1,58a38994-9fe4-4783-967d-79d1141b90f3,58a38994-9fe4-4783-967d-79d1141b90f3,0,1,6e23a4b2-f53c-41ea-9fef-8f4561b8e0cc,6e23a4b2-f53c-41ea-9fef-8f4561b8e0cc,0,1,7c2e35a8-d05d-4e52-baee-a1e13585c502,7c2e35a8-d05d-4e52-baee-a1e13585c502,0,1,5d8b60e5-d407-4d8a-b4fb-e26a36ab8180,5d8b60e5-d407-4d8a-b4fb-e26a36ab8180,0,1,f551f78a-2f05-4932-ac33-cfa1b077f46f,f551f78a-2f05-4932-ac33-cfa1b077f46f,0,1,a96091a7-d3a5-4893-8440-f360231bf468,a96091a7-d3a5-4893-8440-f360231bf468,0,1,9ce6eef0-5280-4374-9714-474ac571e4e2,9ce6eef0-5280-4374-9714-474ac571e4e2,0,1,aeb54e92-a1d0-46a1-b4cb-87d3c29fa30b,aeb54e92-a1d0-46a1-b4cb-87d3c29fa30b,0,1,8395bfb2-3cf4-4bec-b19b-eb6dd3aa7a39,8395bfb2-3cf4-4bec-b19b-eb6dd3aa7a39,0,1,eca79a64-3d00-4178-b4eb-cf5468622c96,eca79a64-3d00-4178-b4eb-cf5468622c96,0,1,60cd8bc4-6a5d-4d36-83d0-76a8477eda6a,60cd8bc4-6a5d-4d36-83d0-76a8477eda6a,0,1,6dc4c216-e49f-4833-b45f-6060b67995ef,6dc4c216-e49f-4833-b45f-6060b67995ef,0,1,4655fa12-9169-4d08-bdab-9b3174d0b223,4655fa12-9169-4d08-bdab-9b3174d0b223,0,1,6c07ddfb-8823-4953-9905-9550b847dc3f,6c07ddfb-8823-4953-9905-9550b847dc3f,0,1,2362a8d5-dca2-4527-acc0-63782377f28a,2362a8d5-dca2-4527-acc0-63782377f28a,0,1,dfd6d85c-a734-4458-83b0-87b5949f9c68,dfd6d85c-a734-4458-83b0-87b5949f9c68,0,1,4e3b0b9f-45b7-48a8-86c6-cc14a921aa78,4e3b0b9f-45b7-48a8-86c6-cc14a921aa78,0,1,ba5574bd-53ca-413f-a245-272f468a80fb,ba5574bd-53ca-413f-a245-272f468a80fb,0,1,79b6ecf5-8a6b-44a4-9587-5f8764463228,79b6ecf5-8a6b-44a4-9587-5f8764463228,0,1,cd49148c-e385-4b75-a758-a93196e73dba,cd49148c-e385-4b75-a758-a93196e73dba,0,1,ece15c4e-4a4b-421b-9f00-10f698da476b,ece15c4e-4a4b-421b-9f00-10f698da476b,0,1,6cb136cd-dc5c-4d85-8a0d-70b9f8bf70d5,6cb136cd-dc5c-4d85-8a0d-70b9f8bf70d5,0,1,300ecdd6-144f-48c8-9fd4-6166f1de1047,300ecdd6-144f-48c8-9fd4-6166f1de1047,0,1,b6bbfb59-8249-47af-9394-be262f118811,b6bbfb59-8249-47af-9394-be262f118811,0,1,15dab650-f7ed-42bc-8ca3-c104c3e68ce4,15dab650-f7ed-42bc-8ca3-c104c3e68ce4,0,1,fb63d488-fb91-4d08-8f8c-f4836538216f,fb63d488-fb91-4d08-8f8c-f4836538216f,0,1,b8be6c09-6880-45d3-a2d1-06ad72d069c9,b8be6c09-6880-45d3-a2d1-06ad72d069c9,0,1,3c1b10c7-3667-43f0-ac03-8cdaa84cb177,3c1b10c7-3667-43f0-ac03-8cdaa84cb177,0,1,148dd521-8754-451b-803b-cbee7c3d3965,148dd521-8754-451b-803b-cbee7c3d3965,0,1,38bc48c7-3938-47be-be3f-844f19561301,38bc48c7-3938-47be-be3f-844f19561301,0,1,4bdd09d5-6bc9-421f-99f0-ae905340f0d4,4bdd09d5-6bc9-421f-99f0-ae905340f0d4,0,1,147038fb-6154-41f3-aad6-547db27d1e43,147038fb-6154-41f3-aad6-547db27d1e43,0,1,832fa9d3-deab-4c57-b6e2-dee5d24d6100,832fa9d3-deab-4c57-b6e2-dee5d24d6100,0,1,dd4270ef-6b4c-491e-8871-959dbec14c53,dd4270ef-6b4c-491e-8871-959dbec14c53,0,1,c2b115d3-04f8-43c8-aed9-c61280b8cc3b,c2b115d3-04f8-43c8-aed9-c61280b8cc3b,0,1,8ccd9be8-ef26-49b9-8cee-03ae4e500386,8ccd9be8-ef26-49b9-8cee-03ae4e500386,0,1,ddca925c-fdcd-40ce-a504-4fca1758de3f,ddca925c-fdcd-40ce-a504-4fca1758de3f,0,1,f64de21f-5a7c-4a1a-a929-07fc53049f6c,f64de21f-5a7c-4a1a-a929-07fc53049f6c,0,1,470cdf43-07f4-46d5-aab2-d41f1e5da3cd,470cdf43-07f4-46d5-aab2-d41f1e5da3cd,0,1,ea653eca-f96a-447d-8b09-7a7cb6929ed6,ea653eca-f96a-447d-8b09-7a7cb6929ed6,0,1,5efc4bc4-b711-4620-8d2e-9d947c6cc141,5efc4bc4-b711-4620-8d2e-9d947c6cc141,0,1,ae52e48c-20ec-43cd-a9a5-b1753558e1d2,ae52e48c-20ec-43cd-a9a5-b1753558e1d2,0,1,5e08154e-bd8b-4e61-8a6c-b5b500f12b99,5e08154e-bd8b-4e61-8a6c-b5b500f12b99,0,1,39af0f4c-0f0d-4e9a-aa63-d0eee3985b4e,39af0f4c-0f0d-4e9a-aa63-d0eee3985b4e,0,1,2b72fe1c-afe1-4905-8db2-2bb1baca6295,2b72fe1c-afe1-4905-8db2-2bb1baca6295,0,1,4bc4c6db-0ef8-405f-8875-b4cb1540aeb5,4bc4c6db-0ef8-405f-8875-b4cb1540aeb5,0,1,dbd8391c-a174-43d6-a8db-d9ab76b4edbe,dbd8391c-a174-43d6-a8db-d9ab76b4edbe,0,1,ce5f5470-b704-4f55-8dc8-17cf2c2b367a,ce5f5470-b704-4f55-8dc8-17cf2c2b367a,0,1,ecfc7ede-fffb-4bea-9598-3e18845f603d,ecfc7ede-fffb-4bea-9598-3e18845f603d,0,1,fa44433b-1c44-45a0-9487-47aa092442cf,fa44433b-1c44-45a0-9487-47aa092442cf,0,1,041cecfd-cef2-45d9-90e8-afe0d97d2d95,041cecfd-cef2-45d9-90e8-afe0d97d2d95,0,1,d9d14a24-c023-4b69-ad57-30d1474e1232,d9d14a24-c023-4b69-ad57-30d1474e1232,0,1,0943dd00-1653-4760-a9fe-ebc083ffa660,0943dd00-1653-4760-a9fe-ebc083ffa660,0,1,4fb8564e-2338-4c23-84a4-31f768047ced,4fb8564e-2338-4c23-84a4-31f768047ced,0,1,6179c7bf-08d6-4600-8cdc-ea6d4187bd55,6179c7bf-08d6-4600-8cdc-ea6d4187bd55,0,1,f93c9a7f-0249-421e-b3d0-55f02d130017,f93c9a7f-0249-421e-b3d0-55f02d130017,0,1,062c507a-9d35-4eb5-bb91-d106a535a503,062c507a-9d35-4eb5-bb91-d106a535a503,0,1,fd317d96-380e-4ee7-a25b-401e8521cc7a,fd317d96-380e-4ee7-a25b-401e8521cc7a,0,1,3b380a63-9232-42c2-bfa2-e8fc89448bbd,3b380a63-9232-42c2-bfa2-e8fc89448bbd,0,1,e18b4527-8727-4a10-9e99-a80012debe6c,e18b4527-8727-4a10-9e99-a80012debe6c,0,1,1ed910db-e434-4efd-9b12-c25353a31d5a,1ed910db-e434-4efd-9b12-c25353a31d5a,0,1,10556a26-ea4b-46b4-84d1-175eb13b333f,10556a26-ea4b-46b4-84d1-175eb13b333f,0,1,f1e600b0-55ed-4611-b147-f04d5621796b,f1e600b0-55ed-4611-b147-f04d5621796b,1,0,76702e9e-fa7a-4b98-befa-f9b37db2dae0,76702e9e-fa7a-4b98-befa-f9b37db2dae0,1,0,101a4eb3-cdda-47af-8c69-615a6920347a,101a4eb3-cdda-47af-8c69-615a6920347a,1,0,cf19f220-f6d4-4c9e-b5d5-9d94234f0a2c,cf19f220-f6d4-4c9e-b5d5-9d94234f0a2c,1,0,f410a5db-8698-44ca-9ff6-2c530e1f5c2a,f410a5db-8698-44ca-9ff6-2c530e1f5c2a,1,0,f79bada2-838f-4e4f-a017-935cf671a70c,f79bada2-838f-4e4f-a017-935cf671a70c,1,0,ed394820-a216-4c4b-81ae-5dea33ced43b,ed394820-a216-4c4b-81ae-5dea33ced43b,1,0,3f3a0b1b-04ce-47c1-928d-5e3483e9fd73,3f3a0b1b-04ce-47c1-928d-5e3483e9fd73,1,0,8a310493-c06f-46db-b2b5-14d6ed203312,8a310493-c06f-46db-b2b5-14d6ed203312,1,0,b68ec95b-64f3-4a2b-9683-231d50f01eeb,b68ec95b-64f3-4a2b-9683-231d50f01eeb,1,0,4a008342-f72f-4ca1-bad1-64b59b509911,4a008342-f72f-4ca1-bad1-64b59b509911,1,0,cefa1723-a4d4-44c4-bd57-ffa713f9306c,cefa1723-a4d4-44c4-bd57-ffa713f9306c,1,0,8d8b91c0-c0ab-4b9d-b854-b867063ddb5b,8d8b91c0-c0ab-4b9d-b854-b867063ddb5b,1,0,4920aabf-6f53-4f91-932a-8ace24631a74,4920aabf-6f53-4f91-932a-8ace24631a74,1,0,ce7a7f72-9d7d-4240-b852-e83b4b8d944b,ce7a7f72-9d7d-4240-b852-e83b4b8d944b,1,0,7309e58d-b0d4-4e0f-a74d-68cab03fea8e,7309e58d-b0d4-4e0f-a74d-68cab03fea8e,1,0,bbec9c3d-31dd-484e-ab32-41ef845f1370,bbec9c3d-31dd-484e-ab32-41ef845f1370,1,0,8692ba41-d91d-4af0-8aba-69dd5409d593,8692ba41-d91d-4af0-8aba-69dd5409d593,1,0,5bfd74f4-811a-45db-b33d-8f93ba9c873a,5bfd74f4-811a-45db-b33d-8f93ba9c873a,1,0,a95b564a-c895-40f2-b947-ea08462bb2a0,a95b564a-c895-40f2-b947-ea08462bb2a0,1,0,ca63ca2f-703d-4317-8c5d-0650ea638f3f,ca63ca2f-703d-4317-8c5d-0650ea638f3f,1,0,aa2256c7-9847-40a5-9e49-11c508e0d45b,aa2256c7-9847-40a5-9e49-11c508e0d45b,1,0,a04493f4-508c-4047-b0e3-b7d4bde6427b,a04493f4-508c-4047-b0e3-b7d4bde6427b,1,0,418982cd-d403-47cf-a7ef-993a36104947,418982cd-d403-47cf-a7ef-993a36104947,1,0,485ebc6a-0e3e-4278-8ef1-c6194d6d5015,485ebc6a-0e3e-4278-8ef1-c6194d6d5015,1,0,816c8143-8b02-4f4a-8eb1-44c7fb36afcc,816c8143-8b02-4f4a-8eb1-44c7fb36afcc,1,0,35eea3b8-d017-442a-b5a0-a1571165b9a9,35eea3b8-d017-442a-b5a0-a1571165b9a9,1,0,7e84901c-cb7f-437c-a135-0902cd47acb6,7e84901c-cb7f-437c-a135-0902cd47acb6,1,0,c4d67026-2c97-4126-b8be-49aa6f567e2d,c4d67026-2c97-4126-b8be-49aa6f567e2d,1,0,fda2906d-f499-4016-b13a-99f7f713b898,fda2906d-f499-4016-b13a-99f7f713b898,1,0,da2b47f5-4109-4f72-a4a5-70be24a6881f,da2b47f5-4109-4f72-a4a5-70be24a6881f,1,0,849f034e-85dc-4515-aae6-240c1e0d46d9,849f034e-85dc-4515-aae6-240c1e0d46d9,1,0,de4d37c9-b278-4c0c-bc10-1b63ecd72947,de4d37c9-b278-4c0c-bc10-1b63ecd72947,1,0,1c7e9baa-7728-4afd-829a-806cee13ecdb,1c7e9baa-7728-4afd-829a-806cee13ecdb,1,0,5d75aae8-9d9c-4a47-b8c0-2ce56431fe53,5d75aae8-9d9c-4a47-b8c0-2ce56431fe53,1,0,5a741cf6-8160-4409-9396-2e6d1e67e6fa,5a741cf6-8160-4409-9396-2e6d1e67e6fa,1,0,8242daae-181a-47df-b28e-c1de3fce0359,8242daae-181a-47df-b28e-c1de3fce0359,1,0,5cc3a29d-aa98-42bf-9800-f584229c8e46,5cc3a29d-aa98-42bf-9800-f584229c8e46,1,0,db82191f-77bd-44da-8b33-86f01018e25a,db82191f-77bd-44da-8b33-86f01018e25a,1,0,acfa1919-07ce-4464-8552-6b104e284dca,acfa1919-07ce-4464-8552-6b104e284dca,1,0,497ce8f3-f6f0-4da8-aeb0-0fa01bb26dc6,497ce8f3-f6f0-4da8-aeb0-0fa01bb26dc6,1,0,f4cff4ff-68e9-4072-971e-1b359d3aa980,f4cff4ff-68e9-4072-971e-1b359d3aa980,1,0,6f9fba85-7c04-4e07-bc93-8ad79cbdca85,6f9fba85-7c04-4e07-bc93-8ad79cbdca85,1,0,fdb012c9-583a-42af-95da-070e75a58078,fdb012c9-583a-42af-95da-070e75a58078,1,0,40a52f83-f0e2-470d-9c17-7fdc8cc646b7,40a52f83-f0e2-470d-9c17-7fdc8cc646b7,1,0,7d069b11-cddd-463d-97be-3cbeaaf0954c,7d069b11-cddd-463d-97be-3cbeaaf0954c,1,0,8c5fae4c-b5b6-4e05-9453-4ac5de07c54c,8c5fae4c-b5b6-4e05-9453-4ac5de07c54c,1,0,7531fb7c-a4ae-42df-b8e5-d8bfcb66be52,7531fb7c-a4ae-42df-b8e5-d8bfcb66be52,1,0,d1b950b0-dd66-49f9-998e-3ae5e820ae7f,d1b950b0-dd66-49f9-998e-3ae5e820ae7f,1,0,57e39881-cbf9-4cac-9ed0-bf4a6ea667ee,57e39881-cbf9-4cac-9ed0-bf4a6ea667ee,1,0,b9004626-915c-44c8-9cb7-25e5b627ee83,b9004626-915c-44c8-9cb7-25e5b627ee83,1,0,63c6cfad-124d-491a-829d-b298463c95e6,63c6cfad-124d-491a-829d-b298463c95e6,1,0,3da31d2f-24dd-469b-bd3b-073fa3b3d585,3da31d2f-24dd-469b-bd3b-073fa3b3d585,1,0,737404de-5b9d-4445-81c5-2c5b50b36846,737404de-5b9d-4445-81c5-2c5b50b36846,1,0,1ae364d3-0bec-4089-af23-c60d2a274c85,1ae364d3-0bec-4089-af23-c60d2a274c85,1,0,1c1a5bf8-bbe6-4a69-973e-11445175dac2,1c1a5bf8-bbe6-4a69-973e-11445175dac2,1,0,f11ffcfd-3588-4785-b222-cebe80455303,f11ffcfd-3588-4785-b222-cebe80455303,1,0,5d216c28-0724-4e7d-86cf-b6f75e7e28b7,5d216c28-0724-4e7d-86cf-b6f75e7e28b7,1,0,bfdc6346-db5b-427f-acca-9b48db8fefd0,bfdc6346-db5b-427f-acca-9b48db8fefd0,1,0,1c3f258c-345e-47f6-9e29-98b1222fb348,1c3f258c-345e-47f6-9e29-98b1222fb348,1,0,dfafcdf3-cdeb-4822-9f41-a730d9d3fb24,dfafcdf3-cdeb-4822-9f41-a730d9d3fb24,1,0,35c938f4-065f-47f5-a75b-637ed0080725,35c938f4-065f-47f5-a75b-637ed0080725,0,1,e14c0841-226c-4c79-bec9-cfc8d2c3a160,e14c0841-226c-4c79-bec9-cfc8d2c3a160,0,1,6f3c5b90-b030-4267-a973-33d12c2c7680,6f3c5b90-b030-4267-a973-33d12c2c7680,0,1,1ff8210b-26c5-4429-b580-7c6ec7c9b63a,1ff8210b-26c5-4429-b580-7c6ec7c9b63a,0,1,b107a4a8-0db8-44f4-93f7-9f231e850398,b107a4a8-0db8-44f4-93f7-9f231e850398,0,1,88b879b7-1bb3-4478-b569-35bdb5c56939,88b879b7-1bb3-4478-b569-35bdb5c56939,0,1,7a62d031-c340-4b1e-90af-fff697a2e979,7a62d031-c340-4b1e-90af-fff697a2e979,0,1,18bf6916-83cc-41e5-a35b-1489450ae632,18bf6916-83cc-41e5-a35b-1489450ae632,0,1,ebab97cf-5335-4648-9845-8ca41f79fb49,ebab97cf-5335-4648-9845-8ca41f79fb49,0,1,bb29fa44-6772-4426-a0b8-422115e14288,bb29fa44-6772-4426-a0b8-422115e14288,0,1,a5cc5ae2-be80-4957-8aca-9e477433dfcc,a5cc5ae2-be80-4957-8aca-9e477433dfcc,0,1,62fa393c-687c-49bf-8a25-81adc04430fb,62fa393c-687c-49bf-8a25-81adc04430fb,0,1,36d7d739-b198-487d-8644-76589356c2ec,36d7d739-b198-487d-8644-76589356c2ec,0,1,904e1209-91d8-49b1-b291-364ef728cbbf,904e1209-91d8-49b1-b291-364ef728cbbf,0,1,1198f2ee-b8a8-456d-9461-61bc5d42c7a1,1198f2ee-b8a8-456d-9461-61bc5d42c7a1,0,1,b8ecb7f0-ef40-4d31-9ec2-a731439d3200,b8ecb7f0-ef40-4d31-9ec2-a731439d3200,0,1,e4da2959-0fb0-48fb-a5aa-e7a5589d69c3,e4da2959-0fb0-48fb-a5aa-e7a5589d69c3,0,1,e51ae56c-d311-46b7-8d4c-19a432f4cd16,e51ae56c-d311-46b7-8d4c-19a432f4cd16,0,1,e000d04e-37eb-4d95-a833-b0a9b10ee0b9,e000d04e-37eb-4d95-a833-b0a9b10ee0b9,0,1,40d3ed07-3b56-4c9f-8b96-d94455202ef0,40d3ed07-3b56-4c9f-8b96-d94455202ef0,0,1,b5365cb6-a4e7-479b-82f4-f4ad80fcd7c9,b5365cb6-a4e7-479b-82f4-f4ad80fcd7c9,0,1,84282afa-21f5-40db-9386-e6f741c9a06c,84282afa-21f5-40db-9386-e6f741c9a06c,0,1,5b3b3da9-8619-4fbd-b140-3528875cd179,5b3b3da9-8619-4fbd-b140-3528875cd179,0,1,99e5e866-7ac6-4916-ab66-3e2909822c56,99e5e866-7ac6-4916-ab66-3e2909822c56,0,1,03363877-2752-4a03-95f2-d73b732e0bfd,03363877-2752-4a03-95f2-d73b732e0bfd,0,1,8d9d2284-e592-44c5-93bb-247037ab6b95,8d9d2284-e592-44c5-93bb-247037ab6b95,0,1,0b0d2b7c-d52e-4163-83cf-a7e86bb47c47,0b0d2b7c-d52e-4163-83cf-a7e86bb47c47,0,1,78051e10-74ab-44be-adca-e4c93824a386,78051e10-74ab-44be-adca-e4c93824a386,0,1,73629419-83d8-4727-88a9-76c851d104c9,73629419-83d8-4727-88a9-76c851d104c9,0,1,a9c3065b-db68-4f59-9235-33f9fbfdaafd,a9c3065b-db68-4f59-9235-33f9fbfdaafd,0,1,3715cf3d-0abc-4711-8ac9-d41f0be7878f,3715cf3d-0abc-4711-8ac9-d41f0be7878f,0,1,8e8d8078-8b32-4c24-b26e-89a92bf60160,8e8d8078-8b32-4c24-b26e-89a92bf60160,0,1,f96cbb27-7619-41e0-8577-e623ef02dc58,f96cbb27-7619-41e0-8577-e623ef02dc58,0,1,d74dfd31-2016-435b-8652-15fdbca59490,d74dfd31-2016-435b-8652-15fdbca59490,0,1,ba8111a9-1d33-4615-ad0b-b3e923b2f3bd,ba8111a9-1d33-4615-ad0b-b3e923b2f3bd,0,1,27651e0e-d560-434b-a49c-f473a5b20c4d,27651e0e-d560-434b-a49c-f473a5b20c4d,0,1,dab1491b-0685-442d-b945-2bfde3f37933,dab1491b-0685-442d-b945-2bfde3f37933,0,1,ce85554b-81ba-4149-a951-d09bdc14fa16,ce85554b-81ba-4149-a951-d09bdc14fa16,0,1,23a1ef35-1469-44ea-8535-fa9c7f535cae,23a1ef35-1469-44ea-8535-fa9c7f535cae,0,1,8c7d74bf-2865-47d9-8a16-5b0db1104a3a,8c7d74bf-2865-47d9-8a16-5b0db1104a3a,0,1,2558d812-ac0a-49ba-87db-3f661209a3c4,2558d812-ac0a-49ba-87db-3f661209a3c4,0,1,20d712ef-77c1-4374-92e1-f20a3ebc7eab,20d712ef-77c1-4374-92e1-f20a3ebc7eab,0,1,65d23ce8-e326-45ee-86b0-6dcf35797201,65d23ce8-e326-45ee-86b0-6dcf35797201,0,1,a2683c3f-1b21-47d8-951d-7d30cde51efc,a2683c3f-1b21-47d8-951d-7d30cde51efc,0,1,54c77053-1728-4914-a354-73fe8853a0e1,54c77053-1728-4914-a354-73fe8853a0e1,0,1,21136691-078f-4bf7-bddd-f41416a76d86,21136691-078f-4bf7-bddd-f41416a76d86,0,1,30a121c7-c4f5-45c4-9504-9778ed85d9e3,30a121c7-c4f5-45c4-9504-9778ed85d9e3,0,1,c68e2157-2541-4f80-966a-d68ce603f131,c68e2157-2541-4f80-966a-d68ce603f131,0,1,e5dfee58-f748-48ee-81a3-7c6133f06365,e5dfee58-f748-48ee-81a3-7c6133f06365,0,1,68500931-89e0-491e-aba8-b013c9e6f8c3,68500931-89e0-491e-aba8-b013c9e6f8c3,0,1,70b79e56-bb71-4f38-93cf-94dda79d9b4c,70b79e56-bb71-4f38-93cf-94dda79d9b4c,0,1,5c4c9931-3fb0-47a8-9e4f-d552de12b355,5c4c9931-3fb0-47a8-9e4f-d552de12b355,0,1,2a498baf-ec2e-4dda-b568-801bb60db225,2a498baf-ec2e-4dda-b568-801bb60db225,0,1,8a32af97-cdb5-46b4-ab7b-e1509e26ecc3,8a32af97-cdb5-46b4-ab7b-e1509e26ecc3,0,1,35989876-16b1-4b02-9381-444a06a7a21d,35989876-16b1-4b02-9381-444a06a7a21d,0,1,9f59f8cd-8d61-4fbc-ae6e-32f28ce0035a,9f59f8cd-8d61-4fbc-ae6e-32f28ce0035a,0,1,f7608000-1e8a-4ca4-afb7-e04ef547b70a,f7608000-1e8a-4ca4-afb7-e04ef547b70a,0,1,26cea519-19d0-4707-be0a-1a43fde6e563,26cea519-19d0-4707-be0a-1a43fde6e563,0,1,a3d599b9-89d1-4386-8c5b-1c2a9905e6e2,a3d599b9-89d1-4386-8c5b-1c2a9905e6e2,0,1,9fb3e902-3154-4bab-9bfe-9a266dc49fa5,9fb3e902-3154-4bab-9bfe-9a266dc49fa5,0,1,60c04f0a-78a8-4c55-8844-b86906350fd1,60c04f0a-78a8-4c55-8844-b86906350fd1,0,1,851306a7-8847-4b43-8214-898bfc24b0ab,851306a7-8847-4b43-8214-898bfc24b0ab,0,1,af8d4bc9-2f0f-44d3-89ce-2593877055c8,af8d4bc9-2f0f-44d3-89ce-2593877055c8,0,1,344fb829-a1cc-4b17-8f98-2d4f93bfcd6a,344fb829-a1cc-4b17-8f98-2d4f93bfcd6a,0,1,eb35bff2-8467-48fe-bf93-ece2aa40f506,eb35bff2-8467-48fe-bf93-ece2aa40f506,0,1,68cf55da-b29e-4a65-815b-c9cdc8e5888e,68cf55da-b29e-4a65-815b-c9cdc8e5888e,0,1,a9f927ef-22a2-4d77-8648-4bb25eeaccf2,a9f927ef-22a2-4d77-8648-4bb25eeaccf2,0,1,1041ed81-c1f7-43b2-9087-914865a3076e,1041ed81-c1f7-43b2-9087-914865a3076e,0,1,5d7174d2-42b3-4e12-b705-4209dd73b53b,5d7174d2-42b3-4e12-b705-4209dd73b53b,0,1,b1b5bf08-1c57-4875-87bb-ad1fa1a3251f,b1b5bf08-1c57-4875-87bb-ad1fa1a3251f,0,1,e00dcab4-5e92-44e3-bcdf-a31dd32a195f,e00dcab4-5e92-44e3-bcdf-a31dd32a195f,0,1,5a4c6511-f8ed-40e4-a251-e28f62629cf2,5a4c6511-f8ed-40e4-a251-e28f62629cf2,0,1,cfe59dfd-a509-4f83-b926-b3ff94234a43,cfe59dfd-a509-4f83-b926-b3ff94234a43,0,1,17df1591-61b0-4204-8379-8d1f58445968,17df1591-61b0-4204-8379-8d1f58445968,0,1,9020fa9d-e7de-4574-ab65-db6651b5b610,9020fa9d-e7de-4574-ab65-db6651b5b610,0,1,3309648c-aae6-4684-ae8d-7ed636bc3468,3309648c-aae6-4684-ae8d-7ed636bc3468,0,1,f9aa933e-6684-48de-b802-96c8e61b1fe6,f9aa933e-6684-48de-b802-96c8e61b1fe6,0,1,9de4d430-95ec-4435-b3e8-4fc85778d517,9de4d430-95ec-4435-b3e8-4fc85778d517,0,1,205b8908-fa21-42bd-bff0-fb95e6787f15,205b8908-fa21-42bd-bff0-fb95e6787f15,0,1,5320abf1-b09b-4de0-9adf-4cb1da31df6f,5320abf1-b09b-4de0-9adf-4cb1da31df6f,0,1,3916ddbd-9023-42a4-849e-9cda6e591408,3916ddbd-9023-42a4-849e-9cda6e591408,0,1,5e9e42c5-dcbc-422f-acce-4f11a63dbb85,5e9e42c5-dcbc-422f-acce-4f11a63dbb85,0,1,6903ffe4-42c1-4708-a1b0-bb67cd3f9e4c,6903ffe4-42c1-4708-a1b0-bb67cd3f9e4c,0,1,96d66cdd-d40c-43a3-92ce-40aef2101b64,96d66cdd-d40c-43a3-92ce-40aef2101b64,0,1,9daa8270-4782-4d83-af03-c8d2b11057ff,9daa8270-4782-4d83-af03-c8d2b11057ff,0,1,4b8927df-e124-4bf6-9d70-6e91b4796d90,4b8927df-e124-4bf6-9d70-6e91b4796d90,0,1,871b63a2-c7a6-4343-8d8b-7dda1b0def87,871b63a2-c7a6-4343-8d8b-7dda1b0def87,0,1,fc78d8df-ab27-4544-a65c-73908b9c5425,fc78d8df-ab27-4544-a65c-73908b9c5425,0,1,f8a090d2-b2d1-4ead-a8bf-6325a7552743,f8a090d2-b2d1-4ead-a8bf-6325a7552743,0,1,84f935da-9fe5-44ea-845b-b447b8b0a6f5,84f935da-9fe5-44ea-845b-b447b8b0a6f5,0,1,caf79125-bde8-4f52-8ad2-f915c7a884cc,caf79125-bde8-4f52-8ad2-f915c7a884cc,0,1,a9a0db31-6808-4790-be72-f345197b0c6e,a9a0db31-6808-4790-be72-f345197b0c6e,0,1,36554213-9af4-4fec-8944-35f50b306eda,36554213-9af4-4fec-8944-35f50b306eda,0,1,c770bdd5-c7c0-4751-b31d-46c0ea1f49b7,c770bdd5-c7c0-4751-b31d-46c0ea1f49b7,0,1,6afcc089-7f15-42e8-97b5-6aad6cf2e6f9,6afcc089-7f15-42e8-97b5-6aad6cf2e6f9,0,1,cce4c615-dc29-42b3-9d3d-b277dde4a2e4,cce4c615-dc29-42b3-9d3d-b277dde4a2e4,0,1,33343620-673e-4aa3-9e58-c6a25f738001,33343620-673e-4aa3-9e58-c6a25f738001,0,1,8aaf780f-ed74-4f44-9598-c14180053ff9,8aaf780f-ed74-4f44-9598-c14180053ff9,0,1,dbd4d09d-f410-4453-9143-bd72da5464cc,dbd4d09d-f410-4453-9143-bd72da5464cc,0,1,f1bc5034-a4b5-4fa9-97db-d43c2b7e8d36,f1bc5034-a4b5-4fa9-97db-d43c2b7e8d36,0,1,c4fe10b6-d025-4736-be23-3113bd7fe7b4,c4fe10b6-d025-4736-be23-3113bd7fe7b4,0,1,65530aca-7cf2-4a52-b5be-5dcbc15a049e,65530aca-7cf2-4a52-b5be-5dcbc15a049e,0,1,15eb2c2d-305d-42c0-9aec-936b82114bdb,15eb2c2d-305d-42c0-9aec-936b82114bdb,0,1,bb99bc44-f83e-48bb-93fd-7b07ca7da6a7,bb99bc44-f83e-48bb-93fd-7b07ca7da6a7,0,1,cbca7272-2aae-4e21-b3f5-12786f085648,cbca7272-2aae-4e21-b3f5-12786f085648,0,1,7718bd0b-7b8a-4ffc-b228-f05683b5531a,7718bd0b-7b8a-4ffc-b228-f05683b5531a,0,1,38aeb32b-9e3b-4b4a-9a61-97da63cdea48,38aeb32b-9e3b-4b4a-9a61-97da63cdea48,0,1,881f53bc-a52e-4312-b09d-3d3f53ddf84b,881f53bc-a52e-4312-b09d-3d3f53ddf84b,0,1,2e36a7b3-5331-4fab-a0a3-31b42a8387fe,2e36a7b3-5331-4fab-a0a3-31b42a8387fe,0,1,e3476d0e-0ab4-4734-9261-04aef6281086,e3476d0e-0ab4-4734-9261-04aef6281086,0,1,945ae8d2-b74a-41e9-b740-c82acdd40d04,945ae8d2-b74a-41e9-b740-c82acdd40d04,0,1,29c37223-de1c-49fb-8488-77e44dd79edd,29c37223-de1c-49fb-8488-77e44dd79edd,0,1,2c97a626-cd7e-4796-b77c-0bc9d190680b,2c97a626-cd7e-4796-b77c-0bc9d190680b,0,1,498ab1ed-5042-4d73-9138-73ed547e46e2,498ab1ed-5042-4d73-9138-73ed547e46e2,0,1,f561be64-9420-46ec-a4f7-9df0bea2e28b,f561be64-9420-46ec-a4f7-9df0bea2e28b,0,1,e9e242b7-0077-4c47-8f45-df50e7cc90cf,e9e242b7-0077-4c47-8f45-df50e7cc90cf,0,1,820383e1-9b95-4c0f-8464-722f1fe64ad5,820383e1-9b95-4c0f-8464-722f1fe64ad5,0,1,3d6cf2ab-29b2-45af-a6e2-8796284acf2d,3d6cf2ab-29b2-45af-a6e2-8796284acf2d,0,1,292bfe6b-703e-40cb-856d-abb470e6709f,292bfe6b-703e-40cb-856d-abb470e6709f,0,1,276c42ca-f5e0-4bb4-9b89-a925def35cb1,276c42ca-f5e0-4bb4-9b89-a925def35cb1,0,1,41a9cabc-5667-4ca0-a798-ba0b22bd1aa0,41a9cabc-5667-4ca0-a798-ba0b22bd1aa0,0,1,1bf44c42-87c0-4f2e-846c-b04d0b7e8d7d,1bf44c42-87c0-4f2e-846c-b04d0b7e8d7d,0,1,8811ea1a-1221-47b7-9574-3f36ff15a3cf,8811ea1a-1221-47b7-9574-3f36ff15a3cf,0,1,a84891cc-e996-489a-abde-5b5af166a057,a84891cc-e996-489a-abde-5b5af166a057,0,1,1d715463-691b-4c01-ae39-57c261f2a6ad,1d715463-691b-4c01-ae39-57c261f2a6ad,0,1,4c3d007f-a62c-4fd9-beda-58dbf08ad188,4c3d007f-a62c-4fd9-beda-58dbf08ad188,0,1,c35373a9-f0b0-4ddb-a985-409ac9c64609,c35373a9-f0b0-4ddb-a985-409ac9c64609,0,1,c1c40916-fee5-46e3-90fc-10e7595866c9,c1c40916-fee5-46e3-90fc-10e7595866c9,0,1,19a307b1-9ef0-4fc6-bf4f-7636e9118399,19a307b1-9ef0-4fc6-bf4f-7636e9118399,0,1,666244a4-5636-4405-89dd-bbd8f4278071,666244a4-5636-4405-89dd-bbd8f4278071,0,1,8b79f0e3-9024-4073-aa6b-a42beed9b0c6,8b79f0e3-9024-4073-aa6b-a42beed9b0c6,0,1,29a627a9-debc-4074-88d0-ec3561e1ef9c,29a627a9-debc-4074-88d0-ec3561e1ef9c,0,1,5a01a002-8833-4c89-b8d6-9b63fc49d3b6,5a01a002-8833-4c89-b8d6-9b63fc49d3b6,0,1,39f5e272-9a10-40b0-8a10-92037828b206,39f5e272-9a10-40b0-8a10-92037828b206,0,1,87dad256-122b-4d7e-b249-a2c313a9cf33,87dad256-122b-4d7e-b249-a2c313a9cf33,0,1,57a030fb-ed57-4ffc-a462-c7bbd2435c3d,57a030fb-ed57-4ffc-a462-c7bbd2435c3d,0,1,958033a6-2a8e-473a-903b-34eee6507f5a,958033a6-2a8e-473a-903b-34eee6507f5a,0,1,b722d6e1-fd6f-4bb4-923d-01764393722d,b722d6e1-fd6f-4bb4-923d-01764393722d,0,1,ac5f945e-2d03-44fb-a8cf-5d786194cefd,ac5f945e-2d03-44fb-a8cf-5d786194cefd,0,1,698ec00f-bf75-420e-81ab-a98808daf3f7,698ec00f-bf75-420e-81ab-a98808daf3f7,0,1,f441907c-d02e-431e-baf4-1854e48a1f50,f441907c-d02e-431e-baf4-1854e48a1f50,0,1,4ad722ca-10fc-4a83-91c9-ef0012685f89,4ad722ca-10fc-4a83-91c9-ef0012685f89,0,1,783dd4ba-a597-45ba-8989-2ed5224d62bc,783dd4ba-a597-45ba-8989-2ed5224d62bc,0,1,97aaede5-d32f-4eba-b0e0-5ae5f094a8b7,97aaede5-d32f-4eba-b0e0-5ae5f094a8b7,0,1,d9e08c12-1999-41d8-b530-90187303be0a,d9e08c12-1999-41d8-b530-90187303be0a,0,1,dad9710a-73ca-4e0d-b98b-75f955d0822d,dad9710a-73ca-4e0d-b98b-75f955d0822d,0,1,d01beeab-7c42-4d5e-a2f6-f190b9f703a5,d01beeab-7c42-4d5e-a2f6-f190b9f703a5,0,1,2191939f-6f71-47c9-a3d2-57acbf7f411e,2191939f-6f71-47c9-a3d2-57acbf7f411e,0,1,19b9cbbb-1fcc-4492-9385-687742cb3d0b,19b9cbbb-1fcc-4492-9385-687742cb3d0b,0,1,247c41dd-c8dc-43dd-b348-1ba31ee92065,247c41dd-c8dc-43dd-b348-1ba31ee92065,0,1,dbad3cee-0d5c-41f6-819f-1a2b5251b62c,dbad3cee-0d5c-41f6-819f-1a2b5251b62c,0,1,da673406-078d-44c8-9d27-80ef172c4b5e,da673406-078d-44c8-9d27-80ef172c4b5e,0,1,75e77f99-b9d1-4bc0-93aa-c77a93d760d3,75e77f99-b9d1-4bc0-93aa-c77a93d760d3,0,1,a2c36563-126d-4c3a-9714-5b7a4903073b,a2c36563-126d-4c3a-9714-5b7a4903073b,0,1,2e4da82c-dddb-4462-b34f-6511cd2a8356,2e4da82c-dddb-4462-b34f-6511cd2a8356,0,1,c7da3115-3cee-4282-a2f2-4e0b5558e4fc,c7da3115-3cee-4282-a2f2-4e0b5558e4fc,0,1,2976c29f-f482-463d-8f6e-6a632fb50893,2976c29f-f482-463d-8f6e-6a632fb50893,0,1,701964a1-7762-45ee-a9a4-41dd9ce94783,701964a1-7762-45ee-a9a4-41dd9ce94783,0,1,55d1909e-f552-441f-8e14-47d2e604cf6a,55d1909e-f552-441f-8e14-47d2e604cf6a,0,1,eae627db-c52b-4e41-94d1-58db28cd0063,eae627db-c52b-4e41-94d1-58db28cd0063,0,1,cafc86e1-d7f1-4cd2-ac20-04fa0917556a,cafc86e1-d7f1-4cd2-ac20-04fa0917556a,0,1,0a646724-b49d-42cd-82e6-e800466ed127,0a646724-b49d-42cd-82e6-e800466ed127,0,1,47058e36-a281-43a5-a41d-691b3ef32b5b,47058e36-a281-43a5-a41d-691b3ef32b5b,0,1,e620e93c-4382-478f-a700-ad2faa67362b,e620e93c-4382-478f-a700-ad2faa67362b,0,1,a4a8693b-dc91-4762-92e6-35360c8768db,a4a8693b-dc91-4762-92e6-35360c8768db,0,1,2ae236ec-28a7-44e0-a0ba-be62fe52d817,2ae236ec-28a7-44e0-a0ba-be62fe52d817,0,1,fcb46a8a-3461-4ec2-9aa0-685aedb9dd50,fcb46a8a-3461-4ec2-9aa0-685aedb9dd50,0,1,12cf9412-baf5-4d32-a563-a11ac3d5e0ed,12cf9412-baf5-4d32-a563-a11ac3d5e0ed,0,1,bdde9030-5718-4f5e-a9e2-f641f4ce69f9,bdde9030-5718-4f5e-a9e2-f641f4ce69f9,0,1,ed137e05-1996-411d-9927-45a3d7e3ee3b,ed137e05-1996-411d-9927-45a3d7e3ee3b,0,1,fbebf341-9842-41e1-8e4d-490fa02065ce,fbebf341-9842-41e1-8e4d-490fa02065ce,0,1,067f88f6-ccd2-491e-a466-94345a1f220f,067f88f6-ccd2-491e-a466-94345a1f220f,0,1,642154b8-97da-4c4f-bf34-c1124215077d,642154b8-97da-4c4f-bf34-c1124215077d,0,1,abc10867-39ae-46bf-8bd7-90f645919235,abc10867-39ae-46bf-8bd7-90f645919235,0,1,b3396504-8ccb-43d6-9a0f-ab259ba0a542,b3396504-8ccb-43d6-9a0f-ab259ba0a542,0,1,f59f91c5-026a-4dc5-996e-0d59814a9604,f59f91c5-026a-4dc5-996e-0d59814a9604,0,1,aac9966f-e9ea-4106-97bb-6b9822939bc7,aac9966f-e9ea-4106-97bb-6b9822939bc7,0,1,a752fba8-5084-4fa2-9d0b-7074a42b1312,a752fba8-5084-4fa2-9d0b-7074a42b1312,0,1,640d7486-8abd-40aa-a244-2ed899b7225a,640d7486-8abd-40aa-a244-2ed899b7225a,0,1,c05f87b4-ec5f-4d14-981f-02ca8ba89863,c05f87b4-ec5f-4d14-981f-02ca8ba89863,0,1,560a5f44-e4e6-46d9-a9fe-3609842d0e3e,560a5f44-e4e6-46d9-a9fe-3609842d0e3e,0,1,98f68a75-ebf9-4c59-b6a8-b3634089ca6b,98f68a75-ebf9-4c59-b6a8-b3634089ca6b,0,1,875d1fc1-8172-4e48-8192-035882e1665d,875d1fc1-8172-4e48-8192-035882e1665d,0,1,26132b28-98cc-4690-92ad-139f91839ba2,26132b28-98cc-4690-92ad-139f91839ba2,0,1,0bd85b79-cc32-4c1d-b629-567a1bdfac56,0bd85b79-cc32-4c1d-b629-567a1bdfac56,0,1,b87ce4f9-aaa6-4a4c-af80-0bd9adc83506,b87ce4f9-aaa6-4a4c-af80-0bd9adc83506,0,1,ca81e0ea-c428-47f9-aedb-078214104a2f,ca81e0ea-c428-47f9-aedb-078214104a2f,0,1,9518d09c-6996-4439-9278-3c71d5ae8fce,9518d09c-6996-4439-9278-3c71d5ae8fce,0,1,9dd6e7d6-cd98-4928-b50c-38bdbc61c211,9dd6e7d6-cd98-4928-b50c-38bdbc61c211,0,1,5fbd9a13-012d-4c36-b72c-da3bc4157cff,5fbd9a13-012d-4c36-b72c-da3bc4157cff,0,1,1126157b-64c0-4d64-8551-f31c5ed0fd29,1126157b-64c0-4d64-8551-f31c5ed0fd29,0,1,6ae6e515-5cd4-4eca-8602-c6abe6d66276,6ae6e515-5cd4-4eca-8602-c6abe6d66276,0,1,44b8472b-0f70-49cc-8f71-9c9d3e9cfbcc,44b8472b-0f70-49cc-8f71-9c9d3e9cfbcc,0,1,b071a44e-9a34-4af3-a59a-35aa5f3a74b4,b071a44e-9a34-4af3-a59a-35aa5f3a74b4,0,1,35a28677-0653-47f9-82e1-02c4b9266fee,35a28677-0653-47f9-82e1-02c4b9266fee,0,1,2e17464f-9cef-4812-865f-4eb77ff16b6a,2e17464f-9cef-4812-865f-4eb77ff16b6a,0,1,e5ecbb1f-981d-4928-9335-22216879f7e2,e5ecbb1f-981d-4928-9335-22216879f7e2,0,1,461be12a-9f16-4826-978a-436608ca8733,461be12a-9f16-4826-978a-436608ca8733,0,1,9b143299-d300-4b6c-b667-5552fb3bdcde,9b143299-d300-4b6c-b667-5552fb3bdcde,0,1,0de070f4-d8b7-48bb-bfc9-027dd727a4ad,0de070f4-d8b7-48bb-bfc9-027dd727a4ad,0,1,74973d06-f57d-403e-945c-5cd2f4fc4869,74973d06-f57d-403e-945c-5cd2f4fc4869,0,1,259564b8-172e-4eed-9360-d561ec6dad69,259564b8-172e-4eed-9360-d561ec6dad69,0,1,91c799d7-2b3d-4d1a-87ff-221057a428c6,91c799d7-2b3d-4d1a-87ff-221057a428c6,0,1,a50fcacc-6d2d-496c-bea0-9c73cd153437,a50fcacc-6d2d-496c-bea0-9c73cd153437,0,1,a6846c5a-7cf6-4df2-a159-2fd33d18d18f,a6846c5a-7cf6-4df2-a159-2fd33d18d18f,0,1,0fb72f4b-e6f6-4b70-8ec7-fdb6d4ad928e,0fb72f4b-e6f6-4b70-8ec7-fdb6d4ad928e,0,1,a5633248-8611-4e9b-b223-2f59e7b84a65,a5633248-8611-4e9b-b223-2f59e7b84a65,0,1,6ec3463a-1e94-4de7-a8c0-b0e42f38573e,6ec3463a-1e94-4de7-a8c0-b0e42f38573e,0,1,e40b8882-737a-40c0-83b4-c35dc042f4a5,e40b8882-737a-40c0-83b4-c35dc042f4a5,0,1,d60c1e9d-1395-4293-8462-6ea2c93a0c86,d60c1e9d-1395-4293-8462-6ea2c93a0c86,0,1,5a2d5d8a-afd9-4954-9868-7c82bad00426,5a2d5d8a-afd9-4954-9868-7c82bad00426,0,1,26aea96b-20f8-4e35-b55f-4fe3602e6597,26aea96b-20f8-4e35-b55f-4fe3602e6597,0,1,a3a3a211-e361-4e41-a6f8-d731a366c163,a3a3a211-e361-4e41-a6f8-d731a366c163,0,1,4d5204ae-711d-4c31-8a18-280dbc9d2bf5,4d5204ae-711d-4c31-8a18-280dbc9d2bf5,0,1,ca01417c-0ffd-4e00-91e8-93cd305be82d,ca01417c-0ffd-4e00-91e8-93cd305be82d,0,1,b84401f2-b8df-4105-8049-6236423d177d,b84401f2-b8df-4105-8049-6236423d177d,0,1,14fcf5e5-5856-4b5f-8c3f-75eaba0f7268,14fcf5e5-5856-4b5f-8c3f-75eaba0f7268,0,1,0a0af8bf-0caa-40df-9a69-71f98ca9ff89,0a0af8bf-0caa-40df-9a69-71f98ca9ff89,0,1,6ac7db0c-18ed-4d3b-956a-5985214db474,6ac7db0c-18ed-4d3b-956a-5985214db474,0,1,267103e0-6703-4a74-bb4f-af610d7ef332,267103e0-6703-4a74-bb4f-af610d7ef332,0,1,b98ca634-25a5-4366-af04-815ba34c8bb2,b98ca634-25a5-4366-af04-815ba34c8bb2,0,1,14d69108-4d26-401a-b7ae-2c86dadf831c,14d69108-4d26-401a-b7ae-2c86dadf831c,0,1,d6251f65-d366-4bc9-a5db-42063fe03594,d6251f65-d366-4bc9-a5db-42063fe03594,0,1,22c60cbc-429f-40d9-bf8b-681b7786c41d,22c60cbc-429f-40d9-bf8b-681b7786c41d,0,1,31dd320b-06aa-4314-9914-2c2420f572a1,31dd320b-06aa-4314-9914-2c2420f572a1,0,1,56730848-3bef-4b8c-b449-fe9d09c9c374,56730848-3bef-4b8c-b449-fe9d09c9c374,0,1,43c477d2-1234-4c4a-a18a-022c0ddf2fd5,43c477d2-1234-4c4a-a18a-022c0ddf2fd5,0,1,91d8c5e4-eaec-4951-9224-16882fda08f6,91d8c5e4-eaec-4951-9224-16882fda08f6,0,1,4304ffb9-7ede-4c59-bef8-26fe3e8f0103,4304ffb9-7ede-4c59-bef8-26fe3e8f0103,0,1,4654d192-74bf-430f-abee-6f4dc431b182,4654d192-74bf-430f-abee-6f4dc431b182,0,1,d4655391-144c-4ba6-aee5-1edafebe862c,d4655391-144c-4ba6-aee5-1edafebe862c,0,1,1ea750ae-5ec4-43c5-b34f-fd28999d41d7,1ea750ae-5ec4-43c5-b34f-fd28999d41d7,0,1,4678c704-933a-45ef-9d41-89b8f39016bb,4678c704-933a-45ef-9d41-89b8f39016bb,0,1,8ceea1e8-42ce-469f-823a-ceffdbd6b112,8ceea1e8-42ce-469f-823a-ceffdbd6b112,0,1,086d69d6-e2fa-45cb-84b6-f8f3e2919160,086d69d6-e2fa-45cb-84b6-f8f3e2919160,0,1,6995ee71-5901-46d9-a5c1-b35d795bda20,6995ee71-5901-46d9-a5c1-b35d795bda20,0,1,e93a4293-0497-4f11-b8b9-40300104fb96,e93a4293-0497-4f11-b8b9-40300104fb96,0,1,93531e5d-5dfc-42e8-be52-2e83f37262b0,93531e5d-5dfc-42e8-be52-2e83f37262b0,0,1,61bf78c0-7004-4a74-b362-e979c7316e05,61bf78c0-7004-4a74-b362-e979c7316e05,0,1,c4351896-eff1-4e4d-8823-028d63a9d6bf,c4351896-eff1-4e4d-8823-028d63a9d6bf,0,1,475f83a2-ba5a-4072-94f8-1324b1f198a4,475f83a2-ba5a-4072-94f8-1324b1f198a4,0,1,cd7c15c1-c573-46c9-b109-339b8b54c3ee,cd7c15c1-c573-46c9-b109-339b8b54c3ee,0,1,efd89929-4db9-4c58-b3cb-a8d9a41a1df2,efd89929-4db9-4c58-b3cb-a8d9a41a1df2,0,1,deee8bde-381f-4094-8794-7a06248860dd,deee8bde-381f-4094-8794-7a06248860dd,0,1,2757ee75-4b36-4901-bff1-044708754edb,2757ee75-4b36-4901-bff1-044708754edb,0,1,0e6bab27-bf94-4732-8549-dbd9b8a5f4e9,0e6bab27-bf94-4732-8549-dbd9b8a5f4e9,0,1,774c92d6-9b9b-422a-83d7-8d42ae2a9f60,774c92d6-9b9b-422a-83d7-8d42ae2a9f60,0,1,71144539-6472-4727-8887-0139f6221370,71144539-6472-4727-8887-0139f6221370,0,1,bff07da4-ae19-48a9-806b-14b285d42485,bff07da4-ae19-48a9-806b-14b285d42485,0,1,659cd4f6-d18c-4d75-a7e6-7c124a63ab9a,659cd4f6-d18c-4d75-a7e6-7c124a63ab9a,0,1,b0ccc05d-8d39-4f57-8e87-6846014f92ea,b0ccc05d-8d39-4f57-8e87-6846014f92ea,0,1,64fbfed7-9dda-481b-a4f7-fe440f24ba7e,64fbfed7-9dda-481b-a4f7-fe440f24ba7e,0,1,b2835a5b-5c91-448c-9eb1-1bb1c9a5e727,b2835a5b-5c91-448c-9eb1-1bb1c9a5e727,0,1,447fb310-0588-4e0d-8f6d-5fc1f3bb1180,447fb310-0588-4e0d-8f6d-5fc1f3bb1180,0,1,8986c155-54be-4b1b-b31a-5c00b88bc40d,8986c155-54be-4b1b-b31a-5c00b88bc40d,0,1,d91441cf-d793-4dfa-9225-f0c16818edde,d91441cf-d793-4dfa-9225-f0c16818edde,0,1,42a39785-144c-4d2d-92c6-fd8b345f687b,42a39785-144c-4d2d-92c6-fd8b345f687b,0,1,f3bd841b-fb36-4462-9627-b51801e563cd,f3bd841b-fb36-4462-9627-b51801e563cd,0,1,0a23f273-5589-4a48-be3a-eee7565749aa,0a23f273-5589-4a48-be3a-eee7565749aa,0,1,494eb9d9-4a10-4e85-b511-375408f21bbe,494eb9d9-4a10-4e85-b511-375408f21bbe,0,1,a161dd07-4a6e-4d0f-b72c-702d0d3a83a3,a161dd07-4a6e-4d0f-b72c-702d0d3a83a3,0,1,a275802f-937a-49f4-92da-fcdd185a036d,a275802f-937a-49f4-92da-fcdd185a036d,0,1,ec6ed9cb-85a2-4303-9906-cfb4ce6500bf,ec6ed9cb-85a2-4303-9906-cfb4ce6500bf,0,1,c05f15b0-a659-4473-b6d0-acebc4a2da57,c05f15b0-a659-4473-b6d0-acebc4a2da57,0,1,f2dc9319-ba60-421a-8340-be3e3a291393,f2dc9319-ba60-421a-8340-be3e3a291393,0,1,bf4eb62a-bc74-4845-bad2-58a2a8302a65,bf4eb62a-bc74-4845-bad2-58a2a8302a65,0,1,b66eb190-1c16-4f20-a94f-954bcdf313b8,b66eb190-1c16-4f20-a94f-954bcdf313b8,0,1,b8d07e97-f67d-4669-972a-96ce0f5e8c0d,b8d07e97-f67d-4669-972a-96ce0f5e8c0d,0,1,5c9c5f87-e85f-49b3-a7ca-01e2220d4f39,5c9c5f87-e85f-49b3-a7ca-01e2220d4f39,0,1,b953eafc-20be-4463-8c3e-903184e18402,b953eafc-20be-4463-8c3e-903184e18402,0,1,dcefdde9-645e-43c7-9244-384dadc75439,dcefdde9-645e-43c7-9244-384dadc75439,0,1,bbdfeebd-cda0-4911-8f31-553d751340a7,bbdfeebd-cda0-4911-8f31-553d751340a7,0,1,dc7adfb7-41e7-4019-a18d-5d9f5d227b71,dc7adfb7-41e7-4019-a18d-5d9f5d227b71,0,1,20aad006-5b1e-4cc2-94ef-668dd002667b,20aad006-5b1e-4cc2-94ef-668dd002667b,0,1,af6af7ae-d68a-4e12-ba2c-a360ce2920a7,af6af7ae-d68a-4e12-ba2c-a360ce2920a7,0,1,b0f5bce4-2ad3-416e-9b1e-3fb23deaa040,b0f5bce4-2ad3-416e-9b1e-3fb23deaa040,0,1,2befb2e3-7354-4a01-83d6-b24262704a5e,2befb2e3-7354-4a01-83d6-b24262704a5e,0,1,5b93975e-b2a4-4102-a060-2667f5813c94,5b93975e-b2a4-4102-a060-2667f5813c94,0,1,ca75d086-cd01-4f54-b57d-1b35bcb1272a,ca75d086-cd01-4f54-b57d-1b35bcb1272a,0,1,b4a27991-2e18-4ead-80e8-f2956a7539e3,b4a27991-2e18-4ead-80e8-f2956a7539e3,0,1,ac8c40d6-be1e-4733-be2e-ae83bde4ec15,ac8c40d6-be1e-4733-be2e-ae83bde4ec15,0,1,be900d20-c02d-476d-9ede-2bc5303ef6cb,be900d20-c02d-476d-9ede-2bc5303ef6cb,0,1,ddce1d3c-4a23-4c92-8083-c395dd3b7f6d,ddce1d3c-4a23-4c92-8083-c395dd3b7f6d,0,1,07b53437-cc8d-4834-a1e0-7007538b6eab,07b53437-cc8d-4834-a1e0-7007538b6eab,0,1,0dbec644-cb98-4368-ab76-5997259cbce7,0dbec644-cb98-4368-ab76-5997259cbce7,0,1,c05a7d33-8a58-4b5f-a433-4ba54c88d5f4,c05a7d33-8a58-4b5f-a433-4ba54c88d5f4,0,1,dcdc9c65-c2d5-4531-a325-f64b3861cbab,dcdc9c65-c2d5-4531-a325-f64b3861cbab,0,1,ca542a9e-3040-419f-9a98-2a8de230b734,ca542a9e-3040-419f-9a98-2a8de230b734,0,1,c9fc5155-1df3-4872-a83d-72872baf43c4,c9fc5155-1df3-4872-a83d-72872baf43c4,0,1,9f9adb67-66bd-4c28-8319-44ae097ae1fe,9f9adb67-66bd-4c28-8319-44ae097ae1fe,0,1,0bae3704-b370-48be-b094-f18a2e62ad1b,0bae3704-b370-48be-b094-f18a2e62ad1b,0,1,e097bf94-9235-4a27-b0eb-d6387d22cd62,e097bf94-9235-4a27-b0eb-d6387d22cd62,0,1,eccded1c-f3ca-40d3-a8cd-71947bfed7b8,eccded1c-f3ca-40d3-a8cd-71947bfed7b8,0,1,4d243f2b-14d9-4e96-9707-4ead5d12e0a2,4d243f2b-14d9-4e96-9707-4ead5d12e0a2,0,1,8d2bfd40-f185-4eab-b374-872d49310eb2,8d2bfd40-f185-4eab-b374-872d49310eb2,0,1,523de426-e5a6-49e0-8144-c637f80d8ddd,523de426-e5a6-49e0-8144-c637f80d8ddd,0,1,09256328-6205-4b04-b908-3287ae8ded75,09256328-6205-4b04-b908-3287ae8ded75,0,1,05a6e161-9791-4c5b-8753-bd6370cc4cc9,05a6e161-9791-4c5b-8753-bd6370cc4cc9,0,1,6362facc-bf95-4adf-8ee7-c65f90972a1c,6362facc-bf95-4adf-8ee7-c65f90972a1c,0,1,08dbba81-68fb-49ef-8aac-9631fcfa87c6,08dbba81-68fb-49ef-8aac-9631fcfa87c6,0,1,dd7191b6-cbc0-4b0b-a51a-c27a1e1720fa,dd7191b6-cbc0-4b0b-a51a-c27a1e1720fa,0,1,8170a27d-45e9-48b1-860b-c2d9cc5961cd,8170a27d-45e9-48b1-860b-c2d9cc5961cd,0,1,f1c08fed-f3db-4f72-8a8e-7c626b8cc130,f1c08fed-f3db-4f72-8a8e-7c626b8cc130,0,1,e8c3b796-bfd8-4108-ab5f-d0f21b7bd9a6,e8c3b796-bfd8-4108-ab5f-d0f21b7bd9a6,0,1,f41d01ec-983a-4b39-9c11-a6d25d08df4f,f41d01ec-983a-4b39-9c11-a6d25d08df4f,0,1,3247e64e-b57e-4c33-8086-7ab93c5b6371,3247e64e-b57e-4c33-8086-7ab93c5b6371,0,1,e5dca369-dc9a-4332-a509-f734b8787e13,e5dca369-dc9a-4332-a509-f734b8787e13,0,1,722af623-156c-4e63-8b2a-93da760f1559,722af623-156c-4e63-8b2a-93da760f1559,0,1,1abeb10b-0558-4478-8f51-d0964ba3c274,1abeb10b-0558-4478-8f51-d0964ba3c274,0,1,38325a66-588a-4db0-8e0c-21d239408369,38325a66-588a-4db0-8e0c-21d239408369,0,1,7c27e885-33fd-4da2-a60d-50336c0189b0,7c27e885-33fd-4da2-a60d-50336c0189b0,0,1,4b849c66-6a36-4efd-815e-af4467c6f064,4b849c66-6a36-4efd-815e-af4467c6f064,0,1,f6939587-ff87-4eca-ae52-10e1bd2abfce,f6939587-ff87-4eca-ae52-10e1bd2abfce,0,1,a8e4d97f-e2da-4aa8-a221-3cbcc135f403,a8e4d97f-e2da-4aa8-a221-3cbcc135f403,0,1,f2b0eab2-e34b-42f8-9b24-5596b4c17d7f,f2b0eab2-e34b-42f8-9b24-5596b4c17d7f,0,1,3cb575a9-dc82-45e0-81f0-d651e12246da,3cb575a9-dc82-45e0-81f0-d651e12246da,0,1,01a73950-3e8f-4f56-903f-af0d9574e72e,01a73950-3e8f-4f56-903f-af0d9574e72e,0,1,14bd0844-c829-4325-aa7f-0f417bf955dc,14bd0844-c829-4325-aa7f-0f417bf955dc,0,1,7f1cd658-ca10-49c6-80ef-b8956f3269ea,7f1cd658-ca10-49c6-80ef-b8956f3269ea,0,1,b0d9086f-cef7-47a8-ad62-d85fea28ebda,b0d9086f-cef7-47a8-ad62-d85fea28ebda,0,1,68f6d1b2-9c08-4b37-ba23-1e15539a9c35,68f6d1b2-9c08-4b37-ba23-1e15539a9c35,0,1,cb6df70e-c7cd-4343-bfa9-5bdb907b4580,cb6df70e-c7cd-4343-bfa9-5bdb907b4580,0,1,49c010fc-f5cc-45f4-ba46-132e7661c3dd,49c010fc-f5cc-45f4-ba46-132e7661c3dd,0,1,3f3b592d-ca61-40c7-be1f-e5d3224a1eb3,3f3b592d-ca61-40c7-be1f-e5d3224a1eb3,0,1,2c02a558-8d12-44cf-be6b-9c399b9032e5,2c02a558-8d12-44cf-be6b-9c399b9032e5,0,1,d94d4931-7c81-4ee8-93ea-b2c54b152fa5,d94d4931-7c81-4ee8-93ea-b2c54b152fa5,0,1,9c267aa6-5f23-49f6-868a-3324ef2845ff,9c267aa6-5f23-49f6-868a-3324ef2845ff,0,1,495eeeee-d7bf-4063-99e2-86daa066451a,495eeeee-d7bf-4063-99e2-86daa066451a,0,1,b6184698-79e4-4c19-9440-092ccd9dabf8,b6184698-79e4-4c19-9440-092ccd9dabf8,0,1,7d01fc0c-378e-421d-ab70-6a418eed5941,7d01fc0c-378e-421d-ab70-6a418eed5941,0,1,6eeb4867-bf9d-48dc-b96b-934a0c293010,6eeb4867-bf9d-48dc-b96b-934a0c293010,0,1,c7f817ee-9f6a-454c-95a0-b279fd08055e,c7f817ee-9f6a-454c-95a0-b279fd08055e,0,1,e1803e54-ec5e-4a82-8097-5e2331820991,e1803e54-ec5e-4a82-8097-5e2331820991,0,1,f69ec1f9-826e-4eb4-b52c-3f6a3dfc3361,f69ec1f9-826e-4eb4-b52c-3f6a3dfc3361,0,1,4cbb0b91-dbdd-472f-93c5-061076b6a8d3,4cbb0b91-dbdd-472f-93c5-061076b6a8d3,0,1,8506dbe9-7066-444b-83b6-fb2d71a336e7,8506dbe9-7066-444b-83b6-fb2d71a336e7,0,1,240b4df5-0d75-4e5a-9ae8-d0bc7cc51722,240b4df5-0d75-4e5a-9ae8-d0bc7cc51722,0,1,6686d828-3129-4d44-a8a2-a64657d424cb,6686d828-3129-4d44-a8a2-a64657d424cb,0,1,90433152-f389-4d45-8ccc-3eb6c7a7e1f0,90433152-f389-4d45-8ccc-3eb6c7a7e1f0,0,1,ce235ab9-1dec-459a-9fec-498c262ece56,ce235ab9-1dec-459a-9fec-498c262ece56,0,1,9ec53d1a-ed7a-41e8-b5d0-6c2181fd63a5,9ec53d1a-ed7a-41e8-b5d0-6c2181fd63a5,0,1,39355e82-30a6-431e-9697-e2c42e82de83,39355e82-30a6-431e-9697-e2c42e82de83,0,1,a9ae364f-b668-4fb4-b976-f227951ffb6b,a9ae364f-b668-4fb4-b976-f227951ffb6b,0,1,edc01b03-8b01-4551-939a-f7e257892040,edc01b03-8b01-4551-939a-f7e257892040,0,1,15d09274-9508-4f64-9ea3-678c5aa50f0f,15d09274-9508-4f64-9ea3-678c5aa50f0f,0,1,4debe032-12e4-4777-b2fc-70b150f2aad1,4debe032-12e4-4777-b2fc-70b150f2aad1,0,1,37558fa2-0833-46d6-9e4f-63d4a3136870,37558fa2-0833-46d6-9e4f-63d4a3136870,0,1,d92cb614-ed09-47db-b70b-d3e533c44c6a,d92cb614-ed09-47db-b70b-d3e533c44c6a,0,1,e660c8bf-af5f-4525-a56e-68925d2b96fa,e660c8bf-af5f-4525-a56e-68925d2b96fa,0,1,b18bdc5f-a2b6-4b15-81c3-37b27a5a3176,b18bdc5f-a2b6-4b15-81c3-37b27a5a3176,0,1,528d96cc-8838-49ea-8d76-ea56747882e0,528d96cc-8838-49ea-8d76-ea56747882e0,0,1,c996916d-7f1c-4fbf-939f-3e1bafe81f7d,c996916d-7f1c-4fbf-939f-3e1bafe81f7d,0,1,1681dd7a-de80-4b8d-9657-c9702a19d653,1681dd7a-de80-4b8d-9657-c9702a19d653,0,1,10d796e9-a3d4-4ef0-87d5-8315aa12f1c8,10d796e9-a3d4-4ef0-87d5-8315aa12f1c8,0,1,9f593f27-8009-40c0-94d6-53f177ce55f4,9f593f27-8009-40c0-94d6-53f177ce55f4,0,1,820bb4b4-895b-4ccf-a350-2545bf8a2f7e,820bb4b4-895b-4ccf-a350-2545bf8a2f7e,0,1,530a3164-4ef1-4b3b-8269-13764ef4bf15,530a3164-4ef1-4b3b-8269-13764ef4bf15,0,1,6df2bb92-558c-4453-9de4-e4176e8f93dc,6df2bb92-558c-4453-9de4-e4176e8f93dc,0,1,0ce4c8a4-b20b-4550-bee3-f677e9ec64e9,0ce4c8a4-b20b-4550-bee3-f677e9ec64e9,0,1,30d5c2a6-b3cf-4ed5-ba75-850bcae932d1,30d5c2a6-b3cf-4ed5-ba75-850bcae932d1,0,1,0bf5e9c1-905a-4202-8b96-ed831b41be4b,0bf5e9c1-905a-4202-8b96-ed831b41be4b,0,1,e92ae368-0d7c-4fb7-b6d0-5ab63dc95a6a,e92ae368-0d7c-4fb7-b6d0-5ab63dc95a6a,0,1,f30c9c4b-aa6c-4b15-9ac7-888c0c0cabd9,f30c9c4b-aa6c-4b15-9ac7-888c0c0cabd9,0,1,be15e947-f671-4848-ada1-51239af73615,be15e947-f671-4848-ada1-51239af73615,0,1,d3e0dd8f-886a-4441-8f05-fd629da80f07,d3e0dd8f-886a-4441-8f05-fd629da80f07,0,1,6417d7c8-6436-4907-98eb-44cd7638f3f1,6417d7c8-6436-4907-98eb-44cd7638f3f1,0,1,ba49877b-6e30-4177-a67c-00e65aa498fb,ba49877b-6e30-4177-a67c-00e65aa498fb,0,1,25b39aeb-94c3-4199-9d56-5bd87e325bf2,25b39aeb-94c3-4199-9d56-5bd87e325bf2,0,1,b0b63551-4e83-4201-af9a-b4ab150c43a5,b0b63551-4e83-4201-af9a-b4ab150c43a5,0,1,2bd80198-4739-4e8f-9af1-40addc91a05b,2bd80198-4739-4e8f-9af1-40addc91a05b,0,1,33c66a15-e48e-406a-a77c-02af72ae96d5,33c66a15-e48e-406a-a77c-02af72ae96d5,0,1,ebd3dcc2-1176-4ee0-b590-ee39f85fb55b,ebd3dcc2-1176-4ee0-b590-ee39f85fb55b,0,1,77fe53c2-de9d-4483-97c9-f7d44e137d5e,77fe53c2-de9d-4483-97c9-f7d44e137d5e,0,1,593be64c-6792-46d9-8618-84c50c9ad9e4,593be64c-6792-46d9-8618-84c50c9ad9e4,0,1,208d29cb-040f-4282-b8e8-dda8417b8e92,208d29cb-040f-4282-b8e8-dda8417b8e92,0,1,9935d602-668e-4df9-a338-0f542def878b,9935d602-668e-4df9-a338-0f542def878b,0,1,459ed297-0c0d-4bdb-90a3-da387868f040,459ed297-0c0d-4bdb-90a3-da387868f040,0,1,ccb5b9a7-1a10-4803-b455-0350afe4b584,ccb5b9a7-1a10-4803-b455-0350afe4b584,0,1,ebce49ef-755a-4ace-aeb1-b99db2a8bf6c,ebce49ef-755a-4ace-aeb1-b99db2a8bf6c,0,1,0cd18f4c-aeb9-456b-9dcd-9649d1dd486b,0cd18f4c-aeb9-456b-9dcd-9649d1dd486b,0,1,ba5e7c41-0442-4f74-ba41-631d864eafb4,ba5e7c41-0442-4f74-ba41-631d864eafb4,0,1,3913f78f-ce34-4ae3-840a-ccdf06319cbb,3913f78f-ce34-4ae3-840a-ccdf06319cbb,0,1,104cf3e3-2104-4ac2-bdc6-792750a63ea0,104cf3e3-2104-4ac2-bdc6-792750a63ea0,0,1,c86aa97a-5898-4cb2-ae62-598bddf8e99f,c86aa97a-5898-4cb2-ae62-598bddf8e99f,0,1,d3c9b925-6b74-42db-8b21-ab21d24797d1,d3c9b925-6b74-42db-8b21-ab21d24797d1,0,1,4d348ec3-9de8-4f5b-960c-4b507d0fd7ce,4d348ec3-9de8-4f5b-960c-4b507d0fd7ce,0,1,39261a2d-7c46-40b1-9f8f-02d970aa04bc,39261a2d-7c46-40b1-9f8f-02d970aa04bc,0,1,3a07e5a5-2ab1-43ef-b97f-d45cd7775d67,3a07e5a5-2ab1-43ef-b97f-d45cd7775d67,0,1,124a516f-cdab-49ce-95d1-359921140342,124a516f-cdab-49ce-95d1-359921140342,0,1,e4294611-a770-4e67-9578-a1f370879476,e4294611-a770-4e67-9578-a1f370879476,0,1,c5033dd2-0911-4124-8688-dc9dabf3155f,c5033dd2-0911-4124-8688-dc9dabf3155f,0,1,274357df-cb5c-407d-ae72-58046c310db2,274357df-cb5c-407d-ae72-58046c310db2,0,1,5467001e-d025-4669-b16e-26381ac4403f,5467001e-d025-4669-b16e-26381ac4403f,0,1,a4e56049-4de9-40a3-8197-a5c84a11f516,a4e56049-4de9-40a3-8197-a5c84a11f516,0,1,339c9220-fd5b-45d3-b300-cdcc8788f87e,339c9220-fd5b-45d3-b300-cdcc8788f87e,0,1,02d7d401-3c0c-4fd0-b096-1f73b6ec14c3,02d7d401-3c0c-4fd0-b096-1f73b6ec14c3,0,1,9042a6de-5048-432d-a448-7e21f2d1d24a,9042a6de-5048-432d-a448-7e21f2d1d24a,0,1,350d46bf-114e-48e7-90c6-6708d949f20d,350d46bf-114e-48e7-90c6-6708d949f20d,0,1,d047caa8-7bcf-41ac-a18e-97877d6e0a2a,d047caa8-7bcf-41ac-a18e-97877d6e0a2a,0,1,aac20ff3-5873-432e-b763-14411e623d41,aac20ff3-5873-432e-b763-14411e623d41,0,1,fbc4df3e-c235-4197-8c1f-a5e39ac63a8c,fbc4df3e-c235-4197-8c1f-a5e39ac63a8c,0,1,6df44466-8750-481a-9baf-c924f0d45353,6df44466-8750-481a-9baf-c924f0d45353,0,1,110121eb-a0eb-4662-8911-3dcc3d341a73,110121eb-a0eb-4662-8911-3dcc3d341a73,0,1,f8980c18-6b9c-4e45-919a-22e976d2a846,f8980c18-6b9c-4e45-919a-22e976d2a846,0,1,c946efb7-c67e-49c1-bf56-d3c2d7220acd,c946efb7-c67e-49c1-bf56-d3c2d7220acd,0,1,7ed6bd83-b61d-4db4-8549-acacbdda6ca2,7ed6bd83-b61d-4db4-8549-acacbdda6ca2,0,1,6b7c9f74-f2b6-463e-acb9-9f82901986cf,6b7c9f74-f2b6-463e-acb9-9f82901986cf,0,1,fc4c1d64-132b-4687-a37d-05000fdb4ba5,fc4c1d64-132b-4687-a37d-05000fdb4ba5,0,1,528777cd-090b-4b70-82f5-56def98c5893,528777cd-090b-4b70-82f5-56def98c5893,0,1,49dbe467-8832-4ede-9a05-494248619aeb,49dbe467-8832-4ede-9a05-494248619aeb,0,1,460ed9ca-10c2-491c-a641-b92ffc2a8e7c,460ed9ca-10c2-491c-a641-b92ffc2a8e7c,0,1,bd5fadd3-9264-4c3b-9bd5-51e91847a6fb,bd5fadd3-9264-4c3b-9bd5-51e91847a6fb,0,1,09c73108-8528-4970-9b7f-fff9eda7816a,09c73108-8528-4970-9b7f-fff9eda7816a,0,1,40aa936e-cb1c-4ae9-85f1-6d930a5815cc,40aa936e-cb1c-4ae9-85f1-6d930a5815cc,0,1,f568245a-d158-45dc-af92-2d411f12db7b,f568245a-d158-45dc-af92-2d411f12db7b,0,1,0f17cdac-aa17-45e6-b3d0-220b13345390,0f17cdac-aa17-45e6-b3d0-220b13345390,0,1,c675db75-d0c3-4026-b97c-6b23ecbb336a,c675db75-d0c3-4026-b97c-6b23ecbb336a,0,1,469f67fa-98b0-44b0-abd4-cae136c02834,469f67fa-98b0-44b0-abd4-cae136c02834,0,1,16a18458-999c-420e-80df-8fc10855746c,16a18458-999c-420e-80df-8fc10855746c,0,1,b794f222-0fde-439f-97a3-0da74075b415,b794f222-0fde-439f-97a3-0da74075b415,0,1,3a716aad-9b2c-48a7-b802-80732066391b,3a716aad-9b2c-48a7-b802-80732066391b,0,1,480d959f-aac8-4241-875f-78e1c1f32621,480d959f-aac8-4241-875f-78e1c1f32621,0,1,496e5de8-d75c-4536-9993-75374f070b40,496e5de8-d75c-4536-9993-75374f070b40,0,1,b4e610ba-c9c8-4b25-903b-e567dcbc2556,b4e610ba-c9c8-4b25-903b-e567dcbc2556,0,1,48febdbd-a085-4113-8511-ed7ff6be7d3c,48febdbd-a085-4113-8511-ed7ff6be7d3c,0,1,49413232-c0c3-4983-9d10-291a0399281b,49413232-c0c3-4983-9d10-291a0399281b,0,1,032bb782-96a7-4c1b-8b8f-eb4e18b555b7,032bb782-96a7-4c1b-8b8f-eb4e18b555b7,0,1,b9b076bb-38ab-4a94-8226-41a4d4d7432c,b9b076bb-38ab-4a94-8226-41a4d4d7432c,0,1,e12da8db-4037-473e-ba2b-d0ceb4534dcb,e12da8db-4037-473e-ba2b-d0ceb4534dcb,0,1,789514e5-8ea3-4a5e-88c5-ed89c4135866,789514e5-8ea3-4a5e-88c5-ed89c4135866,0,1,a16768ff-6137-43d8-8784-4805ed83632a,a16768ff-6137-43d8-8784-4805ed83632a,0,1,61971286-9f94-4a27-aa34-e10848adb70a,61971286-9f94-4a27-aa34-e10848adb70a,0,1,1e75d143-3452-496e-a137-6d7f4c4ed019,1e75d143-3452-496e-a137-6d7f4c4ed019,0,1,e0619d14-c658-4eb5-841a-3a029de28be4,e0619d14-c658-4eb5-841a-3a029de28be4,0,1,99a3b660-7875-47f7-9c6c-c552e5673deb,99a3b660-7875-47f7-9c6c-c552e5673deb,0,1,2bdcf3a5-c8e1-492c-afee-f9db68e2fbb6,2bdcf3a5-c8e1-492c-afee-f9db68e2fbb6,0,1,41cbf934-ea54-41df-abf0-09f319d2e67a,41cbf934-ea54-41df-abf0-09f319d2e67a,0,1,47246084-a5f8-4d0f-b4e2-204c1b97483a,47246084-a5f8-4d0f-b4e2-204c1b97483a,0,1,e58233ec-6cfc-4a8b-9929-689fa69cdb07,e58233ec-6cfc-4a8b-9929-689fa69cdb07,0,1,3291a891-a47c-43ca-b088-aecd3867d38c,3291a891-a47c-43ca-b088-aecd3867d38c,0,1,56cde2b4-00f2-49ba-b407-16e241c17fd2,56cde2b4-00f2-49ba-b407-16e241c17fd2,0,1,bd84fb2b-4c52-4e2f-a8c5-f289b8336145,bd84fb2b-4c52-4e2f-a8c5-f289b8336145,0,1,219ed110-f2a0-41c1-ac5a-02301b248c54,219ed110-f2a0-41c1-ac5a-02301b248c54,0,1,1c722dfd-2b07-4985-9188-17353de24771,1c722dfd-2b07-4985-9188-17353de24771,0,1,1a630496-2cdd-4c89-a1aa-ed20545ad133,1a630496-2cdd-4c89-a1aa-ed20545ad133,0,1,b0dd02ee-ea6a-43f2-baa2-abac0a1ab4bb,b0dd02ee-ea6a-43f2-baa2-abac0a1ab4bb,0,1,b19cea0e-e57a-4969-8daf-f48d3d16705f,b19cea0e-e57a-4969-8daf-f48d3d16705f,0,1,d4059340-3361-4baa-ae48-ecbfb9800a2e,d4059340-3361-4baa-ae48-ecbfb9800a2e,0,1,f78f6c43-dd90-4117-acf7-ed5b951cb964,f78f6c43-dd90-4117-acf7-ed5b951cb964,0,1,8eebd519-4989-4784-82b8-39d77eebfb17,8eebd519-4989-4784-82b8-39d77eebfb17,0,1,0a2cb6e3-d9fa-4881-b136-7b6db9efca07,0a2cb6e3-d9fa-4881-b136-7b6db9efca07,0,1,c1561ed9-2fbf-4c12-a484-07f8adbe8fa3,c1561ed9-2fbf-4c12-a484-07f8adbe8fa3,0,1,4527877b-5723-4aa5-8705-98174ac9c337,4527877b-5723-4aa5-8705-98174ac9c337,0,1,d6b21e7b-df57-4280-8c95-c269b5316018,d6b21e7b-df57-4280-8c95-c269b5316018,0,1,808c468b-6322-428d-ac6a-ccf2228b05b6,808c468b-6322-428d-ac6a-ccf2228b05b6,0,1,13664bb2-738f-4d18-b382-a7bcf8105a5a,13664bb2-738f-4d18-b382-a7bcf8105a5a,0,1,f3f56abe-9248-4555-bf99-29560eb4f9ee,f3f56abe-9248-4555-bf99-29560eb4f9ee,0,1,0dbd5d55-a85f-4c7e-ac31-7ba4ab7cc371,0dbd5d55-a85f-4c7e-ac31-7ba4ab7cc371,0,1,dd9d09ef-3b4b-4bb5-9408-9c4080049bb3,dd9d09ef-3b4b-4bb5-9408-9c4080049bb3,0,1,3eb43a06-b32d-4904-8489-6264d0207623,3eb43a06-b32d-4904-8489-6264d0207623,0,1,a18098cf-5a61-46b5-bd55-cc61d15aa6bc,a18098cf-5a61-46b5-bd55-cc61d15aa6bc,0,1,18615fe1-cfee-4888-9c09-88d1c5db39eb,18615fe1-cfee-4888-9c09-88d1c5db39eb,0,1,63e363fa-8b0c-4d48-ab1b-9c953c5ed4c0,63e363fa-8b0c-4d48-ab1b-9c953c5ed4c0,0,1,087c83c0-75e7-476b-b7c6-5be55498a190,087c83c0-75e7-476b-b7c6-5be55498a190,0,1,ec5e5413-9e77-4929-83b8-6fee70688b28,ec5e5413-9e77-4929-83b8-6fee70688b28,0,1,59cd8e3f-ecf3-4e1d-bd98-41551d5d6f68,59cd8e3f-ecf3-4e1d-bd98-41551d5d6f68,0,1,8390c864-2b84-4c45-8583-cb4a4ab49168,8390c864-2b84-4c45-8583-cb4a4ab49168,0,1,1b2fefca-fef5-4319-90cc-325444cb63a6,1b2fefca-fef5-4319-90cc-325444cb63a6,0,1,34a128be-8fbb-4dd8-ac23-9f35041feb63,34a128be-8fbb-4dd8-ac23-9f35041feb63,0,1,baa31006-e0d6-496e-a60e-27b3dfd19397,baa31006-e0d6-496e-a60e-27b3dfd19397,0,1,3007d8ff-3942-45ed-bac5-8a6c40ca060c,3007d8ff-3942-45ed-bac5-8a6c40ca060c,0,1,8bfe1474-fd12-4744-a9ab-3383bfe766b3,8bfe1474-fd12-4744-a9ab-3383bfe766b3,0,1,3af97375-f776-4129-9521-b8d65d795db6,3af97375-f776-4129-9521-b8d65d795db6,0,1,0e98801b-a45b-44cb-a341-7e43d723f6ed,0e98801b-a45b-44cb-a341-7e43d723f6ed,0,1,5b71cd3b-d5b8-4632-9678-0ab1e1d2ea91,5b71cd3b-d5b8-4632-9678-0ab1e1d2ea91,0,1,103ac72d-c386-40ea-89d4-35798d064f1a,103ac72d-c386-40ea-89d4-35798d064f1a,0,1,645ceb40-1e9f-4a67-aa7f-b9002fa066b3,645ceb40-1e9f-4a67-aa7f-b9002fa066b3,0,1,d1fe15e9-8e5c-4819-85cd-24ab31409437,d1fe15e9-8e5c-4819-85cd-24ab31409437,0,1,c8c5bfe9-ead5-4e79-9fd5-60ad275faa1e,c8c5bfe9-ead5-4e79-9fd5-60ad275faa1e,0,1,8f9826b6-890e-4ba3-a1f2-bc9ebb3238dd,8f9826b6-890e-4ba3-a1f2-bc9ebb3238dd,0,1,74f68bda-17b1-4b3c-aa64-b1014300f9b5,74f68bda-17b1-4b3c-aa64-b1014300f9b5,0,1,90a195b0-7f64-4ccb-986e-8c8c2cf12ccd,90a195b0-7f64-4ccb-986e-8c8c2cf12ccd,0,1,9f9d1f8c-7ff9-420f-a426-48f33493d9f2,9f9d1f8c-7ff9-420f-a426-48f33493d9f2,0,1,ab7bc0bc-b4b8-4a4a-aecc-1cbe14fd4975,ab7bc0bc-b4b8-4a4a-aecc-1cbe14fd4975,0,1,9f8d9594-674f-49ef-9fb8-bb64d5c40a37,9f8d9594-674f-49ef-9fb8-bb64d5c40a37,0,1,47ee7d38-9fa9-458d-abee-e11270f79494,47ee7d38-9fa9-458d-abee-e11270f79494,0,1,bb6b83ff-81f4-4c39-ad8e-8cda9ccd9cb9,bb6b83ff-81f4-4c39-ad8e-8cda9ccd9cb9,0,1,076daecf-8fcb-496b-9f13-c4faa3a8a722,076daecf-8fcb-496b-9f13-c4faa3a8a722,0,1,f1a8357b-7083-42b3-ab5d-36223a3dd2a4,f1a8357b-7083-42b3-ab5d-36223a3dd2a4,0,1,296d7725-bdd3-4210-9db9-31de5711ea9b,296d7725-bdd3-4210-9db9-31de5711ea9b,0,1,6ecc5bc2-20b3-46f3-8019-ae1e1f3de319,6ecc5bc2-20b3-46f3-8019-ae1e1f3de319,0,1,1d05f89a-23dd-4d30-8786-abe8a9a39a40,1d05f89a-23dd-4d30-8786-abe8a9a39a40,0,1,245c2c6c-7b7f-4381-9304-1d7287a215fa,245c2c6c-7b7f-4381-9304-1d7287a215fa,0,1,fd17bbe4-34d9-4832-8eea-8eeb82194e4c,fd17bbe4-34d9-4832-8eea-8eeb82194e4c,0,1,d4c72d7f-7e1f-473c-9a2b-fa675fc78731,d4c72d7f-7e1f-473c-9a2b-fa675fc78731,0,1,8bb5be12-98df-4a38-bffe-432fb13d8101,8bb5be12-98df-4a38-bffe-432fb13d8101,0,1,94209023-ce88-401c-9aff-526fb7e43709,94209023-ce88-401c-9aff-526fb7e43709,0,1,22b99094-b52a-4244-ae91-53848d82560b,22b99094-b52a-4244-ae91-53848d82560b,0,1,22c9e2fa-c1f0-41ec-b6f2-9d7357dd3479,22c9e2fa-c1f0-41ec-b6f2-9d7357dd3479,0,1,b0002134-d5c9-4508-9f0e-97f92461b590,b0002134-d5c9-4508-9f0e-97f92461b590,0,1,1506ec71-cb38-4831-a29d-dac2c4deddda,1506ec71-cb38-4831-a29d-dac2c4deddda,0,1,e05fd82b-b77b-4b7f-b300-43653017f341,e05fd82b-b77b-4b7f-b300-43653017f341,0,1,d3b5e5ee-2317-43b4-b669-3af2ce635cf3,d3b5e5ee-2317-43b4-b669-3af2ce635cf3,0,1,f15a0526-c207-42fe-aed9-438ae0c4a4b8,f15a0526-c207-42fe-aed9-438ae0c4a4b8,0,1,9d444a41-7190-48fb-9a4a-08f8e7bc32a3,9d444a41-7190-48fb-9a4a-08f8e7bc32a3,0,1,8583cab0-0620-4346-96e0-bcac40981b8a,8583cab0-0620-4346-96e0-bcac40981b8a,0,1,e1dfba26-c682-42a2-8e15-fe6f535c9ce1,e1dfba26-c682-42a2-8e15-fe6f535c9ce1,0,1,095990b1-187b-400c-941a-275f272239ca,095990b1-187b-400c-941a-275f272239ca,0,1,ba108470-350d-40c3-bb44-9852c2aa8c97,ba108470-350d-40c3-bb44-9852c2aa8c97,0,1,a37c33fa-64b0-4a1b-846a-0a236bad44f8,a37c33fa-64b0-4a1b-846a-0a236bad44f8,0,1,d8481ce1-7f64-47b0-8fc0-6642ae93aca1,d8481ce1-7f64-47b0-8fc0-6642ae93aca1,0,1,a50f4324-da44-449b-b500-74228b2aa7e0,a50f4324-da44-449b-b500-74228b2aa7e0,0,1,04236716-9c36-4a1d-b4fb-4b8c65644ab4,04236716-9c36-4a1d-b4fb-4b8c65644ab4,0,1,97276702-6686-4ac4-8360-d85369a08b20,97276702-6686-4ac4-8360-d85369a08b20,0,1,e5450ee7-e891-4f58-9a01-d2d81d5ddd6d,e5450ee7-e891-4f58-9a01-d2d81d5ddd6d,0,1,068883fe-d7ae-40e7-ad82-864867916daa,068883fe-d7ae-40e7-ad82-864867916daa,0,1,c1b02568-2095-4f83-8543-2402f67dbe3d,c1b02568-2095-4f83-8543-2402f67dbe3d,0,1,8b749b7a-5e68-4523-adc2-8b3c5ce9701c,8b749b7a-5e68-4523-adc2-8b3c5ce9701c,0,1,bf3c7edc-0791-459e-a7ac-b7e8d7ed97fe,bf3c7edc-0791-459e-a7ac-b7e8d7ed97fe,0,1,7dc6d13e-4edf-4e6a-9ee9-4b32ad889ecf,7dc6d13e-4edf-4e6a-9ee9-4b32ad889ecf,0,1,aecbd726-6952-49e6-b544-4c5cc764c24c,aecbd726-6952-49e6-b544-4c5cc764c24c,0,1,d335cfbf-bc78-4274-a178-10f60372474a,d335cfbf-bc78-4274-a178-10f60372474a,0,1,0f4411b3-addf-4fcf-8da8-c5140dea356c,0f4411b3-addf-4fcf-8da8-c5140dea356c,0,1,c501f9ab-d01b-4137-8cd0-e66103117c84,c501f9ab-d01b-4137-8cd0-e66103117c84,0,1,8d5d4e0f-b7b5-4cdc-aedc-571517fa101f,8d5d4e0f-b7b5-4cdc-aedc-571517fa101f,0,1,66e65355-1424-4c74-801c-faf5357257aa,66e65355-1424-4c74-801c-faf5357257aa,0,1,0a93187b-7ae4-4985-8089-3099dfec2b48,0a93187b-7ae4-4985-8089-3099dfec2b48,0,1,044458f3-ed9b-4afb-ae73-8f9162c032bf,044458f3-ed9b-4afb-ae73-8f9162c032bf,0,1,578f618e-5f4a-4e86-959d-39b59e973936,578f618e-5f4a-4e86-959d-39b59e973936,0,1,f74ede2e-2d28-4224-ba44-773eda7760a4,f74ede2e-2d28-4224-ba44-773eda7760a4,0,1,217df06a-1bdf-4394-b617-ed756ff17bc6,217df06a-1bdf-4394-b617-ed756ff17bc6,0,1,a1572e97-a487-497a-9062-49315e237e0f,a1572e97-a487-497a-9062-49315e237e0f,0,1,969cdcb8-0f2a-427f-93a0-e7ae38f465e8,969cdcb8-0f2a-427f-93a0-e7ae38f465e8,0,1,3c5d87a0-cfce-464a-b946-64c5a589a376,3c5d87a0-cfce-464a-b946-64c5a589a376,0,1,2d22c67d-4795-4a6b-bc81-a3ed1eb28367,2d22c67d-4795-4a6b-bc81-a3ed1eb28367,0,1,763de8d1-7f53-41b6-8d97-7da724e9f763,763de8d1-7f53-41b6-8d97-7da724e9f763,0,1,75592ed4-2aab-4dfc-ae7b-d93e2a98370f,75592ed4-2aab-4dfc-ae7b-d93e2a98370f,0,1,4ad59c75-cca4-4968-82e6-babd72d8b318,4ad59c75-cca4-4968-82e6-babd72d8b318,0,1,c248de15-63a2-48ec-8695-7a5213d4fc9b,c248de15-63a2-48ec-8695-7a5213d4fc9b,0,1,272ff0f9-7266-4c22-be12-fe62682b56a5,272ff0f9-7266-4c22-be12-fe62682b56a5,0,1,9f141dd5-d866-4c25-b58a-a7766a08b4e7,9f141dd5-d866-4c25-b58a-a7766a08b4e7,0,1,0570d846-889d-4cfc-98fb-a1ad0181597f,0570d846-889d-4cfc-98fb-a1ad0181597f,0,1,19e17c58-953f-4917-8b6a-c88808fcca36,19e17c58-953f-4917-8b6a-c88808fcca36,0,1,4804316d-3765-4a83-8438-10e8e82656db,4804316d-3765-4a83-8438-10e8e82656db,0,1,59458556-e343-4215-8e6c-69f924ec4183,59458556-e343-4215-8e6c-69f924ec4183,0,1,dd553dca-7eba-41bf-8939-2c61e170ff65,dd553dca-7eba-41bf-8939-2c61e170ff65,0,1,b4ecf3dc-a2aa-406e-a593-1700ea8746bc,b4ecf3dc-a2aa-406e-a593-1700ea8746bc,0,1,933d7ce7-ea82-4b26-8d1b-dc92cb5ac92d,933d7ce7-ea82-4b26-8d1b-dc92cb5ac92d,0,1,8099e978-28cc-4ade-ac5a-3785f3a45f70,8099e978-28cc-4ade-ac5a-3785f3a45f70,0,1,11eff613-8077-41fa-8cb8-5e8dc27d0e4f,11eff613-8077-41fa-8cb8-5e8dc27d0e4f,0,1,fe023ca5-f11a-4b98-99c1-363508e4ea4a,fe023ca5-f11a-4b98-99c1-363508e4ea4a,0,1,6f8d515e-13d9-45f8-9793-3757f5b85f81,6f8d515e-13d9-45f8-9793-3757f5b85f81,0,1,25ec541c-c437-4318-b2a8-5146df6ae080,25ec541c-c437-4318-b2a8-5146df6ae080,0,1,148754ed-3063-40a7-a3c3-8ad105552370,148754ed-3063-40a7-a3c3-8ad105552370,0,1,ab3f0862-c355-4fd7-a2a7-4eb8278de510,ab3f0862-c355-4fd7-a2a7-4eb8278de510,0,1,85bbfe20-a6a4-49ca-8f20-342f4cbe8258,85bbfe20-a6a4-49ca-8f20-342f4cbe8258,0,1,c12c3f3b-3a96-4e70-b131-8d7bd765095f,c12c3f3b-3a96-4e70-b131-8d7bd765095f,0,1,70ee4b32-80d1-4b79-a322-0433f1b8c7f1,70ee4b32-80d1-4b79-a322-0433f1b8c7f1,0,1,c563588c-346e-499e-ae33-9ff3cb62e658,c563588c-346e-499e-ae33-9ff3cb62e658,0,1,40dbc001-97b6-4188-8de9-3adac670bac4,40dbc001-97b6-4188-8de9-3adac670bac4,0,1,a4ed8b24-bd23-45a7-9f34-61b25b91d0c6,a4ed8b24-bd23-45a7-9f34-61b25b91d0c6,0,1,65efaa10-3239-4f0f-a08e-88c89d9d8d5a,65efaa10-3239-4f0f-a08e-88c89d9d8d5a,0,1,93aa5247-6823-4f70-9d47-e5a0f409828a,93aa5247-6823-4f70-9d47-e5a0f409828a,0,1,030c6a22-a3d5-4cf2-9f7b-dc4fe3732f83,030c6a22-a3d5-4cf2-9f7b-dc4fe3732f83,0,1,b19f1223-5ebe-4446-bacc-bc7d53486f2e,b19f1223-5ebe-4446-bacc-bc7d53486f2e,0,1,6ea7e8e9-0faa-43fd-b9c8-1a7b8f899d6d,6ea7e8e9-0faa-43fd-b9c8-1a7b8f899d6d,0,1,7be1decf-feb1-422b-a3f2-f60d08fdb0e6,7be1decf-feb1-422b-a3f2-f60d08fdb0e6,0,1,bf3167d6-3047-482a-b280-184f446ae7a3,bf3167d6-3047-482a-b280-184f446ae7a3,0,1,50c47c0a-a199-4020-9df4-91b17c159454,50c47c0a-a199-4020-9df4-91b17c159454,0,1,c1d449af-8a6e-4cb0-b2c9-50ea5405c44c,c1d449af-8a6e-4cb0-b2c9-50ea5405c44c,0,1,faecdc33-fed8-4b44-96f4-4215c26959b6,faecdc33-fed8-4b44-96f4-4215c26959b6,0,1,09c29992-47a8-4fca-bd95-e7dbc53e8c4c,09c29992-47a8-4fca-bd95-e7dbc53e8c4c,0,1,f07cf7bd-6f3f-426a-8b71-ba1dcb827654,f07cf7bd-6f3f-426a-8b71-ba1dcb827654,0,1,9df3792e-a4ee-4a2c-9296-c1384925521e,9df3792e-a4ee-4a2c-9296-c1384925521e,0,1,03d423db-f98a-468f-9040-5b76454e5a98,03d423db-f98a-468f-9040-5b76454e5a98,0,1,08f394f9-d254-4fe5-8651-a69c96de7a62,08f394f9-d254-4fe5-8651-a69c96de7a62,0,1,e90ec54b-8b86-43df-8c3c-18c6676bf3f1,e90ec54b-8b86-43df-8c3c-18c6676bf3f1,0,1,6aff6b2f-660b-4d75-9064-fed7a6b0feac,6aff6b2f-660b-4d75-9064-fed7a6b0feac,0,1,53502127-9f47-4e2e-b3ed-eb3c3aae1c50,53502127-9f47-4e2e-b3ed-eb3c3aae1c50,0,1,2fcdd0b5-b738-4e19-8bbf-13a72d7014ec,2fcdd0b5-b738-4e19-8bbf-13a72d7014ec,0,1,59dc7e8d-6f5c-4e1b-816e-5fc15c0e96e0,59dc7e8d-6f5c-4e1b-816e-5fc15c0e96e0,0,1,e60a9221-7676-456f-8a01-b317b03a278b,e60a9221-7676-456f-8a01-b317b03a278b,0,1,4e81ec90-f668-49ca-9193-22337bafb01b,4e81ec90-f668-49ca-9193-22337bafb01b,0,1,104c7c31-5bbd-4242-b29a-2c0d8b69a1b9,104c7c31-5bbd-4242-b29a-2c0d8b69a1b9,0,1,cd60adec-52d6-4fa8-85ca-26551196432c,cd60adec-52d6-4fa8-85ca-26551196432c,0,1,4dfbabd7-d5e5-4b2a-b8d1-752e416629a0,4dfbabd7-d5e5-4b2a-b8d1-752e416629a0,0,1,b71ddbdb-08bb-46be-a79d-319c4a557e76,b71ddbdb-08bb-46be-a79d-319c4a557e76,0,1,d3dfa867-3d52-4872-a69e-f27636abe1bd,d3dfa867-3d52-4872-a69e-f27636abe1bd,0,1,6952d1aa-7132-4e40-8542-f64a4dc1e029,6952d1aa-7132-4e40-8542-f64a4dc1e029,0,1,51a1bc4c-9139-42a4-92c3-f45c837cbdb9,51a1bc4c-9139-42a4-92c3-f45c837cbdb9,0,1,1621811b-dfd3-4c58-8e15-ced16690147a,1621811b-dfd3-4c58-8e15-ced16690147a,0,1,3f266e51-0476-4b7f-8d61-6f9f4456049d,3f266e51-0476-4b7f-8d61-6f9f4456049d,0,1,2b9ce591-ff13-4c2d-85c4-632a2609a211,2b9ce591-ff13-4c2d-85c4-632a2609a211,0,1,689ca0ec-61ce-4590-b73b-ac81e8f1d459,689ca0ec-61ce-4590-b73b-ac81e8f1d459,0,1,3ea1895f-66d0-4bbb-a66b-0c9d411a7c55,3ea1895f-66d0-4bbb-a66b-0c9d411a7c55,0,1,55ad36d7-399e-4b82-8d1c-d45bd890abfe,55ad36d7-399e-4b82-8d1c-d45bd890abfe,0,1,0f3b9012-7bf6-4451-b0c3-139d98d9c2c1,0f3b9012-7bf6-4451-b0c3-139d98d9c2c1,0,1,1b39a65f-5425-4bcb-85bd-1425274af8a8,1b39a65f-5425-4bcb-85bd-1425274af8a8,0,1,392a0618-a41a-4713-a561-f3a80b85abd8,392a0618-a41a-4713-a561-f3a80b85abd8,0,1,a453384d-658d-40f1-ac69-578aa3a24e39,a453384d-658d-40f1-ac69-578aa3a24e39,0,1,2215a441-b9b1-4e5c-8df3-e6cee9226c43,2215a441-b9b1-4e5c-8df3-e6cee9226c43,0,1,2a8d4908-ea0d-4837-be3f-bd78f6b61254,2a8d4908-ea0d-4837-be3f-bd78f6b61254,0,1,ec1deb79-7369-4b26-8e91-f51399e8052a,ec1deb79-7369-4b26-8e91-f51399e8052a,0,1,75dde4fb-3a1a-450c-95c2-c1f95a781db9,75dde4fb-3a1a-450c-95c2-c1f95a781db9,0,1,0ae3ac56-160a-417e-9952-719d02e7f089,0ae3ac56-160a-417e-9952-719d02e7f089,0,1,f5b3983d-d22d-44a8-9069-0a60d8b858bf,f5b3983d-d22d-44a8-9069-0a60d8b858bf,0,1,48659b94-ace8-45f4-a043-6b2731ec6925,48659b94-ace8-45f4-a043-6b2731ec6925,0,1,3a8e60f9-19cb-42a6-a448-ad211261d9b8,3a8e60f9-19cb-42a6-a448-ad211261d9b8,0,1,74320602-094a-4645-b2c9-3053377a3ac3,74320602-094a-4645-b2c9-3053377a3ac3,0,1,3aba26a3-76ee-46c0-9e11-6f64fc754a0d,3aba26a3-76ee-46c0-9e11-6f64fc754a0d,0,1,b066c732-9c5f-4504-894f-96d457b0768f,b066c732-9c5f-4504-894f-96d457b0768f,0,1,9366463d-aa8a-4e89-86d8-c7f746f9551b,9366463d-aa8a-4e89-86d8-c7f746f9551b,0,1,e25da569-d435-45b2-b4e8-fc76d7f1c8df,e25da569-d435-45b2-b4e8-fc76d7f1c8df,0,1,a51a7f57-9c52-4457-819c-13e1b6f886e1,a51a7f57-9c52-4457-819c-13e1b6f886e1,0,1,7d08daba-5e36-4ce3-8a70-17750959b89e,7d08daba-5e36-4ce3-8a70-17750959b89e,0,1,e2c2d915-ae50-4fa0-add3-26ad7dc75efb,e2c2d915-ae50-4fa0-add3-26ad7dc75efb,0,1,39344a8c-2662-48ff-937b-12951bb268fb,39344a8c-2662-48ff-937b-12951bb268fb,0,1,b577663f-ead2-4b18-a4f6-f7f303e89319,b577663f-ead2-4b18-a4f6-f7f303e89319,0,1,43dc335f-5503-47ab-9c6b-0b4c6ab13f57,43dc335f-5503-47ab-9c6b-0b4c6ab13f57,0,1,6cc0a1d7-01eb-4af6-b4ed-4002e2316080,6cc0a1d7-01eb-4af6-b4ed-4002e2316080,0,1,72663843-4010-42ed-989b-0b58bf9f7146,72663843-4010-42ed-989b-0b58bf9f7146,0,1,79da4490-f0b0-48b5-b435-3b2c9ffb0eb3,79da4490-f0b0-48b5-b435-3b2c9ffb0eb3,0,1,3adcceea-867e-4b88-a633-4f8d4ccb43c0,3adcceea-867e-4b88-a633-4f8d4ccb43c0,0,1,a132189c-6584-4bb1-9cfd-1415cd83228a,a132189c-6584-4bb1-9cfd-1415cd83228a,0,1,7ba50e13-0a78-4cca-821f-006b1c83b0b0,7ba50e13-0a78-4cca-821f-006b1c83b0b0,0,1,a3670f95-5abe-49ee-8ea5-d7e4438801ba,a3670f95-5abe-49ee-8ea5-d7e4438801ba,0,1,4443dea1-5143-4e76-97a7-c35dbe1665e4,4443dea1-5143-4e76-97a7-c35dbe1665e4,0,1,0d780521-0767-425a-b44d-315d2dc42d04,0d780521-0767-425a-b44d-315d2dc42d04,0,1,c5b1572d-28f5-42f3-b2e0-8b54f091642e,c5b1572d-28f5-42f3-b2e0-8b54f091642e,0,1,0986c1b6-b677-428d-b49f-a93e40e77171,0986c1b6-b677-428d-b49f-a93e40e77171,0,1,b9c41558-8fe7-45f6-bcb0-5ea3a35264cf,b9c41558-8fe7-45f6-bcb0-5ea3a35264cf,0,1,597c1f9b-3cbd-42bd-b819-f29b3a3f073a,597c1f9b-3cbd-42bd-b819-f29b3a3f073a,0,1,b6662b2e-7e93-4eaa-9e4b-b5647285932b,b6662b2e-7e93-4eaa-9e4b-b5647285932b,0,1,4a180f2c-dc54-4591-8f62-f236d1e07799,4a180f2c-dc54-4591-8f62-f236d1e07799,0,1,3f1578ba-3d55-4eff-bbdd-6329dd5060d5,3f1578ba-3d55-4eff-bbdd-6329dd5060d5,0,1,a9a51e79-4c79-4a43-931b-c0321c1cd65b,a9a51e79-4c79-4a43-931b-c0321c1cd65b,0,1,e8644d90-ec2f-4ac0-8fbd-a7aa95c9bcec,e8644d90-ec2f-4ac0-8fbd-a7aa95c9bcec,0,1,048a1d86-bcf5-47aa-a36c-eb20c3f9f7e5,048a1d86-bcf5-47aa-a36c-eb20c3f9f7e5,0,1,22f2696e-0ac1-4a74-bca9-987b267b2b59,22f2696e-0ac1-4a74-bca9-987b267b2b59,0,1,d705cacc-3485-46d7-9ff4-48c3c0757c81,d705cacc-3485-46d7-9ff4-48c3c0757c81,0,1,98f043ea-633c-4a03-a56f-efbc9e6ef288,98f043ea-633c-4a03-a56f-efbc9e6ef288,0,1,2033b92a-0750-478a-a12d-cf4f74d0a9da,2033b92a-0750-478a-a12d-cf4f74d0a9da,0,1,92fa2196-d8e5-45f9-9d2e-59d837b163ea,92fa2196-d8e5-45f9-9d2e-59d837b163ea,0,1,25dc2290-e283-4449-81c1-1ce15b58067f,25dc2290-e283-4449-81c1-1ce15b58067f,0,1,c534a865-a17f-41e7-88b9-c6af89c9d202,c534a865-a17f-41e7-88b9-c6af89c9d202,0,1,0214bfe6-fb98-4487-8d98-6b10d24a3c4d,0214bfe6-fb98-4487-8d98-6b10d24a3c4d,0,1,0127937c-94c0-43fe-9630-cc2ec6904ad8,0127937c-94c0-43fe-9630-cc2ec6904ad8,0,1,ce7c87b8-e4ab-47e2-b70a-7dcae8bfb8a8,ce7c87b8-e4ab-47e2-b70a-7dcae8bfb8a8,0,1,8df5b3cd-7788-4198-a530-e88be83f1cdf,8df5b3cd-7788-4198-a530-e88be83f1cdf,0,1,ffaeea66-66d5-4741-a9b5-875afebfce7f,ffaeea66-66d5-4741-a9b5-875afebfce7f,0,1,4e36184e-d818-4f38-9257-6d91d9cc85ae,4e36184e-d818-4f38-9257-6d91d9cc85ae,0,1,afcba8a1-5d3e-4a76-9be9-5fbda20d55bd,afcba8a1-5d3e-4a76-9be9-5fbda20d55bd,0,1,cbdc8d7e-b685-4c8d-9f47-d8bfb08300d4,cbdc8d7e-b685-4c8d-9f47-d8bfb08300d4,0,1,3893a258-a9c7-441a-b80c-1cc8c3f4735c,3893a258-a9c7-441a-b80c-1cc8c3f4735c,0,1,f9ad1ef3-7475-4d55-a1ef-eadceda9bf6b,f9ad1ef3-7475-4d55-a1ef-eadceda9bf6b,0,1,c66d0377-45bb-4ef0-bf9b-b44a9c510d38,c66d0377-45bb-4ef0-bf9b-b44a9c510d38,0,1,420748d8-4042-4e1e-aca1-ac0190cdf54e,420748d8-4042-4e1e-aca1-ac0190cdf54e,0,1,a64b15fa-fc34-43fe-a366-d27c0f1c3df2,a64b15fa-fc34-43fe-a366-d27c0f1c3df2,0,1,8b13e848-8fd3-4326-bd18-5a5b12ed3dc5,8b13e848-8fd3-4326-bd18-5a5b12ed3dc5,0,1,f8a456fa-a533-444c-a504-0e74306ada44,f8a456fa-a533-444c-a504-0e74306ada44,0,1,4751a91a-f211-4f66-8238-9bb5668cbc67,4751a91a-f211-4f66-8238-9bb5668cbc67,0,1,f1381abc-e09f-407d-b6b5-c59e7c9e2fd7,f1381abc-e09f-407d-b6b5-c59e7c9e2fd7,0,1,e6c871d6-e06f-420b-ae04-dbf735d3233d,e6c871d6-e06f-420b-ae04-dbf735d3233d,0,1,b9a6b053-2b93-4946-9531-040d3131dcc5,b9a6b053-2b93-4946-9531-040d3131dcc5,0,1,6287eded-23d8-4b04-8415-1d9afa17713b,6287eded-23d8-4b04-8415-1d9afa17713b,0,1,8ce3513d-d086-46f4-81c3-1761594a64c5,8ce3513d-d086-46f4-81c3-1761594a64c5,0,1,79cb147c-8c6b-4f6e-8d5d-dfa29a6e6e53,79cb147c-8c6b-4f6e-8d5d-dfa29a6e6e53,0,1,2ccbc9aa-52d3-4cf3-8e83-77aaef82a38d,2ccbc9aa-52d3-4cf3-8e83-77aaef82a38d,0,1,e9c632b0-7977-4e44-ac56-882617ad7cdc,e9c632b0-7977-4e44-ac56-882617ad7cdc,0,1,e84acba7-7e0f-43e8-a545-6e53d529d5d4,e84acba7-7e0f-43e8-a545-6e53d529d5d4,0,1,3b089d90-7ece-4b74-a4dc-e436d9d31b3b,3b089d90-7ece-4b74-a4dc-e436d9d31b3b,0,1,6086d53f-f1b2-4126-ab46-64705fe63b87,6086d53f-f1b2-4126-ab46-64705fe63b87,0,1,9295d88f-0865-440c-a98a-4710c50211be,9295d88f-0865-440c-a98a-4710c50211be,0,1,90aa51ae-434d-48f4-bfe3-0e1dd3aeea6f,90aa51ae-434d-48f4-bfe3-0e1dd3aeea6f,0,1,38ac9a13-665a-4201-b5cc-687fe4a01130,38ac9a13-665a-4201-b5cc-687fe4a01130,0,1,97c59096-b2dc-45d0-a580-b3018a04f9af,97c59096-b2dc-45d0-a580-b3018a04f9af,0,1,6fbf63b7-1692-495e-a8ec-bdda182997a3,6fbf63b7-1692-495e-a8ec-bdda182997a3,0,1,8172256e-f51e-4de0-bd07-3668785f4cb9,8172256e-f51e-4de0-bd07-3668785f4cb9,0,1,ccb54dc9-3d12-43d0-af6a-138d3526f5d5,ccb54dc9-3d12-43d0-af6a-138d3526f5d5,0,1,b82bcff8-49c9-44a9-8a9f-4428b0cc54a5,b82bcff8-49c9-44a9-8a9f-4428b0cc54a5,0,1,870b4d6d-0b89-4eda-a2b3-5c6db7dbe864,870b4d6d-0b89-4eda-a2b3-5c6db7dbe864,0,1,c172aeaf-b444-47c0-baee-80ccd91fe934,c172aeaf-b444-47c0-baee-80ccd91fe934,0,1,b8c36d5a-7966-4978-9225-67502b9c60a4,b8c36d5a-7966-4978-9225-67502b9c60a4,0,1,37ea0c64-2fec-4c2e-922b-d3a2f01f3e22,37ea0c64-2fec-4c2e-922b-d3a2f01f3e22,0,1,bb6e6574-4328-4cf5-a043-a7d8f6c81414,bb6e6574-4328-4cf5-a043-a7d8f6c81414,0,1,b46b5090-5eb1-4950-9031-8b43f611fa9c,b46b5090-5eb1-4950-9031-8b43f611fa9c,0,1,94e02f76-8656-4999-9470-dd996118400c,94e02f76-8656-4999-9470-dd996118400c,0,1,9effd265-3783-44e2-8698-80dd82137546,9effd265-3783-44e2-8698-80dd82137546,0,1,bef52020-98f8-465b-8981-e5f8eed62308,bef52020-98f8-465b-8981-e5f8eed62308,0,1,19897ad0-bdb5-439c-b4a2-a773c0ce5cf5,19897ad0-bdb5-439c-b4a2-a773c0ce5cf5,0,1,e731dab7-df9e-48ae-8542-4c0c30666ae9,e731dab7-df9e-48ae-8542-4c0c30666ae9,0,1,6ac484a9-4d96-4521-9b8c-66212a365725,6ac484a9-4d96-4521-9b8c-66212a365725,0,1,0841ebfc-12e6-4b3e-a60f-861b15e1b63c,0841ebfc-12e6-4b3e-a60f-861b15e1b63c,0,1,bde05768-2dd6-4800-985d-27075f610cca,bde05768-2dd6-4800-985d-27075f610cca,0,1,d18956cf-e449-48cc-a127-01b5dc910ea2,d18956cf-e449-48cc-a127-01b5dc910ea2,0,1,8e5487a3-b5e5-40ca-88f3-5b0ea0c4d481,8e5487a3-b5e5-40ca-88f3-5b0ea0c4d481,0,1,e352fc19-96be-4410-a516-bc58cc234422,e352fc19-96be-4410-a516-bc58cc234422,0,1,9b742da4-1696-4c06-9dfa-dd85c9286c74,9b742da4-1696-4c06-9dfa-dd85c9286c74,0,1,757ea742-8c14-4e0a-a867-432eee5cfc64,757ea742-8c14-4e0a-a867-432eee5cfc64,0,1,db1062bc-4164-4095-9640-9804c0ebcd0b,db1062bc-4164-4095-9640-9804c0ebcd0b,0,1,d5a13430-518a-4917-9de9-d00abbcce500,d5a13430-518a-4917-9de9-d00abbcce500,0,1,ea7c61ff-745c-4908-9a94-bba022d12de4,ea7c61ff-745c-4908-9a94-bba022d12de4,0,1,4d6683a3-1edd-4d04-8e02-0be002e4e5a4,4d6683a3-1edd-4d04-8e02-0be002e4e5a4,0,1,c7ffd8ab-15e9-4cf1-a7fd-d05534dff000,c7ffd8ab-15e9-4cf1-a7fd-d05534dff000,0,1,53caada5-1d53-45dc-9432-90075ddca890,53caada5-1d53-45dc-9432-90075ddca890,0,1,d1472d23-954b-4069-b2d6-df08c6ec0be1,d1472d23-954b-4069-b2d6-df08c6ec0be1,0,1,93fe2ce6-7193-42bc-a966-4653b7989eaa,93fe2ce6-7193-42bc-a966-4653b7989eaa,0,1,a7fe0aa5-722c-4a09-889b-ee422421addc,a7fe0aa5-722c-4a09-889b-ee422421addc,0,1,798bd34c-d0ee-4590-9b1d-8bc47e42ca8c,798bd34c-d0ee-4590-9b1d-8bc47e42ca8c,0,1,0c838a31-2b08-447c-b39a-a613cfba526c,0c838a31-2b08-447c-b39a-a613cfba526c,0,1,b25083c5-9b97-49a4-b6c3-bbf8d7f91cd3,b25083c5-9b97-49a4-b6c3-bbf8d7f91cd3,0,1,86c679c0-3531-4622-9a1f-3d9d6ccdd431,86c679c0-3531-4622-9a1f-3d9d6ccdd431,0,1,3bc2ca38-4a10-4ebd-a5dc-3418db494f0c,3bc2ca38-4a10-4ebd-a5dc-3418db494f0c,0,1,670c62c1-1a33-4dec-9540-5b4c1fe29074,670c62c1-1a33-4dec-9540-5b4c1fe29074,0,1,cc664d81-d0af-4d25-ae29-64f422e51bf2,cc664d81-d0af-4d25-ae29-64f422e51bf2,0,1,e1314cd1-e662-4c29-ad51-492cb0029883,e1314cd1-e662-4c29-ad51-492cb0029883,0,1,879844f0-30b4-47f5-8d2e-5fea29910368,879844f0-30b4-47f5-8d2e-5fea29910368,0,1,9bc09758-a7ce-44e0-baa3-a3e909869d9b,9bc09758-a7ce-44e0-baa3-a3e909869d9b,0,1,303334ba-2785-47fe-a094-84f9dea33be2,303334ba-2785-47fe-a094-84f9dea33be2,0,1,9690842c-7a2c-4b5d-a238-f730afc49a7b,9690842c-7a2c-4b5d-a238-f730afc49a7b,0,1,04424730-6992-4a5b-838b-7a7c16dedbd0,04424730-6992-4a5b-838b-7a7c16dedbd0,0,1,240bec31-cd59-477b-8459-8e3278da22dc,240bec31-cd59-477b-8459-8e3278da22dc,0,1,e0519f0c-9c99-4f5c-a3a9-27adce45737d,e0519f0c-9c99-4f5c-a3a9-27adce45737d,0,1,554320a0-55dc-4289-bb08-63d405cb4ca5,554320a0-55dc-4289-bb08-63d405cb4ca5,0,1,0874a3c0-0d16-4172-b467-f0666d5fcaee,0874a3c0-0d16-4172-b467-f0666d5fcaee,0,1,cc380a19-ab29-4f20-93ad-9a58cd4de56e,cc380a19-ab29-4f20-93ad-9a58cd4de56e,0,1,6a5f7521-270e-476e-88ec-a8cf79ea61a6,6a5f7521-270e-476e-88ec-a8cf79ea61a6,0,1,9bb841e7-e629-4a1f-8ff6-f8bca0b2b133,9bb841e7-e629-4a1f-8ff6-f8bca0b2b133,0,1,e54a8786-86a4-48e3-a210-aaae4e5fce8c,e54a8786-86a4-48e3-a210-aaae4e5fce8c,0,1,86c86ea2-d14e-4443-b36c-c1c17c4f768a,86c86ea2-d14e-4443-b36c-c1c17c4f768a,0,1,14512818-58b0-44cc-b00d-d37913c57aad,14512818-58b0-44cc-b00d-d37913c57aad,0,1,57964dd6-4b0b-4590-bc44-de744cc423af,57964dd6-4b0b-4590-bc44-de744cc423af,0,1,364cbfe2-bc44-4387-aa7e-6b4aa086c9e9,364cbfe2-bc44-4387-aa7e-6b4aa086c9e9,0,1,46e0522b-b88b-43b2-9067-a5359e90994b,46e0522b-b88b-43b2-9067-a5359e90994b,0,1,727c7c01-83e6-4d59-afa4-ee36f1cbacf2,727c7c01-83e6-4d59-afa4-ee36f1cbacf2,0,1,b143bc6d-ead6-41a2-9a15-1a44488c1ce4,b143bc6d-ead6-41a2-9a15-1a44488c1ce4,0,1,72d41d01-9c9d-4fbe-8a39-932d82d171ef,72d41d01-9c9d-4fbe-8a39-932d82d171ef,0,1,b1e7d3c3-9fc1-4364-a8c3-b076080c7472,b1e7d3c3-9fc1-4364-a8c3-b076080c7472,0,1,697d5715-dd04-40be-9b28-539734725158,697d5715-dd04-40be-9b28-539734725158,0,1,d831a8ac-88a4-4191-ab0b-7538dfb3e7d7,d831a8ac-88a4-4191-ab0b-7538dfb3e7d7,0,1,d95fcb37-fc65-466d-93e2-489f41683276,d95fcb37-fc65-466d-93e2-489f41683276,0,1,c6b0d31e-7b68-4c7f-a565-0ac8a7c11143,c6b0d31e-7b68-4c7f-a565-0ac8a7c11143,0,1,a27a9296-46bb-49a1-8308-db675baa81d0,a27a9296-46bb-49a1-8308-db675baa81d0,0,1,1456f317-360c-4190-b2d1-1be7484369a5,1456f317-360c-4190-b2d1-1be7484369a5,0,1,5ac74bb3-a4df-47db-ad87-6cb95b85c51f,5ac74bb3-a4df-47db-ad87-6cb95b85c51f,0,1,4867948f-b027-44ae-b78c-a94e00eed52b,4867948f-b027-44ae-b78c-a94e00eed52b,0,1,39ed5463-b1c0-44bb-9d71-4ef08007a7d0,39ed5463-b1c0-44bb-9d71-4ef08007a7d0,0,1,3d4cb11a-7ce7-4c46-a427-99d6f41f08bf,3d4cb11a-7ce7-4c46-a427-99d6f41f08bf,0,1,56cc2ba7-fee3-4dcb-9a2a-93dc94a5ee1f,56cc2ba7-fee3-4dcb-9a2a-93dc94a5ee1f,0,1,ef044879-e731-418a-b917-6a685f27c5f4,ef044879-e731-418a-b917-6a685f27c5f4,0,1,f0ffe529-481f-4eed-8fc8-02a9d8f08f7a,f0ffe529-481f-4eed-8fc8-02a9d8f08f7a,0,1,618d13d5-fd1f-4b70-ad45-dd6a17a50730,618d13d5-fd1f-4b70-ad45-dd6a17a50730,0,1,58037b76-b548-4f07-bd67-67e552a5c6e5,58037b76-b548-4f07-bd67-67e552a5c6e5,0,1,68f19104-5fa3-4f28-a84b-bf68c3bed49b,68f19104-5fa3-4f28-a84b-bf68c3bed49b,0,1,ab0b6824-99ba-4b8d-857d-ed8ef017d499,ab0b6824-99ba-4b8d-857d-ed8ef017d499,0,1,f88ccd7a-8d15-4b24-addf-da522a0b4a43,f88ccd7a-8d15-4b24-addf-da522a0b4a43,0,1,0f8e87d4-ffb7-4cff-a2d3-6d5c5219ff0b,0f8e87d4-ffb7-4cff-a2d3-6d5c5219ff0b,0,1,1511c2e3-aeb4-422a-b6ae-03412b714c93,1511c2e3-aeb4-422a-b6ae-03412b714c93,0,1,349378d1-abe3-44de-84a4-d525b08e0474,349378d1-abe3-44de-84a4-d525b08e0474,0,1,1526b18d-7fab-414e-a5b2-377b67ac0b55,1526b18d-7fab-414e-a5b2-377b67ac0b55,0,1,c561fe6b-53ea-435b-a230-1850e2dc1ff5,c561fe6b-53ea-435b-a230-1850e2dc1ff5,0,1,aba7605f-6baf-42a8-b5ad-8f71c780b81f,aba7605f-6baf-42a8-b5ad-8f71c780b81f,0,1,8fc19eca-1a15-4758-af4b-79637e51edfb,8fc19eca-1a15-4758-af4b-79637e51edfb,0,1,be9144ce-5560-47bb-8c5e-9beefd15bfc3,be9144ce-5560-47bb-8c5e-9beefd15bfc3,0,1,ad09d1e6-5982-4e1c-864e-452ac5b2915a,ad09d1e6-5982-4e1c-864e-452ac5b2915a,0,1,caea53be-d2f7-4109-8017-d2bfdfde8c6f,caea53be-d2f7-4109-8017-d2bfdfde8c6f,0,1,60f30706-9919-4767-a17c-660754b9d542,60f30706-9919-4767-a17c-660754b9d542,0,1,7de19812-ed6c-41b5-82aa-b9a8e6d808f2,7de19812-ed6c-41b5-82aa-b9a8e6d808f2,0,1,0dcc3bbf-afbe-4a4e-bc4a-17534d5fab28,0dcc3bbf-afbe-4a4e-bc4a-17534d5fab28,0,1,28dc34df-1daa-49a2-a12e-db91ee963459,28dc34df-1daa-49a2-a12e-db91ee963459,0,1,bf75c4de-b36a-4a7f-8d84-9fa3d020a6cb,bf75c4de-b36a-4a7f-8d84-9fa3d020a6cb,0,1,d02fe5f5-412c-4c4f-bfc7-c1d7206cd092,d02fe5f5-412c-4c4f-bfc7-c1d7206cd092,0,1,2233ce53-b8a8-4c83-97a2-683c8575462a,2233ce53-b8a8-4c83-97a2-683c8575462a,0,1,2071f210-dc13-43c0-a58e-b982821d6842,2071f210-dc13-43c0-a58e-b982821d6842,0,1,3cda70d0-3116-4508-82ea-5ea0f0921262,3cda70d0-3116-4508-82ea-5ea0f0921262,0,1,d5588c0d-3e94-485b-a7e9-45f5cf74df9e,d5588c0d-3e94-485b-a7e9-45f5cf74df9e,0,1,c2ef8d6b-de7b-430d-ac30-76cdaf0579c2,c2ef8d6b-de7b-430d-ac30-76cdaf0579c2,0,1,0e805e1f-3797-4ef9-94d3-0ec58ac1b605,0e805e1f-3797-4ef9-94d3-0ec58ac1b605,0,1,8677bd53-5569-4d44-b7ce-d1b3fe12c78d,8677bd53-5569-4d44-b7ce-d1b3fe12c78d,0,1,19056365-9ff1-4733-876e-a7ebdbbe0557,19056365-9ff1-4733-876e-a7ebdbbe0557,0,1,5e09dc5e-bbb7-4c38-b609-940c24f63c84,5e09dc5e-bbb7-4c38-b609-940c24f63c84,0,1,017b28eb-8ba9-465e-a748-20eadbeb4ea2,017b28eb-8ba9-465e-a748-20eadbeb4ea2,0,1,c0bb2d66-94c9-4bc6-afd5-534075e8395b,c0bb2d66-94c9-4bc6-afd5-534075e8395b,0,1,db7cc693-1645-4416-a9d9-5a7584cd3bbc,db7cc693-1645-4416-a9d9-5a7584cd3bbc,0,1,c849fb09-7833-49c8-9461-98426dc6c0af,c849fb09-7833-49c8-9461-98426dc6c0af,0,1,6c58fc3a-37f8-44b7-b076-2c10ce09b554,6c58fc3a-37f8-44b7-b076-2c10ce09b554,0,1,8ca0258c-96d8-4a12-b94f-db968195ee0a,8ca0258c-96d8-4a12-b94f-db968195ee0a,0,1,245c07a9-98b0-452b-b899-dc8751ab7ce0,245c07a9-98b0-452b-b899-dc8751ab7ce0,0,1,ae67dfe5-bb36-4400-81f5-8dab1fd0ca6e,ae67dfe5-bb36-4400-81f5-8dab1fd0ca6e,0,1,9cd9a3e1-b52c-4151-abd3-2744ed03cc1b,9cd9a3e1-b52c-4151-abd3-2744ed03cc1b,0,1,00579e31-e97d-4d79-ba25-b8d500a17e7f,00579e31-e97d-4d79-ba25-b8d500a17e7f,0,1,75ffd0b9-79be-4600-a310-591fddb6d63e,75ffd0b9-79be-4600-a310-591fddb6d63e,0,1,4883cb3d-4ab3-4e0e-bddb-ae8852547a3c,4883cb3d-4ab3-4e0e-bddb-ae8852547a3c,0,1,47da49ee-b243-4e78-9c8f-bb26c60e6136,47da49ee-b243-4e78-9c8f-bb26c60e6136,0,1,39bee714-cacd-4d48-97a5-c838660e049a,39bee714-cacd-4d48-97a5-c838660e049a,0,1,ea97b67e-1182-49c3-b95a-8fcce4cd3d09,ea97b67e-1182-49c3-b95a-8fcce4cd3d09,0,1,2baf6d7a-12ed-4f22-ad96-92bb31b747ff,2baf6d7a-12ed-4f22-ad96-92bb31b747ff,0,1,becf53b6-3fbc-4c70-822f-4a70b0434353,becf53b6-3fbc-4c70-822f-4a70b0434353,0,1,9376b18c-cffd-488b-8a1e-cca598f018bc,9376b18c-cffd-488b-8a1e-cca598f018bc,0,1,f8dc2485-685b-4e41-834a-a2cbbbe4d53b,f8dc2485-685b-4e41-834a-a2cbbbe4d53b,0,1,652ee894-047b-4a5a-a500-2d61b4c4a473,652ee894-047b-4a5a-a500-2d61b4c4a473,0,1,8a95d199-9bd1-4cbb-9d1a-941e80fa2105,8a95d199-9bd1-4cbb-9d1a-941e80fa2105,0,1,fef727fa-f63b-4467-9367-73a2425b19e3,fef727fa-f63b-4467-9367-73a2425b19e3,0,1,33f8cd94-71e7-4703-92c3-22690fbd871a,33f8cd94-71e7-4703-92c3-22690fbd871a,0,1,b6e5de4d-0156-4342-b646-6e6920a4bd3a,b6e5de4d-0156-4342-b646-6e6920a4bd3a,0,1,c03f9972-5a1f-449b-b170-5a958c2b5846,c03f9972-5a1f-449b-b170-5a958c2b5846,0,1,25896075-2484-4879-8310-7f5680d80b48,25896075-2484-4879-8310-7f5680d80b48,0,1,09858042-6284-4499-8055-c1b5b783ce5f,09858042-6284-4499-8055-c1b5b783ce5f,0,1,1e3c444d-6f73-4eb0-a12d-7106daf36b14,1e3c444d-6f73-4eb0-a12d-7106daf36b14,0,1,1e63c656-a0e7-4b33-8bac-2a196e028ffa,1e63c656-a0e7-4b33-8bac-2a196e028ffa,0,1,085cbea9-1df1-4ee9-afb7-da2bf313697e,085cbea9-1df1-4ee9-afb7-da2bf313697e,0,1,b3152292-5546-4896-ad24-cb41057698d8,b3152292-5546-4896-ad24-cb41057698d8,0,1,38fc1e6e-7cd3-437b-b429-6655be34cd01,38fc1e6e-7cd3-437b-b429-6655be34cd01,0,1,c38d8135-e11f-4860-b370-84ff279b7fbd,c38d8135-e11f-4860-b370-84ff279b7fbd,0,1,ee0798f5-47a8-4118-a25c-cfd3473007c1,ee0798f5-47a8-4118-a25c-cfd3473007c1,0,1,e25b2b10-bf08-42db-9642-861efc5e583b,e25b2b10-bf08-42db-9642-861efc5e583b,0,1,29f2094a-d0d1-425c-8161-45a9ba186e19,29f2094a-d0d1-425c-8161-45a9ba186e19,0,1,bfa90848-930f-433d-8f6f-c11ac2c5eba2,bfa90848-930f-433d-8f6f-c11ac2c5eba2,0,1,a4d767a1-d2e6-4e0a-ab35-9207eef54998,a4d767a1-d2e6-4e0a-ab35-9207eef54998,0,1,69149ce1-d3f8-4e12-be8f-b328ade60882,69149ce1-d3f8-4e12-be8f-b328ade60882,0,1,ff592ecb-eb08-4554-87bf-1d2935b21d3c,ff592ecb-eb08-4554-87bf-1d2935b21d3c,0,1,e50cb13a-151b-45d2-a7b7-d23440ddfa24,e50cb13a-151b-45d2-a7b7-d23440ddfa24,0,1,cc3a7f15-4db6-445e-b282-f44d0460b7d3,cc3a7f15-4db6-445e-b282-f44d0460b7d3,0,1,0b8bfb71-d430-4bdf-8391-a534b3a15fc3,0b8bfb71-d430-4bdf-8391-a534b3a15fc3,0,1,0d8770aa-fa6e-471c-92c8-b96576927ef0,0d8770aa-fa6e-471c-92c8-b96576927ef0,0,1,b8a32c33-4e15-4c21-baab-64a86d44321b,b8a32c33-4e15-4c21-baab-64a86d44321b,0,1,e7d51ada-f286-4519-bfae-ece95dd4d7b0,e7d51ada-f286-4519-bfae-ece95dd4d7b0,0,1,d7dd9a03-6818-4987-8f39-58e1c906569f,d7dd9a03-6818-4987-8f39-58e1c906569f,0,1,fce028b8-b530-49f0-b6ad-a28d03e19b0f,fce028b8-b530-49f0-b6ad-a28d03e19b0f,0,1,301eea20-0e7f-441e-a531-28b4627dfd93,301eea20-0e7f-441e-a531-28b4627dfd93,0,1,95a71c2e-aa39-42ec-8889-2390a553f146,95a71c2e-aa39-42ec-8889-2390a553f146,0,1,d975aef4-8da8-4486-baeb-a99c48cff0ec,d975aef4-8da8-4486-baeb-a99c48cff0ec,0,1,75666bb9-f6d3-4dd6-8220-427a81f23fc9,75666bb9-f6d3-4dd6-8220-427a81f23fc9,0,1,9da27139-0bed-47b0-aef6-246929968502,9da27139-0bed-47b0-aef6-246929968502,0,1,68e82adf-bc03-4f23-9ec4-749ed42241da,68e82adf-bc03-4f23-9ec4-749ed42241da,0,1,7ae5d177-a3e6-4989-b10c-8e0a605c26d9,7ae5d177-a3e6-4989-b10c-8e0a605c26d9,0,1,41f87891-ddd5-4e0f-a4f2-8039fb71981b,41f87891-ddd5-4e0f-a4f2-8039fb71981b,0,1,a57f6dc1-59d7-4311-8acd-65ce57a9f386,a57f6dc1-59d7-4311-8acd-65ce57a9f386,0,1,893b2dd9-a939-4799-9b78-50d788a5f3ba,893b2dd9-a939-4799-9b78-50d788a5f3ba,0,1,68229ecd-7ecc-4194-a3e5-f8df39b55d6a,68229ecd-7ecc-4194-a3e5-f8df39b55d6a,0,1,e4842271-4fc0-4e15-afef-876f05af78c0,e4842271-4fc0-4e15-afef-876f05af78c0,0,1,135d57fe-d420-4bb0-9120-e43fd9b55c16,135d57fe-d420-4bb0-9120-e43fd9b55c16,0,1,31ee6430-b65d-42fa-859b-c4f1c40686ae,31ee6430-b65d-42fa-859b-c4f1c40686ae,0,1,c59e11f3-6bcb-404a-9d76-1416c12be354,c59e11f3-6bcb-404a-9d76-1416c12be354,0,1,c1a1f12b-3978-4047-956e-a5c7de8371a0,c1a1f12b-3978-4047-956e-a5c7de8371a0,0,1,ac39b903-0c60-417e-a50f-49ed375424f5,ac39b903-0c60-417e-a50f-49ed375424f5,0,1,9893e2d6-f3f8-4d73-bb06-19bf26d216ab,9893e2d6-f3f8-4d73-bb06-19bf26d216ab,0,1,387d3bbf-cddd-4506-b14f-89c1f37adbbc,387d3bbf-cddd-4506-b14f-89c1f37adbbc,0,1,16392cf6-dd83-4df0-a54b-6efc29778a89,16392cf6-dd83-4df0-a54b-6efc29778a89,0,1,64f667e5-6a8f-448f-aed5-a4d461232845,64f667e5-6a8f-448f-aed5-a4d461232845,0,1,a148cdff-0e67-48e6-9cc5-e8a6f5aa1ae8,a148cdff-0e67-48e6-9cc5-e8a6f5aa1ae8,0,1,037842ca-aeaf-4e27-9a0e-e929438b6f40,037842ca-aeaf-4e27-9a0e-e929438b6f40,0,1,a4ec7d3d-2d01-436c-98ec-ec42733ee5c6,a4ec7d3d-2d01-436c-98ec-ec42733ee5c6,0,1,230722e6-942f-4594-be89-eff59c6572bf,230722e6-942f-4594-be89-eff59c6572bf,0,1,b43abcf7-1f1d-4a59-b0d1-0a493c3a4785,b43abcf7-1f1d-4a59-b0d1-0a493c3a4785,0,1,eaf6045f-9ac0-43ef-b165-a45be75a4d44,eaf6045f-9ac0-43ef-b165-a45be75a4d44,0,1,237dab99-ed72-432c-ad01-c6045d74f000,237dab99-ed72-432c-ad01-c6045d74f000,0,1,59855d19-29cd-4efd-a453-b19e574113ef,59855d19-29cd-4efd-a453-b19e574113ef,0,1,a1130128-cc48-4555-93a2-99e7f74f77dc,a1130128-cc48-4555-93a2-99e7f74f77dc,0,1,94e08dcf-3885-4a73-82ab-cb291f1cf95f,94e08dcf-3885-4a73-82ab-cb291f1cf95f,0,1,405c52c4-25fe-45ff-abab-bf01041e768d,405c52c4-25fe-45ff-abab-bf01041e768d,0,1,55ce840b-5838-4107-886d-f935b9907bd8,55ce840b-5838-4107-886d-f935b9907bd8,0,1,0b3088c9-7fb9-4979-acce-16d7ae7ba6b7,0b3088c9-7fb9-4979-acce-16d7ae7ba6b7,0,1,f1753bda-16db-4b00-a16a-37ddade8403f,f1753bda-16db-4b00-a16a-37ddade8403f,0,1,a1875d63-4303-46f1-bdea-fc529b5891f3,a1875d63-4303-46f1-bdea-fc529b5891f3,0,1,59123b12-6052-4480-9c86-f4de1b5cdc04,59123b12-6052-4480-9c86-f4de1b5cdc04,0,1,133f181a-fade-4182-826d-904fac780326,133f181a-fade-4182-826d-904fac780326,0,1,a687748a-0b2a-4277-b935-07616d28430d,a687748a-0b2a-4277-b935-07616d28430d,0,1,f60cb71a-f451-426a-aa3a-aa266b8da149,f60cb71a-f451-426a-aa3a-aa266b8da149,0,1,641ebe22-7135-4adb-bbd6-e0c37d246a2d,641ebe22-7135-4adb-bbd6-e0c37d246a2d,0,1,f71ba01e-9f6b-4241-8048-4368c8888756,f71ba01e-9f6b-4241-8048-4368c8888756,0,1,ab6fdd75-2ea6-4408-8c03-0cfab775a7a0,ab6fdd75-2ea6-4408-8c03-0cfab775a7a0,0,1,6010c27f-e857-4fc3-be13-1eea51f02ea7,6010c27f-e857-4fc3-be13-1eea51f02ea7,0,1,6aa814fa-417e-428c-951e-6efd9d0775da,6aa814fa-417e-428c-951e-6efd9d0775da,0,1,a247efe1-8608-4780-9cc8-54e29944475b,a247efe1-8608-4780-9cc8-54e29944475b,0,1,4b8c3c82-6e8f-469e-8a80-144361d1d0b2,4b8c3c82-6e8f-469e-8a80-144361d1d0b2,0,1,a8f162e9-3f59-41a5-b82f-da20928213c7,a8f162e9-3f59-41a5-b82f-da20928213c7,0,1,ade68dfd-5037-4fd7-b043-9514e3fe6342,ade68dfd-5037-4fd7-b043-9514e3fe6342,0,1,7b008aad-9d05-43e1-8295-62ae58cfff42,7b008aad-9d05-43e1-8295-62ae58cfff42,0,1,fdaf9255-d621-4a98-9530-f618ed440795,fdaf9255-d621-4a98-9530-f618ed440795,0,1,0daac965-2026-4acc-8ba1-3c1f01779257,0daac965-2026-4acc-8ba1-3c1f01779257,0,1,65a331c0-7501-49f6-8027-35b703d11834,65a331c0-7501-49f6-8027-35b703d11834,0,1,c67fab0a-704f-43ae-bd03-4b5b1a880b24,c67fab0a-704f-43ae-bd03-4b5b1a880b24,0,1,c1703a14-61a0-4461-8ad8-7173e2c431fe,c1703a14-61a0-4461-8ad8-7173e2c431fe,0,1,b1b5841d-0cf9-4de5-8561-b35b8f286d21,b1b5841d-0cf9-4de5-8561-b35b8f286d21,0,1,aecf5653-3005-43f2-ab49-40977e70f02b,aecf5653-3005-43f2-ab49-40977e70f02b,0,1,4093fe34-7557-4f15-831b-d654b94b8010,4093fe34-7557-4f15-831b-d654b94b8010,0,1,ee10023f-5c63-4cb3-8e6c-db566c788c9d,ee10023f-5c63-4cb3-8e6c-db566c788c9d,0,1,475f8577-a141-496b-94e1-53215c0dd017,475f8577-a141-496b-94e1-53215c0dd017,0,1,97638762-c01e-4c8f-88e2-b356e517e18f,97638762-c01e-4c8f-88e2-b356e517e18f,0,1,074e34f2-e9be-4bd3-beca-8b916772e2be,074e34f2-e9be-4bd3-beca-8b916772e2be,0,1,28fecf1b-7cab-4087-b66e-2052edb8ce3a,28fecf1b-7cab-4087-b66e-2052edb8ce3a,0,1,d85b00b7-b0d8-4b91-8d7f-0c2da524d446,d85b00b7-b0d8-4b91-8d7f-0c2da524d446,0,1,cc906f05-5ea6-43cb-a084-c4ee51ca4bd5,cc906f05-5ea6-43cb-a084-c4ee51ca4bd5,0,1,f5417147-4d2a-4e49-911b-2bb5eccb8441,f5417147-4d2a-4e49-911b-2bb5eccb8441,0,1,20fbed2b-4393-4de0-a71d-017a336bdac0,20fbed2b-4393-4de0-a71d-017a336bdac0,0,1,2ca4fc58-798b-4fc3-8673-27688ce7a1f2,2ca4fc58-798b-4fc3-8673-27688ce7a1f2,0,1,fbbb2449-9a07-4229-8ea5-bee0afab5f56,fbbb2449-9a07-4229-8ea5-bee0afab5f56,0,1,9fdddb51-0605-4f64-8d2e-aa7dbcd37262,9fdddb51-0605-4f64-8d2e-aa7dbcd37262,0,1,0d124daf-dc52-4391-a2d9-3c43a45c422c,0d124daf-dc52-4391-a2d9-3c43a45c422c,0,1,a300ecc3-8031-4a50-a17d-b08cf3a72139,a300ecc3-8031-4a50-a17d-b08cf3a72139,0,1,44b28019-01c0-468d-9b60-e050ff8b71ac,44b28019-01c0-468d-9b60-e050ff8b71ac,0,1,69f6173c-a570-41ff-b07f-5b85f7187515,69f6173c-a570-41ff-b07f-5b85f7187515,0,1,9c443dd3-4acb-4c5a-9c4b-af8b0c87e861,9c443dd3-4acb-4c5a-9c4b-af8b0c87e861,0,1,98153b59-8cc6-4dc7-b945-99c1146d07da,98153b59-8cc6-4dc7-b945-99c1146d07da,0,1,3e2828b4-2b55-471e-ac69-55119c2480f8,3e2828b4-2b55-471e-ac69-55119c2480f8,0,1,df9db8d5-c5c2-4a9d-88fe-77247b2c417e,df9db8d5-c5c2-4a9d-88fe-77247b2c417e,0,1,9da32b56-ff89-4739-bb99-615074b72298,9da32b56-ff89-4739-bb99-615074b72298,0,1,08baf3ee-b8ca-4f29-89fc-c15344064ad3,08baf3ee-b8ca-4f29-89fc-c15344064ad3,0,1,2c8ab5a6-66d5-4b6f-94ae-4292724ded7f,2c8ab5a6-66d5-4b6f-94ae-4292724ded7f,0,1,01b85e3a-9920-425a-9de5-5079fffeef93,01b85e3a-9920-425a-9de5-5079fffeef93,0,1,82e12316-cc64-4d2f-83fa-054b5a738f02,82e12316-cc64-4d2f-83fa-054b5a738f02,0,1,6b70f7e1-8bdb-4fc4-9b95-0e045bfa288c,6b70f7e1-8bdb-4fc4-9b95-0e045bfa288c,0,1,a890be6b-f050-4ea4-a388-570948ffd22b,a890be6b-f050-4ea4-a388-570948ffd22b,0,1,b00c31d6-4fc6-4189-9f72-f91742ec705f,b00c31d6-4fc6-4189-9f72-f91742ec705f,0,1,1333101b-82e8-41a9-a793-5af5dcd6f68a,1333101b-82e8-41a9-a793-5af5dcd6f68a,0,1,3ba630c2-cdc1-40a8-a24e-538ddb1abe38,3ba630c2-cdc1-40a8-a24e-538ddb1abe38,0,1,0f25646a-90f9-4747-a778-7efdaabc284c,0f25646a-90f9-4747-a778-7efdaabc284c,0,1,3a2d9324-8260-478d-ad62-a964d860cb8f,3a2d9324-8260-478d-ad62-a964d860cb8f,0,1,9b9cd161-5bee-4433-a0ec-b67deb099b5e,9b9cd161-5bee-4433-a0ec-b67deb099b5e,0,1,ca179cb5-65e1-4a55-bf12-096b926accb0,ca179cb5-65e1-4a55-bf12-096b926accb0,0,1,472ce1c2-9e83-418b-b1ec-e15e126bc919,472ce1c2-9e83-418b-b1ec-e15e126bc919,0,1,9fe30414-8261-4403-a854-f22b61824f69,9fe30414-8261-4403-a854-f22b61824f69,0,1,07bb26ac-bd97-465f-a192-db7fedbb579b,07bb26ac-bd97-465f-a192-db7fedbb579b,0,1,cd8244d1-0996-40ea-9263-7179c1e8aa26,cd8244d1-0996-40ea-9263-7179c1e8aa26,0,1,bb129cf2-5a5a-433a-924a-a1d0d895644a,bb129cf2-5a5a-433a-924a-a1d0d895644a,0,1,faa34cb8-2d48-4851-a839-fc40536a0234,faa34cb8-2d48-4851-a839-fc40536a0234,0,1,0894db61-51f6-4068-9634-e55d95e2a8ac,0894db61-51f6-4068-9634-e55d95e2a8ac,0,1,ad3fb691-68b2-4d65-93ab-ab8fcb77e035,ad3fb691-68b2-4d65-93ab-ab8fcb77e035,0,1,67aed41e-9707-4007-bb3c-7273476664bb,67aed41e-9707-4007-bb3c-7273476664bb,0,1,954e7804-e8b1-42aa-9d49-bef73f9d13d1,954e7804-e8b1-42aa-9d49-bef73f9d13d1,0,1,de25a90c-4b46-4340-b649-93e16dde33de,de25a90c-4b46-4340-b649-93e16dde33de,0,1,4f2d0398-49f4-410c-a451-436cbf96a262,4f2d0398-49f4-410c-a451-436cbf96a262,0,1,ed297409-6215-4fd4-b47d-a2247e0343da,ed297409-6215-4fd4-b47d-a2247e0343da,0,1,5ae2a1de-6380-45cc-9c8f-5612cd5ba627,5ae2a1de-6380-45cc-9c8f-5612cd5ba627,0,1,e8aa2ba2-7dfa-47e3-bc18-6156f700ceed,e8aa2ba2-7dfa-47e3-bc18-6156f700ceed,0,1,8c472f51-47ec-43c4-9858-fd19ac3e17f3,8c472f51-47ec-43c4-9858-fd19ac3e17f3,0,1,e7d0cc1f-f3ee-486e-b1f3-db8e6a6162cc,e7d0cc1f-f3ee-486e-b1f3-db8e6a6162cc,0,1,c54f31ce-114b-46d3-b4c6-12c8f07727ca,c54f31ce-114b-46d3-b4c6-12c8f07727ca,0,1,5a9c82c1-d0cd-48ff-b91c-38b950591e4c,5a9c82c1-d0cd-48ff-b91c-38b950591e4c,0,1,b2c8bd74-21c9-4495-93e2-ca5355698350,b2c8bd74-21c9-4495-93e2-ca5355698350,0,1,249b6436-bd44-4950-b118-7f40f7aaf794,249b6436-bd44-4950-b118-7f40f7aaf794,0,1,712c2b73-4697-4581-a095-70555aee8be2,712c2b73-4697-4581-a095-70555aee8be2,0,1,c1508d67-ac6d-41e3-884d-b3bdd54659f8,c1508d67-ac6d-41e3-884d-b3bdd54659f8,0,1,3436b16e-ef5b-4abb-9aad-c70a7c8560ed,3436b16e-ef5b-4abb-9aad-c70a7c8560ed,0,1,ce6d1259-af90-482b-b19a-405512321bd9,ce6d1259-af90-482b-b19a-405512321bd9,0,1,df48bfa3-5502-4a61-a79f-1dea043dac36,df48bfa3-5502-4a61-a79f-1dea043dac36,0,1,adee37e6-f087-422f-91b3-681f3d73189c,adee37e6-f087-422f-91b3-681f3d73189c,0,1,35103a27-230c-45c0-a8c9-24bd46608bbb,35103a27-230c-45c0-a8c9-24bd46608bbb,0,1,c5e9f987-4466-4161-8e36-278b0b3ce056,c5e9f987-4466-4161-8e36-278b0b3ce056,0,1,b6566d54-e821-4a2a-a447-0f533f35de91,b6566d54-e821-4a2a-a447-0f533f35de91,0,1,46568b9a-a765-4037-8a86-b184a570ab37,46568b9a-a765-4037-8a86-b184a570ab37,0,1,4fcc7278-2fec-49ee-b0ef-c7d5f5f698a4,4fcc7278-2fec-49ee-b0ef-c7d5f5f698a4,0,1,547a6dec-6fe8-439d-a8d9-ac2612af20d2,547a6dec-6fe8-439d-a8d9-ac2612af20d2,0,1,2bc2c4b7-dacb-4cb3-b5b2-712b19bebcd7,2bc2c4b7-dacb-4cb3-b5b2-712b19bebcd7,0,1,84395058-d46a-428c-b782-a9fa89fea14a,84395058-d46a-428c-b782-a9fa89fea14a,0,1,39bc2bc6-2a4f-4e26-b1b9-fb8473234f09,39bc2bc6-2a4f-4e26-b1b9-fb8473234f09,0,1,5b7eb8bc-ad6b-4191-a6c1-92561bb944f2,5b7eb8bc-ad6b-4191-a6c1-92561bb944f2,0,1,cc9679a5-1ed2-4290-8c9b-8a2f6614d053,cc9679a5-1ed2-4290-8c9b-8a2f6614d053,0,1,93016393-c637-4d81-8675-aa5e51e678e0,93016393-c637-4d81-8675-aa5e51e678e0,0,1,d8621f68-106e-4058-963f-56010491ae2e,d8621f68-106e-4058-963f-56010491ae2e,0,1,1f3057c2-135f-44b2-9f86-34481fbc5596,1f3057c2-135f-44b2-9f86-34481fbc5596,0,1,f8f0d92c-b7f0-496c-8d33-f8a57dfa16f2,f8f0d92c-b7f0-496c-8d33-f8a57dfa16f2,0,1,f2e2df50-52fc-4e95-909b-80fc91a68f62,f2e2df50-52fc-4e95-909b-80fc91a68f62,0,1,1a1d8dd0-1559-426c-ad3c-baa6eb3a53db,1a1d8dd0-1559-426c-ad3c-baa6eb3a53db,0,1,1fca06d9-b015-4fc8-abdd-3e2397e0c307,1fca06d9-b015-4fc8-abdd-3e2397e0c307,0,1,573f1753-9194-4aaf-9217-5cac70ff108f,573f1753-9194-4aaf-9217-5cac70ff108f,0,1,1f7ec25a-05b1-468b-8857-2bb1aed3678a,1f7ec25a-05b1-468b-8857-2bb1aed3678a,0,1,c121b8bc-ecbf-4775-b210-3c1e3502a6ac,c121b8bc-ecbf-4775-b210-3c1e3502a6ac,0,1,4a1e6d25-89e7-468a-aef1-6ded0154dca2,4a1e6d25-89e7-468a-aef1-6ded0154dca2,0,1,905624ea-b253-413f-b651-1eb2c5a7d52a,905624ea-b253-413f-b651-1eb2c5a7d52a,0,1,b639ed30-3e37-4c65-a39f-00fe735950eb,b639ed30-3e37-4c65-a39f-00fe735950eb,0,1,76ef7f67-0ce8-4ee2-9134-e793c41b8de3,76ef7f67-0ce8-4ee2-9134-e793c41b8de3,0,1,f137eb0f-bde7-412d-9229-d7a4f9456e6c,f137eb0f-bde7-412d-9229-d7a4f9456e6c,0,1,90880131-8065-4a7e-a0fa-ecff9e27363c,90880131-8065-4a7e-a0fa-ecff9e27363c,0,1,57e9fcea-342c-4089-bd10-befb3faf0dbd,57e9fcea-342c-4089-bd10-befb3faf0dbd,0,1,7b01236c-5ab7-43fa-aa0e-1ae55c8a4efe,7b01236c-5ab7-43fa-aa0e-1ae55c8a4efe,0,1,f811b0b7-41b5-4591-9910-780f08780236,f811b0b7-41b5-4591-9910-780f08780236,0,1,6b10167a-f5c3-4d7b-b444-d5ff6e705ea4,6b10167a-f5c3-4d7b-b444-d5ff6e705ea4,0,1,f85ff11a-163e-4d18-98bc-b0ebe83d34e4,f85ff11a-163e-4d18-98bc-b0ebe83d34e4,0,1,51a0444d-13c8-45a8-97f6-f3f976964bf8,51a0444d-13c8-45a8-97f6-f3f976964bf8,0,1,7e2ba519-fbb9-4163-b20b-b99898e6ac57,7e2ba519-fbb9-4163-b20b-b99898e6ac57,0,1,38eb3fd1-57be-4dc2-bed4-d8107086bf2a,38eb3fd1-57be-4dc2-bed4-d8107086bf2a,0,1,6b6d541b-5dc1-4150-b8d1-5844a694ac6a,6b6d541b-5dc1-4150-b8d1-5844a694ac6a,0,1,2b1619a6-c841-4963-8c51-c1d8d6ba3746,2b1619a6-c841-4963-8c51-c1d8d6ba3746,0,1,eab50f82-4612-47fd-a5c2-9678016a1937,eab50f82-4612-47fd-a5c2-9678016a1937,0,1,4212bb94-7c24-4d4f-8bb8-4060bd21a135,4212bb94-7c24-4d4f-8bb8-4060bd21a135,0,1,2609ba3c-e4de-45b3-86e0-93db39a21eee,2609ba3c-e4de-45b3-86e0-93db39a21eee,0,1,00dcfeab-7ba1-4a50-996e-4fd693dd0514,00dcfeab-7ba1-4a50-996e-4fd693dd0514,0,1,d21971c9-9aa6-448a-ab37-49ad0b0547ec,d21971c9-9aa6-448a-ab37-49ad0b0547ec,0,1,627438b8-c738-4e02-a0e7-cfd7fbf8eca1,627438b8-c738-4e02-a0e7-cfd7fbf8eca1,0,1,00418e6c-77b2-4753-b9ff-3a8013436f8a,00418e6c-77b2-4753-b9ff-3a8013436f8a,0,1,e2c76c41-4c47-4588-a081-7bd81ac1698b,e2c76c41-4c47-4588-a081-7bd81ac1698b,0,1,8deaa3d0-b36b-4f20-a9a8-11d829f5ef9d,8deaa3d0-b36b-4f20-a9a8-11d829f5ef9d,0,1,d5537afb-df5f-4edf-a3d3-ff6b2a908ad9,d5537afb-df5f-4edf-a3d3-ff6b2a908ad9,0,1,d9f1f56b-75c8-43e9-8043-89076c225f78,d9f1f56b-75c8-43e9-8043-89076c225f78,0,1,a3c9a7eb-2104-4402-954c-3e12de4a7de3,a3c9a7eb-2104-4402-954c-3e12de4a7de3,0,1,38bf6d3b-5435-4bac-b9fc-23b80afeb760,38bf6d3b-5435-4bac-b9fc-23b80afeb760,0,1,6c34eef9-9405-4de0-9177-1bae85251ae4,6c34eef9-9405-4de0-9177-1bae85251ae4,0,1,556a0e57-5b3b-4303-a013-0bd296c506b8,556a0e57-5b3b-4303-a013-0bd296c506b8,0,1,fabbac92-cb98-4087-b3fa-387482ed0d86,fabbac92-cb98-4087-b3fa-387482ed0d86,0,1,bbbc2d1f-2f78-4b7e-b5fb-ca7c74051221,bbbc2d1f-2f78-4b7e-b5fb-ca7c74051221,0,1,e09534e3-ac6e-42a6-86e8-564acb20089a,e09534e3-ac6e-42a6-86e8-564acb20089a,0,1,5e380276-2a08-435c-927e-a7f56f5a4dbc,5e380276-2a08-435c-927e-a7f56f5a4dbc,0,1,d06e845a-9f54-40dd-b0df-6988def62017,d06e845a-9f54-40dd-b0df-6988def62017,0,1,7badb97b-c359-42af-9066-6bbfc0650cf9,7badb97b-c359-42af-9066-6bbfc0650cf9,0,1,63223883-06cf-4d01-be95-5e410cc58a22,63223883-06cf-4d01-be95-5e410cc58a22,0,1,1929139f-dabb-4c40-9423-158093360889,1929139f-dabb-4c40-9423-158093360889,0,1,dad92df4-685b-4260-b35f-4d031262dfea,dad92df4-685b-4260-b35f-4d031262dfea,0,1,4399c19a-ddba-42e9-88b4-c5c28abad237,4399c19a-ddba-42e9-88b4-c5c28abad237,0,1,304525f8-c697-4835-b0a6-4ed3cbcaf3c6,304525f8-c697-4835-b0a6-4ed3cbcaf3c6,0,1,7e089889-cf8d-4f5f-879c-0a1bcca1c19b,7e089889-cf8d-4f5f-879c-0a1bcca1c19b,0,1,982315ba-df74-4a31-8929-71d1e5e6f147,982315ba-df74-4a31-8929-71d1e5e6f147,0,1,8d1c01a9-9806-4e5d-bafb-ce6af11d5650,8d1c01a9-9806-4e5d-bafb-ce6af11d5650,0,1,fd3a6a7e-203d-447a-aebd-7626579387fb,fd3a6a7e-203d-447a-aebd-7626579387fb,0,1,2cd04d4c-2619-40c9-adf4-7bb281f045b6,2cd04d4c-2619-40c9-adf4-7bb281f045b6,0,1,cbc1c36d-7bbf-4892-8220-a33ec91a7b1f,cbc1c36d-7bbf-4892-8220-a33ec91a7b1f,0,1,ff976027-75e8-475c-abfa-876d36733c13,ff976027-75e8-475c-abfa-876d36733c13,0,1,7452d9c0-cb03-4d1b-afd4-8855950f2ad8,7452d9c0-cb03-4d1b-afd4-8855950f2ad8,0,1,32d4a42d-6e4d-49db-b5bc-1ea6dbe9fe4d,32d4a42d-6e4d-49db-b5bc-1ea6dbe9fe4d,0,1,3f823f5b-e5a8-40af-8fc3-e4c6ffb18fa3,3f823f5b-e5a8-40af-8fc3-e4c6ffb18fa3,0,1,b3554203-b930-496d-a712-353bc13a0946,b3554203-b930-496d-a712-353bc13a0946,0,1,59775ce0-f778-45f6-9453-bbd0a0ec1f27,59775ce0-f778-45f6-9453-bbd0a0ec1f27,0,1,f772abd3-8ea0-41e9-aaca-c5375778941a,f772abd3-8ea0-41e9-aaca-c5375778941a,0,1,a1e494f8-96a4-41bd-9234-b87e8d8742c5,a1e494f8-96a4-41bd-9234-b87e8d8742c5,0,1,b322b047-16eb-4500-826a-6dfebb7d997a,b322b047-16eb-4500-826a-6dfebb7d997a,0,1,f08afb10-3467-4af8-804c-ba7761f1dac9,f08afb10-3467-4af8-804c-ba7761f1dac9,0,1,c8da922f-e31e-49b0-b90e-1c060424bde5,c8da922f-e31e-49b0-b90e-1c060424bde5,0,1,41462827-fd8b-4ee6-a739-a884d704bba5,41462827-fd8b-4ee6-a739-a884d704bba5,0,1,eca025d2-4fe9-4542-b9f5-46ae2631256e,eca025d2-4fe9-4542-b9f5-46ae2631256e,0,1,35bc58df-8aff-48dd-83a9-b60b0461f94d,35bc58df-8aff-48dd-83a9-b60b0461f94d,0,1,0f46ae6b-9fe8-471a-a59f-af5e66cb9e00,0f46ae6b-9fe8-471a-a59f-af5e66cb9e00,0,1,b65afceb-a200-42d5-9948-831a5ad84b1b,b65afceb-a200-42d5-9948-831a5ad84b1b,0,1,feb1a5c1-c805-4079-8f05-8a44f51b0b02,feb1a5c1-c805-4079-8f05-8a44f51b0b02,0,1,ff7916bd-cbd1-4d9e-8aab-bad9fffaa0d4,ff7916bd-cbd1-4d9e-8aab-bad9fffaa0d4,0,1,1f55f330-7c0a-4a29-905f-51d664515bc5,1f55f330-7c0a-4a29-905f-51d664515bc5,0,1,6106e958-354c-4211-992c-3c3819e8828e,6106e958-354c-4211-992c-3c3819e8828e,0,1,9d6d77a9-1f55-4162-93a5-14bb3f3febaf,9d6d77a9-1f55-4162-93a5-14bb3f3febaf,0,1,1d6b8425-360c-4ab1-9bab-cc9a3b590bb2,1d6b8425-360c-4ab1-9bab-cc9a3b590bb2,0,1,9f67d228-79aa-44e6-8dc7-fae4fbdfef2a,9f67d228-79aa-44e6-8dc7-fae4fbdfef2a,0,1,231d3950-f363-4e63-83cd-8ddb81507c27,231d3950-f363-4e63-83cd-8ddb81507c27,0,1,87429f11-bf95-4013-bf13-da904570f88d,87429f11-bf95-4013-bf13-da904570f88d,0,1,6173cab2-e0f5-40c1-8e74-4f41fc8bd68f,6173cab2-e0f5-40c1-8e74-4f41fc8bd68f,0,1,feb41347-62db-41cf-ace0-d8b9de361af3,feb41347-62db-41cf-ace0-d8b9de361af3,0,1,cdce186a-229d-492d-8811-147fc4d7cdf5,cdce186a-229d-492d-8811-147fc4d7cdf5,0,1,5f91b00f-d8fc-4d63-8486-66339357ab22,5f91b00f-d8fc-4d63-8486-66339357ab22,0,1,16d44ab1-4bce-4df8-a215-6ed5173c75a8,16d44ab1-4bce-4df8-a215-6ed5173c75a8,0,1,543f976e-fea3-4a51-9962-b8e0fcd3f707,543f976e-fea3-4a51-9962-b8e0fcd3f707,0,1,375977c1-5745-4e78-a4df-cef966c0ccf8,375977c1-5745-4e78-a4df-cef966c0ccf8,0,1,2582a714-a6d6-4d37-b9a7-5e89e18b0f27,2582a714-a6d6-4d37-b9a7-5e89e18b0f27,0,1,c3796d85-2a24-43c4-9673-64e56249a1d0,c3796d85-2a24-43c4-9673-64e56249a1d0,0,1,fc1066b5-20d4-4c73-85f8-9889e554d6e1,fc1066b5-20d4-4c73-85f8-9889e554d6e1,0,1,a9b6b5fd-1862-4207-87e8-5c25a8f86c57,a9b6b5fd-1862-4207-87e8-5c25a8f86c57,0,1,731211c2-ef90-4883-9525-83cd91b742ac,731211c2-ef90-4883-9525-83cd91b742ac,0,1,0adf02da-940a-4bfc-afa5-59605494a169,0adf02da-940a-4bfc-afa5-59605494a169,0,1,50a1e3bf-8624-4474-854e-21b89aaf97ed,50a1e3bf-8624-4474-854e-21b89aaf97ed,0,1,6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61,6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61,0,1,24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892,24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892,0,1,847b97a3-d0bc-45e2-b06c-932bb22d8eca,847b97a3-d0bc-45e2-b06c-932bb22d8eca,0,1,503b3eab-b7f1-4ede-8845-3290a834cec7,503b3eab-b7f1-4ede-8845-3290a834cec7,0,1,8361991a-0f30-4a03-9a4c-90556b744f53,8361991a-0f30-4a03-9a4c-90556b744f53,0,1,3116fa60-bc42-4dea-aa03-387896168690,3116fa60-bc42-4dea-aa03-387896168690,0,1,5a3cc2a8-f519-45ac-af9b-c57a4f1acdc0,5a3cc2a8-f519-45ac-af9b-c57a4f1acdc0,0,1,08427a9a-fb3a-4bc1-b2e2-72e4f89680cd,08427a9a-fb3a-4bc1-b2e2-72e4f89680cd,0,1,f9196766-4ae2-4a73-bed6-4a8838323e02,f9196766-4ae2-4a73-bed6-4a8838323e02,0,1,ca797560-8802-4bdc-b21f-7a7fd795beae,ca797560-8802-4bdc-b21f-7a7fd795beae,0,1,56242b05-d722-4d4a-82d9-517e0e169d0b,56242b05-d722-4d4a-82d9-517e0e169d0b,0,1,5504f5d1-35d8-4a47-a0e1-003fe00395c1,5504f5d1-35d8-4a47-a0e1-003fe00395c1,0,1,4eeda6df-fb48-4c88-853f-9c35e2b3a3cf,4eeda6df-fb48-4c88-853f-9c35e2b3a3cf,0,1,06afe397-1c7e-400e-bb24-f8e611d114e8,06afe397-1c7e-400e-bb24-f8e611d114e8,0,1,f0105e51-9510-426a-8aa0-af827d93ffd9,f0105e51-9510-426a-8aa0-af827d93ffd9,0,1,3df19dbf-efe7-4e31-99ad-fafb59ec1329,3df19dbf-efe7-4e31-99ad-fafb59ec1329,0,1,baf12d47-fbfe-4563-aa23-26d9f7e83169,baf12d47-fbfe-4563-aa23-26d9f7e83169,0,1,e2046f49-6fea-4bf4-92b0-92f3c8357bcf,e2046f49-6fea-4bf4-92b0-92f3c8357bcf,0,1,0ba11486-1972-4434-ab1a-5bb75cc05e9f,0ba11486-1972-4434-ab1a-5bb75cc05e9f,0,1,4ed9c555-7dd0-4577-bf62-152b4c5ec9f2,4ed9c555-7dd0-4577-bf62-152b4c5ec9f2,0,1,11fe3a42-98c4-49ba-b697-86ffb172f16f,11fe3a42-98c4-49ba-b697-86ffb172f16f,0,1,07b53818-7318-4400-8af5-457fac012755,07b53818-7318-4400-8af5-457fac012755,0,1,292b47e7-5cf3-462d-a466-dac6253a7f03,292b47e7-5cf3-462d-a466-dac6253a7f03,0,1,8ecc070f-f6fb-46b1-9636-b77aa80f8804,8ecc070f-f6fb-46b1-9636-b77aa80f8804,0,1,8405be9d-465b-4744-b04f-03933b52f02e,8405be9d-465b-4744-b04f-03933b52f02e,0,1,a8021ff9-f0ae-49ab-b8ac-5e3d8fe90d82,a8021ff9-f0ae-49ab-b8ac-5e3d8fe90d82,0,1,f09b09ce-9e3c-406a-8508-b6e7e6ec966e,f09b09ce-9e3c-406a-8508-b6e7e6ec966e,0,1,9bf55587-1ffe-42bc-b8e8-3f956956f689,9bf55587-1ffe-42bc-b8e8-3f956956f689,0,1,2f67931e-543f-457e-80fd-78ca754e2e9c,2f67931e-543f-457e-80fd-78ca754e2e9c,0,1,595e5752-36a7-4bba-8a40-26920acae01d,595e5752-36a7-4bba-8a40-26920acae01d,0,1,ed5f4a2a-7dfc-4ebf-8656-020597eb24d9,ed5f4a2a-7dfc-4ebf-8656-020597eb24d9,0,1,28801fba-c429-4afa-bdcd-b3ec3ec22fda,28801fba-c429-4afa-bdcd-b3ec3ec22fda,0,1,d1a873ae-d45b-4600-9419-e701dce3da02,d1a873ae-d45b-4600-9419-e701dce3da02,0,1,e3a31f0d-a98f-43c6-bc39-087095ae8c39,e3a31f0d-a98f-43c6-bc39-087095ae8c39,0,1,e39d8ff3-52db-4ba4-b4ea-42d5ee787076,e39d8ff3-52db-4ba4-b4ea-42d5ee787076,0,1,eb3dfdc7-58b8-4b1f-b079-368c262364c9,eb3dfdc7-58b8-4b1f-b079-368c262364c9,0,1,5030a318-f8f7-4ec7-80d6-6eee0772562f,5030a318-f8f7-4ec7-80d6-6eee0772562f,0,1,242e911d-e49c-4b8a-8543-cc2e079220fd,242e911d-e49c-4b8a-8543-cc2e079220fd,0,1,9ea39d31-3775-4fb8-a3f3-202e54354d49,9ea39d31-3775-4fb8-a3f3-202e54354d49,0,1,73044e20-148c-46e9-b5b5-973c91de0d61,73044e20-148c-46e9-b5b5-973c91de0d61,0,1,f8ab477c-8e78-48c0-9f99-27748b109706,f8ab477c-8e78-48c0-9f99-27748b109706,0,1,24cff6c8-6c20-4383-b97c-6afa52738960,24cff6c8-6c20-4383-b97c-6afa52738960,0,1,462e2694-750d-49ef-93ac-17a7779be68d,462e2694-750d-49ef-93ac-17a7779be68d,0,1,c24ff02e-5afc-45df-81cf-64ea2b261c2d,c24ff02e-5afc-45df-81cf-64ea2b261c2d,0,1,2d51aae9-650d-4719-a94d-2609b69a2d36,2d51aae9-650d-4719-a94d-2609b69a2d36,0,1,6025f5b5-6dc7-46b8-96e6-02823c5b4de7,6025f5b5-6dc7-46b8-96e6-02823c5b4de7,0,1,5d9d88ea-b2e4-425c-bb4d-a005e867d56c,5d9d88ea-b2e4-425c-bb4d-a005e867d56c,0,1,b76d342c-0f9d-4eb0-b49e-a9f472a4dd0d,b76d342c-0f9d-4eb0-b49e-a9f472a4dd0d,0,1,85639a53-b367-49ce-84f2-4e21d81c489b,85639a53-b367-49ce-84f2-4e21d81c489b,0,1,24b59586-178e-4efc-90ae-529553f3bb6c,24b59586-178e-4efc-90ae-529553f3bb6c,0,1,20e75dd5-222a-4100-aa43-3684991e3f21,20e75dd5-222a-4100-aa43-3684991e3f21,0,1,3c611832-4bc2-4229-a27d-d5dc82f3a498,3c611832-4bc2-4229-a27d-d5dc82f3a498,0,1,50e9eb52-02e3-44ff-9c9e-e76dbe38da63,50e9eb52-02e3-44ff-9c9e-e76dbe38da63,0,1,5dadc422-1fbd-4918-9db3-09ec72c3404e,5dadc422-1fbd-4918-9db3-09ec72c3404e,0,1,ffdaf8a0-7a8f-4756-bdfc-a0c6ae6c3869,ffdaf8a0-7a8f-4756-bdfc-a0c6ae6c3869,0,1,ab1bcabf-ffb0-4914-8ad0-b94b5aaeab1d,ab1bcabf-ffb0-4914-8ad0-b94b5aaeab1d,0,1,c5478d09-c8d3-4cc6-878e-27656ecc8409,c5478d09-c8d3-4cc6-878e-27656ecc8409,0,1,01b97d2f-40b9-4f12-8bc5-ab75fd160b7c,01b97d2f-40b9-4f12-8bc5-ab75fd160b7c,0,1,75974146-5b1a-412c-b7d5-1575704bbdab,75974146-5b1a-412c-b7d5-1575704bbdab,0,1,949f87cb-258c-4b6b-95ee-8a7491a4b64e,949f87cb-258c-4b6b-95ee-8a7491a4b64e,0,1,8a348012-99dc-4dc9-8bec-0df3caf4cdc5,8a348012-99dc-4dc9-8bec-0df3caf4cdc5,0,1,5c089988-5381-41ed-9f05-f85db46b8d94,5c089988-5381-41ed-9f05-f85db46b8d94,0,1,85a36352-1569-4ce4-aeba-477db524c36d,85a36352-1569-4ce4-aeba-477db524c36d,0,1,ebfb6f80-88f5-4046-8ae7-e11a7b0c1beb,ebfb6f80-88f5-4046-8ae7-e11a7b0c1beb,0,1,9a4a0b04-3dfb-4551-90f0-16231f64b14f,9a4a0b04-3dfb-4551-90f0-16231f64b14f,0,1,b2e656c1-f4ff-4d95-b066-4ee11ce4dea8,b2e656c1-f4ff-4d95-b066-4ee11ce4dea8,0,1,2d86d1fc-5367-47b8-804e-7f9c5fc8f3b1,2d86d1fc-5367-47b8-804e-7f9c5fc8f3b1,0,1,98edcd6b-1c50-45c6-9a4c-390827a4ba52,98edcd6b-1c50-45c6-9a4c-390827a4ba52,0,1,b99c2068-15ea-43a1-9e9f-db29647e2387,b99c2068-15ea-43a1-9e9f-db29647e2387,0,1,346cb8b7-a20e-4a06-823e-26dfb2e3e741,346cb8b7-a20e-4a06-823e-26dfb2e3e741,0,1,782cb93d-36e6-4923-b2b6-75caa3459cd6,782cb93d-36e6-4923-b2b6-75caa3459cd6,0,1,2767473e-79fb-4c7c-a7d1-a83a8f2df71d,2767473e-79fb-4c7c-a7d1-a83a8f2df71d,0,1,996c7873-1cc9-44f6-915b-5c6ed7ef2370,996c7873-1cc9-44f6-915b-5c6ed7ef2370,0,1,45a2569e-820c-4d7d-ba74-4a781d26bb2b,45a2569e-820c-4d7d-ba74-4a781d26bb2b,0,1,ced01234-9417-49ce-adf0-8cdd15e6dd7d,ced01234-9417-49ce-adf0-8cdd15e6dd7d,0,1,0eea37cc-47f8-4819-85da-d4991f4e58ed,0eea37cc-47f8-4819-85da-d4991f4e58ed,0,1,b51eaf45-baa1-4d1c-bcb7-a89bb8bcc26a,b51eaf45-baa1-4d1c-bcb7-a89bb8bcc26a,0,1,c1272bfc-196a-4f99-935f-e2516bc138d2,c1272bfc-196a-4f99-935f-e2516bc138d2,0,1,313e0688-745a-4385-b040-7ef8317a0eb7,313e0688-745a-4385-b040-7ef8317a0eb7,0,1,5f6c6be3-058a-43c8-aa33-3e89af2ea3f1,5f6c6be3-058a-43c8-aa33-3e89af2ea3f1,0,1,8dc08932-0988-4e82-8a5f-385c0694f9ff,8dc08932-0988-4e82-8a5f-385c0694f9ff,0,1,aa7ceeee-3b3c-49e2-95c2-bfb34e381aa3,aa7ceeee-3b3c-49e2-95c2-bfb34e381aa3,0,1,37c37f15-f84b-456b-aab6-729562dc0908,37c37f15-f84b-456b-aab6-729562dc0908,0,1,f5ef3f75-7d12-4284-844f-54d19d1f7e2f,f5ef3f75-7d12-4284-844f-54d19d1f7e2f,0,1,7974e41d-5af3-4636-b405-c9405d89fb53,7974e41d-5af3-4636-b405-c9405d89fb53,0,1,21fad9b6-44df-417c-ba18-de4b8af98a34,21fad9b6-44df-417c-ba18-de4b8af98a34,0,1,11c086b0-c646-4701-983d-c38758286354,11c086b0-c646-4701-983d-c38758286354,0,1,92876c9e-52ff-480d-9878-5766f4f9d12c,92876c9e-52ff-480d-9878-5766f4f9d12c,0,1,b729d739-5249-4765-85ee-fd792bb22911,b729d739-5249-4765-85ee-fd792bb22911,0,1,d65c4485-7bac-4206-9a6c-7156f4bb876d,d65c4485-7bac-4206-9a6c-7156f4bb876d,0,1,d431d1e2-13dc-495c-9de1-b5ec872eceed,d431d1e2-13dc-495c-9de1-b5ec872eceed,0,1,e8bec681-d269-41ba-9184-556cbcc27d74,e8bec681-d269-41ba-9184-556cbcc27d74,0,1,b8aaef91-f72c-4127-a494-771c13694ca4,b8aaef91-f72c-4127-a494-771c13694ca4,0,1,433a114f-3198-4ef6-bbf8-ce9b54fdb736,433a114f-3198-4ef6-bbf8-ce9b54fdb736,0,1,02ac711c-e38e-422e-ac28-ba1b298df9cc,02ac711c-e38e-422e-ac28-ba1b298df9cc,0,1,3e090261-4aa2-4ece-9f77-62df83c890b3,3e090261-4aa2-4ece-9f77-62df83c890b3,0,1,bbfd9834-12b4-49ca-bdae-5c94efa80482,bbfd9834-12b4-49ca-bdae-5c94efa80482,0,1,9dc3a563-11bb-40a7-8431-c1d4367ccbaf,9dc3a563-11bb-40a7-8431-c1d4367ccbaf,0,1,c9ea4e72-5f01-42ae-88e3-52e49757b26f,c9ea4e72-5f01-42ae-88e3-52e49757b26f,0,1,38d92d75-c8b8-42d6-9e0a-6dc0811a8652,38d92d75-c8b8-42d6-9e0a-6dc0811a8652,0,1,0f564dbe-6a6e-48df-9718-5cea5d608ee6,0f564dbe-6a6e-48df-9718-5cea5d608ee6,0,1,a623fef1-96eb-41ba-93fe-09162698f419,a623fef1-96eb-41ba-93fe-09162698f419,0,1,45a8d7cb-c927-4a4e-a653-13fd9b1eda10,45a8d7cb-c927-4a4e-a653-13fd9b1eda10,0,1,d8e1f92f-9efa-422d-bb21-43bd1a363cec,d8e1f92f-9efa-422d-bb21-43bd1a363cec,0,1,c1416383-bd7e-4dc4-ad88-d98ac87157fd,c1416383-bd7e-4dc4-ad88-d98ac87157fd,0,1,5e8bddc7-7836-4ec8-b6e1-0c15d228f47e,5e8bddc7-7836-4ec8-b6e1-0c15d228f47e,0,1,d5d9976a-4cc0-43f7-afd6-d43cebb07940,d5d9976a-4cc0-43f7-afd6-d43cebb07940,0,1,79a0746b-4dbe-4068-8832-4d0da08d6fd3,79a0746b-4dbe-4068-8832-4d0da08d6fd3,0,1,899f1526-d6bc-42ef-852e-7297a06db9e3,899f1526-d6bc-42ef-852e-7297a06db9e3,0,1,c694c132-1ddb-4273-818a-d3cca88c082a,c694c132-1ddb-4273-818a-d3cca88c082a,0,1,cd4da06e-c06b-4233-befc-1bc4c4db58e3,cd4da06e-c06b-4233-befc-1bc4c4db58e3,0,1,918a01fe-f753-4a4a-9200-55bbd6edaf5f,918a01fe-f753-4a4a-9200-55bbd6edaf5f,0,1,51a8a209-2a9d-419f-9fda-f7aeac68bdbe,51a8a209-2a9d-419f-9fda-f7aeac68bdbe,0,1,ef43961f-8cac-4f3f-bcee-c6bc51c4148c,ef43961f-8cac-4f3f-bcee-c6bc51c4148c,0,1,d6704410-6297-481e-a6cb-6d6aa566b4f8,d6704410-6297-481e-a6cb-6d6aa566b4f8,0,1,398937ca-b035-43bd-b0da-8c5153a87cb8,398937ca-b035-43bd-b0da-8c5153a87cb8,0,1,5b441321-bd1e-4c56-8f09-365b05985eed,5b441321-bd1e-4c56-8f09-365b05985eed,0,1,559f1e66-e8da-437a-aa27-d0e1be6619b6,559f1e66-e8da-437a-aa27-d0e1be6619b6,0,1,704d69cd-d921-4957-a004-43bd7eb4d979,704d69cd-d921-4957-a004-43bd7eb4d979,0,1,f1594682-16ac-408c-8307-a7a8db79b09f,f1594682-16ac-408c-8307-a7a8db79b09f,0,1,863aebd2-ce32-4f1f-bb3d-d6062ab187fd,863aebd2-ce32-4f1f-bb3d-d6062ab187fd,0,1,4cb814d8-cb1b-4366-b500-e820ad526b0c,4cb814d8-cb1b-4366-b500-e820ad526b0c,0,1,7da5f3b4-6330-4112-9d3a-7bb42996aa4a,7da5f3b4-6330-4112-9d3a-7bb42996aa4a,0,1,6c43df9f-ca36-415b-afec-302807820d73,6c43df9f-ca36-415b-afec-302807820d73,0,1,c7fb7551-806a-40b2-8879-14cd897b60d8,c7fb7551-806a-40b2-8879-14cd897b60d8,0,1,68337023-d573-4d04-95b6-44f73258c2a4,68337023-d573-4d04-95b6-44f73258c2a4,0,1,7cf39337-b722-486f-8e37-a62239d0ccd2,7cf39337-b722-486f-8e37-a62239d0ccd2,0,1,2571cfaf-d876-4385-a60a-1488aacf7080,2571cfaf-d876-4385-a60a-1488aacf7080,0,1,4ea1dd0a-6eab-48e4-a6a7-314d0e211d6c,4ea1dd0a-6eab-48e4-a6a7-314d0e211d6c,0,1,44398566-3189-4584-8f8a-9deb1d07ce41,44398566-3189-4584-8f8a-9deb1d07ce41,0,1,6f4e3082-9c8c-4289-8cc2-704c8d2763ce,6f4e3082-9c8c-4289-8cc2-704c8d2763ce,0,1,accfa63a-479d-4996-95bc-cdf5acdf203c,accfa63a-479d-4996-95bc-cdf5acdf203c,0,1,351998e0-8939-4dd4-a833-f4756bcc53b8,351998e0-8939-4dd4-a833-f4756bcc53b8,0,1,cd69bad8-524e-4be4-88cc-7732a88b38b8,cd69bad8-524e-4be4-88cc-7732a88b38b8,0,1,0a32248c-6994-4988-90d1-30882bc9da6b,0a32248c-6994-4988-90d1-30882bc9da6b,0,1,b57b53cb-6972-4bda-ae46-96571be1ebec,b57b53cb-6972-4bda-ae46-96571be1ebec,0,1,1a1a9636-fb72-4e4a-af96-5858442b1e61,1a1a9636-fb72-4e4a-af96-5858442b1e61,0,1,bca9cf34-9e11-4014-976a-28c4330b136e,bca9cf34-9e11-4014-976a-28c4330b136e,0,1,65fffe1a-6f36-4f50-975f-4471ad29d3ec,65fffe1a-6f36-4f50-975f-4471ad29d3ec,0,1,8fe5dad5-686a-4631-ae05-2917c33f7d83,8fe5dad5-686a-4631-ae05-2917c33f7d83,0,1,edef86c6-73bf-4e47-b62d-b2b548a732cd,edef86c6-73bf-4e47-b62d-b2b548a732cd,0,1,a1715044-d76f-4238-ba3e-989d04078d83,a1715044-d76f-4238-ba3e-989d04078d83,0,1,a7ec91a5-2ed4-4ecd-b794-fcd3bb5ea4a2,a7ec91a5-2ed4-4ecd-b794-fcd3bb5ea4a2,0,1,299c47a7-0b30-4f62-8f5c-f087ad6411fb,299c47a7-0b30-4f62-8f5c-f087ad6411fb,0,1,4d4724df-24fb-4c59-9d04-3f984906214a,4d4724df-24fb-4c59-9d04-3f984906214a,0,1,95b10bc8-39ef-43f5-b74e-f36cfa9bc806,95b10bc8-39ef-43f5-b74e-f36cfa9bc806,0,1,cb9b73ee-8531-48d9-9266-9aaa4336a612,cb9b73ee-8531-48d9-9266-9aaa4336a612,0,1,b7b80237-d642-4c21-a9ee-64fc4ed20d2f,b7b80237-d642-4c21-a9ee-64fc4ed20d2f,0,1,aeee2eea-1bb9-4e8a-ac5c-c940eaa86511,aeee2eea-1bb9-4e8a-ac5c-c940eaa86511,0,1,d042687f-0725-4611-a868-f5b4f6a3a3a8,d042687f-0725-4611-a868-f5b4f6a3a3a8,0,1,bb143340-7fff-49ef-b121-355c96613f78,bb143340-7fff-49ef-b121-355c96613f78,0,1,cd5fbbcb-19b8-4c0b-93c7-ebdf642826db,cd5fbbcb-19b8-4c0b-93c7-ebdf642826db,0,1,f2f69644-80dc-4b5e-a208-ed1de131e25e,f2f69644-80dc-4b5e-a208-ed1de131e25e,0,1,73060f72-6d08-47da-aac8-d4d2ed8f871c,73060f72-6d08-47da-aac8-d4d2ed8f871c,0,1,f3a6219e-bff5-4d36-9baa-bb214cebc2ed,f3a6219e-bff5-4d36-9baa-bb214cebc2ed,0,1,9f832f4b-ae60-4d81-9ffd-6e00f7e02560,9f832f4b-ae60-4d81-9ffd-6e00f7e02560,0,1,6f6ef6ac-5bb7-41e4-b6d5-0f068e8cb176,6f6ef6ac-5bb7-41e4-b6d5-0f068e8cb176,0,1,821225ea-1bad-49a6-a422-80d8a09baf13,821225ea-1bad-49a6-a422-80d8a09baf13,0,1,d0106f3a-8490-4277-a278-75c318ec252c,d0106f3a-8490-4277-a278-75c318ec252c,0,1,5035aa55-d557-419a-89e2-10ed0f8d109b,5035aa55-d557-419a-89e2-10ed0f8d109b,0,1,fb79315a-8d27-4c5e-9cfb-c7778dabedef,fb79315a-8d27-4c5e-9cfb-c7778dabedef,0,1,5f93d2af-64ff-41cc-8403-4a0e83160fea,5f93d2af-64ff-41cc-8403-4a0e83160fea,0,1,c12c90e4-7c40-489b-b14b-6b9442016e0f,c12c90e4-7c40-489b-b14b-6b9442016e0f,0,1,6371e288-3502-4d66-9006-b5a36107c0b7,6371e288-3502-4d66-9006-b5a36107c0b7,0,1,245814f7-028c-4c13-98eb-15412e851f81,245814f7-028c-4c13-98eb-15412e851f81,0,1,0132e564-2cd3-4930-8962-1068532f4be4,0132e564-2cd3-4930-8962-1068532f4be4,0,1,57d0f9b0-18d0-48ba-9f3c-d106f66ac602,57d0f9b0-18d0-48ba-9f3c-d106f66ac602,0,1,3a7cfd4c-c943-43c2-a8d5-6d8ab3a10fc9,3a7cfd4c-c943-43c2-a8d5-6d8ab3a10fc9,0,1,36b8b08f-0da3-4dbd-9aa8-73220ca9101d,36b8b08f-0da3-4dbd-9aa8-73220ca9101d,0,1,7021fca5-d612-43e1-927b-7f822153cf75,7021fca5-d612-43e1-927b-7f822153cf75,0,1,9fd16d51-91bb-4973-a7c4-cf4db87da8bf,9fd16d51-91bb-4973-a7c4-cf4db87da8bf,0,1,ee0a8d23-660a-492b-a813-b57394acee05,ee0a8d23-660a-492b-a813-b57394acee05,0,1,d1eda8f4-ffdd-445a-882c-6124d9f7fcf2,d1eda8f4-ffdd-445a-882c-6124d9f7fcf2,0,1,ade21e2e-349f-414b-8f35-6ae3b6a4064d,ade21e2e-349f-414b-8f35-6ae3b6a4064d,0,1,cce823c6-3bd5-4e46-91f6-8715cb72b1d5,cce823c6-3bd5-4e46-91f6-8715cb72b1d5,0,1,f3a8dd22-4469-4a3b-a7dd-78a5624b7bf0,f3a8dd22-4469-4a3b-a7dd-78a5624b7bf0,0,1,83f51efe-e2af-459a-b59f-2c036124ac23,83f51efe-e2af-459a-b59f-2c036124ac23,0,1,6ed466d7-e016-4d9c-9c0e-8deed48cbd70,6ed466d7-e016-4d9c-9c0e-8deed48cbd70,0,1,b03829e9-ba22-4584-85f0-c36d63f48242,b03829e9-ba22-4584-85f0-c36d63f48242,0,1,084a7c95-a59b-4861-b8b3-b5710a57ac60,084a7c95-a59b-4861-b8b3-b5710a57ac60,0,1,efcea6da-6746-4e00-913a-14cab38b5d84,efcea6da-6746-4e00-913a-14cab38b5d84,0,1,aff367fb-7fca-44d0-adf9-3731f14834f6,aff367fb-7fca-44d0-adf9-3731f14834f6,0,1,a2782760-dd4c-44d2-a785-814d6f610455,a2782760-dd4c-44d2-a785-814d6f610455,0,1,245162d8-6ae1-47e5-a0c9-0d5f2e5d8ea8,245162d8-6ae1-47e5-a0c9-0d5f2e5d8ea8,0,1,6581ac1f-11ef-42b8-9f3b-590bb7546e63,6581ac1f-11ef-42b8-9f3b-590bb7546e63,0,1,ce952e88-35b7-4506-81ac-d7081e50a650,ce952e88-35b7-4506-81ac-d7081e50a650,0,1,5d7a53fa-1a89-4e6e-868c-4077bd84c0ce,5d7a53fa-1a89-4e6e-868c-4077bd84c0ce,0,1,3bf1281f-7570-4633-86b9-3e953a7e6647,3bf1281f-7570-4633-86b9-3e953a7e6647,0,1,715dc289-5b14-4ee0-8716-9c15958b9069,715dc289-5b14-4ee0-8716-9c15958b9069,0,1,92707138-5004-4378-8477-f909166d319d,92707138-5004-4378-8477-f909166d319d,0,1,43661775-43bb-4d9e-bfbb-c46e7d194ca3,43661775-43bb-4d9e-bfbb-c46e7d194ca3,0,1,532637ef-be0d-4f42-9747-a88e17eb3def,532637ef-be0d-4f42-9747-a88e17eb3def,0,1,61127152-3e24-40b4-8a23-5eb6cae568ff,61127152-3e24-40b4-8a23-5eb6cae568ff,0,1,ffd987e3-e8af-4d46-881e-1e312e74dbac,ffd987e3-e8af-4d46-881e-1e312e74dbac,0,1,ad1142ed-183d-47a3-800c-997a3770e11e,ad1142ed-183d-47a3-800c-997a3770e11e,0,1,ebef37c6-4808-4683-93be-036ce19cafd5,ebef37c6-4808-4683-93be-036ce19cafd5,0,1,66364cd4-aaa5-421d-96d6-3c283c14650d,66364cd4-aaa5-421d-96d6-3c283c14650d,0,1,fdbbbf8b-dacf-436e-8d8b-1e2b8e854b17,fdbbbf8b-dacf-436e-8d8b-1e2b8e854b17,0,1,3c54d440-e908-43d6-a5cc-bb64620c82d7,3c54d440-e908-43d6-a5cc-bb64620c82d7,0,1,23a240a2-52ee-46ab-89d9-50dcee2cc8d2,23a240a2-52ee-46ab-89d9-50dcee2cc8d2,0,1,bf1dd911-8ee1-407b-acae-10c85b74baf3,bf1dd911-8ee1-407b-acae-10c85b74baf3,0,1,e924058f-25c3-4744-a565-836b824991b7,e924058f-25c3-4744-a565-836b824991b7,0,1,bc6a47a1-a3f3-4d7e-9dad-099bd3dba751,bc6a47a1-a3f3-4d7e-9dad-099bd3dba751,0,1,518dcd70-4ccf-4866-a94f-7ceec7dd2801,518dcd70-4ccf-4866-a94f-7ceec7dd2801,0,1,8f16763b-86f0-4ad0-b786-cce7dcb3460e,8f16763b-86f0-4ad0-b786-cce7dcb3460e,0,1,0481bc65-6a32-46b9-ae87-993ba52a29a5,0481bc65-6a32-46b9-ae87-993ba52a29a5,0,1,36ebebbb-dff1-4dbd-870b-58bd4a71fa1f,36ebebbb-dff1-4dbd-870b-58bd4a71fa1f,0,1,dbc5f419-63b0-4cbe-90ff-c0101105e46c,dbc5f419-63b0-4cbe-90ff-c0101105e46c,0,1,c708f6e9-b7a0-4046-90f3-83527da7b872,c708f6e9-b7a0-4046-90f3-83527da7b872,0,1,0006b44a-3a0c-4be4-8dd0-bd0db9ddcc4d,0006b44a-3a0c-4be4-8dd0-bd0db9ddcc4d,0,1,14256e0a-a947-42a3-8e36-47bfbb052a0c,14256e0a-a947-42a3-8e36-47bfbb052a0c,0,1,1b1aa77a-d14b-4751-a7da-0b5bac4db461,1b1aa77a-d14b-4751-a7da-0b5bac4db461,0,1,c0dcdb22-6719-4597-a781-bca1370909e5,c0dcdb22-6719-4597-a781-bca1370909e5,0,1,7a34f723-cd14-4949-a40f-7ce579bf0449,7a34f723-cd14-4949-a40f-7ce579bf0449,0,1,5cdc9ac7-bba9-4ed1-845a-607976fc4679,5cdc9ac7-bba9-4ed1-845a-607976fc4679,0,1,295f3692-0721-4c41-a69b-171ef20a5018,295f3692-0721-4c41-a69b-171ef20a5018,0,1,86c22871-6d1c-44e0-8ade-ce4bdeb23321,86c22871-6d1c-44e0-8ade-ce4bdeb23321,0,1,da51de81-4d4f-46b5-a308-7b50db6c45a7,da51de81-4d4f-46b5-a308-7b50db6c45a7,0,1,8d31ce6a-4d44-46c6-a11c-47fb33e88691,8d31ce6a-4d44-46c6-a11c-47fb33e88691,0,1,c2a8c2d3-ff13-4a13-acd4-797118c4e767,c2a8c2d3-ff13-4a13-acd4-797118c4e767,0,1,bc6adf75-8666-49f3-9703-b0014dfee123,bc6adf75-8666-49f3-9703-b0014dfee123,0,1,30632f54-b779-4857-a5cc-c53fe8887ee5,30632f54-b779-4857-a5cc-c53fe8887ee5,0,1,df22b227-b2c3-4e65-9706-7582f99fe59c,df22b227-b2c3-4e65-9706-7582f99fe59c,0,1,eafaec9c-030b-4e5f-8fa8-e17dad2feec9,eafaec9c-030b-4e5f-8fa8-e17dad2feec9,0,1,087480bb-8c89-4b00-a29b-b7e29926478d,087480bb-8c89-4b00-a29b-b7e29926478d,0,1,685373b7-638a-439a-8cba-703d56e4e404,685373b7-638a-439a-8cba-703d56e4e404,0,1,8a41b8f1-93fc-44e6-bf45-0d1fa9d24f4a,8a41b8f1-93fc-44e6-bf45-0d1fa9d24f4a,0,1,1cfba08f-d5e5-4833-b494-a25d0477e9c3,1cfba08f-d5e5-4833-b494-a25d0477e9c3,0,1,ae22743b-6d21-4fbb-bb4c-fee53e2b87cb,ae22743b-6d21-4fbb-bb4c-fee53e2b87cb,0,1,921a0a14-8c06-4894-95ce-423000769364,921a0a14-8c06-4894-95ce-423000769364,0,1,3805ee39-a48a-499a-9ef8-9c2a5985404f,3805ee39-a48a-499a-9ef8-9c2a5985404f,0,1,07ccfe87-e1ab-4da7-92cb-a612e0972b0b,07ccfe87-e1ab-4da7-92cb-a612e0972b0b,0,1,08c2f92c-eb05-49e7-bfc9-4a89607b9864,08c2f92c-eb05-49e7-bfc9-4a89607b9864,0,1,6d751379-89a7-49b5-93e5-578329c63d9c,6d751379-89a7-49b5-93e5-578329c63d9c,0,1,c3f156ef-947e-4ebb-883f-4f099a116063,c3f156ef-947e-4ebb-883f-4f099a116063,0,1,5e3ab0a3-c0a6-4f41-85d3-2eede4abb555,5e3ab0a3-c0a6-4f41-85d3-2eede4abb555,0,1,a065ffc3-f50b-4a78-9b84-bfc4e5515a4b,a065ffc3-f50b-4a78-9b84-bfc4e5515a4b,0,1,4cba5a06-1484-4dd1-8e35-2d702c7d96d0,4cba5a06-1484-4dd1-8e35-2d702c7d96d0,0,1,e98e9e56-2995-430c-bd3b-f1070aec15a5,e98e9e56-2995-430c-bd3b-f1070aec15a5,0,1,d35c51b0-4cb7-4f9c-8aac-6a25a1b49adf,d35c51b0-4cb7-4f9c-8aac-6a25a1b49adf,0,1,8a7546f4-bfc9-4732-bf60-43a41e2c8753,8a7546f4-bfc9-4732-bf60-43a41e2c8753,0,1,16244165-d5a4-4012-8bb5-7f5fee1111af,16244165-d5a4-4012-8bb5-7f5fee1111af,0,1,290b72ad-004f-46ab-be5e-47557543b965,290b72ad-004f-46ab-be5e-47557543b965,0,1,e1b2ccf9-5a8f-4008-86f3-d2c7cf5581d1,e1b2ccf9-5a8f-4008-86f3-d2c7cf5581d1,0,1,fa0e0792-bffb-47ce-866f-9e8dbdab17a4,fa0e0792-bffb-47ce-866f-9e8dbdab17a4,0,1,263bcd20-9878-48d4-aac4-b371ec49d8d6,263bcd20-9878-48d4-aac4-b371ec49d8d6,0,1,da1d8660-2757-4cea-bae0-c2210b9406ae,da1d8660-2757-4cea-bae0-c2210b9406ae,0,1,d60329c6-8f48-481d-82e7-18da355cb09c,d60329c6-8f48-481d-82e7-18da355cb09c,0,1,c4b14162-b25b-4099-9ec3-7251848ef08a,c4b14162-b25b-4099-9ec3-7251848ef08a,0,1,8eb5ba97-eb38-4357-8bfc-e9618280800d,8eb5ba97-eb38-4357-8bfc-e9618280800d,0,1,b72f73d5-e274-472b-871b-16af72dab603,b72f73d5-e274-472b-871b-16af72dab603,0,1,b008d184-0b61-460d-9490-89ecc1cd58ba,b008d184-0b61-460d-9490-89ecc1cd58ba,0,1,c8340e2f-6958-4bcd-8e17-499c4adfe60b,c8340e2f-6958-4bcd-8e17-499c4adfe60b,0,1,c72831cd-d064-4fe8-9603-64e6d7b8ac4d,c72831cd-d064-4fe8-9603-64e6d7b8ac4d,0,1,03f68d82-752c-45d1-bf9a-60ecd21a2c81,03f68d82-752c-45d1-bf9a-60ecd21a2c81,0,1,307e8938-e347-4eff-b2fb-fd0b8f4aa27f,307e8938-e347-4eff-b2fb-fd0b8f4aa27f,0,1,d4fffc79-2841-49a9-a382-e9e4138984df,d4fffc79-2841-49a9-a382-e9e4138984df,0,1,84e4c572-5b32-46e0-82a0-0c76d4ef5d73,84e4c572-5b32-46e0-82a0-0c76d4ef5d73,0,1,9f41f903-d316-4189-8dc0-603ea9036c1c,9f41f903-d316-4189-8dc0-603ea9036c1c,0,1,e19e70d6-8707-4dde-ae69-7bd97035ca03,e19e70d6-8707-4dde-ae69-7bd97035ca03,0,1,425b5272-1130-457d-8a05-aee8fad681d9,425b5272-1130-457d-8a05-aee8fad681d9,0,1,8d583436-f2a6-4a33-8137-1376f5754643,8d583436-f2a6-4a33-8137-1376f5754643,0,1,4a864e74-41ce-4673-a080-bc3c2ba1b8ee,4a864e74-41ce-4673-a080-bc3c2ba1b8ee,0,1,d279958e-6dd4-4bb0-a65f-c8768b4c4d96,d279958e-6dd4-4bb0-a65f-c8768b4c4d96,0,1,2d66502d-77ab-4cc9-9ccf-5433458fae9f,2d66502d-77ab-4cc9-9ccf-5433458fae9f,0,1,cff48da7-3c46-4602-83e8-90c9ea53e107,cff48da7-3c46-4602-83e8-90c9ea53e107,0,1,7155472d-c791-402c-96e1-d25612024c88,7155472d-c791-402c-96e1-d25612024c88,0,1,fb90c261-24a7-4cef-8a2c-85c0e4fdd64a,fb90c261-24a7-4cef-8a2c-85c0e4fdd64a,0,1,9005911d-ea81-48b6-bf50-1a328ff4d7be,9005911d-ea81-48b6-bf50-1a328ff4d7be,0,1,7df12006-c0c0-42a6-b852-bdced72c62e3,7df12006-c0c0-42a6-b852-bdced72c62e3,0,1,9c00987d-3c55-40eb-bae8-f36e71e4ef87,9c00987d-3c55-40eb-bae8-f36e71e4ef87,0,1,29273130-5142-48c9-8399-00e5ab4b6203,29273130-5142-48c9-8399-00e5ab4b6203,0,1,9e14cd7e-1293-4008-baf8-88df6a98abf7,9e14cd7e-1293-4008-baf8-88df6a98abf7,0,1,98e3aace-52a6-4911-8205-92165adca6de,98e3aace-52a6-4911-8205-92165adca6de,0,1,91f4dbf9-d539-4239-a95d-c1d9e14e50f8,91f4dbf9-d539-4239-a95d-c1d9e14e50f8,0,1,577e5fea-b792-4c8b-b3b3-a03a14b64b04,577e5fea-b792-4c8b-b3b3-a03a14b64b04,0,1,ba5ec2d6-1791-42b5-8e6f-04d1d18e9469,ba5ec2d6-1791-42b5-8e6f-04d1d18e9469,0,1,b18d312b-f9c3-4f37-ac77-d499e949f154,b18d312b-f9c3-4f37-ac77-d499e949f154,0,1,ace2beea-d393-412f-8b71-b845b665e2c4,ace2beea-d393-412f-8b71-b845b665e2c4,0,1,3fd4bc77-2a1b-4750-a54a-4171c8d40027,3fd4bc77-2a1b-4750-a54a-4171c8d40027,0,1,5b27fde9-fa80-48b1-aea1-73e132b9a944,5b27fde9-fa80-48b1-aea1-73e132b9a944,0,1,00bf04d6-6a8e-4b13-94cf-36c1c6090cd8,00bf04d6-6a8e-4b13-94cf-36c1c6090cd8,0,1,a747ec6b-f230-49b4-a929-7ed1ba87b078,a747ec6b-f230-49b4-a929-7ed1ba87b078,0,1,796f8fb4-d9cd-40ae-936b-8a70d2eb1121,796f8fb4-d9cd-40ae-936b-8a70d2eb1121,0,1,4802e016-a9e9-47d0-916b-b42194a1f388,4802e016-a9e9-47d0-916b-b42194a1f388,0,1,a1740d1f-1b8f-4db5-be5e-0eac44e934b8,a1740d1f-1b8f-4db5-be5e-0eac44e934b8,0,1,4062674a-4a81-494d-82bc-4984cd7c7903,4062674a-4a81-494d-82bc-4984cd7c7903,0,1,782a8801-06ca-4d63-bf8b-63d2320766d8,782a8801-06ca-4d63-bf8b-63d2320766d8,0,1,93a73123-d98c-4286-9269-7bfcedd115e8,93a73123-d98c-4286-9269-7bfcedd115e8,0,1,c5985c02-1824-4ce9-b415-1621dd2ee864,c5985c02-1824-4ce9-b415-1621dd2ee864,0,1,993ce747-cdc9-445f-ad7d-daf53cd5f7e9,993ce747-cdc9-445f-ad7d-daf53cd5f7e9,0,1,e819aaf6-3dfb-492a-8a4a-50a7c6854790,e819aaf6-3dfb-492a-8a4a-50a7c6854790,0,1,62b95ba1-f213-42fb-90f3-a03e8094bc9e,62b95ba1-f213-42fb-90f3-a03e8094bc9e,0,1,619b534d-5605-40d3-9b8c-4443a21d7795,619b534d-5605-40d3-9b8c-4443a21d7795,0,1,a010bbf4-d547-4576-9797-28e3096ffed3,a010bbf4-d547-4576-9797-28e3096ffed3,0,1,a44c3eb2-1054-41ca-82e8-fc35336e7009,a44c3eb2-1054-41ca-82e8-fc35336e7009,0,1,01f67911-4ca7-4668-b970-62c299b98e56,01f67911-4ca7-4668-b970-62c299b98e56,0,1,20c89c94-f77f-4e14-8c97-2a70c1419ce3,20c89c94-f77f-4e14-8c97-2a70c1419ce3,0,1,1c09bf33-9b54-4bfd-bc92-e7324025fab0,1c09bf33-9b54-4bfd-bc92-e7324025fab0,0,1,8d7750e9-899f-4434-8702-44cd02681779,8d7750e9-899f-4434-8702-44cd02681779,0,1,d85244dc-c417-4e69-9aa7-7ad313ecb940,d85244dc-c417-4e69-9aa7-7ad313ecb940,0,1,3bebf5e9-68bb-48dc-a39d-cbdca2dbecb1,3bebf5e9-68bb-48dc-a39d-cbdca2dbecb1,0,1,cd392ef0-dedb-4f83-9a2c-a24190ee0dc0,cd392ef0-dedb-4f83-9a2c-a24190ee0dc0,0,1,bb2f0c1c-3cfb-4a26-b6de-5bbeb5614587,bb2f0c1c-3cfb-4a26-b6de-5bbeb5614587,0,1,0713de12-87d5-4877-bd8a-2b6466df67df,0713de12-87d5-4877-bd8a-2b6466df67df,0,1,b848aafc-44fb-4dfe-8eec-233dc08fbbb6,b848aafc-44fb-4dfe-8eec-233dc08fbbb6,0,1,c4d7c569-4649-4f98-a048-45f3c5933670,c4d7c569-4649-4f98-a048-45f3c5933670,0,1,6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb,6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb,0,1,426cbebb-880b-49c5-b046-83c5e071273e,426cbebb-880b-49c5-b046-83c5e071273e,0,1,ad08b104-01f8-4900-a06c-baa1d55eba84,ad08b104-01f8-4900-a06c-baa1d55eba84,0,1,9352d10d-188f-4074-8dd1-7be5c11525e3,9352d10d-188f-4074-8dd1-7be5c11525e3,0,1,1933634a-6f10-48e7-99f0-60ac338f7832,1933634a-6f10-48e7-99f0-60ac338f7832,0,1,655deec5-c079-4748-8521-b3f10c243394,655deec5-c079-4748-8521-b3f10c243394,0,1,f6d4d818-d54c-4337-82cf-abd5e6dbe770,f6d4d818-d54c-4337-82cf-abd5e6dbe770,0,1,656c447b-291f-4e62-81ac-1c004841aa72,656c447b-291f-4e62-81ac-1c004841aa72,0,1,c9a06c8d-2f6d-4e03-bc62-a1a19f17faf3,c9a06c8d-2f6d-4e03-bc62-a1a19f17faf3,0,1,5ba93404-58ad-4321-9a62-27db828f75f6,5ba93404-58ad-4321-9a62-27db828f75f6,0,1,3da20e86-1d83-4935-b425-a91392dc8f35,3da20e86-1d83-4935-b425-a91392dc8f35,0,1,b56f25d2-72a9-4d80-8998-77ac3097c873,b56f25d2-72a9-4d80-8998-77ac3097c873,0,1,03bd775a-e0a1-4205-82ce-6068e73ad134,03bd775a-e0a1-4205-82ce-6068e73ad134,0,1,40bed47b-7754-4a70-b51a-47385fd46e83,40bed47b-7754-4a70-b51a-47385fd46e83,0,1,773ef914-5e7e-4ec1-bcdb-b2d111b560e6,773ef914-5e7e-4ec1-bcdb-b2d111b560e6,0,1,1e5a4f93-1ab9-4775-9538-2a1772215d89,1e5a4f93-1ab9-4775-9538-2a1772215d89,0,1,c25db165-0734-4fef-b161-e5164954a616,c25db165-0734-4fef-b161-e5164954a616,0,1,4f97b909-68f9-482a-b958-b4caa9b83763,4f97b909-68f9-482a-b958-b4caa9b83763,0,1,c31e34db-41ff-4db3-a4d0-f780f67070f6,c31e34db-41ff-4db3-a4d0-f780f67070f6,0,1,7a014fcb-a4b8-4c1c-b0de-21907a917c25,7a014fcb-a4b8-4c1c-b0de-21907a917c25,0,1,1688ef5d-72df-4bc4-a879-89033d466ad7,1688ef5d-72df-4bc4-a879-89033d466ad7,0,1,30f18fbf-4240-4708-a71a-189f8fc324f3,30f18fbf-4240-4708-a71a-189f8fc324f3,0,1,344cb0de-315d-4d05-93f8-8a1f53208470,344cb0de-315d-4d05-93f8-8a1f53208470,0,1,cd869887-0b0e-43db-8b51-04fe4a1341d5,cd869887-0b0e-43db-8b51-04fe4a1341d5,0,1,98aa5d5e-6c0e-4b9b-a3fa-335635d15217,98aa5d5e-6c0e-4b9b-a3fa-335635d15217,0,1,a7973409-b18e-4b88-ad50-e2ae89470d8f,a7973409-b18e-4b88-ad50-e2ae89470d8f,0,1,a537875e-492e-4cf2-96e9-e2e97bb206da,a537875e-492e-4cf2-96e9-e2e97bb206da,0,1,085a08f3-9d93-429d-9b1b-9065ab8363f7,085a08f3-9d93-429d-9b1b-9065ab8363f7,0,1,a530c0a1-c1d2-40bb-9d0e-320074dbb684,a530c0a1-c1d2-40bb-9d0e-320074dbb684,0,1,55c63580-16f1-4d6f-a40b-e630f71ebb98,55c63580-16f1-4d6f-a40b-e630f71ebb98,0,1,0a136ad9-22ad-4ba7-a31a-40a193b49d26,0a136ad9-22ad-4ba7-a31a-40a193b49d26,0,1,208c7b8c-3df9-4441-8ebf-34ffa81572a2,208c7b8c-3df9-4441-8ebf-34ffa81572a2,0,1,8c17fd7c-74d7-496a-a843-42022afb0707,8c17fd7c-74d7-496a-a843-42022afb0707,0,1,b456d820-8034-4381-960d-66d9f86b0a4b,b456d820-8034-4381-960d-66d9f86b0a4b,0,1,bd55fd03-cf67-4333-a554-98e03d18f780,bd55fd03-cf67-4333-a554-98e03d18f780,0,1,6eac5f7b-0952-4c94-9028-529b14ffcd4f,6eac5f7b-0952-4c94-9028-529b14ffcd4f,0,1,1a7c774d-5b86-4051-b797-3081e19fa30a,1a7c774d-5b86-4051-b797-3081e19fa30a,0,1,00949768-5833-4fe2-8752-b009d1bceef8,00949768-5833-4fe2-8752-b009d1bceef8,0,1,167455d1-6658-409f-834c-f6ccfe7b25de,167455d1-6658-409f-834c-f6ccfe7b25de,0,1,c5b3ca21-8f7b-4933-853c-7d95b17b5631,c5b3ca21-8f7b-4933-853c-7d95b17b5631,0,1,8b0faa1e-09da-4ba4-894e-e86abc5d39df,8b0faa1e-09da-4ba4-894e-e86abc5d39df,0,1,cb50b309-1b6c-400c-9e9e-67204dcccaae,cb50b309-1b6c-400c-9e9e-67204dcccaae,0,1,e2b482cb-6954-4e6a-abe9-d0a01f64b73a,e2b482cb-6954-4e6a-abe9-d0a01f64b73a,0,1,c46fd680-efbe-49a8-91f0-73e36d791fa9,c46fd680-efbe-49a8-91f0-73e36d791fa9,0,1,6995567b-5a3c-4e03-9fb4-e22363ed6555,6995567b-5a3c-4e03-9fb4-e22363ed6555,0,1,32c38c2b-072d-4cf2-bf9a-f9c4b4c463e8,32c38c2b-072d-4cf2-bf9a-f9c4b4c463e8,0,1,b8a966ba-3452-44df-91d0-7040ecd3e4c2,b8a966ba-3452-44df-91d0-7040ecd3e4c2,0,1,80d6883d-c608-4fe5-acae-78bc45e40e5f,80d6883d-c608-4fe5-acae-78bc45e40e5f,0,1,213b173a-c3b7-449c-a618-d479c4dc38e8,213b173a-c3b7-449c-a618-d479c4dc38e8,0,1,7a64dffc-5cfe-41e2-bd55-fbf4957559a4,7a64dffc-5cfe-41e2-bd55-fbf4957559a4,0,1,a78249aa-ca9f-4bee-b00d-68ff59ea81a4,a78249aa-ca9f-4bee-b00d-68ff59ea81a4,0,1,7534148d-0124-49a2-a446-c6205d153153,7534148d-0124-49a2-a446-c6205d153153,0,1,32ed8a10-7177-4e45-866e-04a1b6831570,32ed8a10-7177-4e45-866e-04a1b6831570,0,1,e2a90d7a-5480-47cd-b296-8d60d8baf7f9,e2a90d7a-5480-47cd-b296-8d60d8baf7f9,0,1,8190a432-1037-4334-b2c7-bae39f7f9442,8190a432-1037-4334-b2c7-bae39f7f9442,0,1,4733e5c1-8198-408b-8903-866d3b0fdc43,4733e5c1-8198-408b-8903-866d3b0fdc43,0,1,e1fc5146-37c5-4207-af05-7250976bd406,e1fc5146-37c5-4207-af05-7250976bd406,0,1,60038cd9-8d01-44b1-9d3f-f3a31e59e5db,60038cd9-8d01-44b1-9d3f-f3a31e59e5db,0,1,f0bfb98b-cc43-4b6c-8166-9b81b4c22cb0,f0bfb98b-cc43-4b6c-8166-9b81b4c22cb0,0,1,f5e27159-789a-4d34-ac51-fd99d753b83a,f5e27159-789a-4d34-ac51-fd99d753b83a,0,1,f1cb02ff-a2f0-4a34-93fa-e47c6e210ee1,f1cb02ff-a2f0-4a34-93fa-e47c6e210ee1,0,1,981a74f4-cdc2-4016-b462-9b5fd0d6de4d,981a74f4-cdc2-4016-b462-9b5fd0d6de4d,0,1,1d89e2b7-8f66-4210-8ab4-29efde5e5295,1d89e2b7-8f66-4210-8ab4-29efde5e5295,0,1,fafff964-8daa-4921-9d53-fd6be3878d94,fafff964-8daa-4921-9d53-fd6be3878d94,0,1,7183d525-212a-42f3-a7e5-eb9deaeaa4a3,7183d525-212a-42f3-a7e5-eb9deaeaa4a3,0,1,b82b27cc-e81c-4b7c-9833-ea4f2ce21edb,b82b27cc-e81c-4b7c-9833-ea4f2ce21edb,0,1,4347f77e-bad9-4525-90a0-794787f03585,4347f77e-bad9-4525-90a0-794787f03585,0,1,cfde3330-2bed-4273-8d69-c213ebdde247,cfde3330-2bed-4273-8d69-c213ebdde247,0,1,2d6ca049-89a5-437e-971c-b8e42f61b460,2d6ca049-89a5-437e-971c-b8e42f61b460,0,1,c450ebe1-4223-4a7a-b9fa-374d5c13dc8c,c450ebe1-4223-4a7a-b9fa-374d5c13dc8c,0,1,271d58d0-4449-40cc-bae9-cc4c50eebd9b,271d58d0-4449-40cc-bae9-cc4c50eebd9b,0,1,58df9322-c786-4dd1-af49-7cd164b378da,58df9322-c786-4dd1-af49-7cd164b378da,0,1,8d48de7f-61d6-4462-9c14-f728206a482c,8d48de7f-61d6-4462-9c14-f728206a482c,0,1,a87e890a-8924-4f56-9e37-04579b95297a,a87e890a-8924-4f56-9e37-04579b95297a,0,1,c71d4fa4-86b0-41e2-8b6a-cfb91e131eaf,c71d4fa4-86b0-41e2-8b6a-cfb91e131eaf,0,1,4c1f2581-ee42-4df5-9169-20205a18a9be,4c1f2581-ee42-4df5-9169-20205a18a9be,0,1,bb3d9ea3-8895-4950-9ee9-4249ca983d48,bb3d9ea3-8895-4950-9ee9-4249ca983d48,0,1,86ea21fa-5ecc-4d81-b6ad-d71e7ed39009,86ea21fa-5ecc-4d81-b6ad-d71e7ed39009,0,1,b806d2b6-bbd1-4abd-9471-7791603a2fcf,b806d2b6-bbd1-4abd-9471-7791603a2fcf,0,1,d7aa519b-9a2e-4946-bd06-9ac22bb7c1e4,d7aa519b-9a2e-4946-bd06-9ac22bb7c1e4,0,1,ecee1ec8-aa1f-4b90-a1b3-2538a53c0dd7,ecee1ec8-aa1f-4b90-a1b3-2538a53c0dd7,0,1,34f50dd9-de16-4013-a2ef-6595d9c28930,34f50dd9-de16-4013-a2ef-6595d9c28930,0,1,56fcca65-3429-4409-bce7-f434f6530a74,56fcca65-3429-4409-bce7-f434f6530a74,0,1,5236ca8d-a4a6-4df8-a6a3-5cfe02c49aeb,5236ca8d-a4a6-4df8-a6a3-5cfe02c49aeb,0,1,bcfabf25-ae2f-4f73-836c-2cab3617a0b6,bcfabf25-ae2f-4f73-836c-2cab3617a0b6,0,1,b286f047-a4d0-4808-b1b4-27997ead6d49,b286f047-a4d0-4808-b1b4-27997ead6d49,0,1,49da2d3a-657a-4cfd-8e37-422b96d2cda5,49da2d3a-657a-4cfd-8e37-422b96d2cda5,0,1,fced16ae-abee-4fbe-9582-dfd368d5610a,fced16ae-abee-4fbe-9582-dfd368d5610a,0,1,afe60bad-1585-487f-9a39-9b9e031f9576,afe60bad-1585-487f-9a39-9b9e031f9576,0,1,4c4f0475-bd11-40c8-af0d-8affec6f838d,4c4f0475-bd11-40c8-af0d-8affec6f838d,0,1,7aee36ac-bbd1-4b06-8266-b7325fb9ce3c,7aee36ac-bbd1-4b06-8266-b7325fb9ce3c,0,1,855439d7-a621-48f5-b6d9-bc2bbd11ad90,855439d7-a621-48f5-b6d9-bc2bbd11ad90,0,1,4e0ec0f0-eb44-41b0-b950-88fdb6ac0db2,4e0ec0f0-eb44-41b0-b950-88fdb6ac0db2,0,1,2f25e742-555b-4db8-bff2-2d345ce2a93a,2f25e742-555b-4db8-bff2-2d345ce2a93a,0,1,303d8c17-4303-4f1d-8bed-51cd7ea0a4b2,303d8c17-4303-4f1d-8bed-51cd7ea0a4b2,0,1,46affd3a-f31c-4432-bd58-2f2b1ed9bc4e,46affd3a-f31c-4432-bd58-2f2b1ed9bc4e,0,1,a7fee9d3-569d-4b5b-bd47-44790e0095f5,a7fee9d3-569d-4b5b-bd47-44790e0095f5,0,1,a258fe12-7e55-4f89-86fa-962b1d2947ac,a258fe12-7e55-4f89-86fa-962b1d2947ac,0,1,93701593-5ac8-4266-b471-7e9ed35a9c3e,93701593-5ac8-4266-b471-7e9ed35a9c3e,0,1,0fdb864e-ede9-4777-835c-0804968ee544,0fdb864e-ede9-4777-835c-0804968ee544,0,1,04c45a51-4a8e-48fa-a39c-f67ce2079fc4,04c45a51-4a8e-48fa-a39c-f67ce2079fc4,0,1,b46546fe-3d6b-473f-a7cb-ff3b3ae0bafe,b46546fe-3d6b-473f-a7cb-ff3b3ae0bafe,0,1,e7b1810c-8e6c-4759-9e6f-c754b5a1ac77,e7b1810c-8e6c-4759-9e6f-c754b5a1ac77,0,1,5dee9814-fe38-4631-8148-8d6c87ef6f47,5dee9814-fe38-4631-8148-8d6c87ef6f47,0,1,37d17053-5c2b-4972-b6a5-a589f2ddbde6,37d17053-5c2b-4972-b6a5-a589f2ddbde6,0,1,c349968a-3f87-425b-8efb-d847934dee4b,c349968a-3f87-425b-8efb-d847934dee4b,0,1,3bb8dc33-970c-4c58-9036-ce716d963847,3bb8dc33-970c-4c58-9036-ce716d963847,0,1,b3ff39fa-f665-4d01-9a2a-69722e6b1071,b3ff39fa-f665-4d01-9a2a-69722e6b1071,0,1,0abacb0a-ce00-474e-8aec-35685c51ddef,0abacb0a-ce00-474e-8aec-35685c51ddef,0,1,ae407b17-03aa-4268-8603-58d6714dae89,ae407b17-03aa-4268-8603-58d6714dae89,0,1,5c0ce79b-97a9-4917-9b02-a4548a97d5a1,5c0ce79b-97a9-4917-9b02-a4548a97d5a1,0,1,c552cfac-d3ef-4b63-a0b9-7c79261ff9f3,c552cfac-d3ef-4b63-a0b9-7c79261ff9f3,0,1,5bb6e52c-ac26-4143-8e90-f04f703f823b,5bb6e52c-ac26-4143-8e90-f04f703f823b,0,1,579baaa4-6493-4d99-8744-6399757295c7,579baaa4-6493-4d99-8744-6399757295c7,0,1,ae6d0e12-8857-476c-b4b2-f03295cbed3e,ae6d0e12-8857-476c-b4b2-f03295cbed3e,0,1,7ee1e0d0-9735-45da-bd24-c0dbabfd5b1e,7ee1e0d0-9735-45da-bd24-c0dbabfd5b1e,0,1,bd0e3bd4-1207-41ea-8dfc-afa8f7d08cc2,bd0e3bd4-1207-41ea-8dfc-afa8f7d08cc2,0,1,51d83895-5692-4479-9612-07c790d19dff,51d83895-5692-4479-9612-07c790d19dff,0,1,9c1325af-7492-42be-b3af-51b692534510,9c1325af-7492-42be-b3af-51b692534510,0,1,dface15c-cd65-4fb1-b4dd-b513086d3f8e,dface15c-cd65-4fb1-b4dd-b513086d3f8e,0,1,d854b528-8456-4453-9c2d-4f96caf10481,d854b528-8456-4453-9c2d-4f96caf10481,0,1,d6969c1e-e13c-4542-abb7-9cf6bb50b8e2,d6969c1e-e13c-4542-abb7-9cf6bb50b8e2,0,1,ccd91f94-d3f1-4aa3-90cf-081d72c4cab1,ccd91f94-d3f1-4aa3-90cf-081d72c4cab1,0,1,aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02,aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02,0,1,b7e85f5c-4312-44c6-895a-3f636a8c78d8,b7e85f5c-4312-44c6-895a-3f636a8c78d8,0,1,3b6e7ee6-0ef5-464a-a01a-6143479c7a61,3b6e7ee6-0ef5-464a-a01a-6143479c7a61,0,1,1969e8d1-0a82-44cb-a0d4-e5badb1d28d4,1969e8d1-0a82-44cb-a0d4-e5badb1d28d4,0,1,a1afacc5-f49a-4df2-a44d-479594d50179,a1afacc5-f49a-4df2-a44d-479594d50179,0,1,fe70eba3-7477-4a38-a511-d69960abb928,fe70eba3-7477-4a38-a511-d69960abb928,0,1,6534ea96-2145-49e6-9739-f59459dc7f6b,6534ea96-2145-49e6-9739-f59459dc7f6b,0,1,f49bffa0-cad6-4801-b82e-21aa580e72e6,f49bffa0-cad6-4801-b82e-21aa580e72e6,0,1,bbbfb817-8db3-4415-86c3-af028276d6e9,bbbfb817-8db3-4415-86c3-af028276d6e9,0,1,6a91112c-f6cc-47a0-9d26-a36c7702af7d,6a91112c-f6cc-47a0-9d26-a36c7702af7d,0,1,cb92dc2e-6053-4233-a408-4464514b1257,cb92dc2e-6053-4233-a408-4464514b1257,0,1,8cd65ad3-a7a3-46f6-9061-e8751fd5073e,8cd65ad3-a7a3-46f6-9061-e8751fd5073e,0,1,85550a7a-8fe0-4296-ace5-63cf053536b4,85550a7a-8fe0-4296-ace5-63cf053536b4,0,1,cf1bd9cd-2ef2-4868-b6c0-5160860690f7,cf1bd9cd-2ef2-4868-b6c0-5160860690f7,0,1,3f8b6411-6606-4d27-891e-7c77be47c5f9,3f8b6411-6606-4d27-891e-7c77be47c5f9,0,1,bed3f0b2-40c6-4323-9bca-cb8864e38ec0,bed3f0b2-40c6-4323-9bca-cb8864e38ec0,0,1,5eb4ca7f-027a-4860-a167-e6b424527e7a,5eb4ca7f-027a-4860-a167-e6b424527e7a,0,1,f9b98ba5-1fa8-42a4-b1a2-dd71874083cb,f9b98ba5-1fa8-42a4-b1a2-dd71874083cb,0,1,6871015f-d959-4a77-a091-a23cb4ebd8f9,6871015f-d959-4a77-a091-a23cb4ebd8f9,0,1,e5e1631b-a494-4e73-b356-b4330b84cc88,e5e1631b-a494-4e73-b356-b4330b84cc88,0,1,f8f0857f-2c75-471a-ae0b-a3a265e1eb25,f8f0857f-2c75-471a-ae0b-a3a265e1eb25,0,1,a23f97fb-7ac9-4941-a2c6-bbff6c36ac12,a23f97fb-7ac9-4941-a2c6-bbff6c36ac12,0,1,80cf54ed-8677-4c89-a378-0abef6c64010,80cf54ed-8677-4c89-a378-0abef6c64010,0,1,f0dec7b3-2d6a-44ce-a1da-9c71ccd37539,f0dec7b3-2d6a-44ce-a1da-9c71ccd37539,0,1,56ee3afd-5ae6-421e-b9f3-26505e40f100,56ee3afd-5ae6-421e-b9f3-26505e40f100,0,1,63c9a839-78b2-4706-b380-5aedf6914930,63c9a839-78b2-4706-b380-5aedf6914930,0,1,40f5c1cb-2654-4738-bb44-6734b0e3490b,40f5c1cb-2654-4738-bb44-6734b0e3490b,0,1,2ec484b1-95eb-43a7-9430-1c1ef49f05af,2ec484b1-95eb-43a7-9430-1c1ef49f05af,0,1,1a314ce2-03bc-4267-89a9-bb5bb866f552,1a314ce2-03bc-4267-89a9-bb5bb866f552,0,1,e3b783a6-5ea2-4cd4-955b-df63d93c1f25,e3b783a6-5ea2-4cd4-955b-df63d93c1f25,0,1,f8ab62ad-7776-49ae-b1bb-51bea9a9992b,f8ab62ad-7776-49ae-b1bb-51bea9a9992b,0,1,e859dd18-8baf-49c0-b7a0-1205b6c125d3,e859dd18-8baf-49c0-b7a0-1205b6c125d3,0,1,da59378e-0a97-4cff-977b-cc51967068ee,da59378e-0a97-4cff-977b-cc51967068ee,0,1,bbaad46d-f60d-49e6-a077-075366bca47e,bbaad46d-f60d-49e6-a077-075366bca47e,0,1,0d9f5703-91e4-4769-bedd-5bd974f2f617,0d9f5703-91e4-4769-bedd-5bd974f2f617,0,1,926cdf17-1929-43d6-8205-858aab558ad9,926cdf17-1929-43d6-8205-858aab558ad9,0,1,5ec6838f-2d70-4f91-b41b-16adfe8ed587,5ec6838f-2d70-4f91-b41b-16adfe8ed587,0,1,6420ad7e-61ca-4af9-9715-f2b0c3e2c58f,6420ad7e-61ca-4af9-9715-f2b0c3e2c58f,0,1,bee8b8a0-f058-44cb-822c-620351567627,bee8b8a0-f058-44cb-822c-620351567627,0,1,26365e29-903b-47fd-ad96-e0d87f5d6e87,26365e29-903b-47fd-ad96-e0d87f5d6e87,0,1,569180cb-ce54-4267-94b9-332e35e3c17d,569180cb-ce54-4267-94b9-332e35e3c17d,0,1,9ec6fc35-e84e-4f82-b616-5c02e945cc8f,9ec6fc35-e84e-4f82-b616-5c02e945cc8f,0,1,a2c42946-1cdb-457a-a45b-97781cfb4a15,a2c42946-1cdb-457a-a45b-97781cfb4a15,0,1,20adf54c-044c-4bea-8028-b6d20917a030,20adf54c-044c-4bea-8028-b6d20917a030,0,1,dea6b05f-d3e1-4ff4-8f71-6a0c18134e94,dea6b05f-d3e1-4ff4-8f71-6a0c18134e94,0,1,fcb97a46-d5fd-4bb5-b899-17723a9fe346,fcb97a46-d5fd-4bb5-b899-17723a9fe346,0,1,a666af62-aa5d-4b2b-b9e5-017d1c93ae6a,a666af62-aa5d-4b2b-b9e5-017d1c93ae6a,0,1,7604b15a-8c5e-4515-84b9-c1d36f9efd0a,7604b15a-8c5e-4515-84b9-c1d36f9efd0a,0,1,a1a44832-6026-47ae-affd-5b6d52e84307,a1a44832-6026-47ae-affd-5b6d52e84307,0,1,d2fd8650-d13a-411d-8206-61b16016bd82,d2fd8650-d13a-411d-8206-61b16016bd82,0,1,f98bcdb8-6eed-4b4f-b3da-d80b5e8bed44,f98bcdb8-6eed-4b4f-b3da-d80b5e8bed44,0,1,4033eb31-8281-402a-afff-431fa36e589e,4033eb31-8281-402a-afff-431fa36e589e,0,1,5a1e1da5-7307-4f48-bb1c-2977fc4d7cef,5a1e1da5-7307-4f48-bb1c-2977fc4d7cef,0,1,f59488c7-4643-4988-8043-5c9724e04279,f59488c7-4643-4988-8043-5c9724e04279,0,1,cfe022b5-7647-4b5c-a2bd-f5d313f4a9db,cfe022b5-7647-4b5c-a2bd-f5d313f4a9db,0,1,77149f7a-8a76-4569-9487-991c41e132ef,77149f7a-8a76-4569-9487-991c41e132ef,0,1,9e1be65e-986f-4d21-91f0-15c66db0c947,9e1be65e-986f-4d21-91f0-15c66db0c947,0,1,75a0f8f1-6d8d-47d0-81c5-20b5e55b9cd1,75a0f8f1-6d8d-47d0-81c5-20b5e55b9cd1,0,1,d2fe4578-a1f8-4586-b052-fa71d25365c9,d2fe4578-a1f8-4586-b052-fa71d25365c9,0,1,f31f3dab-5796-47ac-a54d-3081f8cad817,f31f3dab-5796-47ac-a54d-3081f8cad817,0,1,cd59707e-b9e4-4038-8203-ae22a8060e8d,cd59707e-b9e4-4038-8203-ae22a8060e8d,0,1,db497857-33d3-49a1-b328-dfc62c973ecb,db497857-33d3-49a1-b328-dfc62c973ecb,0,1,139c001c-7b07-465a-9187-399ad32d294f,139c001c-7b07-465a-9187-399ad32d294f,0,1,5d228ce4-069e-4f98-beed-b8e1de17c3d9,5d228ce4-069e-4f98-beed-b8e1de17c3d9,0,1,9770fc09-87bf-4fce-9b0d-410efd30edae,9770fc09-87bf-4fce-9b0d-410efd30edae,0,1,f3d8590a-dcfa-4d41-8d03-642b99ffa040,f3d8590a-dcfa-4d41-8d03-642b99ffa040,0,1,3d73d5ff-995e-40ed-a401-cec2a3d12c8f,3d73d5ff-995e-40ed-a401-cec2a3d12c8f,0,1,20156709-1481-4007-8e89-9ce79fc589fc,20156709-1481-4007-8e89-9ce79fc589fc,0,1,fbcda361-0ef2-47b4-ba1c-1d1952898bd3,fbcda361-0ef2-47b4-ba1c-1d1952898bd3,0,1,7e7c5abd-b645-4de5-a40e-5805ec4456e2,7e7c5abd-b645-4de5-a40e-5805ec4456e2,0,1,763a16c3-a728-4b65-a485-705990310b4a,763a16c3-a728-4b65-a485-705990310b4a,0,1,65338920-c744-4d1e-b351-848b90a3feda,65338920-c744-4d1e-b351-848b90a3feda,0,1,2aedb1ac-caf1-45c7-913e-82a36637d5d4,2aedb1ac-caf1-45c7-913e-82a36637d5d4,0,1,56177464-5e9f-4598-96bc-eb311993c503,56177464-5e9f-4598-96bc-eb311993c503,0,1,c2308e60-2844-4bd8-bc8a-c9c20e5fc62d,c2308e60-2844-4bd8-bc8a-c9c20e5fc62d,0,1,bdfe65f4-4174-4e66-915c-943137981cf0,bdfe65f4-4174-4e66-915c-943137981cf0,0,1,5271de2d-d3a0-4128-90e0-cd8e1ea2ad30,5271de2d-d3a0-4128-90e0-cd8e1ea2ad30,0,1,c895d58a-5be1-4157-81af-f4f6db9b4b9e,c895d58a-5be1-4157-81af-f4f6db9b4b9e,0,1,8ce6cc1a-8570-4704-b9a3-44e815b2e753,8ce6cc1a-8570-4704-b9a3-44e815b2e753,0,1,7d336fdd-5cbf-4c92-a783-f451f7590502,7d336fdd-5cbf-4c92-a783-f451f7590502,0,1,05243f56-7e9b-4a61-8efb-1b5e525fff21,05243f56-7e9b-4a61-8efb-1b5e525fff21,0,1,b16d5e79-9d7e-4d3e-9be8-3b2a932abf78,b16d5e79-9d7e-4d3e-9be8-3b2a932abf78,0,1,bc110a6a-26fa-4aa1-a2ef-bdaeaa0a33af,bc110a6a-26fa-4aa1-a2ef-bdaeaa0a33af,0,1,86760ecb-2ddd-40ce-bc4f-94c23027a55e,86760ecb-2ddd-40ce-bc4f-94c23027a55e,0,1,fb42ad06-d5a4-40ea-817c-fa7ff385d8db,fb42ad06-d5a4-40ea-817c-fa7ff385d8db,0,1,7aa86a2d-2b47-447e-8901-806411011279,7aa86a2d-2b47-447e-8901-806411011279,0,1,f5d90a5a-1adb-49d6-8640-2e4054bdb99f,f5d90a5a-1adb-49d6-8640-2e4054bdb99f,0,1,903af13a-1f73-4145-a3d0-971c3be5fbe6,903af13a-1f73-4145-a3d0-971c3be5fbe6,0,1,37722a34-1148-4cc8-95e6-4645ae9cca98,37722a34-1148-4cc8-95e6-4645ae9cca98,0,1,934b8380-c6e0-49f8-a6c2-91c0ddb2f95e,934b8380-c6e0-49f8-a6c2-91c0ddb2f95e,0,1,fca0dfad-f853-4694-9ce9-53a3a10f59b7,fca0dfad-f853-4694-9ce9-53a3a10f59b7,0,1,703a3e8a-0204-4e8f-8fa0-a2ed1aeb7662,703a3e8a-0204-4e8f-8fa0-a2ed1aeb7662,0,1,4019a5e9-1f50-44b9-98ba-87c07a0ce4e5,4019a5e9-1f50-44b9-98ba-87c07a0ce4e5,0,1,71aa2bf7-85c9-40f3-a9b0-f6d666eddd28,71aa2bf7-85c9-40f3-a9b0-f6d666eddd28,0,1,1470f052-f032-46bc-b1ee-54555e725dfd,1470f052-f032-46bc-b1ee-54555e725dfd,0,1,497cbe4d-586d-48a2-8e98-d20e3e09ed42,497cbe4d-586d-48a2-8e98-d20e3e09ed42,0,1,150c9d05-4ccc-4cb7-879d-b1d9c3534343,150c9d05-4ccc-4cb7-879d-b1d9c3534343,0,1,38b7679d-3739-4572-baf2-d8c7b2a94f0a,38b7679d-3739-4572-baf2-d8c7b2a94f0a,0,1,11f32e0f-7d16-4ebd-9cef-fffd2d64e70a,11f32e0f-7d16-4ebd-9cef-fffd2d64e70a,0,1,b1ed134b-f2aa-4b06-b7a2-0e524ead04df,b1ed134b-f2aa-4b06-b7a2-0e524ead04df,0,1,1281fe19-bbca-4a4f-84d8-14187e62000f,1281fe19-bbca-4a4f-84d8-14187e62000f,0,1,953dbad6-4f5c-4319-874a-db358a77d001,953dbad6-4f5c-4319-874a-db358a77d001,0,1,69ceac29-06d3-45f2-b914-7966465cd0d3,69ceac29-06d3-45f2-b914-7966465cd0d3,0,1,cc34bd23-de0a-4b09-8333-e4693576b9f4,cc34bd23-de0a-4b09-8333-e4693576b9f4,0,1,b4cb92fb-ad82-44ed-9203-397b412b3453,b4cb92fb-ad82-44ed-9203-397b412b3453,0,1,b690721d-960b-4374-8d2c-feed3a2b354b,b690721d-960b-4374-8d2c-feed3a2b354b,0,1,271243d3-1871-4a0a-bf7f-63bacacf0a59,271243d3-1871-4a0a-bf7f-63bacacf0a59,0,1,bc10ad8f-383c-469a-8c0e-60805161055b,bc10ad8f-383c-469a-8c0e-60805161055b,0,1,57f4ee70-185e-4f2a-91a6-6c0bf93c1000,57f4ee70-185e-4f2a-91a6-6c0bf93c1000,0,1,ee8af8ee-e49a-4511-9a91-48814ab99d23,ee8af8ee-e49a-4511-9a91-48814ab99d23,0,1,3a7d9d49-b5e5-4c5c-958e-a4c6afda8b9d,3a7d9d49-b5e5-4c5c-958e-a4c6afda8b9d,0,1,6fbf844e-ee8d-490f-9177-6392d262312f,6fbf844e-ee8d-490f-9177-6392d262312f,0,1,65000437-bd07-4841-a458-679d44768c46,65000437-bd07-4841-a458-679d44768c46,0,1,9b7051d5-abc4-416c-a0e6-515d120d78e4,9b7051d5-abc4-416c-a0e6-515d120d78e4,0,1,86d1bc4e-f08d-48c7-8b3a-3c5feb0c843c,86d1bc4e-f08d-48c7-8b3a-3c5feb0c843c,0,1,869938e6-6310-4326-bd15-5b91fe2e0911,869938e6-6310-4326-bd15-5b91fe2e0911,0,1,8ed7254b-bbf8-49d9-8a73-9a91316fd02d,8ed7254b-bbf8-49d9-8a73-9a91316fd02d,0,1,a156521a-ece1-49d3-8056-1c3508273c45,a156521a-ece1-49d3-8056-1c3508273c45,0,1,075d39e0-a77a-4d0b-9260-7524fb5b2d0c,075d39e0-a77a-4d0b-9260-7524fb5b2d0c,0,1,10018f80-3138-4089-bf9a-a5f178f1e295,10018f80-3138-4089-bf9a-a5f178f1e295,0,1,43aba109-4b7f-45ef-9c30-8b754e81911b,43aba109-4b7f-45ef-9c30-8b754e81911b,0,1,4ccd72e1-7fd7-4a3b-8428-71b44992937e,4ccd72e1-7fd7-4a3b-8428-71b44992937e,0,1,46077650-2b2c-4319-8279-41f277971669,46077650-2b2c-4319-8279-41f277971669,0,1,4afe733d-64a0-4ea5-9d12-6e2c86eb91e4,4afe733d-64a0-4ea5-9d12-6e2c86eb91e4,0,1,d0b79c3d-b0c5-4eb3-9971-1def1c88698f,d0b79c3d-b0c5-4eb3-9971-1def1c88698f,0,1,e82ebd72-7b5a-4f45-b853-1001bf680a05,e82ebd72-7b5a-4f45-b853-1001bf680a05,0,1,a74879b8-c080-4cc0-b44f-2b7c4dae87fe,a74879b8-c080-4cc0-b44f-2b7c4dae87fe,0,1,e9e9b733-e97a-430d-95ce-45ea27751f64,e9e9b733-e97a-430d-95ce-45ea27751f64,0,1,86ffe9a7-9b3e-49ab-bd88-20269fec56bc,86ffe9a7-9b3e-49ab-bd88-20269fec56bc,0,1,3dd50c66-27f7-4f1e-86e9-c709995c8609,3dd50c66-27f7-4f1e-86e9-c709995c8609,0,1,45c0003f-0ed7-4582-b84e-217fdc4ddeaf,45c0003f-0ed7-4582-b84e-217fdc4ddeaf,0,1,ed1369c5-c274-45bd-ae91-7648565ae09f,ed1369c5-c274-45bd-ae91-7648565ae09f,0,1,8d0fce61-a22f-4033-9e03-3f00c4a21722,8d0fce61-a22f-4033-9e03-3f00c4a21722,0,1,bfb3f026-e940-49c3-ac30-408186f9e11e,bfb3f026-e940-49c3-ac30-408186f9e11e,0,1,e1dc83eb-a8cd-454b-8de8-cff2049be78c,e1dc83eb-a8cd-454b-8de8-cff2049be78c,0,1,9edd9288-1463-4d67-b9f0-40f351d978e9,9edd9288-1463-4d67-b9f0-40f351d978e9,0,1,c9db6c68-965f-4567-b26e-5d497a389de1,c9db6c68-965f-4567-b26e-5d497a389de1,0,1,4da2f65d-56bd-4140-9b31-e5ccac4a800a,4da2f65d-56bd-4140-9b31-e5ccac4a800a,0,1,eb163bba-b94c-4a78-9c2d-7b519325e3d4,eb163bba-b94c-4a78-9c2d-7b519325e3d4,0,1,939bdb9a-294b-4b42-a56f-030f69bc29c4,939bdb9a-294b-4b42-a56f-030f69bc29c4,0,1,ee7a763b-bcbf-4ff3-89af-eb7965b33515,ee7a763b-bcbf-4ff3-89af-eb7965b33515,0,1,e72b3ae6-00e9-45d7-a4f3-bc8a5a2f5ae4,e72b3ae6-00e9-45d7-a4f3-bc8a5a2f5ae4,0,1,b8931f98-c1d7-4e9b-be43-065064e7ba95,b8931f98-c1d7-4e9b-be43-065064e7ba95,0,1,ab2b472d-97d5-4c33-86fd-e2cdaedf3f3d,ab2b472d-97d5-4c33-86fd-e2cdaedf3f3d,0,1,60848308-931c-4da3-aa4b-37f6fb4b194f,60848308-931c-4da3-aa4b-37f6fb4b194f,0,1,08af8da8-d44b-46f0-a8d3-60421e7b5a1a,08af8da8-d44b-46f0-a8d3-60421e7b5a1a,0,1,54b14504-503b-45f6-9b5d-785b49829425,54b14504-503b-45f6-9b5d-785b49829425,0,1,80d3ee33-1cdc-4af6-85c2-787094526592,80d3ee33-1cdc-4af6-85c2-787094526592,0,1,c8b28660-6cb0-4ef5-85c2-a75da863ba96,c8b28660-6cb0-4ef5-85c2-a75da863ba96,0,1,1cd607b4-49fc-460e-a014-6afe50083b47,1cd607b4-49fc-460e-a014-6afe50083b47,0,1,a215e767-36e9-4408-9d18-7b4be757022a,a215e767-36e9-4408-9d18-7b4be757022a,0,1,a3e262bc-9f0d-480d-a1d1-c2326105d22d,a3e262bc-9f0d-480d-a1d1-c2326105d22d,0,1,8eae0c79-288b-4773-90bb-49299ad45628,8eae0c79-288b-4773-90bb-49299ad45628,0,1,2faa5594-f1b4-4312-b674-82fdf9623105,2faa5594-f1b4-4312-b674-82fdf9623105,0,1,185c1ad3-b5db-49b6-9342-d08e1bf64903,185c1ad3-b5db-49b6-9342-d08e1bf64903,0,1,3c69a4ad-001d-4421-88f6-412e15d710d6,3c69a4ad-001d-4421-88f6-412e15d710d6,0,1,d0373603-5abb-4f7b-8d2f-9f7fb52615aa,d0373603-5abb-4f7b-8d2f-9f7fb52615aa,0,1,f20a35fe-6029-4dc8-b6b4-b098dbce12e8,f20a35fe-6029-4dc8-b6b4-b098dbce12e8,0,1,6a68a08a-ea37-4573-ab9f-ec822f6d250b,6a68a08a-ea37-4573-ab9f-ec822f6d250b,0,1,00e87d04-8104-420b-b2c6-7304889a75b2,00e87d04-8104-420b-b2c6-7304889a75b2,0,1,bde86820-f7bb-463b-97d0-bfa5f8323af0,bde86820-f7bb-463b-97d0-bfa5f8323af0,0,1,289a6aac-dc4e-4fae-8815-853e78d450bb,289a6aac-dc4e-4fae-8815-853e78d450bb,0,1,557e7d89-83ed-45d0-86cc-6e355f14025d,557e7d89-83ed-45d0-86cc-6e355f14025d,0,1,d681b26b-dd8d-46d7-986e-10f05c37a1e4,d681b26b-dd8d-46d7-986e-10f05c37a1e4,0,1,4d3c216e-c04f-4884-8681-1c861c50ce7d,4d3c216e-c04f-4884-8681-1c861c50ce7d,0,1,4a41eee0-c973-4824-a07c-9fcf731f055e,4a41eee0-c973-4824-a07c-9fcf731f055e,0,1,ee756c33-f408-4449-a6bb-3186a0421362,ee756c33-f408-4449-a6bb-3186a0421362,0,1,fbfa8f64-52e4-48f6-b0fb-fd06976dd93d,fbfa8f64-52e4-48f6-b0fb-fd06976dd93d,0,1,6ff66622-4d20-4696-9fe9-4b4faeb21d96,6ff66622-4d20-4696-9fe9-4b4faeb21d96,0,1,46237eec-c206-4d21-883c-27599b9ed38c,46237eec-c206-4d21-883c-27599b9ed38c,0,1,8b451909-2c15-48f2-b869-65e7031cc542,8b451909-2c15-48f2-b869-65e7031cc542,0,1,ab6ff81a-56aa-4742-afe4-d7a652e9d2de,ab6ff81a-56aa-4742-afe4-d7a652e9d2de,0,1,7b377fca-4466-476f-9eb2-0b00141103d6,7b377fca-4466-476f-9eb2-0b00141103d6,0,1,9ce5eceb-f366-4035-956e-62721358b154,9ce5eceb-f366-4035-956e-62721358b154,0,1,52c016dd-f0df-4251-94c2-2e29ed5bc2d6,52c016dd-f0df-4251-94c2-2e29ed5bc2d6,0,1,c559ab26-8ed8-418e-9342-0559442dbcbf,c559ab26-8ed8-418e-9342-0559442dbcbf,0,1,1685c406-d0cb-4e0a-a3b0-036c8c22942a,1685c406-d0cb-4e0a-a3b0-036c8c22942a,0,1,892dc4c4-a72b-4dbf-af62-9f9ae0e05aa1,892dc4c4-a72b-4dbf-af62-9f9ae0e05aa1,0,1,81db41a6-2580-4a69-b1fd-57cfd48a7efa,81db41a6-2580-4a69-b1fd-57cfd48a7efa,0,1,0db8b3b2-bf24-4006-9897-797084c241ef,0db8b3b2-bf24-4006-9897-797084c241ef,0,1,fd9d34d9-9c9c-4c05-9c08-b93d4b237adf,fd9d34d9-9c9c-4c05-9c08-b93d4b237adf,0,1,381b7dae-6b34-42a7-9fee-2a4af8a1cc18,381b7dae-6b34-42a7-9fee-2a4af8a1cc18,0,1,31e9ca0d-9ae1-4740-a0a6-2739aa29c99f,31e9ca0d-9ae1-4740-a0a6-2739aa29c99f,0,1,20091427-d173-40ca-b2c4-53ee99b0b5ae,20091427-d173-40ca-b2c4-53ee99b0b5ae,0,1,14cbde39-a39a-48e5-9b72-b798a0bcea3f,14cbde39-a39a-48e5-9b72-b798a0bcea3f,0,1,56871c10-e3af-4679-afad-3baa910d73bb,56871c10-e3af-4679-afad-3baa910d73bb,0,1,f81b51c5-57e4-41f8-9ad5-3d2717351b95,f81b51c5-57e4-41f8-9ad5-3d2717351b95,0,1,3c09f0cd-fbec-46ae-95b0-a00cc53c07ef,3c09f0cd-fbec-46ae-95b0-a00cc53c07ef,0,1,de0a39e0-d37d-47c6-a019-e44836edc8d1,de0a39e0-d37d-47c6-a019-e44836edc8d1,0,1,1fdcc1e7-ad53-409e-ba13-84c6429740cd,1fdcc1e7-ad53-409e-ba13-84c6429740cd,0,1,71d544bf-15c1-4581-8baa-ac126308425c,71d544bf-15c1-4581-8baa-ac126308425c,0,1,1bd0b688-d0fb-4ca2-85aa-4bd82b72ccc2,1bd0b688-d0fb-4ca2-85aa-4bd82b72ccc2,0,1,7acfe30e-73cb-465a-88f2-92b7275dc49b,7acfe30e-73cb-465a-88f2-92b7275dc49b,0,1,8e387dac-5029-49da-a013-355df0a51a44,8e387dac-5029-49da-a013-355df0a51a44,0,1,13859664-8307-40e8-855b-557b9cf2f1ec,13859664-8307-40e8-855b-557b9cf2f1ec,0,1,e4397fba-507f-497c-9414-7d08ccd4d799,e4397fba-507f-497c-9414-7d08ccd4d799,0,1,794f5fb5-3b8f-4f45-9250-7a3b9d1db383,794f5fb5-3b8f-4f45-9250-7a3b9d1db383,0,1,f7a89bfc-e3c9-4894-a2df-6c229b4e0fd8,f7a89bfc-e3c9-4894-a2df-6c229b4e0fd8,0,1,1e8b70ce-27fc-418f-b3f3-e6efbce9f7a2,1e8b70ce-27fc-418f-b3f3-e6efbce9f7a2,0,1,d915d338-3e4c-45c3-aef5-a07cf41b05f6,d915d338-3e4c-45c3-aef5-a07cf41b05f6,0,1,978640a2-5c4b-4e21-857e-34f00840fba8,978640a2-5c4b-4e21-857e-34f00840fba8,0,1,da2913e3-a29b-423f-9aae-08fed56a7d90,da2913e3-a29b-423f-9aae-08fed56a7d90,0,1,149e72b8-cc03-4b4f-8ca4-07987600c34d,149e72b8-cc03-4b4f-8ca4-07987600c34d,0,1,7649bd7b-fe8c-4338-80fc-153160a5e538,7649bd7b-fe8c-4338-80fc-153160a5e538,0,1,7779cd6d-8fa1-49cb-9bbc-9dfd0979f3f4,7779cd6d-8fa1-49cb-9bbc-9dfd0979f3f4,0,1,3dec1ae7-90bb-45ab-aa04-48cfbc14742e,3dec1ae7-90bb-45ab-aa04-48cfbc14742e,0,1,6137605e-4850-44ec-b4ee-048bd8e0ec3a,6137605e-4850-44ec-b4ee-048bd8e0ec3a,0,1,ee28aa9b-0f31-4d8b-8444-43b8bc88bd23,ee28aa9b-0f31-4d8b-8444-43b8bc88bd23,0,1,0e6e9372-beb4-478e-9428-71b19a60739b,0e6e9372-beb4-478e-9428-71b19a60739b,0,1,32b11498-542f-46b2-829f-1525936ab7fa,32b11498-542f-46b2-829f-1525936ab7fa,0,1,64afa916-4750-4008-8c6c-2a470fb11283,64afa916-4750-4008-8c6c-2a470fb11283,0,1,f4a85bfb-40c7-4f81-af32-d07b96c53ad0,f4a85bfb-40c7-4f81-af32-d07b96c53ad0,0,1,35354abc-9a76-4ee8-8796-c24b37365ea0,35354abc-9a76-4ee8-8796-c24b37365ea0,0,1,7078977f-31bf-427e-ac37-e309d81fe999,7078977f-31bf-427e-ac37-e309d81fe999,0,1,bb39ae51-be82-4bb5-a30e-2bf2b53be59e,bb39ae51-be82-4bb5-a30e-2bf2b53be59e,0,1,d8854555-9e15-4d82-a1fd-656a848a8e8a,d8854555-9e15-4d82-a1fd-656a848a8e8a,0,1,53191842-ea05-4491-84d7-071cd201992d,53191842-ea05-4491-84d7-071cd201992d,0,1,86c70449-4cf7-4baf-9742-b82b134ed929,86c70449-4cf7-4baf-9742-b82b134ed929,0,1,af3b1881-163a-4c07-a1d9-77ceadf59c77,af3b1881-163a-4c07-a1d9-77ceadf59c77,0,1,b78be6fb-7db8-48c8-ba7b-aab1fea34890,b78be6fb-7db8-48c8-ba7b-aab1fea34890,0,1,bd27276a-e80c-4135-b341-f99a816ffe86,bd27276a-e80c-4135-b341-f99a816ffe86,0,1,35306678-147c-4ad1-a3c6-c80a11afa22f,35306678-147c-4ad1-a3c6-c80a11afa22f,0,1,0da75726-ae71-4d83-a696-a774c787a8a2,0da75726-ae71-4d83-a696-a774c787a8a2,0,1,5b30b0e9-f986-49b8-8668-5bb0e09f0cfe,5b30b0e9-f986-49b8-8668-5bb0e09f0cfe,0,1,896a7267-0198-4cbb-b6e6-7aa157c0cc61,896a7267-0198-4cbb-b6e6-7aa157c0cc61,0,1,2005bf54-219b-4111-bff1-e12e2c6dca3e,2005bf54-219b-4111-bff1-e12e2c6dca3e,0,1,abab8f73-d705-4350-b44d-f912649a2190,abab8f73-d705-4350-b44d-f912649a2190,0,1,20c9c25c-f8c9-429f-84bd-543cb809abef,20c9c25c-f8c9-429f-84bd-543cb809abef,0,1,dc5f451e-3275-43a8-9f48-45b83220d461,dc5f451e-3275-43a8-9f48-45b83220d461,0,1,028f5e81-61df-4d13-876d-781c5fd18ee6,028f5e81-61df-4d13-876d-781c5fd18ee6,0,1,3cbb59ef-7f64-4590-8a54-ba01e78283c3,3cbb59ef-7f64-4590-8a54-ba01e78283c3,0,1,a5b83672-2ead-4d0a-a4e5-ddd991f1addc,a5b83672-2ead-4d0a-a4e5-ddd991f1addc,0,1,388eb513-fadb-40cd-8a7b-33b904dd758e,388eb513-fadb-40cd-8a7b-33b904dd758e,0,1,0613c6aa-e1fe-4632-a396-a17ec773158f,0613c6aa-e1fe-4632-a396-a17ec773158f,0,1,1a330987-4c79-4ab7-b250-db8d32c78751,1a330987-4c79-4ab7-b250-db8d32c78751,0,1,555062ed-9a04-41d8-877f-0a667e9a08cd,555062ed-9a04-41d8-877f-0a667e9a08cd,0,1,5b1db523-b5cb-4ff8-8662-5feeb4282b4a,5b1db523-b5cb-4ff8-8662-5feeb4282b4a,0,1,ac160e1c-fef7-4625-84e0-964b397f6bdb,ac160e1c-fef7-4625-84e0-964b397f6bdb,0,1,b8946d9c-dda8-4b94-8cbf-db62b647c53e,b8946d9c-dda8-4b94-8cbf-db62b647c53e,0,1,24215916-7732-4030-9f88-163f644e94f7,24215916-7732-4030-9f88-163f644e94f7,0,1,69697945-9748-4cea-a20f-e244b46de2e8,69697945-9748-4cea-a20f-e244b46de2e8,0,1,68538fd1-262c-43ea-b09f-8a66643a0062,68538fd1-262c-43ea-b09f-8a66643a0062,0,1,d042a8e1-a7b9-4f26-abc4-d618bc73e9f5,d042a8e1-a7b9-4f26-abc4-d618bc73e9f5,0,1,82ad24cc-d9f8-440b-a720-e204101d85da,82ad24cc-d9f8-440b-a720-e204101d85da,0,1,8010065f-aec8-4768-85ec-9eb7b2b01e7e,8010065f-aec8-4768-85ec-9eb7b2b01e7e,0,1,a44348cb-e20c-4afd-8483-3b9c735b352c,a44348cb-e20c-4afd-8483-3b9c735b352c,0,1,ebfe4c74-6e16-4b64-8a52-cea95c446903,ebfe4c74-6e16-4b64-8a52-cea95c446903,0,1,ea9ed37c-7f58-43a8-990c-f1feb5d2d275,ea9ed37c-7f58-43a8-990c-f1feb5d2d275,0,1,d912e472-9553-4b96-8b16-7aaff6c14239,d912e472-9553-4b96-8b16-7aaff6c14239,0,1,b04018b5-a74d-43c9-8519-6cc8aa23fe09,b04018b5-a74d-43c9-8519-6cc8aa23fe09,0,1,8f5af22e-3e73-4a4f-b91e-eccd0f5084fd,8f5af22e-3e73-4a4f-b91e-eccd0f5084fd,0,1,9283277f-2b75-4c3a-810a-8d4071b3afcc,9283277f-2b75-4c3a-810a-8d4071b3afcc,0,1,d03d5b18-57a2-43c0-99ea-8ad9d5788179,d03d5b18-57a2-43c0-99ea-8ad9d5788179,0,1,c491a7fc-14f9-498a-b7dd-575dfc66878e,c491a7fc-14f9-498a-b7dd-575dfc66878e,0,1,db15f8eb-4736-4b47-9cee-3e6883f0888c,db15f8eb-4736-4b47-9cee-3e6883f0888c,0,1,59064eb2-2770-4f1c-96bd-801926fe68ef,59064eb2-2770-4f1c-96bd-801926fe68ef,0,1,6b2340d7-687f-43a3-8eb8-8ddb86712466,6b2340d7-687f-43a3-8eb8-8ddb86712466,0,1,9846e2f6-d82a-42a6-bf50-2a9cdf750a8f,9846e2f6-d82a-42a6-bf50-2a9cdf750a8f,0,1,ca5d586f-81bb-40ee-b3bd-de854857c984,ca5d586f-81bb-40ee-b3bd-de854857c984,0,1,73f89524-dbe8-426f-8ee6-1277eb1967cc,73f89524-dbe8-426f-8ee6-1277eb1967cc,0,1,ee7d970c-cef7-4740-a357-1fe78f88a6e6,ee7d970c-cef7-4740-a357-1fe78f88a6e6,0,1,b5e81952-e469-4f26-b8d2-90e7d9e7bc1d,b5e81952-e469-4f26-b8d2-90e7d9e7bc1d,0,1,6733f1bd-7878-4a33-8995-c07526e87c1a,6733f1bd-7878-4a33-8995-c07526e87c1a,0,1,ec34befe-3c0b-4a75-b943-840c52e7dda5,ec34befe-3c0b-4a75-b943-840c52e7dda5,0,1,7f18eb86-e9ac-4cb8-a9aa-389f61dff582,7f18eb86-e9ac-4cb8-a9aa-389f61dff582,0,1,0b7c4cb7-5126-4b5e-8941-cd56eaef76a0,0b7c4cb7-5126-4b5e-8941-cd56eaef76a0,0,1,144d5498-bb61-4bec-bef3-85a5a4aec3d5,144d5498-bb61-4bec-bef3-85a5a4aec3d5,0,1,9328da5c-4689-4a60-8136-ae9eac46ab38,9328da5c-4689-4a60-8136-ae9eac46ab38,0,1,42641296-64da-46e0-a407-de2d492f9c90,42641296-64da-46e0-a407-de2d492f9c90,0,1,b834af0b-086c-445d-a271-7e178c324551,b834af0b-086c-445d-a271-7e178c324551,0,1,32c10512-7bb8-423b-9503-ab2fa41386a4,32c10512-7bb8-423b-9503-ab2fa41386a4,0,1,888edfc4-8140-4675-b267-c32bf1d8d29d,888edfc4-8140-4675-b267-c32bf1d8d29d,0,1,f7e73257-fae1-465a-ae74-faaa0273a416,f7e73257-fae1-465a-ae74-faaa0273a416,0,1,2abbd53a-0ead-42af-8df6-fde663aea300,2abbd53a-0ead-42af-8df6-fde663aea300,0,1,24611bf9-5492-443a-935c-a0058e86493f,24611bf9-5492-443a-935c-a0058e86493f,0,1,af22406b-daac-475d-b6a9-577452502b84,af22406b-daac-475d-b6a9-577452502b84,0,1,7a925960-a579-4b06-90e0-5121dc774024,7a925960-a579-4b06-90e0-5121dc774024,0,1,13beb01d-dd08-4a6d-863b-651e70bbf51f,13beb01d-dd08-4a6d-863b-651e70bbf51f,0,1,a53f6e85-fbf7-4fb1-9301-d63e812fe16c,a53f6e85-fbf7-4fb1-9301-d63e812fe16c,0,1,57a0f5f3-6573-4b35-af25-cea3a25641f1,57a0f5f3-6573-4b35-af25-cea3a25641f1,0,1,ff18803b-4c3a-4720-a718-7547f04c6e2f,ff18803b-4c3a-4720-a718-7547f04c6e2f,0,1,0e0670d6-d8f7-4728-bd1b-f016fffa0570,0e0670d6-d8f7-4728-bd1b-f016fffa0570,0,1,40b08a20-51a3-438b-ba54-466917ea809f,40b08a20-51a3-438b-ba54-466917ea809f,0,1,ecaa0af8-549c-4c07-82ff-1c4e02ff15b8,ecaa0af8-549c-4c07-82ff-1c4e02ff15b8,0,1,45a8c780-c067-40d7-bbe9-81f854aacf7a,45a8c780-c067-40d7-bbe9-81f854aacf7a,0,1,57885cac-059a-4a08-aa2c-43b116d2c777,57885cac-059a-4a08-aa2c-43b116d2c777,0,1,c0403df4-b1f2-4d7e-adb5-9ed881c1359b,c0403df4-b1f2-4d7e-adb5-9ed881c1359b,0,1,56b570b1-93b0-468a-9672-9c71113753f3,56b570b1-93b0-468a-9672-9c71113753f3,0,1,e693eac3-f55d-4102-ac6d-b14ef33fb2e7,e693eac3-f55d-4102-ac6d-b14ef33fb2e7,0,1,e7b0ae70-0192-456c-9dc5-e66049fa9df2,e7b0ae70-0192-456c-9dc5-e66049fa9df2,0,1,68944d09-618e-4fa3-a7af-8c84218e0ac7,68944d09-618e-4fa3-a7af-8c84218e0ac7,0,1,91b12ce3-e8ba-4c9d-9daa-1d5532500314,91b12ce3-e8ba-4c9d-9daa-1d5532500314,0,1,733dc291-0bef-4fe8-ac9f-63440f0c2ad0,733dc291-0bef-4fe8-ac9f-63440f0c2ad0,0,1,5b7b7dc3-dbef-4854-9395-30a3ae4d751c,5b7b7dc3-dbef-4854-9395-30a3ae4d751c,0,1,cb57aabc-eeef-42b4-9bc2-873cebd9618c,cb57aabc-eeef-42b4-9bc2-873cebd9618c,0,1,2fcd2c85-6778-42fa-9bdd-a6ba47497ec0,2fcd2c85-6778-42fa-9bdd-a6ba47497ec0,0,1,52f30ed7-aa16-4ce2-9684-e50229ab0015,52f30ed7-aa16-4ce2-9684-e50229ab0015,0,1,79c2e2bd-f923-42ec-8bdc-3e517e08ee7c,79c2e2bd-f923-42ec-8bdc-3e517e08ee7c,0,1,0526492c-be48-4c84-8d68-19fa1c7e9d6e,0526492c-be48-4c84-8d68-19fa1c7e9d6e,0,1,54ecaf7b-9bc5-483c-96e1-270bcd323590,54ecaf7b-9bc5-483c-96e1-270bcd323590,0,1,2a1f77ba-fa2e-4281-8e68-7ec4ca0261b7,2a1f77ba-fa2e-4281-8e68-7ec4ca0261b7,0,1,58f6f8fa-7473-40f5-973a-6279335d8f33,58f6f8fa-7473-40f5-973a-6279335d8f33,0,1,ec0c3187-de61-4bc8-a52a-7617f47ffb6d,ec0c3187-de61-4bc8-a52a-7617f47ffb6d,0,1,1e71ec59-55a4-45e8-a8c9-f70c2cb56589,1e71ec59-55a4-45e8-a8c9-f70c2cb56589,0,1,fa3632fe-185b-49aa-85ae-dfb721835d40,fa3632fe-185b-49aa-85ae-dfb721835d40,0,1,a4f15108-477c-465e-aaea-cb495ef52cf5,a4f15108-477c-465e-aaea-cb495ef52cf5,0,1,9cda5c2c-f401-4f63-b445-cef160296e48,9cda5c2c-f401-4f63-b445-cef160296e48,0,1,e8ae4a26-3127-43ae-af7a-c2e278d2611d,e8ae4a26-3127-43ae-af7a-c2e278d2611d,0,1,b923c78f-d074-41b4-b832-086686258f19,b923c78f-d074-41b4-b832-086686258f19,0,1,8ff96413-6fdd-4b8d-a181-ea0d8633defc,8ff96413-6fdd-4b8d-a181-ea0d8633defc,0,1,54604ed2-766b-4308-b99e-447817d82799,54604ed2-766b-4308-b99e-447817d82799,0,1,7abdb07b-edbc-4c3b-aa53-afaa92dc9071,7abdb07b-edbc-4c3b-aa53-afaa92dc9071,0,1,f48b4475-2cd9-41df-962a-6529f84985ca,f48b4475-2cd9-41df-962a-6529f84985ca,0,1,2fbfe405-48e6-4abf-99c2-7f1f66a62b48,2fbfe405-48e6-4abf-99c2-7f1f66a62b48,0,1,5e6637c7-19b5-4ac2-a8e9-d119e49f444e,5e6637c7-19b5-4ac2-a8e9-d119e49f444e,0,1,bf94feb9-edf7-4df8-b5f5-805613663a0a,bf94feb9-edf7-4df8-b5f5-805613663a0a,0,1,6d852a13-c85e-4e84-8396-f91c1ed0596e,6d852a13-c85e-4e84-8396-f91c1ed0596e,0,1,9c2d5313-a4fd-417e-a340-ad4980d0028b,9c2d5313-a4fd-417e-a340-ad4980d0028b,0,1,4fb4a280-9426-4c41-a9ba-11f9d01a0740,4fb4a280-9426-4c41-a9ba-11f9d01a0740,0,1,1591ee7e-870c-4bf7-9450-be84f1b2506f,1591ee7e-870c-4bf7-9450-be84f1b2506f,0,1,8f088f33-92d7-4e35-915d-6cda1129dd80,8f088f33-92d7-4e35-915d-6cda1129dd80,0,1,9a8578a2-8a92-4ab3-a480-173340f8b34a,9a8578a2-8a92-4ab3-a480-173340f8b34a,0,1,4889d27b-435b-4059-a34d-6afdf3c77fa3,4889d27b-435b-4059-a34d-6afdf3c77fa3,0,1,4ebf0988-ccc3-440c-bd0f-2d01636bd730,4ebf0988-ccc3-440c-bd0f-2d01636bd730,0,1,69f42341-268b-4e74-9d6d-527800d018ab,69f42341-268b-4e74-9d6d-527800d018ab,0,1,c1be2a02-53b8-4c28-92b2-b6e0c83ab452,c1be2a02-53b8-4c28-92b2-b6e0c83ab452,0,1,ca6ecedc-f4c5-4c14-8a02-6255ce45033a,ca6ecedc-f4c5-4c14-8a02-6255ce45033a,0,1,7eb5217f-684d-4a9e-8aef-48cedc809cbb,7eb5217f-684d-4a9e-8aef-48cedc809cbb,0,1,4b54d626-dc59-4e49-a708-0a7f98833b9a,4b54d626-dc59-4e49-a708-0a7f98833b9a,0,1,1c90a423-ef1b-42dc-a43b-1fda89672481,1c90a423-ef1b-42dc-a43b-1fda89672481,0,1,095cf2d6-5a7c-452d-8d60-991afb6e52bd,095cf2d6-5a7c-452d-8d60-991afb6e52bd,0,1,2c155a03-2aff-4632-adb2-be3266e0fac3,2c155a03-2aff-4632-adb2-be3266e0fac3,0,1,f9213a70-bfd6-464f-b28b-ed35bdf351c0,f9213a70-bfd6-464f-b28b-ed35bdf351c0,0,1,ca5957af-69c9-4640-b9a9-b241c4f9eaa7,ca5957af-69c9-4640-b9a9-b241c4f9eaa7,0,1,7e32c295-a769-4cff-a3eb-992f7031475f,7e32c295-a769-4cff-a3eb-992f7031475f,0,1,eb81610a-eb2f-4068-ba74-75e0f5bbace8,eb81610a-eb2f-4068-ba74-75e0f5bbace8,0,1,21826316-0b49-4034-a49e-6d34c15ceb5c,21826316-0b49-4034-a49e-6d34c15ceb5c,0,1,3abffa47-8d47-4173-897b-708e1a06ef39,3abffa47-8d47-4173-897b-708e1a06ef39,0,1,0cf3d615-76a1-428d-9d25-0d7fdf09e4ae,0cf3d615-76a1-428d-9d25-0d7fdf09e4ae,0,1,5a398637-a06c-4442-9093-a864fa7f049f,5a398637-a06c-4442-9093-a864fa7f049f,0,1,38692186-a62a-42d1-87cd-7dbc6d4816ed,38692186-a62a-42d1-87cd-7dbc6d4816ed,0,1,6cfcdb89-ccb2-45fe-a7b1-5a29ccd6c5ae,6cfcdb89-ccb2-45fe-a7b1-5a29ccd6c5ae,0,1,3a28cea9-7fd7-4834-ab89-2a74331a64e3,3a28cea9-7fd7-4834-ab89-2a74331a64e3,0,1,0f881709-4520-4f18-af9d-cf08757693ff,0f881709-4520-4f18-af9d-cf08757693ff,0,1,c5151ca9-5103-42b2-8573-273c15416db8,c5151ca9-5103-42b2-8573-273c15416db8,0,1,fe4aa694-76c4-49c9-96ce-a2476f4ff58b,fe4aa694-76c4-49c9-96ce-a2476f4ff58b,0,1,ba8c43ad-678a-4b18-8bbe-5a1b12d19b74,ba8c43ad-678a-4b18-8bbe-5a1b12d19b74,0,1,115a6019-ef87-4126-8ebf-070c1e882940,115a6019-ef87-4126-8ebf-070c1e882940,0,1,162ce023-b2e1-41dc-bcaf-b8e30caccce0,162ce023-b2e1-41dc-bcaf-b8e30caccce0,0,1,52bdd3cc-7103-4dbf-a3c3-dd46cf03da12,52bdd3cc-7103-4dbf-a3c3-dd46cf03da12,0,1,c13fb1cd-fe72-48a6-b383-55b6323619ce,c13fb1cd-fe72-48a6-b383-55b6323619ce,0,1,956fc8ee-96be-4309-b1e8-209372f151ab,956fc8ee-96be-4309-b1e8-209372f151ab,0,1,526c688e-a4d4-45f7-8bba-b8ceff38fe27,526c688e-a4d4-45f7-8bba-b8ceff38fe27,0,1,67efa786-312f-4c9c-b970-0320e92069af,67efa786-312f-4c9c-b970-0320e92069af,0,1,12f85e09-1190-4483-b531-630ab718db7f,12f85e09-1190-4483-b531-630ab718db7f,0,1,52f4453e-e968-4290-a79a-470f68fbd07f,52f4453e-e968-4290-a79a-470f68fbd07f,0,1,5b952e35-1037-4447-8293-6d8889692c8b,5b952e35-1037-4447-8293-6d8889692c8b,0,1,05bc8b4e-8c90-4502-8b16-7b1e7625d569,05bc8b4e-8c90-4502-8b16-7b1e7625d569,0,1,ce34d88d-3017-4197-a962-ea23a6a96d32,ce34d88d-3017-4197-a962-ea23a6a96d32,0,1,2cbc16da-aa67-4ad6-82f8-fa6922447be6,2cbc16da-aa67-4ad6-82f8-fa6922447be6,0,1,19d7a1ba-c343-4575-95da-53dac6d4b2cb,19d7a1ba-c343-4575-95da-53dac6d4b2cb,0,1,6cc8b3a0-3377-4b39-b6b0-69c862a15465,6cc8b3a0-3377-4b39-b6b0-69c862a15465,0,1,acb193f4-52e5-4572-a79b-b825a2f6525f,acb193f4-52e5-4572-a79b-b825a2f6525f,0,1,5d46f719-e468-48e2-b4ec-acb85c710451,5d46f719-e468-48e2-b4ec-acb85c710451,0,1,9fb13bfe-80c7-43c3-b0da-9185ab197ce2,9fb13bfe-80c7-43c3-b0da-9185ab197ce2,0,1,cd80a520-1d1c-4d80-8a4a-360ac1ca98d8,cd80a520-1d1c-4d80-8a4a-360ac1ca98d8,0,1,e9aef0c8-9dc4-4c4a-8288-8b2d9860624d,e9aef0c8-9dc4-4c4a-8288-8b2d9860624d,0,1,5422610d-b92c-4213-a58c-8db067d93b66,5422610d-b92c-4213-a58c-8db067d93b66,0,1,8f59a635-9e0e-470d-8fda-a47a262a59c2,8f59a635-9e0e-470d-8fda-a47a262a59c2,0,1,ffb50eb9-149a-46ec-9472-d8f20ad09810,ffb50eb9-149a-46ec-9472-d8f20ad09810,0,1,5ae3bba3-dc98-4470-a73d-3bd951c0a3f2,5ae3bba3-dc98-4470-a73d-3bd951c0a3f2,0,1,7a6449e2-e90a-4720-a769-192284ef69c1,7a6449e2-e90a-4720-a769-192284ef69c1,0,1,02118b98-2349-46b1-a328-d6e2b5781f7e,02118b98-2349-46b1-a328-d6e2b5781f7e,0,1,67de9cbb-5c80-4cff-bfbe-269a958e08e6,67de9cbb-5c80-4cff-bfbe-269a958e08e6,0,1,2228a457-6805-41ee-85af-5ebca9568bf4,2228a457-6805-41ee-85af-5ebca9568bf4,0,1,96b71795-e230-4ecb-b98d-4feb3f8b9662,96b71795-e230-4ecb-b98d-4feb3f8b9662,0,1,04055821-03ce-4049-af2c-8670c80517f6,04055821-03ce-4049-af2c-8670c80517f6,0,1,0101305d-62eb-4802-9cd4-d615a518d842,0101305d-62eb-4802-9cd4-d615a518d842,0,1,898d2ba7-631a-4e7a-9bdf-cd2ef411e57a,898d2ba7-631a-4e7a-9bdf-cd2ef411e57a,0,1,bf1fc624-60d7-4a04-bb3a-b6e2882bebfe,bf1fc624-60d7-4a04-bb3a-b6e2882bebfe,0,1,7c424424-9660-462d-9cf2-4c1e6bd284fa,7c424424-9660-462d-9cf2-4c1e6bd284fa,0,1,e118f957-ab2c-473b-ab64-37032f727416,e118f957-ab2c-473b-ab64-37032f727416,0,1,e770e26e-a3a4-487d-b3bb-aeb63d8b7323,e770e26e-a3a4-487d-b3bb-aeb63d8b7323,0,1,21f64e5f-dc94-4ce9-b836-e75646ae3325,21f64e5f-dc94-4ce9-b836-e75646ae3325,0,1,82e8a180-f2e1-406c-9609-89d33504aff2,82e8a180-f2e1-406c-9609-89d33504aff2,0,1,e7437c81-3d5b-466e-880c-8febe4a68e88,e7437c81-3d5b-466e-880c-8febe4a68e88,0,1,99bc26f9-ba56-4c63-9fd1-c2f3d630b93c,99bc26f9-ba56-4c63-9fd1-c2f3d630b93c,0,1,307771e6-bcf7-4016-b369-e1655bbe9e94,307771e6-bcf7-4016-b369-e1655bbe9e94,0,1,bf8c60f7-7dea-4a2c-8ce2-7001a6a37bfa,bf8c60f7-7dea-4a2c-8ce2-7001a6a37bfa,0,1,38fc6a54-846c-40b0-9254-3261f540bf18,38fc6a54-846c-40b0-9254-3261f540bf18,0,1,d9134d0c-56cd-4b8f-ab11-ae37fc306801,d9134d0c-56cd-4b8f-ab11-ae37fc306801,0,1,9408d0ee-bd61-4b95-ac7c-98de139b5f9e,9408d0ee-bd61-4b95-ac7c-98de139b5f9e,0,1,8f2af24b-f5fa-4f6d-831e-28453bdedefc,8f2af24b-f5fa-4f6d-831e-28453bdedefc,0,1,d119e21d-0087-4f22-b3bd-b14707b65330,d119e21d-0087-4f22-b3bd-b14707b65330,0,1,dc9b4072-11de-40fe-bf2a-f7b15af0a250,dc9b4072-11de-40fe-bf2a-f7b15af0a250,0,1,e2cf5ca9-c2a0-4506-89e6-318cad0a48a3,e2cf5ca9-c2a0-4506-89e6-318cad0a48a3,0,1,5aecdfd1-1cd7-4523-be23-7e32fcb01a94,5aecdfd1-1cd7-4523-be23-7e32fcb01a94,0,1,932b1c1a-72eb-49cd-8218-d0ced9c454d8,932b1c1a-72eb-49cd-8218-d0ced9c454d8,0,1,96d70dc4-02bd-47ad-9465-81de6ff5bdc9,96d70dc4-02bd-47ad-9465-81de6ff5bdc9,0,1,38acaf7a-5a77-40bf-ba2a-17b31cccd37d,38acaf7a-5a77-40bf-ba2a-17b31cccd37d,0,1,cb604857-8e49-4f2f-b5c8-2a7d8a3cf8e4,cb604857-8e49-4f2f-b5c8-2a7d8a3cf8e4,0,1,f33e9c76-e523-4f4e-ab4b-3fc1b256d8dd,f33e9c76-e523-4f4e-ab4b-3fc1b256d8dd,0,1,5dd336c4-88c5-4f53-acf0-5f86a658c528,5dd336c4-88c5-4f53-acf0-5f86a658c528,0,1,c723112b-286d-46f1-989d-81252062a025,c723112b-286d-46f1-989d-81252062a025,0,1,67e8b47e-4bad-4b2f-b196-8a9708893051,67e8b47e-4bad-4b2f-b196-8a9708893051,0,1,a583e53a-3f3c-48c7-8928-37ce40b2bafe,a583e53a-3f3c-48c7-8928-37ce40b2bafe,0,1,a844dd4a-274a-4894-9446-031dbe006084,a844dd4a-274a-4894-9446-031dbe006084,0,1,9a740f81-5437-47af-8ed9-ea62edcb2ea1,9a740f81-5437-47af-8ed9-ea62edcb2ea1,0,1,cdf54c86-0a1c-4f74-93ee-6d8d8db0a778,cdf54c86-0a1c-4f74-93ee-6d8d8db0a778,0,1,77bdd30f-4933-4bda-9c7a-b0a097da0910,77bdd30f-4933-4bda-9c7a-b0a097da0910,0,1,a8d52851-4293-4fe4-b2cb-f9c8c166ed97,a8d52851-4293-4fe4-b2cb-f9c8c166ed97,0,1,d4879ecc-8f1a-4183-99a8-d6dfc1eed3f8,d4879ecc-8f1a-4183-99a8-d6dfc1eed3f8,0,1,a682e9e1-284f-4e32-86b2-6736f159f585,a682e9e1-284f-4e32-86b2-6736f159f585,0,1,84f0bd89-9b86-440f-b942-9b685e22233e,84f0bd89-9b86-440f-b942-9b685e22233e,0,1,f2d508b3-9425-4ce6-86d8-5893ca4a8cd6,f2d508b3-9425-4ce6-86d8-5893ca4a8cd6,0,1,ce61612f-bcbb-4a02-bca0-d88e0ee42bd7,ce61612f-bcbb-4a02-bca0-d88e0ee42bd7,0,1,c1c35035-44cc-4aa1-ae8e-db3513ddc5f3,c1c35035-44cc-4aa1-ae8e-db3513ddc5f3,0,1,ac52baa1-02cb-4ce8-8f4f-1f9441b1cda0,ac52baa1-02cb-4ce8-8f4f-1f9441b1cda0,0,1,fabf8a0b-366f-4f23-9377-315534bb854b,fabf8a0b-366f-4f23-9377-315534bb854b,0,1,7aac6439-64c9-4492-b866-bf91dda82d06,7aac6439-64c9-4492-b866-bf91dda82d06,0,1,6ffe3723-c6df-497b-a3ff-d817fbabfd8c,6ffe3723-c6df-497b-a3ff-d817fbabfd8c,0,1,528a82b7-ef06-4d90-bb32-bd6d76ed6c74,528a82b7-ef06-4d90-bb32-bd6d76ed6c74,0,1,08b86f29-64ef-467a-af1a-d27ffdf621ba,08b86f29-64ef-467a-af1a-d27ffdf621ba,0,1,6483d1ab-c53d-4985-ad7e-b799adbcd9da,6483d1ab-c53d-4985-ad7e-b799adbcd9da,0,1,82f66233-ed13-49ae-ab72-7cf91c88c760,82f66233-ed13-49ae-ab72-7cf91c88c760,0,1,75cddbcd-e960-4164-81d8-ac0a2a36e95b,75cddbcd-e960-4164-81d8-ac0a2a36e95b,0,1,e14d57f4-ae4a-4644-9ec1-a6af1b3e4c41,e14d57f4-ae4a-4644-9ec1-a6af1b3e4c41,0,1,314f8451-ba96-46cd-bf9f-3a87df7d2a5b,314f8451-ba96-46cd-bf9f-3a87df7d2a5b,0,1,d9151001-a911-45c1-a8e6-dcf0da623ed3,d9151001-a911-45c1-a8e6-dcf0da623ed3,0,1,30e06f80-b6d0-4fa9-a346-8e17dbe2fb68,30e06f80-b6d0-4fa9-a346-8e17dbe2fb68,0,1,e589a693-ff50-4c36-ae26-a8fcae966d57,e589a693-ff50-4c36-ae26-a8fcae966d57,0,1,8bacb87e-c2e9-41f5-bae1-c3a6b0e8179f,8bacb87e-c2e9-41f5-bae1-c3a6b0e8179f,0,1,90f023f5-5b48-4f98-bfc6-b704277a355d,90f023f5-5b48-4f98-bfc6-b704277a355d,0,1,99485603-706d-4301-be25-82b1c0ee8f4d,99485603-706d-4301-be25-82b1c0ee8f4d,0,1,e7a28021-c75e-41b2-9974-cf4beee34d28,e7a28021-c75e-41b2-9974-cf4beee34d28,0,1,21e3bdf3-7cec-42de-8ef3-5815b9a1b747,21e3bdf3-7cec-42de-8ef3-5815b9a1b747,0,1,2a603c61-4cbf-4c6d-a0b2-40c835d36737,2a603c61-4cbf-4c6d-a0b2-40c835d36737,0,1,a8d7f071-401b-499e-957c-d077d8002e54,a8d7f071-401b-499e-957c-d077d8002e54,0,1,211a539b-4be9-4816-98f6-f756e65eafd8,211a539b-4be9-4816-98f6-f756e65eafd8,0,1,e2d8167d-3ebf-4771-b9e0-e6382d68cc18,e2d8167d-3ebf-4771-b9e0-e6382d68cc18,0,1,e9b9da80-7806-4c9c-a002-01cfa3109169,e9b9da80-7806-4c9c-a002-01cfa3109169,0,1,a271041d-0203-4ecd-bb39-70256c50192e,a271041d-0203-4ecd-bb39-70256c50192e,0,1,73eff626-a363-4a5a-879e-61ef6ce0726f,73eff626-a363-4a5a-879e-61ef6ce0726f,0,1,acf15b79-a6c4-4c46-8013-50d3b223baf6,acf15b79-a6c4-4c46-8013-50d3b223baf6,0,1,f6a29b80-e4c3-4c4f-8e2c-d4dda851d813,f6a29b80-e4c3-4c4f-8e2c-d4dda851d813,0,1,2d8d5d74-2bc0-4282-af66-e4a37694c147,2d8d5d74-2bc0-4282-af66-e4a37694c147,0,1,cfd31341-287b-4684-9ac0-b28b4e066f15,cfd31341-287b-4684-9ac0-b28b4e066f15,0,1,81de1b0b-7f2d-4098-ae99-061c6a90dc29,81de1b0b-7f2d-4098-ae99-061c6a90dc29,0,1,f829e2a9-5bdb-4171-8b32-8d10d5968813,f829e2a9-5bdb-4171-8b32-8d10d5968813,0,1,647ba8f8-57f7-4c19-af59-525517c1e392,647ba8f8-57f7-4c19-af59-525517c1e392,0,1,39062cb3-4ae8-4c0d-889b-038a55179946,39062cb3-4ae8-4c0d-889b-038a55179946,0,1,c62d4212-36ca-4afb-bac9-269b6f64ca51,c62d4212-36ca-4afb-bac9-269b6f64ca51,0,1,5cec5e16-46ad-4f8c-b869-f5b1cc487884,5cec5e16-46ad-4f8c-b869-f5b1cc487884,0,1,ca0363bb-81c2-4fce-b2f0-e8f42d118a74,ca0363bb-81c2-4fce-b2f0-e8f42d118a74,0,1,7aacdf81-49fd-47a3-a36a-c483f1b05872,7aacdf81-49fd-47a3-a36a-c483f1b05872,0,1,857015e2-afb2-403d-bfb7-7acb5080797b,857015e2-afb2-403d-bfb7-7acb5080797b,0,1,5657286b-114b-41de-ab7d-45d0f0d95e2d,5657286b-114b-41de-ab7d-45d0f0d95e2d,0,1,42a0271e-6783-44db-95c1-09805ae01f58,42a0271e-6783-44db-95c1-09805ae01f58,0,1,8628783e-4fad-4dff-8220-9e0ddc8580f8,8628783e-4fad-4dff-8220-9e0ddc8580f8,0,1,356fc245-3034-42d1-84d0-632c6dc7a3d5,356fc245-3034-42d1-84d0-632c6dc7a3d5,0,1,07462664-6b58-4f5a-9b3f-2e5c376f17df,07462664-6b58-4f5a-9b3f-2e5c376f17df,0,1,6f23e946-f700-424b-b9bf-3a9c8846908d,6f23e946-f700-424b-b9bf-3a9c8846908d,0,1,f3ef5989-a848-4a7f-8ac5-0eca882a6aa1,f3ef5989-a848-4a7f-8ac5-0eca882a6aa1,0,1,4f5087ab-cc60-4d1e-ba83-a319536bf8ba,4f5087ab-cc60-4d1e-ba83-a319536bf8ba,0,1,07d0d6e9-e0a7-4543-9668-3850c1e0a15c,07d0d6e9-e0a7-4543-9668-3850c1e0a15c,0,1,c656771c-dcb7-4c78-9a16-e62806d5bb5a,c656771c-dcb7-4c78-9a16-e62806d5bb5a,0,1,ec42c45c-18ca-44b0-9c59-1cb204552a43,ec42c45c-18ca-44b0-9c59-1cb204552a43,0,1,2aafb1a1-4321-47e9-9783-03ab616a2873,2aafb1a1-4321-47e9-9783-03ab616a2873,0,1,71109997-6da0-4eaf-bbf2-f94fa24f37cc,71109997-6da0-4eaf-bbf2-f94fa24f37cc,0,1,a3deeef2-f8a2-462f-a57f-87d89e4ec12a,a3deeef2-f8a2-462f-a57f-87d89e4ec12a,0,1,d601281c-379d-4a9d-843e-478fd6567415,d601281c-379d-4a9d-843e-478fd6567415,0,1,fd9b3f7d-d25d-4ecb-8b87-218d5ccf1f7b,fd9b3f7d-d25d-4ecb-8b87-218d5ccf1f7b,0,1,427e6f15-334e-42be-9554-895d8f7ebfc6,427e6f15-334e-42be-9554-895d8f7ebfc6,0,1,e85a4314-7b63-4294-9bd0-ff77e3ae7c1e,e85a4314-7b63-4294-9bd0-ff77e3ae7c1e,0,1,36bc8523-41a5-48ff-9bd0-758d078c4408,36bc8523-41a5-48ff-9bd0-758d078c4408,0,1,94ca1b45-3cf0-4857-8299-999c93f4fb56,94ca1b45-3cf0-4857-8299-999c93f4fb56,0,1,ee8419c6-79ca-4546-9a66-bacaa08d2a73,ee8419c6-79ca-4546-9a66-bacaa08d2a73,0,1,e36ddb60-2f21-4c5f-b96c-947bcf2af42a,e36ddb60-2f21-4c5f-b96c-947bcf2af42a,0,1,d4a0ca3b-3985-4ba2-9e96-1c5baed28b46,d4a0ca3b-3985-4ba2-9e96-1c5baed28b46,0,1,ada11ea2-94d5-4172-a383-a51774599568,ada11ea2-94d5-4172-a383-a51774599568,0,1,50515bbc-43ee-4b00-bfc5-105b7981bd8f,50515bbc-43ee-4b00-bfc5-105b7981bd8f,0,1,1ea080b0-0a11-4152-b8bb-4918bc142a23,1ea080b0-0a11-4152-b8bb-4918bc142a23,0,1,a21cd1c1-4649-4dc2-9dbd-a913f2d6ca75,a21cd1c1-4649-4dc2-9dbd-a913f2d6ca75,0,1,6930e471-7935-4d68-a980-2acde93ba801,6930e471-7935-4d68-a980-2acde93ba801,0,1,2c425fa5-b10b-4a6f-926a-5cb4c1f2d491,2c425fa5-b10b-4a6f-926a-5cb4c1f2d491,0,1,5135cc48-c749-4acb-a225-d110f386f482,5135cc48-c749-4acb-a225-d110f386f482,0,1,15e6f31b-556a-4f47-9f40-2f69ac7fcb43,15e6f31b-556a-4f47-9f40-2f69ac7fcb43,0,1,53c4c3b2-9257-4d02-8df8-6b55fe9abdae,53c4c3b2-9257-4d02-8df8-6b55fe9abdae,0,1,d2dba2ae-e987-4c9d-a289-3dc19afa87cd,d2dba2ae-e987-4c9d-a289-3dc19afa87cd,0,1,2e9fa546-96fb-4ecb-b933-7921e131e89b,2e9fa546-96fb-4ecb-b933-7921e131e89b,0,1,4645b1ad-eb8f-484c-b29c-2093d9ef9dba,4645b1ad-eb8f-484c-b29c-2093d9ef9dba,0,1,637a132b-1a88-44ba-b45f-ed4ed1ac1001,637a132b-1a88-44ba-b45f-ed4ed1ac1001,0,1,699f734b-43d2-4351-bff8-e0e21e164a42,699f734b-43d2-4351-bff8-e0e21e164a42,0,1,95f0792a-7ac4-450a-b05c-219741e61abd,95f0792a-7ac4-450a-b05c-219741e61abd,0,1,742a2e8c-496e-4e02-931d-d33f7afe07a5,742a2e8c-496e-4e02-931d-d33f7afe07a5,0,1,c3efa853-cd29-4618-929f-e3bec33dfd65,c3efa853-cd29-4618-929f-e3bec33dfd65,0,1,62185c28-3d24-487a-9441-b309dcf11e31,62185c28-3d24-487a-9441-b309dcf11e31,0,1,9f264aeb-664d-4724-8248-11873d63ef3b,9f264aeb-664d-4724-8248-11873d63ef3b,0,1,b926d058-53a9-4eea-b4f9-98e77f798dd9,b926d058-53a9-4eea-b4f9-98e77f798dd9,0,1,495e2c77-4868-4191-ac18-f94e55a5982e,495e2c77-4868-4191-ac18-f94e55a5982e,0,1,20191a65-322c-457d-85f5-ed1258b6fe8e,20191a65-322c-457d-85f5-ed1258b6fe8e,0,1,23b46ecd-14dc-4cc5-8ff0-c676a8337aee,23b46ecd-14dc-4cc5-8ff0-c676a8337aee,0,1,769c60aa-44f4-4c98-a461-d3f5c2b67f61,769c60aa-44f4-4c98-a461-d3f5c2b67f61,0,1,f9809c99-0eaa-4249-967c-a4bef4763277,f9809c99-0eaa-4249-967c-a4bef4763277,0,1,37fa88a0-f2c1-455f-a28d-74165e8b933d,37fa88a0-f2c1-455f-a28d-74165e8b933d,0,1,e4476f09-909b-49f7-8e01-72eea8ceaca6,e4476f09-909b-49f7-8e01-72eea8ceaca6,0,1,2861412c-46f0-454e-b81d-fe081afb5c7a,2861412c-46f0-454e-b81d-fe081afb5c7a,0,1,2b4ece05-b694-42e9-8239-55722fd84294,2b4ece05-b694-42e9-8239-55722fd84294,0,1,6564ce89-134f-4726-8693-fd93aad46180,6564ce89-134f-4726-8693-fd93aad46180,0,1,0d743731-da5d-4c99-b19f-e93c69b77e14,0d743731-da5d-4c99-b19f-e93c69b77e14,0,1,d6f15367-23e2-4766-bc7c-8acd0063aa0c,d6f15367-23e2-4766-bc7c-8acd0063aa0c,0,1,966b1bde-5b0c-446d-b38b-dc037e2ff7ad,966b1bde-5b0c-446d-b38b-dc037e2ff7ad,0,1,fa4c5665-4d73-4db2-a055-8c1c8a302f82,fa4c5665-4d73-4db2-a055-8c1c8a302f82,0,1,e3e0caa1-6d3f-45a6-9043-d58a34f35b8f,e3e0caa1-6d3f-45a6-9043-d58a34f35b8f,0,1,9100b286-8ae9-4de3-b116-5ce0fa95b80c,9100b286-8ae9-4de3-b116-5ce0fa95b80c,0,1,3d315df6-e000-4cbd-810d-0b26c0d1bc54,3d315df6-e000-4cbd-810d-0b26c0d1bc54,0,1,fa429302-ccaf-4c89-8a11-3a1d30817c00,fa429302-ccaf-4c89-8a11-3a1d30817c00,0,1,9b4c49ce-93da-439a-8d67-f3774e92800a,9b4c49ce-93da-439a-8d67-f3774e92800a,0,1,5f8fa827-7017-4b45-b458-3571b8b611f5,5f8fa827-7017-4b45-b458-3571b8b611f5,0,1,79749167-2912-4e06-9deb-7915a1b4390d,79749167-2912-4e06-9deb-7915a1b4390d,0,1,1c93fcd3-53a1-403f-a30b-454fbc941d55,1c93fcd3-53a1-403f-a30b-454fbc941d55,0,1,0fc54be4-2e19-45cf-b62f-7cbc70a70d5f,0fc54be4-2e19-45cf-b62f-7cbc70a70d5f,0,1,adec3963-b22f-4463-a3f4-c9ec27d187a8,adec3963-b22f-4463-a3f4-c9ec27d187a8,0,1,d8dae0c8-8e11-44bf-bf60-d316220f3e82,d8dae0c8-8e11-44bf-bf60-d316220f3e82,0,1,12afec4d-1728-4aa8-86e5-23cd2f1572b3,12afec4d-1728-4aa8-86e5-23cd2f1572b3,0,1,16bc197b-5a2f-43f4-8ba0-ffabd9289f5c,16bc197b-5a2f-43f4-8ba0-ffabd9289f5c,0,1,ee0c3960-d1bf-411f-a51f-e6e27dabea87,ee0c3960-d1bf-411f-a51f-e6e27dabea87,0,1,d7fb9441-1aef-4257-af3f-7f16340ac85e,d7fb9441-1aef-4257-af3f-7f16340ac85e,0,1,d07c094c-2795-4e0c-b030-bdb82be7ba6d,d07c094c-2795-4e0c-b030-bdb82be7ba6d,0,1,62637860-2013-4f9d-9aed-7cbb0dce8983,62637860-2013-4f9d-9aed-7cbb0dce8983,0,1,331217f6-7ec2-425d-93bd-f2979c5f2e05,331217f6-7ec2-425d-93bd-f2979c5f2e05,0,1,67c1269a-79e6-44d9-9254-671c50fb3974,67c1269a-79e6-44d9-9254-671c50fb3974,0,1,5d455d2a-910d-48c7-bc74-ba5ad7855110,5d455d2a-910d-48c7-bc74-ba5ad7855110,0,1,7cf3feea-75e2-42cc-9c89-4a9182034910,7cf3feea-75e2-42cc-9c89-4a9182034910,0,1,930a0156-feb3-4e14-96a5-cd183a4891f4,930a0156-feb3-4e14-96a5-cd183a4891f4,0,1,cfa55ab3-1335-4712-8352-03c2f0277708,cfa55ab3-1335-4712-8352-03c2f0277708,0,1,fb176f8b-edb9-4e4b-926d-dabe9552bfa1,fb176f8b-edb9-4e4b-926d-dabe9552bfa1,0,1,cd5c52d4-f832-4a3b-b4c7-b4f3e0c98222,cd5c52d4-f832-4a3b-b4c7-b4f3e0c98222,0,1,e268a337-f576-4ec2-8a22-0500b79b2441,e268a337-f576-4ec2-8a22-0500b79b2441,0,1,eb33a8fa-75a6-4926-a025-05bc0abe4374,eb33a8fa-75a6-4926-a025-05bc0abe4374,0,1,c352da94-ea64-44b1-b2df-2c4ed9e2efc5,c352da94-ea64-44b1-b2df-2c4ed9e2efc5,0,1,6babd40a-8b8f-454b-b4a4-7cf2854f49a2,6babd40a-8b8f-454b-b4a4-7cf2854f49a2,0,1,bf480259-6e72-4ad1-ac41-0b0d41a75387,bf480259-6e72-4ad1-ac41-0b0d41a75387,0,1,a41f060a-f0f6-4940-960b-5056082b2c45,a41f060a-f0f6-4940-960b-5056082b2c45,0,1,073e14d4-5d43-428b-a9a7-985d173e94c7,073e14d4-5d43-428b-a9a7-985d173e94c7,0,1,2394775b-8910-4667-9c74-e1606e0b13bc,2394775b-8910-4667-9c74-e1606e0b13bc,0,1,43c88ffd-a036-4563-890b-bdc60180e841,43c88ffd-a036-4563-890b-bdc60180e841,0,1,af6e5e8e-6482-4820-a810-9e275ae039bf,af6e5e8e-6482-4820-a810-9e275ae039bf,0,1,fe3ccb8b-fee7-4825-a7bc-4b0fd432d382,fe3ccb8b-fee7-4825-a7bc-4b0fd432d382,0,1,7690620b-21d9-463a-8c22-60844927b4a0,7690620b-21d9-463a-8c22-60844927b4a0,0,1,e7f96a15-9f62-4a7f-85f3-06ba5d30b130,e7f96a15-9f62-4a7f-85f3-06ba5d30b130,0,1,b1db3255-38da-4684-b44e-4e2e9ee1dc35,b1db3255-38da-4684-b44e-4e2e9ee1dc35,0,1,4761f89b-7894-4dca-83b0-3be2d0828781,4761f89b-7894-4dca-83b0-3be2d0828781,0,1,573ff1f2-0ef5-4962-a0f6-eb84d430fe03,573ff1f2-0ef5-4962-a0f6-eb84d430fe03,0,1,7236d52f-9068-45ad-8b92-a7319e737e08,7236d52f-9068-45ad-8b92-a7319e737e08,0,1,3b0b708f-1b6c-4eb2-a2ad-86c088d9f1bf,3b0b708f-1b6c-4eb2-a2ad-86c088d9f1bf,0,1,9db23e96-d13a-4847-941a-462f64d0619d,9db23e96-d13a-4847-941a-462f64d0619d,0,1,7575fd54-c91b-4220-a2ef-2cf533f60426,7575fd54-c91b-4220-a2ef-2cf533f60426,0,1,1b751f19-bb0c-40c2-a5d1-068544c36c6b,1b751f19-bb0c-40c2-a5d1-068544c36c6b,0,1,26e2c83b-8873-4ad3-9c50-e94421473a43,26e2c83b-8873-4ad3-9c50-e94421473a43,0,1,f0b2ec05-8e01-4ccf-b927-671329a9013b,f0b2ec05-8e01-4ccf-b927-671329a9013b,0,1,ab442b11-2482-4f80-ac82-01966e0657ec,ab442b11-2482-4f80-ac82-01966e0657ec,0,1,14fe4d39-81a1-470e-9724-6642ce34ad89,14fe4d39-81a1-470e-9724-6642ce34ad89,0,1,457578ab-dfe2-4419-8d8a-64283b341f42,457578ab-dfe2-4419-8d8a-64283b341f42,0,1,67ef6671-f537-46bf-88e6-f5bcf34a17a4,67ef6671-f537-46bf-88e6-f5bcf34a17a4,0,1,de778ca7-feaf-4531-80ae-11a534c56928,de778ca7-feaf-4531-80ae-11a534c56928,0,1,0dfbe7a9-9c2e-4cbd-ac53-3b547fd73e91,0dfbe7a9-9c2e-4cbd-ac53-3b547fd73e91,0,1,0a76a84d-e883-477e-8b87-7bf984cdc1cf,0a76a84d-e883-477e-8b87-7bf984cdc1cf,0,1,2b6c4184-6d7d-48e5-bd4e-ad31e63398d6,2b6c4184-6d7d-48e5-bd4e-ad31e63398d6,0,1,86df8648-e195-4661-99ee-6052788eb276,86df8648-e195-4661-99ee-6052788eb276,0,1,a22cf6e9-1157-4be5-8d30-aa9bbf2b5e6e,a22cf6e9-1157-4be5-8d30-aa9bbf2b5e6e,0,1,35133725-9647-42dc-a76a-2e62b2918ac4,35133725-9647-42dc-a76a-2e62b2918ac4,0,1,fa9572ee-0303-4421-9125-70cf3dd5a8c7,fa9572ee-0303-4421-9125-70cf3dd5a8c7,0,1,4cdd7920-0c49-4950-b92f-fdf6e34578b2,4cdd7920-0c49-4950-b92f-fdf6e34578b2,0,1,0af48650-5fef-4a5b-8ac8-38a9ded23bd4,0af48650-5fef-4a5b-8ac8-38a9ded23bd4,0,1,c7b883dc-6c26-4eb5-bc19-7919ad57da27,c7b883dc-6c26-4eb5-bc19-7919ad57da27,0,1,7fc37008-c378-4a70-a9a9-07543c7248a6,7fc37008-c378-4a70-a9a9-07543c7248a6,0,1,6410853e-a17e-44db-b8cc-bfefd7c4d239,6410853e-a17e-44db-b8cc-bfefd7c4d239,0,1,df042e4e-01a6-4480-a9c5-c0d7a454bb41,df042e4e-01a6-4480-a9c5-c0d7a454bb41,0,1,bad3d1fa-9618-427a-93e0-90f151e468bf,bad3d1fa-9618-427a-93e0-90f151e468bf,0,1,6a4972f1-012c-438b-b1d3-81e7f6da3ddd,6a4972f1-012c-438b-b1d3-81e7f6da3ddd,0,1,ff7cfd75-e0ba-49a3-92e1-33ea26df46e2,ff7cfd75-e0ba-49a3-92e1-33ea26df46e2,0,1,bc37fc81-6a86-4e72-b75a-abb75bddc4b3,bc37fc81-6a86-4e72-b75a-abb75bddc4b3,0,1,ff830967-faa9-415f-aa6e-8d27779f91f8,ff830967-faa9-415f-aa6e-8d27779f91f8,0,1,34dd0dd6-880c-4a90-9b9c-0503c8dc4ef3,34dd0dd6-880c-4a90-9b9c-0503c8dc4ef3,0,1,88618d0f-97af-4055-a490-561d4b8065a7,88618d0f-97af-4055-a490-561d4b8065a7,0,1,faffa228-4f4f-43f6-99b9-ed8c93af85c0,faffa228-4f4f-43f6-99b9-ed8c93af85c0,0,1,7b816ca0-ba60-4637-8348-23b26ad23e3f,7b816ca0-ba60-4637-8348-23b26ad23e3f,0,1,814a6db4-a43c-44e6-ac44-11983642c5ad,814a6db4-a43c-44e6-ac44-11983642c5ad,0,1,0bd74786-e018-4a66-b994-cdb439c57657,0bd74786-e018-4a66-b994-cdb439c57657,0,1,f50fcf2b-90bb-4d73-9fda-f4575e7682fa,f50fcf2b-90bb-4d73-9fda-f4575e7682fa,0,1,a01b8078-a6cd-4184-9317-2f1e0bcefb3a,a01b8078-a6cd-4184-9317-2f1e0bcefb3a,0,1,54a279b1-9e6a-49b0-8fda-e2807cf3a2a3,54a279b1-9e6a-49b0-8fda-e2807cf3a2a3,0,1,09502176-c53d-4525-b8ed-32d0a2e21a5d,09502176-c53d-4525-b8ed-32d0a2e21a5d,0,1,75ad984e-d41f-4591-b207-e8a4b05757a7,75ad984e-d41f-4591-b207-e8a4b05757a7,0,1,3f020f90-7aeb-4b21-ad71-4572ac796d4c,3f020f90-7aeb-4b21-ad71-4572ac796d4c,0,1,759e2ba0-2941-4cc1-8409-50b8a3620058,759e2ba0-2941-4cc1-8409-50b8a3620058,0,1,491cf25d-091e-4e09-b145-92d7073326cf,491cf25d-091e-4e09-b145-92d7073326cf,0,1,9b9d4d10-a4f2-4b0d-a63a-15d55f30fb26,9b9d4d10-a4f2-4b0d-a63a-15d55f30fb26,0,1,579f18ce-a7ce-4eb8-a4e3-a134a9a27bc1,579f18ce-a7ce-4eb8-a4e3-a134a9a27bc1,0,1,e7d05eca-2fdd-4cbb-8e2c-537525326ffe,e7d05eca-2fdd-4cbb-8e2c-537525326ffe,0,1,900bc96e-fbcc-473e-970c-96f561420f8e,900bc96e-fbcc-473e-970c-96f561420f8e,0,1,c3bb7b85-1e90-45c4-9bc1-39bbd253d498,c3bb7b85-1e90-45c4-9bc1-39bbd253d498,0,1,21d5a0b0-9a2b-4989-a50a-781645513179,21d5a0b0-9a2b-4989-a50a-781645513179,0,1,22df0fa4-cb1c-45a2-bcce-d32ed44e462a,22df0fa4-cb1c-45a2-bcce-d32ed44e462a,0,1,d97c6204-3656-4591-aea9-6ebedffe1247,d97c6204-3656-4591-aea9-6ebedffe1247,0,1,7caabe33-184f-45db-bef4-59d4e9cd2394,7caabe33-184f-45db-bef4-59d4e9cd2394,0,1,3255033a-e922-412e-a825-a3e8bd284703,3255033a-e922-412e-a825-a3e8bd284703,0,1,1aa65c35-e8a0-4c8a-90a3-48b62314cb19,1aa65c35-e8a0-4c8a-90a3-48b62314cb19,0,1,f250f992-ad5a-4dab-ad38-240604adb0c4,f250f992-ad5a-4dab-ad38-240604adb0c4,0,1,c4a7efca-f27d-4fdd-86ab-cc22a2a96fb2,c4a7efca-f27d-4fdd-86ab-cc22a2a96fb2,0,1,e63671f6-c96d-4ea4-8300-af7dbd0d016f,e63671f6-c96d-4ea4-8300-af7dbd0d016f,0,1,2c511469-0df6-470f-a808-decb275e8b1a,2c511469-0df6-470f-a808-decb275e8b1a,0,1,1bbb289c-a78a-47d0-b082-c2225ae1dc83,1bbb289c-a78a-47d0-b082-c2225ae1dc83,0,1,99b40f9f-f8f1-4779-8afc-59d30612f3d6,99b40f9f-f8f1-4779-8afc-59d30612f3d6,0,1,6131e875-3254-4281-9343-9118564c5451,6131e875-3254-4281-9343-9118564c5451,0,1,69622ff8-8a23-42fc-b63d-5097e3f636ac,69622ff8-8a23-42fc-b63d-5097e3f636ac,0,1,b88450cc-0dd4-4881-b3d9-a9e4e07e08f5,b88450cc-0dd4-4881-b3d9-a9e4e07e08f5,0,1,ef326bd8-1570-455e-ae8c-063b5578ad15,ef326bd8-1570-455e-ae8c-063b5578ad15,0,1,3713c76d-6ff7-4d45-9f15-d061bdf7dee2,3713c76d-6ff7-4d45-9f15-d061bdf7dee2,0,1,cb6d4979-2d70-4ceb-af08-deb2b19daf14,cb6d4979-2d70-4ceb-af08-deb2b19daf14,0,1,bf30b754-84fb-4104-b52b-a4f7df6fba12,bf30b754-84fb-4104-b52b-a4f7df6fba12,0,1,7bbd0835-b3e9-40cb-a424-670828b60bbb,7bbd0835-b3e9-40cb-a424-670828b60bbb,0,1,3e2138ea-48f9-4a60-8f22-53933bea49db,3e2138ea-48f9-4a60-8f22-53933bea49db,0,1,16bda2eb-eab8-4230-b89f-517fb943e009,16bda2eb-eab8-4230-b89f-517fb943e009,0,1,00964512-297f-4b8b-8def-8e4fc0eba991,00964512-297f-4b8b-8def-8e4fc0eba991,0,1,4185fea3-baba-4ba5-8019-9023b3011d4d,4185fea3-baba-4ba5-8019-9023b3011d4d,0,1,ea790035-92d6-445e-9fa3-08e565634d2b,ea790035-92d6-445e-9fa3-08e565634d2b,0,1,cce8900a-51eb-487d-b380-227d1b9d3943,cce8900a-51eb-487d-b380-227d1b9d3943,0,1,c043c36c-90c6-483b-bc20-7c2d85109b90,c043c36c-90c6-483b-bc20-7c2d85109b90,0,1,a1e619a6-3bb2-468d-a225-c88ccc3b71f5,a1e619a6-3bb2-468d-a225-c88ccc3b71f5,0,1,91d2d40a-c271-412c-b344-1fc98b94ba21,91d2d40a-c271-412c-b344-1fc98b94ba21,0,1,7ce47046-aee8-4809-bac9-a98930a844e1,7ce47046-aee8-4809-bac9-a98930a844e1,0,1,f480b8b9-ecec-4207-a0aa-12c5be4c2250,f480b8b9-ecec-4207-a0aa-12c5be4c2250,0,1,32717d25-6644-4903-8950-03e4c9b1a8fe,32717d25-6644-4903-8950-03e4c9b1a8fe,0,1,3644d8f3-db88-4fce-a851-39c115acfe03,3644d8f3-db88-4fce-a851-39c115acfe03,0,1,4653da74-34b2-47b9-ad88-efd761d6f1e9,4653da74-34b2-47b9-ad88-efd761d6f1e9,0,1,abf8a23d-45c3-4feb-8df2-279b709d7722,abf8a23d-45c3-4feb-8df2-279b709d7722,0,1,b0cd056f-c601-4d07-89c4-f7137b88bab6,b0cd056f-c601-4d07-89c4-f7137b88bab6,0,1,5cc3ebef-8f09-443c-b131-e5c3a9f7d260,5cc3ebef-8f09-443c-b131-e5c3a9f7d260,0,1,b9a21b8f-8a95-4c86-9ab2-ee6c90164e18,b9a21b8f-8a95-4c86-9ab2-ee6c90164e18,0,1,96ed4d39-3bdc-480f-af86-218f22000514,96ed4d39-3bdc-480f-af86-218f22000514,0,1,c9f72e74-22ac-4dc0-8462-0aa7819a9342,c9f72e74-22ac-4dc0-8462-0aa7819a9342,0,1,ca650484-293f-403a-b916-5ec7c3a8969e,ca650484-293f-403a-b916-5ec7c3a8969e,0,1,b71e706d-623e-4039-9bf0-24f151d861d8,b71e706d-623e-4039-9bf0-24f151d861d8,0,1,528f4823-33d8-49bd-a8fe-756a08a107c2,528f4823-33d8-49bd-a8fe-756a08a107c2,0,1,4869095b-b76e-45ca-b77d-0e74f59673f0,4869095b-b76e-45ca-b77d-0e74f59673f0,0,1,bcca2442-448b-4760-923b-cc9621ecb441,bcca2442-448b-4760-923b-cc9621ecb441,0,1,ba7657df-429a-4737-b787-19ef09fdebb2,ba7657df-429a-4737-b787-19ef09fdebb2,0,1,867d72be-f406-45a5-a511-b90459683f11,867d72be-f406-45a5-a511-b90459683f11,0,1,88b22e62-c144-401f-9635-3fb4d914772e,88b22e62-c144-401f-9635-3fb4d914772e,0,1,efeb2914-6604-403a-a11e-5cb995ab2bc9,efeb2914-6604-403a-a11e-5cb995ab2bc9,0,1,4c2dd77f-adc7-4f11-8e8f-1f8e41e6c84b,4c2dd77f-adc7-4f11-8e8f-1f8e41e6c84b,0,1,8f2b8a8e-4cd3-45e3-89ae-1cc4bd0ff30a,8f2b8a8e-4cd3-45e3-89ae-1cc4bd0ff30a,0,1,24b3aecc-f92f-475b-862e-83dd6d6aa2b9,24b3aecc-f92f-475b-862e-83dd6d6aa2b9,0,1,de506523-241a-4845-9259-37066afbf16a,de506523-241a-4845-9259-37066afbf16a,0,1,0510206f-eef0-4a5e-aeb7-d53c26d34adb,0510206f-eef0-4a5e-aeb7-d53c26d34adb,0,1,e616e007-43e7-4740-a083-b85f5435718a,e616e007-43e7-4740-a083-b85f5435718a,0,1,727da5b1-e054-4832-8e44-f5d5e56f52e5,727da5b1-e054-4832-8e44-f5d5e56f52e5,0,1,6135ffd5-1510-4aa8-8bf5-d7c0ca624414,6135ffd5-1510-4aa8-8bf5-d7c0ca624414,0,1,6feaad7c-9680-4341-b215-14581e2e2b37,6feaad7c-9680-4341-b215-14581e2e2b37,0,1,d5656a92-adfb-4733-830d-2b1565798b1f,d5656a92-adfb-4733-830d-2b1565798b1f,0,1,2ee0d56b-cd7c-42db-8fb6-c1567fe1967d,2ee0d56b-cd7c-42db-8fb6-c1567fe1967d,0,1,b0f6ea83-2849-4151-930d-692866919db3,b0f6ea83-2849-4151-930d-692866919db3,0,1,05558ce4-8568-4009-b1d7-307d54967515,05558ce4-8568-4009-b1d7-307d54967515,0,1,74380324-9b7b-49f6-9458-88deb9405f98,74380324-9b7b-49f6-9458-88deb9405f98,0,1,5286ceb2-0f16-4d70-ad89-dc15a308bb8d,5286ceb2-0f16-4d70-ad89-dc15a308bb8d,0,1,0abf70e0-0d81-4d85-a288-a2134da5fbf1,0abf70e0-0d81-4d85-a288-a2134da5fbf1,0,1,392fc734-4251-4d28-bfd1-d6f2f33ec0e5,392fc734-4251-4d28-bfd1-d6f2f33ec0e5,0,1,f66cb2da-3b3c-481f-823a-506f8290f619,f66cb2da-3b3c-481f-823a-506f8290f619,0,1,b80ddaf8-c5c3-4bde-98ed-74a1a0446f38,b80ddaf8-c5c3-4bde-98ed-74a1a0446f38,0,1,e4f16dbf-609d-4a34-a0bf-b20e5925c1ba,e4f16dbf-609d-4a34-a0bf-b20e5925c1ba,0,1,0bdcf045-5132-4a68-839c-a30515dc569e,0bdcf045-5132-4a68-839c-a30515dc569e,0,1,683861f9-9a5f-47db-8b03-959f839d5a3a,683861f9-9a5f-47db-8b03-959f839d5a3a,0,1,56fda0b0-c0ae-4ea2-8f77-df22a9ca3e87,56fda0b0-c0ae-4ea2-8f77-df22a9ca3e87,0,1,125be5bf-f410-451d-aa96-22fabc6a4d8a,125be5bf-f410-451d-aa96-22fabc6a4d8a,0,1,e5017fd0-ecea-48ae-99c8-7fc8c4f1d72b,e5017fd0-ecea-48ae-99c8-7fc8c4f1d72b,0,1,0a46166a-4562-4a50-b139-39dbe8a1fc84,0a46166a-4562-4a50-b139-39dbe8a1fc84,0,1,9aa6d1d1-75ad-40e4-b01f-274826c0c9da,9aa6d1d1-75ad-40e4-b01f-274826c0c9da,0,1,6ce64d65-f710-4d3f-a85f-26ce6915451e,6ce64d65-f710-4d3f-a85f-26ce6915451e,0,1,33eb9806-e34f-42a0-9825-3ff2de92c503,33eb9806-e34f-42a0-9825-3ff2de92c503,0,1,4905fcc5-9bd7-4b1b-b51d-882b11ee3d74,4905fcc5-9bd7-4b1b-b51d-882b11ee3d74,0,1,bcb58235-7cd7-4c15-a1eb-194ee38259e6,bcb58235-7cd7-4c15-a1eb-194ee38259e6,0,1,e19aefe7-634d-4218-8d40-75802d1691e0,e19aefe7-634d-4218-8d40-75802d1691e0,0,1,ce2a8ff8-94fd-4ce2-9caa-4711e9b79ee9,ce2a8ff8-94fd-4ce2-9caa-4711e9b79ee9,0,1,f942d212-9be0-4d80-84b6-5b63070e33e4,f942d212-9be0-4d80-84b6-5b63070e33e4,0,1,bea6bbc1-c1e4-4306-a0ca-efd47b9a8b23,bea6bbc1-c1e4-4306-a0ca-efd47b9a8b23,0,1,64c91eaa-084f-4801-8dbf-4e075c689c2b,64c91eaa-084f-4801-8dbf-4e075c689c2b,0,1,c01bb4de-06f7-4c3d-8ea3-d861f89948c0,c01bb4de-06f7-4c3d-8ea3-d861f89948c0,0,1,3c8c4f7b-d267-422c-becd-b6e8a9d6fe49,3c8c4f7b-d267-422c-becd-b6e8a9d6fe49,0,1,3aa12805-823a-439b-b039-fb9940aee312,3aa12805-823a-439b-b039-fb9940aee312,0,1,87d53573-f266-4b74-94af-041ae4b6518f,87d53573-f266-4b74-94af-041ae4b6518f,0,1,65a8545a-e73c-4c6a-8f87-7734d7ff5c03,65a8545a-e73c-4c6a-8f87-7734d7ff5c03,0,1,801cf1f7-2c65-4126-a3e9-b66abfdde67a,801cf1f7-2c65-4126-a3e9-b66abfdde67a,0,1,b991eefb-0d97-48a1-89c8-3d83b3b8d97a,b991eefb-0d97-48a1-89c8-3d83b3b8d97a,0,1,29c2bc01-8838-4459-8ac2-79862aa1dbc9,29c2bc01-8838-4459-8ac2-79862aa1dbc9,0,1,ad556c33-6811-48b4-ae90-57700a4d3fd6,ad556c33-6811-48b4-ae90-57700a4d3fd6,0,1,6e0833f4-3b57-4a5f-810f-9e2a492335df,6e0833f4-3b57-4a5f-810f-9e2a492335df,0,1,78ccdf33-9c2b-4931-afa3-5d652f2bcbc5,78ccdf33-9c2b-4931-afa3-5d652f2bcbc5,0,1,977bc9d8-9843-4343-85af-11a3d91f9966,977bc9d8-9843-4343-85af-11a3d91f9966,0,1,02ff9ef0-1057-4bc2-b745-1c2ae41835e3,02ff9ef0-1057-4bc2-b745-1c2ae41835e3,0,1,5a86abe7-db6c-43a3-9bcd-9b3647519c6b,5a86abe7-db6c-43a3-9bcd-9b3647519c6b,0,1,a6582448-734d-4a4c-a32c-c4755ca1bc93,a6582448-734d-4a4c-a32c-c4755ca1bc93,0,1,6a0b9a91-51a0-4ef4-b630-4f1b5a1da2b7,6a0b9a91-51a0-4ef4-b630-4f1b5a1da2b7,0,1,53327cc4-22b0-40f9-bae7-db483f85901c,53327cc4-22b0-40f9-bae7-db483f85901c,0,1,098d904d-95c9-459e-86d0-357ba9a40191,098d904d-95c9-459e-86d0-357ba9a40191,0,1,e9ab9d00-6e42-439b-8efc-fcacf727016d,e9ab9d00-6e42-439b-8efc-fcacf727016d,0,1,2d58033f-e15d-4a91-8165-dd311025c7c4,2d58033f-e15d-4a91-8165-dd311025c7c4,0,1,49cb3a36-90b3-4154-b571-265fc5cee21e,49cb3a36-90b3-4154-b571-265fc5cee21e,0,1,10472d2c-18ca-49b0-bd9d-c750db8498c5,10472d2c-18ca-49b0-bd9d-c750db8498c5,0,1,8efe5daf-272d-4255-b5c4-66dca7463b50,8efe5daf-272d-4255-b5c4-66dca7463b50,0,1,65af25a6-f699-4c40-b13e-3b7dff3f16fe,65af25a6-f699-4c40-b13e-3b7dff3f16fe,0,1,c4d2486d-289c-4812-b223-5ccfcd7f29e3,c4d2486d-289c-4812-b223-5ccfcd7f29e3,0,1,b6ae3a72-c686-409d-9cda-9d1a00be1d8d,b6ae3a72-c686-409d-9cda-9d1a00be1d8d,0,1,7da57c89-af2c-445a-96f7-39250f70306f,7da57c89-af2c-445a-96f7-39250f70306f,0,1,b5b94d94-25f7-4cfa-b1e9-6009fb848763,b5b94d94-25f7-4cfa-b1e9-6009fb848763,0,1,a2accf54-5966-42e8-ab2e-e56e415963ee,a2accf54-5966-42e8-ab2e-e56e415963ee,0,1,d8eb5329-5900-4b5d-b45e-458513dddfef,d8eb5329-5900-4b5d-b45e-458513dddfef,0,1,6d521e58-24a3-4f19-b4b0-dff84f7ca86b,6d521e58-24a3-4f19-b4b0-dff84f7ca86b,0,1,d5afea8a-1b7a-4b23-8ae0-cefa0b937b17,d5afea8a-1b7a-4b23-8ae0-cefa0b937b17,0,1,6ffd2da8-db97-46fc-9a53-8e665a598e3c,6ffd2da8-db97-46fc-9a53-8e665a598e3c,0,1,8c413fa5-9e24-4b81-aa55-0e78c5e3e20f,8c413fa5-9e24-4b81-aa55-0e78c5e3e20f,0,1,a4322f22-7de0-4018-8e06-9f1aa7cf0c07,a4322f22-7de0-4018-8e06-9f1aa7cf0c07,0,1,eaaed107-69d4-4963-be83-74519e331715,eaaed107-69d4-4963-be83-74519e331715,0,1,38cddf96-8703-4396-8c73-47fb22828a48,38cddf96-8703-4396-8c73-47fb22828a48,0,1,2c2cb793-0177-4983-91ca-9c292c5b10f1,2c2cb793-0177-4983-91ca-9c292c5b10f1,0,1,2a2e7f51-a4e5-48ec-b969-b1fca18ba9b5,2a2e7f51-a4e5-48ec-b969-b1fca18ba9b5,0,1,221fa473-3327-44e6-a033-6fdfd2be713c,221fa473-3327-44e6-a033-6fdfd2be713c,0,1,7a5973f0-7e29-44af-8e7b-70af71f704a4,7a5973f0-7e29-44af-8e7b-70af71f704a4,0,1,27089e8e-2c75-431c-b808-5d4dcba3cdca,27089e8e-2c75-431c-b808-5d4dcba3cdca,0,1,9ab3980e-a480-4f90-a8cc-bde99d5ace35,9ab3980e-a480-4f90-a8cc-bde99d5ace35,0,1,ec928563-6e35-4b84-b477-90d2481cec1c,ec928563-6e35-4b84-b477-90d2481cec1c,0,1,5d3e9678-20fe-4128-867a-3f7addaa7831,5d3e9678-20fe-4128-867a-3f7addaa7831,0,1,bb878f73-8a0f-459a-9076-ce57fe7957dc,bb878f73-8a0f-459a-9076-ce57fe7957dc,0,1,a2b4110b-4d9c-40fd-ab46-bfa08d2eb993,a2b4110b-4d9c-40fd-ab46-bfa08d2eb993,0,1,4f262b7f-927e-45f2-ad90-9d5e1b3155d1,4f262b7f-927e-45f2-ad90-9d5e1b3155d1,0,1,9f4b8e36-83ff-4694-8540-b5f47b18395f,9f4b8e36-83ff-4694-8540-b5f47b18395f,0,1,b4c026eb-4271-4366-b529-1cdfe2874563,b4c026eb-4271-4366-b529-1cdfe2874563,0,1,b99f2a63-54e8-490b-a0a4-1941fbc38b3f,b99f2a63-54e8-490b-a0a4-1941fbc38b3f,0,1,314b0da2-24d3-48cc-8532-d36c45eb3bf8,314b0da2-24d3-48cc-8532-d36c45eb3bf8,0,1,4077e700-ec20-4afa-8155-bf7e516a70cb,4077e700-ec20-4afa-8155-bf7e516a70cb,0,1,10008125-3aeb-4912-8ad6-d92d283ea09a,10008125-3aeb-4912-8ad6-d92d283ea09a,0,1,d22a0a50-220d-459e-a23a-39730a1e67c4,d22a0a50-220d-459e-a23a-39730a1e67c4,0,1,dd050ca0-8335-4654-ab5c-7babcb4824ef,dd050ca0-8335-4654-ab5c-7babcb4824ef,0,1,706cbf55-626d-4cab-b589-a2464368f6c1,706cbf55-626d-4cab-b589-a2464368f6c1,0,1,2e3ac3fb-9f0e-463f-95c2-9f661ce2e015,2e3ac3fb-9f0e-463f-95c2-9f661ce2e015,0,1,e010c0f9-f770-4fdc-8607-50838c0262ef,e010c0f9-f770-4fdc-8607-50838c0262ef,0,1,483dfce4-9c66-4739-94d4-17a005d64f5b,483dfce4-9c66-4739-94d4-17a005d64f5b,0,1,19506116-43ef-433c-822c-ef8717b0da6b,19506116-43ef-433c-822c-ef8717b0da6b,0,1,464b92cc-b577-4350-ae9f-e697390248d7,464b92cc-b577-4350-ae9f-e697390248d7,0,1,5a1242c8-3817-4d2c-9bfd-f62a6b80730c,5a1242c8-3817-4d2c-9bfd-f62a6b80730c,0,1,b9be6caf-e5e0-45a9-8cc8-3c83721632a2,b9be6caf-e5e0-45a9-8cc8-3c83721632a2,0,1,2fac5a7b-cb3e-4442-892f-77f338035eeb,2fac5a7b-cb3e-4442-892f-77f338035eeb,0,1,f2076747-0bc4-41dd-bab9-33cec85111f0,f2076747-0bc4-41dd-bab9-33cec85111f0,0,1,9f74c0bb-b876-4a37-b954-c93898a21067,9f74c0bb-b876-4a37-b954-c93898a21067,0,1,97e853dc-065f-4c6d-84cb-3d3aff367b22,97e853dc-065f-4c6d-84cb-3d3aff367b22,0,1,2f1fdf47-2627-496f-9e1f-77019abb2104,2f1fdf47-2627-496f-9e1f-77019abb2104,0,1,c996532a-8795-4136-8a40-9bb4b263277c,c996532a-8795-4136-8a40-9bb4b263277c,0,1,64c77788-fc49-4979-8163-949a891bd8b7,64c77788-fc49-4979-8163-949a891bd8b7,0,1,c39750ca-e33f-40c2-b830-119423d9a2ae,c39750ca-e33f-40c2-b830-119423d9a2ae,0,1,9372ff6b-27b6-48f3-a2a2-762e7c485766,9372ff6b-27b6-48f3-a2a2-762e7c485766,0,1,f454595a-4a3d-451b-8e8b-b17aa8314591,f454595a-4a3d-451b-8e8b-b17aa8314591,0,1,d3b7f89e-eb04-404e-bcc1-1d3557fb8d1a,d3b7f89e-eb04-404e-bcc1-1d3557fb8d1a,0,1,442f9d7b-ae8f-4074-8ece-d5aa1c66e35c,442f9d7b-ae8f-4074-8ece-d5aa1c66e35c,0,1,bc708da8-7fc6-4da1-8129-9ef6a86667af,bc708da8-7fc6-4da1-8129-9ef6a86667af,0,1,061842fe-4077-4d6e-aefe-de79409da730,061842fe-4077-4d6e-aefe-de79409da730,0,1,da6e4bff-9835-4b92-b62b-291a5d6c86fe,da6e4bff-9835-4b92-b62b-291a5d6c86fe,0,1,3fadaeb7-2c41-42a4-bfa8-c585602b1028,3fadaeb7-2c41-42a4-bfa8-c585602b1028,0,1,171a0dfc-032e-4eaf-81a2-e5e0dfde8d56,171a0dfc-032e-4eaf-81a2-e5e0dfde8d56,0,1,083c709b-ed8c-47e4-a190-421e14259e73,083c709b-ed8c-47e4-a190-421e14259e73,0,1,b98dacc7-29e1-426b-a664-0a988f18186c,b98dacc7-29e1-426b-a664-0a988f18186c,0,1,d678856d-6e7c-443f-a6e3-350bbe8af659,d678856d-6e7c-443f-a6e3-350bbe8af659,0,1,d0979762-22ce-41be-b7a4-5e9ac149d94b,d0979762-22ce-41be-b7a4-5e9ac149d94b,0,1,ae23e70c-479e-47ad-9bfa-58560a903410,ae23e70c-479e-47ad-9bfa-58560a903410,0,1,c0d83781-bbda-43f7-bf0e-5defa3d47143,c0d83781-bbda-43f7-bf0e-5defa3d47143,0,1,21fa5fdd-acbc-403b-9acb-bbf95284bd20,21fa5fdd-acbc-403b-9acb-bbf95284bd20,0,1,576a01e3-4d6d-4241-a3c4-7661ba129bcb,576a01e3-4d6d-4241-a3c4-7661ba129bcb,0,1,9f7290dd-19f4-4163-9795-fe562e84f06d,9f7290dd-19f4-4163-9795-fe562e84f06d,0,1,c3b5c81f-b787-4f63-8cba-79def0921477,c3b5c81f-b787-4f63-8cba-79def0921477,0,1,1f0cb3d4-1344-451b-a257-be3cd854acfd,1f0cb3d4-1344-451b-a257-be3cd854acfd,0,1,0131fe59-ce47-48b7-8f7e-1544bf0fa031,0131fe59-ce47-48b7-8f7e-1544bf0fa031,0,1,c8b0a1be-97c6-4a16-b1dd-31901ac61cdc,c8b0a1be-97c6-4a16-b1dd-31901ac61cdc,0,1,372150e2-526e-4424-8c54-e4b16bdd25b5,372150e2-526e-4424-8c54-e4b16bdd25b5,0,1,752dc569-cf84-42d7-911d-49d455f7214e,752dc569-cf84-42d7-911d-49d455f7214e,0,1,fecab2b9-27e1-44d6-9082-79c3569b7477,fecab2b9-27e1-44d6-9082-79c3569b7477,0,1,07ae092f-8517-47b7-b54c-5dbcb6506929,07ae092f-8517-47b7-b54c-5dbcb6506929,0,1,db4c25bb-d199-43ec-833d-82972de04a41,db4c25bb-d199-43ec-833d-82972de04a41,0,1,43d19685-0794-41f2-9171-bf565133718d,43d19685-0794-41f2-9171-bf565133718d,0,1,b68c15c4-4966-4f13-8912-2d479b65089a,b68c15c4-4966-4f13-8912-2d479b65089a,0,1,8f6770c2-654c-4cc7-8ed5-15b5b2e3109a,8f6770c2-654c-4cc7-8ed5-15b5b2e3109a,0,1,f87e3935-dae1-4192-b6a7-05e3c700c590,f87e3935-dae1-4192-b6a7-05e3c700c590,0,1,ee635706-6ee2-4956-8d58-a235f64687f6,ee635706-6ee2-4956-8d58-a235f64687f6,0,1,a5a40ca7-d665-420b-a516-1355019d6901,a5a40ca7-d665-420b-a516-1355019d6901,0,1,adf9304c-ccf8-492e-95b1-0754764586a2,adf9304c-ccf8-492e-95b1-0754764586a2,0,1,fd175112-ec8f-4088-9b21-d8135056f0c5,fd175112-ec8f-4088-9b21-d8135056f0c5,0,1,ddd82a66-1eda-409f-b6c0-e22c4bd2c1b7,ddd82a66-1eda-409f-b6c0-e22c4bd2c1b7,0,1,df76a1b7-312a-4e77-bac1-79befadb4495,df76a1b7-312a-4e77-bac1-79befadb4495,0,1,ab39fad8-1039-491e-982a-c49637770ec0,ab39fad8-1039-491e-982a-c49637770ec0,0,1,7d93a6ba-3ca7-45ab-a540-743c79587535,7d93a6ba-3ca7-45ab-a540-743c79587535,0,1,76b58810-0527-4dfc-8858-bac68e7e65f3,76b58810-0527-4dfc-8858-bac68e7e65f3,0,1,aba97fd9-f05e-45cd-8404-ed702070e17a,aba97fd9-f05e-45cd-8404-ed702070e17a,0,1,f5c415cd-429b-469f-9332-c43ab5d1c8d6,f5c415cd-429b-469f-9332-c43ab5d1c8d6,0,1,458e9c6b-b828-404b-be5a-c6c0aeea34c9,458e9c6b-b828-404b-be5a-c6c0aeea34c9,0,1,7262eb4d-2d2d-454c-beaa-974645813af7,7262eb4d-2d2d-454c-beaa-974645813af7,0,1,45fa9f17-eeb1-43e2-b78c-f81a341f1bff,45fa9f17-eeb1-43e2-b78c-f81a341f1bff,0,1,b2265070-9cd3-4176-92c8-6d9f32c2ca84,b2265070-9cd3-4176-92c8-6d9f32c2ca84,0,1,b347e774-2261-4f76-9bdb-3c6736983589,b347e774-2261-4f76-9bdb-3c6736983589,0,1,be7e2715-1243-49a8-8c7c-55d632d3cf6c,be7e2715-1243-49a8-8c7c-55d632d3cf6c,0,1,49221b2f-aae2-4bee-9a1a-18263fc74244,49221b2f-aae2-4bee-9a1a-18263fc74244,0,1,da0cd264-da2f-4044-af28-c91d2efe1d5c,da0cd264-da2f-4044-af28-c91d2efe1d5c,0,1,f1b1db38-2d9f-4409-a6d6-fd7192b1f102,f1b1db38-2d9f-4409-a6d6-fd7192b1f102,0,1,fad26b16-8638-496b-bd12-381fc6f5b71f,fad26b16-8638-496b-bd12-381fc6f5b71f,0,1,ed3cfb74-a37a-4314-a2d7-4ce717a2edd9,ed3cfb74-a37a-4314-a2d7-4ce717a2edd9,0,1,324a56c9-02d9-4177-af84-a817b8c41169,324a56c9-02d9-4177-af84-a817b8c41169,0,1,1e44abfe-c173-4802-b535-96849d384983,1e44abfe-c173-4802-b535-96849d384983,0,1,2751a509-037b-49aa-9ca8-e87057d6d82c,2751a509-037b-49aa-9ca8-e87057d6d82c,0,1,35f62549-eb6a-4284-a6e3-406b0d9df0cf,35f62549-eb6a-4284-a6e3-406b0d9df0cf,0,1,cee94c04-7a46-47a5-bdd5-6f0dbd884e97,cee94c04-7a46-47a5-bdd5-6f0dbd884e97,0,1,fd66995b-ee76-41d3-983f-33d84bdcbbd4,fd66995b-ee76-41d3-983f-33d84bdcbbd4,0,1,73e97918-b34e-4ad2-8591-4c219eb92f2c,73e97918-b34e-4ad2-8591-4c219eb92f2c,0,1,445cf7eb-35d0-48f8-9579-c2ec574ef324,445cf7eb-35d0-48f8-9579-c2ec574ef324,0,1,1025657e-afd2-4c7b-96d5-ccbedaca4619,1025657e-afd2-4c7b-96d5-ccbedaca4619,0,1,64839c78-b2fa-4d80-bee0-b3d3a7e5db35,64839c78-b2fa-4d80-bee0-b3d3a7e5db35,0,1,e754ad5c-cf3c-4198-af81-128475924cb0,e754ad5c-cf3c-4198-af81-128475924cb0,0,1,ed65d504-b210-4014-85ec-275ad633ef04,ed65d504-b210-4014-85ec-275ad633ef04,0,1,dc31edb1-273e-4b1a-8e69-32393479ff36,dc31edb1-273e-4b1a-8e69-32393479ff36,0,1,3ab0649b-239f-4466-b897-73c0ab628927,3ab0649b-239f-4466-b897-73c0ab628927,0,1,4c697110-8941-4d6d-ba03-f2b9e96ff82e,4c697110-8941-4d6d-ba03-f2b9e96ff82e,0,1,7ea4112d-fc41-4f1e-bd22-f04adeac1d8f,7ea4112d-fc41-4f1e-bd22-f04adeac1d8f,0,1,b172631b-da0d-42f4-ae6b-ae122a46cced,b172631b-da0d-42f4-ae6b-ae122a46cced,0,1,1a25e744-37ae-46ca-a328-ff8eced21a82,1a25e744-37ae-46ca-a328-ff8eced21a82,0,1,dddabe54-a93b-4e4b-acbb-cc522e4d7c28,dddabe54-a93b-4e4b-acbb-cc522e4d7c28,0,1,46169f0b-8514-40a1-9d27-8489cab72503,46169f0b-8514-40a1-9d27-8489cab72503,0,1,d9cf39cc-8652-4c4d-bc5b-b4e455c0083f,d9cf39cc-8652-4c4d-bc5b-b4e455c0083f,0,1,4b0d7d39-5f79-4a21-b0bb-d3142a3bc8a9,4b0d7d39-5f79-4a21-b0bb-d3142a3bc8a9,0,1,c90243af-582c-4f5a-88e7-e0cbc0555fcb,c90243af-582c-4f5a-88e7-e0cbc0555fcb,0,1,14bf4066-15cb-4165-b854-45443ee27da1,14bf4066-15cb-4165-b854-45443ee27da1,0,1,4427cab9-4eea-4415-98ef-6021a447c60c,4427cab9-4eea-4415-98ef-6021a447c60c,0,1,fe46b4da-d865-468f-badd-83644bf88faa,fe46b4da-d865-468f-badd-83644bf88faa,0,1,2851c9d4-4366-4488-926d-a7fcd3b1548c,2851c9d4-4366-4488-926d-a7fcd3b1548c,0,1,31116aa2-cfbc-48e8-886b-45c1c17508fd,31116aa2-cfbc-48e8-886b-45c1c17508fd,0,1,6aa819d3-c56d-4561-a2e4-a1188ab1295a,6aa819d3-c56d-4561-a2e4-a1188ab1295a,0,1,2ddf344d-7065-40d5-9306-23870d8fc04a,2ddf344d-7065-40d5-9306-23870d8fc04a,0,1,c630ab2d-0a20-4136-88b6-220b2cad6a71,c630ab2d-0a20-4136-88b6-220b2cad6a71,0,1,00cd1dea-bc54-475c-956d-dc5221104932,00cd1dea-bc54-475c-956d-dc5221104932,0,1,3807f865-dd2c-44f7-9238-3db191f0a186,3807f865-dd2c-44f7-9238-3db191f0a186,0,1,8f184df5-bfe8-4df3-bc7c-18218cef7650,8f184df5-bfe8-4df3-bc7c-18218cef7650,0,1,387e273a-889f-454b-8b43-feaa12025fde,387e273a-889f-454b-8b43-feaa12025fde,0,1,1c38ad75-b294-4c05-89ce-69ce4d9a291f,1c38ad75-b294-4c05-89ce-69ce4d9a291f,0,1,078d1e8f-6d27-4761-9532-b1e7a60e4c13,078d1e8f-6d27-4761-9532-b1e7a60e4c13,0,1,4262193c-58ad-47c6-8088-735d8cd037ea,4262193c-58ad-47c6-8088-735d8cd037ea,0,1,36a2b5f9-ded5-4fc3-a7bd-e12b37cd6bab,36a2b5f9-ded5-4fc3-a7bd-e12b37cd6bab,0,1,de6d1aad-39eb-46ce-87aa-d29812bb37bf,de6d1aad-39eb-46ce-87aa-d29812bb37bf,0,1,4ad859ec-cc75-4bac-9e89-397798450e48,4ad859ec-cc75-4bac-9e89-397798450e48,0,1,d93ab94c-0f55-4b80-b226-41b44c73b3ea,d93ab94c-0f55-4b80-b226-41b44c73b3ea,0,1,94cbed80-5a35-471f-b354-439a11629210,94cbed80-5a35-471f-b354-439a11629210,0,1,1162cc0a-42e5-47cb-9507-68459579f110,1162cc0a-42e5-47cb-9507-68459579f110,0,1,17f9f188-d3fd-4fe1-a00c-b0dde64a0f9e,17f9f188-d3fd-4fe1-a00c-b0dde64a0f9e,0,1,bb49dc80-4934-4f44-8f27-9a363dca8dc4,bb49dc80-4934-4f44-8f27-9a363dca8dc4,0,1,7338e497-03a7-4ed4-85a2-ca802c065a9f,7338e497-03a7-4ed4-85a2-ca802c065a9f,0,1,49fe879c-8972-4c9a-bb08-e3e5b2e5ff84,49fe879c-8972-4c9a-bb08-e3e5b2e5ff84,0,1,5249687b-9ff4-46f5-be15-dbb5d5047fd1,5249687b-9ff4-46f5-be15-dbb5d5047fd1,0,1,d33df51c-3dcd-496c-90f2-7ee05582bdf7,d33df51c-3dcd-496c-90f2-7ee05582bdf7,0,1,24b39ebd-2424-4939-8e3e-d09eb674d409,24b39ebd-2424-4939-8e3e-d09eb674d409,0,1,08c751bb-9e57-4536-901e-bb316c8e96d7,08c751bb-9e57-4536-901e-bb316c8e96d7,0,1,de0afa6f-07c6-441c-a4ca-e7ed709a8da5,de0afa6f-07c6-441c-a4ca-e7ed709a8da5,0,1,034cdcef-08e5-4751-9885-400aa69e0b94,034cdcef-08e5-4751-9885-400aa69e0b94,0,1,efefebea-2032-4006-b9ca-50a23b7da1ef,efefebea-2032-4006-b9ca-50a23b7da1ef,0,1,4c794d37-3352-4acb-a939-5e90fb682db8,4c794d37-3352-4acb-a939-5e90fb682db8,0,1,5f3fea83-6ca8-481b-9e2b-789a6fd01e2e,5f3fea83-6ca8-481b-9e2b-789a6fd01e2e,0,1,008f5068-da9c-4dac-9c0a-a50366d27cbb,008f5068-da9c-4dac-9c0a-a50366d27cbb,0,1,950b3ee3-070f-4946-8b9b-0aa2058de986,950b3ee3-070f-4946-8b9b-0aa2058de986,0,1,bd04a870-0943-4bdb-9e30-50a69daa8a13,bd04a870-0943-4bdb-9e30-50a69daa8a13,0,1,a23e6c77-8c12-4f99-ae2d-68a12274be38,a23e6c77-8c12-4f99-ae2d-68a12274be38,0,1,3c4454cd-31e9-42a5-9127-fb66a628f0e1,3c4454cd-31e9-42a5-9127-fb66a628f0e1,0,1,c02c5cbf-b25a-4956-8aa7-74cfeb66d508,c02c5cbf-b25a-4956-8aa7-74cfeb66d508,0,1,31cac1e9-eb16-489c-9322-30d1e27a80b3,31cac1e9-eb16-489c-9322-30d1e27a80b3,0,1,0d100e33-7941-41c1-962d-7672c874e9c5,0d100e33-7941-41c1-962d-7672c874e9c5,0,1,c5ac53c9-c9b2-4b90-a21e-10f1daa756c5,c5ac53c9-c9b2-4b90-a21e-10f1daa756c5,0,1,6e61d717-de36-4dce-8af9-b6c14ed76acb,6e61d717-de36-4dce-8af9-b6c14ed76acb,0,1,474518fe-9cb5-4a12-9388-bc7a64511617,474518fe-9cb5-4a12-9388-bc7a64511617,0,1,64337614-b1c9-4931-b576-448721fa4602,64337614-b1c9-4931-b576-448721fa4602,0,1,1d73b59c-0594-4ed3-b584-cf1261941e1d,1d73b59c-0594-4ed3-b584-cf1261941e1d,0,1,8ff2547f-d596-4fa1-9e12-079e1cc4c057,8ff2547f-d596-4fa1-9e12-079e1cc4c057,0,1,1ab0c8f8-b908-4618-ae88-af37b8f1224e,1ab0c8f8-b908-4618-ae88-af37b8f1224e,0,1,bd3ec5a9-161d-487e-ab1d-e5e15a6e3a7b,bd3ec5a9-161d-487e-ab1d-e5e15a6e3a7b,0,1,b85b3a58-95e4-4698-b1ae-037901ecc1b1,b85b3a58-95e4-4698-b1ae-037901ecc1b1,0,1,b77d748a-d180-432d-91c3-774e6ccf7efa,b77d748a-d180-432d-91c3-774e6ccf7efa,0,1,e5b9c1b0-4690-442c-b160-e6c587e42e57,e5b9c1b0-4690-442c-b160-e6c587e42e57,0,1,e3adb576-6b33-475b-976b-7a6783de3184,e3adb576-6b33-475b-976b-7a6783de3184,0,1,c6cef8db-0689-42a6-9f43-c86b7c3cf0e9,c6cef8db-0689-42a6-9f43-c86b7c3cf0e9,0,1,78f5a205-dffb-4009-897a-e8f36372f33c,78f5a205-dffb-4009-897a-e8f36372f33c,0,1,f7597041-f182-42fb-803a-2521c70d627d,f7597041-f182-42fb-803a-2521c70d627d,0,1,ce988b8a-d0c1-400a-9466-aa757501bb58,ce988b8a-d0c1-400a-9466-aa757501bb58,0,1,ab98d665-8da8-406e-9e0e-3e130ab393ef,ab98d665-8da8-406e-9e0e-3e130ab393ef,0,1,9e823bb6-b0c0-439e-81e4-ebd46b79b99c,9e823bb6-b0c0-439e-81e4-ebd46b79b99c,0,1,118a0e62-c0bb-435b-9e3e-c64563efa602,118a0e62-c0bb-435b-9e3e-c64563efa602,0,1,b57bc8a9-8a59-4192-a442-2e1982e83179,b57bc8a9-8a59-4192-a442-2e1982e83179,0,1,5b06ccda-2a70-4621-8273-78408cbe72a9,5b06ccda-2a70-4621-8273-78408cbe72a9,0,1,89753385-64fd-4e76-9857-bfd5d7c23f71,89753385-64fd-4e76-9857-bfd5d7c23f71,0,1,1b3113f3-e7d4-4e6f-b6ed-08f5fd78c68e,1b3113f3-e7d4-4e6f-b6ed-08f5fd78c68e,0,1,53e72cf2-e2a5-4b59-b5b1-a1fc28fda5bf,53e72cf2-e2a5-4b59-b5b1-a1fc28fda5bf,0,1,e20bcb57-2f68-4709-8a11-105d561a2dda,e20bcb57-2f68-4709-8a11-105d561a2dda,0,1,34e19129-2ff9-40ac-a277-ea7ada6b977e,34e19129-2ff9-40ac-a277-ea7ada6b977e,0,1,ea8beea1-7d80-4613-b2f9-79ee612e977a,ea8beea1-7d80-4613-b2f9-79ee612e977a,0,1,afd62a32-fdbb-429a-9a64-89c61a07e018,afd62a32-fdbb-429a-9a64-89c61a07e018,0,1,027cef43-99bd-48d3-a1a3-2102ac003742,027cef43-99bd-48d3-a1a3-2102ac003742,0,1,00197ea9-de76-4e2a-97bc-93e44053e35e,00197ea9-de76-4e2a-97bc-93e44053e35e,0,1,878fe826-fa99-44ad-9891-5eada9744017,878fe826-fa99-44ad-9891-5eada9744017,0,1,0d61712a-dfaf-46f1-b728-62993dd94fbe,0d61712a-dfaf-46f1-b728-62993dd94fbe,0,1,3a6cf496-09b9-4947-9df5-06d23b474558,3a6cf496-09b9-4947-9df5-06d23b474558,0,1,625b498a-33d1-4162-9525-fb7790cbb6a8,625b498a-33d1-4162-9525-fb7790cbb6a8,0,1,28223f7b-d15a-4f12-b57c-1f6d08a902f9,28223f7b-d15a-4f12-b57c-1f6d08a902f9,0,1,dd9eb5b7-5aed-4e51-9939-9ff14492d240,dd9eb5b7-5aed-4e51-9939-9ff14492d240,0,1,b2a14899-d589-4990-b85e-7bffb427e8af,b2a14899-d589-4990-b85e-7bffb427e8af,0,1,0981d114-05bd-4ee1-a8fd-398fa6620d0b,0981d114-05bd-4ee1-a8fd-398fa6620d0b,0,1,3210ba40-382e-4917-ad0f-9bd88d23dc25,3210ba40-382e-4917-ad0f-9bd88d23dc25,0,1,835e3ead-d01f-410b-937a-902dd5e66aec,835e3ead-d01f-410b-937a-902dd5e66aec,0,1,40141982-d1d6-416f-844e-19143a407ff9,40141982-d1d6-416f-844e-19143a407ff9,0,1,66ec2482-c1f3-45d3-9257-e0b9f5ae772a,66ec2482-c1f3-45d3-9257-e0b9f5ae772a,0,1,d3211832-c8ca-437a-8810-82e06cbb48de,d3211832-c8ca-437a-8810-82e06cbb48de,0,1,8131d701-1014-4196-9b67-914e451f8a3a,8131d701-1014-4196-9b67-914e451f8a3a,0,1,2b102933-c660-4e74-ae9a-5061a88ed672,2b102933-c660-4e74-ae9a-5061a88ed672,0,1,56c897b7-d34e-4d7d-9a3b-d0779be5c189,56c897b7-d34e-4d7d-9a3b-d0779be5c189,0,1,3ac81c80-56bd-4750-b135-07ab522e3eab,3ac81c80-56bd-4750-b135-07ab522e3eab,0,1,5657872f-c7d5-446f-bcc3-d0b86ad63a42,5657872f-c7d5-446f-bcc3-d0b86ad63a42,0,1,d5214cb9-67e2-469f-989f-3f2b662ae830,d5214cb9-67e2-469f-989f-3f2b662ae830,0,1,69679e88-4f2b-4dd6-8cb2-b88293d07b55,69679e88-4f2b-4dd6-8cb2-b88293d07b55,0,1,68679208-9972-4854-8649-49bdf6212255,68679208-9972-4854-8649-49bdf6212255,0,1,98393093-7ba6-4b4d-86be-ee5826cd8cd5,98393093-7ba6-4b4d-86be-ee5826cd8cd5,0,1,87de486d-3f35-4432-a7cd-9d3832db63cf,87de486d-3f35-4432-a7cd-9d3832db63cf,0,1,246f17a0-93a7-4e2c-8fa6-f57405f0abeb,246f17a0-93a7-4e2c-8fa6-f57405f0abeb,0,1,ea6c4830-a34d-4026-a0ca-5cf7e44f089d,ea6c4830-a34d-4026-a0ca-5cf7e44f089d,0,1,bb7ce04a-8143-4c0b-a196-1b57f1640142,bb7ce04a-8143-4c0b-a196-1b57f1640142,0,1,4872f12c-705c-4dd3-802f-d27496a0d634,4872f12c-705c-4dd3-802f-d27496a0d634,0,1,0c0bbfba-c1c4-4bb5-a813-10da4bef7911,0c0bbfba-c1c4-4bb5-a813-10da4bef7911,0,1,f9ada91a-e673-4821-9bce-cb0dd75ca28b,f9ada91a-e673-4821-9bce-cb0dd75ca28b,0,1,9fcf68bb-43e2-4cd1-89ec-8797ad9c0e8b,9fcf68bb-43e2-4cd1-89ec-8797ad9c0e8b,0,1,90ce635a-0277-4056-980d-d1a16d91cb30,90ce635a-0277-4056-980d-d1a16d91cb30,0,1,e61a8360-a0f8-4d86-b91a-2ae9b8552bf0,e61a8360-a0f8-4d86-b91a-2ae9b8552bf0,0,1,1e77e873-632c-482b-8f46-8f8cc3cc8cef,1e77e873-632c-482b-8f46-8f8cc3cc8cef,0,1,766208a3-2780-427b-a7d3-93abe99d236b,766208a3-2780-427b-a7d3-93abe99d236b,0,1,63ce4c3c-5bad-409c-904f-18f34cf1da78,63ce4c3c-5bad-409c-904f-18f34cf1da78,0,1,62bddcee-bef6-42cc-9ba3-e99b8160dcc2,62bddcee-bef6-42cc-9ba3-e99b8160dcc2,0,1,26ac22f9-0bbb-4671-b446-626e345e2461,26ac22f9-0bbb-4671-b446-626e345e2461,0,1,0d63ee6d-e17f-4a86-b384-adf9793f3331,0d63ee6d-e17f-4a86-b384-adf9793f3331,0,1,f152945b-2a7b-449e-a915-176166af7bac,f152945b-2a7b-449e-a915-176166af7bac,0,1,77f5d86a-7fae-4490-9740-0e31102dab5c,77f5d86a-7fae-4490-9740-0e31102dab5c,0,1,5a54bc1a-d178-412c-bf4a-cf92d7f141aa,5a54bc1a-d178-412c-bf4a-cf92d7f141aa,0,1,24be43ec-d39e-46aa-9c11-2536b835e515,24be43ec-d39e-46aa-9c11-2536b835e515,0,1,c9ca80ef-c7b7-4425-b5c0-3d13af82f291,c9ca80ef-c7b7-4425-b5c0-3d13af82f291,0,1,df9af3ee-6a69-4a03-8ff5-0735e9a38013,df9af3ee-6a69-4a03-8ff5-0735e9a38013,0,1,1b27eb77-d535-43a5-8ae1-fa2fec15d92c,1b27eb77-d535-43a5-8ae1-fa2fec15d92c,0,1,7743fe24-b941-4dad-bc76-05fb6b26b1d7,7743fe24-b941-4dad-bc76-05fb6b26b1d7,0,1,5bf2da0d-f318-4036-9234-8a3a6eca88b2,5bf2da0d-f318-4036-9234-8a3a6eca88b2,0,1,288525fc-d3fa-4c8e-a1d7-d2d1ef4cd0ef,288525fc-d3fa-4c8e-a1d7-d2d1ef4cd0ef,0,1,c3634571-6fe5-45ab-9362-161305eef661,c3634571-6fe5-45ab-9362-161305eef661,0,1,ecd8772d-e33f-426f-a87a-e28bd94d5fdf,ecd8772d-e33f-426f-a87a-e28bd94d5fdf,0,1,96661303-1286-4f84-93b7-0e6da2bd7893,96661303-1286-4f84-93b7-0e6da2bd7893,0,1,68076431-36e6-46dc-92cb-e0d8e605bf66,68076431-36e6-46dc-92cb-e0d8e605bf66,0,1,239fa55a-6572-4e5c-9918-c2e14063c76d,239fa55a-6572-4e5c-9918-c2e14063c76d,0,1,8211a1b6-c3b1-466b-8d11-22603fb50c7a,8211a1b6-c3b1-466b-8d11-22603fb50c7a,0,1,7e7dfcb5-04eb-40f4-8f4c-f29644e81473,7e7dfcb5-04eb-40f4-8f4c-f29644e81473,0,1,daef68a3-c6c3-450d-b8fd-7af2a2f5572e,daef68a3-c6c3-450d-b8fd-7af2a2f5572e,0,1,a83cb338-5707-42c9-9e88-11f6c68fcc32,a83cb338-5707-42c9-9e88-11f6c68fcc32,0,1,985106b7-7476-4b48-90ac-ad86876395b5,985106b7-7476-4b48-90ac-ad86876395b5,0,1,0d8db0c9-adbc-478d-997c-3d7feccac99b,0d8db0c9-adbc-478d-997c-3d7feccac99b,0,1,3fd2ef04-c178-47bf-ab62-7baf83236d99,3fd2ef04-c178-47bf-ab62-7baf83236d99,0,1,b4cd1b51-dbc0-4bb0-879e-5ac0d58e78c1,b4cd1b51-dbc0-4bb0-879e-5ac0d58e78c1,0,1,320bf2e6-a3a8-490b-8aa0-21369ffb121b,320bf2e6-a3a8-490b-8aa0-21369ffb121b,0,1,a3bafc54-8fe4-4841-acc6-74a87baf9caf,a3bafc54-8fe4-4841-acc6-74a87baf9caf,0,1,f93741c9-ab94-464b-b0d4-4af99c9f92d5,f93741c9-ab94-464b-b0d4-4af99c9f92d5,0,1,0fddbd8d-12dd-4af1-9e34-feebf4bc38b1,0fddbd8d-12dd-4af1-9e34-feebf4bc38b1,0,1,2e9548a6-1fd8-4430-8864-91bde0d2a7a1,2e9548a6-1fd8-4430-8864-91bde0d2a7a1,0,1,c59fd3f8-c734-49d3-90ba-e608a22ac981,c59fd3f8-c734-49d3-90ba-e608a22ac981,0,1,b26235ed-374c-44ab-8b3c-01d7c4d82d4c,b26235ed-374c-44ab-8b3c-01d7c4d82d4c,0,1,5056db9f-9ebe-4cca-98f0-5f4817a1cba4,5056db9f-9ebe-4cca-98f0-5f4817a1cba4,0,1,475f76ea-f494-41f1-9b65-f39907e5a427,475f76ea-f494-41f1-9b65-f39907e5a427,0,1,986280d1-41bb-4b15-a5ae-516d6a04c1f4,986280d1-41bb-4b15-a5ae-516d6a04c1f4,0,1,43bfd29a-d254-4c33-8639-200b483578c1,43bfd29a-d254-4c33-8639-200b483578c1,0,1,6a274167-7f80-4613-9890-259ffd8ccfc4,6a274167-7f80-4613-9890-259ffd8ccfc4,0,1,4e90e1ab-b1ec-4795-ad45-1db151a5492c,4e90e1ab-b1ec-4795-ad45-1db151a5492c,0,1,91791e56-ca80-4d90-b8a8-16145f6a9721,91791e56-ca80-4d90-b8a8-16145f6a9721,0,1,b242c6a2-5ac9-4edb-b5dd-24eda8162151,b242c6a2-5ac9-4edb-b5dd-24eda8162151,0,1,8d080f3c-06ed-48bf-9709-eea73d676741,8d080f3c-06ed-48bf-9709-eea73d676741,0,1,57b31a5d-9fdc-43d2-ae81-67157822c4b6,57b31a5d-9fdc-43d2-ae81-67157822c4b6,0,1,d4e2da66-9a70-459f-a873-cb4ad71d17b2,d4e2da66-9a70-459f-a873-cb4ad71d17b2,0,1,a84a91d2-d326-4bf4-82e6-d573ee35d090,a84a91d2-d326-4bf4-82e6-d573ee35d090,0,1,39cbda23-db3f-4ddd-8981-8540247406db,39cbda23-db3f-4ddd-8981-8540247406db,0,1,c8a18d99-62ff-45a4-acb5-48e3310c1b53,c8a18d99-62ff-45a4-acb5-48e3310c1b53,0,1,a6eb0cb1-80f0-4390-80ff-7af53f8e63c3,a6eb0cb1-80f0-4390-80ff-7af53f8e63c3,0,1,3500c6fa-813a-49dd-a4bf-163500db5b7f,3500c6fa-813a-49dd-a4bf-163500db5b7f,0,1,1d02493a-dd89-4a51-b75e-9c49f9818b95,1d02493a-dd89-4a51-b75e-9c49f9818b95,0,1,2845c5d1-e836-4499-bcae-f3c8fdae75ee,2845c5d1-e836-4499-bcae-f3c8fdae75ee,0,1,fe4e8e4e-9471-4583-b9b3-576007db08ee,fe4e8e4e-9471-4583-b9b3-576007db08ee,0,1,49deaaa8-6d50-4b25-8153-6712d88fb0fb,49deaaa8-6d50-4b25-8153-6712d88fb0fb,0,1,1eeb7634-e924-4ad8-92e0-1c54c22b1ba6,1eeb7634-e924-4ad8-92e0-1c54c22b1ba6,0,1,46a06de8-06fd-4b49-835f-4f24b832b3c4,46a06de8-06fd-4b49-835f-4f24b832b3c4,0,1,3845a567-4375-4c3a-af61-5b82674060ab,3845a567-4375-4c3a-af61-5b82674060ab,0,1,ab210fb8-4fc4-47f8-b8ef-3a00eeb0ab8b,ab210fb8-4fc4-47f8-b8ef-3a00eeb0ab8b,0,1,a835a3a7-989b-4247-b836-d23bba2f391a,a835a3a7-989b-4247-b836-d23bba2f391a,0,1,58f5c354-8f1d-4064-ba35-527ea3d2f4a9,58f5c354-8f1d-4064-ba35-527ea3d2f4a9,0,1,9b149c20-9328-4e2d-a34b-95c883ae4dcc,9b149c20-9328-4e2d-a34b-95c883ae4dcc,0,1,f8dbf226-ea56-4b15-baf1-a41fceba2a32,f8dbf226-ea56-4b15-baf1-a41fceba2a32,0,1,fc1476f7-26e6-4374-b99b-e515d86c050a,fc1476f7-26e6-4374-b99b-e515d86c050a,0,1,e0eb7b4a-9a13-4752-9327-e13d2abc4fc5,e0eb7b4a-9a13-4752-9327-e13d2abc4fc5,0,1,59fe985a-f169-495b-bd6d-4b64401f81b0,59fe985a-f169-495b-bd6d-4b64401f81b0,0,1,184d1023-fba9-4e56-b592-519254abe922,184d1023-fba9-4e56-b592-519254abe922,0,1,cb68b275-f191-4632-a8ea-aa8809256804,cb68b275-f191-4632-a8ea-aa8809256804,0,1,174011b9-8fe2-43f5-adea-21f6d73835ff,174011b9-8fe2-43f5-adea-21f6d73835ff,0,1,c4753515-a483-453e-a48b-b12d8ef48fd9,c4753515-a483-453e-a48b-b12d8ef48fd9,0,1,2d9048eb-abdf-4980-96ed-788fbb0f4ea7,2d9048eb-abdf-4980-96ed-788fbb0f4ea7,0,1,98c3bc52-2351-460c-8b8e-0d3f45ca3131,98c3bc52-2351-460c-8b8e-0d3f45ca3131,0,1,b1ff31b9-c9f2-4be4-ac9a-62faa1d1eb81,b1ff31b9-c9f2-4be4-ac9a-62faa1d1eb81,0,1,c14ea7a0-1fb6-4d54-82d6-7f12f11b0c0b,c14ea7a0-1fb6-4d54-82d6-7f12f11b0c0b,0,1,29645810-44aa-402c-9561-7819d6f4a7ab,29645810-44aa-402c-9561-7819d6f4a7ab,0,1,46bf4911-5200-44ac-9b4d-eb0089c12e34,46bf4911-5200-44ac-9b4d-eb0089c12e34,0,1,6e1685bd-7269-401c-b36e-def6a36b41d5,6e1685bd-7269-401c-b36e-def6a36b41d5,0,1,9d77103a-9921-4f6c-98fc-d7f42f0f2d8d,9d77103a-9921-4f6c-98fc-d7f42f0f2d8d,0,1,e03b6592-b597-4795-a78e-775d4f2258db,e03b6592-b597-4795-a78e-775d4f2258db,0,1,6ae9e86a-a42f-4de0-a891-6abe1ed16cdd,6ae9e86a-a42f-4de0-a891-6abe1ed16cdd,0,1,3b207d5f-6584-4cf2-9173-20235484f9f4,3b207d5f-6584-4cf2-9173-20235484f9f4,0,1,878d9efe-b0e7-487f-b8f7-83470c131e09,878d9efe-b0e7-487f-b8f7-83470c131e09,0,1,8270573d-8ed6-449d-853b-462d2dabaaa9,8270573d-8ed6-449d-853b-462d2dabaaa9,0,1,baeec6cd-b220-4240-95f2-3a0c1ee06c2e,baeec6cd-b220-4240-95f2-3a0c1ee06c2e,0,1,f2502463-67e4-4bfe-8ad5-fb80aa73975a,f2502463-67e4-4bfe-8ad5-fb80aa73975a,0,1,59e885e6-d978-40c2-95b6-35fc61074fb4,59e885e6-d978-40c2-95b6-35fc61074fb4,0,1,267dc512-9ee1-4bc1-9034-3effb7fb2949,267dc512-9ee1-4bc1-9034-3effb7fb2949,0,1,0f211e73-5be9-4015-93e7-ccf63e793cb6,0f211e73-5be9-4015-93e7-ccf63e793cb6,0,1,6574d8f4-fb97-4a26-b166-711fad63aa07,6574d8f4-fb97-4a26-b166-711fad63aa07,0,1,fb3eddaf-3241-4d59-8314-97a5ae9258c4,fb3eddaf-3241-4d59-8314-97a5ae9258c4,0,1,6528bd7a-bac1-4c8b-9b00-6be01c0121b1,6528bd7a-bac1-4c8b-9b00-6be01c0121b1,0,1,d8601e95-af94-4805-974a-99c539725d74,d8601e95-af94-4805-974a-99c539725d74,0,1,6d98f877-f3bb-4795-9025-2631468a331f,6d98f877-f3bb-4795-9025-2631468a331f,0,1,89b9379d-ace9-48cc-b979-a66fd45aeb1d,89b9379d-ace9-48cc-b979-a66fd45aeb1d,0,1,c4a5c44d-329d-41b5-9a6c-bddbc15f6249,c4a5c44d-329d-41b5-9a6c-bddbc15f6249,0,1,9767a113-5a42-4749-bf40-0f349e85615d,9767a113-5a42-4749-bf40-0f349e85615d,0,1,a3b0494c-f436-45ea-9577-4c0c86b057c9,a3b0494c-f436-45ea-9577-4c0c86b057c9,0,1,5101c142-b25c-4bef-80e7-7407f2c15c90,5101c142-b25c-4bef-80e7-7407f2c15c90,0,1,6d7872f1-fd54-41c4-8253-5f2b125f31ae,6d7872f1-fd54-41c4-8253-5f2b125f31ae,0,1,0c218200-27a8-4f71-9b09-3632dd453644,0c218200-27a8-4f71-9b09-3632dd453644,0,1,2d8a74e5-eb29-448b-b4c0-1f41fa171b5e,2d8a74e5-eb29-448b-b4c0-1f41fa171b5e,0,1,b5d30250-18ab-4af1-b99a-ff5dba334d1f,b5d30250-18ab-4af1-b99a-ff5dba334d1f,0,1,936f1aa5-7516-444b-b451-1162fa5d705f,936f1aa5-7516-444b-b451-1162fa5d705f,0,1,e8d5533e-2669-44f6-9eed-eaedab666d42,e8d5533e-2669-44f6-9eed-eaedab666d42,0,1,dd8e0f41-51a3-4bf2-a32e-084f9ad09be7,dd8e0f41-51a3-4bf2-a32e-084f9ad09be7,0,1,9e323b0d-4e3b-45d4-9705-aa30e63014f5,9e323b0d-4e3b-45d4-9705-aa30e63014f5,0,1,5afa798a-958e-4e0c-a380-0104f4c037a7,5afa798a-958e-4e0c-a380-0104f4c037a7,0,1,c0295fd9-c749-41b3-8d0d-6af16f484b1f,c0295fd9-c749-41b3-8d0d-6af16f484b1f,0,1,bd32a863-3090-432d-89c4-356ba86a0bdc,bd32a863-3090-432d-89c4-356ba86a0bdc,0,1,4621bf5a-46b5-4b82-8ae4-cc8e11e81ba0,4621bf5a-46b5-4b82-8ae4-cc8e11e81ba0,0,1,ed5465b4-a556-4078-ab18-49fef2afba2e,ed5465b4-a556-4078-ab18-49fef2afba2e,0,1,7368ab8f-59d5-4270-a43b-0f3e422169ed,7368ab8f-59d5-4270-a43b-0f3e422169ed,0,1,eeb0571b-1b74-4889-b8b5-f94186d692d7,eeb0571b-1b74-4889-b8b5-f94186d692d7,0,1,9ef3b72c-caa3-486b-9917-04c00f6689c1,9ef3b72c-caa3-486b-9917-04c00f6689c1,0,1,cb3039d8-4b11-4d03-b0ca-eae5dfc01b0a,cb3039d8-4b11-4d03-b0ca-eae5dfc01b0a,0,1,9245417f-f247-47ba-a1b4-a17ec2e8776c,9245417f-f247-47ba-a1b4-a17ec2e8776c,0,1,a4b721d7-b119-47eb-80e0-7db34c83964f,a4b721d7-b119-47eb-80e0-7db34c83964f,0,1,512629d1-e8b7-4f66-b613-b8c0cb9c250b,512629d1-e8b7-4f66-b613-b8c0cb9c250b,0,1,b7cf4684-4432-4658-9c06-b315d470a3a6,b7cf4684-4432-4658-9c06-b315d470a3a6,0,1,d3bc8211-54d8-47dd-aecf-5da72b65195f,d3bc8211-54d8-47dd-aecf-5da72b65195f,0,1,33f11da8-f670-4ec3-9d40-96fce031c60f,33f11da8-f670-4ec3-9d40-96fce031c60f,0,1,97cbd5b5-5a39-418c-93b5-f9934fa1ba4e,97cbd5b5-5a39-418c-93b5-f9934fa1ba4e,0,1,f74c2d41-2433-4bed-8aef-adfeed198252,f74c2d41-2433-4bed-8aef-adfeed198252,0,1,3c2b8a8a-bfe7-4e37-9d83-55a695a06605,3c2b8a8a-bfe7-4e37-9d83-55a695a06605,0,1,56c9703a-751a-4e6c-81f4-a8756fb040e3,56c9703a-751a-4e6c-81f4-a8756fb040e3,0,1,c3a86eec-1ff5-4392-9904-91a12a2e253a,c3a86eec-1ff5-4392-9904-91a12a2e253a,0,1,f5df72a3-c71c-412b-8c3e-6329f1d3a7da,f5df72a3-c71c-412b-8c3e-6329f1d3a7da,0,1,f02b7246-dae9-4e15-b4cd-b06133664d34,f02b7246-dae9-4e15-b4cd-b06133664d34,0,1,77f20022-17ce-4e00-8a84-015238bce6f3,77f20022-17ce-4e00-8a84-015238bce6f3,0,1,3734619b-7059-4547-8b97-0b3393389d4d,3734619b-7059-4547-8b97-0b3393389d4d,0,1,a30bf95f-aabd-4da0-8287-61e08f9362fb,a30bf95f-aabd-4da0-8287-61e08f9362fb,0,1,f5a7df18-2ddb-4053-9aeb-57fc37ae557e,f5a7df18-2ddb-4053-9aeb-57fc37ae557e,0,1,4078867c-2972-47f9-bebd-935a6f1cc667,4078867c-2972-47f9-bebd-935a6f1cc667,0,1,8502fe39-c241-4be5-a313-fd887bbbdfa1,8502fe39-c241-4be5-a313-fd887bbbdfa1,0,1,67a71201-13e5-42a3-902f-fb3a59710dfb,67a71201-13e5-42a3-902f-fb3a59710dfb,0,1,3a79a951-a997-4596-ab62-ba376d67725d,3a79a951-a997-4596-ab62-ba376d67725d,0,1,dd4fe688-c113-4ac5-8114-b89cf1b0eb55,dd4fe688-c113-4ac5-8114-b89cf1b0eb55,0,1,884c28de-434f-440a-8c63-67e659c097ad,884c28de-434f-440a-8c63-67e659c097ad,0,1,92ead3b5-8c55-4e4d-bd47-009e025b22f8,92ead3b5-8c55-4e4d-bd47-009e025b22f8,0,1,50d8e365-aa58-4b60-8992-01943379d485,50d8e365-aa58-4b60-8992-01943379d485,0,1,9bb58c7c-d87d-435b-adf6-09c8f75d47b2,9bb58c7c-d87d-435b-adf6-09c8f75d47b2,0,1,bcd705ba-c9ac-4e73-94b1-7632c0f06c04,bcd705ba-c9ac-4e73-94b1-7632c0f06c04,0,1,094d5482-286d-4e1a-8888-c0452d2e5af0,094d5482-286d-4e1a-8888-c0452d2e5af0,0,1,fec102ea-a3f6-49b5-b4b8-6884b0654129,fec102ea-a3f6-49b5-b4b8-6884b0654129,0,1,184405d0-34a7-4668-9a64-d92a6a7da142,184405d0-34a7-4668-9a64-d92a6a7da142,0,1,bccf8909-6f99-44d8-9c91-688958fc95f4,bccf8909-6f99-44d8-9c91-688958fc95f4,0,1,246571fb-38c7-4da6-929d-d8b44bc3437c,246571fb-38c7-4da6-929d-d8b44bc3437c,0,1,047fd6d7-5e30-4184-a09a-6525de526cc7,047fd6d7-5e30-4184-a09a-6525de526cc7,0,1,beb44b02-5d5e-4127-aee7-e184a43a4210,beb44b02-5d5e-4127-aee7-e184a43a4210,0,1,1dedfbc2-9250-4229-a6ea-5e085f33e7c3,1dedfbc2-9250-4229-a6ea-5e085f33e7c3,0,1,e24641ed-3e92-46d7-852b-9958ab7bc520,e24641ed-3e92-46d7-852b-9958ab7bc520,0,1,bc2aa3f9-ef2c-49a5-8cd9-ddd8a8cbe19d,bc2aa3f9-ef2c-49a5-8cd9-ddd8a8cbe19d,0,1,b6ac4cd6-c68f-4464-88e9-a8d335d581c6,b6ac4cd6-c68f-4464-88e9-a8d335d581c6,0,1,2c61114f-abd7-4415-8cdf-4fe95d9fe354,2c61114f-abd7-4415-8cdf-4fe95d9fe354,0,1,abd7a766-5cc1-48db-8d29-797e9d666a78,abd7a766-5cc1-48db-8d29-797e9d666a78,0,1,1704b5e3-8e77-4df6-9223-e6e5c41a280d,1704b5e3-8e77-4df6-9223-e6e5c41a280d,0,1,62eca88f-025d-44de-b92c-46cd8bc7e4a1,62eca88f-025d-44de-b92c-46cd8bc7e4a1,0,1,b0dde395-8498-4469-9507-d290798117d7,b0dde395-8498-4469-9507-d290798117d7,0,1,999616ea-0faa-4ae2-9841-6a6997ea6694,999616ea-0faa-4ae2-9841-6a6997ea6694,0,1,c5f91669-13d8-4f0a-a054-2701078da38a,c5f91669-13d8-4f0a-a054-2701078da38a,0,1,34f9872b-e02e-4093-ba06-3cb5b8995850,34f9872b-e02e-4093-ba06-3cb5b8995850,0,1,18515c19-c9ef-4c9f-8d12-4f58ffa251e8,18515c19-c9ef-4c9f-8d12-4f58ffa251e8,0,1,e61eef89-b3de-4b73-b7d9-af75318093e5,e61eef89-b3de-4b73-b7d9-af75318093e5,0,1,94e68502-adf1-476e-be2f-8418385959fa,94e68502-adf1-476e-be2f-8418385959fa,0,1,bf80ccc5-f907-4e7f-a007-6030c7ba682e,bf80ccc5-f907-4e7f-a007-6030c7ba682e,0,1,a330acd1-bc97-4ef8-8ecb-5604868ca044,a330acd1-bc97-4ef8-8ecb-5604868ca044,0,1,05f1f184-50cb-47c5-b3a8-62be6a9780c1,05f1f184-50cb-47c5-b3a8-62be6a9780c1,0,1,58c3936c-4db0-45c8-a22e-b5dd49a61497,58c3936c-4db0-45c8-a22e-b5dd49a61497,0,1,9aa607bc-5870-436a-bbe1-296560393e3b,9aa607bc-5870-436a-bbe1-296560393e3b,0,1,1635be16-4861-4a7d-babc-4caff448a7f7,1635be16-4861-4a7d-babc-4caff448a7f7,0,1,9e399087-c957-4a7a-ab9d-2b689736caab,9e399087-c957-4a7a-ab9d-2b689736caab,0,1,e7542e37-a2f0-43b5-852e-4e2b24b1b71f,e7542e37-a2f0-43b5-852e-4e2b24b1b71f,0,1,3e94649c-7d69-4fb4-ada1-ae00eabf02b6,3e94649c-7d69-4fb4-ada1-ae00eabf02b6,0,1,2b7372be-af0d-464e-8d09-8172229790af,2b7372be-af0d-464e-8d09-8172229790af,0,1,d85346db-be25-4dab-a2db-647c3d40dd17,d85346db-be25-4dab-a2db-647c3d40dd17,0,1,8a904fa3-4a47-4e89-a2f9-e672b42729b0,8a904fa3-4a47-4e89-a2f9-e672b42729b0,0,1,ef80832f-963f-4b92-a446-015d7605c99e,ef80832f-963f-4b92-a446-015d7605c99e,0,1,72f2226e-7a71-4106-95a7-63242b48cabd,72f2226e-7a71-4106-95a7-63242b48cabd,0,1,c960082b-8c16-4d7b-b7fd-b1f2bfe07e0b,c960082b-8c16-4d7b-b7fd-b1f2bfe07e0b,0,1,fb07fd61-2aae-4759-b6ef-c44c2bba4036,fb07fd61-2aae-4759-b6ef-c44c2bba4036,0,1,cd6770d5-cd3c-47af-bc46-c865993adf63,cd6770d5-cd3c-47af-bc46-c865993adf63,0,1,9f9936fc-54a0-4812-b12d-2f8f91551440,9f9936fc-54a0-4812-b12d-2f8f91551440,0,1,a5667633-9264-4dfa-9e26-c45e96e61ae3,a5667633-9264-4dfa-9e26-c45e96e61ae3,0,1,2eeea138-481c-4fde-9e8a-709d751cc469,2eeea138-481c-4fde-9e8a-709d751cc469,0,1,02c5f3b2-d691-4eaf-84fd-763770e4b1cb,02c5f3b2-d691-4eaf-84fd-763770e4b1cb,0,1,845262f8-8208-4c90-98ec-c85dd5734cf0,845262f8-8208-4c90-98ec-c85dd5734cf0,0,1,ad066c0d-4f4c-48af-9cc8-bb835372150a,ad066c0d-4f4c-48af-9cc8-bb835372150a,0,1,a2145e81-239e-4267-8a43-ea3f7babe878,a2145e81-239e-4267-8a43-ea3f7babe878,0,1,3326bbcb-b277-44db-a252-2448119e8146,3326bbcb-b277-44db-a252-2448119e8146,0,1,61cac5f7-320c-4098-9078-44fadcdeb219,61cac5f7-320c-4098-9078-44fadcdeb219,0,1,304304b1-36a4-42bb-8ab9-b23b59795001,304304b1-36a4-42bb-8ab9-b23b59795001,0,1,9ed016b2-2a4a-43a1-a336-6b13d68b3d0a,9ed016b2-2a4a-43a1-a336-6b13d68b3d0a,0,1,75b9ab9f-7cbb-4468-9570-39f719fd682b,75b9ab9f-7cbb-4468-9570-39f719fd682b,0,1,a22d1a4f-cb7c-4bcc-b258-ecca282fb071,a22d1a4f-cb7c-4bcc-b258-ecca282fb071,0,1,e5beda2c-f4e2-4a6b-a1d0-a877eb0c9f5b,e5beda2c-f4e2-4a6b-a1d0-a877eb0c9f5b,0,1,cd454738-62dd-4f95-af33-b52750678428,cd454738-62dd-4f95-af33-b52750678428,0,1,2a479b8f-7569-43d0-8ca3-9001d6ec57f0,2a479b8f-7569-43d0-8ca3-9001d6ec57f0,0,1,e4abafc6-f859-4d96-9818-5b9bf8d66d69,e4abafc6-f859-4d96-9818-5b9bf8d66d69,0,1,535acd2c-26d2-4f32-9ae6-cc1956317c59,535acd2c-26d2-4f32-9ae6-cc1956317c59,0,1,801adeeb-8a7f-44c1-b649-a7dfffc7b65d,801adeeb-8a7f-44c1-b649-a7dfffc7b65d,0,1,ac4e0868-ba49-46b4-8872-d42483a5591f,ac4e0868-ba49-46b4-8872-d42483a5591f,0,1,45e6c4a6-1d63-4b94-a7d2-fbd3fb68061b,45e6c4a6-1d63-4b94-a7d2-fbd3fb68061b,0,1,0493dcf1-5f94-41f9-a4c7-a52e12a29068,0493dcf1-5f94-41f9-a4c7-a52e12a29068,0,1,ca4c0299-625a-4b03-be0e-36ffb45c6d08,ca4c0299-625a-4b03-be0e-36ffb45c6d08,0,1,7fa1119b-4321-4b8f-a879-1d940084145a,7fa1119b-4321-4b8f-a879-1d940084145a,0,1,5d9c0841-6ea6-48dc-a53b-9f19894750f8,5d9c0841-6ea6-48dc-a53b-9f19894750f8,0,1,86b5303b-d967-4bc6-b2da-066c5a58613f,86b5303b-d967-4bc6-b2da-066c5a58613f,0,1,853b824d-9377-475f-913e-d02bd60f5f64,853b824d-9377-475f-913e-d02bd60f5f64,0,1,0c5e261f-961e-4780-877a-06589400b88a,0c5e261f-961e-4780-877a-06589400b88a,0,1,ee1f8545-ea64-41de-a29a-2d40e15d4f16,ee1f8545-ea64-41de-a29a-2d40e15d4f16,0,1,4599ef83-5f1e-44af-ae0c-67988656a99e,4599ef83-5f1e-44af-ae0c-67988656a99e,0,1,acb0d7eb-2ed9-4419-b79d-7dc661d70c30,acb0d7eb-2ed9-4419-b79d-7dc661d70c30,0,1,e1b94dcf-ec37-4b2d-a7af-120eeee40944,e1b94dcf-ec37-4b2d-a7af-120eeee40944,0,1,7d2a37b1-a1a0-435a-846a-95e255655044,7d2a37b1-a1a0-435a-846a-95e255655044,0,1,109db64c-00dc-490e-99a5-4430d9344e99,109db64c-00dc-490e-99a5-4430d9344e99,0,1,85837a55-fed5-4b7b-a622-30d728b9a677,85837a55-fed5-4b7b-a622-30d728b9a677,0,1,0fd79cdb-dc7a-40ca-a3bc-2c7a7b4691bb,0fd79cdb-dc7a-40ca-a3bc-2c7a7b4691bb,0,1,6ede8b5c-7df0-44a5-9136-8109bbd8b5a9,6ede8b5c-7df0-44a5-9136-8109bbd8b5a9,0,1,da9821c3-4b16-48b7-9088-d3cf8ac536a6,da9821c3-4b16-48b7-9088-d3cf8ac536a6,0,1,d5142574-a040-4dd0-a482-cdc61c1d86ab,d5142574-a040-4dd0-a482-cdc61c1d86ab,0,1,fb36c775-1124-4ba6-8af8-133bf66fcb54,fb36c775-1124-4ba6-8af8-133bf66fcb54,0,1,51f9aff4-71da-4b1b-b48b-04122a17d855,51f9aff4-71da-4b1b-b48b-04122a17d855,0,1,778e79ee-eb1a-4d52-8a31-58e781c78fe4,778e79ee-eb1a-4d52-8a31-58e781c78fe4,0,1,90385850-d37b-4b2e-ac87-95c17f32197c,90385850-d37b-4b2e-ac87-95c17f32197c,0,1,f480ac52-e2f1-4ed0-a0b1-20a622f77302,f480ac52-e2f1-4ed0-a0b1-20a622f77302,0,1,5c63e7cd-ecdb-45ae-a589-f6c38f5a8e76,5c63e7cd-ecdb-45ae-a589-f6c38f5a8e76,0,1,b9b0fbdc-8fda-46d1-bb3e-561a03604971,b9b0fbdc-8fda-46d1-bb3e-561a03604971,0,1,eadfdbe3-bc85-4084-aef6-4cfd258ee6f1,eadfdbe3-bc85-4084-aef6-4cfd258ee6f1,0,1,672c2936-9771-4e32-a970-7ac7f12a21e8,672c2936-9771-4e32-a970-7ac7f12a21e8,0,1,73afaad8-dfa9-43e3-bdaf-543c3545d788,73afaad8-dfa9-43e3-bdaf-543c3545d788,0,1,c264441d-4805-4968-baa2-37b8970049c7,c264441d-4805-4968-baa2-37b8970049c7,0,1,f36150de-33af-4410-8a4c-8c9f4b545793,f36150de-33af-4410-8a4c-8c9f4b545793,0,1,62f97480-7d4a-48f3-9d1d-612909b242c9,62f97480-7d4a-48f3-9d1d-612909b242c9,0,1,2b4f6e2f-6cc4-4c7c-98a6-786f3793366b,2b4f6e2f-6cc4-4c7c-98a6-786f3793366b,0,1,3068be84-a401-4701-8ac9-411fae130f84,3068be84-a401-4701-8ac9-411fae130f84,0,1,957394a7-e5b8-47fc-8680-1e71efe2be7d,957394a7-e5b8-47fc-8680-1e71efe2be7d,0,1,ba49a9e4-6ec1-43ff-92cd-9dbf221bbf09,ba49a9e4-6ec1-43ff-92cd-9dbf221bbf09,0,1,4f25ef45-c8d9-401d-b0e8-2217ac310f04,4f25ef45-c8d9-401d-b0e8-2217ac310f04,0,1,504ca240-b5ae-433e-ae5f-d818263eea23,504ca240-b5ae-433e-ae5f-d818263eea23,0,1,32461819-9437-417d-8d1e-851c9a2dcee2,32461819-9437-417d-8d1e-851c9a2dcee2,0,1,74228950-8a4b-4dd6-a053-8650de202521,74228950-8a4b-4dd6-a053-8650de202521,0,1,ff700f82-aba3-417c-be1b-b1b37ad98543,ff700f82-aba3-417c-be1b-b1b37ad98543,0,1,6b9ce91e-08b9-4972-9878-1724c67b68ec,6b9ce91e-08b9-4972-9878-1724c67b68ec,0,1,640814f2-6082-475e-8006-25fd5b24afdb,640814f2-6082-475e-8006-25fd5b24afdb,0,1,6fcd2a3a-4d66-40e3-bde0-5c274b43783f,6fcd2a3a-4d66-40e3-bde0-5c274b43783f,0,1,f1b66ea8-262d-4b38-a039-b83a843f6ee8,f1b66ea8-262d-4b38-a039-b83a843f6ee8,0,1,bcae6e05-f1fd-413e-9eef-2e1cee42a962,bcae6e05-f1fd-413e-9eef-2e1cee42a962,0,1,40da1bca-ebb3-4c64-bf54-1f37b71d47b6,40da1bca-ebb3-4c64-bf54-1f37b71d47b6,0,1,778b4c8f-7a1e-4b4b-9f68-12cbf52bf195,778b4c8f-7a1e-4b4b-9f68-12cbf52bf195,0,1,91562fe8-e630-4bcb-a14e-c0e1e129141a,91562fe8-e630-4bcb-a14e-c0e1e129141a,0,1,c261abfd-3828-47b5-aa32-dfdd3a1636ad,c261abfd-3828-47b5-aa32-dfdd3a1636ad,0,1,e71f8f26-addf-4b12-a244-11610ed03bba,e71f8f26-addf-4b12-a244-11610ed03bba,0,1,e9aa6dab-0d96-42ce-9bd6-b8b10d755f8c,e9aa6dab-0d96-42ce-9bd6-b8b10d755f8c,0,1,84da1ef8-1784-4dfc-b17a-7728aa7ff62a,84da1ef8-1784-4dfc-b17a-7728aa7ff62a,0,1,9155c95b-6afb-41bb-bd0b-d37e503fc163,9155c95b-6afb-41bb-bd0b-d37e503fc163,0,1,d917c19e-be15-41cc-9c8a-a97c8de85309,d917c19e-be15-41cc-9c8a-a97c8de85309,0,1,47907538-9357-4885-8b50-17f2e16c260f,47907538-9357-4885-8b50-17f2e16c260f,0,1,17e1840f-fef3-4f17-8476-273e6af24cb4,17e1840f-fef3-4f17-8476-273e6af24cb4,0,1,a64566fa-b706-49bc-8277-4531145c400e,a64566fa-b706-49bc-8277-4531145c400e,0,1,a8f32b13-249c-4ce6-a521-f06a87f2e670,a8f32b13-249c-4ce6-a521-f06a87f2e670,0,1,815775e4-cfb7-495b-87c4-d134b90d93d4,815775e4-cfb7-495b-87c4-d134b90d93d4,0,1,e867f2f1-0550-4d15-9e40-ba36c9aabfbd,e867f2f1-0550-4d15-9e40-ba36c9aabfbd,0,1,8bdbb9ef-3a91-4374-b3c5-9447005bb1b7,8bdbb9ef-3a91-4374-b3c5-9447005bb1b7,0,1,7a27b378-89ac-4cad-8c69-a0cd14812d7e,7a27b378-89ac-4cad-8c69-a0cd14812d7e,0,1,d2433a11-8e1d-4e4c-966d-37cde6283f72,d2433a11-8e1d-4e4c-966d-37cde6283f72,0,1,59eb5919-3c33-48bf-b322-ec78018e4142,59eb5919-3c33-48bf-b322-ec78018e4142,0,1,63f308a5-b955-48a5-8052-50c5bede65d0,63f308a5-b955-48a5-8052-50c5bede65d0,0,1,1b614b97-5c1d-497a-9574-40114059f836,1b614b97-5c1d-497a-9574-40114059f836,0,1,477dfea4-e401-4cf0-b0a8-2df7c3836c58,477dfea4-e401-4cf0-b0a8-2df7c3836c58,0,1,294c000f-6979-4ed1-bbc7-7402facd9185,294c000f-6979-4ed1-bbc7-7402facd9185,0,1,db607fbc-f785-47d5-9550-577424aa3fe9,db607fbc-f785-47d5-9550-577424aa3fe9,0,1,b7111ddf-a623-4bae-90aa-636148492ca2,b7111ddf-a623-4bae-90aa-636148492ca2,0,1,905d9dcd-5793-4362-8fe8-2edce8c35e32,905d9dcd-5793-4362-8fe8-2edce8c35e32,0,1,a96cb6fd-54e0-4514-9210-7f4636acd336,a96cb6fd-54e0-4514-9210-7f4636acd336,0,1,3580e7a7-95d1-4a8e-bc12-a1449fe03757,3580e7a7-95d1-4a8e-bc12-a1449fe03757,0,1,13759790-6c70-4323-9321-a68b90c51663,13759790-6c70-4323-9321-a68b90c51663,0,1,d9704b20-c29c-4e7f-b777-0ac9080a5631,d9704b20-c29c-4e7f-b777-0ac9080a5631,0,1,c1372891-0f55-4868-ab97-906eff52be0e,c1372891-0f55-4868-ab97-906eff52be0e,0,1,33e96bda-1708-4ee4-8d4d-3b919bda3e38,33e96bda-1708-4ee4-8d4d-3b919bda3e38,0,1,53fb35a7-44ab-42e7-8dba-6fa08bf5ba2c,53fb35a7-44ab-42e7-8dba-6fa08bf5ba2c,0,1,93fcaa62-2a19-468b-9128-c7930583fbfd,93fcaa62-2a19-468b-9128-c7930583fbfd,0,1,2d885109-4c96-41c0-a996-785bfd793c2d,2d885109-4c96-41c0-a996-785bfd793c2d,0,1,cae8a6f2-bbe9-4b73-b839-9bf8e5e2818d,cae8a6f2-bbe9-4b73-b839-9bf8e5e2818d,0,1,0a79ee40-e6d6-4dbf-8378-98c2ec1e8ef9,0a79ee40-e6d6-4dbf-8378-98c2ec1e8ef9,0,1,5148d263-de26-4c92-b090-ae59f42dfb05,5148d263-de26-4c92-b090-ae59f42dfb05,0,1,dbefe81f-85cf-4d84-9600-b359598c2543,dbefe81f-85cf-4d84-9600-b359598c2543,0,1,1a624a06-93b8-4d1f-8c14-2061e1e7927c,1a624a06-93b8-4d1f-8c14-2061e1e7927c,0,1,4ad54ca8-8e4a-4a35-9537-0395851fcdfb,4ad54ca8-8e4a-4a35-9537-0395851fcdfb,0,1,d5967e0f-03cd-4190-a702-7e9290eae1eb,d5967e0f-03cd-4190-a702-7e9290eae1eb,0,1,27b27cc5-d1ad-4a2a-bcf4-ec2ebb3eba43,27b27cc5-d1ad-4a2a-bcf4-ec2ebb3eba43,0,1,7059b117-714c-4710-aebe-76f88c4d41d5,7059b117-714c-4710-aebe-76f88c4d41d5,0,1,ea050453-4947-40dc-aa2a-503ddd1a235a,ea050453-4947-40dc-aa2a-503ddd1a235a,0,1,37d0e6d4-702e-46f5-ae87-4d393fa0c701,37d0e6d4-702e-46f5-ae87-4d393fa0c701,0,1,1e963c1e-f914-46e1-81d3-90d126fc6f8d,1e963c1e-f914-46e1-81d3-90d126fc6f8d,0,1,3a62d88e-9298-42c0-bd87-c749ecd01d19,3a62d88e-9298-42c0-bd87-c749ecd01d19,0,1,abbf064e-c6ea-4712-930b-a9fef42e0ee1,abbf064e-c6ea-4712-930b-a9fef42e0ee1,0,1,fc13dd80-ce44-4ed1-a9d7-dae44602b954,fc13dd80-ce44-4ed1-a9d7-dae44602b954,0,1,a3fe224e-c3ef-4e30-90e4-c4ed5eb11824,a3fe224e-c3ef-4e30-90e4-c4ed5eb11824,0,1,433b23a1-a863-4775-b2f2-1384e8f3cbbb,433b23a1-a863-4775-b2f2-1384e8f3cbbb,0,1,a1677c47-b9a4-427a-972d-9bb2293445b6,a1677c47-b9a4-427a-972d-9bb2293445b6,0,1,e4a328c0-e73b-465d-ae36-38e5a71690fa,e4a328c0-e73b-465d-ae36-38e5a71690fa,0,1,85bebd81-a355-4010-889b-cff6f72dafcb,85bebd81-a355-4010-889b-cff6f72dafcb,0,1,49521f36-fd1b-47dd-81cc-48b6fb651e22,49521f36-fd1b-47dd-81cc-48b6fb651e22,0,1,bc946e21-53bb-4332-8c63-7b0aa78826eb,bc946e21-53bb-4332-8c63-7b0aa78826eb,0,1,4be2bdad-9a43-4593-acbc-a02e9144a89f,4be2bdad-9a43-4593-acbc-a02e9144a89f,0,1,eb4455f2-a5a0-44fb-8302-7312bc32df66,eb4455f2-a5a0-44fb-8302-7312bc32df66,0,1,cd6d2ab5-8e5c-4db3-8c8c-0526046a9b68,cd6d2ab5-8e5c-4db3-8c8c-0526046a9b68,0,1,9f20e59e-7db8-466f-b965-7045fc3f1489,9f20e59e-7db8-466f-b965-7045fc3f1489,0,1,cb057756-d3f7-4c50-a9d0-bac9ca2abd46,cb057756-d3f7-4c50-a9d0-bac9ca2abd46,0,1,89ac3d39-1915-4e67-a4e4-5a67a155cb75,89ac3d39-1915-4e67-a4e4-5a67a155cb75,0,1,d27b637d-5a51-49ff-bf73-343891534586,d27b637d-5a51-49ff-bf73-343891534586,0,1,b5a073a2-54e2-47c9-b533-f75fd2c9f343,b5a073a2-54e2-47c9-b533-f75fd2c9f343,0,1,0c8571be-f9b6-4292-add9-980cfe7fa2ec,0c8571be-f9b6-4292-add9-980cfe7fa2ec,0,1,989b8ccd-bc05-48c1-9969-b3733028b65f,989b8ccd-bc05-48c1-9969-b3733028b65f,0,1,6c70b13d-f9d0-459f-8d38-c01c11f356f1,6c70b13d-f9d0-459f-8d38-c01c11f356f1,0,1,3e427c09-79ed-45f7-b4c9-d9aa7ccc01b2,3e427c09-79ed-45f7-b4c9-d9aa7ccc01b2,0,1,1a4dd1f5-c2d6-4e06-b428-ab7870810bf3,1a4dd1f5-c2d6-4e06-b428-ab7870810bf3,0,1,bf66612b-aec4-414b-bee6-9bcab145c7cc,bf66612b-aec4-414b-bee6-9bcab145c7cc,0,1,811f356f-554a-4a63-90b6-dedb5fec7c05,811f356f-554a-4a63-90b6-dedb5fec7c05,0,1,78fdbce8-8479-4edd-89c0-1bbaf8ffd482,78fdbce8-8479-4edd-89c0-1bbaf8ffd482,0,1,8eb18de5-8283-4d0c-bb11-b882e78181d5,8eb18de5-8283-4d0c-bb11-b882e78181d5,0,1,1491cc2a-b3be-4bcc-a181-ce68d4b5d4cb,1491cc2a-b3be-4bcc-a181-ce68d4b5d4cb,0,1,64a86d5d-f925-45ee-82da-76df1cc20729,64a86d5d-f925-45ee-82da-76df1cc20729,0,1,bbaed1bd-0eb7-4f2b-b844-ab79c1d0a091,bbaed1bd-0eb7-4f2b-b844-ab79c1d0a091,0,1,2e7fbea4-57ac-4633-bb39-8725e57bc7ba,2e7fbea4-57ac-4633-bb39-8725e57bc7ba,0,1,83ae9b22-20ff-4e94-9282-19daf2274328,83ae9b22-20ff-4e94-9282-19daf2274328,0,1,dcad5d84-6643-4f0b-9e6e-73fe343db4a7,dcad5d84-6643-4f0b-9e6e-73fe343db4a7,0,1,e1ca1374-6dad-46d3-bb72-b67f3e6b1809,e1ca1374-6dad-46d3-bb72-b67f3e6b1809,0,1,a92b2b70-7e69-49d1-b921-c9d1b0718f94,a92b2b70-7e69-49d1-b921-c9d1b0718f94,0,1,d57a3300-0f9f-4fe5-b627-01c96b723053,d57a3300-0f9f-4fe5-b627-01c96b723053,0,1,19f690a3-d27b-43c1-94b7-585fc628da05,19f690a3-d27b-43c1-94b7-585fc628da05,0,1,d375fac5-098c-42b5-a0bd-9a4ae7516ada,d375fac5-098c-42b5-a0bd-9a4ae7516ada,0,1,29034f3e-d2eb-44e0-ac85-f2ffaf14eb90,29034f3e-d2eb-44e0-ac85-f2ffaf14eb90,0,1,ce65563d-03dc-46d8-96d4-c2d4ae2a2960,ce65563d-03dc-46d8-96d4-c2d4ae2a2960,0,1,5079f17e-dfd6-43f4-83fa-6ac408e5bd3b,5079f17e-dfd6-43f4-83fa-6ac408e5bd3b,0,1,7a4346c3-f1aa-4ce0-886e-76cd9abf563c,7a4346c3-f1aa-4ce0-886e-76cd9abf563c,0,1,cf783265-a4cb-436f-963a-1ff8220ae246,cf783265-a4cb-436f-963a-1ff8220ae246,0,1,3560f949-48f9-4fca-9fe2-81efc1ec0eee,3560f949-48f9-4fca-9fe2-81efc1ec0eee,0,1,662078f0-b75d-4c44-896f-7b7f74fd1ed4,662078f0-b75d-4c44-896f-7b7f74fd1ed4,0,1,207290c2-5221-48ad-99aa-bb0f7955df3f,207290c2-5221-48ad-99aa-bb0f7955df3f,0,1,162137ef-dea2-4ace-9e67-897dad0e7c3d,162137ef-dea2-4ace-9e67-897dad0e7c3d,0,1,d91a016e-cca9-4976-9c53-2c96fa95cf1a,d91a016e-cca9-4976-9c53-2c96fa95cf1a,0,1,012fb2f1-1c15-4800-8968-78a90c2a1348,012fb2f1-1c15-4800-8968-78a90c2a1348,0,1,a29a36aa-3c90-4be9-8ffc-20237721d1d0,a29a36aa-3c90-4be9-8ffc-20237721d1d0,0,1,aec8f9e6-d177-45f5-ba55-2d662428c2ae,aec8f9e6-d177-45f5-ba55-2d662428c2ae,0,1,b0bf8af5-d824-459c-bc40-17495406af3c,b0bf8af5-d824-459c-bc40-17495406af3c,0,1,7dfdd08b-7cd9-480c-829d-97f5e7152eec,7dfdd08b-7cd9-480c-829d-97f5e7152eec,0,1,64752b64-80ae-4537-986a-d61423dc546b,64752b64-80ae-4537-986a-d61423dc546b,0,1,2c37e123-ea35-4501-93e1-2fa295444bec,2c37e123-ea35-4501-93e1-2fa295444bec,0,1,c8bd3ac8-3b49-46bb-aadd-7270ad2868fc,c8bd3ac8-3b49-46bb-aadd-7270ad2868fc,0,1,a997a430-3ea8-4fde-9f53-7b507a04c215,a997a430-3ea8-4fde-9f53-7b507a04c215,0,1,f648e19d-026b-4fa7-8e70-1866b27b94f8,f648e19d-026b-4fa7-8e70-1866b27b94f8,0,1,d32081fc-47d3-4e66-837e-705c94ba8ca8,d32081fc-47d3-4e66-837e-705c94ba8ca8,0,1,69c207c2-7699-4467-b127-286ecd6d0f29,69c207c2-7699-4467-b127-286ecd6d0f29,0,1,e33df42d-4c64-4475-8294-6b05ecdb4e02,e33df42d-4c64-4475-8294-6b05ecdb4e02,0,1,6094a0ed-2051-4649-ad75-dfeb389d3cbb,6094a0ed-2051-4649-ad75-dfeb389d3cbb,0,1,6944a7e2-b9a1-492f-a6f2-9bf31d97ec78,6944a7e2-b9a1-492f-a6f2-9bf31d97ec78,0,1,f3750ea4-5f9e-4ab3-9495-3f182ecff407,f3750ea4-5f9e-4ab3-9495-3f182ecff407,0,1,14002d51-87d4-4647-92ef-a9b1935cb666,14002d51-87d4-4647-92ef-a9b1935cb666,0,1,e941a39d-1f3c-4e6e-af17-75f92a15dd40,e941a39d-1f3c-4e6e-af17-75f92a15dd40,0,1,d9bbedcb-4872-4183-83c2-6c2aae9634b0,d9bbedcb-4872-4183-83c2-6c2aae9634b0,0,1,72c695c3-66f6-4aa8-8a39-737ec6967a1d,72c695c3-66f6-4aa8-8a39-737ec6967a1d,0,1,2beef1e0-7a59-407e-b454-ee2ec38ca4b3,2beef1e0-7a59-407e-b454-ee2ec38ca4b3,0,1,b57a1d6f-8375-4d57-a2c1-f53e25318ddb,b57a1d6f-8375-4d57-a2c1-f53e25318ddb,0,1,d5d11480-d5c7-4569-80c1-f872655ff084,d5d11480-d5c7-4569-80c1-f872655ff084,0,1,b1e45d36-08e9-430e-976b-03e6e3320c6a,b1e45d36-08e9-430e-976b-03e6e3320c6a,0,1,b5384eb7-40e4-4437-b96b-eab9b7b5b8f2,b5384eb7-40e4-4437-b96b-eab9b7b5b8f2,0,1,8e21374f-5a65-406c-856d-2040607da4bc,8e21374f-5a65-406c-856d-2040607da4bc,0,1,1b63cbbb-77b1-4e78-a4c7-ddea8ea7294d,1b63cbbb-77b1-4e78-a4c7-ddea8ea7294d,0,1,3e5f5167-8978-4191-b0f6-6a262b848b95,3e5f5167-8978-4191-b0f6-6a262b848b95,0,1,ae3aef9e-df3b-4ebc-912d-2bc581063745,ae3aef9e-df3b-4ebc-912d-2bc581063745,0,1,5c4ecf15-b92d-4610-b2bb-f2331c5c7528,5c4ecf15-b92d-4610-b2bb-f2331c5c7528,0,1,a8c09e65-6e10-4772-b264-6ead83d52fe3,a8c09e65-6e10-4772-b264-6ead83d52fe3,0,1,eb74ebf0-a9c6-4c4c-b279-5a46f40ea0d3,eb74ebf0-a9c6-4c4c-b279-5a46f40ea0d3,0,1,d5e1806b-9827-40ab-9cfa-23c22456d137,d5e1806b-9827-40ab-9cfa-23c22456d137,0,1,b57b186a-ec1e-46a2-87ae-6ba27793ebf6,b57b186a-ec1e-46a2-87ae-6ba27793ebf6,0,1,d24170d7-5477-4ec8-acd2-0de8bd2067d6,d24170d7-5477-4ec8-acd2-0de8bd2067d6,0,1,f047da82-7574-4da4-b54e-480195280a11,f047da82-7574-4da4-b54e-480195280a11,0,1,4a749e8c-cb35-4bc4-9b31-fb5bc0eab474,4a749e8c-cb35-4bc4-9b31-fb5bc0eab474,0,1,da4a0c05-2285-434b-b7f8-83b2a0d7f23d,da4a0c05-2285-434b-b7f8-83b2a0d7f23d,0,1,8afa9a0e-04c1-4cac-82bb-6767cc0594d9,8afa9a0e-04c1-4cac-82bb-6767cc0594d9,0,1,ecbe625a-55eb-437a-8dee-33fb034d4c0d,ecbe625a-55eb-437a-8dee-33fb034d4c0d,0,1,5d4cefac-5dc4-4d73-8b4b-900a8464fbb2,5d4cefac-5dc4-4d73-8b4b-900a8464fbb2,0,1,84796b00-79db-42ba-94d0-5bf543e09cd6,84796b00-79db-42ba-94d0-5bf543e09cd6,0,1,948b10b3-0d7c-4dca-8816-75eb86e7881b,948b10b3-0d7c-4dca-8816-75eb86e7881b,0,1,9de91b5a-98e4-414b-b650-b669b0159b49,9de91b5a-98e4-414b-b650-b669b0159b49,0,1,840dc727-288a-4bf2-8b1a-47629d28229c,840dc727-288a-4bf2-8b1a-47629d28229c,0,1,314ac8ca-8845-40c2-b844-91beb05fb601,314ac8ca-8845-40c2-b844-91beb05fb601,0,1,3de3948d-40ff-4e0d-8445-9bf49c916161,3de3948d-40ff-4e0d-8445-9bf49c916161,0,1,37ae1946-9436-47ef-8b8c-17ed0a24971c,37ae1946-9436-47ef-8b8c-17ed0a24971c,0,1,d844d861-fbe9-4391-89e3-00e505b33b33,d844d861-fbe9-4391-89e3-00e505b33b33,0,1,c0688817-fd73-4ead-b9dd-ec966780a2c2,c0688817-fd73-4ead-b9dd-ec966780a2c2,0,1,b1fbfbfe-766f-4018-9491-507748193808,b1fbfbfe-766f-4018-9491-507748193808,0,1,e55dfadb-8e12-4808-ad90-e891a4644548,e55dfadb-8e12-4808-ad90-e891a4644548,0,1,a792b3dc-ac80-492b-bd94-83eb0438ba9f,a792b3dc-ac80-492b-bd94-83eb0438ba9f,0,1,73a093ea-1927-483b-b6f5-8f0cbd253753,73a093ea-1927-483b-b6f5-8f0cbd253753,0,1,345f04c0-0274-4e79-b523-f1fa3cf0d92a,345f04c0-0274-4e79-b523-f1fa3cf0d92a,0,1,f3a14787-de1b-4b65-8cb1-bc33a785821c,f3a14787-de1b-4b65-8cb1-bc33a785821c,0,1,b9ba3ce3-9059-4135-9d31-725f01907431,b9ba3ce3-9059-4135-9d31-725f01907431,0,1,4d2b3767-7c96-44a6-bb1b-ab74b103b90e,4d2b3767-7c96-44a6-bb1b-ab74b103b90e,0,1,fc9fc58f-c888-41f0-9f57-70748b21706e,fc9fc58f-c888-41f0-9f57-70748b21706e,0,1,fc761833-aa85-4c6d-a36c-d1ed060e3bb1,fc761833-aa85-4c6d-a36c-d1ed060e3bb1,0,1,f0ba2ff2-b353-4f84-8e45-23e47ee6c1b6,f0ba2ff2-b353-4f84-8e45-23e47ee6c1b6,0,1,bb8bade2-5c1b-49a6-b66f-79a3ebff86f7,bb8bade2-5c1b-49a6-b66f-79a3ebff86f7,0,1,33596560-3d45-4d3e-b6ec-1c22162110ad,33596560-3d45-4d3e-b6ec-1c22162110ad,0,1,d3e82a06-daae-4f4d-b3f8-45a406e31664,d3e82a06-daae-4f4d-b3f8-45a406e31664,0,1,af76c3c9-d8dc-4156-9e10-80ee02fcf4fe,af76c3c9-d8dc-4156-9e10-80ee02fcf4fe,0,1,ac6a184d-1247-4b54-a023-f0d16daa5fe9,ac6a184d-1247-4b54-a023-f0d16daa5fe9,0,1,f9af5fe6-0b4f-4d48-92a4-1f2a29972155,f9af5fe6-0b4f-4d48-92a4-1f2a29972155,0,1,3ca1682d-5ff5-4b2b-96c2-54d2dd5297a9,3ca1682d-5ff5-4b2b-96c2-54d2dd5297a9,0,1,a687d346-73cf-4aea-a4d0-f29824f0f6f1,a687d346-73cf-4aea-a4d0-f29824f0f6f1,0,1,f51fda72-56d9-4b45-a775-a0e1dfbf3a27,f51fda72-56d9-4b45-a775-a0e1dfbf3a27,0,1,8bf73614-81a4-4702-88b9-3c6f2594d204,8bf73614-81a4-4702-88b9-3c6f2594d204,0,1,b8d4410b-f626-41b8-87c8-67102256bae2,b8d4410b-f626-41b8-87c8-67102256bae2,0,1,484eeb5f-12af-4139-a081-4dcac067a712,484eeb5f-12af-4139-a081-4dcac067a712,0,1,ec61075e-fbcb-494a-b790-81548a212d2b,ec61075e-fbcb-494a-b790-81548a212d2b,0,1,2f3bdc3c-4c5d-4fcb-85bb-932fe1747d98,2f3bdc3c-4c5d-4fcb-85bb-932fe1747d98,0,1,0c444045-302b-4dbd-a9a3-81fd40004948,0c444045-302b-4dbd-a9a3-81fd40004948,0,1,16099d54-e84f-47c5-aaf3-f8ced3cba5e0,16099d54-e84f-47c5-aaf3-f8ced3cba5e0,0,1,1528b799-1c0f-4244-85e8-e738b827934a,1528b799-1c0f-4244-85e8-e738b827934a,0,1,45d79e4d-8c2a-432b-abb8-fb9046abea40,45d79e4d-8c2a-432b-abb8-fb9046abea40,0,1,8f4d2fa9-c6ed-4f85-b3ef-f9214468ffc4,8f4d2fa9-c6ed-4f85-b3ef-f9214468ffc4,0,1,cb73c8c2-3b09-42e9-ac26-1bd51854efb6,cb73c8c2-3b09-42e9-ac26-1bd51854efb6,0,1,256618cc-0956-4cda-9691-e4ced68a791f,256618cc-0956-4cda-9691-e4ced68a791f,0,1,e20593fd-b3e3-41d2-8c8d-97b5d6148fa4,e20593fd-b3e3-41d2-8c8d-97b5d6148fa4,0,1,4b9771a7-b924-4e61-8468-4633e3c54706,4b9771a7-b924-4e61-8468-4633e3c54706,0,1,bc846fc8-3c67-45f8-9c5c-69bf1190baf9,bc846fc8-3c67-45f8-9c5c-69bf1190baf9,0,1,667de710-cee5-4a97-8434-641d199f3b68,667de710-cee5-4a97-8434-641d199f3b68,0,1,e9a2320b-71a1-4974-8b5a-1990062ec7df,e9a2320b-71a1-4974-8b5a-1990062ec7df,0,1,f6e85eeb-d81b-4526-9a33-ab77bd447236,f6e85eeb-d81b-4526-9a33-ab77bd447236,0,1,470e37fe-d149-4007-b397-12fc84f93041,470e37fe-d149-4007-b397-12fc84f93041,0,1,f8d9068d-8a4e-4b23-b5ca-5b9ddce1f60f,f8d9068d-8a4e-4b23-b5ca-5b9ddce1f60f,0,1,7175cfa0-885c-4807-98ec-af255dcd55d9,7175cfa0-885c-4807-98ec-af255dcd55d9,0,1,1773ff66-ebe4-46e1-b505-d07d87c7fe3e,1773ff66-ebe4-46e1-b505-d07d87c7fe3e,0,1,f5b66759-8102-4cba-a3fd-ee96db5bc809,f5b66759-8102-4cba-a3fd-ee96db5bc809,0,1,6c205eae-9113-46c1-a245-25d29173646e,6c205eae-9113-46c1-a245-25d29173646e,0,1,4cc4aa90-49fb-4602-9f9c-d4d47d223988,4cc4aa90-49fb-4602-9f9c-d4d47d223988,0,1,66ef1631-277b-4c22-99d7-1434b4dbbb3f,66ef1631-277b-4c22-99d7-1434b4dbbb3f,0,1,7cfa5a37-b9f8-43e4-ae33-e3a7251dd052,7cfa5a37-b9f8-43e4-ae33-e3a7251dd052,0,1,2f8a5b9d-ab86-492b-85d1-5a28535b2ebc,2f8a5b9d-ab86-492b-85d1-5a28535b2ebc,0,1,898535ff-50cd-464a-aadc-5e4f9de15b04,898535ff-50cd-464a-aadc-5e4f9de15b04,0,1,737f6f1b-9ffc-4916-b378-7321eab1f886,737f6f1b-9ffc-4916-b378-7321eab1f886,0,1,01dedf5b-2cce-4d24-81ea-2e3af82f5794,01dedf5b-2cce-4d24-81ea-2e3af82f5794,0,1,385e209d-65aa-43b1-8591-f92544882740,385e209d-65aa-43b1-8591-f92544882740,0,1,8381bc76-0e0f-4196-9911-ec05730cb1c9,8381bc76-0e0f-4196-9911-ec05730cb1c9,0,1,c224e520-7204-4f4a-aac9-b6221ea9ce44,c224e520-7204-4f4a-aac9-b6221ea9ce44,0,1,771a1900-46be-49fe-a02d-584780de8363,771a1900-46be-49fe-a02d-584780de8363,0,1,f81b1f2d-6fde-4861-8fee-1dbe6acf3985,f81b1f2d-6fde-4861-8fee-1dbe6acf3985,0,1,b62eecf6-6ee3-4a70-a4d6-3f064ae35c43,b62eecf6-6ee3-4a70-a4d6-3f064ae35c43,0,1,9bf2525c-e8fc-44e6-ac14-7df3208dbb0f,9bf2525c-e8fc-44e6-ac14-7df3208dbb0f,0,1,a2faa3f8-5064-4fbf-a90e-26d15c021cd3,a2faa3f8-5064-4fbf-a90e-26d15c021cd3,0,1,527ea8ca-e723-454a-8e9e-f2e7a38e62ee,527ea8ca-e723-454a-8e9e-f2e7a38e62ee,0,1,ef257b20-da10-4cda-8b9d-7de2d68a2f71,ef257b20-da10-4cda-8b9d-7de2d68a2f71,0,1,de0d41b7-acc0-4ebc-8933-d6b5ad351860,de0d41b7-acc0-4ebc-8933-d6b5ad351860,0,1,04013c34-8d59-4f87-b272-732d5a6dd675,04013c34-8d59-4f87-b272-732d5a6dd675,0,1,7fffceb9-8725-46ab-b797-ad7aa67f1075,7fffceb9-8725-46ab-b797-ad7aa67f1075,0,1,f9df9b6b-5051-46ef-bb1f-1974f41054a7,f9df9b6b-5051-46ef-bb1f-1974f41054a7,0,1,005b3f60-d740-4670-b522-8c352958889e,005b3f60-d740-4670-b522-8c352958889e,0,1,9ef5dd5e-1f26-4187-90a0-a3ac7aaabc1d,9ef5dd5e-1f26-4187-90a0-a3ac7aaabc1d,0,1,1a354069-07ea-40e0-bbac-e1b6232750c2,1a354069-07ea-40e0-bbac-e1b6232750c2,0,1,df31548b-0b8e-412b-999a-761970ae3c23,df31548b-0b8e-412b-999a-761970ae3c23,0,1,05135747-43e7-4b61-bc30-57b3289ea923,05135747-43e7-4b61-bc30-57b3289ea923,0,1,6d63728d-3384-4131-b890-1b82d14a04b7,6d63728d-3384-4131-b890-1b82d14a04b7,0,1,f4554046-493e-4960-94df-0a8b9d02f474,f4554046-493e-4960-94df-0a8b9d02f474,0,1,06abad33-2d69-4e8b-a16c-8aa0d4422d5a,06abad33-2d69-4e8b-a16c-8aa0d4422d5a,0,1,9222a6c0-b785-4811-bfb6-44ac44a55925,9222a6c0-b785-4811-bfb6-44ac44a55925,0,1,ea84021d-2431-44ad-a446-f1fb979c9e96,ea84021d-2431-44ad-a446-f1fb979c9e96,0,1,d86acdeb-fa70-4d1c-bd0c-1b4ea30c03dd,d86acdeb-fa70-4d1c-bd0c-1b4ea30c03dd,0,1,6da034af-0481-4a3c-aff9-c50ced6f21d4,6da034af-0481-4a3c-aff9-c50ced6f21d4,0,1,6fe57ea6-fe5e-48b1-bb31-5d42e4c2c6c7,6fe57ea6-fe5e-48b1-bb31-5d42e4c2c6c7,0,1,d07016c8-7d97-42cd-865b-85b49075adfb,d07016c8-7d97-42cd-865b-85b49075adfb,0,1,9202335d-50bb-4282-9438-24c7fb9cf637,9202335d-50bb-4282-9438-24c7fb9cf637,0,1,a62906e5-27f8-4e72-8769-9a3eed6997d7,a62906e5-27f8-4e72-8769-9a3eed6997d7,0,1,6c5d0ac3-6086-434c-812b-1c1158ecc574,6c5d0ac3-6086-434c-812b-1c1158ecc574,0,1,783536d7-c0db-44c9-96e8-58b57804d7c8,783536d7-c0db-44c9-96e8-58b57804d7c8,0,1,a8295435-c2c4-4aff-874b-7412556aa76d,a8295435-c2c4-4aff-874b-7412556aa76d,0,1,f6c4e24b-172b-4ba3-8e3e-988306ade660,f6c4e24b-172b-4ba3-8e3e-988306ade660,0,1,9baab24c-a5a3-46f4-ad17-a28d4a49f851,9baab24c-a5a3-46f4-ad17-a28d4a49f851,0,1,d1952319-0e42-4684-a386-fbe7c24526c2,d1952319-0e42-4684-a386-fbe7c24526c2,0,1,01cd59fc-8577-4b3c-9d69-6db75e81e7c4,01cd59fc-8577-4b3c-9d69-6db75e81e7c4,0,1,83b47a9d-d44b-4c40-becd-df74f9cb2e91,83b47a9d-d44b-4c40-becd-df74f9cb2e91,0,1,d03e636e-ff88-4e96-bf3c-d795d10cbcb0,d03e636e-ff88-4e96-bf3c-d795d10cbcb0,0,1,86e2a2eb-160f-4e93-a449-b2f726286d1b,86e2a2eb-160f-4e93-a449-b2f726286d1b,0,1,8e6e1f24-83bf-42c2-9eda-b3874c7910c3,8e6e1f24-83bf-42c2-9eda-b3874c7910c3,0,1,364184c2-ec71-44be-b40c-ba719b4ab0e1,364184c2-ec71-44be-b40c-ba719b4ab0e1,0,1,7ef46c54-ec0c-4211-a750-e5949956b593,7ef46c54-ec0c-4211-a750-e5949956b593,0,1,04823681-875e-459a-b3cf-051c89527f38,04823681-875e-459a-b3cf-051c89527f38,0,1,8e115a0c-a17c-4d7e-bd2c-305fb53d09ca,8e115a0c-a17c-4d7e-bd2c-305fb53d09ca,0,1,38265f08-3301-40d1-b630-a319c983e826,38265f08-3301-40d1-b630-a319c983e826,0,1,5175c496-bac7-4c57-9628-793b727aecd0,5175c496-bac7-4c57-9628-793b727aecd0,0,1,1453309e-77d0-444d-ac3f-fd7c2cb65c0c,1453309e-77d0-444d-ac3f-fd7c2cb65c0c,0,1,fc42df4a-93f0-461f-acfe-fea09158030f,fc42df4a-93f0-461f-acfe-fea09158030f,0,1,9f0a7909-0b97-48a7-964f-a52cb3c19c4e,9f0a7909-0b97-48a7-964f-a52cb3c19c4e,0,1,6d002aef-00c9-4069-80df-153151218831,6d002aef-00c9-4069-80df-153151218831,0,1,4fec3a6c-5a99-4763-aa07-d5de8712559e,4fec3a6c-5a99-4763-aa07-d5de8712559e,0,1,968a1202-d271-43e0-bfd4-d38e49ceadd4,968a1202-d271-43e0-bfd4-d38e49ceadd4,0,1,c80e2ef7-93b6-4cef-806a-2dfcf2fd80e6,c80e2ef7-93b6-4cef-806a-2dfcf2fd80e6,0,1,b3b4fbf1-cbf0-4ee2-a490-4d657693479b,b3b4fbf1-cbf0-4ee2-a490-4d657693479b,0,1,ea61e442-273e-4ce4-a806-8090893729ba,ea61e442-273e-4ce4-a806-8090893729ba,0,1,e7100f2b-d169-4635-ab87-7a2225ff12ee,e7100f2b-d169-4635-ab87-7a2225ff12ee,0,1,d6bd5459-6f95-4f9c-8d84-c67bdc716acf,d6bd5459-6f95-4f9c-8d84-c67bdc716acf,0,1,4a2d2790-debf-4dc2-8216-878d8808d161,4a2d2790-debf-4dc2-8216-878d8808d161,0,1,836d0590-a8ee-40d0-a649-41cf4fae36a6,836d0590-a8ee-40d0-a649-41cf4fae36a6,0,1,6dcbb379-d4f5-418a-a3ab-bb7c0e169058,6dcbb379-d4f5-418a-a3ab-bb7c0e169058,0,1,6ddbc80a-38c8-4eda-8cdf-6d64331818a3,6ddbc80a-38c8-4eda-8cdf-6d64331818a3,0,1,eda3c675-04b7-4c14-b78a-0caa22843ac0,eda3c675-04b7-4c14-b78a-0caa22843ac0,0,1,fc097ab3-8b3e-4b8f-9e51-d888735a69bd,fc097ab3-8b3e-4b8f-9e51-d888735a69bd,0,1,23c2c28b-867e-41d0-ba61-b9ee20fa38d1,23c2c28b-867e-41d0-ba61-b9ee20fa38d1,0,1,e5ddc65a-e886-4ed6-9598-bec30ddb7341,e5ddc65a-e886-4ed6-9598-bec30ddb7341,0,1,6cf48813-8097-44ae-8630-58f5b002ff31,6cf48813-8097-44ae-8630-58f5b002ff31,0,1,e0cee0ee-24b9-400a-95af-c61debec912b,e0cee0ee-24b9-400a-95af-c61debec912b,0,1,578bc873-5e23-4222-a655-7d653d761a4c,578bc873-5e23-4222-a655-7d653d761a4c,0,1,09bccd03-1492-4ebe-bfb4-8ace744d367f,09bccd03-1492-4ebe-bfb4-8ace744d367f,0,1,4d9294db-1abd-4e34-812f-fdcac0cf657d,4d9294db-1abd-4e34-812f-fdcac0cf657d,0,1,14bc3be4-3075-418d-90ec-be5d2686f875,14bc3be4-3075-418d-90ec-be5d2686f875,0,1,adffd81c-a566-4b4f-89d5-6abc705da36f,adffd81c-a566-4b4f-89d5-6abc705da36f,0,1,9f67e6d4-0b7c-4318-b127-7c8b7daf1d1b,9f67e6d4-0b7c-4318-b127-7c8b7daf1d1b,0,1,23ced9be-cb9d-451f-aea7-aa211054bd4d,23ced9be-cb9d-451f-aea7-aa211054bd4d,0,1,3991175c-0152-44c6-8e1c-4090d960050a,3991175c-0152-44c6-8e1c-4090d960050a,0,1,aa2760cf-b8cd-4eb3-b2f1-0e1fbdec09a8,aa2760cf-b8cd-4eb3-b2f1-0e1fbdec09a8,0,1,d1fabcdd-c072-4341-85d4-9a9ba168f301,d1fabcdd-c072-4341-85d4-9a9ba168f301,0,1,030a9c93-322b-4421-ad70-0acaa94870a2,030a9c93-322b-4421-ad70-0acaa94870a2,0,1,7121d241-9450-4bf2-b7ff-a0e963bbfd0a,7121d241-9450-4bf2-b7ff-a0e963bbfd0a,0,1,01a3ab71-56fa-4ddc-a5a3-9c923ee9c74a,01a3ab71-56fa-4ddc-a5a3-9c923ee9c74a,0,1,5c660f50-c63a-466d-bb32-de5699ad8a95,5c660f50-c63a-466d-bb32-de5699ad8a95,0,1,032587fa-2993-463c-af9f-bdd67f12604f,032587fa-2993-463c-af9f-bdd67f12604f,0,1,64d4aaed-e068-431b-bed0-faef7b5358f3,64d4aaed-e068-431b-bed0-faef7b5358f3,0,1,4507a92e-abb6-4329-88b2-3429bc694bc6,4507a92e-abb6-4329-88b2-3429bc694bc6,0,1,2694c1b4-536b-4187-adf6-0f8757aaae76,2694c1b4-536b-4187-adf6-0f8757aaae76,0,1,e523f88b-b3de-476e-a3cc-592970492dec,e523f88b-b3de-476e-a3cc-592970492dec,0,1,0e2107e2-8648-4b2e-9dfb-c23b1ff5b007,0e2107e2-8648-4b2e-9dfb-c23b1ff5b007,0,1,efb6b3b6-d57b-469f-a7c2-f4e0308d0c7f,efb6b3b6-d57b-469f-a7c2-f4e0308d0c7f,0,1,ea0843f4-60fb-4d44-abf4-0021867c636b,ea0843f4-60fb-4d44-abf4-0021867c636b,0,1,59aadc03-adbc-481f-89bc-d7f391789522,59aadc03-adbc-481f-89bc-d7f391789522,0,1,254f6ccd-0451-4231-91c9-4abe57b647be,254f6ccd-0451-4231-91c9-4abe57b647be,0,1,1e2d790c-0076-413a-b5fb-f25c01ab6ad5,1e2d790c-0076-413a-b5fb-f25c01ab6ad5,0,1,0dcc537b-76b3-4e73-b060-6cbdcf6345db,0dcc537b-76b3-4e73-b060-6cbdcf6345db,0,1,ae662b53-e11e-4b59-be52-b9d4ab00c4a4,ae662b53-e11e-4b59-be52-b9d4ab00c4a4,0,1,ce55df94-71e4-46ac-9b3b-bdae5d336b0a,ce55df94-71e4-46ac-9b3b-bdae5d336b0a,0,1,7601fa7e-079a-4347-abea-e161b2d00783,7601fa7e-079a-4347-abea-e161b2d00783,0,1,ee84cb40-f82d-4558-91be-229d68ad9f4a,ee84cb40-f82d-4558-91be-229d68ad9f4a,0,1,101a7eff-9556-4165-879a-a7c8a852e236,101a7eff-9556-4165-879a-a7c8a852e236,0,1,01775932-3603-4efc-9235-abdb97490dea,01775932-3603-4efc-9235-abdb97490dea,0,1,7637844b-4059-4f8a-8436-b4f4e8cb4f74,7637844b-4059-4f8a-8436-b4f4e8cb4f74,0,1,b6bb4cbe-b6fa-4d28-b372-0b959951ad4d,b6bb4cbe-b6fa-4d28-b372-0b959951ad4d,0,1,0ee5b788-61dc-464b-86da-f985df7704b6,0ee5b788-61dc-464b-86da-f985df7704b6,0,1,2375c6a8-9799-4b7c-a48d-091a90c67693,2375c6a8-9799-4b7c-a48d-091a90c67693,0,1,3d3c3360-4502-4ad4-bbe9-35d4ba9b54b3,3d3c3360-4502-4ad4-bbe9-35d4ba9b54b3,0,1,9b0671c6-6e92-42e6-9cf4-13d4be11f27d,9b0671c6-6e92-42e6-9cf4-13d4be11f27d,0,1,63c6522f-be04-422a-b4f4-0f55f58b09a8,63c6522f-be04-422a-b4f4-0f55f58b09a8,0,1,be919dc1-a377-43e1-82e6-ce946cabdd55,be919dc1-a377-43e1-82e6-ce946cabdd55,0,1,6b17a0fc-4d6f-4189-9067-c58a95f04dd7,6b17a0fc-4d6f-4189-9067-c58a95f04dd7,0,1,9ded532e-9e60-4895-a4c5-4ea6697aa83c,9ded532e-9e60-4895-a4c5-4ea6697aa83c,0,1,106c5159-ffc7-4059-b3e3-acf74326a44f,106c5159-ffc7-4059-b3e3-acf74326a44f,0,1,d39fd717-1a69-4fd3-889e-4fa9abefea1c,d39fd717-1a69-4fd3-889e-4fa9abefea1c,0,1,5b85e6df-7493-4201-97ad-2aea14de6006,5b85e6df-7493-4201-97ad-2aea14de6006,0,1,061e6c0f-ba52-40ec-96ad-2eba3eee3097,061e6c0f-ba52-40ec-96ad-2eba3eee3097,0,1,d77e3c65-e9fd-4ba7-885f-a8a2f4c827d2,d77e3c65-e9fd-4ba7-885f-a8a2f4c827d2,0,1,4fb86bf3-02ad-4f0e-85a9-98be6c350a06,4fb86bf3-02ad-4f0e-85a9-98be6c350a06,0,1,4840753b-e2e1-4e67-b35f-2f5eab7754f5,4840753b-e2e1-4e67-b35f-2f5eab7754f5,0,1,4095c9e7-83ab-4db9-a2d0-a9f4ef9ee53e,4095c9e7-83ab-4db9-a2d0-a9f4ef9ee53e,0,1,6ffd9c17-d90b-4d19-b337-0fbc2c717557,6ffd9c17-d90b-4d19-b337-0fbc2c717557,0,1,9a11a6bd-0c13-4be2-9e34-b12b7554f3c9,9a11a6bd-0c13-4be2-9e34-b12b7554f3c9,0,1,3bb83275-7a0e-420f-8c6b-028038f11a8c,3bb83275-7a0e-420f-8c6b-028038f11a8c,0,1,e1950a23-f6e7-48af-b78a-77aa61f08ece,e1950a23-f6e7-48af-b78a-77aa61f08ece,0,1,1cc3d7c4-9178-4a40-86ea-2bbc1f5aa69f,1cc3d7c4-9178-4a40-86ea-2bbc1f5aa69f,0,1,790735cf-f6e2-4b0d-bb16-c5b9ea95efae,790735cf-f6e2-4b0d-bb16-c5b9ea95efae,0,1,5d726fa3-bde0-4d97-a577-415857bbb5c1,5d726fa3-bde0-4d97-a577-415857bbb5c1,0,1,f63d0e2d-4685-4ac5-b22c-1b83e3ab955f,f63d0e2d-4685-4ac5-b22c-1b83e3ab955f,0,1,49068231-202c-4ac6-a39a-69207cb597dd,49068231-202c-4ac6-a39a-69207cb597dd,0,1,5a470575-e012-42ad-9ad7-53930a8e843f,5a470575-e012-42ad-9ad7-53930a8e843f,0,1,5872d4ed-6503-422d-bcf9-63a8df3e777d,5872d4ed-6503-422d-bcf9-63a8df3e777d,0,1,e21cda29-2579-485e-a207-20b76f719c80,e21cda29-2579-485e-a207-20b76f719c80,0,1,1b232a57-2833-42c6-b318-38dae2af1ab2,1b232a57-2833-42c6-b318-38dae2af1ab2,0,1,007ade8c-b102-408b-b877-b531e046560b,007ade8c-b102-408b-b877-b531e046560b,0,1,a8dfea6c-0c21-456d-96ab-f4bb5d579b13,a8dfea6c-0c21-456d-96ab-f4bb5d579b13,0,1,305f1ef1-4f9c-40a2-a978-3a4c0ecf75d4,305f1ef1-4f9c-40a2-a978-3a4c0ecf75d4,0,1,eb69c41a-392d-43bb-9b67-a0adcb651b1e,eb69c41a-392d-43bb-9b67-a0adcb651b1e,0,1,93b01c88-48a2-4753-b443-0e9892395a8f,93b01c88-48a2-4753-b443-0e9892395a8f,0,1,0b7f8e05-bb34-47cc-9775-04362e814316,0b7f8e05-bb34-47cc-9775-04362e814316,0,1,e71e0297-3709-4247-933e-18a6350cbf39,e71e0297-3709-4247-933e-18a6350cbf39,0,1,0b32e372-c6ad-4dda-acd1-8b5d58537d37,0b32e372-c6ad-4dda-acd1-8b5d58537d37,0,1,602dac6f-abe6-407a-92d3-7f1613e5dda6,602dac6f-abe6-407a-92d3-7f1613e5dda6,0,1,db03a88b-2804-45c2-9089-7ddb87ef2f18,db03a88b-2804-45c2-9089-7ddb87ef2f18,0,1,df6417d1-c722-4a87-a543-5d2c31795b20,df6417d1-c722-4a87-a543-5d2c31795b20,0,1,526a85c9-3a8d-4044-adb9-fd0689c70601,526a85c9-3a8d-4044-adb9-fd0689c70601,0,1,c4203772-580c-4db1-9bde-8925faa90688,c4203772-580c-4db1-9bde-8925faa90688,0,1,9ab0fe18-4dd7-4eed-958d-8537d4896d84,9ab0fe18-4dd7-4eed-958d-8537d4896d84,0,1,2278dc46-46ce-4d00-9289-4de1640782d7,2278dc46-46ce-4d00-9289-4de1640782d7,0,1,1f983a04-c2df-40bb-bee2-b326474d89f8,1f983a04-c2df-40bb-bee2-b326474d89f8,0,1,f03f1b68-e924-4c06-b0aa-8033a9a2f592,f03f1b68-e924-4c06-b0aa-8033a9a2f592,0,1,5e453d10-235d-4e53-86b1-20eed3247992,5e453d10-235d-4e53-86b1-20eed3247992,0,1,0eefb856-0fb4-4c3e-bb08-e88b03a44065,0eefb856-0fb4-4c3e-bb08-e88b03a44065,0,1,21ba8b9f-de97-40a1-8ea1-85a29e8e53ef,21ba8b9f-de97-40a1-8ea1-85a29e8e53ef,0,1,738228ad-c30a-42f4-a6ad-bde0edba6266,738228ad-c30a-42f4-a6ad-bde0edba6266,0,1,c08aea99-ee33-488c-9ba0-f8b24a6d1d04,c08aea99-ee33-488c-9ba0-f8b24a6d1d04,0,1,df8e8344-d7bc-4cf2-b498-88d3abb66c09,df8e8344-d7bc-4cf2-b498-88d3abb66c09,0,1,e6d13536-3021-45b2-a8e1-bdb0e0be850c,e6d13536-3021-45b2-a8e1-bdb0e0be850c,0,1,b49f538c-b2b2-4a1f-a6b4-a911033b1666,b49f538c-b2b2-4a1f-a6b4-a911033b1666,0,1,794e952b-6b03-4a1e-ad3f-453376bccf45,794e952b-6b03-4a1e-ad3f-453376bccf45,0,1,3e2a0713-e6ed-4d38-8036-72f7b62ca64a,3e2a0713-e6ed-4d38-8036-72f7b62ca64a,0,1,5cd997ba-f123-47b3-8cde-fbba45a4a11c,5cd997ba-f123-47b3-8cde-fbba45a4a11c,0,1,0d746247-c4f4-47a5-a373-45ec4023d3ef,0d746247-c4f4-47a5-a373-45ec4023d3ef,0,1,a25bcf4e-1a47-472b-9f93-f6ab45abf461,a25bcf4e-1a47-472b-9f93-f6ab45abf461,0,1,958b7dab-0aba-423f-ab81-b70f2b93a027,958b7dab-0aba-423f-ab81-b70f2b93a027,0,1,a17ec3be-2255-42af-a6ee-d3fb8bb00519,a17ec3be-2255-42af-a6ee-d3fb8bb00519,0,1,add0b22d-ff5a-41f7-88a1-ef34880e50c9,add0b22d-ff5a-41f7-88a1-ef34880e50c9,0,1,7dc10935-69aa-4f2b-8b01-798dbbaa6cc6,7dc10935-69aa-4f2b-8b01-798dbbaa6cc6,0,1,d5fdac2a-e3aa-4859-8485-0cf114748c87,d5fdac2a-e3aa-4859-8485-0cf114748c87,0,1,eb3d278b-e8fe-4d43-90a8-dd361009196f,eb3d278b-e8fe-4d43-90a8-dd361009196f,0,1,d30fbeae-e97f-422d-b5c4-289aaeaa2ae4,d30fbeae-e97f-422d-b5c4-289aaeaa2ae4,0,1,a3582d0c-6a63-442e-8422-83f251df0ed9,a3582d0c-6a63-442e-8422-83f251df0ed9,0,1,9aae5d2a-81b7-4f1c-8b65-b3e4a8a9bc4d,9aae5d2a-81b7-4f1c-8b65-b3e4a8a9bc4d,0,1,4b714d9c-26f4-46e8-ac79-471522b3853b,4b714d9c-26f4-46e8-ac79-471522b3853b,0,1,411489de-f907-4d60-a776-64bb0aa12a0e,411489de-f907-4d60-a776-64bb0aa12a0e,0,1,58d9ba60-a0c7-405d-a76e-0b0a796daaf3,58d9ba60-a0c7-405d-a76e-0b0a796daaf3,0,1,9c47670e-9eb9-49ec-876c-cd545aaa093c,9c47670e-9eb9-49ec-876c-cd545aaa093c,0,1,f57e74e6-75e8-4136-911e-86793036a077,f57e74e6-75e8-4136-911e-86793036a077,0,1,8492ee20-3f15-45d8-b70d-19b5cd6f1ae3,8492ee20-3f15-45d8-b70d-19b5cd6f1ae3,0,1,3ba8c378-ef3d-4646-90b3-6d8078aa623e,3ba8c378-ef3d-4646-90b3-6d8078aa623e,0,1,b96b2e45-8fb3-4d48-ab53-d3bbf6ef0284,b96b2e45-8fb3-4d48-ab53-d3bbf6ef0284,0,1,5ac38b5a-92e5-47eb-b956-24d9f010cb9f,5ac38b5a-92e5-47eb-b956-24d9f010cb9f,0,1,2dd7eb87-8130-425a-be13-85235508cde6,2dd7eb87-8130-425a-be13-85235508cde6,0,1,8a62c997-4fda-4464-90bd-ab719161949f,8a62c997-4fda-4464-90bd-ab719161949f,0,1,28af52dd-3144-428b-956d-b6f27863ec4a,28af52dd-3144-428b-956d-b6f27863ec4a,0,1,c34c330a-991a-4ec9-a0ad-73c04c6a6fc3,c34c330a-991a-4ec9-a0ad-73c04c6a6fc3,0,1,8ac94328-2300-4681-9c35-fd7e2f830310,8ac94328-2300-4681-9c35-fd7e2f830310,0,1,da0ee165-1917-466b-ac5c-16c28e2318bb,da0ee165-1917-466b-ac5c-16c28e2318bb,0,1,4868cb2e-0892-42bc-9de1-73cb8a15a96f,4868cb2e-0892-42bc-9de1-73cb8a15a96f,0,1,e8b80879-33b3-4c45-ad68-1acabcf91faf,e8b80879-33b3-4c45-ad68-1acabcf91faf,0,1,239601eb-e8de-4d58-a32a-01ee52f6e698,239601eb-e8de-4d58-a32a-01ee52f6e698,0,1,11370667-bec5-4a2d-8aa1-97f4d795718f,11370667-bec5-4a2d-8aa1-97f4d795718f,0,1,2032162d-fbb5-4e6a-be72-cda79869b9ff,2032162d-fbb5-4e6a-be72-cda79869b9ff,0,1,95a8e790-25ef-4ef3-a44a-f150bf1ceb1f,95a8e790-25ef-4ef3-a44a-f150bf1ceb1f,0,1,10543f9a-4e3f-427a-b36a-9c66709dd6fb,10543f9a-4e3f-427a-b36a-9c66709dd6fb,0,1,973967e5-1702-4fb8-ba36-70fd5b3b7e7c,973967e5-1702-4fb8-ba36-70fd5b3b7e7c,0,1,96ab5424-7be1-416d-b74d-d0c815726b1f,96ab5424-7be1-416d-b74d-d0c815726b1f,0,1,3714e794-ddef-4ad9-a933-6130bbc84545,3714e794-ddef-4ad9-a933-6130bbc84545,0,1,282b089c-7411-40d6-9a0a-ceaf6abb5586,282b089c-7411-40d6-9a0a-ceaf6abb5586,0,1,678188aa-76e7-49bc-a4be-1c55ccd625b1,678188aa-76e7-49bc-a4be-1c55ccd625b1,0,1,6c27eece-2f8e-48eb-b9c7-f9c414ee15bd,6c27eece-2f8e-48eb-b9c7-f9c414ee15bd,0,1,b3415b4a-d8de-4536-aa4b-82e75fd986ee,b3415b4a-d8de-4536-aa4b-82e75fd986ee,0,1,acc996ab-672a-4602-b7ad-8eee83557e61,acc996ab-672a-4602-b7ad-8eee83557e61,0,1,bf9e9c2f-e5dc-4f82-8e9a-7f35e3ad9a0b,bf9e9c2f-e5dc-4f82-8e9a-7f35e3ad9a0b,0,1,371361b6-15fd-4e62-9f60-cc8ee3fbacf0,371361b6-15fd-4e62-9f60-cc8ee3fbacf0,0,1,97745768-ed35-44f1-beba-abb8b28a29ae,97745768-ed35-44f1-beba-abb8b28a29ae,0,1,69364942-bcd1-4b06-9b57-fa59b4e7c552,69364942-bcd1-4b06-9b57-fa59b4e7c552,0,1,ab201c5f-4134-42cf-a528-c1c4df02f2d7,ab201c5f-4134-42cf-a528-c1c4df02f2d7,0,1,303fb7b5-6a23-40ea-ae12-b54f4ebae026,303fb7b5-6a23-40ea-ae12-b54f4ebae026,0,1,634cd26b-78f1-4446-8aad-b96ed16e5329,634cd26b-78f1-4446-8aad-b96ed16e5329,0,1,d8e62f1a-92ca-4971-9609-e79da798c083,d8e62f1a-92ca-4971-9609-e79da798c083,0,1,61892a62-9381-401d-af31-9073ef2509fb,61892a62-9381-401d-af31-9073ef2509fb,0,1,6b0ddefa-ee70-4b27-989f-e23c734ab943,6b0ddefa-ee70-4b27-989f-e23c734ab943,0,1,ee873280-28ea-41fb-af52-c10c2018cbe4,ee873280-28ea-41fb-af52-c10c2018cbe4,0,1,a388ed70-a68d-4713-a280-881315351f07,a388ed70-a68d-4713-a280-881315351f07,0,1,fd9e84c9-2322-4aa7-b5fe-31d0c8f373c7,fd9e84c9-2322-4aa7-b5fe-31d0c8f373c7,0,1,2c81edc8-02b9-42dd-be4d-e7ad595421a0,2c81edc8-02b9-42dd-be4d-e7ad595421a0,0,1,83cb38ff-1174-449f-b8ce-44d5e064f2df,83cb38ff-1174-449f-b8ce-44d5e064f2df,0,1,d11b51ac-708a-4ee1-b73e-ae62e162101e,d11b51ac-708a-4ee1-b73e-ae62e162101e,0,1,17a50950-6091-4306-9f15-2a621a29c1a0,17a50950-6091-4306-9f15-2a621a29c1a0,0,1,32012b27-1b43-49be-b9af-df0c877e7a4c,32012b27-1b43-49be-b9af-df0c877e7a4c,0,1,e97d5152-9e58-4a91-a691-b4d358f1c89d,e97d5152-9e58-4a91-a691-b4d358f1c89d,0,1,1de4d7ee-7ddd-44db-bf7f-1b99b653652c,1de4d7ee-7ddd-44db-bf7f-1b99b653652c,0,1,dfe624ac-9f49-46dd-b821-1f1f5b5e0d15,dfe624ac-9f49-46dd-b821-1f1f5b5e0d15,0,1,296c478b-4103-46cb-9d14-97f59034ffd4,296c478b-4103-46cb-9d14-97f59034ffd4,0,1,fb918a68-f86d-46c0-9078-61d2b32b5aef,fb918a68-f86d-46c0-9078-61d2b32b5aef,0,1,9ca4d0c4-f5d3-4748-bf73-f3cd1bc4ac46,9ca4d0c4-f5d3-4748-bf73-f3cd1bc4ac46,0,1,1ddfc773-4f3c-4764-978e-585aab4666de,1ddfc773-4f3c-4764-978e-585aab4666de,0,1,e424d122-1dbb-4545-975c-177997129f2e,e424d122-1dbb-4545-975c-177997129f2e,0,1,c83bc626-dfdd-4451-92b0-b53eed40f534,c83bc626-dfdd-4451-92b0-b53eed40f534,0,1,7b9b1d11-4f78-4113-8fca-1a3a30953aef,7b9b1d11-4f78-4113-8fca-1a3a30953aef,0,1,7f84cb85-c3e4-4b53-b829-3b1e216f978a,7f84cb85-c3e4-4b53-b829-3b1e216f978a,0,1,7e621ecc-7d2b-42bf-a502-f8e59de56b63,7e621ecc-7d2b-42bf-a502-f8e59de56b63,0,1,798fd445-d02e-4e97-890a-0283f33317cf,798fd445-d02e-4e97-890a-0283f33317cf,0,1,095583ca-010d-43ad-8c7a-8938fa4cb761,095583ca-010d-43ad-8c7a-8938fa4cb761,0,1,178d210c-e847-4805-a8d4-31acdf4983af,178d210c-e847-4805-a8d4-31acdf4983af,0,1,aa214d9f-23b1-4996-8a43-9010dceeb53d,aa214d9f-23b1-4996-8a43-9010dceeb53d,0,1,26a5527e-dc2b-45a4-a51c-b1dfb31fa8a2,26a5527e-dc2b-45a4-a51c-b1dfb31fa8a2,0,1,aefc3149-90ee-4ccc-8fb6-b1f6096237f6,aefc3149-90ee-4ccc-8fb6-b1f6096237f6,0,1,d9d103bd-1dd6-48a9-8869-6c8485705393,d9d103bd-1dd6-48a9-8869-6c8485705393,0,1,cf2f7e1f-9b0b-4ae9-9c94-99d80bf95eae,cf2f7e1f-9b0b-4ae9-9c94-99d80bf95eae,0,1,ff0e8487-bdbf-4b21-877e-00008c81bc09,ff0e8487-bdbf-4b21-877e-00008c81bc09,0,1,39c9f8ac-56a0-4057-8359-7228bf97184a,39c9f8ac-56a0-4057-8359-7228bf97184a,0,1,763fbb4c-cab2-4c71-ba16-7e2ce8c3dc97,763fbb4c-cab2-4c71-ba16-7e2ce8c3dc97,0,1,2c0dd892-1d3e-4497-850b-080bdb9c59d8,2c0dd892-1d3e-4497-850b-080bdb9c59d8,0,1,3b727d49-c9ed-4d9e-af61-c13b9a170c75,3b727d49-c9ed-4d9e-af61-c13b9a170c75,0,1,1b264744-bdcd-4c5c-932b-0ac4b990dd78,1b264744-bdcd-4c5c-932b-0ac4b990dd78,0,1,a2dbf20e-1fe9-463d-8fd4-76ce2e4854d1,a2dbf20e-1fe9-463d-8fd4-76ce2e4854d1,0,1,37bde288-8e02-4127-bd80-de8ae7590a14,37bde288-8e02-4127-bd80-de8ae7590a14,0,1,a9b8e517-78cd-4428-b2fc-9e16af0069d7,a9b8e517-78cd-4428-b2fc-9e16af0069d7,0,1,5c592024-c009-4674-bbb8-283669e673ef,5c592024-c009-4674-bbb8-283669e673ef,0,1,e76f16b9-77a0-4033-90d0-6e04e4494747,e76f16b9-77a0-4033-90d0-6e04e4494747,0,1,cfb221fc-8639-4e15-9a78-f7837d657a99,cfb221fc-8639-4e15-9a78-f7837d657a99,0,1,4e61c8c3-756e-4937-adf6-6a1e9a89fc6a,4e61c8c3-756e-4937-adf6-6a1e9a89fc6a,0,1,022147c1-1ebe-4c8d-b367-4c47115b101d,022147c1-1ebe-4c8d-b367-4c47115b101d,0,1,2975d4c8-90d8-4791-8bc2-4adaa328ddc0,2975d4c8-90d8-4791-8bc2-4adaa328ddc0,0,1,fca6b230-a38e-4791-9cc5-3d215f79dc6f,fca6b230-a38e-4791-9cc5-3d215f79dc6f,0,1,04e87de4-940a-4533-8c81-8f145b201dc0,04e87de4-940a-4533-8c81-8f145b201dc0,0,1,573ef4f4-e9e6-4b7c-944d-30808a6a00b7,573ef4f4-e9e6-4b7c-944d-30808a6a00b7,0,1,fa488af9-a5ec-47d8-8661-fa5058a60a6b,fa488af9-a5ec-47d8-8661-fa5058a60a6b,0,1,97cc84c6-3565-474c-a028-83acb5390446,97cc84c6-3565-474c-a028-83acb5390446,0,1,9bf07c3e-7fdf-4a4f-ab00-98c7668349bd,9bf07c3e-7fdf-4a4f-ab00-98c7668349bd,0,1,ebbf6957-6ff6-4dc2-9e20-23d1da091f05,ebbf6957-6ff6-4dc2-9e20-23d1da091f05,0,1,9b80acf6-6bf0-42c4-abb3-2fa2fcf4088c,9b80acf6-6bf0-42c4-abb3-2fa2fcf4088c,0,1,1dcec107-9d5f-4b69-ad65-cc4cb1f27a9c,1dcec107-9d5f-4b69-ad65-cc4cb1f27a9c,0,1,b366d7eb-626c-4c0c-b4cc-c392763e6e94,b366d7eb-626c-4c0c-b4cc-c392763e6e94,0,1,4c7e24aa-726a-4595-82ad-ef1e525b14fa,4c7e24aa-726a-4595-82ad-ef1e525b14fa,0,1,b9e5bb39-ed0a-4e12-b7e4-2d9b5015bf9c,b9e5bb39-ed0a-4e12-b7e4-2d9b5015bf9c,0,1,dbced4aa-6432-4f0c-a99a-5a3e7b0f6755,dbced4aa-6432-4f0c-a99a-5a3e7b0f6755,0,1,e849e46c-2ce6-427b-92bc-06d7997f59bf,e849e46c-2ce6-427b-92bc-06d7997f59bf,0,1,5a971dc0-28bf-4426-9426-9f456aea080a,5a971dc0-28bf-4426-9426-9f456aea080a,0,1,1e7684f0-1b3b-4a32-8602-dd0672c5a800,1e7684f0-1b3b-4a32-8602-dd0672c5a800,0,1,ab178a93-8570-43b6-ae42-f34a7cc4f359,ab178a93-8570-43b6-ae42-f34a7cc4f359,0,1,4c82f31d-7a98-47dd-89dc-1846cb15bf3b,4c82f31d-7a98-47dd-89dc-1846cb15bf3b,0,1,168e3189-2676-4cdb-bc9d-78d85df51faf,168e3189-2676-4cdb-bc9d-78d85df51faf,0,1,ecf1a87f-4ca4-4efb-a84c-b2db1b0e8829,ecf1a87f-4ca4-4efb-a84c-b2db1b0e8829,0,1,470bbff8-20d0-475c-a61a-1a09ac14c2db,470bbff8-20d0-475c-a61a-1a09ac14c2db,0,1,6ea25680-c4db-4717-9498-62420ca16970,6ea25680-c4db-4717-9498-62420ca16970,0,1,14e20d48-635e-4c52-9099-e743323fc190,14e20d48-635e-4c52-9099-e743323fc190,0,1,c37a660e-16c5-495e-9486-e61bcb693fa0,c37a660e-16c5-495e-9486-e61bcb693fa0,0,1,8f44ebad-1160-474e-a566-fb9da55ffcba,8f44ebad-1160-474e-a566-fb9da55ffcba,0,1,11cf336e-7890-4972-bf71-32d7416ff647,11cf336e-7890-4972-bf71-32d7416ff647,0,1,4c4d61a6-6bb6-4a15-9a81-25fdcf96ec4b,4c4d61a6-6bb6-4a15-9a81-25fdcf96ec4b,0,1,14bd3392-36cd-4ed0-8847-44375d6fb861,14bd3392-36cd-4ed0-8847-44375d6fb861,0,1,759ede7a-e832-44e6-9b11-5bfb3c507820,759ede7a-e832-44e6-9b11-5bfb3c507820,0,1,64484611-b32c-4155-a063-7df5a3f924dd,64484611-b32c-4155-a063-7df5a3f924dd,0,1,2f2ac0db-db86-4ed2-a55a-b245b4d00d70,2f2ac0db-db86-4ed2-a55a-b245b4d00d70,0,1,821b93bd-f0dd-4468-972a-d9b2b4de72f1,821b93bd-f0dd-4468-972a-d9b2b4de72f1,0,1,56900066-90e3-40c0-b64a-8f7964a4dfc1,56900066-90e3-40c0-b64a-8f7964a4dfc1,0,1,56f0c4d6-9b13-486a-9586-05e657dca8be,56f0c4d6-9b13-486a-9586-05e657dca8be,0,1,c795c0d3-6a0d-4311-9821-df320663727e,c795c0d3-6a0d-4311-9821-df320663727e,0,1,512b8d89-8798-4549-9e79-b9c3f7d9098f,512b8d89-8798-4549-9e79-b9c3f7d9098f,0,1,e1fe71f8-f37c-4705-aca1-c25e2bdc5db6,e1fe71f8-f37c-4705-aca1-c25e2bdc5db6,0,1,7f356abf-9045-4a76-89f3-8b52d467122a,7f356abf-9045-4a76-89f3-8b52d467122a,0,1,625a61ac-4ad0-4b31-aa67-9f864154b9c4,625a61ac-4ad0-4b31-aa67-9f864154b9c4,0,1,51fa8d01-44a1-4e75-9b04-6a2504972f08,51fa8d01-44a1-4e75-9b04-6a2504972f08,0,1,73dae482-a1ee-4c57-8859-2dd8e8635a49,73dae482-a1ee-4c57-8859-2dd8e8635a49,0,1,e4ea640f-e3a4-44ad-b17d-51f32136372e,e4ea640f-e3a4-44ad-b17d-51f32136372e,0,1,7dca913d-e37a-4740-8e3d-677d379605ee,7dca913d-e37a-4740-8e3d-677d379605ee,0,1,bd1cf7ef-f3e2-4441-836b-16f2cc227aa9,bd1cf7ef-f3e2-4441-836b-16f2cc227aa9,0,1,c9035b0f-cfc4-4761-9ba0-a8aacfaa9c72,c9035b0f-cfc4-4761-9ba0-a8aacfaa9c72,0,1,7efb0bf4-d40c-417b-b9bc-f4a5af66ec09,7efb0bf4-d40c-417b-b9bc-f4a5af66ec09,0,1,4cd4694f-17f8-43ba-8940-07628bd937fe,4cd4694f-17f8-43ba-8940-07628bd937fe,0,1,7df6c94b-3cfe-4764-988e-858d733e35d9,7df6c94b-3cfe-4764-988e-858d733e35d9,0,1,8b251c7d-2d55-4734-a1da-7f1115d95080,8b251c7d-2d55-4734-a1da-7f1115d95080,0,1,87b3153d-bef0-4441-8b1c-a5fc7ba4c36a,87b3153d-bef0-4441-8b1c-a5fc7ba4c36a,0,1,5a8c3621-595a-4168-8bba-a7f8d499e47e,5a8c3621-595a-4168-8bba-a7f8d499e47e,0,1,fc4cfed6-e492-4420-b357-8143a8c2a41a,fc4cfed6-e492-4420-b357-8143a8c2a41a,0,1,4311a250-64af-443e-a711-93b7c41175cf,4311a250-64af-443e-a711-93b7c41175cf,0,1,804b6c57-1d7b-4927-be5b-84b7959fe55e,804b6c57-1d7b-4927-be5b-84b7959fe55e,0,1,f2655d85-79ea-4736-8f41-94a4f9b2b998,f2655d85-79ea-4736-8f41-94a4f9b2b998,0,1,21258174-3a95-4c10-bb8f-4d6db0c5ae0e,21258174-3a95-4c10-bb8f-4d6db0c5ae0e,0,1,a8eb5ed9-df99-405b-afad-eeaa98956eee,a8eb5ed9-df99-405b-afad-eeaa98956eee,0,1,a64d4b1b-fae4-43ae-ae98-bdc4e59a94c1,a64d4b1b-fae4-43ae-ae98-bdc4e59a94c1,0,1,26a1279f-91f0-4632-ad7c-21cf2f524208,26a1279f-91f0-4632-ad7c-21cf2f524208,0,1,bf751ed0-ee47-4eaf-81bd-f0da00bef343,bf751ed0-ee47-4eaf-81bd-f0da00bef343,0,1,14b65111-4c0e-4521-9fcd-2a8d4aaa6b4b,14b65111-4c0e-4521-9fcd-2a8d4aaa6b4b,0,1,1f1def7c-e0ee-4963-afea-1751bf1b812c,1f1def7c-e0ee-4963-afea-1751bf1b812c,0,1,9a4c0898-ab56-425c-8191-5ab90f4e12bf,9a4c0898-ab56-425c-8191-5ab90f4e12bf,0,1,6841ec47-7a84-441a-b975-69d089072ce7,6841ec47-7a84-441a-b975-69d089072ce7,0,1,ead4001a-0d8a-4b95-8212-2a40e5aa6659,ead4001a-0d8a-4b95-8212-2a40e5aa6659,0,1,22165c8a-2179-4cd5-b195-bd2721e9e232,22165c8a-2179-4cd5-b195-bd2721e9e232,0,1,b28c3a8f-8cad-45eb-90d3-6d90a0b3f881,b28c3a8f-8cad-45eb-90d3-6d90a0b3f881,0,1,3c5974ec-f76d-401c-a8e4-d51c7cd4c4fb,3c5974ec-f76d-401c-a8e4-d51c7cd4c4fb,0,1,609a9bc9-4225-4fe1-91fa-90c9c2e5cfba,609a9bc9-4225-4fe1-91fa-90c9c2e5cfba,0,1,d22ed498-c7df-45bb-869f-f16d3aa2d3d3,d22ed498-c7df-45bb-869f-f16d3aa2d3d3,0,1,4a966f6e-87dd-4dae-9cc0-dbabee9424dc,4a966f6e-87dd-4dae-9cc0-dbabee9424dc,0,1,9d9debfd-4a10-4f09-9d09-2aa5e058b525,9d9debfd-4a10-4f09-9d09-2aa5e058b525,0,1,fc19586c-d89c-495c-b473-6f85967ed48e,fc19586c-d89c-495c-b473-6f85967ed48e,0,1,2ac7c701-a281-4e77-a5f8-294526021e2d,2ac7c701-a281-4e77-a5f8-294526021e2d,0,1,979df549-889d-496a-b6ce-c56d54c771b5,979df549-889d-496a-b6ce-c56d54c771b5,0,1,91b320d8-3426-44d3-97d7-c200287d7343,91b320d8-3426-44d3-97d7-c200287d7343,0,1,b9297f72-b40a-4adb-9975-bb693d4834a4,b9297f72-b40a-4adb-9975-bb693d4834a4,0,1,41cf3916-216f-4c4e-a587-82777f4263e0,41cf3916-216f-4c4e-a587-82777f4263e0,0,1,2ce3a350-86f1-4275-8299-3c3693ca11fa,2ce3a350-86f1-4275-8299-3c3693ca11fa,0,1,59f0ed15-c84c-4f41-bdd4-26317e4e914d,59f0ed15-c84c-4f41-bdd4-26317e4e914d,0,1,4b5ff142-47b8-4548-b6f9-56ebcbd40e35,4b5ff142-47b8-4548-b6f9-56ebcbd40e35,0,1,8fef790c-a3f4-460c-9093-5065cbdba196,8fef790c-a3f4-460c-9093-5065cbdba196,0,1,79bd24d0-61a9-4558-90ac-4e726066789c,79bd24d0-61a9-4558-90ac-4e726066789c,0,1,d843cbd7-e2b5-4c50-8ed2-7cb0baac8ecc,d843cbd7-e2b5-4c50-8ed2-7cb0baac8ecc,0,1,ef356548-51a4-4b09-b37d-ede5b8f3edb6,ef356548-51a4-4b09-b37d-ede5b8f3edb6,0,1,53c0d900-5e96-4381-a1ed-4424a5799608,53c0d900-5e96-4381-a1ed-4424a5799608,0,1,64fe317a-7d0e-4758-b5cf-0d871d2bf4ad,64fe317a-7d0e-4758-b5cf-0d871d2bf4ad,0,1,abfb7ac3-ebfa-4275-a039-a6b94bb9a76f,abfb7ac3-ebfa-4275-a039-a6b94bb9a76f,0,1,45ca9e20-1246-4400-a019-ffb521af6ea7,45ca9e20-1246-4400-a019-ffb521af6ea7,0,1,73eed854-5c3a-4a10-9bfa-793fd517f303,73eed854-5c3a-4a10-9bfa-793fd517f303,0,1,c3eb2836-ea4d-48cc-a03f-3a0c30f67e7f,c3eb2836-ea4d-48cc-a03f-3a0c30f67e7f,0,1,9134dc40-a8f1-4c60-9431-27cb98be5ecd,9134dc40-a8f1-4c60-9431-27cb98be5ecd,0,1,16c4622a-33af-4a95-b44e-0861a6df21d2,16c4622a-33af-4a95-b44e-0861a6df21d2,0,1,d8cac67b-cce2-4a00-a8df-c6570c50153f,d8cac67b-cce2-4a00-a8df-c6570c50153f,0,1,37213c65-bf26-4e50-a2fa-58eb45439b58,37213c65-bf26-4e50-a2fa-58eb45439b58,0,1,e43c08a9-6496-4c8e-bfe2-9d728e31d63d,e43c08a9-6496-4c8e-bfe2-9d728e31d63d,0,1,b6b31892-73ee-4c9b-92b0-2735536c4938,b6b31892-73ee-4c9b-92b0-2735536c4938,0,1,deb8b883-142e-47d0-a722-7c734a0cf9b3,deb8b883-142e-47d0-a722-7c734a0cf9b3,0,1,a6794f74-08a4-4b73-add7-e6d0d1b6e7a3,a6794f74-08a4-4b73-add7-e6d0d1b6e7a3,0,1,29233058-ccb1-4110-a9bc-cdb4c531f35a,29233058-ccb1-4110-a9bc-cdb4c531f35a,0,1,cf3729b2-9ee6-437c-81df-83966793be50,cf3729b2-9ee6-437c-81df-83966793be50,0,1,429d08b7-0b98-4f9b-a053-d04dd84a7026,429d08b7-0b98-4f9b-a053-d04dd84a7026,0,1,b64fd964-cee8-4619-872f-82d2fdc14240,b64fd964-cee8-4619-872f-82d2fdc14240,0,1,5ce7846d-9806-40f5-8631-4e14deb8bc95,5ce7846d-9806-40f5-8631-4e14deb8bc95,0,1,79528a0e-1e48-4d14-bd28-756fd5db57b9,79528a0e-1e48-4d14-bd28-756fd5db57b9,0,1,4eeab8c2-d901-4b95-adea-4a08f79d0fa2,4eeab8c2-d901-4b95-adea-4a08f79d0fa2,0,1,d9426219-4b37-4776-8d5d-acab5825e789,d9426219-4b37-4776-8d5d-acab5825e789,0,1,7ce1f9eb-ac51-46fd-adc5-c8b9bfb32e44,7ce1f9eb-ac51-46fd-adc5-c8b9bfb32e44,0,1,4fef5026-1cba-4c33-ae75-5f9570a8e6b6,4fef5026-1cba-4c33-ae75-5f9570a8e6b6,0,1,243ee3d4-4130-41ea-a37c-c7b39a5e73fa,243ee3d4-4130-41ea-a37c-c7b39a5e73fa,0,1,29e7299a-ce80-497a-8102-615d0a001ea8,29e7299a-ce80-497a-8102-615d0a001ea8,0,1,f9e48170-62eb-4d6b-b861-c7af1b4a38c3,f9e48170-62eb-4d6b-b861-c7af1b4a38c3,0,1,9bcc8f9a-ec12-45f2-8a32-6946d556f57a,9bcc8f9a-ec12-45f2-8a32-6946d556f57a,0,1,adc2cc11-b647-453f-a98e-8a73b7c368c7,adc2cc11-b647-453f-a98e-8a73b7c368c7,0,1,4522c564-61da-40da-a749-5312121a331d,4522c564-61da-40da-a749-5312121a331d,0,1,9394c709-6cbe-4ef6-bc8c-cba8af65821e,9394c709-6cbe-4ef6-bc8c-cba8af65821e,0,1,2943b572-7411-4f92-a6cc-7ee552b85223,2943b572-7411-4f92-a6cc-7ee552b85223,0,1,28478e7a-e8aa-40aa-866c-a3624f903141,28478e7a-e8aa-40aa-866c-a3624f903141,0,1,f692ab21-a8de-4feb-914f-4beef350543a,f692ab21-a8de-4feb-914f-4beef350543a,0,1,0ec0b1a0-5f0d-4a14-9a84-49098befa0af,0ec0b1a0-5f0d-4a14-9a84-49098befa0af,0,1,c644ab9b-7bcb-4bfa-b8ba-4c5f7689c91c,c644ab9b-7bcb-4bfa-b8ba-4c5f7689c91c,0,1,dabb3395-6100-4f53-913d-e0230e81b494,dabb3395-6100-4f53-913d-e0230e81b494,0,1,e0a3fae1-1582-4c7a-acd8-870b558acec4,e0a3fae1-1582-4c7a-acd8-870b558acec4,0,1,8e755ce0-c571-4ed5-b0bb-9470edcb7c73,8e755ce0-c571-4ed5-b0bb-9470edcb7c73,0,1,02e1c293-7302-4751-a248-4bbeed9cbad5,02e1c293-7302-4751-a248-4bbeed9cbad5,0,1,c946cde8-c0d7-4acb-a3be-8858e392fc40,c946cde8-c0d7-4acb-a3be-8858e392fc40,0,1,3a111e0d-6466-46fd-95a2-1798b6e51ba0,3a111e0d-6466-46fd-95a2-1798b6e51ba0,0,1,645edcb0-e358-4d32-a9a9-9534af0398ca,645edcb0-e358-4d32-a9a9-9534af0398ca,0,1,efa1b4e5-d16c-4921-a48a-fe700e39dc71,efa1b4e5-d16c-4921-a48a-fe700e39dc71,0,1,e93402db-e7dd-465e-8c62-2a41efd811b8,e93402db-e7dd-465e-8c62-2a41efd811b8,0,1,e0157f72-a362-4b9f-a272-68ca8078b91c,e0157f72-a362-4b9f-a272-68ca8078b91c,0,1,422155c7-1640-48c4-bb21-36595b405c66,422155c7-1640-48c4-bb21-36595b405c66,0,1,16d37b5a-88db-4787-b2de-fb50da0ca94b,16d37b5a-88db-4787-b2de-fb50da0ca94b,0,1,f653bcbf-5659-4605-9bb9-3737f19e79dd,f653bcbf-5659-4605-9bb9-3737f19e79dd,0,1,8b980868-fe63-49ff-ba3d-4c29732e1b90,8b980868-fe63-49ff-ba3d-4c29732e1b90,0,1,54668731-4963-4ec3-b188-9feacaefa182,54668731-4963-4ec3-b188-9feacaefa182,0,1,3702135e-5380-4ca6-82f5-63eff1b043e9,3702135e-5380-4ca6-82f5-63eff1b043e9,0,1,29b2104b-fd02-4d51-951f-51ea213b8ebd,29b2104b-fd02-4d51-951f-51ea213b8ebd,0,1,ba5c945e-554f-45a2-a2de-3157b2d7e931,ba5c945e-554f-45a2-a2de-3157b2d7e931,0,1,f7085f33-f122-4443-a3f5-4e765300175e,f7085f33-f122-4443-a3f5-4e765300175e,0,1,b7e4c512-b856-4679-a025-5f0f28918593,b7e4c512-b856-4679-a025-5f0f28918593,0,1,bba56b8f-a3f3-4d3f-9804-f9569bb1f6f3,bba56b8f-a3f3-4d3f-9804-f9569bb1f6f3,0,1,cff7ba79-9418-43a4-badc-3e3cc2f6bd5b,cff7ba79-9418-43a4-badc-3e3cc2f6bd5b,0,1,a9362ac4-85ee-4214-80c1-048fab769885,a9362ac4-85ee-4214-80c1-048fab769885,0,1,a4e89d2a-d6f7-4966-ac3c-57f1ef1d1a3a,a4e89d2a-d6f7-4966-ac3c-57f1ef1d1a3a,0,1,20f1114a-0b98-464f-aed8-80ce706b808e,20f1114a-0b98-464f-aed8-80ce706b808e,0,1,988b05ae-987a-4433-b446-bcc7bf5d9ea4,988b05ae-987a-4433-b446-bcc7bf5d9ea4,0,1,07e3de4e-28d9-48dc-9253-a2c39c34f827,07e3de4e-28d9-48dc-9253-a2c39c34f827,0,1,241db5c5-e3bc-4db8-bc88-39db84bb60e9,241db5c5-e3bc-4db8-bc88-39db84bb60e9,0,1,c147916d-1fb6-473d-bde0-8dd528dde8eb,c147916d-1fb6-473d-bde0-8dd528dde8eb,0,1,00359e00-aba0-4afb-8b58-2e1247dbe04f,00359e00-aba0-4afb-8b58-2e1247dbe04f,0,1,fc959221-6313-45d9-b2c4-85befaede226,fc959221-6313-45d9-b2c4-85befaede226,0,1,6ffa8536-7639-4e9a-9f6d-4eda71f5ca3b,6ffa8536-7639-4e9a-9f6d-4eda71f5ca3b,0,1,5206d407-ac91-477e-80e7-97c312da934c,5206d407-ac91-477e-80e7-97c312da934c,0,1,15b53eaa-cb35-4385-9515-c2ec6e1fdb4b,15b53eaa-cb35-4385-9515-c2ec6e1fdb4b,0,1,ccb8a530-260a-4488-b1d9-c67325c69bf4,ccb8a530-260a-4488-b1d9-c67325c69bf4,0,1,0b13cad5-91ae-4cd1-a620-9a315ae8024c,0b13cad5-91ae-4cd1-a620-9a315ae8024c,0,1,d0634a8e-676f-4f49-9a38-7cb80cfa9fdf,d0634a8e-676f-4f49-9a38-7cb80cfa9fdf,0,1,59bb5271-4cc7-45aa-8e2a-f556a4afa2dc,59bb5271-4cc7-45aa-8e2a-f556a4afa2dc,0,1,81dd61e5-fe02-4272-a525-affda9b606ca,81dd61e5-fe02-4272-a525-affda9b606ca,0,1,8de7b423-b7d1-46fe-b1dc-fb936736b864,8de7b423-b7d1-46fe-b1dc-fb936736b864,0,1,f565876c-0326-4b12-895e-c248b9e64115,f565876c-0326-4b12-895e-c248b9e64115,0,1,62f075c5-1ad0-4a29-9f40-567b9fa70cdf,62f075c5-1ad0-4a29-9f40-567b9fa70cdf,0,1,0f6f8fd9-b3af-4d06-bc47-bdad238d15b7,0f6f8fd9-b3af-4d06-bc47-bdad238d15b7,0,1,460e76d2-4ed6-464e-bf9c-a6bcf920aaf2,460e76d2-4ed6-464e-bf9c-a6bcf920aaf2,0,1,80c23bf0-cef0-4d07-a017-d90635f8041d,80c23bf0-cef0-4d07-a017-d90635f8041d,0,1,47a24216-3299-470b-a18c-d8c1258fff24,47a24216-3299-470b-a18c-d8c1258fff24,0,1,72dcfd46-491e-4f88-a0ea-57919f8fbdea,72dcfd46-491e-4f88-a0ea-57919f8fbdea,0,1,fa7a11cc-7ee0-4550-8d0d-9c7464d57a37,fa7a11cc-7ee0-4550-8d0d-9c7464d57a37,0,1,f9161bc3-9a1c-4870-8681-8e97d8ce838a,f9161bc3-9a1c-4870-8681-8e97d8ce838a,0,1,a75ed1c8-20c2-49a8-a730-22237ef91366,a75ed1c8-20c2-49a8-a730-22237ef91366,0,1,1c0ebdfd-1913-48fe-b80a-10c30201129b,1c0ebdfd-1913-48fe-b80a-10c30201129b,0,1,22ad3db7-1ad3-4868-8598-b0b90db3fa1f,22ad3db7-1ad3-4868-8598-b0b90db3fa1f,0,1,14025e38-09af-43b2-a49b-403e398a28ea,14025e38-09af-43b2-a49b-403e398a28ea,0,1,5e53ccc6-5ab4-4f9d-b524-0081d345d7a2,5e53ccc6-5ab4-4f9d-b524-0081d345d7a2,0,1,c3b3805b-3501-47a7-b280-46180049b235,c3b3805b-3501-47a7-b280-46180049b235,0,1,29af05c2-37de-495b-b3cf-477d452abe5e,29af05c2-37de-495b-b3cf-477d452abe5e,0,1,0c732569-a50f-4be3-a214-0843c6a3da47,0c732569-a50f-4be3-a214-0843c6a3da47,0,1,5e922083-0ceb-449a-8201-7dd27a46f2fc,5e922083-0ceb-449a-8201-7dd27a46f2fc,0,1,d97e78c7-f2c1-4e0e-9c9b-d2dd6a94da22,d97e78c7-f2c1-4e0e-9c9b-d2dd6a94da22,0,1,e757303e-c61a-4e42-9829-c5a36dba9414,e757303e-c61a-4e42-9829-c5a36dba9414,0,1,091de87c-0801-4bd3-aaaa-ed37bc4cd161,091de87c-0801-4bd3-aaaa-ed37bc4cd161,0,1,9a6bfcbe-6ac7-4839-bfb9-a11b97e64185,9a6bfcbe-6ac7-4839-bfb9-a11b97e64185,0,1,b53c545c-3b1c-4315-a213-4f2b2c7128aa,b53c545c-3b1c-4315-a213-4f2b2c7128aa,0,1,02a84df9-2171-43e6-8135-a74edd384826,02a84df9-2171-43e6-8135-a74edd384826,0,1,ff36356d-cb1d-4316-896a-c6ae83b92437,ff36356d-cb1d-4316-896a-c6ae83b92437,0,1,465cce6a-7064-4b0a-932c-40f842042f33,465cce6a-7064-4b0a-932c-40f842042f33,0,1,f9cd82e7-8252-4bb6-8e08-23ab45ed3976,f9cd82e7-8252-4bb6-8e08-23ab45ed3976,0,1,8f17ec3f-6d62-46b8-baef-b20430e948ce,8f17ec3f-6d62-46b8-baef-b20430e948ce,0,1,ea1298d0-9396-4a50-b83e-24064e8dd99d,ea1298d0-9396-4a50-b83e-24064e8dd99d,0,1,038dbb00-e4c6-4e64-b861-3a0764f54ab3,038dbb00-e4c6-4e64-b861-3a0764f54ab3,0,1,1c291f7d-a493-4297-8aaa-912896800066,1c291f7d-a493-4297-8aaa-912896800066,0,1,69149801-a825-4ed2-b077-c26660dff271,69149801-a825-4ed2-b077-c26660dff271,0,1,12146ed3-c159-4d6b-ae1a-1ecd30e5a87e,12146ed3-c159-4d6b-ae1a-1ecd30e5a87e,0,1,518ab687-b84a-40c8-8547-aee4257c1b71,518ab687-b84a-40c8-8547-aee4257c1b71,0,1,5cec0949-bfe8-4f7e-98c1-0c402be3ea09,5cec0949-bfe8-4f7e-98c1-0c402be3ea09,0,1,7732ef07-16eb-46a0-9645-7de95c5482af,7732ef07-16eb-46a0-9645-7de95c5482af,0,1,75dac536-b316-4b04-a57b-03656c678bec,75dac536-b316-4b04-a57b-03656c678bec,0,1,a07d6c85-159d-4d09-b117-561a1e20329f,a07d6c85-159d-4d09-b117-561a1e20329f,0,1,8a2f9733-4f83-41f2-9d74-dca7161a4b41,8a2f9733-4f83-41f2-9d74-dca7161a4b41,0,1,fbd2d900-1e0d-48f3-9793-0186ee49915c,fbd2d900-1e0d-48f3-9793-0186ee49915c,0,1,4a69a70d-1b4c-4999-a3dd-ae1deb331fea,4a69a70d-1b4c-4999-a3dd-ae1deb331fea,0,1,3a36e0f5-a645-47f1-99ae-5b0493d604ad,3a36e0f5-a645-47f1-99ae-5b0493d604ad,0,1,57f762f7-b8e4-498b-a3dc-3d40c94855ec,57f762f7-b8e4-498b-a3dc-3d40c94855ec,0,1,ca7d4086-de35-40fd-af65-73369d452135,ca7d4086-de35-40fd-af65-73369d452135,0,1,563c0f5c-e0b4-4229-a3f6-183091060aa4,563c0f5c-e0b4-4229-a3f6-183091060aa4,0,1,bf967588-ea8f-49a3-9331-af2331ffa162,bf967588-ea8f-49a3-9331-af2331ffa162,0,1,5083530c-9a24-4def-99c1-6eb9514e9b33,5083530c-9a24-4def-99c1-6eb9514e9b33,0,1,d59c2725-5d98-495e-9f86-f5d38dbfad90,d59c2725-5d98-495e-9f86-f5d38dbfad90,0,1,176f8835-73d2-4fbe-9d2a-0a4c79d3b871,176f8835-73d2-4fbe-9d2a-0a4c79d3b871,0,1,0ba68198-983d-409b-be27-96f1572b3f12,0ba68198-983d-409b-be27-96f1572b3f12,0,1,9cd1e8dd-e2be-48a9-b32d-43688e1748bc,9cd1e8dd-e2be-48a9-b32d-43688e1748bc,0,1,decb27a8-7dd3-4601-a694-30429e638b39,decb27a8-7dd3-4601-a694-30429e638b39,0,1,922ac6c0-a6a8-444e-9aad-27dc0f49b32e,922ac6c0-a6a8-444e-9aad-27dc0f49b32e,0,1,d7a128e4-f31f-4b09-8424-e816ab59d5c3,d7a128e4-f31f-4b09-8424-e816ab59d5c3,0,1,0ce6e252-8d6e-4bfe-b8cc-daf3434fa51e,0ce6e252-8d6e-4bfe-b8cc-daf3434fa51e,0,1,aa9513b4-f575-4030-a7f9-ac09aa319e98,aa9513b4-f575-4030-a7f9-ac09aa319e98,0,1,f01afc5e-91b8-4cc2-b63a-c245e5e36d01,f01afc5e-91b8-4cc2-b63a-c245e5e36d01,0,1,028cbc0e-023d-40ad-86c3-5e6f8dc96c57,028cbc0e-023d-40ad-86c3-5e6f8dc96c57,0,1,d03f66b1-48a3-434b-bb58-9fd53c183514,d03f66b1-48a3-434b-bb58-9fd53c183514,0,1,a469e55e-d7ca-4c27-b350-fafe7364c18f,a469e55e-d7ca-4c27-b350-fafe7364c18f,0,1,3ad5d8a7-3071-46aa-aebf-306bdb67983b,3ad5d8a7-3071-46aa-aebf-306bdb67983b,0,1,ab7ef662-71c1-4d51-9f0f-ea8c5ea3df8a,ab7ef662-71c1-4d51-9f0f-ea8c5ea3df8a,0,1,cb954476-c551-4a06-9bcd-18d67ba47dc8,cb954476-c551-4a06-9bcd-18d67ba47dc8,0,1,79201015-bfae-463e-81f1-0ae2d3066f3f,79201015-bfae-463e-81f1-0ae2d3066f3f,0,1,1ea3178b-73dd-4063-9140-c61687a4b1b8,1ea3178b-73dd-4063-9140-c61687a4b1b8,0,1,85fd7ef4-2886-4e2c-a6eb-63d0b0b9cd55,85fd7ef4-2886-4e2c-a6eb-63d0b0b9cd55,0,1,696723be-7b4f-4321-956e-eff07ea9f5fa,696723be-7b4f-4321-956e-eff07ea9f5fa,0,1,616c27dc-5c59-4469-97a7-27e0752bd3a7,616c27dc-5c59-4469-97a7-27e0752bd3a7,0,1,f7323121-74bc-441c-a3e9-dd5cb4f0accd,f7323121-74bc-441c-a3e9-dd5cb4f0accd,0,1,bb264e83-49f4-4b7a-8be2-094712fc0640,bb264e83-49f4-4b7a-8be2-094712fc0640,0,1,07bf650d-e61e-44f3-9643-6ffc95b913fb,07bf650d-e61e-44f3-9643-6ffc95b913fb,0,1,6b90ed05-813c-4324-8a69-02c2268856b2,6b90ed05-813c-4324-8a69-02c2268856b2,0,1,081ed48d-cb87-459d-97d6-9af121edbabb,081ed48d-cb87-459d-97d6-9af121edbabb,0,1,6c4074b2-f631-451d-b412-1c8c096a71b1,6c4074b2-f631-451d-b412-1c8c096a71b1,0,1,f9931a20-8391-4b13-8c6d-1836f2492e53,f9931a20-8391-4b13-8c6d-1836f2492e53,0,1,c6eec20b-13b9-44a0-968f-1325680c399b,c6eec20b-13b9-44a0-968f-1325680c399b,0,1,02fbf083-1bdd-4900-9dc1-62f415b792a4,02fbf083-1bdd-4900-9dc1-62f415b792a4,0,1,35454c2d-7088-487b-abb3-f95f2dfdcffa,35454c2d-7088-487b-abb3-f95f2dfdcffa,0,1,66b010d9-5294-4dd8-b69f-709e1410c105,66b010d9-5294-4dd8-b69f-709e1410c105,0,1,f922bcdb-bf1a-4381-a26a-15669deb15a2,f922bcdb-bf1a-4381-a26a-15669deb15a2,0,1,f641e65b-0580-4791-a642-95bdc8eb7c1a,f641e65b-0580-4791-a642-95bdc8eb7c1a,0,1,a480b235-eb2c-4f28-8c9d-a6d1455718d8,a480b235-eb2c-4f28-8c9d-a6d1455718d8,0,1,07d5d8d4-c684-4a39-93d3-46fe436e738e,07d5d8d4-c684-4a39-93d3-46fe436e738e,0,1,9e7dcb6e-7343-47aa-9757-d270aaa590b7,9e7dcb6e-7343-47aa-9757-d270aaa590b7,0,1,156c081f-4fbc-44e2-9f3b-df00393ee30f,156c081f-4fbc-44e2-9f3b-df00393ee30f,0,1,e00b724c-ab0f-4d37-9f02-05d22116b324,e00b724c-ab0f-4d37-9f02-05d22116b324,0,1,2fb5460d-c175-4650-9b00-a8af8ec47487,2fb5460d-c175-4650-9b00-a8af8ec47487,0,1,f5bc219e-dbc6-483e-9c33-ca84e556f459,f5bc219e-dbc6-483e-9c33-ca84e556f459,0,1,6bca52bc-8c91-43a9-9381-91b782972640,6bca52bc-8c91-43a9-9381-91b782972640,0,1,3eed74ae-d661-467f-a300-80cfa43b6056,3eed74ae-d661-467f-a300-80cfa43b6056,0,1,84aff2b4-233e-467e-bc00-0c4c745a5d5a,84aff2b4-233e-467e-bc00-0c4c745a5d5a,0,1,5238ef5b-f8cb-4387-b49f-6c46fa14e17f,5238ef5b-f8cb-4387-b49f-6c46fa14e17f,0,1,65dc6c73-94b1-408d-9c5b-82300a6ca1e4,65dc6c73-94b1-408d-9c5b-82300a6ca1e4,0,1,e5db7d04-bec6-4bee-b4d4-d1dadf8114f7,e5db7d04-bec6-4bee-b4d4-d1dadf8114f7,0,1,837c0e19-fe2b-4640-9506-ff36f9d77510,837c0e19-fe2b-4640-9506-ff36f9d77510,0,1,96fe619a-b819-4f96-9788-e1f4ef57833a,96fe619a-b819-4f96-9788-e1f4ef57833a,0,1,94dff2da-f721-411a-9fc0-5d013b685dcc,94dff2da-f721-411a-9fc0-5d013b685dcc,0,1,9343fc5f-7b08-4be5-8cd5-dbed635b819d,9343fc5f-7b08-4be5-8cd5-dbed635b819d,0,1,99e87e66-1b07-451b-a476-f5213cbd7150,99e87e66-1b07-451b-a476-f5213cbd7150,0,1,c3317f75-f6ad-41f6-97f1-77074c3ff62a,c3317f75-f6ad-41f6-97f1-77074c3ff62a,0,1,8800dec9-84f8-4643-8742-1d76fe575f58,8800dec9-84f8-4643-8742-1d76fe575f58,0,1,62903794-3b41-4d21-b800-1c26dbeda3ce,62903794-3b41-4d21-b800-1c26dbeda3ce,0,1,9bda4a0b-e8a7-4acf-9f07-4033b3a84ebc,9bda4a0b-e8a7-4acf-9f07-4033b3a84ebc,0,1,93de88de-0069-4aa8-96b2-d5709e4def2f,93de88de-0069-4aa8-96b2-d5709e4def2f,0,1,9f94fadf-ac9d-4e57-9fe4-41ce8cfbec6a,9f94fadf-ac9d-4e57-9fe4-41ce8cfbec6a,0,1,12d4ffc8-592e-42a7-b8c6-20bd58f6da90,12d4ffc8-592e-42a7-b8c6-20bd58f6da90,0,1,3a8d9010-8785-4d8d-b908-b821d7d681c9,3a8d9010-8785-4d8d-b908-b821d7d681c9,0,1,2568a935-ea49-4b99-aa9c-de27de6a0e81,2568a935-ea49-4b99-aa9c-de27de6a0e81,0,1,1c1e01f2-b2b3-480d-ae51-2db27b82dedd,1c1e01f2-b2b3-480d-ae51-2db27b82dedd,0,1,df459525-4e4d-4819-b996-5a6379b22a88,df459525-4e4d-4819-b996-5a6379b22a88,0,1,ed1d69f4-b09f-430a-bb2e-a23fe4dedf6b,ed1d69f4-b09f-430a-bb2e-a23fe4dedf6b,0,1,e67b4a32-4bac-450e-be6d-88c262383f31,e67b4a32-4bac-450e-be6d-88c262383f31,0,1,8b83bb54-4c23-4bd8-bd00-374a7a101cfa,8b83bb54-4c23-4bd8-bd00-374a7a101cfa,0,1,6c4c3eca-8b02-451b-af52-93073c3da146,6c4c3eca-8b02-451b-af52-93073c3da146,0,1,095c281c-3903-465d-baea-af1e6abf8019,095c281c-3903-465d-baea-af1e6abf8019,0,1,440d115d-a769-427e-891a-88d65fba2057,440d115d-a769-427e-891a-88d65fba2057,0,1,f7932210-027e-4fad-b7f7-3530789ce803,f7932210-027e-4fad-b7f7-3530789ce803,0,1,7bbfd95e-39a1-485b-930f-c9210c18dcd0,7bbfd95e-39a1-485b-930f-c9210c18dcd0,0,1,4975d3d6-b5a2-41c6-973b-6817013a388d,4975d3d6-b5a2-41c6-973b-6817013a388d,0,1,18ebc799-9724-4ffb-855e-b09a0723869e,18ebc799-9724-4ffb-855e-b09a0723869e,0,1,a06b8ef5-83e6-4fc6-91e1-256004134d69,a06b8ef5-83e6-4fc6-91e1-256004134d69,0,1,1d6a68ec-917f-4c3b-b970-797a6921cbc9,1d6a68ec-917f-4c3b-b970-797a6921cbc9,0,1,ae29eb40-5c8f-4ab4-8556-f98d45e8effe,ae29eb40-5c8f-4ab4-8556-f98d45e8effe,0,1,5b663988-3599-46dc-8d59-4c82ceac537c,5b663988-3599-46dc-8d59-4c82ceac537c,0,1,0f5f136c-688b-491e-a72b-3d9c2e609f0e,0f5f136c-688b-491e-a72b-3d9c2e609f0e,0,1,5573b405-6ac4-4632-b8d6-5d1cbdb63b97,5573b405-6ac4-4632-b8d6-5d1cbdb63b97,0,1,679cc0df-df5c-4c33-8c64-c0b6cee39116,679cc0df-df5c-4c33-8c64-c0b6cee39116,0,1,b156752b-f25c-4f35-9474-8ac3636597f5,b156752b-f25c-4f35-9474-8ac3636597f5,0,1,17aadd5f-cda2-4785-a07f-3ab4b04434a6,17aadd5f-cda2-4785-a07f-3ab4b04434a6,0,1,71bc35e6-0fec-4e54-af2d-23d1357d1c3b,71bc35e6-0fec-4e54-af2d-23d1357d1c3b,0,1,1832336e-32f6-42c4-9087-8614ead52bb3,1832336e-32f6-42c4-9087-8614ead52bb3,0,1,ff9f7b5c-70f4-4eed-8216-64448e7da76f,ff9f7b5c-70f4-4eed-8216-64448e7da76f,0,1,44ac2869-990d-4cac-a14b-c1a28854341e,44ac2869-990d-4cac-a14b-c1a28854341e,0,1,d5df31c3-89f9-469c-80a9-fb4706d30bc4,d5df31c3-89f9-469c-80a9-fb4706d30bc4,0,1,e73a6a9d-8ddd-4531-9f17-745117d9da9b,e73a6a9d-8ddd-4531-9f17-745117d9da9b,0,1,9dd4e17c-d10b-435e-8665-08997edc3e7e,9dd4e17c-d10b-435e-8665-08997edc3e7e,0,1,cafd44e1-8509-4550-8329-ff8cab0c31ae,cafd44e1-8509-4550-8329-ff8cab0c31ae,0,1,ee6e5e56-5848-46b6-89bf-b9345a57d94c,ee6e5e56-5848-46b6-89bf-b9345a57d94c,0,1,8817c872-bdee-4577-bcc3-4046edc72803,8817c872-bdee-4577-bcc3-4046edc72803,0,1,5b88c214-4e4e-45c2-b8c5-14eb852e9900,5b88c214-4e4e-45c2-b8c5-14eb852e9900,0,1,105cd740-1f60-45e1-871c-adeecd291b0d,105cd740-1f60-45e1-871c-adeecd291b0d,0,1,95aec7d2-179b-4ea3-a3df-3d737b713564,95aec7d2-179b-4ea3-a3df-3d737b713564,0,1,4bd1cae4-d5b5-444e-9cf5-67a969714293,4bd1cae4-d5b5-444e-9cf5-67a969714293,0,1,b1a330d7-9b88-44e9-aba6-41ce5e5e669c,b1a330d7-9b88-44e9-aba6-41ce5e5e669c,0,1,f279a625-b88f-43b4-bce9-de1186fe7d7e,f279a625-b88f-43b4-bce9-de1186fe7d7e,0,1,99fc224a-2a61-441a-85e9-d69df6aa8b5e,99fc224a-2a61-441a-85e9-d69df6aa8b5e,0,1,a528c26f-3ceb-4ae4-8420-edfbdea6e1ac,a528c26f-3ceb-4ae4-8420-edfbdea6e1ac,0,1,d009782b-d73e-42d1-9979-2cbaf20ee98e,d009782b-d73e-42d1-9979-2cbaf20ee98e,0,1,1ef6282c-ae81-4d76-8e3e-99fec58fc7bd,1ef6282c-ae81-4d76-8e3e-99fec58fc7bd,0,1,88d8edf7-654f-4627-b68d-c7e929726da6,88d8edf7-654f-4627-b68d-c7e929726da6,0,1,1725c619-9c4a-40ac-9044-00fee71945a4,1725c619-9c4a-40ac-9044-00fee71945a4,0,1,45a85e25-7c33-4ff5-87a0-2a0b4cda8130,45a85e25-7c33-4ff5-87a0-2a0b4cda8130,0,1,e95b126d-797d-4071-b7b4-b14aaf595f2d,e95b126d-797d-4071-b7b4-b14aaf595f2d,0,1,9241ea3c-633f-4469-9e70-c5a20e464da8,9241ea3c-633f-4469-9e70-c5a20e464da8,0,1,bbadbe1b-cb33-4cc5-84c8-a4fdfc8a2247,bbadbe1b-cb33-4cc5-84c8-a4fdfc8a2247,0,1,961ae0fb-7f7b-414d-8fbf-32b893b41085,961ae0fb-7f7b-414d-8fbf-32b893b41085,0,1,10adf8c8-6f5f-477f-b244-4452b774b766,10adf8c8-6f5f-477f-b244-4452b774b766,0,1,ac9dcb8c-d4f5-4f0d-affb-e4187eafdf14,ac9dcb8c-d4f5-4f0d-affb-e4187eafdf14,0,1,04ec5e44-8469-4e9c-8021-83d258f2ec54,04ec5e44-8469-4e9c-8021-83d258f2ec54,0,1,cff36ede-0bd1-424b-8c75-b9695133f32e,cff36ede-0bd1-424b-8c75-b9695133f32e,0,1,9d872d99-eac7-43ee-8ce2-c9d31a76bd75,9d872d99-eac7-43ee-8ce2-c9d31a76bd75,0,1,77e5bd01-35f3-4072-bc7a-8730e6dcbab3,77e5bd01-35f3-4072-bc7a-8730e6dcbab3,0,1,58b33683-1916-4aef-9b98-5569ef7782ed,58b33683-1916-4aef-9b98-5569ef7782ed,0,1,d3e1f622-f438-4cad-94ae-0272f51610f7,d3e1f622-f438-4cad-94ae-0272f51610f7,0,1,64ac2c2a-2726-4ab9-9a6a-3d08f3fc0618,64ac2c2a-2726-4ab9-9a6a-3d08f3fc0618,0,1,8569cd73-d40d-4d92-83e0-8ece0c03a86a,8569cd73-d40d-4d92-83e0-8ece0c03a86a,0,1,9ebe2809-be6b-4c91-9443-b237fb7ad43c,9ebe2809-be6b-4c91-9443-b237fb7ad43c,0,1,bf29c091-de15-4cd4-be0e-a9785f97d444,bf29c091-de15-4cd4-be0e-a9785f97d444,0,1,6a675752-fd31-46a5-8a62-2a1ede437c68,6a675752-fd31-46a5-8a62-2a1ede437c68,0,1,8ff109f7-db33-4713-92bf-000f70d2014a,8ff109f7-db33-4713-92bf-000f70d2014a,0,1,97a65f49-845f-4eed-ae81-61266ed3e05b,97a65f49-845f-4eed-ae81-61266ed3e05b,0,1,060b2bb4-ca03-4da9-930f-7f91f6299a35,060b2bb4-ca03-4da9-930f-7f91f6299a35,0,1,394b1a1c-a7ae-41b7-a346-4bac99fa567d,394b1a1c-a7ae-41b7-a346-4bac99fa567d,0,1,9a5fa511-59e8-4a1b-a101-f276f0b7b261,9a5fa511-59e8-4a1b-a101-f276f0b7b261,0,1,ccfe4e36-80b6-419f-8bb3-c1046203d023,ccfe4e36-80b6-419f-8bb3-c1046203d023,0,1,94b2e060-53b7-4b40-af05-30bea3520330,94b2e060-53b7-4b40-af05-30bea3520330,0,1,0f634f7e-7d6b-43e4-8e5e-a31ed05898ea,0f634f7e-7d6b-43e4-8e5e-a31ed05898ea,0,1,41b0dabd-85a3-4819-84dd-371eaf4f996e,41b0dabd-85a3-4819-84dd-371eaf4f996e,0,1,86a5ba4d-0681-4ddc-a505-0f537528e1a3,86a5ba4d-0681-4ddc-a505-0f537528e1a3,0,1,12d936f5-932b-4561-b934-c8444808a450,12d936f5-932b-4561-b934-c8444808a450,0,1,2ccb06ca-9bb7-4b74-9a96-c109bb117984,2ccb06ca-9bb7-4b74-9a96-c109bb117984,0,1,ac1a661d-db18-4576-80a9-a19d4140c05e,ac1a661d-db18-4576-80a9-a19d4140c05e,0,1,acd89f6c-a25f-47b9-ac21-036bfafcc0fc,acd89f6c-a25f-47b9-ac21-036bfafcc0fc,0,1,c3ffeb09-121b-4d77-9c15-def4648b4f3c,c3ffeb09-121b-4d77-9c15-def4648b4f3c,0,1,c2de0724-04c1-4adb-b62a-b7ba727dbe67,c2de0724-04c1-4adb-b62a-b7ba727dbe67,0,1,4ae26777-69ff-4a55-942b-0bad8ab7a70a,4ae26777-69ff-4a55-942b-0bad8ab7a70a,0,1,a0d8fb0a-0e90-4140-8687-e249b153dc66,a0d8fb0a-0e90-4140-8687-e249b153dc66,0,1,917c6f60-2a07-4587-9496-d393aff93953,917c6f60-2a07-4587-9496-d393aff93953,0,1,4bac50a2-762a-44e6-b8c5-3b09ef1a3f5e,4bac50a2-762a-44e6-b8c5-3b09ef1a3f5e,0,1,9fe72d73-4c95-47e0-bf92-dcb714d747c6,9fe72d73-4c95-47e0-bf92-dcb714d747c6,0,1,fe00e64f-2fa9-44a7-9bd7-854ebb6c0185,fe00e64f-2fa9-44a7-9bd7-854ebb6c0185,0,1,4d84bb11-e06e-4ed9-915b-76ee0e385a8b,4d84bb11-e06e-4ed9-915b-76ee0e385a8b,0,1,2b94076d-39ee-45ad-9ba5-435115cf5d4f,2b94076d-39ee-45ad-9ba5-435115cf5d4f,0,1,72ace16c-e90a-4d05-bc23-4351d4c87683,72ace16c-e90a-4d05-bc23-4351d4c87683,0,1,bd86e378-84bb-486a-be7b-319a3fe3b70b,bd86e378-84bb-486a-be7b-319a3fe3b70b,0,1,ef3bc279-6721-4949-8dc0-f96141f7f05c,ef3bc279-6721-4949-8dc0-f96141f7f05c,0,1,f81c7e21-48ad-4b64-975d-e62d34c7235a,f81c7e21-48ad-4b64-975d-e62d34c7235a,0,1,d0523c14-585e-45d3-9735-891235631004,d0523c14-585e-45d3-9735-891235631004,0,1,b6f8bc3e-f0cd-43ef-b060-d701cd446197,b6f8bc3e-f0cd-43ef-b060-d701cd446197,0,1,4f10e5f9-6cfd-4fa9-9c72-d19a484a796c,4f10e5f9-6cfd-4fa9-9c72-d19a484a796c,0,1,b94e805f-e1ab-4870-b855-98aa401864b2,b94e805f-e1ab-4870-b855-98aa401864b2,0,1,ff8eedeb-fc3e-4bee-852b-6da6d59ff38c,ff8eedeb-fc3e-4bee-852b-6da6d59ff38c,0,1,a98bd18f-ccda-41a2-a1b2-8b37cc1f6c36,a98bd18f-ccda-41a2-a1b2-8b37cc1f6c36,0,1,62f9fe19-3d64-4506-a0bc-dbfe47b4df64,62f9fe19-3d64-4506-a0bc-dbfe47b4df64,0,1,60aaa289-1f07-438c-8f10-81058ac671c3,60aaa289-1f07-438c-8f10-81058ac671c3,0,1,7312a4ab-a269-4d85-a2c2-25bd5c5dc59c,7312a4ab-a269-4d85-a2c2-25bd5c5dc59c,0,1,c44b0868-bd7f-4230-973b-544ff4dd2afe,c44b0868-bd7f-4230-973b-544ff4dd2afe,0,1,51e6a6f9-ce9d-4cb0-a40c-384ede074e07,51e6a6f9-ce9d-4cb0-a40c-384ede074e07,0,1,6236ac73-5b9f-4fb5-bb2c-a5d8e205c5db,6236ac73-5b9f-4fb5-bb2c-a5d8e205c5db,0,1,5e22429f-9ec0-4943-bf80-1becc4b8e5cb,5e22429f-9ec0-4943-bf80-1becc4b8e5cb,0,1,0153e60e-daca-48ac-b1c6-adecc89f579e,0153e60e-daca-48ac-b1c6-adecc89f579e,0,1,1ed4cf25-19f0-49f5-96a0-0ffe13adfe35,1ed4cf25-19f0-49f5-96a0-0ffe13adfe35,0,1,a896bc34-30a6-48b6-acfc-786c24c186bd,a896bc34-30a6-48b6-acfc-786c24c186bd,0,1,3867f4cb-bf54-42fb-8ea6-ca51d7cd6c91,3867f4cb-bf54-42fb-8ea6-ca51d7cd6c91,0,1,da8ae00a-7207-4ceb-b739-9114888c5b27,da8ae00a-7207-4ceb-b739-9114888c5b27,0,1,91af7a52-0825-4af5-94df-cc501e0123cd,91af7a52-0825-4af5-94df-cc501e0123cd,0,1,1c2cc78a-2ae6-4996-a743-7b55aecbe84c,1c2cc78a-2ae6-4996-a743-7b55aecbe84c,0,1,9292bf81-5668-4d52-a4ec-a93bc4b0ad3b,9292bf81-5668-4d52-a4ec-a93bc4b0ad3b,0,1,9693cc78-852e-445b-a7d2-f1689fa9eeec,9693cc78-852e-445b-a7d2-f1689fa9eeec,0,1,eb33e555-db41-462a-a45d-c7e0945cece8,eb33e555-db41-462a-a45d-c7e0945cece8,0,1,9cfd517c-1008-483a-9f65-7d15feb2cefc,9cfd517c-1008-483a-9f65-7d15feb2cefc,0,1,d66adc5e-25a3-472e-b0a4-5f22f88d7a0f,d66adc5e-25a3-472e-b0a4-5f22f88d7a0f,0,1,ae48d48f-cd39-4821-a4b7-9394b2a77ef6,ae48d48f-cd39-4821-a4b7-9394b2a77ef6,0,1,f34d3a69-533e-49df-b91d-f7f7f49c5fb1,f34d3a69-533e-49df-b91d-f7f7f49c5fb1,0,1,1d76f613-f4f6-4772-8c16-d97b3104a553,1d76f613-f4f6-4772-8c16-d97b3104a553,0,1,3e58d607-b906-449f-b044-9c130a487b86,3e58d607-b906-449f-b044-9c130a487b86,0,1,7a911212-7fde-4ea8-a1fa-229116b60895,7a911212-7fde-4ea8-a1fa-229116b60895,0,1,f4580043-5bc2-4295-8523-909302009b44,f4580043-5bc2-4295-8523-909302009b44,0,1,dc8af632-a5a4-4270-ba5f-2d3ba506f7e3,dc8af632-a5a4-4270-ba5f-2d3ba506f7e3,0,1,81936ac2-32fe-4e14-897b-0aba92b90c05,81936ac2-32fe-4e14-897b-0aba92b90c05,0,1,9f88e355-3f8f-4fcd-b45f-39c3d45490f5,9f88e355-3f8f-4fcd-b45f-39c3d45490f5,0,1,ac028c56-b2a8-4a9b-a325-554c636f838e,ac028c56-b2a8-4a9b-a325-554c636f838e,0,1,0ed85f4c-c002-49b6-99b9-0c3c4b7f940e,0ed85f4c-c002-49b6-99b9-0c3c4b7f940e,0,1,f99e98ac-cd94-4989-8c02-ef8b323c6815,f99e98ac-cd94-4989-8c02-ef8b323c6815,0,1,e2562347-4549-4111-862e-86c20a6daade,e2562347-4549-4111-862e-86c20a6daade,0,1,b270fc64-15c6-41ed-ad09-44c833ca7c41,b270fc64-15c6-41ed-ad09-44c833ca7c41,0,1,4c3312fd-5613-4e9b-ae7c-572fa1887ded,4c3312fd-5613-4e9b-ae7c-572fa1887ded,0,1,6c8c9618-287a-41ab-890c-60250925ad52,6c8c9618-287a-41ab-890c-60250925ad52,0,1,168fce48-2413-45fc-ad21-9b465121d81b,168fce48-2413-45fc-ad21-9b465121d81b,0,1,55b9650e-098b-4d44-9fb5-d525b46f014b,55b9650e-098b-4d44-9fb5-d525b46f014b,0,1,5b7b32ec-3d0e-42e9-bd13-5d2b8cc1942d,5b7b32ec-3d0e-42e9-bd13-5d2b8cc1942d,0,1,bc55dc06-a769-40be-9c99-0794bdd2dbea,bc55dc06-a769-40be-9c99-0794bdd2dbea,0,1,7861e179-96d2-422f-a7c2-b38b59074956,7861e179-96d2-422f-a7c2-b38b59074956,0,1,0b2416bc-f322-45b3-8c3f-2c8a206c55a1,0b2416bc-f322-45b3-8c3f-2c8a206c55a1,0,1,3797b4c6-e336-4cbe-8d0b-0902e1247b42,3797b4c6-e336-4cbe-8d0b-0902e1247b42,0,1,67ebc493-d29a-4614-890a-feb8b5bd884b,67ebc493-d29a-4614-890a-feb8b5bd884b,0,1,d65c8992-aabc-4b67-9893-01862231ebe1,d65c8992-aabc-4b67-9893-01862231ebe1,0,1,dc79e5e2-37d1-4f19-9500-15c1d9be10eb,dc79e5e2-37d1-4f19-9500-15c1d9be10eb,0,1,dba6cb38-79c6-4060-87c5-a993548f36c4,dba6cb38-79c6-4060-87c5-a993548f36c4,0,1,6b44227a-e226-4bcb-8638-06b49f830669,6b44227a-e226-4bcb-8638-06b49f830669,0,1,f2406400-87e9-4df2-bcd3-8f1e3ad62088,f2406400-87e9-4df2-bcd3-8f1e3ad62088,0,1,ecaacedb-bf2d-4736-a9e1-fa89cda85ee6,ecaacedb-bf2d-4736-a9e1-fa89cda85ee6,0,1,a5623e87-3102-4521-b4ab-c41bf2403a1a,a5623e87-3102-4521-b4ab-c41bf2403a1a,0,1,599b1692-5f4e-42ef-ae1a-822ff527a415,599b1692-5f4e-42ef-ae1a-822ff527a415,0,1,ee9abe8a-b3a2-48a9-9157-ea537e83b7e7,ee9abe8a-b3a2-48a9-9157-ea537e83b7e7,0,1,23f70675-6a05-4b50-ad68-c55ddc93e857,23f70675-6a05-4b50-ad68-c55ddc93e857,0,1,4bb7372a-87a9-426e-b09f-fc0110455b10,4bb7372a-87a9-426e-b09f-fc0110455b10,0,1,ac853a0f-c185-4cdb-9f09-c921770937b5,ac853a0f-c185-4cdb-9f09-c921770937b5,0,1,920a7940-4d12-476d-a909-2231787839a9,920a7940-4d12-476d-a909-2231787839a9,0,1,b3aeeb3c-622d-4e0c-8c13-199f0e431a7d,b3aeeb3c-622d-4e0c-8c13-199f0e431a7d,0,1,ad14c4d1-bc11-44b6-a32c-c00fb89a9ea5,ad14c4d1-bc11-44b6-a32c-c00fb89a9ea5,0,1,32eb2a75-ff35-4795-bf0c-12b1328441ee,32eb2a75-ff35-4795-bf0c-12b1328441ee,0,1,8e877990-a64c-4c45-91f1-007d47618cc7,8e877990-a64c-4c45-91f1-007d47618cc7,0,1,73c6640e-2fe6-4132-9237-d6f28cbacc1c,73c6640e-2fe6-4132-9237-d6f28cbacc1c,0,1,46c3341c-352c-43fb-b338-15c8ad487fbf,46c3341c-352c-43fb-b338-15c8ad487fbf,0,1,a2a8b35e-04e5-4176-8d3b-2cd4dfb6d653,a2a8b35e-04e5-4176-8d3b-2cd4dfb6d653,0,1,ea7ad7f5-e502-49a9-b4a6-e9adceb15057,ea7ad7f5-e502-49a9-b4a6-e9adceb15057,0,1,f9450d6a-849c-4621-b528-9cafc4819b44,f9450d6a-849c-4621-b528-9cafc4819b44,0,1,5b7cac99-2fca-4dbb-8d49-b84f310a2496,5b7cac99-2fca-4dbb-8d49-b84f310a2496,0,1,bb11c22e-0fbd-4985-be67-0866df7f7e61,bb11c22e-0fbd-4985-be67-0866df7f7e61,0,1,a4673d5c-9dae-48f7-9c91-53c1302a266a,a4673d5c-9dae-48f7-9c91-53c1302a266a,0,1,1a2a0dd2-b0dc-41e1-8c4f-f275f025bad2,1a2a0dd2-b0dc-41e1-8c4f-f275f025bad2,0,1,c255932e-fc34-402c-a6e9-2fda1ffbcdf2,c255932e-fc34-402c-a6e9-2fda1ffbcdf2,0,1,0d323d88-2823-493e-8c1e-b2b9f3dcdd3e,0d323d88-2823-493e-8c1e-b2b9f3dcdd3e,0,1,3f410b53-e762-41fe-9469-d538dfec3a9a,3f410b53-e762-41fe-9469-d538dfec3a9a,0,1,92ea60c0-1027-4337-9130-40028951f09b,92ea60c0-1027-4337-9130-40028951f09b,0,1,46710ce6-0f82-4c4c-91e8-f8ee726e00ce,46710ce6-0f82-4c4c-91e8-f8ee726e00ce,0,1,d64f18a4-ff93-4284-9eca-085109eafd24,d64f18a4-ff93-4284-9eca-085109eafd24,0,1,bf428e7a-2970-4bab-8c8e-35ea16151c0e,bf428e7a-2970-4bab-8c8e-35ea16151c0e,0,1,232dbd5f-b7f1-4463-946c-b8fbf93ac466,232dbd5f-b7f1-4463-946c-b8fbf93ac466,0,1,a1a74b34-4174-4769-8f03-bd4a32e83418,a1a74b34-4174-4769-8f03-bd4a32e83418,0,1,32fd1fe7-34d3-43ed-baba-16ccd43aa25a,32fd1fe7-34d3-43ed-baba-16ccd43aa25a,0,1,8f4d1259-abdc-4495-8e1e-8c8abcd336ca,8f4d1259-abdc-4495-8e1e-8c8abcd336ca,0,1,1731708f-53cb-4b00-b90e-f581b4baa845,1731708f-53cb-4b00-b90e-f581b4baa845,0,1,d4b0feca-c00a-4d48-9f23-d92277ea6483,d4b0feca-c00a-4d48-9f23-d92277ea6483,0,1,00b2a0b3-6af8-4ea4-aa38-d1e078d5cbff,00b2a0b3-6af8-4ea4-aa38-d1e078d5cbff,0,1,20f7fdd2-30f6-4a52-a63b-7d2c326c0e83,20f7fdd2-30f6-4a52-a63b-7d2c326c0e83,0,1,23cb5bc2-9638-4d1c-b4bc-d5297e271570,23cb5bc2-9638-4d1c-b4bc-d5297e271570,0,1,6e547ccb-6d5a-4f7c-aaf0-568c22d2c276,6e547ccb-6d5a-4f7c-aaf0-568c22d2c276,0,1,04b7389d-697d-4b0d-a239-ac8c674cc46f,04b7389d-697d-4b0d-a239-ac8c674cc46f,0,1,a1cf5173-2e86-4ed7-9a0b-1bd5e578326a,a1cf5173-2e86-4ed7-9a0b-1bd5e578326a,0,1,864cad61-8280-415d-8fe1-bcb39d56670a,864cad61-8280-415d-8fe1-bcb39d56670a,0,1,b106bd29-5dc7-44d7-94d0-00f61499392e,b106bd29-5dc7-44d7-94d0-00f61499392e,0,1,a4febff8-0566-4977-bf55-1d574568fe9f,a4febff8-0566-4977-bf55-1d574568fe9f,0,1,5199cc65-bed1-40b9-96fe-cf6d855a8b91,5199cc65-bed1-40b9-96fe-cf6d855a8b91,0,1,f518add9-5c26-4dac-ab2e-b30fe3fbd347,f518add9-5c26-4dac-ab2e-b30fe3fbd347,0,1,23f53317-7aa8-4816-8a69-3d39d5e76da0,23f53317-7aa8-4816-8a69-3d39d5e76da0,0,1,9ade5155-fa6d-4999-b019-a5e7e235a158,9ade5155-fa6d-4999-b019-a5e7e235a158,0,1,8b302c5e-b255-4cb5-94d9-0dfef4250097,8b302c5e-b255-4cb5-94d9-0dfef4250097,0,1,49d713b8-6a61-4bd1-9650-0de1869967d2,49d713b8-6a61-4bd1-9650-0de1869967d2,0,1,4738ffd0-3c3b-4e5f-8773-0c9a80efdfbf,4738ffd0-3c3b-4e5f-8773-0c9a80efdfbf,0,1,3d1bae2a-4dfd-48e5-bfe9-b7e30c8475f6,3d1bae2a-4dfd-48e5-bfe9-b7e30c8475f6,0,1,0ddeed48-b98a-47c3-84a2-2eac065be06c,0ddeed48-b98a-47c3-84a2-2eac065be06c,0,1,7987fe2c-d7cc-4fd2-ac4e-610bfb1ab6d2,7987fe2c-d7cc-4fd2-ac4e-610bfb1ab6d2,0,1,fc18d95e-a51d-45c0-83b0-09aeb2b5b03a,fc18d95e-a51d-45c0-83b0-09aeb2b5b03a,0,1,61b947a5-edca-43ca-82c4-5a7b529d8f82,61b947a5-edca-43ca-82c4-5a7b529d8f82,0,1,59eb6a7a-1d96-4985-8d8e-575162759415,59eb6a7a-1d96-4985-8d8e-575162759415,0,1,68564573-ed49-4519-a8b3-997865fe70a6,68564573-ed49-4519-a8b3-997865fe70a6,0,1,6c789969-d066-489d-ad88-92e2a5a6ec69,6c789969-d066-489d-ad88-92e2a5a6ec69,0,1,2a07d696-75d6-4a12-a310-30d6598b4a4c,2a07d696-75d6-4a12-a310-30d6598b4a4c,0,1,dde88f56-417c-4559-a893-85dc91e7e623,dde88f56-417c-4559-a893-85dc91e7e623,0,1,963eedab-6976-4a98-b9ad-b81f89239661,963eedab-6976-4a98-b9ad-b81f89239661,0,1,3370d43e-8e97-4411-8123-2bb2bcf60a75,3370d43e-8e97-4411-8123-2bb2bcf60a75,0,1,d9d377c9-406f-4bc9-8076-1f049348b816,d9d377c9-406f-4bc9-8076-1f049348b816,0,1,dcfcb108-3761-43d9-ad2a-29633bd1ae47,dcfcb108-3761-43d9-ad2a-29633bd1ae47,0,1,36baa776-83c4-413d-b70c-cbbc45e25662,36baa776-83c4-413d-b70c-cbbc45e25662,0,1,b65f9165-c20d-4053-8a0b-cff3f693b762,b65f9165-c20d-4053-8a0b-cff3f693b762,0,1,51af096b-687f-44f4-a0d8-306f670fc5ce,51af096b-687f-44f4-a0d8-306f670fc5ce,0,1,75972f88-aedd-4338-a3b5-320cd632a2e6,75972f88-aedd-4338-a3b5-320cd632a2e6,0,1,a720abc8-dcf0-4684-8d94-22d394a8e4df,a720abc8-dcf0-4684-8d94-22d394a8e4df,0,1,e40f53de-c27b-4e74-8241-f784d7ca5c84,e40f53de-c27b-4e74-8241-f784d7ca5c84,0,1,ef38b84d-277e-48c2-8826-330132eb6807,ef38b84d-277e-48c2-8826-330132eb6807,0,1,67a50910-059a-4724-84e0-c21bc3ac74c2,67a50910-059a-4724-84e0-c21bc3ac74c2,0,1,fdd83a89-a2fe-40d8-a531-a10bfeb36a1d,fdd83a89-a2fe-40d8-a531-a10bfeb36a1d,0,1,0d190f8b-87c5-4dd1-bcfb-609ec3a44f72,0d190f8b-87c5-4dd1-bcfb-609ec3a44f72,0,1,9e78a2b9-44fc-4971-801d-1ddd4bb09cfd,9e78a2b9-44fc-4971-801d-1ddd4bb09cfd,0,1,2c0d11fc-b927-4b5d-a16c-d60e69580824,2c0d11fc-b927-4b5d-a16c-d60e69580824,0,1,5251e744-666e-48a0-a5b4-9cef313c7631,5251e744-666e-48a0-a5b4-9cef313c7631,0,1,0b09cf2f-1759-4362-b997-29e09ac00445,0b09cf2f-1759-4362-b997-29e09ac00445,0,1,f6a9eb9c-a1c2-4114-b155-3ce94c7b7f20,f6a9eb9c-a1c2-4114-b155-3ce94c7b7f20,0,1,828ddf5d-ca09-4baf-897f-77d569e02a6b,828ddf5d-ca09-4baf-897f-77d569e02a6b,0,1,8856015c-a695-4b1a-99ef-770263f9dc4a,8856015c-a695-4b1a-99ef-770263f9dc4a,0,1,183ec2b5-e173-4885-9e26-1098ffa15020,183ec2b5-e173-4885-9e26-1098ffa15020,0,1,74702fdf-bfc5-4658-ba58-e39bcfbaa647,74702fdf-bfc5-4658-ba58-e39bcfbaa647,0,1,2f436ec3-6a04-4d2c-998a-c60ea875ca86,2f436ec3-6a04-4d2c-998a-c60ea875ca86,0,1,6a947b2d-3e6b-42c8-a9fd-4c5a71d600a9,6a947b2d-3e6b-42c8-a9fd-4c5a71d600a9,0,1,ae641a80-4ada-4592-ace9-29a82e6700e4,ae641a80-4ada-4592-ace9-29a82e6700e4,0,1,190bc52e-0d51-4dfc-9f16-99ed71ebfa75,190bc52e-0d51-4dfc-9f16-99ed71ebfa75,0,1,0c24858a-7e64-426f-9b59-392449aecaf5,0c24858a-7e64-426f-9b59-392449aecaf5,0,1,b1d61e28-f3dc-418b-b5df-f75622a4b980,b1d61e28-f3dc-418b-b5df-f75622a4b980,0,1,bec4c82f-4e76-4d16-bb4d-b6d9fa404c5d,bec4c82f-4e76-4d16-bb4d-b6d9fa404c5d,0,1,4033f86b-d250-475a-8837-071bf31664b0,4033f86b-d250-475a-8837-071bf31664b0,0,1,876e31ff-ab7b-4ea4-b491-161963727dd1,876e31ff-ab7b-4ea4-b491-161963727dd1,0,1,bb43995b-68b4-41a1-8458-e10a2d8925f1,bb43995b-68b4-41a1-8458-e10a2d8925f1,0,1,61730dd9-fed7-43ce-8f38-724cac8f3d08,61730dd9-fed7-43ce-8f38-724cac8f3d08,0,1,e6a494b8-27e7-46a6-9435-7be6e150a69e,e6a494b8-27e7-46a6-9435-7be6e150a69e,0,1,133dc852-59d3-4351-934d-8845f8a38431,133dc852-59d3-4351-934d-8845f8a38431,0,1,55dbaaf1-554d-46e2-b42a-ce6a8bf20dfb,55dbaaf1-554d-46e2-b42a-ce6a8bf20dfb,0,1,b57eca91-04c2-4412-b5e2-f3c71f8ec602,b57eca91-04c2-4412-b5e2-f3c71f8ec602,0,1,b67914a8-d483-4bed-bd4d-a4aadd4998a4,b67914a8-d483-4bed-bd4d-a4aadd4998a4,0,1,744a52c8-6e4d-4356-a35a-3d2b01ad4a9f,744a52c8-6e4d-4356-a35a-3d2b01ad4a9f,0,1,707a8a49-fec5-454c-9e80-c3da829d395c,707a8a49-fec5-454c-9e80-c3da829d395c,0,1,6f630213-c16c-421c-a160-09e3c729ab26,6f630213-c16c-421c-a160-09e3c729ab26,0,1,878c638c-7c84-4914-896a-d4fdf0d759ef,878c638c-7c84-4914-896a-d4fdf0d759ef,0,1,6065653e-b7a9-4033-9617-f64430c57d89,6065653e-b7a9-4033-9617-f64430c57d89,0,1,9ec63da6-1f53-417f-9c7d-6879eaa56a7e,9ec63da6-1f53-417f-9c7d-6879eaa56a7e,0,1,00d1d85b-c258-4f10-9d13-a99375a29fc1,00d1d85b-c258-4f10-9d13-a99375a29fc1,0,1,0544376f-461c-42c3-a102-e0ae65e3c0c6,0544376f-461c-42c3-a102-e0ae65e3c0c6,0,1,6df8d316-6ac3-4626-8951-1ad36d7049ed,6df8d316-6ac3-4626-8951-1ad36d7049ed,0,1,f211b418-899d-4220-a14b-4a7302183e46,f211b418-899d-4220-a14b-4a7302183e46,0,1,e499629a-69ed-46b4-be5d-7b1f2f6a11d4,e499629a-69ed-46b4-be5d-7b1f2f6a11d4,0,1,52ab6aea-e6a0-43f0-9cc8-f7c9126635cc,52ab6aea-e6a0-43f0-9cc8-f7c9126635cc,0,1,876b23bf-2f48-4916-ad0f-4de8306e1864,876b23bf-2f48-4916-ad0f-4de8306e1864,0,1,e983f539-e369-491e-9cee-510518187870,e983f539-e369-491e-9cee-510518187870,0,1,9a402a9c-a31f-4082-91d5-b4fe7576a5c2,9a402a9c-a31f-4082-91d5-b4fe7576a5c2,0,1,e99a1b17-0e37-489a-bc39-3dd2e23b0861,e99a1b17-0e37-489a-bc39-3dd2e23b0861,0,1,e7c63a25-c804-4bc4-a6f1-81009dd889e2,e7c63a25-c804-4bc4-a6f1-81009dd889e2,0,1,7ccd86cd-4294-4f6c-84f4-98e25e479f4d,7ccd86cd-4294-4f6c-84f4-98e25e479f4d,0,1,70e710c5-42df-465f-a9c5-8345c87e1f19,70e710c5-42df-465f-a9c5-8345c87e1f19,0,1,4c1576c4-b327-4ec1-87bc-662c5aba343b,4c1576c4-b327-4ec1-87bc-662c5aba343b,0,1,0f694ef1-4a97-4aed-ab4b-0b2c18ea7e17,0f694ef1-4a97-4aed-ab4b-0b2c18ea7e17,0,1,14facdfb-9835-4bb6-98a8-5a6ca9a5d2f8,14facdfb-9835-4bb6-98a8-5a6ca9a5d2f8,0,1,4492ac73-eb91-41f8-98f1-54c2b3ad212a,4492ac73-eb91-41f8-98f1-54c2b3ad212a,0,1,869b43fb-968f-4fe0-b945-5030c90a38f2,869b43fb-968f-4fe0-b945-5030c90a38f2,0,1,af071a52-212b-4131-98e6-81f6048a70e6,af071a52-212b-4131-98e6-81f6048a70e6,0,1,37210dde-9a2f-475c-8341-578ac99f0e17,37210dde-9a2f-475c-8341-578ac99f0e17,0,1,e5094d4f-ee61-4142-a97b-d96172350f65,e5094d4f-ee61-4142-a97b-d96172350f65,0,1,3a8fffb6-a732-440c-afb9-d1c699ea53b6,3a8fffb6-a732-440c-afb9-d1c699ea53b6,0,1,b0650787-8ff5-4407-b491-bcdc2f61fd58,b0650787-8ff5-4407-b491-bcdc2f61fd58,0,1,33dd6bba-0044-4e2f-ae9e-c8a26079ab2a,33dd6bba-0044-4e2f-ae9e-c8a26079ab2a,0,1,3f289f67-dfc7-4f2d-90e4-b47aff76ecdb,3f289f67-dfc7-4f2d-90e4-b47aff76ecdb,0,1,9aadad98-69f5-41ce-ad1c-0afd8c610d86,9aadad98-69f5-41ce-ad1c-0afd8c610d86,0,1,706a3db0-9d4f-4c08-91cd-3ccaa6d06d3b,706a3db0-9d4f-4c08-91cd-3ccaa6d06d3b,0,1,3d662173-e19d-4077-9a08-8c8899226e24,3d662173-e19d-4077-9a08-8c8899226e24,0,1,69fd1e6e-7302-4ca8-8419-ec567ae66bef,69fd1e6e-7302-4ca8-8419-ec567ae66bef,0,1,0eee931a-57bb-4844-8e6e-eaca342640a0,0eee931a-57bb-4844-8e6e-eaca342640a0,0,1,20c57e30-5856-4801-9e77-8006471d89f8,20c57e30-5856-4801-9e77-8006471d89f8,0,1,64eff9f4-c57b-40a0-bd83-7e371fd010ce,64eff9f4-c57b-40a0-bd83-7e371fd010ce,0,1,4a3fe393-8aea-4394-8c10-a234f1f191ad,4a3fe393-8aea-4394-8c10-a234f1f191ad,0,1,88893c1e-afb4-4a08-abb2-6da0745b696a,88893c1e-afb4-4a08-abb2-6da0745b696a,0,1,6f9a3d00-d935-4fa6-9fd2-14700226daff,6f9a3d00-d935-4fa6-9fd2-14700226daff,0,1,d792831c-698d-40c6-96c2-dd0ae6f30707,d792831c-698d-40c6-96c2-dd0ae6f30707,0,1,a1d91c5f-1acd-4b46-887e-d06e7260dd20,a1d91c5f-1acd-4b46-887e-d06e7260dd20,0,1,3fd26019-c464-4c73-b18e-0888740b1747,3fd26019-c464-4c73-b18e-0888740b1747,0,1,a21989bd-a57f-4969-be3b-d8b39ead4145,a21989bd-a57f-4969-be3b-d8b39ead4145,0,1,c4aee120-cdbb-4b48-a1c7-99cccbafb120,c4aee120-cdbb-4b48-a1c7-99cccbafb120,0,1,6b3e07d5-9299-4933-b3fa-c3cc5f5aa7c9,6b3e07d5-9299-4933-b3fa-c3cc5f5aa7c9,0,1,a3667b25-7c18-446d-a318-685a4fe4bf89,a3667b25-7c18-446d-a318-685a4fe4bf89,0,1,8103f12c-ed50-4052-8117-33b6d11ef620,8103f12c-ed50-4052-8117-33b6d11ef620,0,1,498b012b-bb63-490e-8100-1d33dc84b400,498b012b-bb63-490e-8100-1d33dc84b400,0,1,7c7857b6-90e8-4b3f-9902-fd81bf68d133,7c7857b6-90e8-4b3f-9902-fd81bf68d133,0,1,617de19c-bf01-4900-832a-c169e9faeb79,617de19c-bf01-4900-832a-c169e9faeb79,0,1,70b73fd0-f5dc-411e-9bbb-10a538e8281b,70b73fd0-f5dc-411e-9bbb-10a538e8281b,0,1,758f44ad-54da-4f72-accf-0afecc4f4827,758f44ad-54da-4f72-accf-0afecc4f4827,0,1,05ee4a7c-63e6-4587-8be7-e206345e3471,05ee4a7c-63e6-4587-8be7-e206345e3471,0,1,98d5e98b-0382-4b28-a5d9-24392925664a,98d5e98b-0382-4b28-a5d9-24392925664a,0,1,7c424a77-2a83-4a85-8b7d-e8bb6d013c77,7c424a77-2a83-4a85-8b7d-e8bb6d013c77,0,1,ecaba9aa-fca7-42f5-a4fe-d8176cf875b9,ecaba9aa-fca7-42f5-a4fe-d8176cf875b9,0,1,4378ab20-5467-476b-8f04-4b6876efdee6,4378ab20-5467-476b-8f04-4b6876efdee6,0,1,55e47901-c79c-41c5-9d7f-6b6846ed2782,55e47901-c79c-41c5-9d7f-6b6846ed2782,0,1,3c429fe8-e663-4a58-817f-8f8382697dbb,3c429fe8-e663-4a58-817f-8f8382697dbb,0,1,c37be0c3-d2db-4e63-a8cb-7956a5396650,c37be0c3-d2db-4e63-a8cb-7956a5396650,0,1,83180e0d-fc4b-41ec-9a17-5af555a4776f,83180e0d-fc4b-41ec-9a17-5af555a4776f,0,1,7f68e4c1-c4f7-4c6c-8f0a-225e544e07ee,7f68e4c1-c4f7-4c6c-8f0a-225e544e07ee,0,1,f03cdb56-ef3f-461f-91b1-cdcaed2786e8,f03cdb56-ef3f-461f-91b1-cdcaed2786e8,0,1,3e8c6546-416c-4437-8c85-2cf591b4fc3f,3e8c6546-416c-4437-8c85-2cf591b4fc3f,0,1,038e5027-3cc5-4ea2-b0b5-28a7544ad53e,038e5027-3cc5-4ea2-b0b5-28a7544ad53e,0,1,9a0b27db-e4ac-496b-b6de-876b90381527,9a0b27db-e4ac-496b-b6de-876b90381527,0,1,f9c07de6-4765-4088-86af-09172d11ef5c,f9c07de6-4765-4088-86af-09172d11ef5c,0,1,3656d550-60d0-4933-a5d8-537e2d692ef1,3656d550-60d0-4933-a5d8-537e2d692ef1,0,1,a2c4aab7-01da-47d1-9ee6-3d705ed4e19a,a2c4aab7-01da-47d1-9ee6-3d705ed4e19a,0,1,4506a66c-7e8f-4fc1-b1e1-7cf02309a77f,4506a66c-7e8f-4fc1-b1e1-7cf02309a77f,0,1,f5d03455-753c-46db-a84a-f027edbe8ab8,f5d03455-753c-46db-a84a-f027edbe8ab8,0,1,f7c98be4-fb69-4b87-bbb1-920212852625,f7c98be4-fb69-4b87-bbb1-920212852625,0,1,59d7388b-8aa0-4f97-b86c-f34fcb08bf70,59d7388b-8aa0-4f97-b86c-f34fcb08bf70,0,1,36b704fc-bf9e-4ad4-aed9-4e6427699815,36b704fc-bf9e-4ad4-aed9-4e6427699815,0,1,c1899918-6087-460f-a7a1-142e4b914838,c1899918-6087-460f-a7a1-142e4b914838,0,1,07589ac7-152c-42a9-b6b8-c520e82349b0,07589ac7-152c-42a9-b6b8-c520e82349b0,0,1,86e5a214-083e-4907-9cf3-adf0156235de,86e5a214-083e-4907-9cf3-adf0156235de,0,1,4591f2a7-900e-4426-8e3e-50f2b6e02d3a,4591f2a7-900e-4426-8e3e-50f2b6e02d3a,0,1,71e79854-dade-4b5e-b7e4-5a0bc94168e3,71e79854-dade-4b5e-b7e4-5a0bc94168e3,0,1,d299c6a9-38b9-4d03-a480-3d15ede6ef2d,d299c6a9-38b9-4d03-a480-3d15ede6ef2d,0,1,8ddc148a-0bef-4dd8-8391-d98c5fd21a78,8ddc148a-0bef-4dd8-8391-d98c5fd21a78,0,1,accf0864-8bfe-4c40-a555-6ab423594313,accf0864-8bfe-4c40-a555-6ab423594313,0,1,128654ce-708d-4b85-b9fc-1790dc218ff1,128654ce-708d-4b85-b9fc-1790dc218ff1,0,1,857f4270-760b-4b1f-934c-386fad1eec58,857f4270-760b-4b1f-934c-386fad1eec58,0,1,49f781b8-8787-41de-b334-e9732845f542,49f781b8-8787-41de-b334-e9732845f542,0,1,214499fa-765a-4dbd-9f1b-a4ec401afc3f,214499fa-765a-4dbd-9f1b-a4ec401afc3f,0,1,5a54f871-2aa1-4cbd-9832-dae5f0c43718,5a54f871-2aa1-4cbd-9832-dae5f0c43718,0,1,e3673a14-8ee3-4642-945a-1858410d73a9,e3673a14-8ee3-4642-945a-1858410d73a9,0,1,2d4ec9be-b843-4c1d-ad1b-41ec3d1b14bf,2d4ec9be-b843-4c1d-ad1b-41ec3d1b14bf,0,1,97b4ad32-9cf1-4f25-9739-b21f4c33b29c,97b4ad32-9cf1-4f25-9739-b21f4c33b29c,0,1,f8ad793a-9362-4d58-94bf-53d6750f2089,f8ad793a-9362-4d58-94bf-53d6750f2089,0,1,29a3d9f3-88f5-4449-b9e2-56b517833726,29a3d9f3-88f5-4449-b9e2-56b517833726,0,1,41de2373-2d3f-4860-a8ab-88cf271ac6e3,41de2373-2d3f-4860-a8ab-88cf271ac6e3,0,1,e08a44a6-a3b2-49bd-8a47-abaf2631cd01,e08a44a6-a3b2-49bd-8a47-abaf2631cd01,0,1,2dcc72f7-453b-4248-a83e-6f49051bc639,2dcc72f7-453b-4248-a83e-6f49051bc639,0,1,fdb841f4-193a-4cd7-8569-37e0a68b970e,fdb841f4-193a-4cd7-8569-37e0a68b970e,0,1,96a3439e-9aa7-40f7-8b58-7d08d378010b,96a3439e-9aa7-40f7-8b58-7d08d378010b,0,1,f6590f9c-0365-4f32-93ce-258e2f8323b0,f6590f9c-0365-4f32-93ce-258e2f8323b0,0,1,c7a9c238-a830-46cc-b1b2-88d62328cd40,c7a9c238-a830-46cc-b1b2-88d62328cd40,0,1,723794c6-a391-4f82-a178-625781a136b2,723794c6-a391-4f82-a178-625781a136b2,0,1,7fd74e2d-7409-4f30-9ade-8d11dbf32a12,7fd74e2d-7409-4f30-9ade-8d11dbf32a12,0,1,026d090f-7c6f-4d77-8fe0-ff184dbd86b8,026d090f-7c6f-4d77-8fe0-ff184dbd86b8,0,1,2585cae2-5ebf-400b-8be9-a6207fcaefe3,2585cae2-5ebf-400b-8be9-a6207fcaefe3,0,1,f63d85ab-2524-4c7e-9647-0c18833c9c90,f63d85ab-2524-4c7e-9647-0c18833c9c90,0,1,0b81d0cb-e45a-41d7-89ec-ad056a5aa8bc,0b81d0cb-e45a-41d7-89ec-ad056a5aa8bc,0,1,f0dc2d0c-9904-48aa-9690-72a9d46658df,f0dc2d0c-9904-48aa-9690-72a9d46658df,0,1,76d3a71f-8b40-4e3e-9734-d9e998e685bf,76d3a71f-8b40-4e3e-9734-d9e998e685bf,0,1,3356b0cf-fa2c-40ca-8ec2-b3d72451d730,3356b0cf-fa2c-40ca-8ec2-b3d72451d730,0,1,79e0ab1a-228d-4aec-a873-8f379bb8930b,79e0ab1a-228d-4aec-a873-8f379bb8930b,0,1,0a87c592-6321-4519-a99e-620a5c1fda04,0a87c592-6321-4519-a99e-620a5c1fda04,0,1,2fd3d940-9254-4303-9d5f-fd334918b32a,2fd3d940-9254-4303-9d5f-fd334918b32a,0,1,e1ffbb33-35b2-450b-9795-15455574752b,e1ffbb33-35b2-450b-9795-15455574752b,0,1,7b817c44-3408-4473-8b09-d28d9afd0115,7b817c44-3408-4473-8b09-d28d9afd0115,0,1,bac41d45-249f-40b4-a013-008e261369c8,bac41d45-249f-40b4-a013-008e261369c8,0,1,84e34b4a-02e8-4676-8b81-771ddf3c2931,84e34b4a-02e8-4676-8b81-771ddf3c2931,0,1,0aa6a024-66ae-4592-87d6-f7cb2a59f906,0aa6a024-66ae-4592-87d6-f7cb2a59f906,0,1,734b4dc5-dc91-4945-a2d7-cefe56a6e0a6,734b4dc5-dc91-4945-a2d7-cefe56a6e0a6,0,1,bb2dcb37-410d-4a6c-9ace-1f04177d6e88,bb2dcb37-410d-4a6c-9ace-1f04177d6e88,0,1,cb6ecc18-a14f-4c3c-a39d-2cd2d1ab4e03,cb6ecc18-a14f-4c3c-a39d-2cd2d1ab4e03,0,1,f71ac535-74a5-4001-a613-455a9e1bf734,f71ac535-74a5-4001-a613-455a9e1bf734,0,1,55a42b83-b6d2-409b-a8ff-7849b08e07ed,55a42b83-b6d2-409b-a8ff-7849b08e07ed,0,1,61889399-ecc2-442c-a790-a8b27a7a540c,61889399-ecc2-442c-a790-a8b27a7a540c,0,1,ecd3a928-3e59-439c-8f58-ba360f2a8b3c,ecd3a928-3e59-439c-8f58-ba360f2a8b3c,0,1,4ee2efbc-bc4a-4b47-bfdb-bb83f108c5bb,4ee2efbc-bc4a-4b47-bfdb-bb83f108c5bb,0,1,d6aed0fd-686c-430d-b884-74494177422e,d6aed0fd-686c-430d-b884-74494177422e,0,1,245ec4aa-ed65-41f7-b0f0-f8085cfc5bef,245ec4aa-ed65-41f7-b0f0-f8085cfc5bef,0,1,3ed64288-8bf0-4049-8d44-1b424f31d40f,3ed64288-8bf0-4049-8d44-1b424f31d40f,0,1,a21cf522-d657-49ba-a198-01ff1de5e3f0,a21cf522-d657-49ba-a198-01ff1de5e3f0,0,1,4dc698da-8471-4b3f-816d-f1467cd2e5f1,4dc698da-8471-4b3f-816d-f1467cd2e5f1,0,1,7ceb2f18-4dae-4b13-a5be-e949be165b4e,7ceb2f18-4dae-4b13-a5be-e949be165b4e,0,1,c4f94f6d-e33f-4226-bf47-c4b544098082,c4f94f6d-e33f-4226-bf47-c4b544098082,0,1,0abca5b8-4974-48aa-bf5d-dbbe2c2ea0e6,0abca5b8-4974-48aa-bf5d-dbbe2c2ea0e6,0,1,4e892154-3279-492c-9eae-124304225c5d,4e892154-3279-492c-9eae-124304225c5d,0,1,53a6ffa4-31f8-4717-9ecc-2852e6e4cce9,53a6ffa4-31f8-4717-9ecc-2852e6e4cce9,0,1,575a135a-6ffd-4ae8-a597-7e584df9bac4,575a135a-6ffd-4ae8-a597-7e584df9bac4,0,1,693a7196-f525-4bd2-a417-e902977f21cb,693a7196-f525-4bd2-a417-e902977f21cb,0,1,9bb39184-08b7-440e-a8f8-5caf0083ba0f,9bb39184-08b7-440e-a8f8-5caf0083ba0f,0,1,d48e817e-f6a4-47e5-a052-35d09e066490,d48e817e-f6a4-47e5-a052-35d09e066490,0,1,091cb921-c7e3-4a5f-97b7-34e625159b9c,091cb921-c7e3-4a5f-97b7-34e625159b9c,0,1,f6118cdd-1dcd-464e-a49d-e95c69466750,f6118cdd-1dcd-464e-a49d-e95c69466750,0,1,39932897-959b-41a6-94ad-61426abfdbd9,39932897-959b-41a6-94ad-61426abfdbd9,0,1,c56ea6f3-1032-4b7a-a20e-e912196da1cd,c56ea6f3-1032-4b7a-a20e-e912196da1cd,0,1,b69b611d-18d3-4e78-8a09-f010bcf9c261,b69b611d-18d3-4e78-8a09-f010bcf9c261,0,1,e8e087c1-9131-4037-8562-8bce8c38f78c,e8e087c1-9131-4037-8562-8bce8c38f78c,0,1,3b1c9126-9b9f-4658-967c-cc9ef5b1000f,3b1c9126-9b9f-4658-967c-cc9ef5b1000f,0,1,6adaef8e-82b6-4664-9748-4f41b170d91a,6adaef8e-82b6-4664-9748-4f41b170d91a,0,1,20d655a7-788c-48bc-83ae-25003106bedb,20d655a7-788c-48bc-83ae-25003106bedb,0,1,7bfb78de-899f-4a4d-a8b2-ebadeccf3921,7bfb78de-899f-4a4d-a8b2-ebadeccf3921,0,1,68a72014-4b2e-4347-aaa7-54d95b8eb919,68a72014-4b2e-4347-aaa7-54d95b8eb919,0,1,a71d9c41-7510-4d38-90df-1034977b8f45,a71d9c41-7510-4d38-90df-1034977b8f45,0,1,25830f5b-27e2-4eff-9728-b21eb498727d,25830f5b-27e2-4eff-9728-b21eb498727d,0,1,379c9295-d0d5-418d-82f3-5ae19985cc53,379c9295-d0d5-418d-82f3-5ae19985cc53,0,1,af02f534-8508-4f9f-bcc1-0c6f3d696971,af02f534-8508-4f9f-bcc1-0c6f3d696971,0,1,dd345cfb-ea0c-4ea8-9b35-22547b000275,dd345cfb-ea0c-4ea8-9b35-22547b000275,0,1,86a871da-3725-43a1-a7c3-98acd187011b,86a871da-3725-43a1-a7c3-98acd187011b,0,1,2447cfeb-d877-4222-8ac2-b0026b85f932,2447cfeb-d877-4222-8ac2-b0026b85f932,0,1,fb94e9cb-1f27-42a6-a701-18bbe5888e70,fb94e9cb-1f27-42a6-a701-18bbe5888e70,0,1,2e26e32e-a0c6-4460-99de-865622202166,2e26e32e-a0c6-4460-99de-865622202166,0,1,c9489a6e-45af-4877-9788-158071571a0a,c9489a6e-45af-4877-9788-158071571a0a,0,1,23959912-f8fc-42bc-9ec2-1d520ebc5dad,23959912-f8fc-42bc-9ec2-1d520ebc5dad,0,1,4770398f-8013-4d43-93ce-ec1165e40c4e,4770398f-8013-4d43-93ce-ec1165e40c4e,0,1,9a706997-90cb-430d-972c-d2bad87c4a79,9a706997-90cb-430d-972c-d2bad87c4a79,0,1,6f661660-b9c4-41d4-99a8-e08006cfe9c8,6f661660-b9c4-41d4-99a8-e08006cfe9c8,0,1,199e79fa-54d6-4748-aaaa-9c55283582a3,199e79fa-54d6-4748-aaaa-9c55283582a3,0,1,5ef026c2-2ef4-45d6-9792-5ba0d298714b,5ef026c2-2ef4-45d6-9792-5ba0d298714b,0,1,45d61391-4cf7-4f45-8775-ada582c42400,45d61391-4cf7-4f45-8775-ada582c42400,0,1,78b2a913-2ab9-455d-85a3-504f0f468468,78b2a913-2ab9-455d-85a3-504f0f468468,0,1,8c7e1080-fbb2-4a9c-b740-b3e9eb996565,8c7e1080-fbb2-4a9c-b740-b3e9eb996565,0,1,560b5b12-4dee-4c69-ab6b-7680757a2797,560b5b12-4dee-4c69-ab6b-7680757a2797,0,1,3cfb1ce0-de42-4914-85c0-807d0c10f77e,3cfb1ce0-de42-4914-85c0-807d0c10f77e,0,1,a27244c2-ac65-423f-afce-42efd288a83d,a27244c2-ac65-423f-afce-42efd288a83d,0,1,d4002184-8e08-4dcc-9070-62f595e82e23,d4002184-8e08-4dcc-9070-62f595e82e23,0,1,62163fda-1a09-4d4f-b290-76ff324042ab,62163fda-1a09-4d4f-b290-76ff324042ab,0,1,f2816dd2-47dd-41e8-9709-6dac1e4f4d21,f2816dd2-47dd-41e8-9709-6dac1e4f4d21,0,1,6e6a1557-06fa-45c0-ad98-c43809553cd7,6e6a1557-06fa-45c0-ad98-c43809553cd7,0,1,179f7436-e328-42b8-9382-19ee6f10c768,179f7436-e328-42b8-9382-19ee6f10c768,0,1,aa89881f-f111-4384-911c-847b04bb56dd,aa89881f-f111-4384-911c-847b04bb56dd,0,1,444d9e3b-c702-4ad6-a929-a220eff0f6e7,444d9e3b-c702-4ad6-a929-a220eff0f6e7,0,1,022c4519-1cdb-45b6-a699-89fd6688999c,022c4519-1cdb-45b6-a699-89fd6688999c,0,1,fb5b79a2-caec-4c6e-a112-27e78a184d5e,fb5b79a2-caec-4c6e-a112-27e78a184d5e,0,1,fa523958-ce1e-42e1-ae00-2dcb401b7eda,fa523958-ce1e-42e1-ae00-2dcb401b7eda,0,1,1518bca2-a004-4566-8991-7c60e6745a49,1518bca2-a004-4566-8991-7c60e6745a49,0,1,ed8618e2-3ce6-4956-856a-9f40279b4da6,ed8618e2-3ce6-4956-856a-9f40279b4da6,0,1,733f6bc2-544d-4fac-bca8-11b981b95a03,733f6bc2-544d-4fac-bca8-11b981b95a03,0,1,0333cd9e-392d-40b2-869d-ad47119e0384,0333cd9e-392d-40b2-869d-ad47119e0384,0,1,82cc8820-0b92-4bb7-b097-7ac79e922f01,82cc8820-0b92-4bb7-b097-7ac79e922f01,0,1,f2267d6c-6972-4621-b677-87798056363b,f2267d6c-6972-4621-b677-87798056363b,0,1,243d201b-3714-4700-b410-c74c9093e6f6,243d201b-3714-4700-b410-c74c9093e6f6,0,1,de3cb50c-ef99-419e-b922-c6a453da6a5b,de3cb50c-ef99-419e-b922-c6a453da6a5b,0,1,d4ca4802-756a-494c-bab3-e77e0777a3fa,d4ca4802-756a-494c-bab3-e77e0777a3fa,0,1,134c1054-8d65-405f-ba3b-5beeca803a72,134c1054-8d65-405f-ba3b-5beeca803a72,0,1,cfa1669b-5310-4171-83fd-4dff3c6ac345,cfa1669b-5310-4171-83fd-4dff3c6ac345,0,1,9ec26d14-b09d-4fd7-9c43-062c0120cf3d,9ec26d14-b09d-4fd7-9c43-062c0120cf3d,0,1,aec7df6a-21a1-495d-b0a9-3769e1069888,aec7df6a-21a1-495d-b0a9-3769e1069888,0,1,463b98bf-b4d4-4edb-995d-0a75ff29b60d,463b98bf-b4d4-4edb-995d-0a75ff29b60d,0,1,317f88a7-12a4-4d21-b637-3050525406f4,317f88a7-12a4-4d21-b637-3050525406f4,0,1,2d9d2319-68fb-436d-b431-98858b88a75a,2d9d2319-68fb-436d-b431-98858b88a75a,0,1,8a0d4f7f-7a80-4e5d-8238-05fc169e0319,8a0d4f7f-7a80-4e5d-8238-05fc169e0319,0,1,8e9f9baf-8d12-46cc-915f-f6f290af5512,8e9f9baf-8d12-46cc-915f-f6f290af5512,0,1,5808331f-9ab4-4a23-a592-1f65087f3214,5808331f-9ab4-4a23-a592-1f65087f3214,0,1,9316738d-3d38-4068-818e-a001355b19fb,9316738d-3d38-4068-818e-a001355b19fb,0,1,d86d766f-021a-4c11-b9e8-403af08918cc,d86d766f-021a-4c11-b9e8-403af08918cc,0,1,2cedfef0-5d93-475a-b2dd-ee36e553e6e1,2cedfef0-5d93-475a-b2dd-ee36e553e6e1,0,1,29200d04-d7da-435a-89e6-858c11a1a98c,29200d04-d7da-435a-89e6-858c11a1a98c,0,1,8e5f6c70-04b3-46a1-94ef-82c9f6019f8f,8e5f6c70-04b3-46a1-94ef-82c9f6019f8f,0,1,6c119ef2-d24b-4c3d-ad07-611bed89cab1,6c119ef2-d24b-4c3d-ad07-611bed89cab1,0,1,13b1cb1f-88df-4ff8-b4cc-0473e4f96005,13b1cb1f-88df-4ff8-b4cc-0473e4f96005,0,1,0e861ad8-6fa3-4b0f-a9b0-6c91df1dfc6b,0e861ad8-6fa3-4b0f-a9b0-6c91df1dfc6b,0,1,27df6c22-85d7-4cb6-be19-82af76c84bf9,27df6c22-85d7-4cb6-be19-82af76c84bf9,0,1,77bd95d6-3cd5-4b67-a0b6-72d24243fbc2,77bd95d6-3cd5-4b67-a0b6-72d24243fbc2,0,1,0be7f905-53b8-4bb1-8e37-dcc142e508c5,0be7f905-53b8-4bb1-8e37-dcc142e508c5,0,1,4ec242e0-75d1-4bf7-be18-783e7aa4f236,4ec242e0-75d1-4bf7-be18-783e7aa4f236,0,1,e02b1366-9d7a-462f-86a1-436bbf4532ff,e02b1366-9d7a-462f-86a1-436bbf4532ff,0,1,40ee729c-c317-4a1c-b985-5f7e4e1e20fb,40ee729c-c317-4a1c-b985-5f7e4e1e20fb,0,1,2feb35c0-b046-4086-a2ce-ccc462fc6e9c,2feb35c0-b046-4086-a2ce-ccc462fc6e9c,0,1,8811cc64-99d9-4f13-8309-c29965783f5a,8811cc64-99d9-4f13-8309-c29965783f5a,0,1,7c737071-e850-4a3f-8942-697ef52a8ecc,7c737071-e850-4a3f-8942-697ef52a8ecc,0,1,62eff222-7b74-4cab-9138-880db1f05147,62eff222-7b74-4cab-9138-880db1f05147,0,1,39c6c277-cfc6-4e8a-8e7f-afcff55f0511,39c6c277-cfc6-4e8a-8e7f-afcff55f0511,0,1,860f8893-22fe-4b13-adb1-24e1ea8c6544,860f8893-22fe-4b13-adb1-24e1ea8c6544,0,1,95266e9f-073f-4de3-83c6-cc0d9ee9334f,95266e9f-073f-4de3-83c6-cc0d9ee9334f,0,1,21b8ac8d-75ca-481c-8e85-01bc2029f0c0,21b8ac8d-75ca-481c-8e85-01bc2029f0c0,0,1,d5012e69-89bc-40af-8e4f-377a042854ee,d5012e69-89bc-40af-8e4f-377a042854ee,0,1,02f79fd8-5315-4c90-b520-db67dcb6e371,02f79fd8-5315-4c90-b520-db67dcb6e371,0,1,9bb52788-4a3a-48b5-a551-5ca753b6c059,9bb52788-4a3a-48b5-a551-5ca753b6c059,0,1,4fb5004f-3cd9-44c4-a44b-d235cccf9e9c,4fb5004f-3cd9-44c4-a44b-d235cccf9e9c,0,1,872a0c47-fab5-4a54-8ab9-23940bbdefbb,872a0c47-fab5-4a54-8ab9-23940bbdefbb,0,1,7428a626-3fbc-4f2c-a3dd-f14e8d90c00b,7428a626-3fbc-4f2c-a3dd-f14e8d90c00b,0,1,2f20bff4-9201-4f36-9e74-eba4d9b3c59a,2f20bff4-9201-4f36-9e74-eba4d9b3c59a,0,1,b6c94efd-5994-4c4c-a641-b062ecc38b65,b6c94efd-5994-4c4c-a641-b062ecc38b65,0,1,98501228-7f0e-45a3-b58f-4c654f393f80,98501228-7f0e-45a3-b58f-4c654f393f80,0,1,502384c9-edb7-451a-b7ea-de006f657a6e,502384c9-edb7-451a-b7ea-de006f657a6e,0,1,4e1a4fe0-dca4-40ba-9369-73be303a4aef,4e1a4fe0-dca4-40ba-9369-73be303a4aef,0,1,329906a0-0b61-4f3f-8cd0-f06a78e8fe5f,329906a0-0b61-4f3f-8cd0-f06a78e8fe5f,0,1,840e0b1b-a599-4c5f-8eaa-7f7e4f2e55a4,840e0b1b-a599-4c5f-8eaa-7f7e4f2e55a4,0,1,1d06a9e4-e637-4219-a81c-64f8ec1b91a4,1d06a9e4-e637-4219-a81c-64f8ec1b91a4,0,1,50968921-76f3-4108-835a-96b153671c8d,50968921-76f3-4108-835a-96b153671c8d,0,1,b773f510-1485-4886-9071-afcbf49ff856,b773f510-1485-4886-9071-afcbf49ff856,0,1,964403f2-0a87-49e1-b183-dbe3624e3805,964403f2-0a87-49e1-b183-dbe3624e3805,0,1,01579044-5659-4a73-a989-c52cfabaae66,01579044-5659-4a73-a989-c52cfabaae66,0,1,9b8509e8-8262-4e6a-b2f3-a0df8f49e2c5,9b8509e8-8262-4e6a-b2f3-a0df8f49e2c5,0,1,911baaa1-a4de-4558-b00e-51644144a762,911baaa1-a4de-4558-b00e-51644144a762,0,1,8a8ad123-c01a-440a-bd01-1c0da72cf2eb,8a8ad123-c01a-440a-bd01-1c0da72cf2eb,0,1,ca4ef957-36c2-43b9-8ff7-e2b7ee58cde5,ca4ef957-36c2-43b9-8ff7-e2b7ee58cde5,0,1,4e036eff-92a8-4010-89b2-ed949c123311,4e036eff-92a8-4010-89b2-ed949c123311,0,1,38160114-dc22-4d0b-86a5-d650f4756932,38160114-dc22-4d0b-86a5-d650f4756932,0,1,d49411b4-5f6d-48c5-b4f8-fdfbd1b73317,d49411b4-5f6d-48c5-b4f8-fdfbd1b73317,0,1,8b3da21b-ea3f-47cf-af48-15b886b21f20,8b3da21b-ea3f-47cf-af48-15b886b21f20,0,1,32c4750b-0096-4bbc-8dcd-c1f717734233,32c4750b-0096-4bbc-8dcd-c1f717734233,0,1,be6740b1-1f57-4c01-a67a-d48152931dc8,be6740b1-1f57-4c01-a67a-d48152931dc8,0,1,40fd038d-a93a-4be7-9221-d8ae83350ca0,40fd038d-a93a-4be7-9221-d8ae83350ca0,0,1,e9fcabef-5067-477b-8cb0-1bf3ab8161c5,e9fcabef-5067-477b-8cb0-1bf3ab8161c5,0,1,29adc9e5-a994-48ab-a5a1-919d01119c3a,29adc9e5-a994-48ab-a5a1-919d01119c3a,0,1,c47ffce7-c905-4e88-8b1f-156f47047ccd,c47ffce7-c905-4e88-8b1f-156f47047ccd,0,1,e1755eed-88cf-42c1-83e4-f9047f2c30bf,e1755eed-88cf-42c1-83e4-f9047f2c30bf,0,1,c6ec9d48-9131-4735-9cf7-b498705a57e4,c6ec9d48-9131-4735-9cf7-b498705a57e4,0,1,865d76f7-db4a-4fa2-8e1c-3ecbc2d8faf4,865d76f7-db4a-4fa2-8e1c-3ecbc2d8faf4,0,1,706c421a-74ce-4985-9443-b4a2032481f6,706c421a-74ce-4985-9443-b4a2032481f6,0,1,64da4c24-4aaf-42c8-8595-7f60ff3bc344,64da4c24-4aaf-42c8-8595-7f60ff3bc344,0,1,fb9577e1-00d9-4d52-8de9-23914929a683,fb9577e1-00d9-4d52-8de9-23914929a683,0,1,ffd62a16-f2b4-4e3a-8849-15b957a3d1a1,ffd62a16-f2b4-4e3a-8849-15b957a3d1a1,0,1,529253ae-9c92-4426-b150-8444ba622f89,529253ae-9c92-4426-b150-8444ba622f89,0,1,06a1955a-2ef0-4607-9dcb-a480a7951af7,06a1955a-2ef0-4607-9dcb-a480a7951af7,0,1,6f8fcc96-bfed-444a-908d-95c5b1c64972,6f8fcc96-bfed-444a-908d-95c5b1c64972,0,1,97ce4bf2-6580-4f27-8b5d-d60b66a09c9e,97ce4bf2-6580-4f27-8b5d-d60b66a09c9e,0,1,a84c89d9-2cfe-405f-9bb0-5392b3171695,a84c89d9-2cfe-405f-9bb0-5392b3171695,0,1,070ecbfe-88d6-4de8-b236-e7eedbc3ebc6,070ecbfe-88d6-4de8-b236-e7eedbc3ebc6,0,1,91e26e73-027f-4a10-9083-e5182e768723,91e26e73-027f-4a10-9083-e5182e768723,0,1,e55680f4-cb1a-4cdb-88f0-5d82f43c1d05,e55680f4-cb1a-4cdb-88f0-5d82f43c1d05,0,1,54433668-4391-4dea-8baf-43e9aa1d624e,54433668-4391-4dea-8baf-43e9aa1d624e,0,1,fc309616-060a-42c3-8401-dfef0f359bc5,fc309616-060a-42c3-8401-dfef0f359bc5,0,1,b968398d-973d-4643-95a5-16633d7e48bc,b968398d-973d-4643-95a5-16633d7e48bc,0,1,b9507495-2536-4895-b68b-62acd74343f6,b9507495-2536-4895-b68b-62acd74343f6,0,1,e05a14cc-9051-4c38-9725-19856e36d260,e05a14cc-9051-4c38-9725-19856e36d260,0,1,8154aa0f-ecd6-4ab0-9498-56ef25486a55,8154aa0f-ecd6-4ab0-9498-56ef25486a55,0,1,9d6429f7-23da-4596-822a-04818deb3088,9d6429f7-23da-4596-822a-04818deb3088,0,1,a1b67bd2-3220-497d-b2b4-bd0ea62d9111,a1b67bd2-3220-497d-b2b4-bd0ea62d9111,0,1,acb533e7-4610-4f92-b548-1a4ff1a423d4,acb533e7-4610-4f92-b548-1a4ff1a423d4,0,1,8697999d-9cdb-43d8-979b-3f283daffdd3,8697999d-9cdb-43d8-979b-3f283daffdd3,0,1,23378687-249c-4ec6-99b8-b13fb04b8643,23378687-249c-4ec6-99b8-b13fb04b8643,0,1,66315b12-7abf-46e0-a994-894b827b1301,66315b12-7abf-46e0-a994-894b827b1301,0,1,dba174fb-8392-4451-8069-ae8145658e34,dba174fb-8392-4451-8069-ae8145658e34,0,1,ff5dd4f8-8a16-4a41-875d-c4f7c37ae67a,ff5dd4f8-8a16-4a41-875d-c4f7c37ae67a,0,1,4435d99d-a1df-43e6-97ab-5e651017c61d,4435d99d-a1df-43e6-97ab-5e651017c61d,0,1,2398d69d-ecdd-4d34-bdae-34ed5507a61e,2398d69d-ecdd-4d34-bdae-34ed5507a61e,0,1,a707035a-0172-4b55-b589-fa4a8be9b596,a707035a-0172-4b55-b589-fa4a8be9b596,0,1,c4456e94-8c76-49b1-b85a-433e0f65bdb0,c4456e94-8c76-49b1-b85a-433e0f65bdb0,0,1,4a347209-3a07-48ea-b407-6ee37f1d69f2,4a347209-3a07-48ea-b407-6ee37f1d69f2,0,1,e0a3fab1-3fe9-4927-840e-f983f72bdfc1,e0a3fab1-3fe9-4927-840e-f983f72bdfc1,0,1,df31eee8-387d-40d1-98df-1f7d8176b50e,df31eee8-387d-40d1-98df-1f7d8176b50e,0,1,c8364283-5525-4bef-8e96-abced54c6a4a,c8364283-5525-4bef-8e96-abced54c6a4a,0,1,40e2fb30-bb03-4178-a8eb-ddf48337ef23,40e2fb30-bb03-4178-a8eb-ddf48337ef23,0,1,1026fbcb-acd8-40dc-b638-6e02c6378c55,1026fbcb-acd8-40dc-b638-6e02c6378c55,0,1,dc9e2ba6-f4f1-493f-9054-cac633f239dd,dc9e2ba6-f4f1-493f-9054-cac633f239dd,0,1,7b95d0b1-c7b2-43b4-9119-320cb8912032,7b95d0b1-c7b2-43b4-9119-320cb8912032,0,1,004582b7-00aa-405e-8e24-ce76c945edae,004582b7-00aa-405e-8e24-ce76c945edae,0,1,97a9b005-a836-4308-8e63-0e00f6890baa,97a9b005-a836-4308-8e63-0e00f6890baa,0,1,98c34ada-0b78-41db-9183-6d7b9e466bde,98c34ada-0b78-41db-9183-6d7b9e466bde,0,1,fb688339-918e-40a1-8721-a26f3077973e,fb688339-918e-40a1-8721-a26f3077973e,0,1,1f56de63-81eb-4de5-ad20-01cb6f84e5b0,1f56de63-81eb-4de5-ad20-01cb6f84e5b0,0,1,079ba95c-8293-47e2-b8bd-7acf73c2d880,079ba95c-8293-47e2-b8bd-7acf73c2d880,0,1,fbe1dcf7-c11d-4395-ab3a-c2f986c25419,fbe1dcf7-c11d-4395-ab3a-c2f986c25419,0,1,a5f264a8-a547-4653-abb1-eb1666d527dc,a5f264a8-a547-4653-abb1-eb1666d527dc,0,1,dabae379-6356-497a-aab5-cf102f16a72a,dabae379-6356-497a-aab5-cf102f16a72a,0,1,337370e0-1021-4887-9d38-6c3833c90a5b,337370e0-1021-4887-9d38-6c3833c90a5b,0,1,0ff569eb-d5b8-4ab1-ac77-5e5afd6d44d0,0ff569eb-d5b8-4ab1-ac77-5e5afd6d44d0,0,1,d6f01f1c-801b-4776-ae11-48236103f76a,d6f01f1c-801b-4776-ae11-48236103f76a,0,1,b6fe68cf-657b-40e0-af2e-247607a86519,b6fe68cf-657b-40e0-af2e-247607a86519,0,1,9b0b8191-94b7-428f-be86-e9e4cd24a72f,9b0b8191-94b7-428f-be86-e9e4cd24a72f,0,1,a923dbcb-7146-4445-ad17-f4a32c16a837,a923dbcb-7146-4445-ad17-f4a32c16a837,0,1,41dec792-1d1a-4e06-a54b-a86193b98225,41dec792-1d1a-4e06-a54b-a86193b98225,0,1,52257beb-3e0c-4681-b430-9690398cd13a,52257beb-3e0c-4681-b430-9690398cd13a,0,1,135e637c-c28e-4547-8da2-d897dca54cb2,135e637c-c28e-4547-8da2-d897dca54cb2,0,1,245be006-6d0a-4c9e-97c5-f3c2ddd734f7,245be006-6d0a-4c9e-97c5-f3c2ddd734f7,0,1,a0b74de9-06b5-416c-9dd0-2f9dc209fe91,a0b74de9-06b5-416c-9dd0-2f9dc209fe91,0,1,5356543a-db9a-4265-b83f-31d45544c8e6,5356543a-db9a-4265-b83f-31d45544c8e6,0,1,857dd311-9c6d-4dba-82d8-283d7b05b09e,857dd311-9c6d-4dba-82d8-283d7b05b09e,0,1,1055d15b-8cb5-4ff0-a526-7fd20a08a96c,1055d15b-8cb5-4ff0-a526-7fd20a08a96c,0,1,af88ea84-5742-4c9f-9a02-6d0f25186f72,af88ea84-5742-4c9f-9a02-6d0f25186f72,0,1,79ad09ba-875a-46bd-9cd9-9d084bf4f6ea,79ad09ba-875a-46bd-9cd9-9d084bf4f6ea,0,1,1a4ed7cf-3294-4a5c-9650-75b61d6b2531,1a4ed7cf-3294-4a5c-9650-75b61d6b2531,0,1,872521e3-413c-45ac-a6ea-39fe1324bae8,872521e3-413c-45ac-a6ea-39fe1324bae8,0,1,81ef02df-498d-4af0-8254-dc6730cbf140,81ef02df-498d-4af0-8254-dc6730cbf140,0,1,bcbdba9e-0b29-4ea7-a7d5-1de819bf86ec,bcbdba9e-0b29-4ea7-a7d5-1de819bf86ec,0,1,fe926c88-d792-4db3-abcf-3c94dfdcc407,fe926c88-d792-4db3-abcf-3c94dfdcc407,0,1,e0c51555-1614-4aa7-a075-c5e1251579ba,e0c51555-1614-4aa7-a075-c5e1251579ba,0,1,cb65fbad-69a0-47d8-b4a9-da49274c3eb7,cb65fbad-69a0-47d8-b4a9-da49274c3eb7,0,1,51363236-c8eb-4eb7-9692-5c18edc9a5a8,51363236-c8eb-4eb7-9692-5c18edc9a5a8,0,1,402f2fe0-4d08-4701-9c8f-0c2bb75815ef,402f2fe0-4d08-4701-9c8f-0c2bb75815ef,0,1,8cad6cfd-91d0-4563-800a-d60c8a1b6a03,8cad6cfd-91d0-4563-800a-d60c8a1b6a03,0,1,2902460a-ed86-41cf-8e8f-895adab9a72f,2902460a-ed86-41cf-8e8f-895adab9a72f,0,1,c4968b4e-0715-43a5-92ad-c8cd276fbf7b,c4968b4e-0715-43a5-92ad-c8cd276fbf7b,0,1,f82d5bd6-4c74-4c23-978c-565aae3d752a,f82d5bd6-4c74-4c23-978c-565aae3d752a,0,1,7fba41a5-4faa-412b-b367-b30ced0314c0,7fba41a5-4faa-412b-b367-b30ced0314c0,0,1,98422d20-9a71-40e4-966e-6958d44eaefb,98422d20-9a71-40e4-966e-6958d44eaefb,0,1,37333d0b-3589-4b8b-bf6c-e605e0287b66,37333d0b-3589-4b8b-bf6c-e605e0287b66,0,1,1813c469-da20-46a6-8947-6815b66f64c1,1813c469-da20-46a6-8947-6815b66f64c1,0,1,ad083c26-7461-4e94-b524-0174242fbd91,ad083c26-7461-4e94-b524-0174242fbd91,0,1,5ce39370-f918-493f-bb24-53346b6fd836,5ce39370-f918-493f-bb24-53346b6fd836,0,1,84f22fd2-e0d0-42ce-8628-1b13c021a4cb,84f22fd2-e0d0-42ce-8628-1b13c021a4cb,0,1,0e3d2750-bb4c-42b9-9829-60f1480ced9c,0e3d2750-bb4c-42b9-9829-60f1480ced9c,0,1,d1b6c5e8-7625-43aa-bb11-943c9bfa01b7,d1b6c5e8-7625-43aa-bb11-943c9bfa01b7,0,1,dad11c2e-08fc-4a6b-8829-8be6c64c15fc,dad11c2e-08fc-4a6b-8829-8be6c64c15fc,0,1,a76b1fd1-ba00-40e6-8756-f17fee449818,a76b1fd1-ba00-40e6-8756-f17fee449818,0,1,5c913626-48d1-4e0a-a423-64078ce59c7b,5c913626-48d1-4e0a-a423-64078ce59c7b,0,1,0a4e6b7a-b380-4547-bc3c-5d6895a5d19a,0a4e6b7a-b380-4547-bc3c-5d6895a5d19a,0,1,7b0ec304-1904-413e-a9c6-ff62e87107dd,7b0ec304-1904-413e-a9c6-ff62e87107dd,0,1,d4dd8c96-914d-496f-b735-ef85ec473605,d4dd8c96-914d-496f-b735-ef85ec473605,0,1,62517db4-59e6-4945-bcd6-b3f1845572bf,62517db4-59e6-4945-bcd6-b3f1845572bf,0,1,a6a9dd40-24cd-4d40-a12d-44f94f8c05a7,a6a9dd40-24cd-4d40-a12d-44f94f8c05a7,0,1,f0f72149-0e7f-441a-b70d-8f47d4977927,f0f72149-0e7f-441a-b70d-8f47d4977927,0,1,776efc3e-ac27-4550-bafd-6e91aa987af2,776efc3e-ac27-4550-bafd-6e91aa987af2,0,1,9f478c85-b72c-40ae-aa08-7ddf73b5b15c,9f478c85-b72c-40ae-aa08-7ddf73b5b15c,0,1,cc438366-85ea-48be-8b74-d05cddb1fc51,cc438366-85ea-48be-8b74-d05cddb1fc51,0,1,4688fd3b-4a92-4ed8-b111-0cf22a729b1c,4688fd3b-4a92-4ed8-b111-0cf22a729b1c,0,1,92029d1f-0472-4aaa-8fd6-9fb3c3cf414e,92029d1f-0472-4aaa-8fd6-9fb3c3cf414e,0,1,3271b800-1825-422f-97bb-757baf403e90,3271b800-1825-422f-97bb-757baf403e90,0,1,6fd6efc1-facc-4ece-a5b3-3dce6acca81d,6fd6efc1-facc-4ece-a5b3-3dce6acca81d,0,1,4ee82868-7a20-4c3a-91f9-42a6bf53ac37,4ee82868-7a20-4c3a-91f9-42a6bf53ac37,0,1,a040c756-4687-4bfd-a690-b122d3c490e5,a040c756-4687-4bfd-a690-b122d3c490e5,0,1,bd5940d5-13fd-4f59-bb6c-614f93f9c8e4,bd5940d5-13fd-4f59-bb6c-614f93f9c8e4,0,1,961a9801-3956-4ea0-b0d3-908f09bf4929,961a9801-3956-4ea0-b0d3-908f09bf4929,0,1,6fac5c14-e126-4342-9078-edf1d0efcbf2,6fac5c14-e126-4342-9078-edf1d0efcbf2,0,1,0a3325a1-21c4-4997-882f-4ac2edc175f0,0a3325a1-21c4-4997-882f-4ac2edc175f0,0,1,f0620d5a-e1fe-419f-af37-e0f462f97e8d,f0620d5a-e1fe-419f-af37-e0f462f97e8d,0,1,3e2f2ae1-c809-43fc-8276-b0a16a92858c,3e2f2ae1-c809-43fc-8276-b0a16a92858c,0,1,b58942ca-1367-4e1d-b5b4-7d973d0fecd8,b58942ca-1367-4e1d-b5b4-7d973d0fecd8,0,1,1a7c7427-bead-4655-9dd6-df6e722663c5,1a7c7427-bead-4655-9dd6-df6e722663c5,0,1,3ad08f4a-6202-4099-b6cc-bc116e6731a0,3ad08f4a-6202-4099-b6cc-bc116e6731a0,0,1,fd96c8ab-602a-4735-b168-52b501e80351,fd96c8ab-602a-4735-b168-52b501e80351,0,1,b1dc619d-8d91-4f7a-aa50-1d07ff9aebdc,b1dc619d-8d91-4f7a-aa50-1d07ff9aebdc,0,1,370f0c75-d2c5-4be5-a633-4bcc77998ece,370f0c75-d2c5-4be5-a633-4bcc77998ece,0,1,f80b505f-b4ff-45fb-bd88-74b274ae9d2b,f80b505f-b4ff-45fb-bd88-74b274ae9d2b,0,1,2139532c-f6cb-4393-936e-cc912e5adca9,2139532c-f6cb-4393-936e-cc912e5adca9,0,1,755c3eca-4956-4a44-9b38-c11dae00b87f,755c3eca-4956-4a44-9b38-c11dae00b87f,0,1,f57c558c-2c94-4b9d-8697-448d0548ab1a,f57c558c-2c94-4b9d-8697-448d0548ab1a,0,1,a310c09f-4d3a-4d3a-9ad5-7a5735a33a1d,a310c09f-4d3a-4d3a-9ad5-7a5735a33a1d,0,1,c32db021-eca1-4b67-aa85-3d6e28c51b53,c32db021-eca1-4b67-aa85-3d6e28c51b53,0,1,e9ed0ee4-3fbe-4093-9078-cb265ed6842c,e9ed0ee4-3fbe-4093-9078-cb265ed6842c,0,1,02466dcf-02a1-4853-814f-a913a9baba45,02466dcf-02a1-4853-814f-a913a9baba45,0,1,c4a40dc9-b619-4219-9d9a-e11f49a14fb1,c4a40dc9-b619-4219-9d9a-e11f49a14fb1,0,1,62b75eb2-42e1-4484-a77f-b676dd36f3d4,62b75eb2-42e1-4484-a77f-b676dd36f3d4,0,1,5e28e22a-dd6e-4703-92bd-13f5cb0dc023,5e28e22a-dd6e-4703-92bd-13f5cb0dc023,0,1,856510ee-74f5-44e9-a3c0-1c60cfb7a787,856510ee-74f5-44e9-a3c0-1c60cfb7a787,0,1,28b761c6-c286-4125-a4ed-da602e49950f,28b761c6-c286-4125-a4ed-da602e49950f,0,1,4ac66a22-c736-4e06-a8aa-ef4a71788c65,4ac66a22-c736-4e06-a8aa-ef4a71788c65,0,1,9cfe9281-8840-4077-824d-a2c9cbb0b730,9cfe9281-8840-4077-824d-a2c9cbb0b730,0,1,76389fa9-b9e0-492e-9c93-24b5f3bf094c,76389fa9-b9e0-492e-9c93-24b5f3bf094c,0,1,23e3de37-9315-45e6-bbfd-60aae28c25ae,23e3de37-9315-45e6-bbfd-60aae28c25ae,0,1,a9957f43-8b6f-4d98-a2d8-77b78047494c,a9957f43-8b6f-4d98-a2d8-77b78047494c,0,1,e470e15d-1b06-43cb-a9f9-ba489e2f596f,e470e15d-1b06-43cb-a9f9-ba489e2f596f,0,1,0408002c-9255-43a2-8022-82f02ee0e8f4,0408002c-9255-43a2-8022-82f02ee0e8f4,0,1,88f44c9b-216d-4d7e-bc88-1e6b253ed01e,88f44c9b-216d-4d7e-bc88-1e6b253ed01e,0,1,1851afd4-5324-45c1-b754-54e65943f945,1851afd4-5324-45c1-b754-54e65943f945,0,1,bc5eca9b-32d8-44e0-a127-8ad1f47d7957,bc5eca9b-32d8-44e0-a127-8ad1f47d7957,0,1,6e5307ea-8fbf-4177-bcc8-f163a6ce1b40,6e5307ea-8fbf-4177-bcc8-f163a6ce1b40,0,1,0fa77ef7-a836-4459-9bca-6010d0bdfc7f,0fa77ef7-a836-4459-9bca-6010d0bdfc7f,0,1,c322dc4a-30f3-4d23-9824-4a01c496408d,c322dc4a-30f3-4d23-9824-4a01c496408d,0,1,dcff004c-1b61-4a19-b977-ea21bf688614,dcff004c-1b61-4a19-b977-ea21bf688614,0,0,0,1,0,0,0,1,0,1,0,1,1,1,1} \ No newline at end of file +{6,1,1,8ccdacee-97c4-4026-a95c-a6aad4a987e8,1,86317dd1-5dc5-4ab4-a445-3f8d654bd465,"2.2.3.44","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",4534,1,0,6b023fde-1bc8-48ea-b098-0c6d20099af0,6b023fde-1bc8-48ea-b098-0c6d20099af0,0,1,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,0,1,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,0,1,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,0,1,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,0,1,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,0,1,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,0,1,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,0,1,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,0,1,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,0,1,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,0,1,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,0,1,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,0,1,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,0,1,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,0,1,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,0,1,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,0,1,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,0,1,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,0,1,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,0,1,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,0,1,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,0,1,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,0,1,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,0,1,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,0,1,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,0,1,9e36087a-baa8-4812-956a-6e1ac73aa7e0,9e36087a-baa8-4812-956a-6e1ac73aa7e0,0,1,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,0,1,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,0,1,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,0,1,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,0,1,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,0,1,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,0,1,cb8da2f3-f8bb-4736-8381-7c153670e3e2,cb8da2f3-f8bb-4736-8381-7c153670e3e2,0,1,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,0,1,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,0,1,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,0,1,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,0,1,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,0,1,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,0,1,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,0,1,c53df2d1-4564-47a7-b66e-6a23ba28270e,c53df2d1-4564-47a7-b66e-6a23ba28270e,0,1,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,0,1,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,0,1,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,0,1,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,0,1,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,0,1,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,0,1,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,0,1,52176b25-0232-4326-9548-495db32b2660,52176b25-0232-4326-9548-495db32b2660,0,1,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,0,1,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,0,1,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,0,1,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0,1,060b6f18-538c-4ea1-9748-00efe0b1ab57,060b6f18-538c-4ea1-9748-00efe0b1ab57,0,1,307b6821-fd82-4a1c-9fdb-a26293d4f713,307b6821-fd82-4a1c-9fdb-a26293d4f713,0,1,a952960b-be1b-4ec4-bd76-80915065a60b,a952960b-be1b-4ec4-bd76-80915065a60b,0,1,64f548c8-c1fc-434e-b3ee-5be367ead1db,64f548c8-c1fc-434e-b3ee-5be367ead1db,0,1,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,9e4dfdfa-ec05-4c9e-89bd-fc24f60f2678,0,1,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,0,1,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5-45fc-8da2-a36c435085a6,0,1,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,0,1,5d16e042-3889-4851-86f1-bc43bf06ee88,5d16e042-3889-4851-86f1-bc43bf06ee88,0,1,e5a0e7c2-6186-43a3-a1c5-1f16990602a4,e5a0e7c2-6186-43a3-a1c5-1f16990602a4,0,1,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,0,1,e39ecc8a-ce81-483d-85de-b0488c8b7749,e39ecc8a-ce81-483d-85de-b0488c8b7749,0,1,8f3b124f-bf85-4307-8f0c-47be1fb5c8b0,8f3b124f-bf85-4307-8f0c-47be1fb5c8b0,0,1,1514eaff-faea-4d82-9465-d0d5292bb31d,1514eaff-faea-4d82-9465-d0d5292bb31d,0,1,6d39c6df-8cd4-47ad-9125-252b37d94575,6d39c6df-8cd4-47ad-9125-252b37d94575,0,1,739bd762-01fc-41a8-87df-844eb201962f,739bd762-01fc-41a8-87df-844eb201962f,0,1,ad7c6165-2e44-4808-a77a-526882cf5dea,ad7c6165-2e44-4808-a77a-526882cf5dea,0,1,b7e435a9-6107-4d02-a949-cff793462e31,b7e435a9-6107-4d02-a949-cff793462e31,0,1,f0cda8f5-56f5-423b-8c1c-7113433ebf25,f0cda8f5-56f5-423b-8c1c-7113433ebf25,0,1,1a220e88-428b-4d85-926d-e572bf19997c,1a220e88-428b-4d85-926d-e572bf19997c,0,1,ca0d938b-244e-421f-9fa4-320784b9f416,ca0d938b-244e-421f-9fa4-320784b9f416,0,1,a108b11d-a489-4684-84ea-d5377c7394de,a108b11d-a489-4684-84ea-d5377c7394de,0,1,289a2d84-2477-4177-a6ef-507e2cadeea2,289a2d84-2477-4177-a6ef-507e2cadeea2,0,1,757b547b-b79c-459a-a64a-eef19a09a38f,757b547b-b79c-459a-a64a-eef19a09a38f,0,1,61cd6eab-6bab-4382-986e-4c7fc44f369b,61cd6eab-6bab-4382-986e-4c7fc44f369b,0,1,950f8fd5-fefa-4bfb-97a0-38d77ae830dc,950f8fd5-fefa-4bfb-97a0-38d77ae830dc,0,1,cbbe7903-842c-470e-a2d6-7928df8f13e9,cbbe7903-842c-470e-a2d6-7928df8f13e9,0,1,e02597c4-bf45-4bb6-931d-62d2244f6c58,e02597c4-bf45-4bb6-931d-62d2244f6c58,0,1,42544966-445d-41b8-b6a0-a52c64758232,42544966-445d-41b8-b6a0-a52c64758232,0,1,a92d8a5c-b595-4c6c-9f1d-5e85b1c996b4,a92d8a5c-b595-4c6c-9f1d-5e85b1c996b4,0,1,bd68dd13-66bb-40ed-8f4b-0767b7063ffd,bd68dd13-66bb-40ed-8f4b-0767b7063ffd,0,1,9eea8645-1ba7-4faf-9c29-868bf99964dd,9eea8645-1ba7-4faf-9c29-868bf99964dd,0,1,e07ac651-07b9-4664-95e8-f3f5a51ea6c8,e07ac651-07b9-4664-95e8-f3f5a51ea6c8,0,1,0c44fdea-7b81-45be-87f5-d64456a9d379,0c44fdea-7b81-45be-87f5-d64456a9d379,0,1,d09d6f21-cdd0-485e-bd2c-92092a1aefef,d09d6f21-cdd0-485e-bd2c-92092a1aefef,0,1,2fc92784-d7b0-4209-ba06-e54bed2f160f,2fc92784-d7b0-4209-ba06-e54bed2f160f,0,1,e5b8ea5c-1d08-4f0a-a8f6-358b41e2e9f2,e5b8ea5c-1d08-4f0a-a8f6-358b41e2e9f2,0,1,a4e4c91c-fd95-4369-98e3-51ffba79937b,a4e4c91c-fd95-4369-98e3-51ffba79937b,0,1,0d0ada8a-09bb-4634-bf50-199f3779dad5,0d0ada8a-09bb-4634-bf50-199f3779dad5,0,1,d343d4e4-d07f-48c3-9db1-774b0d6c1134,d343d4e4-d07f-48c3-9db1-774b0d6c1134,0,1,14ef2331-6d9b-4cf1-90f3-7d4ac410439d,14ef2331-6d9b-4cf1-90f3-7d4ac410439d,0,1,04ab13b1-ffc2-47f5-aa0d-5850dcbd4a62,04ab13b1-ffc2-47f5-aa0d-5850dcbd4a62,0,1,968588bb-ee60-4399-955a-3ec4228d3c40,968588bb-ee60-4399-955a-3ec4228d3c40,0,1,23dbb528-7ea8-44ae-a1f2-b7608118666e,23dbb528-7ea8-44ae-a1f2-b7608118666e,0,1,b9627855-6773-4a59-b7d3-f9e2e565cd9e,b9627855-6773-4a59-b7d3-f9e2e565cd9e,0,1,ad87bd29-0ad1-4da4-ac62-38e714e0cb9f,ad87bd29-0ad1-4da4-ac62-38e714e0cb9f,0,1,283ce432-3553-4de9-94a2-ca9a590437f5,283ce432-3553-4de9-94a2-ca9a590437f5,0,1,0da019ca-1fc7-4aff-8998-3ddcccf10872,0da019ca-1fc7-4aff-8998-3ddcccf10872,0,1,7102d4fa-92f2-4fba-ad09-a33dbc71bef2,7102d4fa-92f2-4fba-ad09-a33dbc71bef2,0,1,34b0e268-497d-44d4-b822-84909d0685aa,34b0e268-497d-44d4-b822-84909d0685aa,0,1,8961a859-2203-4678-ae1f-63e2474a787a,8961a859-2203-4678-ae1f-63e2474a787a,0,1,fe63db47-3ece-4518-b6a2-0b6499f60a61,fe63db47-3ece-4518-b6a2-0b6499f60a61,0,1,654523be-93d9-4faa-9a35-ce2fede13820,654523be-93d9-4faa-9a35-ce2fede13820,0,1,671afc3e-7589-49d8-95a5-1cf195c3b2f8,671afc3e-7589-49d8-95a5-1cf195c3b2f8,0,1,2c8e45b8-7d80-4137-85db-66cd1db94526,2c8e45b8-7d80-4137-85db-66cd1db94526,0,1,47accdc7-8fa0-4996-9305-c42b6ca12df9,47accdc7-8fa0-4996-9305-c42b6ca12df9,0,1,5abc496c-5745-4220-9fdc-bac092717871,5abc496c-5745-4220-9fdc-bac092717871,0,1,7df36398-7752-4f51-9978-1bcb4bcdd062,7df36398-7752-4f51-9978-1bcb4bcdd062,0,1,9fd55b7f-209b-4b74-99d6-965b8f6f2df9,9fd55b7f-209b-4b74-99d6-965b8f6f2df9,0,1,f818fde9-1b06-4507-a69f-4dcb0ce8cd7a,f818fde9-1b06-4507-a69f-4dcb0ce8cd7a,0,1,a6690ef1-b16a-4d58-bc31-a8089b2c00d8,a6690ef1-b16a-4d58-bc31-a8089b2c00d8,0,1,316f94ec-81ed-4b5c-aa9d-98d2cfe1c641,316f94ec-81ed-4b5c-aa9d-98d2cfe1c641,0,1,f4885af5-6ed6-40e8-81a5-0e9537f943d7,f4885af5-6ed6-40e8-81a5-0e9537f943d7,0,1,87472d14-0d8c-4813-8a3e-2721bbb26811,87472d14-0d8c-4813-8a3e-2721bbb26811,0,1,44cf6d0a-0a5b-4ca1-b91e-af61f40fb825,44cf6d0a-0a5b-4ca1-b91e-af61f40fb825,0,1,e8faa1a9-807a-4916-b3c5-76ba2199754c,e8faa1a9-807a-4916-b3c5-76ba2199754c,0,1,99b5c632-61fe-41f5-ac00-ea530633bf28,99b5c632-61fe-41f5-ac00-ea530633bf28,0,1,a3c9c4e7-d36a-4db1-bd95-a50886c4be60,a3c9c4e7-d36a-4db1-bd95-a50886c4be60,0,1,4c53f94e-d7e8-457c-b337-59d3b3c5bf24,4c53f94e-d7e8-457c-b337-59d3b3c5bf24,0,1,bd6d7dcd-421c-402e-b6b8-f6ce6b18c140,bd6d7dcd-421c-402e-b6b8-f6ce6b18c140,0,1,485911f7-a964-450d-82da-cab020836eb2,485911f7-a964-450d-82da-cab020836eb2,0,1,cedd0b47-07cb-4dae-86b5-31d396b693c7,cedd0b47-07cb-4dae-86b5-31d396b693c7,0,1,c08391e1-c4e3-42aa-8738-061031d0cb75,c08391e1-c4e3-42aa-8738-061031d0cb75,0,1,bf4c6723-e586-4643-9f03-9e672afea26f,bf4c6723-e586-4643-9f03-9e672afea26f,0,1,23204b0b-bf77-4f7c-9945-e73ad924ebb4,23204b0b-bf77-4f7c-9945-e73ad924ebb4,0,1,dd9d3586-775b-4d5b-ab2d-78db0870ecdd,dd9d3586-775b-4d5b-ab2d-78db0870ecdd,0,1,44c610c3-9c0b-4bf0-95d6-f17100d3e98d,44c610c3-9c0b-4bf0-95d6-f17100d3e98d,0,1,a54f2d41-a05e-4878-80c6-81ca2899fa4c,a54f2d41-a05e-4878-80c6-81ca2899fa4c,0,1,23a898d9-5bcb-4744-ab6c-97b17dc98f20,23a898d9-5bcb-4744-ab6c-97b17dc98f20,0,1,50a04251-ac9c-4a21-a37f-ebc9ac3ef233,50a04251-ac9c-4a21-a37f-ebc9ac3ef233,0,1,f8f56806-ed7e-4059-a0c8-940538c14c98,f8f56806-ed7e-4059-a0c8-940538c14c98,0,1,9ff9f92b-c509-48da-82ce-15b524a895d6,9ff9f92b-c509-48da-82ce-15b524a895d6,0,1,c8bf96c8-f359-4940-8e87-3d190371d6d3,c8bf96c8-f359-4940-8e87-3d190371d6d3,0,1,477f0b81-0eb1-4de1-8cb5-38f1e0823947,477f0b81-0eb1-4de1-8cb5-38f1e0823947,0,1,d914eaa9-ce85-4df7-a545-2d411ef915b0,d914eaa9-ce85-4df7-a545-2d411ef915b0,0,1,41881344-82b7-4904-9ab8-0207d9bcd0a9,41881344-82b7-4904-9ab8-0207d9bcd0a9,0,1,21032fa5-9426-40bd-91e4-ace1e4ceb013,21032fa5-9426-40bd-91e4-ace1e4ceb013,0,1,ddfe5401-e136-4f20-aa65-aeb42a61a1f0,ddfe5401-e136-4f20-aa65-aeb42a61a1f0,0,1,27a80757-c0fd-40c7-ad24-4c819c1ba72b,27a80757-c0fd-40c7-ad24-4c819c1ba72b,0,1,7fce9e49-e558-4760-9d95-dde6ac6c1e78,7fce9e49-e558-4760-9d95-dde6ac6c1e78,0,1,e5aba4a3-6056-4ef3-827c-d74283175393,e5aba4a3-6056-4ef3-827c-d74283175393,0,1,63039e62-7314-42ff-bdc6-c251f38b3827,63039e62-7314-42ff-bdc6-c251f38b3827,0,1,8a4b7aab-b602-4581-8fa4-fab66791f701,8a4b7aab-b602-4581-8fa4-fab66791f701,0,1,7c92c579-4651-4fe3-90dc-6c9b594b76f0,7c92c579-4651-4fe3-90dc-6c9b594b76f0,0,1,a2be2d7a-cca0-460f-a915-dadfb9cd588b,a2be2d7a-cca0-460f-a915-dadfb9cd588b,0,1,35bac3e3-1329-4aa6-866f-f6fcaed8cd6e,35bac3e3-1329-4aa6-866f-f6fcaed8cd6e,0,1,ed53b24d-5338-4ae1-8659-0ea6450dc7bb,ed53b24d-5338-4ae1-8659-0ea6450dc7bb,0,1,6add2712-48e8-4b22-a7bb-7d8c808ac5fc,6add2712-48e8-4b22-a7bb-7d8c808ac5fc,0,1,1f4408f5-460e-431b-9842-bc6875ccf0ae,1f4408f5-460e-431b-9842-bc6875ccf0ae,0,1,ec09aa2d-758f-4ae8-96b7-0f05b8187dda,ec09aa2d-758f-4ae8-96b7-0f05b8187dda,0,1,7bfc6163-a62f-45e8-9112-40a5d675ba4a,7bfc6163-a62f-45e8-9112-40a5d675ba4a,0,1,542ff510-0245-4a08-80ac-a9941c66ae93,542ff510-0245-4a08-80ac-a9941c66ae93,0,1,03297623-eaa2-4db0-bf1b-ce2076faf20a,03297623-eaa2-4db0-bf1b-ce2076faf20a,0,1,3c6ef64e-c9bd-4cba-98a4-ffcc5b93b6da,3c6ef64e-c9bd-4cba-98a4-ffcc5b93b6da,0,1,700c2edd-c457-47b7-a7d3-5fb3d9078d1f,700c2edd-c457-47b7-a7d3-5fb3d9078d1f,0,1,82a3802c-b6d6-4511-bd8b-eeec003afa33,82a3802c-b6d6-4511-bd8b-eeec003afa33,0,1,8b59dec8-12b8-455f-8dfc-7c3f03b4ffa5,8b59dec8-12b8-455f-8dfc-7c3f03b4ffa5,0,1,b5eb2e12-c39c-44fa-b940-09b4dcd2817c,b5eb2e12-c39c-44fa-b940-09b4dcd2817c,0,1,5d5ffb56-e18b-4831-94f0-d7a76c2eee6f,5d5ffb56-e18b-4831-94f0-d7a76c2eee6f,0,1,590f29f4-2db1-47c6-83a0-f44d4bbe6e3e,590f29f4-2db1-47c6-83a0-f44d4bbe6e3e,0,1,a755cb43-492d-4069-9b6a-29b92ebb5b0e,a755cb43-492d-4069-9b6a-29b92ebb5b0e,0,1,86d09107-f511-4148-b5d9-d97e92addfde,86d09107-f511-4148-b5d9-d97e92addfde,0,1,c14c1f91-f4b9-44d6-b560-8dcdb5faf5f9,c14c1f91-f4b9-44d6-b560-8dcdb5faf5f9,0,1,55b78834-3d90-4858-a6f7-e0368b1d8c41,55b78834-3d90-4858-a6f7-e0368b1d8c41,0,1,059b9a75-f53a-4518-a48a-afc72ab9ee36,059b9a75-f53a-4518-a48a-afc72ab9ee36,0,1,bc0dcb68-bfb8-49f4-8eb4-2ca953d852bd,bc0dcb68-bfb8-49f4-8eb4-2ca953d852bd,0,1,31e95872-97c7-49e3-bd1b-8df4de07014d,31e95872-97c7-49e3-bd1b-8df4de07014d,0,1,8b9be02b-cd1f-4231-a895-6c9be26348c2,8b9be02b-cd1f-4231-a895-6c9be26348c2,0,1,c52c4b8c-6be7-460a-9b54-6cdf64e3f8fe,c52c4b8c-6be7-460a-9b54-6cdf64e3f8fe,0,1,fa4f0b33-5253-4a5f-8121-feae3e1968a6,fa4f0b33-5253-4a5f-8121-feae3e1968a6,0,1,e0d21be2-91dc-4a04-9078-49420ddddcd5,e0d21be2-91dc-4a04-9078-49420ddddcd5,0,1,56c97764-7dba-42e0-8ba0-82712aca20e9,56c97764-7dba-42e0-8ba0-82712aca20e9,0,1,03ad9b3d-8f3a-4482-a777-f6a3b3d953d6,03ad9b3d-8f3a-4482-a777-f6a3b3d953d6,0,1,3f05dcf9-be52-42e1-b5ff-dea14d97a26f,3f05dcf9-be52-42e1-b5ff-dea14d97a26f,0,1,ea868745-71fc-483c-aa6e-f242c06c673f,ea868745-71fc-483c-aa6e-f242c06c673f,0,1,7f3c6269-ea41-492f-87b7-7eaaf712762e,7f3c6269-ea41-492f-87b7-7eaaf712762e,0,1,a5d037b0-c666-4179-9d6a-5f48c4a126a8,a5d037b0-c666-4179-9d6a-5f48c4a126a8,0,1,f0850411-4dee-4f1d-baec-7d6c96b10637,f0850411-4dee-4f1d-baec-7d6c96b10637,0,1,12f95031-b81f-4802-b2f3-6f70def90db0,12f95031-b81f-4802-b2f3-6f70def90db0,0,1,5732112a-f31d-41cd-9a7f-312a27395502,5732112a-f31d-41cd-9a7f-312a27395502,0,1,bbf8342b-24f0-4d11-bb5a-4c89d5ea7766,bbf8342b-24f0-4d11-bb5a-4c89d5ea7766,0,1,06fc381d-f27a-433c-95c3-e0981e01f22b,06fc381d-f27a-433c-95c3-e0981e01f22b,0,1,f646835e-61eb-4ebd-811e-dac5e70bd1b4,f646835e-61eb-4ebd-811e-dac5e70bd1b4,0,1,61b49c4c-3021-4868-834a-9137476ae169,61b49c4c-3021-4868-834a-9137476ae169,0,1,58911911-5192-45fe-87cf-c4a222a521a1,58911911-5192-45fe-87cf-c4a222a521a1,0,1,70067937-9f27-4442-b87b-6c4576ce1b78,70067937-9f27-4442-b87b-6c4576ce1b78,0,1,115d5d06-a2fc-453e-aab5-c869b6d5850b,115d5d06-a2fc-453e-aab5-c869b6d5850b,0,1,d33ca006-d81d-4ef8-8503-7878e81c599f,d33ca006-d81d-4ef8-8503-7878e81c599f,0,1,123bb339-b95e-44c3-b1e9-482dcaa6f297,123bb339-b95e-44c3-b1e9-482dcaa6f297,0,1,f4119605-beb3-46b6-b372-ecdb74f10a33,f4119605-beb3-46b6-b372-ecdb74f10a33,0,1,d2a2e332-a52c-4277-bd19-5ea8ef198469,d2a2e332-a52c-4277-bd19-5ea8ef198469,0,1,e440c594-14bb-4a6e-af53-a4519c7d5548,e440c594-14bb-4a6e-af53-a4519c7d5548,0,1,4165bdaa-8e27-40de-bcdc-0379c34e8868,4165bdaa-8e27-40de-bcdc-0379c34e8868,0,1,a9a3fde2-99d5-4ebf-88b1-eccd9d74276e,a9a3fde2-99d5-4ebf-88b1-eccd9d74276e,0,1,e606f8eb-952a-4abb-b1ae-4211204bed84,e606f8eb-952a-4abb-b1ae-4211204bed84,0,1,7ddc3d13-fa6f-4fa9-870e-a34d5b2d9582,7ddc3d13-fa6f-4fa9-870e-a34d5b2d9582,0,1,1c2ad932-150a-4b15-b958-62eaa8a1eebc,1c2ad932-150a-4b15-b958-62eaa8a1eebc,0,1,b4deaebf-2c21-47d7-9436-10c94c94667c,b4deaebf-2c21-47d7-9436-10c94c94667c,0,1,f8295f29-2533-4013-981b-240f017d9f7c,f8295f29-2533-4013-981b-240f017d9f7c,0,1,538b316b-3876-4da6-8b97-ad8ef59de17d,538b316b-3876-4da6-8b97-ad8ef59de17d,0,1,f70f09fd-59e1-47b6-aaf3-cb4cc4ceaa7e,f70f09fd-59e1-47b6-aaf3-cb4cc4ceaa7e,0,1,ebc5f182-482b-4dec-9961-ce3a448abd0e,ebc5f182-482b-4dec-9961-ce3a448abd0e,0,1,83e618f5-1bf4-474a-9d65-389f1e4b16c3,83e618f5-1bf4-474a-9d65-389f1e4b16c3,0,1,1357512e-3ed3-455d-bc91-81db3b92f9fe,1357512e-3ed3-455d-bc91-81db3b92f9fe,0,1,82223d0f-41d9-45a6-9612-ae4d8408fa1b,82223d0f-41d9-45a6-9612-ae4d8408fa1b,0,1,3ee058a9-aff5-46f0-8928-8a417e7800d4,3ee058a9-aff5-46f0-8928-8a417e7800d4,0,1,c9a03f19-42bb-4e07-8ce8-1b954e431ada,c9a03f19-42bb-4e07-8ce8-1b954e431ada,0,1,ed4edc6f-048a-40d5-8f61-989895c95cf3,ed4edc6f-048a-40d5-8f61-989895c95cf3,0,1,dc17d8b6-d277-43eb-8823-71d440ae1e90,dc17d8b6-d277-43eb-8823-71d440ae1e90,0,1,c5b8bf21-5c8f-4e5b-8b85-bfac387ce99a,c5b8bf21-5c8f-4e5b-8b85-bfac387ce99a,0,1,d9a6706e-3dcd-4aec-b9d1-542330ba6e2e,d9a6706e-3dcd-4aec-b9d1-542330ba6e2e,0,1,7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2,7cbf0398-2bc7-4f40-9a9e-af4135c6a2d2,0,1,cc770616-f6f6-4054-876c-f319b1f8c6cf,cc770616-f6f6-4054-876c-f319b1f8c6cf,0,1,8486e623-1a54-4ad9-ab44-591b6a559bc3,8486e623-1a54-4ad9-ab44-591b6a559bc3,0,1,dce82d28-9a7b-4d4c-af13-90f459cf4af2,dce82d28-9a7b-4d4c-af13-90f459cf4af2,0,1,cb9f2231-49bb-4b14-a124-8996628afead,cb9f2231-49bb-4b14-a124-8996628afead,0,1,dc1b8bce-49c5-4fd2-a597-27f1fbc98648,dc1b8bce-49c5-4fd2-a597-27f1fbc98648,0,1,ac4c6275-3c23-4a1f-b19e-c674fd685e8f,ac4c6275-3c23-4a1f-b19e-c674fd685e8f,0,1,896de79f-3c34-4436-a4e2-4dd4f45c3e20,896de79f-3c34-4436-a4e2-4dd4f45c3e20,0,1,25d118f0-bfb7-4f08-84b1-0511b0fc92e8,25d118f0-bfb7-4f08-84b1-0511b0fc92e8,0,1,e6c42b5d-57fd-42ce-a968-653620e797f6,e6c42b5d-57fd-42ce-a968-653620e797f6,0,1,724fb328-fec6-4afe-bc99-0ff0951b184b,724fb328-fec6-4afe-bc99-0ff0951b184b,0,1,f6259a3b-98f5-4649-8fd0-da0a0285f375,f6259a3b-98f5-4649-8fd0-da0a0285f375,0,1,c565bf25-c55e-4324-851a-cec497f5114a,c565bf25-c55e-4324-851a-cec497f5114a,0,1,b50994d0-23f9-4bf4-93d2-cf9bcffa6fc9,b50994d0-23f9-4bf4-93d2-cf9bcffa6fc9,0,1,5b0e250c-4d2d-4e37-ade1-593854610d3f,5b0e250c-4d2d-4e37-ade1-593854610d3f,0,1,148f63d5-23ad-4824-a24c-14d5a54c62d3,148f63d5-23ad-4824-a24c-14d5a54c62d3,0,1,d6cdd049-b31b-48aa-a2aa-a24b0bdf3337,d6cdd049-b31b-48aa-a2aa-a24b0bdf3337,0,1,eabfa8b7-fb65-43dd-9308-787f7cce88c9,eabfa8b7-fb65-43dd-9308-787f7cce88c9,0,1,30213cef-b2bc-4e6c-8094-74a61f28b2ed,30213cef-b2bc-4e6c-8094-74a61f28b2ed,0,1,8c72f824-b667-4d74-84aa-30eccfbbd2f0,8c72f824-b667-4d74-84aa-30eccfbbd2f0,0,1,ec7b492d-5d38-4f31-90e0-577ad181514e,ec7b492d-5d38-4f31-90e0-577ad181514e,0,1,da0686ce-25e2-4d2c-b152-283f5e4cf4b1,da0686ce-25e2-4d2c-b152-283f5e4cf4b1,0,1,4807629d-8421-4bd9-beb4-5b2940197958,4807629d-8421-4bd9-beb4-5b2940197958,0,1,4bad7c64-131a-42cb-9be7-d61f14f456d0,4bad7c64-131a-42cb-9be7-d61f14f456d0,0,1,d46e141b-7a10-4d65-971f-3a35f2114017,d46e141b-7a10-4d65-971f-3a35f2114017,0,1,cd6f96c7-33ee-42b1-bb81-ce7d9652337c,cd6f96c7-33ee-42b1-bb81-ce7d9652337c,0,1,766c7fb5-727e-4975-9ea1-3b0df4739620,766c7fb5-727e-4975-9ea1-3b0df4739620,0,1,ba59393c-c499-4999-91d4-b9e34d94db0e,ba59393c-c499-4999-91d4-b9e34d94db0e,0,1,fcf6a4cd-d0c9-4f83-b9b0-514baed3ccb9,fcf6a4cd-d0c9-4f83-b9b0-514baed3ccb9,0,1,3f92cffe-b4ea-45e3-b2b9-a9e316405a8c,3f92cffe-b4ea-45e3-b2b9-a9e316405a8c,0,1,e70a6eab-791f-4c70-bb92-f069c7486d1b,e70a6eab-791f-4c70-bb92-f069c7486d1b,0,1,f74f97b7-4cbf-4124-b441-d8bb5d9b1634,f74f97b7-4cbf-4124-b441-d8bb5d9b1634,0,1,a3a9a48b-f241-45b2-b93b-d34bba0a8a66,a3a9a48b-f241-45b2-b93b-d34bba0a8a66,0,1,f58bffe7-4a02-4c4e-bfed-7895177a400c,f58bffe7-4a02-4c4e-bfed-7895177a400c,0,1,fe285122-2257-4fb2-ab7e-1683c31db1c6,fe285122-2257-4fb2-ab7e-1683c31db1c6,0,1,0facc6eb-a178-45ee-a6bc-4bf085d80453,0facc6eb-a178-45ee-a6bc-4bf085d80453,0,1,f74eef36-9441-4b6f-b21c-de9643832f9f,f74eef36-9441-4b6f-b21c-de9643832f9f,0,1,ac2e5217-aaeb-4b6f-b063-538c84f2da06,ac2e5217-aaeb-4b6f-b063-538c84f2da06,0,1,b5e73fbe-499c-4666-a482-0ef399c97c1e,b5e73fbe-499c-4666-a482-0ef399c97c1e,0,1,a0811e0a-91b6-4c4b-a6d2-a57b9185983b,a0811e0a-91b6-4c4b-a6d2-a57b9185983b,0,1,4ac77dea-3c2b-4566-8857-ba99f7b025c9,4ac77dea-3c2b-4566-8857-ba99f7b025c9,0,1,8e87da88-9fa8-4dd8-b904-622b763239f4,8e87da88-9fa8-4dd8-b904-622b763239f4,0,1,09fec67d-6e45-428c-b858-9ae20979676c,09fec67d-6e45-428c-b858-9ae20979676c,0,1,58ffc4d9-d711-4b68-905c-d2ac4f78b547,58ffc4d9-d711-4b68-905c-d2ac4f78b547,0,1,114ab2a1-f7c3-4453-a6cc-4c5a23c00cb5,114ab2a1-f7c3-4453-a6cc-4c5a23c00cb5,0,1,93c347d8-66cb-406c-9ee6-b1962482893f,93c347d8-66cb-406c-9ee6-b1962482893f,0,1,94ab750f-46b4-427c-a7f2-4e94fb9b0678,94ab750f-46b4-427c-a7f2-4e94fb9b0678,0,1,397d9926-31a3-4c03-acb7-74478f9863e1,397d9926-31a3-4c03-acb7-74478f9863e1,0,1,264dd12a-b4c5-44bf-b3c0-ef9225505f76,264dd12a-b4c5-44bf-b3c0-ef9225505f76,0,1,90b8fdf3-3e42-442f-a002-6a28ad0edc99,90b8fdf3-3e42-442f-a002-6a28ad0edc99,0,1,92f35bea-50b8-4a1c-8fb2-a8c7df7a50db,92f35bea-50b8-4a1c-8fb2-a8c7df7a50db,0,1,82ba8c13-6567-4f0c-be0e-0884ce19bbcc,82ba8c13-6567-4f0c-be0e-0884ce19bbcc,0,1,a3e9afe9-1587-47c7-8e7b-b8df6b3a2664,a3e9afe9-1587-47c7-8e7b-b8df6b3a2664,0,1,0e31d69a-8d2c-4ad0-b3ac-93ba5afcefdf,0e31d69a-8d2c-4ad0-b3ac-93ba5afcefdf,0,1,89574884-bce2-406d-9961-d1656b306eb8,89574884-bce2-406d-9961-d1656b306eb8,0,1,3de28e34-3c1e-4e7f-a720-3418c8c9c496,3de28e34-3c1e-4e7f-a720-3418c8c9c496,0,1,7f2d69b4-2f87-40f4-a78c-fe4cabc2a502,7f2d69b4-2f87-40f4-a78c-fe4cabc2a502,0,1,dacb236e-42a5-47e5-b239-ff18ae48e21e,dacb236e-42a5-47e5-b239-ff18ae48e21e,0,1,5cdb6e71-fd20-461a-83db-d59ccdb5b366,5cdb6e71-fd20-461a-83db-d59ccdb5b366,0,1,388b8576-9ba4-460f-b71b-3d644663656a,388b8576-9ba4-460f-b71b-3d644663656a,0,1,d4d38827-fce6-4c39-a4b4-51c7d7edc475,d4d38827-fce6-4c39-a4b4-51c7d7edc475,0,1,2d40609d-b56f-4082-9a6f-8216817ebd24,2d40609d-b56f-4082-9a6f-8216817ebd24,0,1,b238b4b2-beaf-4b5d-a728-8aebac3bacb5,b238b4b2-beaf-4b5d-a728-8aebac3bacb5,0,1,732b19c8-4f22-4748-a796-71538e46fc2f,732b19c8-4f22-4748-a796-71538e46fc2f,0,1,9fb2169b-fc77-4a3f-a1d8-b939079d9d9d,9fb2169b-fc77-4a3f-a1d8-b939079d9d9d,0,1,3fe0ef25-ce56-435d-b343-eadfec91a636,3fe0ef25-ce56-435d-b343-eadfec91a636,0,1,6cb35d15-936f-4ca8-a196-8a9a75ce54dd,6cb35d15-936f-4ca8-a196-8a9a75ce54dd,0,1,74f02619-7fa8-4c6d-81d6-230156ee45f4,74f02619-7fa8-4c6d-81d6-230156ee45f4,0,1,a103cca0-8243-40e9-bcdd-97a1cc8a3943,a103cca0-8243-40e9-bcdd-97a1cc8a3943,0,1,80fd89d7-160d-4528-9aa0-05b8dac64b4c,80fd89d7-160d-4528-9aa0-05b8dac64b4c,0,1,4eb24fcd-85f6-4fa6-bc9f-baef3861664e,4eb24fcd-85f6-4fa6-bc9f-baef3861664e,0,1,da551cf6-4f86-4e37-8967-a84c80e1fb13,da551cf6-4f86-4e37-8967-a84c80e1fb13,0,1,5fb2c120-fd14-4e78-a35f-c8e9478b3235,5fb2c120-fd14-4e78-a35f-c8e9478b3235,0,1,9d514ce1-f9bd-4018-8107-545cdd372fbd,9d514ce1-f9bd-4018-8107-545cdd372fbd,0,1,fe6b732f-3a33-460f-9686-cffdd5f7d99b,fe6b732f-3a33-460f-9686-cffdd5f7d99b,0,1,06250212-aeb1-4cb8-8785-ea71b1dad848,06250212-aeb1-4cb8-8785-ea71b1dad848,0,1,0c068a61-e5e6-4475-96fa-b7c1d825da42,0c068a61-e5e6-4475-96fa-b7c1d825da42,0,1,1047e34d-397a-42cc-80e6-1be755bd6462,1047e34d-397a-42cc-80e6-1be755bd6462,0,1,1cd473c3-4e36-47a9-b466-73d86ec244b0,1cd473c3-4e36-47a9-b466-73d86ec244b0,0,1,c3e31dfd-b79b-49b9-9dc0-e2439bfe5ab7,c3e31dfd-b79b-49b9-9dc0-e2439bfe5ab7,0,1,b406b5f9-eeaf-43a0-8930-067554d783c9,b406b5f9-eeaf-43a0-8930-067554d783c9,0,1,47718840-2939-4e30-a72c-a20c88ac4c17,47718840-2939-4e30-a72c-a20c88ac4c17,0,1,58a38994-9fe4-4783-967d-79d1141b90f3,58a38994-9fe4-4783-967d-79d1141b90f3,0,1,6e23a4b2-f53c-41ea-9fef-8f4561b8e0cc,6e23a4b2-f53c-41ea-9fef-8f4561b8e0cc,0,1,7c2e35a8-d05d-4e52-baee-a1e13585c502,7c2e35a8-d05d-4e52-baee-a1e13585c502,0,1,5d8b60e5-d407-4d8a-b4fb-e26a36ab8180,5d8b60e5-d407-4d8a-b4fb-e26a36ab8180,0,1,f551f78a-2f05-4932-ac33-cfa1b077f46f,f551f78a-2f05-4932-ac33-cfa1b077f46f,0,1,a96091a7-d3a5-4893-8440-f360231bf468,a96091a7-d3a5-4893-8440-f360231bf468,0,1,9ce6eef0-5280-4374-9714-474ac571e4e2,9ce6eef0-5280-4374-9714-474ac571e4e2,0,1,aeb54e92-a1d0-46a1-b4cb-87d3c29fa30b,aeb54e92-a1d0-46a1-b4cb-87d3c29fa30b,0,1,8395bfb2-3cf4-4bec-b19b-eb6dd3aa7a39,8395bfb2-3cf4-4bec-b19b-eb6dd3aa7a39,0,1,672c4741-6d7b-4d3e-baa7-389bef0625d7,672c4741-6d7b-4d3e-baa7-389bef0625d7,0,1,04398ec0-1c13-43f8-8f5d-7b7619592a4d,04398ec0-1c13-43f8-8f5d-7b7619592a4d,0,1,ce463861-92df-47f2-bd0f-4a2dbf72aacc,ce463861-92df-47f2-bd0f-4a2dbf72aacc,0,1,eca79a64-3d00-4178-b4eb-cf5468622c96,eca79a64-3d00-4178-b4eb-cf5468622c96,0,1,1487d68c-7a2f-48cf-8c80-4074072ed52c,1487d68c-7a2f-48cf-8c80-4074072ed52c,0,1,60cd8bc4-6a5d-4d36-83d0-76a8477eda6a,60cd8bc4-6a5d-4d36-83d0-76a8477eda6a,0,1,6dc4c216-e49f-4833-b45f-6060b67995ef,6dc4c216-e49f-4833-b45f-6060b67995ef,0,1,4655fa12-9169-4d08-bdab-9b3174d0b223,4655fa12-9169-4d08-bdab-9b3174d0b223,0,1,6c07ddfb-8823-4953-9905-9550b847dc3f,6c07ddfb-8823-4953-9905-9550b847dc3f,0,1,2362a8d5-dca2-4527-acc0-63782377f28a,2362a8d5-dca2-4527-acc0-63782377f28a,0,1,dfd6d85c-a734-4458-83b0-87b5949f9c68,dfd6d85c-a734-4458-83b0-87b5949f9c68,0,1,4e3b0b9f-45b7-48a8-86c6-cc14a921aa78,4e3b0b9f-45b7-48a8-86c6-cc14a921aa78,0,1,ba5574bd-53ca-413f-a245-272f468a80fb,ba5574bd-53ca-413f-a245-272f468a80fb,0,1,79b6ecf5-8a6b-44a4-9587-5f8764463228,79b6ecf5-8a6b-44a4-9587-5f8764463228,0,1,cd49148c-e385-4b75-a758-a93196e73dba,cd49148c-e385-4b75-a758-a93196e73dba,0,1,ece15c4e-4a4b-421b-9f00-10f698da476b,ece15c4e-4a4b-421b-9f00-10f698da476b,0,1,6cb136cd-dc5c-4d85-8a0d-70b9f8bf70d5,6cb136cd-dc5c-4d85-8a0d-70b9f8bf70d5,0,1,300ecdd6-144f-48c8-9fd4-6166f1de1047,300ecdd6-144f-48c8-9fd4-6166f1de1047,0,1,b6bbfb59-8249-47af-9394-be262f118811,b6bbfb59-8249-47af-9394-be262f118811,0,1,15dab650-f7ed-42bc-8ca3-c104c3e68ce4,15dab650-f7ed-42bc-8ca3-c104c3e68ce4,0,1,fb63d488-fb91-4d08-8f8c-f4836538216f,fb63d488-fb91-4d08-8f8c-f4836538216f,0,1,b8be6c09-6880-45d3-a2d1-06ad72d069c9,b8be6c09-6880-45d3-a2d1-06ad72d069c9,0,1,3c1b10c7-3667-43f0-ac03-8cdaa84cb177,3c1b10c7-3667-43f0-ac03-8cdaa84cb177,0,1,148dd521-8754-451b-803b-cbee7c3d3965,148dd521-8754-451b-803b-cbee7c3d3965,0,1,38bc48c7-3938-47be-be3f-844f19561301,38bc48c7-3938-47be-be3f-844f19561301,0,1,4bdd09d5-6bc9-421f-99f0-ae905340f0d4,4bdd09d5-6bc9-421f-99f0-ae905340f0d4,0,1,147038fb-6154-41f3-aad6-547db27d1e43,147038fb-6154-41f3-aad6-547db27d1e43,0,1,832fa9d3-deab-4c57-b6e2-dee5d24d6100,832fa9d3-deab-4c57-b6e2-dee5d24d6100,0,1,dd4270ef-6b4c-491e-8871-959dbec14c53,dd4270ef-6b4c-491e-8871-959dbec14c53,0,1,c2b115d3-04f8-43c8-aed9-c61280b8cc3b,c2b115d3-04f8-43c8-aed9-c61280b8cc3b,0,1,8ccd9be8-ef26-49b9-8cee-03ae4e500386,8ccd9be8-ef26-49b9-8cee-03ae4e500386,0,1,ddca925c-fdcd-40ce-a504-4fca1758de3f,ddca925c-fdcd-40ce-a504-4fca1758de3f,0,1,f64de21f-5a7c-4a1a-a929-07fc53049f6c,f64de21f-5a7c-4a1a-a929-07fc53049f6c,0,1,470cdf43-07f4-46d5-aab2-d41f1e5da3cd,470cdf43-07f4-46d5-aab2-d41f1e5da3cd,0,1,ea653eca-f96a-447d-8b09-7a7cb6929ed6,ea653eca-f96a-447d-8b09-7a7cb6929ed6,0,1,5efc4bc4-b711-4620-8d2e-9d947c6cc141,5efc4bc4-b711-4620-8d2e-9d947c6cc141,0,1,ae52e48c-20ec-43cd-a9a5-b1753558e1d2,ae52e48c-20ec-43cd-a9a5-b1753558e1d2,0,1,5e08154e-bd8b-4e61-8a6c-b5b500f12b99,5e08154e-bd8b-4e61-8a6c-b5b500f12b99,0,1,39af0f4c-0f0d-4e9a-aa63-d0eee3985b4e,39af0f4c-0f0d-4e9a-aa63-d0eee3985b4e,0,1,2b72fe1c-afe1-4905-8db2-2bb1baca6295,2b72fe1c-afe1-4905-8db2-2bb1baca6295,0,1,4bc4c6db-0ef8-405f-8875-b4cb1540aeb5,4bc4c6db-0ef8-405f-8875-b4cb1540aeb5,0,1,dbd8391c-a174-43d6-a8db-d9ab76b4edbe,dbd8391c-a174-43d6-a8db-d9ab76b4edbe,0,1,ce5f5470-b704-4f55-8dc8-17cf2c2b367a,ce5f5470-b704-4f55-8dc8-17cf2c2b367a,0,1,fa44433b-1c44-45a0-9487-47aa092442cf,fa44433b-1c44-45a0-9487-47aa092442cf,0,1,041cecfd-cef2-45d9-90e8-afe0d97d2d95,041cecfd-cef2-45d9-90e8-afe0d97d2d95,0,1,7e4222fd-fb98-4ae5-9d98-d41c3d572a0c,7e4222fd-fb98-4ae5-9d98-d41c3d572a0c,0,1,d9d14a24-c023-4b69-ad57-30d1474e1232,d9d14a24-c023-4b69-ad57-30d1474e1232,0,1,0943dd00-1653-4760-a9fe-ebc083ffa660,0943dd00-1653-4760-a9fe-ebc083ffa660,0,1,4fb8564e-2338-4c23-84a4-31f768047ced,4fb8564e-2338-4c23-84a4-31f768047ced,0,1,6179c7bf-08d6-4600-8cdc-ea6d4187bd55,6179c7bf-08d6-4600-8cdc-ea6d4187bd55,0,1,f93c9a7f-0249-421e-b3d0-55f02d130017,f93c9a7f-0249-421e-b3d0-55f02d130017,0,1,062c507a-9d35-4eb5-bb91-d106a535a503,062c507a-9d35-4eb5-bb91-d106a535a503,0,1,fd317d96-380e-4ee7-a25b-401e8521cc7a,fd317d96-380e-4ee7-a25b-401e8521cc7a,0,1,3b380a63-9232-42c2-bfa2-e8fc89448bbd,3b380a63-9232-42c2-bfa2-e8fc89448bbd,0,1,e18b4527-8727-4a10-9e99-a80012debe6c,e18b4527-8727-4a10-9e99-a80012debe6c,0,1,1ed910db-e434-4efd-9b12-c25353a31d5a,1ed910db-e434-4efd-9b12-c25353a31d5a,0,1,10556a26-ea4b-46b4-84d1-175eb13b333f,10556a26-ea4b-46b4-84d1-175eb13b333f,0,1,f1e600b0-55ed-4611-b147-f04d5621796b,f1e600b0-55ed-4611-b147-f04d5621796b,1,0,76702e9e-fa7a-4b98-befa-f9b37db2dae0,76702e9e-fa7a-4b98-befa-f9b37db2dae0,1,0,101a4eb3-cdda-47af-8c69-615a6920347a,101a4eb3-cdda-47af-8c69-615a6920347a,1,0,cf19f220-f6d4-4c9e-b5d5-9d94234f0a2c,cf19f220-f6d4-4c9e-b5d5-9d94234f0a2c,1,0,f410a5db-8698-44ca-9ff6-2c530e1f5c2a,f410a5db-8698-44ca-9ff6-2c530e1f5c2a,1,0,f79bada2-838f-4e4f-a017-935cf671a70c,f79bada2-838f-4e4f-a017-935cf671a70c,1,0,ed394820-a216-4c4b-81ae-5dea33ced43b,ed394820-a216-4c4b-81ae-5dea33ced43b,1,0,3f3a0b1b-04ce-47c1-928d-5e3483e9fd73,3f3a0b1b-04ce-47c1-928d-5e3483e9fd73,1,0,8a310493-c06f-46db-b2b5-14d6ed203312,8a310493-c06f-46db-b2b5-14d6ed203312,1,0,b68ec95b-64f3-4a2b-9683-231d50f01eeb,b68ec95b-64f3-4a2b-9683-231d50f01eeb,1,0,4a008342-f72f-4ca1-bad1-64b59b509911,4a008342-f72f-4ca1-bad1-64b59b509911,1,0,cefa1723-a4d4-44c4-bd57-ffa713f9306c,cefa1723-a4d4-44c4-bd57-ffa713f9306c,1,0,8d8b91c0-c0ab-4b9d-b854-b867063ddb5b,8d8b91c0-c0ab-4b9d-b854-b867063ddb5b,1,0,4920aabf-6f53-4f91-932a-8ace24631a74,4920aabf-6f53-4f91-932a-8ace24631a74,1,0,ce7a7f72-9d7d-4240-b852-e83b4b8d944b,ce7a7f72-9d7d-4240-b852-e83b4b8d944b,1,0,7309e58d-b0d4-4e0f-a74d-68cab03fea8e,7309e58d-b0d4-4e0f-a74d-68cab03fea8e,1,0,bbec9c3d-31dd-484e-ab32-41ef845f1370,bbec9c3d-31dd-484e-ab32-41ef845f1370,1,0,8692ba41-d91d-4af0-8aba-69dd5409d593,8692ba41-d91d-4af0-8aba-69dd5409d593,1,0,5bfd74f4-811a-45db-b33d-8f93ba9c873a,5bfd74f4-811a-45db-b33d-8f93ba9c873a,1,0,a95b564a-c895-40f2-b947-ea08462bb2a0,a95b564a-c895-40f2-b947-ea08462bb2a0,1,0,ca63ca2f-703d-4317-8c5d-0650ea638f3f,ca63ca2f-703d-4317-8c5d-0650ea638f3f,1,0,aa2256c7-9847-40a5-9e49-11c508e0d45b,aa2256c7-9847-40a5-9e49-11c508e0d45b,1,0,a04493f4-508c-4047-b0e3-b7d4bde6427b,a04493f4-508c-4047-b0e3-b7d4bde6427b,1,0,418982cd-d403-47cf-a7ef-993a36104947,418982cd-d403-47cf-a7ef-993a36104947,1,0,485ebc6a-0e3e-4278-8ef1-c6194d6d5015,485ebc6a-0e3e-4278-8ef1-c6194d6d5015,1,0,816c8143-8b02-4f4a-8eb1-44c7fb36afcc,816c8143-8b02-4f4a-8eb1-44c7fb36afcc,1,0,35eea3b8-d017-442a-b5a0-a1571165b9a9,35eea3b8-d017-442a-b5a0-a1571165b9a9,1,0,7e84901c-cb7f-437c-a135-0902cd47acb6,7e84901c-cb7f-437c-a135-0902cd47acb6,1,0,c4d67026-2c97-4126-b8be-49aa6f567e2d,c4d67026-2c97-4126-b8be-49aa6f567e2d,1,0,fda2906d-f499-4016-b13a-99f7f713b898,fda2906d-f499-4016-b13a-99f7f713b898,1,0,da2b47f5-4109-4f72-a4a5-70be24a6881f,da2b47f5-4109-4f72-a4a5-70be24a6881f,1,0,849f034e-85dc-4515-aae6-240c1e0d46d9,849f034e-85dc-4515-aae6-240c1e0d46d9,1,0,de4d37c9-b278-4c0c-bc10-1b63ecd72947,de4d37c9-b278-4c0c-bc10-1b63ecd72947,1,0,1c7e9baa-7728-4afd-829a-806cee13ecdb,1c7e9baa-7728-4afd-829a-806cee13ecdb,1,0,5d75aae8-9d9c-4a47-b8c0-2ce56431fe53,5d75aae8-9d9c-4a47-b8c0-2ce56431fe53,1,0,5a741cf6-8160-4409-9396-2e6d1e67e6fa,5a741cf6-8160-4409-9396-2e6d1e67e6fa,1,0,8242daae-181a-47df-b28e-c1de3fce0359,8242daae-181a-47df-b28e-c1de3fce0359,1,0,5fbea8c7-48e3-4ed0-a8d0-cf942b37a166,5fbea8c7-48e3-4ed0-a8d0-cf942b37a166,1,0,5cc3a29d-aa98-42bf-9800-f584229c8e46,5cc3a29d-aa98-42bf-9800-f584229c8e46,1,0,db82191f-77bd-44da-8b33-86f01018e25a,db82191f-77bd-44da-8b33-86f01018e25a,1,0,acfa1919-07ce-4464-8552-6b104e284dca,acfa1919-07ce-4464-8552-6b104e284dca,1,0,497ce8f3-f6f0-4da8-aeb0-0fa01bb26dc6,497ce8f3-f6f0-4da8-aeb0-0fa01bb26dc6,1,0,f4cff4ff-68e9-4072-971e-1b359d3aa980,f4cff4ff-68e9-4072-971e-1b359d3aa980,1,0,6f9fba85-7c04-4e07-bc93-8ad79cbdca85,6f9fba85-7c04-4e07-bc93-8ad79cbdca85,1,0,fdb012c9-583a-42af-95da-070e75a58078,fdb012c9-583a-42af-95da-070e75a58078,1,0,40a52f83-f0e2-470d-9c17-7fdc8cc646b7,40a52f83-f0e2-470d-9c17-7fdc8cc646b7,1,0,7d069b11-cddd-463d-97be-3cbeaaf0954c,7d069b11-cddd-463d-97be-3cbeaaf0954c,1,0,8c5fae4c-b5b6-4e05-9453-4ac5de07c54c,8c5fae4c-b5b6-4e05-9453-4ac5de07c54c,1,0,7531fb7c-a4ae-42df-b8e5-d8bfcb66be52,7531fb7c-a4ae-42df-b8e5-d8bfcb66be52,1,0,d1b950b0-dd66-49f9-998e-3ae5e820ae7f,d1b950b0-dd66-49f9-998e-3ae5e820ae7f,1,0,57e39881-cbf9-4cac-9ed0-bf4a6ea667ee,57e39881-cbf9-4cac-9ed0-bf4a6ea667ee,1,0,b9004626-915c-44c8-9cb7-25e5b627ee83,b9004626-915c-44c8-9cb7-25e5b627ee83,1,0,63c6cfad-124d-491a-829d-b298463c95e6,63c6cfad-124d-491a-829d-b298463c95e6,1,0,3da31d2f-24dd-469b-bd3b-073fa3b3d585,3da31d2f-24dd-469b-bd3b-073fa3b3d585,1,0,737404de-5b9d-4445-81c5-2c5b50b36846,737404de-5b9d-4445-81c5-2c5b50b36846,1,0,1ae364d3-0bec-4089-af23-c60d2a274c85,1ae364d3-0bec-4089-af23-c60d2a274c85,1,0,1c1a5bf8-bbe6-4a69-973e-11445175dac2,1c1a5bf8-bbe6-4a69-973e-11445175dac2,1,0,f11ffcfd-3588-4785-b222-cebe80455303,f11ffcfd-3588-4785-b222-cebe80455303,1,0,5d216c28-0724-4e7d-86cf-b6f75e7e28b7,5d216c28-0724-4e7d-86cf-b6f75e7e28b7,1,0,bfdc6346-db5b-427f-acca-9b48db8fefd0,bfdc6346-db5b-427f-acca-9b48db8fefd0,1,0,1c3f258c-345e-47f6-9e29-98b1222fb348,1c3f258c-345e-47f6-9e29-98b1222fb348,1,0,dfafcdf3-cdeb-4822-9f41-a730d9d3fb24,dfafcdf3-cdeb-4822-9f41-a730d9d3fb24,1,0,f39b4559-cc42-494f-b856-bd8e575ad75b,f39b4559-cc42-494f-b856-bd8e575ad75b,1,0,35c938f4-065f-47f5-a75b-637ed0080725,35c938f4-065f-47f5-a75b-637ed0080725,0,1,e14c0841-226c-4c79-bec9-cfc8d2c3a160,e14c0841-226c-4c79-bec9-cfc8d2c3a160,0,1,6f3c5b90-b030-4267-a973-33d12c2c7680,6f3c5b90-b030-4267-a973-33d12c2c7680,0,1,1ff8210b-26c5-4429-b580-7c6ec7c9b63a,1ff8210b-26c5-4429-b580-7c6ec7c9b63a,0,1,b107a4a8-0db8-44f4-93f7-9f231e850398,b107a4a8-0db8-44f4-93f7-9f231e850398,0,1,88b879b7-1bb3-4478-b569-35bdb5c56939,88b879b7-1bb3-4478-b569-35bdb5c56939,0,1,7a62d031-c340-4b1e-90af-fff697a2e979,7a62d031-c340-4b1e-90af-fff697a2e979,0,1,18bf6916-83cc-41e5-a35b-1489450ae632,18bf6916-83cc-41e5-a35b-1489450ae632,0,1,ebab97cf-5335-4648-9845-8ca41f79fb49,ebab97cf-5335-4648-9845-8ca41f79fb49,0,1,bb29fa44-6772-4426-a0b8-422115e14288,bb29fa44-6772-4426-a0b8-422115e14288,0,1,a5cc5ae2-be80-4957-8aca-9e477433dfcc,a5cc5ae2-be80-4957-8aca-9e477433dfcc,0,1,62fa393c-687c-49bf-8a25-81adc04430fb,62fa393c-687c-49bf-8a25-81adc04430fb,0,1,36d7d739-b198-487d-8644-76589356c2ec,36d7d739-b198-487d-8644-76589356c2ec,0,1,13fcf1e8-730e-436f-b316-6bcb8301f894,13fcf1e8-730e-436f-b316-6bcb8301f894,0,1,904e1209-91d8-49b1-b291-364ef728cbbf,904e1209-91d8-49b1-b291-364ef728cbbf,0,1,1198f2ee-b8a8-456d-9461-61bc5d42c7a1,1198f2ee-b8a8-456d-9461-61bc5d42c7a1,0,1,b8ecb7f0-ef40-4d31-9ec2-a731439d3200,b8ecb7f0-ef40-4d31-9ec2-a731439d3200,0,1,e4da2959-0fb0-48fb-a5aa-e7a5589d69c3,e4da2959-0fb0-48fb-a5aa-e7a5589d69c3,0,1,e51ae56c-d311-46b7-8d4c-19a432f4cd16,e51ae56c-d311-46b7-8d4c-19a432f4cd16,0,1,e000d04e-37eb-4d95-a833-b0a9b10ee0b9,e000d04e-37eb-4d95-a833-b0a9b10ee0b9,0,1,40d3ed07-3b56-4c9f-8b96-d94455202ef0,40d3ed07-3b56-4c9f-8b96-d94455202ef0,0,1,b5365cb6-a4e7-479b-82f4-f4ad80fcd7c9,b5365cb6-a4e7-479b-82f4-f4ad80fcd7c9,0,1,84282afa-21f5-40db-9386-e6f741c9a06c,84282afa-21f5-40db-9386-e6f741c9a06c,0,1,5b3b3da9-8619-4fbd-b140-3528875cd179,5b3b3da9-8619-4fbd-b140-3528875cd179,0,1,99e5e866-7ac6-4916-ab66-3e2909822c56,99e5e866-7ac6-4916-ab66-3e2909822c56,0,1,03363877-2752-4a03-95f2-d73b732e0bfd,03363877-2752-4a03-95f2-d73b732e0bfd,0,1,8d9d2284-e592-44c5-93bb-247037ab6b95,8d9d2284-e592-44c5-93bb-247037ab6b95,0,1,0b0d2b7c-d52e-4163-83cf-a7e86bb47c47,0b0d2b7c-d52e-4163-83cf-a7e86bb47c47,0,1,78051e10-74ab-44be-adca-e4c93824a386,78051e10-74ab-44be-adca-e4c93824a386,0,1,73629419-83d8-4727-88a9-76c851d104c9,73629419-83d8-4727-88a9-76c851d104c9,0,1,cadb54f0-dcff-4f96-983e-a309fd72f330,cadb54f0-dcff-4f96-983e-a309fd72f330,0,1,a9c3065b-db68-4f59-9235-33f9fbfdaafd,a9c3065b-db68-4f59-9235-33f9fbfdaafd,0,1,3715cf3d-0abc-4711-8ac9-d41f0be7878f,3715cf3d-0abc-4711-8ac9-d41f0be7878f,0,1,8e8d8078-8b32-4c24-b26e-89a92bf60160,8e8d8078-8b32-4c24-b26e-89a92bf60160,0,1,f96cbb27-7619-41e0-8577-e623ef02dc58,f96cbb27-7619-41e0-8577-e623ef02dc58,0,1,d74dfd31-2016-435b-8652-15fdbca59490,d74dfd31-2016-435b-8652-15fdbca59490,0,1,ba8111a9-1d33-4615-ad0b-b3e923b2f3bd,ba8111a9-1d33-4615-ad0b-b3e923b2f3bd,0,1,27651e0e-d560-434b-a49c-f473a5b20c4d,27651e0e-d560-434b-a49c-f473a5b20c4d,0,1,dab1491b-0685-442d-b945-2bfde3f37933,dab1491b-0685-442d-b945-2bfde3f37933,0,1,ce85554b-81ba-4149-a951-d09bdc14fa16,ce85554b-81ba-4149-a951-d09bdc14fa16,0,1,23a1ef35-1469-44ea-8535-fa9c7f535cae,23a1ef35-1469-44ea-8535-fa9c7f535cae,0,1,8c7d74bf-2865-47d9-8a16-5b0db1104a3a,8c7d74bf-2865-47d9-8a16-5b0db1104a3a,0,1,2558d812-ac0a-49ba-87db-3f661209a3c4,2558d812-ac0a-49ba-87db-3f661209a3c4,0,1,20d712ef-77c1-4374-92e1-f20a3ebc7eab,20d712ef-77c1-4374-92e1-f20a3ebc7eab,0,1,65d23ce8-e326-45ee-86b0-6dcf35797201,65d23ce8-e326-45ee-86b0-6dcf35797201,0,1,a2683c3f-1b21-47d8-951d-7d30cde51efc,a2683c3f-1b21-47d8-951d-7d30cde51efc,0,1,54c77053-1728-4914-a354-73fe8853a0e1,54c77053-1728-4914-a354-73fe8853a0e1,0,1,21136691-078f-4bf7-bddd-f41416a76d86,21136691-078f-4bf7-bddd-f41416a76d86,0,1,30a121c7-c4f5-45c4-9504-9778ed85d9e3,30a121c7-c4f5-45c4-9504-9778ed85d9e3,0,1,c68e2157-2541-4f80-966a-d68ce603f131,c68e2157-2541-4f80-966a-d68ce603f131,0,1,e5dfee58-f748-48ee-81a3-7c6133f06365,e5dfee58-f748-48ee-81a3-7c6133f06365,0,1,68500931-89e0-491e-aba8-b013c9e6f8c3,68500931-89e0-491e-aba8-b013c9e6f8c3,0,1,70b79e56-bb71-4f38-93cf-94dda79d9b4c,70b79e56-bb71-4f38-93cf-94dda79d9b4c,0,1,5c4c9931-3fb0-47a8-9e4f-d552de12b355,5c4c9931-3fb0-47a8-9e4f-d552de12b355,0,1,2a498baf-ec2e-4dda-b568-801bb60db225,2a498baf-ec2e-4dda-b568-801bb60db225,0,1,8a32af97-cdb5-46b4-ab7b-e1509e26ecc3,8a32af97-cdb5-46b4-ab7b-e1509e26ecc3,0,1,9f59f8cd-8d61-4fbc-ae6e-32f28ce0035a,9f59f8cd-8d61-4fbc-ae6e-32f28ce0035a,0,1,35989876-16b1-4b02-9381-444a06a7a21d,35989876-16b1-4b02-9381-444a06a7a21d,0,1,f7608000-1e8a-4ca4-afb7-e04ef547b70a,f7608000-1e8a-4ca4-afb7-e04ef547b70a,0,1,26cea519-19d0-4707-be0a-1a43fde6e563,26cea519-19d0-4707-be0a-1a43fde6e563,0,1,a3d599b9-89d1-4386-8c5b-1c2a9905e6e2,a3d599b9-89d1-4386-8c5b-1c2a9905e6e2,0,1,9fb3e902-3154-4bab-9bfe-9a266dc49fa5,9fb3e902-3154-4bab-9bfe-9a266dc49fa5,0,1,60c04f0a-78a8-4c55-8844-b86906350fd1,60c04f0a-78a8-4c55-8844-b86906350fd1,0,1,851306a7-8847-4b43-8214-898bfc24b0ab,851306a7-8847-4b43-8214-898bfc24b0ab,0,1,af8d4bc9-2f0f-44d3-89ce-2593877055c8,af8d4bc9-2f0f-44d3-89ce-2593877055c8,0,1,344fb829-a1cc-4b17-8f98-2d4f93bfcd6a,344fb829-a1cc-4b17-8f98-2d4f93bfcd6a,0,1,eb35bff2-8467-48fe-bf93-ece2aa40f506,eb35bff2-8467-48fe-bf93-ece2aa40f506,0,1,68cf55da-b29e-4a65-815b-c9cdc8e5888e,68cf55da-b29e-4a65-815b-c9cdc8e5888e,0,1,a9f927ef-22a2-4d77-8648-4bb25eeaccf2,a9f927ef-22a2-4d77-8648-4bb25eeaccf2,0,1,1041ed81-c1f7-43b2-9087-914865a3076e,1041ed81-c1f7-43b2-9087-914865a3076e,0,1,5d7174d2-42b3-4e12-b705-4209dd73b53b,5d7174d2-42b3-4e12-b705-4209dd73b53b,0,1,b1b5bf08-1c57-4875-87bb-ad1fa1a3251f,b1b5bf08-1c57-4875-87bb-ad1fa1a3251f,0,1,e00dcab4-5e92-44e3-bcdf-a31dd32a195f,e00dcab4-5e92-44e3-bcdf-a31dd32a195f,0,1,5a4c6511-f8ed-40e4-a251-e28f62629cf2,5a4c6511-f8ed-40e4-a251-e28f62629cf2,0,1,cfe59dfd-a509-4f83-b926-b3ff94234a43,cfe59dfd-a509-4f83-b926-b3ff94234a43,0,1,17df1591-61b0-4204-8379-8d1f58445968,17df1591-61b0-4204-8379-8d1f58445968,0,1,9020fa9d-e7de-4574-ab65-db6651b5b610,9020fa9d-e7de-4574-ab65-db6651b5b610,0,1,e83ad33d-27df-4181-afd2-b7f416e6e705,e83ad33d-27df-4181-afd2-b7f416e6e705,0,1,3309648c-aae6-4684-ae8d-7ed636bc3468,3309648c-aae6-4684-ae8d-7ed636bc3468,0,1,f9aa933e-6684-48de-b802-96c8e61b1fe6,f9aa933e-6684-48de-b802-96c8e61b1fe6,0,1,9de4d430-95ec-4435-b3e8-4fc85778d517,9de4d430-95ec-4435-b3e8-4fc85778d517,0,1,205b8908-fa21-42bd-bff0-fb95e6787f15,205b8908-fa21-42bd-bff0-fb95e6787f15,0,1,8a9ab11b-5bb5-4da9-9053-8f9e8198d019,8a9ab11b-5bb5-4da9-9053-8f9e8198d019,0,1,5320abf1-b09b-4de0-9adf-4cb1da31df6f,5320abf1-b09b-4de0-9adf-4cb1da31df6f,0,1,3916ddbd-9023-42a4-849e-9cda6e591408,3916ddbd-9023-42a4-849e-9cda6e591408,0,1,5e9e42c5-dcbc-422f-acce-4f11a63dbb85,5e9e42c5-dcbc-422f-acce-4f11a63dbb85,0,1,6903ffe4-42c1-4708-a1b0-bb67cd3f9e4c,6903ffe4-42c1-4708-a1b0-bb67cd3f9e4c,0,1,96d66cdd-d40c-43a3-92ce-40aef2101b64,96d66cdd-d40c-43a3-92ce-40aef2101b64,0,1,9daa8270-4782-4d83-af03-c8d2b11057ff,9daa8270-4782-4d83-af03-c8d2b11057ff,0,1,4b8927df-e124-4bf6-9d70-6e91b4796d90,4b8927df-e124-4bf6-9d70-6e91b4796d90,0,1,871b63a2-c7a6-4343-8d8b-7dda1b0def87,871b63a2-c7a6-4343-8d8b-7dda1b0def87,0,1,52b45b3d-b01b-4aac-8a1e-e256957c39c3,52b45b3d-b01b-4aac-8a1e-e256957c39c3,0,1,fc78d8df-ab27-4544-a65c-73908b9c5425,fc78d8df-ab27-4544-a65c-73908b9c5425,0,1,f8a090d2-b2d1-4ead-a8bf-6325a7552743,f8a090d2-b2d1-4ead-a8bf-6325a7552743,0,1,84f935da-9fe5-44ea-845b-b447b8b0a6f5,84f935da-9fe5-44ea-845b-b447b8b0a6f5,0,1,caf79125-bde8-4f52-8ad2-f915c7a884cc,caf79125-bde8-4f52-8ad2-f915c7a884cc,0,1,a9a0db31-6808-4790-be72-f345197b0c6e,a9a0db31-6808-4790-be72-f345197b0c6e,0,1,36554213-9af4-4fec-8944-35f50b306eda,36554213-9af4-4fec-8944-35f50b306eda,0,1,c770bdd5-c7c0-4751-b31d-46c0ea1f49b7,c770bdd5-c7c0-4751-b31d-46c0ea1f49b7,0,1,6afcc089-7f15-42e8-97b5-6aad6cf2e6f9,6afcc089-7f15-42e8-97b5-6aad6cf2e6f9,0,1,cce4c615-dc29-42b3-9d3d-b277dde4a2e4,cce4c615-dc29-42b3-9d3d-b277dde4a2e4,0,1,33343620-673e-4aa3-9e58-c6a25f738001,33343620-673e-4aa3-9e58-c6a25f738001,0,1,8aaf780f-ed74-4f44-9598-c14180053ff9,8aaf780f-ed74-4f44-9598-c14180053ff9,0,1,dbd4d09d-f410-4453-9143-bd72da5464cc,dbd4d09d-f410-4453-9143-bd72da5464cc,0,1,f1bc5034-a4b5-4fa9-97db-d43c2b7e8d36,f1bc5034-a4b5-4fa9-97db-d43c2b7e8d36,0,1,c4fe10b6-d025-4736-be23-3113bd7fe7b4,c4fe10b6-d025-4736-be23-3113bd7fe7b4,0,1,65530aca-7cf2-4a52-b5be-5dcbc15a049e,65530aca-7cf2-4a52-b5be-5dcbc15a049e,0,1,15eb2c2d-305d-42c0-9aec-936b82114bdb,15eb2c2d-305d-42c0-9aec-936b82114bdb,0,1,bb99bc44-f83e-48bb-93fd-7b07ca7da6a7,bb99bc44-f83e-48bb-93fd-7b07ca7da6a7,0,1,cbca7272-2aae-4e21-b3f5-12786f085648,cbca7272-2aae-4e21-b3f5-12786f085648,0,1,7718bd0b-7b8a-4ffc-b228-f05683b5531a,7718bd0b-7b8a-4ffc-b228-f05683b5531a,0,1,38aeb32b-9e3b-4b4a-9a61-97da63cdea48,38aeb32b-9e3b-4b4a-9a61-97da63cdea48,0,1,881f53bc-a52e-4312-b09d-3d3f53ddf84b,881f53bc-a52e-4312-b09d-3d3f53ddf84b,0,1,2e36a7b3-5331-4fab-a0a3-31b42a8387fe,2e36a7b3-5331-4fab-a0a3-31b42a8387fe,0,1,e3476d0e-0ab4-4734-9261-04aef6281086,e3476d0e-0ab4-4734-9261-04aef6281086,0,1,945ae8d2-b74a-41e9-b740-c82acdd40d04,945ae8d2-b74a-41e9-b740-c82acdd40d04,0,1,29c37223-de1c-49fb-8488-77e44dd79edd,29c37223-de1c-49fb-8488-77e44dd79edd,0,1,19bc0dd8-9e6b-4855-bc42-b4e98443163f,19bc0dd8-9e6b-4855-bc42-b4e98443163f,0,1,a61e10af-eaba-4e7a-a641-65d77453a559,a61e10af-eaba-4e7a-a641-65d77453a559,0,1,e9e242b7-0077-4c47-8f45-df50e7cc90cf,e9e242b7-0077-4c47-8f45-df50e7cc90cf,0,1,820383e1-9b95-4c0f-8464-722f1fe64ad5,820383e1-9b95-4c0f-8464-722f1fe64ad5,0,1,3d6cf2ab-29b2-45af-a6e2-8796284acf2d,3d6cf2ab-29b2-45af-a6e2-8796284acf2d,0,1,292bfe6b-703e-40cb-856d-abb470e6709f,292bfe6b-703e-40cb-856d-abb470e6709f,0,1,276c42ca-f5e0-4bb4-9b89-a925def35cb1,276c42ca-f5e0-4bb4-9b89-a925def35cb1,0,1,41a9cabc-5667-4ca0-a798-ba0b22bd1aa0,41a9cabc-5667-4ca0-a798-ba0b22bd1aa0,0,1,1bf44c42-87c0-4f2e-846c-b04d0b7e8d7d,1bf44c42-87c0-4f2e-846c-b04d0b7e8d7d,0,1,8811ea1a-1221-47b7-9574-3f36ff15a3cf,8811ea1a-1221-47b7-9574-3f36ff15a3cf,0,1,a84891cc-e996-489a-abde-5b5af166a057,a84891cc-e996-489a-abde-5b5af166a057,0,1,1d715463-691b-4c01-ae39-57c261f2a6ad,1d715463-691b-4c01-ae39-57c261f2a6ad,0,1,4c3d007f-a62c-4fd9-beda-58dbf08ad188,4c3d007f-a62c-4fd9-beda-58dbf08ad188,0,1,c35373a9-f0b0-4ddb-a985-409ac9c64609,c35373a9-f0b0-4ddb-a985-409ac9c64609,0,1,c1c40916-fee5-46e3-90fc-10e7595866c9,c1c40916-fee5-46e3-90fc-10e7595866c9,0,1,19a307b1-9ef0-4fc6-bf4f-7636e9118399,19a307b1-9ef0-4fc6-bf4f-7636e9118399,0,1,666244a4-5636-4405-89dd-bbd8f4278071,666244a4-5636-4405-89dd-bbd8f4278071,0,1,8b79f0e3-9024-4073-aa6b-a42beed9b0c6,8b79f0e3-9024-4073-aa6b-a42beed9b0c6,0,1,29a627a9-debc-4074-88d0-ec3561e1ef9c,29a627a9-debc-4074-88d0-ec3561e1ef9c,0,1,5a01a002-8833-4c89-b8d6-9b63fc49d3b6,5a01a002-8833-4c89-b8d6-9b63fc49d3b6,0,1,39f5e272-9a10-40b0-8a10-92037828b206,39f5e272-9a10-40b0-8a10-92037828b206,0,1,87dad256-122b-4d7e-b249-a2c313a9cf33,87dad256-122b-4d7e-b249-a2c313a9cf33,0,1,57a030fb-ed57-4ffc-a462-c7bbd2435c3d,57a030fb-ed57-4ffc-a462-c7bbd2435c3d,0,1,958033a6-2a8e-473a-903b-34eee6507f5a,958033a6-2a8e-473a-903b-34eee6507f5a,0,1,b722d6e1-fd6f-4bb4-923d-01764393722d,b722d6e1-fd6f-4bb4-923d-01764393722d,0,1,ac5f945e-2d03-44fb-a8cf-5d786194cefd,ac5f945e-2d03-44fb-a8cf-5d786194cefd,0,1,698ec00f-bf75-420e-81ab-a98808daf3f7,698ec00f-bf75-420e-81ab-a98808daf3f7,0,1,f441907c-d02e-431e-baf4-1854e48a1f50,f441907c-d02e-431e-baf4-1854e48a1f50,0,1,4ad722ca-10fc-4a83-91c9-ef0012685f89,4ad722ca-10fc-4a83-91c9-ef0012685f89,0,1,783dd4ba-a597-45ba-8989-2ed5224d62bc,783dd4ba-a597-45ba-8989-2ed5224d62bc,0,1,97aaede5-d32f-4eba-b0e0-5ae5f094a8b7,97aaede5-d32f-4eba-b0e0-5ae5f094a8b7,0,1,d9e08c12-1999-41d8-b530-90187303be0a,d9e08c12-1999-41d8-b530-90187303be0a,0,1,dad9710a-73ca-4e0d-b98b-75f955d0822d,dad9710a-73ca-4e0d-b98b-75f955d0822d,0,1,d01beeab-7c42-4d5e-a2f6-f190b9f703a5,d01beeab-7c42-4d5e-a2f6-f190b9f703a5,0,1,2191939f-6f71-47c9-a3d2-57acbf7f411e,2191939f-6f71-47c9-a3d2-57acbf7f411e,0,1,19b9cbbb-1fcc-4492-9385-687742cb3d0b,19b9cbbb-1fcc-4492-9385-687742cb3d0b,0,1,247c41dd-c8dc-43dd-b348-1ba31ee92065,247c41dd-c8dc-43dd-b348-1ba31ee92065,0,1,dbad3cee-0d5c-41f6-819f-1a2b5251b62c,dbad3cee-0d5c-41f6-819f-1a2b5251b62c,0,1,da673406-078d-44c8-9d27-80ef172c4b5e,da673406-078d-44c8-9d27-80ef172c4b5e,0,1,75e77f99-b9d1-4bc0-93aa-c77a93d760d3,75e77f99-b9d1-4bc0-93aa-c77a93d760d3,0,1,a2c36563-126d-4c3a-9714-5b7a4903073b,a2c36563-126d-4c3a-9714-5b7a4903073b,0,1,2e4da82c-dddb-4462-b34f-6511cd2a8356,2e4da82c-dddb-4462-b34f-6511cd2a8356,0,1,c7da3115-3cee-4282-a2f2-4e0b5558e4fc,c7da3115-3cee-4282-a2f2-4e0b5558e4fc,0,1,2976c29f-f482-463d-8f6e-6a632fb50893,2976c29f-f482-463d-8f6e-6a632fb50893,0,1,701964a1-7762-45ee-a9a4-41dd9ce94783,701964a1-7762-45ee-a9a4-41dd9ce94783,0,1,55d1909e-f552-441f-8e14-47d2e604cf6a,55d1909e-f552-441f-8e14-47d2e604cf6a,0,1,eae627db-c52b-4e41-94d1-58db28cd0063,eae627db-c52b-4e41-94d1-58db28cd0063,0,1,cafc86e1-d7f1-4cd2-ac20-04fa0917556a,cafc86e1-d7f1-4cd2-ac20-04fa0917556a,0,1,0a646724-b49d-42cd-82e6-e800466ed127,0a646724-b49d-42cd-82e6-e800466ed127,0,1,47058e36-a281-43a5-a41d-691b3ef32b5b,47058e36-a281-43a5-a41d-691b3ef32b5b,0,1,e620e93c-4382-478f-a700-ad2faa67362b,e620e93c-4382-478f-a700-ad2faa67362b,0,1,a4a8693b-dc91-4762-92e6-35360c8768db,a4a8693b-dc91-4762-92e6-35360c8768db,0,1,2ae236ec-28a7-44e0-a0ba-be62fe52d817,2ae236ec-28a7-44e0-a0ba-be62fe52d817,0,1,fcb46a8a-3461-4ec2-9aa0-685aedb9dd50,fcb46a8a-3461-4ec2-9aa0-685aedb9dd50,0,1,12cf9412-baf5-4d32-a563-a11ac3d5e0ed,12cf9412-baf5-4d32-a563-a11ac3d5e0ed,0,1,bdde9030-5718-4f5e-a9e2-f641f4ce69f9,bdde9030-5718-4f5e-a9e2-f641f4ce69f9,0,1,ed137e05-1996-411d-9927-45a3d7e3ee3b,ed137e05-1996-411d-9927-45a3d7e3ee3b,0,1,fbebf341-9842-41e1-8e4d-490fa02065ce,fbebf341-9842-41e1-8e4d-490fa02065ce,0,1,067f88f6-ccd2-491e-a466-94345a1f220f,067f88f6-ccd2-491e-a466-94345a1f220f,0,1,642154b8-97da-4c4f-bf34-c1124215077d,642154b8-97da-4c4f-bf34-c1124215077d,0,1,abc10867-39ae-46bf-8bd7-90f645919235,abc10867-39ae-46bf-8bd7-90f645919235,0,1,b3396504-8ccb-43d6-9a0f-ab259ba0a542,b3396504-8ccb-43d6-9a0f-ab259ba0a542,0,1,f59f91c5-026a-4dc5-996e-0d59814a9604,f59f91c5-026a-4dc5-996e-0d59814a9604,0,1,aac9966f-e9ea-4106-97bb-6b9822939bc7,aac9966f-e9ea-4106-97bb-6b9822939bc7,0,1,a752fba8-5084-4fa2-9d0b-7074a42b1312,a752fba8-5084-4fa2-9d0b-7074a42b1312,0,1,640d7486-8abd-40aa-a244-2ed899b7225a,640d7486-8abd-40aa-a244-2ed899b7225a,0,1,c05f87b4-ec5f-4d14-981f-02ca8ba89863,c05f87b4-ec5f-4d14-981f-02ca8ba89863,0,1,560a5f44-e4e6-46d9-a9fe-3609842d0e3e,560a5f44-e4e6-46d9-a9fe-3609842d0e3e,0,1,98f68a75-ebf9-4c59-b6a8-b3634089ca6b,98f68a75-ebf9-4c59-b6a8-b3634089ca6b,0,1,875d1fc1-8172-4e48-8192-035882e1665d,875d1fc1-8172-4e48-8192-035882e1665d,0,1,26132b28-98cc-4690-92ad-139f91839ba2,26132b28-98cc-4690-92ad-139f91839ba2,0,1,0bd85b79-cc32-4c1d-b629-567a1bdfac56,0bd85b79-cc32-4c1d-b629-567a1bdfac56,0,1,b87ce4f9-aaa6-4a4c-af80-0bd9adc83506,b87ce4f9-aaa6-4a4c-af80-0bd9adc83506,0,1,ca81e0ea-c428-47f9-aedb-078214104a2f,ca81e0ea-c428-47f9-aedb-078214104a2f,0,1,9518d09c-6996-4439-9278-3c71d5ae8fce,9518d09c-6996-4439-9278-3c71d5ae8fce,0,1,9dd6e7d6-cd98-4928-b50c-38bdbc61c211,9dd6e7d6-cd98-4928-b50c-38bdbc61c211,0,1,5fbd9a13-012d-4c36-b72c-da3bc4157cff,5fbd9a13-012d-4c36-b72c-da3bc4157cff,0,1,1126157b-64c0-4d64-8551-f31c5ed0fd29,1126157b-64c0-4d64-8551-f31c5ed0fd29,0,1,6ae6e515-5cd4-4eca-8602-c6abe6d66276,6ae6e515-5cd4-4eca-8602-c6abe6d66276,0,1,44b8472b-0f70-49cc-8f71-9c9d3e9cfbcc,44b8472b-0f70-49cc-8f71-9c9d3e9cfbcc,0,1,b071a44e-9a34-4af3-a59a-35aa5f3a74b4,b071a44e-9a34-4af3-a59a-35aa5f3a74b4,0,1,35a28677-0653-47f9-82e1-02c4b9266fee,35a28677-0653-47f9-82e1-02c4b9266fee,0,1,2e17464f-9cef-4812-865f-4eb77ff16b6a,2e17464f-9cef-4812-865f-4eb77ff16b6a,0,1,e5ecbb1f-981d-4928-9335-22216879f7e2,e5ecbb1f-981d-4928-9335-22216879f7e2,0,1,461be12a-9f16-4826-978a-436608ca8733,461be12a-9f16-4826-978a-436608ca8733,0,1,9b143299-d300-4b6c-b667-5552fb3bdcde,9b143299-d300-4b6c-b667-5552fb3bdcde,0,1,0de070f4-d8b7-48bb-bfc9-027dd727a4ad,0de070f4-d8b7-48bb-bfc9-027dd727a4ad,0,1,74973d06-f57d-403e-945c-5cd2f4fc4869,74973d06-f57d-403e-945c-5cd2f4fc4869,0,1,259564b8-172e-4eed-9360-d561ec6dad69,259564b8-172e-4eed-9360-d561ec6dad69,0,1,91c799d7-2b3d-4d1a-87ff-221057a428c6,91c799d7-2b3d-4d1a-87ff-221057a428c6,0,1,a50fcacc-6d2d-496c-bea0-9c73cd153437,a50fcacc-6d2d-496c-bea0-9c73cd153437,0,1,a6846c5a-7cf6-4df2-a159-2fd33d18d18f,a6846c5a-7cf6-4df2-a159-2fd33d18d18f,0,1,0fb72f4b-e6f6-4b70-8ec7-fdb6d4ad928e,0fb72f4b-e6f6-4b70-8ec7-fdb6d4ad928e,0,1,a5633248-8611-4e9b-b223-2f59e7b84a65,a5633248-8611-4e9b-b223-2f59e7b84a65,0,1,6ec3463a-1e94-4de7-a8c0-b0e42f38573e,6ec3463a-1e94-4de7-a8c0-b0e42f38573e,0,1,e40b8882-737a-40c0-83b4-c35dc042f4a5,e40b8882-737a-40c0-83b4-c35dc042f4a5,0,1,d60c1e9d-1395-4293-8462-6ea2c93a0c86,d60c1e9d-1395-4293-8462-6ea2c93a0c86,0,1,5a2d5d8a-afd9-4954-9868-7c82bad00426,5a2d5d8a-afd9-4954-9868-7c82bad00426,0,1,26aea96b-20f8-4e35-b55f-4fe3602e6597,26aea96b-20f8-4e35-b55f-4fe3602e6597,0,1,a3a3a211-e361-4e41-a6f8-d731a366c163,a3a3a211-e361-4e41-a6f8-d731a366c163,0,1,4d5204ae-711d-4c31-8a18-280dbc9d2bf5,4d5204ae-711d-4c31-8a18-280dbc9d2bf5,0,1,ca01417c-0ffd-4e00-91e8-93cd305be82d,ca01417c-0ffd-4e00-91e8-93cd305be82d,0,1,b84401f2-b8df-4105-8049-6236423d177d,b84401f2-b8df-4105-8049-6236423d177d,0,1,14fcf5e5-5856-4b5f-8c3f-75eaba0f7268,14fcf5e5-5856-4b5f-8c3f-75eaba0f7268,0,1,0a0af8bf-0caa-40df-9a69-71f98ca9ff89,0a0af8bf-0caa-40df-9a69-71f98ca9ff89,0,1,6ac7db0c-18ed-4d3b-956a-5985214db474,6ac7db0c-18ed-4d3b-956a-5985214db474,0,1,267103e0-6703-4a74-bb4f-af610d7ef332,267103e0-6703-4a74-bb4f-af610d7ef332,0,1,b98ca634-25a5-4366-af04-815ba34c8bb2,b98ca634-25a5-4366-af04-815ba34c8bb2,0,1,14d69108-4d26-401a-b7ae-2c86dadf831c,14d69108-4d26-401a-b7ae-2c86dadf831c,0,1,d6251f65-d366-4bc9-a5db-42063fe03594,d6251f65-d366-4bc9-a5db-42063fe03594,0,1,22c60cbc-429f-40d9-bf8b-681b7786c41d,22c60cbc-429f-40d9-bf8b-681b7786c41d,0,1,31dd320b-06aa-4314-9914-2c2420f572a1,31dd320b-06aa-4314-9914-2c2420f572a1,0,1,56730848-3bef-4b8c-b449-fe9d09c9c374,56730848-3bef-4b8c-b449-fe9d09c9c374,0,1,43c477d2-1234-4c4a-a18a-022c0ddf2fd5,43c477d2-1234-4c4a-a18a-022c0ddf2fd5,0,1,91d8c5e4-eaec-4951-9224-16882fda08f6,91d8c5e4-eaec-4951-9224-16882fda08f6,0,1,4304ffb9-7ede-4c59-bef8-26fe3e8f0103,4304ffb9-7ede-4c59-bef8-26fe3e8f0103,0,1,4654d192-74bf-430f-abee-6f4dc431b182,4654d192-74bf-430f-abee-6f4dc431b182,0,1,d4655391-144c-4ba6-aee5-1edafebe862c,d4655391-144c-4ba6-aee5-1edafebe862c,0,1,1ea750ae-5ec4-43c5-b34f-fd28999d41d7,1ea750ae-5ec4-43c5-b34f-fd28999d41d7,0,1,4678c704-933a-45ef-9d41-89b8f39016bb,4678c704-933a-45ef-9d41-89b8f39016bb,0,1,8ceea1e8-42ce-469f-823a-ceffdbd6b112,8ceea1e8-42ce-469f-823a-ceffdbd6b112,0,1,086d69d6-e2fa-45cb-84b6-f8f3e2919160,086d69d6-e2fa-45cb-84b6-f8f3e2919160,0,1,6995ee71-5901-46d9-a5c1-b35d795bda20,6995ee71-5901-46d9-a5c1-b35d795bda20,0,1,e93a4293-0497-4f11-b8b9-40300104fb96,e93a4293-0497-4f11-b8b9-40300104fb96,0,1,93531e5d-5dfc-42e8-be52-2e83f37262b0,93531e5d-5dfc-42e8-be52-2e83f37262b0,0,1,61bf78c0-7004-4a74-b362-e979c7316e05,61bf78c0-7004-4a74-b362-e979c7316e05,0,1,c4351896-eff1-4e4d-8823-028d63a9d6bf,c4351896-eff1-4e4d-8823-028d63a9d6bf,0,1,475f83a2-ba5a-4072-94f8-1324b1f198a4,475f83a2-ba5a-4072-94f8-1324b1f198a4,0,1,cd7c15c1-c573-46c9-b109-339b8b54c3ee,cd7c15c1-c573-46c9-b109-339b8b54c3ee,0,1,efd89929-4db9-4c58-b3cb-a8d9a41a1df2,efd89929-4db9-4c58-b3cb-a8d9a41a1df2,0,1,deee8bde-381f-4094-8794-7a06248860dd,deee8bde-381f-4094-8794-7a06248860dd,0,1,2757ee75-4b36-4901-bff1-044708754edb,2757ee75-4b36-4901-bff1-044708754edb,0,1,0e6bab27-bf94-4732-8549-dbd9b8a5f4e9,0e6bab27-bf94-4732-8549-dbd9b8a5f4e9,0,1,774c92d6-9b9b-422a-83d7-8d42ae2a9f60,774c92d6-9b9b-422a-83d7-8d42ae2a9f60,0,1,71144539-6472-4727-8887-0139f6221370,71144539-6472-4727-8887-0139f6221370,0,1,bff07da4-ae19-48a9-806b-14b285d42485,bff07da4-ae19-48a9-806b-14b285d42485,0,1,659cd4f6-d18c-4d75-a7e6-7c124a63ab9a,659cd4f6-d18c-4d75-a7e6-7c124a63ab9a,0,1,b0ccc05d-8d39-4f57-8e87-6846014f92ea,b0ccc05d-8d39-4f57-8e87-6846014f92ea,0,1,64fbfed7-9dda-481b-a4f7-fe440f24ba7e,64fbfed7-9dda-481b-a4f7-fe440f24ba7e,0,1,b2835a5b-5c91-448c-9eb1-1bb1c9a5e727,b2835a5b-5c91-448c-9eb1-1bb1c9a5e727,0,1,447fb310-0588-4e0d-8f6d-5fc1f3bb1180,447fb310-0588-4e0d-8f6d-5fc1f3bb1180,0,1,8986c155-54be-4b1b-b31a-5c00b88bc40d,8986c155-54be-4b1b-b31a-5c00b88bc40d,0,1,d91441cf-d793-4dfa-9225-f0c16818edde,d91441cf-d793-4dfa-9225-f0c16818edde,0,1,42a39785-144c-4d2d-92c6-fd8b345f687b,42a39785-144c-4d2d-92c6-fd8b345f687b,0,1,f3bd841b-fb36-4462-9627-b51801e563cd,f3bd841b-fb36-4462-9627-b51801e563cd,0,1,0a23f273-5589-4a48-be3a-eee7565749aa,0a23f273-5589-4a48-be3a-eee7565749aa,0,1,494eb9d9-4a10-4e85-b511-375408f21bbe,494eb9d9-4a10-4e85-b511-375408f21bbe,0,1,a161dd07-4a6e-4d0f-b72c-702d0d3a83a3,a161dd07-4a6e-4d0f-b72c-702d0d3a83a3,0,1,a275802f-937a-49f4-92da-fcdd185a036d,a275802f-937a-49f4-92da-fcdd185a036d,0,1,ec6ed9cb-85a2-4303-9906-cfb4ce6500bf,ec6ed9cb-85a2-4303-9906-cfb4ce6500bf,0,1,c05f15b0-a659-4473-b6d0-acebc4a2da57,c05f15b0-a659-4473-b6d0-acebc4a2da57,0,1,f2dc9319-ba60-421a-8340-be3e3a291393,f2dc9319-ba60-421a-8340-be3e3a291393,0,1,bf4eb62a-bc74-4845-bad2-58a2a8302a65,bf4eb62a-bc74-4845-bad2-58a2a8302a65,0,1,b66eb190-1c16-4f20-a94f-954bcdf313b8,b66eb190-1c16-4f20-a94f-954bcdf313b8,0,1,b8d07e97-f67d-4669-972a-96ce0f5e8c0d,b8d07e97-f67d-4669-972a-96ce0f5e8c0d,0,1,5c9c5f87-e85f-49b3-a7ca-01e2220d4f39,5c9c5f87-e85f-49b3-a7ca-01e2220d4f39,0,1,b953eafc-20be-4463-8c3e-903184e18402,b953eafc-20be-4463-8c3e-903184e18402,0,1,dcefdde9-645e-43c7-9244-384dadc75439,dcefdde9-645e-43c7-9244-384dadc75439,0,1,bbdfeebd-cda0-4911-8f31-553d751340a7,bbdfeebd-cda0-4911-8f31-553d751340a7,0,1,dc7adfb7-41e7-4019-a18d-5d9f5d227b71,dc7adfb7-41e7-4019-a18d-5d9f5d227b71,0,1,20aad006-5b1e-4cc2-94ef-668dd002667b,20aad006-5b1e-4cc2-94ef-668dd002667b,0,1,af6af7ae-d68a-4e12-ba2c-a360ce2920a7,af6af7ae-d68a-4e12-ba2c-a360ce2920a7,0,1,b0f5bce4-2ad3-416e-9b1e-3fb23deaa040,b0f5bce4-2ad3-416e-9b1e-3fb23deaa040,0,1,2befb2e3-7354-4a01-83d6-b24262704a5e,2befb2e3-7354-4a01-83d6-b24262704a5e,0,1,5b93975e-b2a4-4102-a060-2667f5813c94,5b93975e-b2a4-4102-a060-2667f5813c94,0,1,ca75d086-cd01-4f54-b57d-1b35bcb1272a,ca75d086-cd01-4f54-b57d-1b35bcb1272a,0,1,b4a27991-2e18-4ead-80e8-f2956a7539e3,b4a27991-2e18-4ead-80e8-f2956a7539e3,0,1,ac8c40d6-be1e-4733-be2e-ae83bde4ec15,ac8c40d6-be1e-4733-be2e-ae83bde4ec15,0,1,be900d20-c02d-476d-9ede-2bc5303ef6cb,be900d20-c02d-476d-9ede-2bc5303ef6cb,0,1,ddce1d3c-4a23-4c92-8083-c395dd3b7f6d,ddce1d3c-4a23-4c92-8083-c395dd3b7f6d,0,1,07b53437-cc8d-4834-a1e0-7007538b6eab,07b53437-cc8d-4834-a1e0-7007538b6eab,0,1,0dbec644-cb98-4368-ab76-5997259cbce7,0dbec644-cb98-4368-ab76-5997259cbce7,0,1,c05a7d33-8a58-4b5f-a433-4ba54c88d5f4,c05a7d33-8a58-4b5f-a433-4ba54c88d5f4,0,1,dcdc9c65-c2d5-4531-a325-f64b3861cbab,dcdc9c65-c2d5-4531-a325-f64b3861cbab,0,1,ca542a9e-3040-419f-9a98-2a8de230b734,ca542a9e-3040-419f-9a98-2a8de230b734,0,1,c9fc5155-1df3-4872-a83d-72872baf43c4,c9fc5155-1df3-4872-a83d-72872baf43c4,0,1,9f9adb67-66bd-4c28-8319-44ae097ae1fe,9f9adb67-66bd-4c28-8319-44ae097ae1fe,0,1,0bae3704-b370-48be-b094-f18a2e62ad1b,0bae3704-b370-48be-b094-f18a2e62ad1b,0,1,e097bf94-9235-4a27-b0eb-d6387d22cd62,e097bf94-9235-4a27-b0eb-d6387d22cd62,0,1,eccded1c-f3ca-40d3-a8cd-71947bfed7b8,eccded1c-f3ca-40d3-a8cd-71947bfed7b8,0,1,4d243f2b-14d9-4e96-9707-4ead5d12e0a2,4d243f2b-14d9-4e96-9707-4ead5d12e0a2,0,1,8d2bfd40-f185-4eab-b374-872d49310eb2,8d2bfd40-f185-4eab-b374-872d49310eb2,0,1,523de426-e5a6-49e0-8144-c637f80d8ddd,523de426-e5a6-49e0-8144-c637f80d8ddd,0,1,09256328-6205-4b04-b908-3287ae8ded75,09256328-6205-4b04-b908-3287ae8ded75,0,1,05a6e161-9791-4c5b-8753-bd6370cc4cc9,05a6e161-9791-4c5b-8753-bd6370cc4cc9,0,1,6362facc-bf95-4adf-8ee7-c65f90972a1c,6362facc-bf95-4adf-8ee7-c65f90972a1c,0,1,08dbba81-68fb-49ef-8aac-9631fcfa87c6,08dbba81-68fb-49ef-8aac-9631fcfa87c6,0,1,dd7191b6-cbc0-4b0b-a51a-c27a1e1720fa,dd7191b6-cbc0-4b0b-a51a-c27a1e1720fa,0,1,8170a27d-45e9-48b1-860b-c2d9cc5961cd,8170a27d-45e9-48b1-860b-c2d9cc5961cd,0,1,f1c08fed-f3db-4f72-8a8e-7c626b8cc130,f1c08fed-f3db-4f72-8a8e-7c626b8cc130,0,1,e8c3b796-bfd8-4108-ab5f-d0f21b7bd9a6,e8c3b796-bfd8-4108-ab5f-d0f21b7bd9a6,0,1,f41d01ec-983a-4b39-9c11-a6d25d08df4f,f41d01ec-983a-4b39-9c11-a6d25d08df4f,0,1,3247e64e-b57e-4c33-8086-7ab93c5b6371,3247e64e-b57e-4c33-8086-7ab93c5b6371,0,1,e5dca369-dc9a-4332-a509-f734b8787e13,e5dca369-dc9a-4332-a509-f734b8787e13,0,1,722af623-156c-4e63-8b2a-93da760f1559,722af623-156c-4e63-8b2a-93da760f1559,0,1,5ff23123-450c-40ae-9b79-c540da53e2a0,5ff23123-450c-40ae-9b79-c540da53e2a0,0,1,dea9af9d-13c0-40d4-a9b0-1908e0a58795,dea9af9d-13c0-40d4-a9b0-1908e0a58795,0,1,9e9b8c05-787a-43c0-891d-3d9ad7e4976f,9e9b8c05-787a-43c0-891d-3d9ad7e4976f,0,1,1abeb10b-0558-4478-8f51-d0964ba3c274,1abeb10b-0558-4478-8f51-d0964ba3c274,0,1,38325a66-588a-4db0-8e0c-21d239408369,38325a66-588a-4db0-8e0c-21d239408369,0,1,7c27e885-33fd-4da2-a60d-50336c0189b0,7c27e885-33fd-4da2-a60d-50336c0189b0,0,1,4b849c66-6a36-4efd-815e-af4467c6f064,4b849c66-6a36-4efd-815e-af4467c6f064,0,1,f6939587-ff87-4eca-ae52-10e1bd2abfce,f6939587-ff87-4eca-ae52-10e1bd2abfce,0,1,a8e4d97f-e2da-4aa8-a221-3cbcc135f403,a8e4d97f-e2da-4aa8-a221-3cbcc135f403,0,1,f2b0eab2-e34b-42f8-9b24-5596b4c17d7f,f2b0eab2-e34b-42f8-9b24-5596b4c17d7f,0,1,3cb575a9-dc82-45e0-81f0-d651e12246da,3cb575a9-dc82-45e0-81f0-d651e12246da,0,1,01a73950-3e8f-4f56-903f-af0d9574e72e,01a73950-3e8f-4f56-903f-af0d9574e72e,0,1,14bd0844-c829-4325-aa7f-0f417bf955dc,14bd0844-c829-4325-aa7f-0f417bf955dc,0,1,7f1cd658-ca10-49c6-80ef-b8956f3269ea,7f1cd658-ca10-49c6-80ef-b8956f3269ea,0,1,b0d9086f-cef7-47a8-ad62-d85fea28ebda,b0d9086f-cef7-47a8-ad62-d85fea28ebda,0,1,68f6d1b2-9c08-4b37-ba23-1e15539a9c35,68f6d1b2-9c08-4b37-ba23-1e15539a9c35,0,1,cb6df70e-c7cd-4343-bfa9-5bdb907b4580,cb6df70e-c7cd-4343-bfa9-5bdb907b4580,0,1,49c010fc-f5cc-45f4-ba46-132e7661c3dd,49c010fc-f5cc-45f4-ba46-132e7661c3dd,0,1,3f3b592d-ca61-40c7-be1f-e5d3224a1eb3,3f3b592d-ca61-40c7-be1f-e5d3224a1eb3,0,1,2c02a558-8d12-44cf-be6b-9c399b9032e5,2c02a558-8d12-44cf-be6b-9c399b9032e5,0,1,d94d4931-7c81-4ee8-93ea-b2c54b152fa5,d94d4931-7c81-4ee8-93ea-b2c54b152fa5,0,1,9c267aa6-5f23-49f6-868a-3324ef2845ff,9c267aa6-5f23-49f6-868a-3324ef2845ff,0,1,495eeeee-d7bf-4063-99e2-86daa066451a,495eeeee-d7bf-4063-99e2-86daa066451a,0,1,b6184698-79e4-4c19-9440-092ccd9dabf8,b6184698-79e4-4c19-9440-092ccd9dabf8,0,1,7d01fc0c-378e-421d-ab70-6a418eed5941,7d01fc0c-378e-421d-ab70-6a418eed5941,0,1,6eeb4867-bf9d-48dc-b96b-934a0c293010,6eeb4867-bf9d-48dc-b96b-934a0c293010,0,1,c7f817ee-9f6a-454c-95a0-b279fd08055e,c7f817ee-9f6a-454c-95a0-b279fd08055e,0,1,e1803e54-ec5e-4a82-8097-5e2331820991,e1803e54-ec5e-4a82-8097-5e2331820991,0,1,f69ec1f9-826e-4eb4-b52c-3f6a3dfc3361,f69ec1f9-826e-4eb4-b52c-3f6a3dfc3361,0,1,4cbb0b91-dbdd-472f-93c5-061076b6a8d3,4cbb0b91-dbdd-472f-93c5-061076b6a8d3,0,1,8506dbe9-7066-444b-83b6-fb2d71a336e7,8506dbe9-7066-444b-83b6-fb2d71a336e7,0,1,240b4df5-0d75-4e5a-9ae8-d0bc7cc51722,240b4df5-0d75-4e5a-9ae8-d0bc7cc51722,0,1,6686d828-3129-4d44-a8a2-a64657d424cb,6686d828-3129-4d44-a8a2-a64657d424cb,0,1,90433152-f389-4d45-8ccc-3eb6c7a7e1f0,90433152-f389-4d45-8ccc-3eb6c7a7e1f0,0,1,ce235ab9-1dec-459a-9fec-498c262ece56,ce235ab9-1dec-459a-9fec-498c262ece56,0,1,9ec53d1a-ed7a-41e8-b5d0-6c2181fd63a5,9ec53d1a-ed7a-41e8-b5d0-6c2181fd63a5,0,1,39355e82-30a6-431e-9697-e2c42e82de83,39355e82-30a6-431e-9697-e2c42e82de83,0,1,a9ae364f-b668-4fb4-b976-f227951ffb6b,a9ae364f-b668-4fb4-b976-f227951ffb6b,0,1,edc01b03-8b01-4551-939a-f7e257892040,edc01b03-8b01-4551-939a-f7e257892040,0,1,15d09274-9508-4f64-9ea3-678c5aa50f0f,15d09274-9508-4f64-9ea3-678c5aa50f0f,0,1,4debe032-12e4-4777-b2fc-70b150f2aad1,4debe032-12e4-4777-b2fc-70b150f2aad1,0,1,37558fa2-0833-46d6-9e4f-63d4a3136870,37558fa2-0833-46d6-9e4f-63d4a3136870,0,1,d92cb614-ed09-47db-b70b-d3e533c44c6a,d92cb614-ed09-47db-b70b-d3e533c44c6a,0,1,e660c8bf-af5f-4525-a56e-68925d2b96fa,e660c8bf-af5f-4525-a56e-68925d2b96fa,0,1,b18bdc5f-a2b6-4b15-81c3-37b27a5a3176,b18bdc5f-a2b6-4b15-81c3-37b27a5a3176,0,1,528d96cc-8838-49ea-8d76-ea56747882e0,528d96cc-8838-49ea-8d76-ea56747882e0,0,1,c996916d-7f1c-4fbf-939f-3e1bafe81f7d,c996916d-7f1c-4fbf-939f-3e1bafe81f7d,0,1,1681dd7a-de80-4b8d-9657-c9702a19d653,1681dd7a-de80-4b8d-9657-c9702a19d653,0,1,10d796e9-a3d4-4ef0-87d5-8315aa12f1c8,10d796e9-a3d4-4ef0-87d5-8315aa12f1c8,0,1,9f593f27-8009-40c0-94d6-53f177ce55f4,9f593f27-8009-40c0-94d6-53f177ce55f4,0,1,820bb4b4-895b-4ccf-a350-2545bf8a2f7e,820bb4b4-895b-4ccf-a350-2545bf8a2f7e,0,1,530a3164-4ef1-4b3b-8269-13764ef4bf15,530a3164-4ef1-4b3b-8269-13764ef4bf15,0,1,6df2bb92-558c-4453-9de4-e4176e8f93dc,6df2bb92-558c-4453-9de4-e4176e8f93dc,0,1,0ce4c8a4-b20b-4550-bee3-f677e9ec64e9,0ce4c8a4-b20b-4550-bee3-f677e9ec64e9,0,1,30d5c2a6-b3cf-4ed5-ba75-850bcae932d1,30d5c2a6-b3cf-4ed5-ba75-850bcae932d1,0,1,0bf5e9c1-905a-4202-8b96-ed831b41be4b,0bf5e9c1-905a-4202-8b96-ed831b41be4b,0,1,e92ae368-0d7c-4fb7-b6d0-5ab63dc95a6a,e92ae368-0d7c-4fb7-b6d0-5ab63dc95a6a,0,1,f30c9c4b-aa6c-4b15-9ac7-888c0c0cabd9,f30c9c4b-aa6c-4b15-9ac7-888c0c0cabd9,0,1,be15e947-f671-4848-ada1-51239af73615,be15e947-f671-4848-ada1-51239af73615,0,1,d3e0dd8f-886a-4441-8f05-fd629da80f07,d3e0dd8f-886a-4441-8f05-fd629da80f07,0,1,6417d7c8-6436-4907-98eb-44cd7638f3f1,6417d7c8-6436-4907-98eb-44cd7638f3f1,0,1,ba49877b-6e30-4177-a67c-00e65aa498fb,ba49877b-6e30-4177-a67c-00e65aa498fb,0,1,25b39aeb-94c3-4199-9d56-5bd87e325bf2,25b39aeb-94c3-4199-9d56-5bd87e325bf2,0,1,b0b63551-4e83-4201-af9a-b4ab150c43a5,b0b63551-4e83-4201-af9a-b4ab150c43a5,0,1,2bd80198-4739-4e8f-9af1-40addc91a05b,2bd80198-4739-4e8f-9af1-40addc91a05b,0,1,33c66a15-e48e-406a-a77c-02af72ae96d5,33c66a15-e48e-406a-a77c-02af72ae96d5,0,1,ebd3dcc2-1176-4ee0-b590-ee39f85fb55b,ebd3dcc2-1176-4ee0-b590-ee39f85fb55b,0,1,77fe53c2-de9d-4483-97c9-f7d44e137d5e,77fe53c2-de9d-4483-97c9-f7d44e137d5e,0,1,593be64c-6792-46d9-8618-84c50c9ad9e4,593be64c-6792-46d9-8618-84c50c9ad9e4,0,1,208d29cb-040f-4282-b8e8-dda8417b8e92,208d29cb-040f-4282-b8e8-dda8417b8e92,0,1,9935d602-668e-4df9-a338-0f542def878b,9935d602-668e-4df9-a338-0f542def878b,0,1,459ed297-0c0d-4bdb-90a3-da387868f040,459ed297-0c0d-4bdb-90a3-da387868f040,0,1,ccb5b9a7-1a10-4803-b455-0350afe4b584,ccb5b9a7-1a10-4803-b455-0350afe4b584,0,1,ebce49ef-755a-4ace-aeb1-b99db2a8bf6c,ebce49ef-755a-4ace-aeb1-b99db2a8bf6c,0,1,0cd18f4c-aeb9-456b-9dcd-9649d1dd486b,0cd18f4c-aeb9-456b-9dcd-9649d1dd486b,0,1,ba5e7c41-0442-4f74-ba41-631d864eafb4,ba5e7c41-0442-4f74-ba41-631d864eafb4,0,1,3913f78f-ce34-4ae3-840a-ccdf06319cbb,3913f78f-ce34-4ae3-840a-ccdf06319cbb,0,1,104cf3e3-2104-4ac2-bdc6-792750a63ea0,104cf3e3-2104-4ac2-bdc6-792750a63ea0,0,1,c86aa97a-5898-4cb2-ae62-598bddf8e99f,c86aa97a-5898-4cb2-ae62-598bddf8e99f,0,1,d3c9b925-6b74-42db-8b21-ab21d24797d1,d3c9b925-6b74-42db-8b21-ab21d24797d1,0,1,4d348ec3-9de8-4f5b-960c-4b507d0fd7ce,4d348ec3-9de8-4f5b-960c-4b507d0fd7ce,0,1,39261a2d-7c46-40b1-9f8f-02d970aa04bc,39261a2d-7c46-40b1-9f8f-02d970aa04bc,0,1,3a07e5a5-2ab1-43ef-b97f-d45cd7775d67,3a07e5a5-2ab1-43ef-b97f-d45cd7775d67,0,1,124a516f-cdab-49ce-95d1-359921140342,124a516f-cdab-49ce-95d1-359921140342,0,1,e4294611-a770-4e67-9578-a1f370879476,e4294611-a770-4e67-9578-a1f370879476,0,1,c5033dd2-0911-4124-8688-dc9dabf3155f,c5033dd2-0911-4124-8688-dc9dabf3155f,0,1,274357df-cb5c-407d-ae72-58046c310db2,274357df-cb5c-407d-ae72-58046c310db2,0,1,5467001e-d025-4669-b16e-26381ac4403f,5467001e-d025-4669-b16e-26381ac4403f,0,1,a4e56049-4de9-40a3-8197-a5c84a11f516,a4e56049-4de9-40a3-8197-a5c84a11f516,0,1,339c9220-fd5b-45d3-b300-cdcc8788f87e,339c9220-fd5b-45d3-b300-cdcc8788f87e,0,1,02d7d401-3c0c-4fd0-b096-1f73b6ec14c3,02d7d401-3c0c-4fd0-b096-1f73b6ec14c3,0,1,9042a6de-5048-432d-a448-7e21f2d1d24a,9042a6de-5048-432d-a448-7e21f2d1d24a,0,1,350d46bf-114e-48e7-90c6-6708d949f20d,350d46bf-114e-48e7-90c6-6708d949f20d,0,1,d047caa8-7bcf-41ac-a18e-97877d6e0a2a,d047caa8-7bcf-41ac-a18e-97877d6e0a2a,0,1,aac20ff3-5873-432e-b763-14411e623d41,aac20ff3-5873-432e-b763-14411e623d41,0,1,fbc4df3e-c235-4197-8c1f-a5e39ac63a8c,fbc4df3e-c235-4197-8c1f-a5e39ac63a8c,0,1,6df44466-8750-481a-9baf-c924f0d45353,6df44466-8750-481a-9baf-c924f0d45353,0,1,110121eb-a0eb-4662-8911-3dcc3d341a73,110121eb-a0eb-4662-8911-3dcc3d341a73,0,1,f8980c18-6b9c-4e45-919a-22e976d2a846,f8980c18-6b9c-4e45-919a-22e976d2a846,0,1,c946efb7-c67e-49c1-bf56-d3c2d7220acd,c946efb7-c67e-49c1-bf56-d3c2d7220acd,0,1,7ed6bd83-b61d-4db4-8549-acacbdda6ca2,7ed6bd83-b61d-4db4-8549-acacbdda6ca2,0,1,6b7c9f74-f2b6-463e-acb9-9f82901986cf,6b7c9f74-f2b6-463e-acb9-9f82901986cf,0,1,fc4c1d64-132b-4687-a37d-05000fdb4ba5,fc4c1d64-132b-4687-a37d-05000fdb4ba5,0,1,528777cd-090b-4b70-82f5-56def98c5893,528777cd-090b-4b70-82f5-56def98c5893,0,1,49dbe467-8832-4ede-9a05-494248619aeb,49dbe467-8832-4ede-9a05-494248619aeb,0,1,460ed9ca-10c2-491c-a641-b92ffc2a8e7c,460ed9ca-10c2-491c-a641-b92ffc2a8e7c,0,1,bd5fadd3-9264-4c3b-9bd5-51e91847a6fb,bd5fadd3-9264-4c3b-9bd5-51e91847a6fb,0,1,09c73108-8528-4970-9b7f-fff9eda7816a,09c73108-8528-4970-9b7f-fff9eda7816a,0,1,40aa936e-cb1c-4ae9-85f1-6d930a5815cc,40aa936e-cb1c-4ae9-85f1-6d930a5815cc,0,1,f568245a-d158-45dc-af92-2d411f12db7b,f568245a-d158-45dc-af92-2d411f12db7b,0,1,0f17cdac-aa17-45e6-b3d0-220b13345390,0f17cdac-aa17-45e6-b3d0-220b13345390,0,1,c675db75-d0c3-4026-b97c-6b23ecbb336a,c675db75-d0c3-4026-b97c-6b23ecbb336a,0,1,469f67fa-98b0-44b0-abd4-cae136c02834,469f67fa-98b0-44b0-abd4-cae136c02834,0,1,16a18458-999c-420e-80df-8fc10855746c,16a18458-999c-420e-80df-8fc10855746c,0,1,b794f222-0fde-439f-97a3-0da74075b415,b794f222-0fde-439f-97a3-0da74075b415,0,1,3a716aad-9b2c-48a7-b802-80732066391b,3a716aad-9b2c-48a7-b802-80732066391b,0,1,480d959f-aac8-4241-875f-78e1c1f32621,480d959f-aac8-4241-875f-78e1c1f32621,0,1,496e5de8-d75c-4536-9993-75374f070b40,496e5de8-d75c-4536-9993-75374f070b40,0,1,b4e610ba-c9c8-4b25-903b-e567dcbc2556,b4e610ba-c9c8-4b25-903b-e567dcbc2556,0,1,48febdbd-a085-4113-8511-ed7ff6be7d3c,48febdbd-a085-4113-8511-ed7ff6be7d3c,0,1,49413232-c0c3-4983-9d10-291a0399281b,49413232-c0c3-4983-9d10-291a0399281b,0,1,032bb782-96a7-4c1b-8b8f-eb4e18b555b7,032bb782-96a7-4c1b-8b8f-eb4e18b555b7,0,1,b9b076bb-38ab-4a94-8226-41a4d4d7432c,b9b076bb-38ab-4a94-8226-41a4d4d7432c,0,1,e12da8db-4037-473e-ba2b-d0ceb4534dcb,e12da8db-4037-473e-ba2b-d0ceb4534dcb,0,1,789514e5-8ea3-4a5e-88c5-ed89c4135866,789514e5-8ea3-4a5e-88c5-ed89c4135866,0,1,a16768ff-6137-43d8-8784-4805ed83632a,a16768ff-6137-43d8-8784-4805ed83632a,0,1,61971286-9f94-4a27-aa34-e10848adb70a,61971286-9f94-4a27-aa34-e10848adb70a,0,1,1e75d143-3452-496e-a137-6d7f4c4ed019,1e75d143-3452-496e-a137-6d7f4c4ed019,0,1,e0619d14-c658-4eb5-841a-3a029de28be4,e0619d14-c658-4eb5-841a-3a029de28be4,0,1,99a3b660-7875-47f7-9c6c-c552e5673deb,99a3b660-7875-47f7-9c6c-c552e5673deb,0,1,2bdcf3a5-c8e1-492c-afee-f9db68e2fbb6,2bdcf3a5-c8e1-492c-afee-f9db68e2fbb6,0,1,41cbf934-ea54-41df-abf0-09f319d2e67a,41cbf934-ea54-41df-abf0-09f319d2e67a,0,1,47246084-a5f8-4d0f-b4e2-204c1b97483a,47246084-a5f8-4d0f-b4e2-204c1b97483a,0,1,e58233ec-6cfc-4a8b-9929-689fa69cdb07,e58233ec-6cfc-4a8b-9929-689fa69cdb07,0,1,3291a891-a47c-43ca-b088-aecd3867d38c,3291a891-a47c-43ca-b088-aecd3867d38c,0,1,56cde2b4-00f2-49ba-b407-16e241c17fd2,56cde2b4-00f2-49ba-b407-16e241c17fd2,0,1,bd84fb2b-4c52-4e2f-a8c5-f289b8336145,bd84fb2b-4c52-4e2f-a8c5-f289b8336145,0,1,219ed110-f2a0-41c1-ac5a-02301b248c54,219ed110-f2a0-41c1-ac5a-02301b248c54,0,1,1c722dfd-2b07-4985-9188-17353de24771,1c722dfd-2b07-4985-9188-17353de24771,0,1,1a630496-2cdd-4c89-a1aa-ed20545ad133,1a630496-2cdd-4c89-a1aa-ed20545ad133,0,1,b0dd02ee-ea6a-43f2-baa2-abac0a1ab4bb,b0dd02ee-ea6a-43f2-baa2-abac0a1ab4bb,0,1,b19cea0e-e57a-4969-8daf-f48d3d16705f,b19cea0e-e57a-4969-8daf-f48d3d16705f,0,1,d4059340-3361-4baa-ae48-ecbfb9800a2e,d4059340-3361-4baa-ae48-ecbfb9800a2e,0,1,f78f6c43-dd90-4117-acf7-ed5b951cb964,f78f6c43-dd90-4117-acf7-ed5b951cb964,0,1,8eebd519-4989-4784-82b8-39d77eebfb17,8eebd519-4989-4784-82b8-39d77eebfb17,0,1,0a2cb6e3-d9fa-4881-b136-7b6db9efca07,0a2cb6e3-d9fa-4881-b136-7b6db9efca07,0,1,c1561ed9-2fbf-4c12-a484-07f8adbe8fa3,c1561ed9-2fbf-4c12-a484-07f8adbe8fa3,0,1,4527877b-5723-4aa5-8705-98174ac9c337,4527877b-5723-4aa5-8705-98174ac9c337,0,1,d6b21e7b-df57-4280-8c95-c269b5316018,d6b21e7b-df57-4280-8c95-c269b5316018,0,1,808c468b-6322-428d-ac6a-ccf2228b05b6,808c468b-6322-428d-ac6a-ccf2228b05b6,0,1,13664bb2-738f-4d18-b382-a7bcf8105a5a,13664bb2-738f-4d18-b382-a7bcf8105a5a,0,1,f3f56abe-9248-4555-bf99-29560eb4f9ee,f3f56abe-9248-4555-bf99-29560eb4f9ee,0,1,0dbd5d55-a85f-4c7e-ac31-7ba4ab7cc371,0dbd5d55-a85f-4c7e-ac31-7ba4ab7cc371,0,1,dd9d09ef-3b4b-4bb5-9408-9c4080049bb3,dd9d09ef-3b4b-4bb5-9408-9c4080049bb3,0,1,3eb43a06-b32d-4904-8489-6264d0207623,3eb43a06-b32d-4904-8489-6264d0207623,0,1,a18098cf-5a61-46b5-bd55-cc61d15aa6bc,a18098cf-5a61-46b5-bd55-cc61d15aa6bc,0,1,18615fe1-cfee-4888-9c09-88d1c5db39eb,18615fe1-cfee-4888-9c09-88d1c5db39eb,0,1,63e363fa-8b0c-4d48-ab1b-9c953c5ed4c0,63e363fa-8b0c-4d48-ab1b-9c953c5ed4c0,0,1,087c83c0-75e7-476b-b7c6-5be55498a190,087c83c0-75e7-476b-b7c6-5be55498a190,0,1,ec5e5413-9e77-4929-83b8-6fee70688b28,ec5e5413-9e77-4929-83b8-6fee70688b28,0,1,59cd8e3f-ecf3-4e1d-bd98-41551d5d6f68,59cd8e3f-ecf3-4e1d-bd98-41551d5d6f68,0,1,8390c864-2b84-4c45-8583-cb4a4ab49168,8390c864-2b84-4c45-8583-cb4a4ab49168,0,1,1b2fefca-fef5-4319-90cc-325444cb63a6,1b2fefca-fef5-4319-90cc-325444cb63a6,0,1,34a128be-8fbb-4dd8-ac23-9f35041feb63,34a128be-8fbb-4dd8-ac23-9f35041feb63,0,1,baa31006-e0d6-496e-a60e-27b3dfd19397,baa31006-e0d6-496e-a60e-27b3dfd19397,0,1,3007d8ff-3942-45ed-bac5-8a6c40ca060c,3007d8ff-3942-45ed-bac5-8a6c40ca060c,0,1,8bfe1474-fd12-4744-a9ab-3383bfe766b3,8bfe1474-fd12-4744-a9ab-3383bfe766b3,0,1,3af97375-f776-4129-9521-b8d65d795db6,3af97375-f776-4129-9521-b8d65d795db6,0,1,0e98801b-a45b-44cb-a341-7e43d723f6ed,0e98801b-a45b-44cb-a341-7e43d723f6ed,0,1,5b71cd3b-d5b8-4632-9678-0ab1e1d2ea91,5b71cd3b-d5b8-4632-9678-0ab1e1d2ea91,0,1,103ac72d-c386-40ea-89d4-35798d064f1a,103ac72d-c386-40ea-89d4-35798d064f1a,0,1,645ceb40-1e9f-4a67-aa7f-b9002fa066b3,645ceb40-1e9f-4a67-aa7f-b9002fa066b3,0,1,d1fe15e9-8e5c-4819-85cd-24ab31409437,d1fe15e9-8e5c-4819-85cd-24ab31409437,0,1,c8c5bfe9-ead5-4e79-9fd5-60ad275faa1e,c8c5bfe9-ead5-4e79-9fd5-60ad275faa1e,0,1,8f9826b6-890e-4ba3-a1f2-bc9ebb3238dd,8f9826b6-890e-4ba3-a1f2-bc9ebb3238dd,0,1,74f68bda-17b1-4b3c-aa64-b1014300f9b5,74f68bda-17b1-4b3c-aa64-b1014300f9b5,0,1,90a195b0-7f64-4ccb-986e-8c8c2cf12ccd,90a195b0-7f64-4ccb-986e-8c8c2cf12ccd,0,1,9f9d1f8c-7ff9-420f-a426-48f33493d9f2,9f9d1f8c-7ff9-420f-a426-48f33493d9f2,0,1,ab7bc0bc-b4b8-4a4a-aecc-1cbe14fd4975,ab7bc0bc-b4b8-4a4a-aecc-1cbe14fd4975,0,1,9f8d9594-674f-49ef-9fb8-bb64d5c40a37,9f8d9594-674f-49ef-9fb8-bb64d5c40a37,0,1,47ee7d38-9fa9-458d-abee-e11270f79494,47ee7d38-9fa9-458d-abee-e11270f79494,0,1,bb6b83ff-81f4-4c39-ad8e-8cda9ccd9cb9,bb6b83ff-81f4-4c39-ad8e-8cda9ccd9cb9,0,1,076daecf-8fcb-496b-9f13-c4faa3a8a722,076daecf-8fcb-496b-9f13-c4faa3a8a722,0,1,f1a8357b-7083-42b3-ab5d-36223a3dd2a4,f1a8357b-7083-42b3-ab5d-36223a3dd2a4,0,1,296d7725-bdd3-4210-9db9-31de5711ea9b,296d7725-bdd3-4210-9db9-31de5711ea9b,0,1,6ecc5bc2-20b3-46f3-8019-ae1e1f3de319,6ecc5bc2-20b3-46f3-8019-ae1e1f3de319,0,1,1d05f89a-23dd-4d30-8786-abe8a9a39a40,1d05f89a-23dd-4d30-8786-abe8a9a39a40,0,1,245c2c6c-7b7f-4381-9304-1d7287a215fa,245c2c6c-7b7f-4381-9304-1d7287a215fa,0,1,fd17bbe4-34d9-4832-8eea-8eeb82194e4c,fd17bbe4-34d9-4832-8eea-8eeb82194e4c,0,1,d4c72d7f-7e1f-473c-9a2b-fa675fc78731,d4c72d7f-7e1f-473c-9a2b-fa675fc78731,0,1,8bb5be12-98df-4a38-bffe-432fb13d8101,8bb5be12-98df-4a38-bffe-432fb13d8101,0,1,94209023-ce88-401c-9aff-526fb7e43709,94209023-ce88-401c-9aff-526fb7e43709,0,1,22b99094-b52a-4244-ae91-53848d82560b,22b99094-b52a-4244-ae91-53848d82560b,0,1,22c9e2fa-c1f0-41ec-b6f2-9d7357dd3479,22c9e2fa-c1f0-41ec-b6f2-9d7357dd3479,0,1,b0002134-d5c9-4508-9f0e-97f92461b590,b0002134-d5c9-4508-9f0e-97f92461b590,0,1,1506ec71-cb38-4831-a29d-dac2c4deddda,1506ec71-cb38-4831-a29d-dac2c4deddda,0,1,e05fd82b-b77b-4b7f-b300-43653017f341,e05fd82b-b77b-4b7f-b300-43653017f341,0,1,d3b5e5ee-2317-43b4-b669-3af2ce635cf3,d3b5e5ee-2317-43b4-b669-3af2ce635cf3,0,1,f15a0526-c207-42fe-aed9-438ae0c4a4b8,f15a0526-c207-42fe-aed9-438ae0c4a4b8,0,1,9d444a41-7190-48fb-9a4a-08f8e7bc32a3,9d444a41-7190-48fb-9a4a-08f8e7bc32a3,0,1,8583cab0-0620-4346-96e0-bcac40981b8a,8583cab0-0620-4346-96e0-bcac40981b8a,0,1,e1dfba26-c682-42a2-8e15-fe6f535c9ce1,e1dfba26-c682-42a2-8e15-fe6f535c9ce1,0,1,095990b1-187b-400c-941a-275f272239ca,095990b1-187b-400c-941a-275f272239ca,0,1,ba108470-350d-40c3-bb44-9852c2aa8c97,ba108470-350d-40c3-bb44-9852c2aa8c97,0,1,a37c33fa-64b0-4a1b-846a-0a236bad44f8,a37c33fa-64b0-4a1b-846a-0a236bad44f8,0,1,d8481ce1-7f64-47b0-8fc0-6642ae93aca1,d8481ce1-7f64-47b0-8fc0-6642ae93aca1,0,1,a50f4324-da44-449b-b500-74228b2aa7e0,a50f4324-da44-449b-b500-74228b2aa7e0,0,1,04236716-9c36-4a1d-b4fb-4b8c65644ab4,04236716-9c36-4a1d-b4fb-4b8c65644ab4,0,1,97276702-6686-4ac4-8360-d85369a08b20,97276702-6686-4ac4-8360-d85369a08b20,0,1,e5450ee7-e891-4f58-9a01-d2d81d5ddd6d,e5450ee7-e891-4f58-9a01-d2d81d5ddd6d,0,1,068883fe-d7ae-40e7-ad82-864867916daa,068883fe-d7ae-40e7-ad82-864867916daa,0,1,c1b02568-2095-4f83-8543-2402f67dbe3d,c1b02568-2095-4f83-8543-2402f67dbe3d,0,1,8b749b7a-5e68-4523-adc2-8b3c5ce9701c,8b749b7a-5e68-4523-adc2-8b3c5ce9701c,0,1,bf3c7edc-0791-459e-a7ac-b7e8d7ed97fe,bf3c7edc-0791-459e-a7ac-b7e8d7ed97fe,0,1,7dc6d13e-4edf-4e6a-9ee9-4b32ad889ecf,7dc6d13e-4edf-4e6a-9ee9-4b32ad889ecf,0,1,aecbd726-6952-49e6-b544-4c5cc764c24c,aecbd726-6952-49e6-b544-4c5cc764c24c,0,1,d335cfbf-bc78-4274-a178-10f60372474a,d335cfbf-bc78-4274-a178-10f60372474a,0,1,0f4411b3-addf-4fcf-8da8-c5140dea356c,0f4411b3-addf-4fcf-8da8-c5140dea356c,0,1,c501f9ab-d01b-4137-8cd0-e66103117c84,c501f9ab-d01b-4137-8cd0-e66103117c84,0,1,8d5d4e0f-b7b5-4cdc-aedc-571517fa101f,8d5d4e0f-b7b5-4cdc-aedc-571517fa101f,0,1,66e65355-1424-4c74-801c-faf5357257aa,66e65355-1424-4c74-801c-faf5357257aa,0,1,0a93187b-7ae4-4985-8089-3099dfec2b48,0a93187b-7ae4-4985-8089-3099dfec2b48,0,1,044458f3-ed9b-4afb-ae73-8f9162c032bf,044458f3-ed9b-4afb-ae73-8f9162c032bf,0,1,578f618e-5f4a-4e86-959d-39b59e973936,578f618e-5f4a-4e86-959d-39b59e973936,0,1,f74ede2e-2d28-4224-ba44-773eda7760a4,f74ede2e-2d28-4224-ba44-773eda7760a4,0,1,217df06a-1bdf-4394-b617-ed756ff17bc6,217df06a-1bdf-4394-b617-ed756ff17bc6,0,1,a1572e97-a487-497a-9062-49315e237e0f,a1572e97-a487-497a-9062-49315e237e0f,0,1,969cdcb8-0f2a-427f-93a0-e7ae38f465e8,969cdcb8-0f2a-427f-93a0-e7ae38f465e8,0,1,3c5d87a0-cfce-464a-b946-64c5a589a376,3c5d87a0-cfce-464a-b946-64c5a589a376,0,1,2d22c67d-4795-4a6b-bc81-a3ed1eb28367,2d22c67d-4795-4a6b-bc81-a3ed1eb28367,0,1,763de8d1-7f53-41b6-8d97-7da724e9f763,763de8d1-7f53-41b6-8d97-7da724e9f763,0,1,75592ed4-2aab-4dfc-ae7b-d93e2a98370f,75592ed4-2aab-4dfc-ae7b-d93e2a98370f,0,1,4ad59c75-cca4-4968-82e6-babd72d8b318,4ad59c75-cca4-4968-82e6-babd72d8b318,0,1,c248de15-63a2-48ec-8695-7a5213d4fc9b,c248de15-63a2-48ec-8695-7a5213d4fc9b,0,1,272ff0f9-7266-4c22-be12-fe62682b56a5,272ff0f9-7266-4c22-be12-fe62682b56a5,0,1,9f141dd5-d866-4c25-b58a-a7766a08b4e7,9f141dd5-d866-4c25-b58a-a7766a08b4e7,0,1,0570d846-889d-4cfc-98fb-a1ad0181597f,0570d846-889d-4cfc-98fb-a1ad0181597f,0,1,19e17c58-953f-4917-8b6a-c88808fcca36,19e17c58-953f-4917-8b6a-c88808fcca36,0,1,4804316d-3765-4a83-8438-10e8e82656db,4804316d-3765-4a83-8438-10e8e82656db,0,1,59458556-e343-4215-8e6c-69f924ec4183,59458556-e343-4215-8e6c-69f924ec4183,0,1,dd553dca-7eba-41bf-8939-2c61e170ff65,dd553dca-7eba-41bf-8939-2c61e170ff65,0,1,b4ecf3dc-a2aa-406e-a593-1700ea8746bc,b4ecf3dc-a2aa-406e-a593-1700ea8746bc,0,1,933d7ce7-ea82-4b26-8d1b-dc92cb5ac92d,933d7ce7-ea82-4b26-8d1b-dc92cb5ac92d,0,1,8099e978-28cc-4ade-ac5a-3785f3a45f70,8099e978-28cc-4ade-ac5a-3785f3a45f70,0,1,11eff613-8077-41fa-8cb8-5e8dc27d0e4f,11eff613-8077-41fa-8cb8-5e8dc27d0e4f,0,1,fe023ca5-f11a-4b98-99c1-363508e4ea4a,fe023ca5-f11a-4b98-99c1-363508e4ea4a,0,1,6f8d515e-13d9-45f8-9793-3757f5b85f81,6f8d515e-13d9-45f8-9793-3757f5b85f81,0,1,25ec541c-c437-4318-b2a8-5146df6ae080,25ec541c-c437-4318-b2a8-5146df6ae080,0,1,148754ed-3063-40a7-a3c3-8ad105552370,148754ed-3063-40a7-a3c3-8ad105552370,0,1,ab3f0862-c355-4fd7-a2a7-4eb8278de510,ab3f0862-c355-4fd7-a2a7-4eb8278de510,0,1,85bbfe20-a6a4-49ca-8f20-342f4cbe8258,85bbfe20-a6a4-49ca-8f20-342f4cbe8258,0,1,c12c3f3b-3a96-4e70-b131-8d7bd765095f,c12c3f3b-3a96-4e70-b131-8d7bd765095f,0,1,70ee4b32-80d1-4b79-a322-0433f1b8c7f1,70ee4b32-80d1-4b79-a322-0433f1b8c7f1,0,1,c563588c-346e-499e-ae33-9ff3cb62e658,c563588c-346e-499e-ae33-9ff3cb62e658,0,1,40dbc001-97b6-4188-8de9-3adac670bac4,40dbc001-97b6-4188-8de9-3adac670bac4,0,1,a4ed8b24-bd23-45a7-9f34-61b25b91d0c6,a4ed8b24-bd23-45a7-9f34-61b25b91d0c6,0,1,65efaa10-3239-4f0f-a08e-88c89d9d8d5a,65efaa10-3239-4f0f-a08e-88c89d9d8d5a,0,1,93aa5247-6823-4f70-9d47-e5a0f409828a,93aa5247-6823-4f70-9d47-e5a0f409828a,0,1,030c6a22-a3d5-4cf2-9f7b-dc4fe3732f83,030c6a22-a3d5-4cf2-9f7b-dc4fe3732f83,0,1,b19f1223-5ebe-4446-bacc-bc7d53486f2e,b19f1223-5ebe-4446-bacc-bc7d53486f2e,0,1,6ea7e8e9-0faa-43fd-b9c8-1a7b8f899d6d,6ea7e8e9-0faa-43fd-b9c8-1a7b8f899d6d,0,1,7be1decf-feb1-422b-a3f2-f60d08fdb0e6,7be1decf-feb1-422b-a3f2-f60d08fdb0e6,0,1,bf3167d6-3047-482a-b280-184f446ae7a3,bf3167d6-3047-482a-b280-184f446ae7a3,0,1,50c47c0a-a199-4020-9df4-91b17c159454,50c47c0a-a199-4020-9df4-91b17c159454,0,1,c1d449af-8a6e-4cb0-b2c9-50ea5405c44c,c1d449af-8a6e-4cb0-b2c9-50ea5405c44c,0,1,faecdc33-fed8-4b44-96f4-4215c26959b6,faecdc33-fed8-4b44-96f4-4215c26959b6,0,1,09c29992-47a8-4fca-bd95-e7dbc53e8c4c,09c29992-47a8-4fca-bd95-e7dbc53e8c4c,0,1,f07cf7bd-6f3f-426a-8b71-ba1dcb827654,f07cf7bd-6f3f-426a-8b71-ba1dcb827654,0,1,9df3792e-a4ee-4a2c-9296-c1384925521e,9df3792e-a4ee-4a2c-9296-c1384925521e,0,1,03d423db-f98a-468f-9040-5b76454e5a98,03d423db-f98a-468f-9040-5b76454e5a98,0,1,08f394f9-d254-4fe5-8651-a69c96de7a62,08f394f9-d254-4fe5-8651-a69c96de7a62,0,1,e90ec54b-8b86-43df-8c3c-18c6676bf3f1,e90ec54b-8b86-43df-8c3c-18c6676bf3f1,0,1,6aff6b2f-660b-4d75-9064-fed7a6b0feac,6aff6b2f-660b-4d75-9064-fed7a6b0feac,0,1,53502127-9f47-4e2e-b3ed-eb3c3aae1c50,53502127-9f47-4e2e-b3ed-eb3c3aae1c50,0,1,2fcdd0b5-b738-4e19-8bbf-13a72d7014ec,2fcdd0b5-b738-4e19-8bbf-13a72d7014ec,0,1,59dc7e8d-6f5c-4e1b-816e-5fc15c0e96e0,59dc7e8d-6f5c-4e1b-816e-5fc15c0e96e0,0,1,e60a9221-7676-456f-8a01-b317b03a278b,e60a9221-7676-456f-8a01-b317b03a278b,0,1,4e81ec90-f668-49ca-9193-22337bafb01b,4e81ec90-f668-49ca-9193-22337bafb01b,0,1,104c7c31-5bbd-4242-b29a-2c0d8b69a1b9,104c7c31-5bbd-4242-b29a-2c0d8b69a1b9,0,1,cd60adec-52d6-4fa8-85ca-26551196432c,cd60adec-52d6-4fa8-85ca-26551196432c,0,1,4dfbabd7-d5e5-4b2a-b8d1-752e416629a0,4dfbabd7-d5e5-4b2a-b8d1-752e416629a0,0,1,b71ddbdb-08bb-46be-a79d-319c4a557e76,b71ddbdb-08bb-46be-a79d-319c4a557e76,0,1,d3dfa867-3d52-4872-a69e-f27636abe1bd,d3dfa867-3d52-4872-a69e-f27636abe1bd,0,1,6952d1aa-7132-4e40-8542-f64a4dc1e029,6952d1aa-7132-4e40-8542-f64a4dc1e029,0,1,51a1bc4c-9139-42a4-92c3-f45c837cbdb9,51a1bc4c-9139-42a4-92c3-f45c837cbdb9,0,1,1621811b-dfd3-4c58-8e15-ced16690147a,1621811b-dfd3-4c58-8e15-ced16690147a,0,1,3f266e51-0476-4b7f-8d61-6f9f4456049d,3f266e51-0476-4b7f-8d61-6f9f4456049d,0,1,2b9ce591-ff13-4c2d-85c4-632a2609a211,2b9ce591-ff13-4c2d-85c4-632a2609a211,0,1,689ca0ec-61ce-4590-b73b-ac81e8f1d459,689ca0ec-61ce-4590-b73b-ac81e8f1d459,0,1,3ea1895f-66d0-4bbb-a66b-0c9d411a7c55,3ea1895f-66d0-4bbb-a66b-0c9d411a7c55,0,1,55ad36d7-399e-4b82-8d1c-d45bd890abfe,55ad36d7-399e-4b82-8d1c-d45bd890abfe,0,1,0f3b9012-7bf6-4451-b0c3-139d98d9c2c1,0f3b9012-7bf6-4451-b0c3-139d98d9c2c1,0,1,1b39a65f-5425-4bcb-85bd-1425274af8a8,1b39a65f-5425-4bcb-85bd-1425274af8a8,0,1,392a0618-a41a-4713-a561-f3a80b85abd8,392a0618-a41a-4713-a561-f3a80b85abd8,0,1,a453384d-658d-40f1-ac69-578aa3a24e39,a453384d-658d-40f1-ac69-578aa3a24e39,0,1,2215a441-b9b1-4e5c-8df3-e6cee9226c43,2215a441-b9b1-4e5c-8df3-e6cee9226c43,0,1,2a8d4908-ea0d-4837-be3f-bd78f6b61254,2a8d4908-ea0d-4837-be3f-bd78f6b61254,0,1,ec1deb79-7369-4b26-8e91-f51399e8052a,ec1deb79-7369-4b26-8e91-f51399e8052a,0,1,75dde4fb-3a1a-450c-95c2-c1f95a781db9,75dde4fb-3a1a-450c-95c2-c1f95a781db9,0,1,0ae3ac56-160a-417e-9952-719d02e7f089,0ae3ac56-160a-417e-9952-719d02e7f089,0,1,f5b3983d-d22d-44a8-9069-0a60d8b858bf,f5b3983d-d22d-44a8-9069-0a60d8b858bf,0,1,48659b94-ace8-45f4-a043-6b2731ec6925,48659b94-ace8-45f4-a043-6b2731ec6925,0,1,3a8e60f9-19cb-42a6-a448-ad211261d9b8,3a8e60f9-19cb-42a6-a448-ad211261d9b8,0,1,74320602-094a-4645-b2c9-3053377a3ac3,74320602-094a-4645-b2c9-3053377a3ac3,0,1,3aba26a3-76ee-46c0-9e11-6f64fc754a0d,3aba26a3-76ee-46c0-9e11-6f64fc754a0d,0,1,b066c732-9c5f-4504-894f-96d457b0768f,b066c732-9c5f-4504-894f-96d457b0768f,0,1,9366463d-aa8a-4e89-86d8-c7f746f9551b,9366463d-aa8a-4e89-86d8-c7f746f9551b,0,1,e25da569-d435-45b2-b4e8-fc76d7f1c8df,e25da569-d435-45b2-b4e8-fc76d7f1c8df,0,1,a51a7f57-9c52-4457-819c-13e1b6f886e1,a51a7f57-9c52-4457-819c-13e1b6f886e1,0,1,7d08daba-5e36-4ce3-8a70-17750959b89e,7d08daba-5e36-4ce3-8a70-17750959b89e,0,1,e2c2d915-ae50-4fa0-add3-26ad7dc75efb,e2c2d915-ae50-4fa0-add3-26ad7dc75efb,0,1,39344a8c-2662-48ff-937b-12951bb268fb,39344a8c-2662-48ff-937b-12951bb268fb,0,1,b577663f-ead2-4b18-a4f6-f7f303e89319,b577663f-ead2-4b18-a4f6-f7f303e89319,0,1,43dc335f-5503-47ab-9c6b-0b4c6ab13f57,43dc335f-5503-47ab-9c6b-0b4c6ab13f57,0,1,6cc0a1d7-01eb-4af6-b4ed-4002e2316080,6cc0a1d7-01eb-4af6-b4ed-4002e2316080,0,1,72663843-4010-42ed-989b-0b58bf9f7146,72663843-4010-42ed-989b-0b58bf9f7146,0,1,79da4490-f0b0-48b5-b435-3b2c9ffb0eb3,79da4490-f0b0-48b5-b435-3b2c9ffb0eb3,0,1,3adcceea-867e-4b88-a633-4f8d4ccb43c0,3adcceea-867e-4b88-a633-4f8d4ccb43c0,0,1,a132189c-6584-4bb1-9cfd-1415cd83228a,a132189c-6584-4bb1-9cfd-1415cd83228a,0,1,7ba50e13-0a78-4cca-821f-006b1c83b0b0,7ba50e13-0a78-4cca-821f-006b1c83b0b0,0,1,a3670f95-5abe-49ee-8ea5-d7e4438801ba,a3670f95-5abe-49ee-8ea5-d7e4438801ba,0,1,4443dea1-5143-4e76-97a7-c35dbe1665e4,4443dea1-5143-4e76-97a7-c35dbe1665e4,0,1,0d780521-0767-425a-b44d-315d2dc42d04,0d780521-0767-425a-b44d-315d2dc42d04,0,1,c5b1572d-28f5-42f3-b2e0-8b54f091642e,c5b1572d-28f5-42f3-b2e0-8b54f091642e,0,1,0986c1b6-b677-428d-b49f-a93e40e77171,0986c1b6-b677-428d-b49f-a93e40e77171,0,1,b9c41558-8fe7-45f6-bcb0-5ea3a35264cf,b9c41558-8fe7-45f6-bcb0-5ea3a35264cf,0,1,597c1f9b-3cbd-42bd-b819-f29b3a3f073a,597c1f9b-3cbd-42bd-b819-f29b3a3f073a,0,1,b6662b2e-7e93-4eaa-9e4b-b5647285932b,b6662b2e-7e93-4eaa-9e4b-b5647285932b,0,1,4a180f2c-dc54-4591-8f62-f236d1e07799,4a180f2c-dc54-4591-8f62-f236d1e07799,0,1,3f1578ba-3d55-4eff-bbdd-6329dd5060d5,3f1578ba-3d55-4eff-bbdd-6329dd5060d5,0,1,a9a51e79-4c79-4a43-931b-c0321c1cd65b,a9a51e79-4c79-4a43-931b-c0321c1cd65b,0,1,e8644d90-ec2f-4ac0-8fbd-a7aa95c9bcec,e8644d90-ec2f-4ac0-8fbd-a7aa95c9bcec,0,1,048a1d86-bcf5-47aa-a36c-eb20c3f9f7e5,048a1d86-bcf5-47aa-a36c-eb20c3f9f7e5,0,1,22f2696e-0ac1-4a74-bca9-987b267b2b59,22f2696e-0ac1-4a74-bca9-987b267b2b59,0,1,d705cacc-3485-46d7-9ff4-48c3c0757c81,d705cacc-3485-46d7-9ff4-48c3c0757c81,0,1,98f043ea-633c-4a03-a56f-efbc9e6ef288,98f043ea-633c-4a03-a56f-efbc9e6ef288,0,1,2033b92a-0750-478a-a12d-cf4f74d0a9da,2033b92a-0750-478a-a12d-cf4f74d0a9da,0,1,92fa2196-d8e5-45f9-9d2e-59d837b163ea,92fa2196-d8e5-45f9-9d2e-59d837b163ea,0,1,25dc2290-e283-4449-81c1-1ce15b58067f,25dc2290-e283-4449-81c1-1ce15b58067f,0,1,c534a865-a17f-41e7-88b9-c6af89c9d202,c534a865-a17f-41e7-88b9-c6af89c9d202,0,1,0214bfe6-fb98-4487-8d98-6b10d24a3c4d,0214bfe6-fb98-4487-8d98-6b10d24a3c4d,0,1,0127937c-94c0-43fe-9630-cc2ec6904ad8,0127937c-94c0-43fe-9630-cc2ec6904ad8,0,1,ce7c87b8-e4ab-47e2-b70a-7dcae8bfb8a8,ce7c87b8-e4ab-47e2-b70a-7dcae8bfb8a8,0,1,8df5b3cd-7788-4198-a530-e88be83f1cdf,8df5b3cd-7788-4198-a530-e88be83f1cdf,0,1,ffaeea66-66d5-4741-a9b5-875afebfce7f,ffaeea66-66d5-4741-a9b5-875afebfce7f,0,1,4e36184e-d818-4f38-9257-6d91d9cc85ae,4e36184e-d818-4f38-9257-6d91d9cc85ae,0,1,afcba8a1-5d3e-4a76-9be9-5fbda20d55bd,afcba8a1-5d3e-4a76-9be9-5fbda20d55bd,0,1,cbdc8d7e-b685-4c8d-9f47-d8bfb08300d4,cbdc8d7e-b685-4c8d-9f47-d8bfb08300d4,0,1,3893a258-a9c7-441a-b80c-1cc8c3f4735c,3893a258-a9c7-441a-b80c-1cc8c3f4735c,0,1,f9ad1ef3-7475-4d55-a1ef-eadceda9bf6b,f9ad1ef3-7475-4d55-a1ef-eadceda9bf6b,0,1,c66d0377-45bb-4ef0-bf9b-b44a9c510d38,c66d0377-45bb-4ef0-bf9b-b44a9c510d38,0,1,420748d8-4042-4e1e-aca1-ac0190cdf54e,420748d8-4042-4e1e-aca1-ac0190cdf54e,0,1,a64b15fa-fc34-43fe-a366-d27c0f1c3df2,a64b15fa-fc34-43fe-a366-d27c0f1c3df2,0,1,8b13e848-8fd3-4326-bd18-5a5b12ed3dc5,8b13e848-8fd3-4326-bd18-5a5b12ed3dc5,0,1,f8a456fa-a533-444c-a504-0e74306ada44,f8a456fa-a533-444c-a504-0e74306ada44,0,1,4751a91a-f211-4f66-8238-9bb5668cbc67,4751a91a-f211-4f66-8238-9bb5668cbc67,0,1,f1381abc-e09f-407d-b6b5-c59e7c9e2fd7,f1381abc-e09f-407d-b6b5-c59e7c9e2fd7,0,1,e6c871d6-e06f-420b-ae04-dbf735d3233d,e6c871d6-e06f-420b-ae04-dbf735d3233d,0,1,b9a6b053-2b93-4946-9531-040d3131dcc5,b9a6b053-2b93-4946-9531-040d3131dcc5,0,1,6287eded-23d8-4b04-8415-1d9afa17713b,6287eded-23d8-4b04-8415-1d9afa17713b,0,1,8ce3513d-d086-46f4-81c3-1761594a64c5,8ce3513d-d086-46f4-81c3-1761594a64c5,0,1,79cb147c-8c6b-4f6e-8d5d-dfa29a6e6e53,79cb147c-8c6b-4f6e-8d5d-dfa29a6e6e53,0,1,446f4de6-2af9-439a-9234-a31c439f139c,446f4de6-2af9-439a-9234-a31c439f139c,0,1,2ccbc9aa-52d3-4cf3-8e83-77aaef82a38d,2ccbc9aa-52d3-4cf3-8e83-77aaef82a38d,0,1,e9c632b0-7977-4e44-ac56-882617ad7cdc,e9c632b0-7977-4e44-ac56-882617ad7cdc,0,1,e84acba7-7e0f-43e8-a545-6e53d529d5d4,e84acba7-7e0f-43e8-a545-6e53d529d5d4,0,1,3b089d90-7ece-4b74-a4dc-e436d9d31b3b,3b089d90-7ece-4b74-a4dc-e436d9d31b3b,0,1,6086d53f-f1b2-4126-ab46-64705fe63b87,6086d53f-f1b2-4126-ab46-64705fe63b87,0,1,6d042890-27b2-4efc-935e-8190bb57c037,6d042890-27b2-4efc-935e-8190bb57c037,0,1,23e79add-7f1c-422a-9df1-8f76ebf805df,23e79add-7f1c-422a-9df1-8f76ebf805df,0,1,9295d88f-0865-440c-a98a-4710c50211be,9295d88f-0865-440c-a98a-4710c50211be,0,1,90aa51ae-434d-48f4-bfe3-0e1dd3aeea6f,90aa51ae-434d-48f4-bfe3-0e1dd3aeea6f,0,1,38ac9a13-665a-4201-b5cc-687fe4a01130,38ac9a13-665a-4201-b5cc-687fe4a01130,0,1,97c59096-b2dc-45d0-a580-b3018a04f9af,97c59096-b2dc-45d0-a580-b3018a04f9af,0,1,6fbf63b7-1692-495e-a8ec-bdda182997a3,6fbf63b7-1692-495e-a8ec-bdda182997a3,0,1,8172256e-f51e-4de0-bd07-3668785f4cb9,8172256e-f51e-4de0-bd07-3668785f4cb9,0,1,ccb54dc9-3d12-43d0-af6a-138d3526f5d5,ccb54dc9-3d12-43d0-af6a-138d3526f5d5,0,1,b82bcff8-49c9-44a9-8a9f-4428b0cc54a5,b82bcff8-49c9-44a9-8a9f-4428b0cc54a5,0,1,870b4d6d-0b89-4eda-a2b3-5c6db7dbe864,870b4d6d-0b89-4eda-a2b3-5c6db7dbe864,0,1,c172aeaf-b444-47c0-baee-80ccd91fe934,c172aeaf-b444-47c0-baee-80ccd91fe934,0,1,b8c36d5a-7966-4978-9225-67502b9c60a4,b8c36d5a-7966-4978-9225-67502b9c60a4,0,1,37ea0c64-2fec-4c2e-922b-d3a2f01f3e22,37ea0c64-2fec-4c2e-922b-d3a2f01f3e22,0,1,9847676d-f44d-46a0-83e2-4a43a835caf8,9847676d-f44d-46a0-83e2-4a43a835caf8,0,1,43c18cae-21a9-413b-a350-d5cf826980f0,43c18cae-21a9-413b-a350-d5cf826980f0,0,1,16773cdb-b979-42d5-a2a5-d4b79e8737bd,16773cdb-b979-42d5-a2a5-d4b79e8737bd,0,1,c28a190a-f487-4e99-b8f8-6928268086f8,c28a190a-f487-4e99-b8f8-6928268086f8,0,1,bb6e6574-4328-4cf5-a043-a7d8f6c81414,bb6e6574-4328-4cf5-a043-a7d8f6c81414,0,1,b46b5090-5eb1-4950-9031-8b43f611fa9c,b46b5090-5eb1-4950-9031-8b43f611fa9c,0,1,94e02f76-8656-4999-9470-dd996118400c,94e02f76-8656-4999-9470-dd996118400c,0,1,9effd265-3783-44e2-8698-80dd82137546,9effd265-3783-44e2-8698-80dd82137546,0,1,bef52020-98f8-465b-8981-e5f8eed62308,bef52020-98f8-465b-8981-e5f8eed62308,0,1,19897ad0-bdb5-439c-b4a2-a773c0ce5cf5,19897ad0-bdb5-439c-b4a2-a773c0ce5cf5,0,1,e731dab7-df9e-48ae-8542-4c0c30666ae9,e731dab7-df9e-48ae-8542-4c0c30666ae9,0,1,6ac484a9-4d96-4521-9b8c-66212a365725,6ac484a9-4d96-4521-9b8c-66212a365725,0,1,0841ebfc-12e6-4b3e-a60f-861b15e1b63c,0841ebfc-12e6-4b3e-a60f-861b15e1b63c,0,1,bde05768-2dd6-4800-985d-27075f610cca,bde05768-2dd6-4800-985d-27075f610cca,0,1,d18956cf-e449-48cc-a127-01b5dc910ea2,d18956cf-e449-48cc-a127-01b5dc910ea2,0,1,8e5487a3-b5e5-40ca-88f3-5b0ea0c4d481,8e5487a3-b5e5-40ca-88f3-5b0ea0c4d481,0,1,e352fc19-96be-4410-a516-bc58cc234422,e352fc19-96be-4410-a516-bc58cc234422,0,1,9b742da4-1696-4c06-9dfa-dd85c9286c74,9b742da4-1696-4c06-9dfa-dd85c9286c74,0,1,757ea742-8c14-4e0a-a867-432eee5cfc64,757ea742-8c14-4e0a-a867-432eee5cfc64,0,1,db1062bc-4164-4095-9640-9804c0ebcd0b,db1062bc-4164-4095-9640-9804c0ebcd0b,0,1,d5a13430-518a-4917-9de9-d00abbcce500,d5a13430-518a-4917-9de9-d00abbcce500,0,1,ea7c61ff-745c-4908-9a94-bba022d12de4,ea7c61ff-745c-4908-9a94-bba022d12de4,0,1,4d6683a3-1edd-4d04-8e02-0be002e4e5a4,4d6683a3-1edd-4d04-8e02-0be002e4e5a4,0,1,c7ffd8ab-15e9-4cf1-a7fd-d05534dff000,c7ffd8ab-15e9-4cf1-a7fd-d05534dff000,0,1,53caada5-1d53-45dc-9432-90075ddca890,53caada5-1d53-45dc-9432-90075ddca890,0,1,d1472d23-954b-4069-b2d6-df08c6ec0be1,d1472d23-954b-4069-b2d6-df08c6ec0be1,0,1,93fe2ce6-7193-42bc-a966-4653b7989eaa,93fe2ce6-7193-42bc-a966-4653b7989eaa,0,1,a7fe0aa5-722c-4a09-889b-ee422421addc,a7fe0aa5-722c-4a09-889b-ee422421addc,0,1,798bd34c-d0ee-4590-9b1d-8bc47e42ca8c,798bd34c-d0ee-4590-9b1d-8bc47e42ca8c,0,1,0c838a31-2b08-447c-b39a-a613cfba526c,0c838a31-2b08-447c-b39a-a613cfba526c,0,1,b25083c5-9b97-49a4-b6c3-bbf8d7f91cd3,b25083c5-9b97-49a4-b6c3-bbf8d7f91cd3,0,1,86c679c0-3531-4622-9a1f-3d9d6ccdd431,86c679c0-3531-4622-9a1f-3d9d6ccdd431,0,1,3bc2ca38-4a10-4ebd-a5dc-3418db494f0c,3bc2ca38-4a10-4ebd-a5dc-3418db494f0c,0,1,670c62c1-1a33-4dec-9540-5b4c1fe29074,670c62c1-1a33-4dec-9540-5b4c1fe29074,0,1,cc664d81-d0af-4d25-ae29-64f422e51bf2,cc664d81-d0af-4d25-ae29-64f422e51bf2,0,1,e1314cd1-e662-4c29-ad51-492cb0029883,e1314cd1-e662-4c29-ad51-492cb0029883,0,1,4718392b-477c-496b-9d28-ddbdaa7a04f2,4718392b-477c-496b-9d28-ddbdaa7a04f2,0,1,879844f0-30b4-47f5-8d2e-5fea29910368,879844f0-30b4-47f5-8d2e-5fea29910368,0,1,9bc09758-a7ce-44e0-baa3-a3e909869d9b,9bc09758-a7ce-44e0-baa3-a3e909869d9b,0,1,303334ba-2785-47fe-a094-84f9dea33be2,303334ba-2785-47fe-a094-84f9dea33be2,0,1,9690842c-7a2c-4b5d-a238-f730afc49a7b,9690842c-7a2c-4b5d-a238-f730afc49a7b,0,1,04424730-6992-4a5b-838b-7a7c16dedbd0,04424730-6992-4a5b-838b-7a7c16dedbd0,0,1,240bec31-cd59-477b-8459-8e3278da22dc,240bec31-cd59-477b-8459-8e3278da22dc,0,1,e0519f0c-9c99-4f5c-a3a9-27adce45737d,e0519f0c-9c99-4f5c-a3a9-27adce45737d,0,1,554320a0-55dc-4289-bb08-63d405cb4ca5,554320a0-55dc-4289-bb08-63d405cb4ca5,0,1,0874a3c0-0d16-4172-b467-f0666d5fcaee,0874a3c0-0d16-4172-b467-f0666d5fcaee,0,1,cc380a19-ab29-4f20-93ad-9a58cd4de56e,cc380a19-ab29-4f20-93ad-9a58cd4de56e,0,1,6a5f7521-270e-476e-88ec-a8cf79ea61a6,6a5f7521-270e-476e-88ec-a8cf79ea61a6,0,1,9bb841e7-e629-4a1f-8ff6-f8bca0b2b133,9bb841e7-e629-4a1f-8ff6-f8bca0b2b133,0,1,e54a8786-86a4-48e3-a210-aaae4e5fce8c,e54a8786-86a4-48e3-a210-aaae4e5fce8c,0,1,86c86ea2-d14e-4443-b36c-c1c17c4f768a,86c86ea2-d14e-4443-b36c-c1c17c4f768a,0,1,14512818-58b0-44cc-b00d-d37913c57aad,14512818-58b0-44cc-b00d-d37913c57aad,0,1,57964dd6-4b0b-4590-bc44-de744cc423af,57964dd6-4b0b-4590-bc44-de744cc423af,0,1,364cbfe2-bc44-4387-aa7e-6b4aa086c9e9,364cbfe2-bc44-4387-aa7e-6b4aa086c9e9,0,1,46e0522b-b88b-43b2-9067-a5359e90994b,46e0522b-b88b-43b2-9067-a5359e90994b,0,1,727c7c01-83e6-4d59-afa4-ee36f1cbacf2,727c7c01-83e6-4d59-afa4-ee36f1cbacf2,0,1,b143bc6d-ead6-41a2-9a15-1a44488c1ce4,b143bc6d-ead6-41a2-9a15-1a44488c1ce4,0,1,72d41d01-9c9d-4fbe-8a39-932d82d171ef,72d41d01-9c9d-4fbe-8a39-932d82d171ef,0,1,b1e7d3c3-9fc1-4364-a8c3-b076080c7472,b1e7d3c3-9fc1-4364-a8c3-b076080c7472,0,1,697d5715-dd04-40be-9b28-539734725158,697d5715-dd04-40be-9b28-539734725158,0,1,d831a8ac-88a4-4191-ab0b-7538dfb3e7d7,d831a8ac-88a4-4191-ab0b-7538dfb3e7d7,0,1,d95fcb37-fc65-466d-93e2-489f41683276,d95fcb37-fc65-466d-93e2-489f41683276,0,1,c6b0d31e-7b68-4c7f-a565-0ac8a7c11143,c6b0d31e-7b68-4c7f-a565-0ac8a7c11143,0,1,a27a9296-46bb-49a1-8308-db675baa81d0,a27a9296-46bb-49a1-8308-db675baa81d0,0,1,1456f317-360c-4190-b2d1-1be7484369a5,1456f317-360c-4190-b2d1-1be7484369a5,0,1,5ac74bb3-a4df-47db-ad87-6cb95b85c51f,5ac74bb3-a4df-47db-ad87-6cb95b85c51f,0,1,4867948f-b027-44ae-b78c-a94e00eed52b,4867948f-b027-44ae-b78c-a94e00eed52b,0,1,39ed5463-b1c0-44bb-9d71-4ef08007a7d0,39ed5463-b1c0-44bb-9d71-4ef08007a7d0,0,1,3d4cb11a-7ce7-4c46-a427-99d6f41f08bf,3d4cb11a-7ce7-4c46-a427-99d6f41f08bf,0,1,56cc2ba7-fee3-4dcb-9a2a-93dc94a5ee1f,56cc2ba7-fee3-4dcb-9a2a-93dc94a5ee1f,0,1,ef044879-e731-418a-b917-6a685f27c5f4,ef044879-e731-418a-b917-6a685f27c5f4,0,1,f0ffe529-481f-4eed-8fc8-02a9d8f08f7a,f0ffe529-481f-4eed-8fc8-02a9d8f08f7a,0,1,618d13d5-fd1f-4b70-ad45-dd6a17a50730,618d13d5-fd1f-4b70-ad45-dd6a17a50730,0,1,58037b76-b548-4f07-bd67-67e552a5c6e5,58037b76-b548-4f07-bd67-67e552a5c6e5,0,1,68f19104-5fa3-4f28-a84b-bf68c3bed49b,68f19104-5fa3-4f28-a84b-bf68c3bed49b,0,1,ab0b6824-99ba-4b8d-857d-ed8ef017d499,ab0b6824-99ba-4b8d-857d-ed8ef017d499,0,1,f88ccd7a-8d15-4b24-addf-da522a0b4a43,f88ccd7a-8d15-4b24-addf-da522a0b4a43,0,1,0f8e87d4-ffb7-4cff-a2d3-6d5c5219ff0b,0f8e87d4-ffb7-4cff-a2d3-6d5c5219ff0b,0,1,1511c2e3-aeb4-422a-b6ae-03412b714c93,1511c2e3-aeb4-422a-b6ae-03412b714c93,0,1,349378d1-abe3-44de-84a4-d525b08e0474,349378d1-abe3-44de-84a4-d525b08e0474,0,1,1526b18d-7fab-414e-a5b2-377b67ac0b55,1526b18d-7fab-414e-a5b2-377b67ac0b55,0,1,c561fe6b-53ea-435b-a230-1850e2dc1ff5,c561fe6b-53ea-435b-a230-1850e2dc1ff5,0,1,aba7605f-6baf-42a8-b5ad-8f71c780b81f,aba7605f-6baf-42a8-b5ad-8f71c780b81f,0,1,8fc19eca-1a15-4758-af4b-79637e51edfb,8fc19eca-1a15-4758-af4b-79637e51edfb,0,1,be9144ce-5560-47bb-8c5e-9beefd15bfc3,be9144ce-5560-47bb-8c5e-9beefd15bfc3,0,1,ad09d1e6-5982-4e1c-864e-452ac5b2915a,ad09d1e6-5982-4e1c-864e-452ac5b2915a,0,1,caea53be-d2f7-4109-8017-d2bfdfde8c6f,caea53be-d2f7-4109-8017-d2bfdfde8c6f,0,1,60f30706-9919-4767-a17c-660754b9d542,60f30706-9919-4767-a17c-660754b9d542,0,1,7de19812-ed6c-41b5-82aa-b9a8e6d808f2,7de19812-ed6c-41b5-82aa-b9a8e6d808f2,0,1,0dcc3bbf-afbe-4a4e-bc4a-17534d5fab28,0dcc3bbf-afbe-4a4e-bc4a-17534d5fab28,0,1,28dc34df-1daa-49a2-a12e-db91ee963459,28dc34df-1daa-49a2-a12e-db91ee963459,0,1,bf75c4de-b36a-4a7f-8d84-9fa3d020a6cb,bf75c4de-b36a-4a7f-8d84-9fa3d020a6cb,0,1,d02fe5f5-412c-4c4f-bfc7-c1d7206cd092,d02fe5f5-412c-4c4f-bfc7-c1d7206cd092,0,1,2233ce53-b8a8-4c83-97a2-683c8575462a,2233ce53-b8a8-4c83-97a2-683c8575462a,0,1,2071f210-dc13-43c0-a58e-b982821d6842,2071f210-dc13-43c0-a58e-b982821d6842,0,1,3cda70d0-3116-4508-82ea-5ea0f0921262,3cda70d0-3116-4508-82ea-5ea0f0921262,0,1,d5588c0d-3e94-485b-a7e9-45f5cf74df9e,d5588c0d-3e94-485b-a7e9-45f5cf74df9e,0,1,c2ef8d6b-de7b-430d-ac30-76cdaf0579c2,c2ef8d6b-de7b-430d-ac30-76cdaf0579c2,0,1,0e805e1f-3797-4ef9-94d3-0ec58ac1b605,0e805e1f-3797-4ef9-94d3-0ec58ac1b605,0,1,8677bd53-5569-4d44-b7ce-d1b3fe12c78d,8677bd53-5569-4d44-b7ce-d1b3fe12c78d,0,1,19056365-9ff1-4733-876e-a7ebdbbe0557,19056365-9ff1-4733-876e-a7ebdbbe0557,0,1,5e09dc5e-bbb7-4c38-b609-940c24f63c84,5e09dc5e-bbb7-4c38-b609-940c24f63c84,0,1,017b28eb-8ba9-465e-a748-20eadbeb4ea2,017b28eb-8ba9-465e-a748-20eadbeb4ea2,0,1,c0bb2d66-94c9-4bc6-afd5-534075e8395b,c0bb2d66-94c9-4bc6-afd5-534075e8395b,0,1,db7cc693-1645-4416-a9d9-5a7584cd3bbc,db7cc693-1645-4416-a9d9-5a7584cd3bbc,0,1,c849fb09-7833-49c8-9461-98426dc6c0af,c849fb09-7833-49c8-9461-98426dc6c0af,0,1,6c58fc3a-37f8-44b7-b076-2c10ce09b554,6c58fc3a-37f8-44b7-b076-2c10ce09b554,0,1,8ca0258c-96d8-4a12-b94f-db968195ee0a,8ca0258c-96d8-4a12-b94f-db968195ee0a,0,1,245c07a9-98b0-452b-b899-dc8751ab7ce0,245c07a9-98b0-452b-b899-dc8751ab7ce0,1,0,ae67dfe5-bb36-4400-81f5-8dab1fd0ca6e,ae67dfe5-bb36-4400-81f5-8dab1fd0ca6e,1,0,9cd9a3e1-b52c-4151-abd3-2744ed03cc1b,9cd9a3e1-b52c-4151-abd3-2744ed03cc1b,1,0,00579e31-e97d-4d79-ba25-b8d500a17e7f,00579e31-e97d-4d79-ba25-b8d500a17e7f,0,1,75ffd0b9-79be-4600-a310-591fddb6d63e,75ffd0b9-79be-4600-a310-591fddb6d63e,0,1,4883cb3d-4ab3-4e0e-bddb-ae8852547a3c,4883cb3d-4ab3-4e0e-bddb-ae8852547a3c,0,1,47da49ee-b243-4e78-9c8f-bb26c60e6136,47da49ee-b243-4e78-9c8f-bb26c60e6136,0,1,39bee714-cacd-4d48-97a5-c838660e049a,39bee714-cacd-4d48-97a5-c838660e049a,0,1,ea97b67e-1182-49c3-b95a-8fcce4cd3d09,ea97b67e-1182-49c3-b95a-8fcce4cd3d09,0,1,592f55e1-b004-44ef-878a-6c2016ccbeb0,592f55e1-b004-44ef-878a-6c2016ccbeb0,0,1,19add2bd-eede-4a05-901b-cf8ce49a638f,19add2bd-eede-4a05-901b-cf8ce49a638f,0,1,2baf6d7a-12ed-4f22-ad96-92bb31b747ff,2baf6d7a-12ed-4f22-ad96-92bb31b747ff,0,1,becf53b6-3fbc-4c70-822f-4a70b0434353,becf53b6-3fbc-4c70-822f-4a70b0434353,0,1,9376b18c-cffd-488b-8a1e-cca598f018bc,9376b18c-cffd-488b-8a1e-cca598f018bc,0,1,f8dc2485-685b-4e41-834a-a2cbbbe4d53b,f8dc2485-685b-4e41-834a-a2cbbbe4d53b,0,1,652ee894-047b-4a5a-a500-2d61b4c4a473,652ee894-047b-4a5a-a500-2d61b4c4a473,0,1,8a95d199-9bd1-4cbb-9d1a-941e80fa2105,8a95d199-9bd1-4cbb-9d1a-941e80fa2105,0,1,fef727fa-f63b-4467-9367-73a2425b19e3,fef727fa-f63b-4467-9367-73a2425b19e3,0,1,33f8cd94-71e7-4703-92c3-22690fbd871a,33f8cd94-71e7-4703-92c3-22690fbd871a,0,1,b6e5de4d-0156-4342-b646-6e6920a4bd3a,b6e5de4d-0156-4342-b646-6e6920a4bd3a,0,1,c03f9972-5a1f-449b-b170-5a958c2b5846,c03f9972-5a1f-449b-b170-5a958c2b5846,0,1,25896075-2484-4879-8310-7f5680d80b48,25896075-2484-4879-8310-7f5680d80b48,0,1,09858042-6284-4499-8055-c1b5b783ce5f,09858042-6284-4499-8055-c1b5b783ce5f,0,1,1e3c444d-6f73-4eb0-a12d-7106daf36b14,1e3c444d-6f73-4eb0-a12d-7106daf36b14,0,1,1e63c656-a0e7-4b33-8bac-2a196e028ffa,1e63c656-a0e7-4b33-8bac-2a196e028ffa,0,1,085cbea9-1df1-4ee9-afb7-da2bf313697e,085cbea9-1df1-4ee9-afb7-da2bf313697e,0,1,b3152292-5546-4896-ad24-cb41057698d8,b3152292-5546-4896-ad24-cb41057698d8,0,1,38fc1e6e-7cd3-437b-b429-6655be34cd01,38fc1e6e-7cd3-437b-b429-6655be34cd01,0,1,c38d8135-e11f-4860-b370-84ff279b7fbd,c38d8135-e11f-4860-b370-84ff279b7fbd,0,1,ee0798f5-47a8-4118-a25c-cfd3473007c1,ee0798f5-47a8-4118-a25c-cfd3473007c1,0,1,7dc0429d-146a-4c4f-b122-5d5c053bd4ed,7dc0429d-146a-4c4f-b122-5d5c053bd4ed,0,1,e25b2b10-bf08-42db-9642-861efc5e583b,e25b2b10-bf08-42db-9642-861efc5e583b,0,1,29f2094a-d0d1-425c-8161-45a9ba186e19,29f2094a-d0d1-425c-8161-45a9ba186e19,0,1,bfa90848-930f-433d-8f6f-c11ac2c5eba2,bfa90848-930f-433d-8f6f-c11ac2c5eba2,0,1,a4d767a1-d2e6-4e0a-ab35-9207eef54998,a4d767a1-d2e6-4e0a-ab35-9207eef54998,0,1,69149ce1-d3f8-4e12-be8f-b328ade60882,69149ce1-d3f8-4e12-be8f-b328ade60882,0,1,ff592ecb-eb08-4554-87bf-1d2935b21d3c,ff592ecb-eb08-4554-87bf-1d2935b21d3c,0,1,e50cb13a-151b-45d2-a7b7-d23440ddfa24,e50cb13a-151b-45d2-a7b7-d23440ddfa24,0,1,cc3a7f15-4db6-445e-b282-f44d0460b7d3,cc3a7f15-4db6-445e-b282-f44d0460b7d3,0,1,0b8bfb71-d430-4bdf-8391-a534b3a15fc3,0b8bfb71-d430-4bdf-8391-a534b3a15fc3,0,1,0d8770aa-fa6e-471c-92c8-b96576927ef0,0d8770aa-fa6e-471c-92c8-b96576927ef0,0,1,b8a32c33-4e15-4c21-baab-64a86d44321b,b8a32c33-4e15-4c21-baab-64a86d44321b,0,1,e7d51ada-f286-4519-bfae-ece95dd4d7b0,e7d51ada-f286-4519-bfae-ece95dd4d7b0,0,1,d7dd9a03-6818-4987-8f39-58e1c906569f,d7dd9a03-6818-4987-8f39-58e1c906569f,0,1,fce028b8-b530-49f0-b6ad-a28d03e19b0f,fce028b8-b530-49f0-b6ad-a28d03e19b0f,0,1,301eea20-0e7f-441e-a531-28b4627dfd93,301eea20-0e7f-441e-a531-28b4627dfd93,0,1,95a71c2e-aa39-42ec-8889-2390a553f146,95a71c2e-aa39-42ec-8889-2390a553f146,0,1,d975aef4-8da8-4486-baeb-a99c48cff0ec,d975aef4-8da8-4486-baeb-a99c48cff0ec,0,1,75666bb9-f6d3-4dd6-8220-427a81f23fc9,75666bb9-f6d3-4dd6-8220-427a81f23fc9,0,1,9da27139-0bed-47b0-aef6-246929968502,9da27139-0bed-47b0-aef6-246929968502,0,1,68e82adf-bc03-4f23-9ec4-749ed42241da,68e82adf-bc03-4f23-9ec4-749ed42241da,0,1,7ae5d177-a3e6-4989-b10c-8e0a605c26d9,7ae5d177-a3e6-4989-b10c-8e0a605c26d9,0,1,41f87891-ddd5-4e0f-a4f2-8039fb71981b,41f87891-ddd5-4e0f-a4f2-8039fb71981b,0,1,a57f6dc1-59d7-4311-8acd-65ce57a9f386,a57f6dc1-59d7-4311-8acd-65ce57a9f386,0,1,893b2dd9-a939-4799-9b78-50d788a5f3ba,893b2dd9-a939-4799-9b78-50d788a5f3ba,0,1,68229ecd-7ecc-4194-a3e5-f8df39b55d6a,68229ecd-7ecc-4194-a3e5-f8df39b55d6a,0,1,e4842271-4fc0-4e15-afef-876f05af78c0,e4842271-4fc0-4e15-afef-876f05af78c0,0,1,135d57fe-d420-4bb0-9120-e43fd9b55c16,135d57fe-d420-4bb0-9120-e43fd9b55c16,0,1,31ee6430-b65d-42fa-859b-c4f1c40686ae,31ee6430-b65d-42fa-859b-c4f1c40686ae,0,1,c59e11f3-6bcb-404a-9d76-1416c12be354,c59e11f3-6bcb-404a-9d76-1416c12be354,0,1,c1a1f12b-3978-4047-956e-a5c7de8371a0,c1a1f12b-3978-4047-956e-a5c7de8371a0,0,1,ac39b903-0c60-417e-a50f-49ed375424f5,ac39b903-0c60-417e-a50f-49ed375424f5,0,1,9893e2d6-f3f8-4d73-bb06-19bf26d216ab,9893e2d6-f3f8-4d73-bb06-19bf26d216ab,0,1,387d3bbf-cddd-4506-b14f-89c1f37adbbc,387d3bbf-cddd-4506-b14f-89c1f37adbbc,0,1,16392cf6-dd83-4df0-a54b-6efc29778a89,16392cf6-dd83-4df0-a54b-6efc29778a89,0,1,64f667e5-6a8f-448f-aed5-a4d461232845,64f667e5-6a8f-448f-aed5-a4d461232845,0,1,a148cdff-0e67-48e6-9cc5-e8a6f5aa1ae8,a148cdff-0e67-48e6-9cc5-e8a6f5aa1ae8,0,1,037842ca-aeaf-4e27-9a0e-e929438b6f40,037842ca-aeaf-4e27-9a0e-e929438b6f40,0,1,a4ec7d3d-2d01-436c-98ec-ec42733ee5c6,a4ec7d3d-2d01-436c-98ec-ec42733ee5c6,0,1,230722e6-942f-4594-be89-eff59c6572bf,230722e6-942f-4594-be89-eff59c6572bf,0,1,b43abcf7-1f1d-4a59-b0d1-0a493c3a4785,b43abcf7-1f1d-4a59-b0d1-0a493c3a4785,0,1,eaf6045f-9ac0-43ef-b165-a45be75a4d44,eaf6045f-9ac0-43ef-b165-a45be75a4d44,0,1,237dab99-ed72-432c-ad01-c6045d74f000,237dab99-ed72-432c-ad01-c6045d74f000,0,1,59855d19-29cd-4efd-a453-b19e574113ef,59855d19-29cd-4efd-a453-b19e574113ef,0,1,a1130128-cc48-4555-93a2-99e7f74f77dc,a1130128-cc48-4555-93a2-99e7f74f77dc,0,1,94e08dcf-3885-4a73-82ab-cb291f1cf95f,94e08dcf-3885-4a73-82ab-cb291f1cf95f,0,1,405c52c4-25fe-45ff-abab-bf01041e768d,405c52c4-25fe-45ff-abab-bf01041e768d,0,1,55ce840b-5838-4107-886d-f935b9907bd8,55ce840b-5838-4107-886d-f935b9907bd8,0,1,0b3088c9-7fb9-4979-acce-16d7ae7ba6b7,0b3088c9-7fb9-4979-acce-16d7ae7ba6b7,0,1,f1753bda-16db-4b00-a16a-37ddade8403f,f1753bda-16db-4b00-a16a-37ddade8403f,0,1,a1875d63-4303-46f1-bdea-fc529b5891f3,a1875d63-4303-46f1-bdea-fc529b5891f3,0,1,59123b12-6052-4480-9c86-f4de1b5cdc04,59123b12-6052-4480-9c86-f4de1b5cdc04,0,1,133f181a-fade-4182-826d-904fac780326,133f181a-fade-4182-826d-904fac780326,0,1,a687748a-0b2a-4277-b935-07616d28430d,a687748a-0b2a-4277-b935-07616d28430d,0,1,f60cb71a-f451-426a-aa3a-aa266b8da149,f60cb71a-f451-426a-aa3a-aa266b8da149,0,1,641ebe22-7135-4adb-bbd6-e0c37d246a2d,641ebe22-7135-4adb-bbd6-e0c37d246a2d,0,1,f71ba01e-9f6b-4241-8048-4368c8888756,f71ba01e-9f6b-4241-8048-4368c8888756,0,1,ab6fdd75-2ea6-4408-8c03-0cfab775a7a0,ab6fdd75-2ea6-4408-8c03-0cfab775a7a0,0,1,6010c27f-e857-4fc3-be13-1eea51f02ea7,6010c27f-e857-4fc3-be13-1eea51f02ea7,0,1,6aa814fa-417e-428c-951e-6efd9d0775da,6aa814fa-417e-428c-951e-6efd9d0775da,0,1,a247efe1-8608-4780-9cc8-54e29944475b,a247efe1-8608-4780-9cc8-54e29944475b,0,1,4b8c3c82-6e8f-469e-8a80-144361d1d0b2,4b8c3c82-6e8f-469e-8a80-144361d1d0b2,0,1,a8f162e9-3f59-41a5-b82f-da20928213c7,a8f162e9-3f59-41a5-b82f-da20928213c7,0,1,ade68dfd-5037-4fd7-b043-9514e3fe6342,ade68dfd-5037-4fd7-b043-9514e3fe6342,0,1,7b008aad-9d05-43e1-8295-62ae58cfff42,7b008aad-9d05-43e1-8295-62ae58cfff42,0,1,fdaf9255-d621-4a98-9530-f618ed440795,fdaf9255-d621-4a98-9530-f618ed440795,0,1,0daac965-2026-4acc-8ba1-3c1f01779257,0daac965-2026-4acc-8ba1-3c1f01779257,0,1,65a331c0-7501-49f6-8027-35b703d11834,65a331c0-7501-49f6-8027-35b703d11834,0,1,c67fab0a-704f-43ae-bd03-4b5b1a880b24,c67fab0a-704f-43ae-bd03-4b5b1a880b24,0,1,c1703a14-61a0-4461-8ad8-7173e2c431fe,c1703a14-61a0-4461-8ad8-7173e2c431fe,0,1,b1b5841d-0cf9-4de5-8561-b35b8f286d21,b1b5841d-0cf9-4de5-8561-b35b8f286d21,0,1,aecf5653-3005-43f2-ab49-40977e70f02b,aecf5653-3005-43f2-ab49-40977e70f02b,0,1,4093fe34-7557-4f15-831b-d654b94b8010,4093fe34-7557-4f15-831b-d654b94b8010,0,1,ee10023f-5c63-4cb3-8e6c-db566c788c9d,ee10023f-5c63-4cb3-8e6c-db566c788c9d,0,1,475f8577-a141-496b-94e1-53215c0dd017,475f8577-a141-496b-94e1-53215c0dd017,0,1,97638762-c01e-4c8f-88e2-b356e517e18f,97638762-c01e-4c8f-88e2-b356e517e18f,0,1,074e34f2-e9be-4bd3-beca-8b916772e2be,074e34f2-e9be-4bd3-beca-8b916772e2be,0,1,28fecf1b-7cab-4087-b66e-2052edb8ce3a,28fecf1b-7cab-4087-b66e-2052edb8ce3a,0,1,d85b00b7-b0d8-4b91-8d7f-0c2da524d446,d85b00b7-b0d8-4b91-8d7f-0c2da524d446,0,1,cc906f05-5ea6-43cb-a084-c4ee51ca4bd5,cc906f05-5ea6-43cb-a084-c4ee51ca4bd5,0,1,f5417147-4d2a-4e49-911b-2bb5eccb8441,f5417147-4d2a-4e49-911b-2bb5eccb8441,0,1,20fbed2b-4393-4de0-a71d-017a336bdac0,20fbed2b-4393-4de0-a71d-017a336bdac0,0,1,2ca4fc58-798b-4fc3-8673-27688ce7a1f2,2ca4fc58-798b-4fc3-8673-27688ce7a1f2,0,1,fbbb2449-9a07-4229-8ea5-bee0afab5f56,fbbb2449-9a07-4229-8ea5-bee0afab5f56,0,1,9fdddb51-0605-4f64-8d2e-aa7dbcd37262,9fdddb51-0605-4f64-8d2e-aa7dbcd37262,0,1,0d124daf-dc52-4391-a2d9-3c43a45c422c,0d124daf-dc52-4391-a2d9-3c43a45c422c,0,1,a300ecc3-8031-4a50-a17d-b08cf3a72139,a300ecc3-8031-4a50-a17d-b08cf3a72139,0,1,44b28019-01c0-468d-9b60-e050ff8b71ac,44b28019-01c0-468d-9b60-e050ff8b71ac,0,1,69f6173c-a570-41ff-b07f-5b85f7187515,69f6173c-a570-41ff-b07f-5b85f7187515,0,1,9c443dd3-4acb-4c5a-9c4b-af8b0c87e861,9c443dd3-4acb-4c5a-9c4b-af8b0c87e861,0,1,98153b59-8cc6-4dc7-b945-99c1146d07da,98153b59-8cc6-4dc7-b945-99c1146d07da,0,1,3e2828b4-2b55-471e-ac69-55119c2480f8,3e2828b4-2b55-471e-ac69-55119c2480f8,0,1,df9db8d5-c5c2-4a9d-88fe-77247b2c417e,df9db8d5-c5c2-4a9d-88fe-77247b2c417e,0,1,9da32b56-ff89-4739-bb99-615074b72298,9da32b56-ff89-4739-bb99-615074b72298,0,1,08baf3ee-b8ca-4f29-89fc-c15344064ad3,08baf3ee-b8ca-4f29-89fc-c15344064ad3,0,1,2c8ab5a6-66d5-4b6f-94ae-4292724ded7f,2c8ab5a6-66d5-4b6f-94ae-4292724ded7f,0,1,01b85e3a-9920-425a-9de5-5079fffeef93,01b85e3a-9920-425a-9de5-5079fffeef93,0,1,82e12316-cc64-4d2f-83fa-054b5a738f02,82e12316-cc64-4d2f-83fa-054b5a738f02,0,1,6b70f7e1-8bdb-4fc4-9b95-0e045bfa288c,6b70f7e1-8bdb-4fc4-9b95-0e045bfa288c,0,1,a890be6b-f050-4ea4-a388-570948ffd22b,a890be6b-f050-4ea4-a388-570948ffd22b,0,1,b00c31d6-4fc6-4189-9f72-f91742ec705f,b00c31d6-4fc6-4189-9f72-f91742ec705f,0,1,1333101b-82e8-41a9-a793-5af5dcd6f68a,1333101b-82e8-41a9-a793-5af5dcd6f68a,0,1,3ba630c2-cdc1-40a8-a24e-538ddb1abe38,3ba630c2-cdc1-40a8-a24e-538ddb1abe38,0,1,0f25646a-90f9-4747-a778-7efdaabc284c,0f25646a-90f9-4747-a778-7efdaabc284c,0,1,3a2d9324-8260-478d-ad62-a964d860cb8f,3a2d9324-8260-478d-ad62-a964d860cb8f,0,1,9b9cd161-5bee-4433-a0ec-b67deb099b5e,9b9cd161-5bee-4433-a0ec-b67deb099b5e,0,1,ca179cb5-65e1-4a55-bf12-096b926accb0,ca179cb5-65e1-4a55-bf12-096b926accb0,0,1,472ce1c2-9e83-418b-b1ec-e15e126bc919,472ce1c2-9e83-418b-b1ec-e15e126bc919,0,1,9fe30414-8261-4403-a854-f22b61824f69,9fe30414-8261-4403-a854-f22b61824f69,0,1,07bb26ac-bd97-465f-a192-db7fedbb579b,07bb26ac-bd97-465f-a192-db7fedbb579b,0,1,bb129cf2-5a5a-433a-924a-a1d0d895644a,bb129cf2-5a5a-433a-924a-a1d0d895644a,0,1,faa34cb8-2d48-4851-a839-fc40536a0234,faa34cb8-2d48-4851-a839-fc40536a0234,0,1,0894db61-51f6-4068-9634-e55d95e2a8ac,0894db61-51f6-4068-9634-e55d95e2a8ac,0,1,ad3fb691-68b2-4d65-93ab-ab8fcb77e035,ad3fb691-68b2-4d65-93ab-ab8fcb77e035,0,1,67aed41e-9707-4007-bb3c-7273476664bb,67aed41e-9707-4007-bb3c-7273476664bb,0,1,954e7804-e8b1-42aa-9d49-bef73f9d13d1,954e7804-e8b1-42aa-9d49-bef73f9d13d1,0,1,de25a90c-4b46-4340-b649-93e16dde33de,de25a90c-4b46-4340-b649-93e16dde33de,0,1,4f2d0398-49f4-410c-a451-436cbf96a262,4f2d0398-49f4-410c-a451-436cbf96a262,0,1,ed297409-6215-4fd4-b47d-a2247e0343da,ed297409-6215-4fd4-b47d-a2247e0343da,0,1,5ae2a1de-6380-45cc-9c8f-5612cd5ba627,5ae2a1de-6380-45cc-9c8f-5612cd5ba627,0,1,e8aa2ba2-7dfa-47e3-bc18-6156f700ceed,e8aa2ba2-7dfa-47e3-bc18-6156f700ceed,0,1,8c472f51-47ec-43c4-9858-fd19ac3e17f3,8c472f51-47ec-43c4-9858-fd19ac3e17f3,0,1,e7d0cc1f-f3ee-486e-b1f3-db8e6a6162cc,e7d0cc1f-f3ee-486e-b1f3-db8e6a6162cc,0,1,c54f31ce-114b-46d3-b4c6-12c8f07727ca,c54f31ce-114b-46d3-b4c6-12c8f07727ca,0,1,5a9c82c1-d0cd-48ff-b91c-38b950591e4c,5a9c82c1-d0cd-48ff-b91c-38b950591e4c,0,1,b2c8bd74-21c9-4495-93e2-ca5355698350,b2c8bd74-21c9-4495-93e2-ca5355698350,0,1,249b6436-bd44-4950-b118-7f40f7aaf794,249b6436-bd44-4950-b118-7f40f7aaf794,0,1,712c2b73-4697-4581-a095-70555aee8be2,712c2b73-4697-4581-a095-70555aee8be2,0,1,c1508d67-ac6d-41e3-884d-b3bdd54659f8,c1508d67-ac6d-41e3-884d-b3bdd54659f8,0,1,3436b16e-ef5b-4abb-9aad-c70a7c8560ed,3436b16e-ef5b-4abb-9aad-c70a7c8560ed,0,1,ce6d1259-af90-482b-b19a-405512321bd9,ce6d1259-af90-482b-b19a-405512321bd9,0,1,df48bfa3-5502-4a61-a79f-1dea043dac36,df48bfa3-5502-4a61-a79f-1dea043dac36,0,1,adee37e6-f087-422f-91b3-681f3d73189c,adee37e6-f087-422f-91b3-681f3d73189c,0,1,35103a27-230c-45c0-a8c9-24bd46608bbb,35103a27-230c-45c0-a8c9-24bd46608bbb,0,1,c5e9f987-4466-4161-8e36-278b0b3ce056,c5e9f987-4466-4161-8e36-278b0b3ce056,0,1,b6566d54-e821-4a2a-a447-0f533f35de91,b6566d54-e821-4a2a-a447-0f533f35de91,0,1,46568b9a-a765-4037-8a86-b184a570ab37,46568b9a-a765-4037-8a86-b184a570ab37,0,1,4fcc7278-2fec-49ee-b0ef-c7d5f5f698a4,4fcc7278-2fec-49ee-b0ef-c7d5f5f698a4,0,1,547a6dec-6fe8-439d-a8d9-ac2612af20d2,547a6dec-6fe8-439d-a8d9-ac2612af20d2,0,1,2bc2c4b7-dacb-4cb3-b5b2-712b19bebcd7,2bc2c4b7-dacb-4cb3-b5b2-712b19bebcd7,0,1,84395058-d46a-428c-b782-a9fa89fea14a,84395058-d46a-428c-b782-a9fa89fea14a,0,1,39bc2bc6-2a4f-4e26-b1b9-fb8473234f09,39bc2bc6-2a4f-4e26-b1b9-fb8473234f09,0,1,5b7eb8bc-ad6b-4191-a6c1-92561bb944f2,5b7eb8bc-ad6b-4191-a6c1-92561bb944f2,0,1,cc9679a5-1ed2-4290-8c9b-8a2f6614d053,cc9679a5-1ed2-4290-8c9b-8a2f6614d053,0,1,93016393-c637-4d81-8675-aa5e51e678e0,93016393-c637-4d81-8675-aa5e51e678e0,0,1,d8621f68-106e-4058-963f-56010491ae2e,d8621f68-106e-4058-963f-56010491ae2e,0,1,1f3057c2-135f-44b2-9f86-34481fbc5596,1f3057c2-135f-44b2-9f86-34481fbc5596,0,1,f8f0d92c-b7f0-496c-8d33-f8a57dfa16f2,f8f0d92c-b7f0-496c-8d33-f8a57dfa16f2,0,1,f2e2df50-52fc-4e95-909b-80fc91a68f62,f2e2df50-52fc-4e95-909b-80fc91a68f62,0,1,1a1d8dd0-1559-426c-ad3c-baa6eb3a53db,1a1d8dd0-1559-426c-ad3c-baa6eb3a53db,0,1,d2762764-b5c0-4aeb-8e89-3371972f22d8,d2762764-b5c0-4aeb-8e89-3371972f22d8,0,1,1fca06d9-b015-4fc8-abdd-3e2397e0c307,1fca06d9-b015-4fc8-abdd-3e2397e0c307,0,1,573f1753-9194-4aaf-9217-5cac70ff108f,573f1753-9194-4aaf-9217-5cac70ff108f,0,1,1f7ec25a-05b1-468b-8857-2bb1aed3678a,1f7ec25a-05b1-468b-8857-2bb1aed3678a,0,1,c121b8bc-ecbf-4775-b210-3c1e3502a6ac,c121b8bc-ecbf-4775-b210-3c1e3502a6ac,0,1,4a1e6d25-89e7-468a-aef1-6ded0154dca2,4a1e6d25-89e7-468a-aef1-6ded0154dca2,0,1,905624ea-b253-413f-b651-1eb2c5a7d52a,905624ea-b253-413f-b651-1eb2c5a7d52a,0,1,b639ed30-3e37-4c65-a39f-00fe735950eb,b639ed30-3e37-4c65-a39f-00fe735950eb,0,1,76ef7f67-0ce8-4ee2-9134-e793c41b8de3,76ef7f67-0ce8-4ee2-9134-e793c41b8de3,0,1,f137eb0f-bde7-412d-9229-d7a4f9456e6c,f137eb0f-bde7-412d-9229-d7a4f9456e6c,0,1,90880131-8065-4a7e-a0fa-ecff9e27363c,90880131-8065-4a7e-a0fa-ecff9e27363c,0,1,57e9fcea-342c-4089-bd10-befb3faf0dbd,57e9fcea-342c-4089-bd10-befb3faf0dbd,0,1,7b01236c-5ab7-43fa-aa0e-1ae55c8a4efe,7b01236c-5ab7-43fa-aa0e-1ae55c8a4efe,0,1,6b10167a-f5c3-4d7b-b444-d5ff6e705ea4,6b10167a-f5c3-4d7b-b444-d5ff6e705ea4,0,1,f85ff11a-163e-4d18-98bc-b0ebe83d34e4,f85ff11a-163e-4d18-98bc-b0ebe83d34e4,0,1,51a0444d-13c8-45a8-97f6-f3f976964bf8,51a0444d-13c8-45a8-97f6-f3f976964bf8,0,1,7e2ba519-fbb9-4163-b20b-b99898e6ac57,7e2ba519-fbb9-4163-b20b-b99898e6ac57,0,1,38eb3fd1-57be-4dc2-bed4-d8107086bf2a,38eb3fd1-57be-4dc2-bed4-d8107086bf2a,0,1,6b6d541b-5dc1-4150-b8d1-5844a694ac6a,6b6d541b-5dc1-4150-b8d1-5844a694ac6a,0,1,2b1619a6-c841-4963-8c51-c1d8d6ba3746,2b1619a6-c841-4963-8c51-c1d8d6ba3746,0,1,eab50f82-4612-47fd-a5c2-9678016a1937,eab50f82-4612-47fd-a5c2-9678016a1937,0,1,4212bb94-7c24-4d4f-8bb8-4060bd21a135,4212bb94-7c24-4d4f-8bb8-4060bd21a135,0,1,2609ba3c-e4de-45b3-86e0-93db39a21eee,2609ba3c-e4de-45b3-86e0-93db39a21eee,0,1,00dcfeab-7ba1-4a50-996e-4fd693dd0514,00dcfeab-7ba1-4a50-996e-4fd693dd0514,0,1,d21971c9-9aa6-448a-ab37-49ad0b0547ec,d21971c9-9aa6-448a-ab37-49ad0b0547ec,0,1,627438b8-c738-4e02-a0e7-cfd7fbf8eca1,627438b8-c738-4e02-a0e7-cfd7fbf8eca1,0,1,00418e6c-77b2-4753-b9ff-3a8013436f8a,00418e6c-77b2-4753-b9ff-3a8013436f8a,0,1,e2c76c41-4c47-4588-a081-7bd81ac1698b,e2c76c41-4c47-4588-a081-7bd81ac1698b,0,1,8deaa3d0-b36b-4f20-a9a8-11d829f5ef9d,8deaa3d0-b36b-4f20-a9a8-11d829f5ef9d,0,1,d5537afb-df5f-4edf-a3d3-ff6b2a908ad9,d5537afb-df5f-4edf-a3d3-ff6b2a908ad9,0,1,d9f1f56b-75c8-43e9-8043-89076c225f78,d9f1f56b-75c8-43e9-8043-89076c225f78,0,1,a3c9a7eb-2104-4402-954c-3e12de4a7de3,a3c9a7eb-2104-4402-954c-3e12de4a7de3,0,1,38bf6d3b-5435-4bac-b9fc-23b80afeb760,38bf6d3b-5435-4bac-b9fc-23b80afeb760,0,1,6c34eef9-9405-4de0-9177-1bae85251ae4,6c34eef9-9405-4de0-9177-1bae85251ae4,0,1,556a0e57-5b3b-4303-a013-0bd296c506b8,556a0e57-5b3b-4303-a013-0bd296c506b8,0,1,fabbac92-cb98-4087-b3fa-387482ed0d86,fabbac92-cb98-4087-b3fa-387482ed0d86,0,1,bbbc2d1f-2f78-4b7e-b5fb-ca7c74051221,bbbc2d1f-2f78-4b7e-b5fb-ca7c74051221,0,1,e09534e3-ac6e-42a6-86e8-564acb20089a,e09534e3-ac6e-42a6-86e8-564acb20089a,0,1,5e380276-2a08-435c-927e-a7f56f5a4dbc,5e380276-2a08-435c-927e-a7f56f5a4dbc,0,1,d06e845a-9f54-40dd-b0df-6988def62017,d06e845a-9f54-40dd-b0df-6988def62017,0,1,7badb97b-c359-42af-9066-6bbfc0650cf9,7badb97b-c359-42af-9066-6bbfc0650cf9,0,1,63223883-06cf-4d01-be95-5e410cc58a22,63223883-06cf-4d01-be95-5e410cc58a22,0,1,1929139f-dabb-4c40-9423-158093360889,1929139f-dabb-4c40-9423-158093360889,0,1,dad92df4-685b-4260-b35f-4d031262dfea,dad92df4-685b-4260-b35f-4d031262dfea,0,1,4399c19a-ddba-42e9-88b4-c5c28abad237,4399c19a-ddba-42e9-88b4-c5c28abad237,0,1,304525f8-c697-4835-b0a6-4ed3cbcaf3c6,304525f8-c697-4835-b0a6-4ed3cbcaf3c6,0,1,7e089889-cf8d-4f5f-879c-0a1bcca1c19b,7e089889-cf8d-4f5f-879c-0a1bcca1c19b,0,1,982315ba-df74-4a31-8929-71d1e5e6f147,982315ba-df74-4a31-8929-71d1e5e6f147,0,1,8d1c01a9-9806-4e5d-bafb-ce6af11d5650,8d1c01a9-9806-4e5d-bafb-ce6af11d5650,0,1,fd3a6a7e-203d-447a-aebd-7626579387fb,fd3a6a7e-203d-447a-aebd-7626579387fb,0,1,2cd04d4c-2619-40c9-adf4-7bb281f045b6,2cd04d4c-2619-40c9-adf4-7bb281f045b6,0,1,cbc1c36d-7bbf-4892-8220-a33ec91a7b1f,cbc1c36d-7bbf-4892-8220-a33ec91a7b1f,0,1,ff976027-75e8-475c-abfa-876d36733c13,ff976027-75e8-475c-abfa-876d36733c13,0,1,7452d9c0-cb03-4d1b-afd4-8855950f2ad8,7452d9c0-cb03-4d1b-afd4-8855950f2ad8,0,1,32d4a42d-6e4d-49db-b5bc-1ea6dbe9fe4d,32d4a42d-6e4d-49db-b5bc-1ea6dbe9fe4d,0,1,3f823f5b-e5a8-40af-8fc3-e4c6ffb18fa3,3f823f5b-e5a8-40af-8fc3-e4c6ffb18fa3,0,1,b3554203-b930-496d-a712-353bc13a0946,b3554203-b930-496d-a712-353bc13a0946,0,1,59775ce0-f778-45f6-9453-bbd0a0ec1f27,59775ce0-f778-45f6-9453-bbd0a0ec1f27,0,1,f772abd3-8ea0-41e9-aaca-c5375778941a,f772abd3-8ea0-41e9-aaca-c5375778941a,0,1,a1e494f8-96a4-41bd-9234-b87e8d8742c5,a1e494f8-96a4-41bd-9234-b87e8d8742c5,0,1,b322b047-16eb-4500-826a-6dfebb7d997a,b322b047-16eb-4500-826a-6dfebb7d997a,0,1,f08afb10-3467-4af8-804c-ba7761f1dac9,f08afb10-3467-4af8-804c-ba7761f1dac9,0,1,c8da922f-e31e-49b0-b90e-1c060424bde5,c8da922f-e31e-49b0-b90e-1c060424bde5,0,1,41462827-fd8b-4ee6-a739-a884d704bba5,41462827-fd8b-4ee6-a739-a884d704bba5,0,1,eca025d2-4fe9-4542-b9f5-46ae2631256e,eca025d2-4fe9-4542-b9f5-46ae2631256e,0,1,35bc58df-8aff-48dd-83a9-b60b0461f94d,35bc58df-8aff-48dd-83a9-b60b0461f94d,0,1,0f46ae6b-9fe8-471a-a59f-af5e66cb9e00,0f46ae6b-9fe8-471a-a59f-af5e66cb9e00,0,1,b65afceb-a200-42d5-9948-831a5ad84b1b,b65afceb-a200-42d5-9948-831a5ad84b1b,0,1,feb1a5c1-c805-4079-8f05-8a44f51b0b02,feb1a5c1-c805-4079-8f05-8a44f51b0b02,0,1,ff7916bd-cbd1-4d9e-8aab-bad9fffaa0d4,ff7916bd-cbd1-4d9e-8aab-bad9fffaa0d4,0,1,1f55f330-7c0a-4a29-905f-51d664515bc5,1f55f330-7c0a-4a29-905f-51d664515bc5,0,1,6106e958-354c-4211-992c-3c3819e8828e,6106e958-354c-4211-992c-3c3819e8828e,0,1,9d6d77a9-1f55-4162-93a5-14bb3f3febaf,9d6d77a9-1f55-4162-93a5-14bb3f3febaf,0,1,1d6b8425-360c-4ab1-9bab-cc9a3b590bb2,1d6b8425-360c-4ab1-9bab-cc9a3b590bb2,0,1,9f67d228-79aa-44e6-8dc7-fae4fbdfef2a,9f67d228-79aa-44e6-8dc7-fae4fbdfef2a,0,1,231d3950-f363-4e63-83cd-8ddb81507c27,231d3950-f363-4e63-83cd-8ddb81507c27,0,1,87429f11-bf95-4013-bf13-da904570f88d,87429f11-bf95-4013-bf13-da904570f88d,0,1,6173cab2-e0f5-40c1-8e74-4f41fc8bd68f,6173cab2-e0f5-40c1-8e74-4f41fc8bd68f,0,1,feb41347-62db-41cf-ace0-d8b9de361af3,feb41347-62db-41cf-ace0-d8b9de361af3,0,1,5a088468-4065-4e0c-9b84-1162de8d3fdd,5a088468-4065-4e0c-9b84-1162de8d3fdd,0,1,dbdf3ae7-a0af-44b9-8e3d-c402d98cda03,dbdf3ae7-a0af-44b9-8e3d-c402d98cda03,0,1,cdce186a-229d-492d-8811-147fc4d7cdf5,cdce186a-229d-492d-8811-147fc4d7cdf5,0,1,5f91b00f-d8fc-4d63-8486-66339357ab22,5f91b00f-d8fc-4d63-8486-66339357ab22,0,1,16d44ab1-4bce-4df8-a215-6ed5173c75a8,16d44ab1-4bce-4df8-a215-6ed5173c75a8,0,1,543f976e-fea3-4a51-9962-b8e0fcd3f707,543f976e-fea3-4a51-9962-b8e0fcd3f707,0,1,375977c1-5745-4e78-a4df-cef966c0ccf8,375977c1-5745-4e78-a4df-cef966c0ccf8,0,1,2582a714-a6d6-4d37-b9a7-5e89e18b0f27,2582a714-a6d6-4d37-b9a7-5e89e18b0f27,0,1,c3796d85-2a24-43c4-9673-64e56249a1d0,c3796d85-2a24-43c4-9673-64e56249a1d0,0,1,fc1066b5-20d4-4c73-85f8-9889e554d6e1,fc1066b5-20d4-4c73-85f8-9889e554d6e1,0,1,a9b6b5fd-1862-4207-87e8-5c25a8f86c57,a9b6b5fd-1862-4207-87e8-5c25a8f86c57,0,1,731211c2-ef90-4883-9525-83cd91b742ac,731211c2-ef90-4883-9525-83cd91b742ac,0,1,0adf02da-940a-4bfc-afa5-59605494a169,0adf02da-940a-4bfc-afa5-59605494a169,0,1,50a1e3bf-8624-4474-854e-21b89aaf97ed,50a1e3bf-8624-4474-854e-21b89aaf97ed,0,1,6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61,6c7b82ca-37b0-4f67-b7fa-ab1b77c0fb61,0,1,24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892,24f9d1a6-73d0-4cc7-b3ca-d36c5c7a9892,0,1,847b97a3-d0bc-45e2-b06c-932bb22d8eca,847b97a3-d0bc-45e2-b06c-932bb22d8eca,0,1,503b3eab-b7f1-4ede-8845-3290a834cec7,503b3eab-b7f1-4ede-8845-3290a834cec7,0,1,8361991a-0f30-4a03-9a4c-90556b744f53,8361991a-0f30-4a03-9a4c-90556b744f53,0,1,3116fa60-bc42-4dea-aa03-387896168690,3116fa60-bc42-4dea-aa03-387896168690,0,1,5a3cc2a8-f519-45ac-af9b-c57a4f1acdc0,5a3cc2a8-f519-45ac-af9b-c57a4f1acdc0,0,1,08427a9a-fb3a-4bc1-b2e2-72e4f89680cd,08427a9a-fb3a-4bc1-b2e2-72e4f89680cd,0,1,f9196766-4ae2-4a73-bed6-4a8838323e02,f9196766-4ae2-4a73-bed6-4a8838323e02,0,1,ca797560-8802-4bdc-b21f-7a7fd795beae,ca797560-8802-4bdc-b21f-7a7fd795beae,0,1,56242b05-d722-4d4a-82d9-517e0e169d0b,56242b05-d722-4d4a-82d9-517e0e169d0b,0,1,5504f5d1-35d8-4a47-a0e1-003fe00395c1,5504f5d1-35d8-4a47-a0e1-003fe00395c1,0,1,4eeda6df-fb48-4c88-853f-9c35e2b3a3cf,4eeda6df-fb48-4c88-853f-9c35e2b3a3cf,0,1,06afe397-1c7e-400e-bb24-f8e611d114e8,06afe397-1c7e-400e-bb24-f8e611d114e8,0,1,f0105e51-9510-426a-8aa0-af827d93ffd9,f0105e51-9510-426a-8aa0-af827d93ffd9,0,1,3df19dbf-efe7-4e31-99ad-fafb59ec1329,3df19dbf-efe7-4e31-99ad-fafb59ec1329,0,1,baf12d47-fbfe-4563-aa23-26d9f7e83169,baf12d47-fbfe-4563-aa23-26d9f7e83169,0,1,e2046f49-6fea-4bf4-92b0-92f3c8357bcf,e2046f49-6fea-4bf4-92b0-92f3c8357bcf,0,1,0ba11486-1972-4434-ab1a-5bb75cc05e9f,0ba11486-1972-4434-ab1a-5bb75cc05e9f,0,1,4ed9c555-7dd0-4577-bf62-152b4c5ec9f2,4ed9c555-7dd0-4577-bf62-152b4c5ec9f2,0,1,11fe3a42-98c4-49ba-b697-86ffb172f16f,11fe3a42-98c4-49ba-b697-86ffb172f16f,0,1,07b53818-7318-4400-8af5-457fac012755,07b53818-7318-4400-8af5-457fac012755,0,1,292b47e7-5cf3-462d-a466-dac6253a7f03,292b47e7-5cf3-462d-a466-dac6253a7f03,0,1,8ecc070f-f6fb-46b1-9636-b77aa80f8804,8ecc070f-f6fb-46b1-9636-b77aa80f8804,0,1,8405be9d-465b-4744-b04f-03933b52f02e,8405be9d-465b-4744-b04f-03933b52f02e,0,1,a8021ff9-f0ae-49ab-b8ac-5e3d8fe90d82,a8021ff9-f0ae-49ab-b8ac-5e3d8fe90d82,0,1,f09b09ce-9e3c-406a-8508-b6e7e6ec966e,f09b09ce-9e3c-406a-8508-b6e7e6ec966e,0,1,9bf55587-1ffe-42bc-b8e8-3f956956f689,9bf55587-1ffe-42bc-b8e8-3f956956f689,0,1,2f67931e-543f-457e-80fd-78ca754e2e9c,2f67931e-543f-457e-80fd-78ca754e2e9c,0,1,595e5752-36a7-4bba-8a40-26920acae01d,595e5752-36a7-4bba-8a40-26920acae01d,0,1,ed5f4a2a-7dfc-4ebf-8656-020597eb24d9,ed5f4a2a-7dfc-4ebf-8656-020597eb24d9,0,1,28801fba-c429-4afa-bdcd-b3ec3ec22fda,28801fba-c429-4afa-bdcd-b3ec3ec22fda,0,1,d1a873ae-d45b-4600-9419-e701dce3da02,d1a873ae-d45b-4600-9419-e701dce3da02,0,1,e3a31f0d-a98f-43c6-bc39-087095ae8c39,e3a31f0d-a98f-43c6-bc39-087095ae8c39,0,1,e39d8ff3-52db-4ba4-b4ea-42d5ee787076,e39d8ff3-52db-4ba4-b4ea-42d5ee787076,0,1,b1c1c2eb-f9cd-468a-8398-b0b7f611f832,b1c1c2eb-f9cd-468a-8398-b0b7f611f832,0,1,eb3dfdc7-58b8-4b1f-b079-368c262364c9,eb3dfdc7-58b8-4b1f-b079-368c262364c9,0,1,5030a318-f8f7-4ec7-80d6-6eee0772562f,5030a318-f8f7-4ec7-80d6-6eee0772562f,0,1,242e911d-e49c-4b8a-8543-cc2e079220fd,242e911d-e49c-4b8a-8543-cc2e079220fd,0,1,9ea39d31-3775-4fb8-a3f3-202e54354d49,9ea39d31-3775-4fb8-a3f3-202e54354d49,0,1,73044e20-148c-46e9-b5b5-973c91de0d61,73044e20-148c-46e9-b5b5-973c91de0d61,0,1,f8ab477c-8e78-48c0-9f99-27748b109706,f8ab477c-8e78-48c0-9f99-27748b109706,0,1,24cff6c8-6c20-4383-b97c-6afa52738960,24cff6c8-6c20-4383-b97c-6afa52738960,0,1,462e2694-750d-49ef-93ac-17a7779be68d,462e2694-750d-49ef-93ac-17a7779be68d,0,1,c24ff02e-5afc-45df-81cf-64ea2b261c2d,c24ff02e-5afc-45df-81cf-64ea2b261c2d,0,1,2d51aae9-650d-4719-a94d-2609b69a2d36,2d51aae9-650d-4719-a94d-2609b69a2d36,0,1,6025f5b5-6dc7-46b8-96e6-02823c5b4de7,6025f5b5-6dc7-46b8-96e6-02823c5b4de7,0,1,5d9d88ea-b2e4-425c-bb4d-a005e867d56c,5d9d88ea-b2e4-425c-bb4d-a005e867d56c,0,1,b76d342c-0f9d-4eb0-b49e-a9f472a4dd0d,b76d342c-0f9d-4eb0-b49e-a9f472a4dd0d,0,1,85639a53-b367-49ce-84f2-4e21d81c489b,85639a53-b367-49ce-84f2-4e21d81c489b,0,1,24b59586-178e-4efc-90ae-529553f3bb6c,24b59586-178e-4efc-90ae-529553f3bb6c,0,1,20e75dd5-222a-4100-aa43-3684991e3f21,20e75dd5-222a-4100-aa43-3684991e3f21,0,1,3c611832-4bc2-4229-a27d-d5dc82f3a498,3c611832-4bc2-4229-a27d-d5dc82f3a498,0,1,50e9eb52-02e3-44ff-9c9e-e76dbe38da63,50e9eb52-02e3-44ff-9c9e-e76dbe38da63,0,1,5dadc422-1fbd-4918-9db3-09ec72c3404e,5dadc422-1fbd-4918-9db3-09ec72c3404e,0,1,ffdaf8a0-7a8f-4756-bdfc-a0c6ae6c3869,ffdaf8a0-7a8f-4756-bdfc-a0c6ae6c3869,0,1,ab1bcabf-ffb0-4914-8ad0-b94b5aaeab1d,ab1bcabf-ffb0-4914-8ad0-b94b5aaeab1d,0,1,c5478d09-c8d3-4cc6-878e-27656ecc8409,c5478d09-c8d3-4cc6-878e-27656ecc8409,0,1,01b97d2f-40b9-4f12-8bc5-ab75fd160b7c,01b97d2f-40b9-4f12-8bc5-ab75fd160b7c,0,1,75974146-5b1a-412c-b7d5-1575704bbdab,75974146-5b1a-412c-b7d5-1575704bbdab,0,1,949f87cb-258c-4b6b-95ee-8a7491a4b64e,949f87cb-258c-4b6b-95ee-8a7491a4b64e,0,1,8a348012-99dc-4dc9-8bec-0df3caf4cdc5,8a348012-99dc-4dc9-8bec-0df3caf4cdc5,0,1,5c089988-5381-41ed-9f05-f85db46b8d94,5c089988-5381-41ed-9f05-f85db46b8d94,0,1,85a36352-1569-4ce4-aeba-477db524c36d,85a36352-1569-4ce4-aeba-477db524c36d,0,1,ebfb6f80-88f5-4046-8ae7-e11a7b0c1beb,ebfb6f80-88f5-4046-8ae7-e11a7b0c1beb,0,1,9a4a0b04-3dfb-4551-90f0-16231f64b14f,9a4a0b04-3dfb-4551-90f0-16231f64b14f,0,1,b2e656c1-f4ff-4d95-b066-4ee11ce4dea8,b2e656c1-f4ff-4d95-b066-4ee11ce4dea8,0,1,2d86d1fc-5367-47b8-804e-7f9c5fc8f3b1,2d86d1fc-5367-47b8-804e-7f9c5fc8f3b1,0,1,98edcd6b-1c50-45c6-9a4c-390827a4ba52,98edcd6b-1c50-45c6-9a4c-390827a4ba52,0,1,b99c2068-15ea-43a1-9e9f-db29647e2387,b99c2068-15ea-43a1-9e9f-db29647e2387,0,1,346cb8b7-a20e-4a06-823e-26dfb2e3e741,346cb8b7-a20e-4a06-823e-26dfb2e3e741,0,1,782cb93d-36e6-4923-b2b6-75caa3459cd6,782cb93d-36e6-4923-b2b6-75caa3459cd6,0,1,2767473e-79fb-4c7c-a7d1-a83a8f2df71d,2767473e-79fb-4c7c-a7d1-a83a8f2df71d,0,1,996c7873-1cc9-44f6-915b-5c6ed7ef2370,996c7873-1cc9-44f6-915b-5c6ed7ef2370,0,1,45a2569e-820c-4d7d-ba74-4a781d26bb2b,45a2569e-820c-4d7d-ba74-4a781d26bb2b,0,1,ced01234-9417-49ce-adf0-8cdd15e6dd7d,ced01234-9417-49ce-adf0-8cdd15e6dd7d,0,1,0eea37cc-47f8-4819-85da-d4991f4e58ed,0eea37cc-47f8-4819-85da-d4991f4e58ed,0,1,b51eaf45-baa1-4d1c-bcb7-a89bb8bcc26a,b51eaf45-baa1-4d1c-bcb7-a89bb8bcc26a,0,1,c1272bfc-196a-4f99-935f-e2516bc138d2,c1272bfc-196a-4f99-935f-e2516bc138d2,0,1,313e0688-745a-4385-b040-7ef8317a0eb7,313e0688-745a-4385-b040-7ef8317a0eb7,0,1,5f6c6be3-058a-43c8-aa33-3e89af2ea3f1,5f6c6be3-058a-43c8-aa33-3e89af2ea3f1,0,1,8dc08932-0988-4e82-8a5f-385c0694f9ff,8dc08932-0988-4e82-8a5f-385c0694f9ff,0,1,aa7ceeee-3b3c-49e2-95c2-bfb34e381aa3,aa7ceeee-3b3c-49e2-95c2-bfb34e381aa3,0,1,37c37f15-f84b-456b-aab6-729562dc0908,37c37f15-f84b-456b-aab6-729562dc0908,0,1,f5ef3f75-7d12-4284-844f-54d19d1f7e2f,f5ef3f75-7d12-4284-844f-54d19d1f7e2f,0,1,7974e41d-5af3-4636-b405-c9405d89fb53,7974e41d-5af3-4636-b405-c9405d89fb53,0,1,21fad9b6-44df-417c-ba18-de4b8af98a34,21fad9b6-44df-417c-ba18-de4b8af98a34,0,1,11c086b0-c646-4701-983d-c38758286354,11c086b0-c646-4701-983d-c38758286354,0,1,92876c9e-52ff-480d-9878-5766f4f9d12c,92876c9e-52ff-480d-9878-5766f4f9d12c,0,1,b729d739-5249-4765-85ee-fd792bb22911,b729d739-5249-4765-85ee-fd792bb22911,0,1,d65c4485-7bac-4206-9a6c-7156f4bb876d,d65c4485-7bac-4206-9a6c-7156f4bb876d,0,1,d431d1e2-13dc-495c-9de1-b5ec872eceed,d431d1e2-13dc-495c-9de1-b5ec872eceed,0,1,e8bec681-d269-41ba-9184-556cbcc27d74,e8bec681-d269-41ba-9184-556cbcc27d74,0,1,b8aaef91-f72c-4127-a494-771c13694ca4,b8aaef91-f72c-4127-a494-771c13694ca4,0,1,433a114f-3198-4ef6-bbf8-ce9b54fdb736,433a114f-3198-4ef6-bbf8-ce9b54fdb736,0,1,02ac711c-e38e-422e-ac28-ba1b298df9cc,02ac711c-e38e-422e-ac28-ba1b298df9cc,0,1,3e090261-4aa2-4ece-9f77-62df83c890b3,3e090261-4aa2-4ece-9f77-62df83c890b3,0,1,bbfd9834-12b4-49ca-bdae-5c94efa80482,bbfd9834-12b4-49ca-bdae-5c94efa80482,0,1,9dc3a563-11bb-40a7-8431-c1d4367ccbaf,9dc3a563-11bb-40a7-8431-c1d4367ccbaf,0,1,c9ea4e72-5f01-42ae-88e3-52e49757b26f,c9ea4e72-5f01-42ae-88e3-52e49757b26f,0,1,38d92d75-c8b8-42d6-9e0a-6dc0811a8652,38d92d75-c8b8-42d6-9e0a-6dc0811a8652,0,1,0f564dbe-6a6e-48df-9718-5cea5d608ee6,0f564dbe-6a6e-48df-9718-5cea5d608ee6,0,1,a623fef1-96eb-41ba-93fe-09162698f419,a623fef1-96eb-41ba-93fe-09162698f419,0,1,45a8d7cb-c927-4a4e-a653-13fd9b1eda10,45a8d7cb-c927-4a4e-a653-13fd9b1eda10,0,1,d8e1f92f-9efa-422d-bb21-43bd1a363cec,d8e1f92f-9efa-422d-bb21-43bd1a363cec,0,1,c1416383-bd7e-4dc4-ad88-d98ac87157fd,c1416383-bd7e-4dc4-ad88-d98ac87157fd,0,1,5e8bddc7-7836-4ec8-b6e1-0c15d228f47e,5e8bddc7-7836-4ec8-b6e1-0c15d228f47e,0,1,d5d9976a-4cc0-43f7-afd6-d43cebb07940,d5d9976a-4cc0-43f7-afd6-d43cebb07940,0,1,899f1526-d6bc-42ef-852e-7297a06db9e3,899f1526-d6bc-42ef-852e-7297a06db9e3,0,1,c694c132-1ddb-4273-818a-d3cca88c082a,c694c132-1ddb-4273-818a-d3cca88c082a,0,1,cd4da06e-c06b-4233-befc-1bc4c4db58e3,cd4da06e-c06b-4233-befc-1bc4c4db58e3,0,1,918a01fe-f753-4a4a-9200-55bbd6edaf5f,918a01fe-f753-4a4a-9200-55bbd6edaf5f,0,1,51a8a209-2a9d-419f-9fda-f7aeac68bdbe,51a8a209-2a9d-419f-9fda-f7aeac68bdbe,0,1,ef43961f-8cac-4f3f-bcee-c6bc51c4148c,ef43961f-8cac-4f3f-bcee-c6bc51c4148c,0,1,d6704410-6297-481e-a6cb-6d6aa566b4f8,d6704410-6297-481e-a6cb-6d6aa566b4f8,0,1,398937ca-b035-43bd-b0da-8c5153a87cb8,398937ca-b035-43bd-b0da-8c5153a87cb8,0,1,5b441321-bd1e-4c56-8f09-365b05985eed,5b441321-bd1e-4c56-8f09-365b05985eed,0,1,559f1e66-e8da-437a-aa27-d0e1be6619b6,559f1e66-e8da-437a-aa27-d0e1be6619b6,0,1,704d69cd-d921-4957-a004-43bd7eb4d979,704d69cd-d921-4957-a004-43bd7eb4d979,0,1,f1594682-16ac-408c-8307-a7a8db79b09f,f1594682-16ac-408c-8307-a7a8db79b09f,0,1,863aebd2-ce32-4f1f-bb3d-d6062ab187fd,863aebd2-ce32-4f1f-bb3d-d6062ab187fd,0,1,4cb814d8-cb1b-4366-b500-e820ad526b0c,4cb814d8-cb1b-4366-b500-e820ad526b0c,0,1,7da5f3b4-6330-4112-9d3a-7bb42996aa4a,7da5f3b4-6330-4112-9d3a-7bb42996aa4a,0,1,6c43df9f-ca36-415b-afec-302807820d73,6c43df9f-ca36-415b-afec-302807820d73,0,1,c7fb7551-806a-40b2-8879-14cd897b60d8,c7fb7551-806a-40b2-8879-14cd897b60d8,0,1,68337023-d573-4d04-95b6-44f73258c2a4,68337023-d573-4d04-95b6-44f73258c2a4,0,1,7cf39337-b722-486f-8e37-a62239d0ccd2,7cf39337-b722-486f-8e37-a62239d0ccd2,0,1,2571cfaf-d876-4385-a60a-1488aacf7080,2571cfaf-d876-4385-a60a-1488aacf7080,0,1,4ea1dd0a-6eab-48e4-a6a7-314d0e211d6c,4ea1dd0a-6eab-48e4-a6a7-314d0e211d6c,0,1,44398566-3189-4584-8f8a-9deb1d07ce41,44398566-3189-4584-8f8a-9deb1d07ce41,0,1,6f4e3082-9c8c-4289-8cc2-704c8d2763ce,6f4e3082-9c8c-4289-8cc2-704c8d2763ce,0,1,accfa63a-479d-4996-95bc-cdf5acdf203c,accfa63a-479d-4996-95bc-cdf5acdf203c,0,1,351998e0-8939-4dd4-a833-f4756bcc53b8,351998e0-8939-4dd4-a833-f4756bcc53b8,0,1,cd69bad8-524e-4be4-88cc-7732a88b38b8,cd69bad8-524e-4be4-88cc-7732a88b38b8,0,1,0a32248c-6994-4988-90d1-30882bc9da6b,0a32248c-6994-4988-90d1-30882bc9da6b,0,1,b57b53cb-6972-4bda-ae46-96571be1ebec,b57b53cb-6972-4bda-ae46-96571be1ebec,0,1,1a1a9636-fb72-4e4a-af96-5858442b1e61,1a1a9636-fb72-4e4a-af96-5858442b1e61,0,1,bca9cf34-9e11-4014-976a-28c4330b136e,bca9cf34-9e11-4014-976a-28c4330b136e,0,1,65fffe1a-6f36-4f50-975f-4471ad29d3ec,65fffe1a-6f36-4f50-975f-4471ad29d3ec,0,1,8fe5dad5-686a-4631-ae05-2917c33f7d83,8fe5dad5-686a-4631-ae05-2917c33f7d83,0,1,edef86c6-73bf-4e47-b62d-b2b548a732cd,edef86c6-73bf-4e47-b62d-b2b548a732cd,0,1,a1715044-d76f-4238-ba3e-989d04078d83,a1715044-d76f-4238-ba3e-989d04078d83,0,1,a7ec91a5-2ed4-4ecd-b794-fcd3bb5ea4a2,a7ec91a5-2ed4-4ecd-b794-fcd3bb5ea4a2,0,1,299c47a7-0b30-4f62-8f5c-f087ad6411fb,299c47a7-0b30-4f62-8f5c-f087ad6411fb,0,1,4d4724df-24fb-4c59-9d04-3f984906214a,4d4724df-24fb-4c59-9d04-3f984906214a,0,1,95b10bc8-39ef-43f5-b74e-f36cfa9bc806,95b10bc8-39ef-43f5-b74e-f36cfa9bc806,0,1,cb9b73ee-8531-48d9-9266-9aaa4336a612,cb9b73ee-8531-48d9-9266-9aaa4336a612,0,1,b7b80237-d642-4c21-a9ee-64fc4ed20d2f,b7b80237-d642-4c21-a9ee-64fc4ed20d2f,0,1,aeee2eea-1bb9-4e8a-ac5c-c940eaa86511,aeee2eea-1bb9-4e8a-ac5c-c940eaa86511,0,1,d042687f-0725-4611-a868-f5b4f6a3a3a8,d042687f-0725-4611-a868-f5b4f6a3a3a8,0,1,bb143340-7fff-49ef-b121-355c96613f78,bb143340-7fff-49ef-b121-355c96613f78,0,1,cd5fbbcb-19b8-4c0b-93c7-ebdf642826db,cd5fbbcb-19b8-4c0b-93c7-ebdf642826db,0,1,f2f69644-80dc-4b5e-a208-ed1de131e25e,f2f69644-80dc-4b5e-a208-ed1de131e25e,0,1,73060f72-6d08-47da-aac8-d4d2ed8f871c,73060f72-6d08-47da-aac8-d4d2ed8f871c,0,1,f3a6219e-bff5-4d36-9baa-bb214cebc2ed,f3a6219e-bff5-4d36-9baa-bb214cebc2ed,0,1,9f832f4b-ae60-4d81-9ffd-6e00f7e02560,9f832f4b-ae60-4d81-9ffd-6e00f7e02560,0,1,6f6ef6ac-5bb7-41e4-b6d5-0f068e8cb176,6f6ef6ac-5bb7-41e4-b6d5-0f068e8cb176,0,1,821225ea-1bad-49a6-a422-80d8a09baf13,821225ea-1bad-49a6-a422-80d8a09baf13,0,1,d0106f3a-8490-4277-a278-75c318ec252c,d0106f3a-8490-4277-a278-75c318ec252c,0,1,5035aa55-d557-419a-89e2-10ed0f8d109b,5035aa55-d557-419a-89e2-10ed0f8d109b,0,1,fb79315a-8d27-4c5e-9cfb-c7778dabedef,fb79315a-8d27-4c5e-9cfb-c7778dabedef,0,1,5f93d2af-64ff-41cc-8403-4a0e83160fea,5f93d2af-64ff-41cc-8403-4a0e83160fea,0,1,c12c90e4-7c40-489b-b14b-6b9442016e0f,c12c90e4-7c40-489b-b14b-6b9442016e0f,0,1,6371e288-3502-4d66-9006-b5a36107c0b7,6371e288-3502-4d66-9006-b5a36107c0b7,0,1,245814f7-028c-4c13-98eb-15412e851f81,245814f7-028c-4c13-98eb-15412e851f81,0,1,0132e564-2cd3-4930-8962-1068532f4be4,0132e564-2cd3-4930-8962-1068532f4be4,0,1,57d0f9b0-18d0-48ba-9f3c-d106f66ac602,57d0f9b0-18d0-48ba-9f3c-d106f66ac602,0,1,3a7cfd4c-c943-43c2-a8d5-6d8ab3a10fc9,3a7cfd4c-c943-43c2-a8d5-6d8ab3a10fc9,0,1,36b8b08f-0da3-4dbd-9aa8-73220ca9101d,36b8b08f-0da3-4dbd-9aa8-73220ca9101d,0,1,7021fca5-d612-43e1-927b-7f822153cf75,7021fca5-d612-43e1-927b-7f822153cf75,0,1,9fd16d51-91bb-4973-a7c4-cf4db87da8bf,9fd16d51-91bb-4973-a7c4-cf4db87da8bf,0,1,ee0a8d23-660a-492b-a813-b57394acee05,ee0a8d23-660a-492b-a813-b57394acee05,0,1,d1eda8f4-ffdd-445a-882c-6124d9f7fcf2,d1eda8f4-ffdd-445a-882c-6124d9f7fcf2,0,1,ade21e2e-349f-414b-8f35-6ae3b6a4064d,ade21e2e-349f-414b-8f35-6ae3b6a4064d,0,1,cce823c6-3bd5-4e46-91f6-8715cb72b1d5,cce823c6-3bd5-4e46-91f6-8715cb72b1d5,0,1,f3a8dd22-4469-4a3b-a7dd-78a5624b7bf0,f3a8dd22-4469-4a3b-a7dd-78a5624b7bf0,0,1,83f51efe-e2af-459a-b59f-2c036124ac23,83f51efe-e2af-459a-b59f-2c036124ac23,0,1,6ed466d7-e016-4d9c-9c0e-8deed48cbd70,6ed466d7-e016-4d9c-9c0e-8deed48cbd70,0,1,b03829e9-ba22-4584-85f0-c36d63f48242,b03829e9-ba22-4584-85f0-c36d63f48242,0,1,084a7c95-a59b-4861-b8b3-b5710a57ac60,084a7c95-a59b-4861-b8b3-b5710a57ac60,0,1,efcea6da-6746-4e00-913a-14cab38b5d84,efcea6da-6746-4e00-913a-14cab38b5d84,0,1,aff367fb-7fca-44d0-adf9-3731f14834f6,aff367fb-7fca-44d0-adf9-3731f14834f6,0,1,a2782760-dd4c-44d2-a785-814d6f610455,a2782760-dd4c-44d2-a785-814d6f610455,0,1,245162d8-6ae1-47e5-a0c9-0d5f2e5d8ea8,245162d8-6ae1-47e5-a0c9-0d5f2e5d8ea8,0,1,6581ac1f-11ef-42b8-9f3b-590bb7546e63,6581ac1f-11ef-42b8-9f3b-590bb7546e63,0,1,ce952e88-35b7-4506-81ac-d7081e50a650,ce952e88-35b7-4506-81ac-d7081e50a650,0,1,5d7a53fa-1a89-4e6e-868c-4077bd84c0ce,5d7a53fa-1a89-4e6e-868c-4077bd84c0ce,0,1,3bf1281f-7570-4633-86b9-3e953a7e6647,3bf1281f-7570-4633-86b9-3e953a7e6647,0,1,715dc289-5b14-4ee0-8716-9c15958b9069,715dc289-5b14-4ee0-8716-9c15958b9069,0,1,92707138-5004-4378-8477-f909166d319d,92707138-5004-4378-8477-f909166d319d,0,1,43661775-43bb-4d9e-bfbb-c46e7d194ca3,43661775-43bb-4d9e-bfbb-c46e7d194ca3,0,1,532637ef-be0d-4f42-9747-a88e17eb3def,532637ef-be0d-4f42-9747-a88e17eb3def,0,1,61127152-3e24-40b4-8a23-5eb6cae568ff,61127152-3e24-40b4-8a23-5eb6cae568ff,0,1,ffd987e3-e8af-4d46-881e-1e312e74dbac,ffd987e3-e8af-4d46-881e-1e312e74dbac,0,1,ad1142ed-183d-47a3-800c-997a3770e11e,ad1142ed-183d-47a3-800c-997a3770e11e,0,1,ebef37c6-4808-4683-93be-036ce19cafd5,ebef37c6-4808-4683-93be-036ce19cafd5,0,1,66364cd4-aaa5-421d-96d6-3c283c14650d,66364cd4-aaa5-421d-96d6-3c283c14650d,0,1,fdbbbf8b-dacf-436e-8d8b-1e2b8e854b17,fdbbbf8b-dacf-436e-8d8b-1e2b8e854b17,0,1,3c54d440-e908-43d6-a5cc-bb64620c82d7,3c54d440-e908-43d6-a5cc-bb64620c82d7,0,1,23a240a2-52ee-46ab-89d9-50dcee2cc8d2,23a240a2-52ee-46ab-89d9-50dcee2cc8d2,0,1,bf1dd911-8ee1-407b-acae-10c85b74baf3,bf1dd911-8ee1-407b-acae-10c85b74baf3,0,1,e924058f-25c3-4744-a565-836b824991b7,e924058f-25c3-4744-a565-836b824991b7,0,1,bc6a47a1-a3f3-4d7e-9dad-099bd3dba751,bc6a47a1-a3f3-4d7e-9dad-099bd3dba751,0,1,518dcd70-4ccf-4866-a94f-7ceec7dd2801,518dcd70-4ccf-4866-a94f-7ceec7dd2801,0,1,8f16763b-86f0-4ad0-b786-cce7dcb3460e,8f16763b-86f0-4ad0-b786-cce7dcb3460e,0,1,0481bc65-6a32-46b9-ae87-993ba52a29a5,0481bc65-6a32-46b9-ae87-993ba52a29a5,0,1,36ebebbb-dff1-4dbd-870b-58bd4a71fa1f,36ebebbb-dff1-4dbd-870b-58bd4a71fa1f,0,1,dbc5f419-63b0-4cbe-90ff-c0101105e46c,dbc5f419-63b0-4cbe-90ff-c0101105e46c,0,1,c708f6e9-b7a0-4046-90f3-83527da7b872,c708f6e9-b7a0-4046-90f3-83527da7b872,0,1,0006b44a-3a0c-4be4-8dd0-bd0db9ddcc4d,0006b44a-3a0c-4be4-8dd0-bd0db9ddcc4d,0,1,14256e0a-a947-42a3-8e36-47bfbb052a0c,14256e0a-a947-42a3-8e36-47bfbb052a0c,0,1,1b1aa77a-d14b-4751-a7da-0b5bac4db461,1b1aa77a-d14b-4751-a7da-0b5bac4db461,0,1,c0dcdb22-6719-4597-a781-bca1370909e5,c0dcdb22-6719-4597-a781-bca1370909e5,0,1,7a34f723-cd14-4949-a40f-7ce579bf0449,7a34f723-cd14-4949-a40f-7ce579bf0449,0,1,5cdc9ac7-bba9-4ed1-845a-607976fc4679,5cdc9ac7-bba9-4ed1-845a-607976fc4679,0,1,295f3692-0721-4c41-a69b-171ef20a5018,295f3692-0721-4c41-a69b-171ef20a5018,0,1,86c22871-6d1c-44e0-8ade-ce4bdeb23321,86c22871-6d1c-44e0-8ade-ce4bdeb23321,0,1,da51de81-4d4f-46b5-a308-7b50db6c45a7,da51de81-4d4f-46b5-a308-7b50db6c45a7,0,1,8d31ce6a-4d44-46c6-a11c-47fb33e88691,8d31ce6a-4d44-46c6-a11c-47fb33e88691,0,1,c2a8c2d3-ff13-4a13-acd4-797118c4e767,c2a8c2d3-ff13-4a13-acd4-797118c4e767,0,1,bc6adf75-8666-49f3-9703-b0014dfee123,bc6adf75-8666-49f3-9703-b0014dfee123,0,1,30632f54-b779-4857-a5cc-c53fe8887ee5,30632f54-b779-4857-a5cc-c53fe8887ee5,0,1,df22b227-b2c3-4e65-9706-7582f99fe59c,df22b227-b2c3-4e65-9706-7582f99fe59c,0,1,eafaec9c-030b-4e5f-8fa8-e17dad2feec9,eafaec9c-030b-4e5f-8fa8-e17dad2feec9,0,1,087480bb-8c89-4b00-a29b-b7e29926478d,087480bb-8c89-4b00-a29b-b7e29926478d,0,1,685373b7-638a-439a-8cba-703d56e4e404,685373b7-638a-439a-8cba-703d56e4e404,0,1,35828c88-f1ec-42e7-b189-78748931ee4a,35828c88-f1ec-42e7-b189-78748931ee4a,0,1,8a41b8f1-93fc-44e6-bf45-0d1fa9d24f4a,8a41b8f1-93fc-44e6-bf45-0d1fa9d24f4a,0,1,1cfba08f-d5e5-4833-b494-a25d0477e9c3,1cfba08f-d5e5-4833-b494-a25d0477e9c3,0,1,ae22743b-6d21-4fbb-bb4c-fee53e2b87cb,ae22743b-6d21-4fbb-bb4c-fee53e2b87cb,0,1,921a0a14-8c06-4894-95ce-423000769364,921a0a14-8c06-4894-95ce-423000769364,0,1,3805ee39-a48a-499a-9ef8-9c2a5985404f,3805ee39-a48a-499a-9ef8-9c2a5985404f,0,1,07ccfe87-e1ab-4da7-92cb-a612e0972b0b,07ccfe87-e1ab-4da7-92cb-a612e0972b0b,0,1,08c2f92c-eb05-49e7-bfc9-4a89607b9864,08c2f92c-eb05-49e7-bfc9-4a89607b9864,0,1,6d751379-89a7-49b5-93e5-578329c63d9c,6d751379-89a7-49b5-93e5-578329c63d9c,0,1,c3f156ef-947e-4ebb-883f-4f099a116063,c3f156ef-947e-4ebb-883f-4f099a116063,0,1,5e3ab0a3-c0a6-4f41-85d3-2eede4abb555,5e3ab0a3-c0a6-4f41-85d3-2eede4abb555,0,1,a065ffc3-f50b-4a78-9b84-bfc4e5515a4b,a065ffc3-f50b-4a78-9b84-bfc4e5515a4b,0,1,4cba5a06-1484-4dd1-8e35-2d702c7d96d0,4cba5a06-1484-4dd1-8e35-2d702c7d96d0,0,1,e98e9e56-2995-430c-bd3b-f1070aec15a5,e98e9e56-2995-430c-bd3b-f1070aec15a5,0,1,d35c51b0-4cb7-4f9c-8aac-6a25a1b49adf,d35c51b0-4cb7-4f9c-8aac-6a25a1b49adf,0,1,8a7546f4-bfc9-4732-bf60-43a41e2c8753,8a7546f4-bfc9-4732-bf60-43a41e2c8753,0,1,16244165-d5a4-4012-8bb5-7f5fee1111af,16244165-d5a4-4012-8bb5-7f5fee1111af,0,1,290b72ad-004f-46ab-be5e-47557543b965,290b72ad-004f-46ab-be5e-47557543b965,0,1,e1b2ccf9-5a8f-4008-86f3-d2c7cf5581d1,e1b2ccf9-5a8f-4008-86f3-d2c7cf5581d1,0,1,fa0e0792-bffb-47ce-866f-9e8dbdab17a4,fa0e0792-bffb-47ce-866f-9e8dbdab17a4,0,1,263bcd20-9878-48d4-aac4-b371ec49d8d6,263bcd20-9878-48d4-aac4-b371ec49d8d6,0,1,da1d8660-2757-4cea-bae0-c2210b9406ae,da1d8660-2757-4cea-bae0-c2210b9406ae,0,1,d60329c6-8f48-481d-82e7-18da355cb09c,d60329c6-8f48-481d-82e7-18da355cb09c,0,1,c4b14162-b25b-4099-9ec3-7251848ef08a,c4b14162-b25b-4099-9ec3-7251848ef08a,0,1,8eb5ba97-eb38-4357-8bfc-e9618280800d,8eb5ba97-eb38-4357-8bfc-e9618280800d,0,1,b72f73d5-e274-472b-871b-16af72dab603,b72f73d5-e274-472b-871b-16af72dab603,0,1,b008d184-0b61-460d-9490-89ecc1cd58ba,b008d184-0b61-460d-9490-89ecc1cd58ba,0,1,c8340e2f-6958-4bcd-8e17-499c4adfe60b,c8340e2f-6958-4bcd-8e17-499c4adfe60b,0,1,c72831cd-d064-4fe8-9603-64e6d7b8ac4d,c72831cd-d064-4fe8-9603-64e6d7b8ac4d,0,1,03f68d82-752c-45d1-bf9a-60ecd21a2c81,03f68d82-752c-45d1-bf9a-60ecd21a2c81,0,1,307e8938-e347-4eff-b2fb-fd0b8f4aa27f,307e8938-e347-4eff-b2fb-fd0b8f4aa27f,0,1,d4fffc79-2841-49a9-a382-e9e4138984df,d4fffc79-2841-49a9-a382-e9e4138984df,0,1,84e4c572-5b32-46e0-82a0-0c76d4ef5d73,84e4c572-5b32-46e0-82a0-0c76d4ef5d73,0,1,9f41f903-d316-4189-8dc0-603ea9036c1c,9f41f903-d316-4189-8dc0-603ea9036c1c,0,1,e19e70d6-8707-4dde-ae69-7bd97035ca03,e19e70d6-8707-4dde-ae69-7bd97035ca03,0,1,425b5272-1130-457d-8a05-aee8fad681d9,425b5272-1130-457d-8a05-aee8fad681d9,0,1,8d583436-f2a6-4a33-8137-1376f5754643,8d583436-f2a6-4a33-8137-1376f5754643,0,1,4a864e74-41ce-4673-a080-bc3c2ba1b8ee,4a864e74-41ce-4673-a080-bc3c2ba1b8ee,0,1,d279958e-6dd4-4bb0-a65f-c8768b4c4d96,d279958e-6dd4-4bb0-a65f-c8768b4c4d96,0,1,2d66502d-77ab-4cc9-9ccf-5433458fae9f,2d66502d-77ab-4cc9-9ccf-5433458fae9f,0,1,cff48da7-3c46-4602-83e8-90c9ea53e107,cff48da7-3c46-4602-83e8-90c9ea53e107,0,1,7155472d-c791-402c-96e1-d25612024c88,7155472d-c791-402c-96e1-d25612024c88,0,1,fb90c261-24a7-4cef-8a2c-85c0e4fdd64a,fb90c261-24a7-4cef-8a2c-85c0e4fdd64a,0,1,9005911d-ea81-48b6-bf50-1a328ff4d7be,9005911d-ea81-48b6-bf50-1a328ff4d7be,0,1,7df12006-c0c0-42a6-b852-bdced72c62e3,7df12006-c0c0-42a6-b852-bdced72c62e3,0,1,9c00987d-3c55-40eb-bae8-f36e71e4ef87,9c00987d-3c55-40eb-bae8-f36e71e4ef87,0,1,29273130-5142-48c9-8399-00e5ab4b6203,29273130-5142-48c9-8399-00e5ab4b6203,0,1,9e14cd7e-1293-4008-baf8-88df6a98abf7,9e14cd7e-1293-4008-baf8-88df6a98abf7,0,1,98e3aace-52a6-4911-8205-92165adca6de,98e3aace-52a6-4911-8205-92165adca6de,0,1,91f4dbf9-d539-4239-a95d-c1d9e14e50f8,91f4dbf9-d539-4239-a95d-c1d9e14e50f8,0,1,577e5fea-b792-4c8b-b3b3-a03a14b64b04,577e5fea-b792-4c8b-b3b3-a03a14b64b04,0,1,ba5ec2d6-1791-42b5-8e6f-04d1d18e9469,ba5ec2d6-1791-42b5-8e6f-04d1d18e9469,0,1,b18d312b-f9c3-4f37-ac77-d499e949f154,b18d312b-f9c3-4f37-ac77-d499e949f154,0,1,ace2beea-d393-412f-8b71-b845b665e2c4,ace2beea-d393-412f-8b71-b845b665e2c4,0,1,3fd4bc77-2a1b-4750-a54a-4171c8d40027,3fd4bc77-2a1b-4750-a54a-4171c8d40027,0,1,5b27fde9-fa80-48b1-aea1-73e132b9a944,5b27fde9-fa80-48b1-aea1-73e132b9a944,0,1,00bf04d6-6a8e-4b13-94cf-36c1c6090cd8,00bf04d6-6a8e-4b13-94cf-36c1c6090cd8,0,1,a747ec6b-f230-49b4-a929-7ed1ba87b078,a747ec6b-f230-49b4-a929-7ed1ba87b078,0,1,796f8fb4-d9cd-40ae-936b-8a70d2eb1121,796f8fb4-d9cd-40ae-936b-8a70d2eb1121,0,1,4802e016-a9e9-47d0-916b-b42194a1f388,4802e016-a9e9-47d0-916b-b42194a1f388,0,1,a1740d1f-1b8f-4db5-be5e-0eac44e934b8,a1740d1f-1b8f-4db5-be5e-0eac44e934b8,0,1,4062674a-4a81-494d-82bc-4984cd7c7903,4062674a-4a81-494d-82bc-4984cd7c7903,0,1,782a8801-06ca-4d63-bf8b-63d2320766d8,782a8801-06ca-4d63-bf8b-63d2320766d8,0,1,93a73123-d98c-4286-9269-7bfcedd115e8,93a73123-d98c-4286-9269-7bfcedd115e8,0,1,c5985c02-1824-4ce9-b415-1621dd2ee864,c5985c02-1824-4ce9-b415-1621dd2ee864,0,1,993ce747-cdc9-445f-ad7d-daf53cd5f7e9,993ce747-cdc9-445f-ad7d-daf53cd5f7e9,0,1,e819aaf6-3dfb-492a-8a4a-50a7c6854790,e819aaf6-3dfb-492a-8a4a-50a7c6854790,0,1,62b95ba1-f213-42fb-90f3-a03e8094bc9e,62b95ba1-f213-42fb-90f3-a03e8094bc9e,0,1,619b534d-5605-40d3-9b8c-4443a21d7795,619b534d-5605-40d3-9b8c-4443a21d7795,0,1,a010bbf4-d547-4576-9797-28e3096ffed3,a010bbf4-d547-4576-9797-28e3096ffed3,0,1,a44c3eb2-1054-41ca-82e8-fc35336e7009,a44c3eb2-1054-41ca-82e8-fc35336e7009,0,1,01f67911-4ca7-4668-b970-62c299b98e56,01f67911-4ca7-4668-b970-62c299b98e56,0,1,20c89c94-f77f-4e14-8c97-2a70c1419ce3,20c89c94-f77f-4e14-8c97-2a70c1419ce3,0,1,1c09bf33-9b54-4bfd-bc92-e7324025fab0,1c09bf33-9b54-4bfd-bc92-e7324025fab0,0,1,8d7750e9-899f-4434-8702-44cd02681779,8d7750e9-899f-4434-8702-44cd02681779,0,1,d85244dc-c417-4e69-9aa7-7ad313ecb940,d85244dc-c417-4e69-9aa7-7ad313ecb940,0,1,3bebf5e9-68bb-48dc-a39d-cbdca2dbecb1,3bebf5e9-68bb-48dc-a39d-cbdca2dbecb1,0,1,cd392ef0-dedb-4f83-9a2c-a24190ee0dc0,cd392ef0-dedb-4f83-9a2c-a24190ee0dc0,0,1,bb2f0c1c-3cfb-4a26-b6de-5bbeb5614587,bb2f0c1c-3cfb-4a26-b6de-5bbeb5614587,0,1,0713de12-87d5-4877-bd8a-2b6466df67df,0713de12-87d5-4877-bd8a-2b6466df67df,0,1,b848aafc-44fb-4dfe-8eec-233dc08fbbb6,b848aafc-44fb-4dfe-8eec-233dc08fbbb6,0,1,c4d7c569-4649-4f98-a048-45f3c5933670,c4d7c569-4649-4f98-a048-45f3c5933670,0,1,6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb,6dc05d69-bd54-4e8a-8985-c2ddfa0aaffb,0,1,426cbebb-880b-49c5-b046-83c5e071273e,426cbebb-880b-49c5-b046-83c5e071273e,0,1,ad08b104-01f8-4900-a06c-baa1d55eba84,ad08b104-01f8-4900-a06c-baa1d55eba84,0,1,9352d10d-188f-4074-8dd1-7be5c11525e3,9352d10d-188f-4074-8dd1-7be5c11525e3,0,1,1933634a-6f10-48e7-99f0-60ac338f7832,1933634a-6f10-48e7-99f0-60ac338f7832,0,1,655deec5-c079-4748-8521-b3f10c243394,655deec5-c079-4748-8521-b3f10c243394,0,1,f6d4d818-d54c-4337-82cf-abd5e6dbe770,f6d4d818-d54c-4337-82cf-abd5e6dbe770,0,1,656c447b-291f-4e62-81ac-1c004841aa72,656c447b-291f-4e62-81ac-1c004841aa72,0,1,c9a06c8d-2f6d-4e03-bc62-a1a19f17faf3,c9a06c8d-2f6d-4e03-bc62-a1a19f17faf3,0,1,5ba93404-58ad-4321-9a62-27db828f75f6,5ba93404-58ad-4321-9a62-27db828f75f6,0,1,3da20e86-1d83-4935-b425-a91392dc8f35,3da20e86-1d83-4935-b425-a91392dc8f35,0,1,b56f25d2-72a9-4d80-8998-77ac3097c873,b56f25d2-72a9-4d80-8998-77ac3097c873,0,1,03bd775a-e0a1-4205-82ce-6068e73ad134,03bd775a-e0a1-4205-82ce-6068e73ad134,0,1,40bed47b-7754-4a70-b51a-47385fd46e83,40bed47b-7754-4a70-b51a-47385fd46e83,0,1,773ef914-5e7e-4ec1-bcdb-b2d111b560e6,773ef914-5e7e-4ec1-bcdb-b2d111b560e6,0,1,1e5a4f93-1ab9-4775-9538-2a1772215d89,1e5a4f93-1ab9-4775-9538-2a1772215d89,0,1,c25db165-0734-4fef-b161-e5164954a616,c25db165-0734-4fef-b161-e5164954a616,0,1,4f97b909-68f9-482a-b958-b4caa9b83763,4f97b909-68f9-482a-b958-b4caa9b83763,0,1,c31e34db-41ff-4db3-a4d0-f780f67070f6,c31e34db-41ff-4db3-a4d0-f780f67070f6,0,1,7a014fcb-a4b8-4c1c-b0de-21907a917c25,7a014fcb-a4b8-4c1c-b0de-21907a917c25,0,1,1688ef5d-72df-4bc4-a879-89033d466ad7,1688ef5d-72df-4bc4-a879-89033d466ad7,0,1,30f18fbf-4240-4708-a71a-189f8fc324f3,30f18fbf-4240-4708-a71a-189f8fc324f3,0,1,344cb0de-315d-4d05-93f8-8a1f53208470,344cb0de-315d-4d05-93f8-8a1f53208470,0,1,cd869887-0b0e-43db-8b51-04fe4a1341d5,cd869887-0b0e-43db-8b51-04fe4a1341d5,0,1,98aa5d5e-6c0e-4b9b-a3fa-335635d15217,98aa5d5e-6c0e-4b9b-a3fa-335635d15217,0,1,a7973409-b18e-4b88-ad50-e2ae89470d8f,a7973409-b18e-4b88-ad50-e2ae89470d8f,0,1,a537875e-492e-4cf2-96e9-e2e97bb206da,a537875e-492e-4cf2-96e9-e2e97bb206da,0,1,085a08f3-9d93-429d-9b1b-9065ab8363f7,085a08f3-9d93-429d-9b1b-9065ab8363f7,0,1,a530c0a1-c1d2-40bb-9d0e-320074dbb684,a530c0a1-c1d2-40bb-9d0e-320074dbb684,0,1,55c63580-16f1-4d6f-a40b-e630f71ebb98,55c63580-16f1-4d6f-a40b-e630f71ebb98,0,1,0a136ad9-22ad-4ba7-a31a-40a193b49d26,0a136ad9-22ad-4ba7-a31a-40a193b49d26,0,1,208c7b8c-3df9-4441-8ebf-34ffa81572a2,208c7b8c-3df9-4441-8ebf-34ffa81572a2,0,1,8c17fd7c-74d7-496a-a843-42022afb0707,8c17fd7c-74d7-496a-a843-42022afb0707,0,1,b456d820-8034-4381-960d-66d9f86b0a4b,b456d820-8034-4381-960d-66d9f86b0a4b,0,1,bd55fd03-cf67-4333-a554-98e03d18f780,bd55fd03-cf67-4333-a554-98e03d18f780,0,1,6eac5f7b-0952-4c94-9028-529b14ffcd4f,6eac5f7b-0952-4c94-9028-529b14ffcd4f,0,1,1a7c774d-5b86-4051-b797-3081e19fa30a,1a7c774d-5b86-4051-b797-3081e19fa30a,0,1,00949768-5833-4fe2-8752-b009d1bceef8,00949768-5833-4fe2-8752-b009d1bceef8,0,1,167455d1-6658-409f-834c-f6ccfe7b25de,167455d1-6658-409f-834c-f6ccfe7b25de,0,1,c5b3ca21-8f7b-4933-853c-7d95b17b5631,c5b3ca21-8f7b-4933-853c-7d95b17b5631,0,1,8b0faa1e-09da-4ba4-894e-e86abc5d39df,8b0faa1e-09da-4ba4-894e-e86abc5d39df,0,1,cb50b309-1b6c-400c-9e9e-67204dcccaae,cb50b309-1b6c-400c-9e9e-67204dcccaae,0,1,e2b482cb-6954-4e6a-abe9-d0a01f64b73a,e2b482cb-6954-4e6a-abe9-d0a01f64b73a,0,1,c46fd680-efbe-49a8-91f0-73e36d791fa9,c46fd680-efbe-49a8-91f0-73e36d791fa9,0,1,6995567b-5a3c-4e03-9fb4-e22363ed6555,6995567b-5a3c-4e03-9fb4-e22363ed6555,0,1,32c38c2b-072d-4cf2-bf9a-f9c4b4c463e8,32c38c2b-072d-4cf2-bf9a-f9c4b4c463e8,0,1,b8a966ba-3452-44df-91d0-7040ecd3e4c2,b8a966ba-3452-44df-91d0-7040ecd3e4c2,0,1,80d6883d-c608-4fe5-acae-78bc45e40e5f,80d6883d-c608-4fe5-acae-78bc45e40e5f,0,1,213b173a-c3b7-449c-a618-d479c4dc38e8,213b173a-c3b7-449c-a618-d479c4dc38e8,0,1,7a64dffc-5cfe-41e2-bd55-fbf4957559a4,7a64dffc-5cfe-41e2-bd55-fbf4957559a4,0,1,a78249aa-ca9f-4bee-b00d-68ff59ea81a4,a78249aa-ca9f-4bee-b00d-68ff59ea81a4,0,1,7534148d-0124-49a2-a446-c6205d153153,7534148d-0124-49a2-a446-c6205d153153,0,1,32ed8a10-7177-4e45-866e-04a1b6831570,32ed8a10-7177-4e45-866e-04a1b6831570,0,1,e2a90d7a-5480-47cd-b296-8d60d8baf7f9,e2a90d7a-5480-47cd-b296-8d60d8baf7f9,0,1,8190a432-1037-4334-b2c7-bae39f7f9442,8190a432-1037-4334-b2c7-bae39f7f9442,0,1,4733e5c1-8198-408b-8903-866d3b0fdc43,4733e5c1-8198-408b-8903-866d3b0fdc43,0,1,e1fc5146-37c5-4207-af05-7250976bd406,e1fc5146-37c5-4207-af05-7250976bd406,0,1,60038cd9-8d01-44b1-9d3f-f3a31e59e5db,60038cd9-8d01-44b1-9d3f-f3a31e59e5db,0,1,f0bfb98b-cc43-4b6c-8166-9b81b4c22cb0,f0bfb98b-cc43-4b6c-8166-9b81b4c22cb0,0,1,f5e27159-789a-4d34-ac51-fd99d753b83a,f5e27159-789a-4d34-ac51-fd99d753b83a,0,1,f1cb02ff-a2f0-4a34-93fa-e47c6e210ee1,f1cb02ff-a2f0-4a34-93fa-e47c6e210ee1,0,1,981a74f4-cdc2-4016-b462-9b5fd0d6de4d,981a74f4-cdc2-4016-b462-9b5fd0d6de4d,0,1,1d89e2b7-8f66-4210-8ab4-29efde5e5295,1d89e2b7-8f66-4210-8ab4-29efde5e5295,0,1,fafff964-8daa-4921-9d53-fd6be3878d94,fafff964-8daa-4921-9d53-fd6be3878d94,0,1,7183d525-212a-42f3-a7e5-eb9deaeaa4a3,7183d525-212a-42f3-a7e5-eb9deaeaa4a3,0,1,b82b27cc-e81c-4b7c-9833-ea4f2ce21edb,b82b27cc-e81c-4b7c-9833-ea4f2ce21edb,0,1,4347f77e-bad9-4525-90a0-794787f03585,4347f77e-bad9-4525-90a0-794787f03585,0,1,cfde3330-2bed-4273-8d69-c213ebdde247,cfde3330-2bed-4273-8d69-c213ebdde247,0,1,2d6ca049-89a5-437e-971c-b8e42f61b460,2d6ca049-89a5-437e-971c-b8e42f61b460,0,1,c450ebe1-4223-4a7a-b9fa-374d5c13dc8c,c450ebe1-4223-4a7a-b9fa-374d5c13dc8c,0,1,271d58d0-4449-40cc-bae9-cc4c50eebd9b,271d58d0-4449-40cc-bae9-cc4c50eebd9b,0,1,58df9322-c786-4dd1-af49-7cd164b378da,58df9322-c786-4dd1-af49-7cd164b378da,0,1,8d48de7f-61d6-4462-9c14-f728206a482c,8d48de7f-61d6-4462-9c14-f728206a482c,0,1,a87e890a-8924-4f56-9e37-04579b95297a,a87e890a-8924-4f56-9e37-04579b95297a,0,1,c71d4fa4-86b0-41e2-8b6a-cfb91e131eaf,c71d4fa4-86b0-41e2-8b6a-cfb91e131eaf,0,1,4c1f2581-ee42-4df5-9169-20205a18a9be,4c1f2581-ee42-4df5-9169-20205a18a9be,0,1,bb3d9ea3-8895-4950-9ee9-4249ca983d48,bb3d9ea3-8895-4950-9ee9-4249ca983d48,0,1,86ea21fa-5ecc-4d81-b6ad-d71e7ed39009,86ea21fa-5ecc-4d81-b6ad-d71e7ed39009,0,1,b806d2b6-bbd1-4abd-9471-7791603a2fcf,b806d2b6-bbd1-4abd-9471-7791603a2fcf,0,1,d7aa519b-9a2e-4946-bd06-9ac22bb7c1e4,d7aa519b-9a2e-4946-bd06-9ac22bb7c1e4,0,1,ecee1ec8-aa1f-4b90-a1b3-2538a53c0dd7,ecee1ec8-aa1f-4b90-a1b3-2538a53c0dd7,0,1,34f50dd9-de16-4013-a2ef-6595d9c28930,34f50dd9-de16-4013-a2ef-6595d9c28930,0,1,56fcca65-3429-4409-bce7-f434f6530a74,56fcca65-3429-4409-bce7-f434f6530a74,0,1,5236ca8d-a4a6-4df8-a6a3-5cfe02c49aeb,5236ca8d-a4a6-4df8-a6a3-5cfe02c49aeb,0,1,bcfabf25-ae2f-4f73-836c-2cab3617a0b6,bcfabf25-ae2f-4f73-836c-2cab3617a0b6,0,1,b286f047-a4d0-4808-b1b4-27997ead6d49,b286f047-a4d0-4808-b1b4-27997ead6d49,0,1,49da2d3a-657a-4cfd-8e37-422b96d2cda5,49da2d3a-657a-4cfd-8e37-422b96d2cda5,0,1,fced16ae-abee-4fbe-9582-dfd368d5610a,fced16ae-abee-4fbe-9582-dfd368d5610a,0,1,afe60bad-1585-487f-9a39-9b9e031f9576,afe60bad-1585-487f-9a39-9b9e031f9576,0,1,4c4f0475-bd11-40c8-af0d-8affec6f838d,4c4f0475-bd11-40c8-af0d-8affec6f838d,0,1,7aee36ac-bbd1-4b06-8266-b7325fb9ce3c,7aee36ac-bbd1-4b06-8266-b7325fb9ce3c,0,1,855439d7-a621-48f5-b6d9-bc2bbd11ad90,855439d7-a621-48f5-b6d9-bc2bbd11ad90,0,1,4e0ec0f0-eb44-41b0-b950-88fdb6ac0db2,4e0ec0f0-eb44-41b0-b950-88fdb6ac0db2,0,1,2f25e742-555b-4db8-bff2-2d345ce2a93a,2f25e742-555b-4db8-bff2-2d345ce2a93a,0,1,303d8c17-4303-4f1d-8bed-51cd7ea0a4b2,303d8c17-4303-4f1d-8bed-51cd7ea0a4b2,0,1,46affd3a-f31c-4432-bd58-2f2b1ed9bc4e,46affd3a-f31c-4432-bd58-2f2b1ed9bc4e,0,1,a7fee9d3-569d-4b5b-bd47-44790e0095f5,a7fee9d3-569d-4b5b-bd47-44790e0095f5,0,1,a258fe12-7e55-4f89-86fa-962b1d2947ac,a258fe12-7e55-4f89-86fa-962b1d2947ac,0,1,93701593-5ac8-4266-b471-7e9ed35a9c3e,93701593-5ac8-4266-b471-7e9ed35a9c3e,0,1,0fdb864e-ede9-4777-835c-0804968ee544,0fdb864e-ede9-4777-835c-0804968ee544,0,1,04c45a51-4a8e-48fa-a39c-f67ce2079fc4,04c45a51-4a8e-48fa-a39c-f67ce2079fc4,0,1,b46546fe-3d6b-473f-a7cb-ff3b3ae0bafe,b46546fe-3d6b-473f-a7cb-ff3b3ae0bafe,0,1,e7b1810c-8e6c-4759-9e6f-c754b5a1ac77,e7b1810c-8e6c-4759-9e6f-c754b5a1ac77,0,1,5dee9814-fe38-4631-8148-8d6c87ef6f47,5dee9814-fe38-4631-8148-8d6c87ef6f47,0,1,37d17053-5c2b-4972-b6a5-a589f2ddbde6,37d17053-5c2b-4972-b6a5-a589f2ddbde6,0,1,c349968a-3f87-425b-8efb-d847934dee4b,c349968a-3f87-425b-8efb-d847934dee4b,0,1,3bb8dc33-970c-4c58-9036-ce716d963847,3bb8dc33-970c-4c58-9036-ce716d963847,0,1,fae0d2e0-1bcd-4a77-86d6-407ca05c1c95,fae0d2e0-1bcd-4a77-86d6-407ca05c1c95,0,1,b3ff39fa-f665-4d01-9a2a-69722e6b1071,b3ff39fa-f665-4d01-9a2a-69722e6b1071,0,1,0abacb0a-ce00-474e-8aec-35685c51ddef,0abacb0a-ce00-474e-8aec-35685c51ddef,0,1,ae407b17-03aa-4268-8603-58d6714dae89,ae407b17-03aa-4268-8603-58d6714dae89,0,1,5c0ce79b-97a9-4917-9b02-a4548a97d5a1,5c0ce79b-97a9-4917-9b02-a4548a97d5a1,0,1,c552cfac-d3ef-4b63-a0b9-7c79261ff9f3,c552cfac-d3ef-4b63-a0b9-7c79261ff9f3,0,1,5bb6e52c-ac26-4143-8e90-f04f703f823b,5bb6e52c-ac26-4143-8e90-f04f703f823b,0,1,579baaa4-6493-4d99-8744-6399757295c7,579baaa4-6493-4d99-8744-6399757295c7,0,1,ae6d0e12-8857-476c-b4b2-f03295cbed3e,ae6d0e12-8857-476c-b4b2-f03295cbed3e,0,1,7ee1e0d0-9735-45da-bd24-c0dbabfd5b1e,7ee1e0d0-9735-45da-bd24-c0dbabfd5b1e,0,1,bd0e3bd4-1207-41ea-8dfc-afa8f7d08cc2,bd0e3bd4-1207-41ea-8dfc-afa8f7d08cc2,0,1,51d83895-5692-4479-9612-07c790d19dff,51d83895-5692-4479-9612-07c790d19dff,0,1,9c1325af-7492-42be-b3af-51b692534510,9c1325af-7492-42be-b3af-51b692534510,0,1,dface15c-cd65-4fb1-b4dd-b513086d3f8e,dface15c-cd65-4fb1-b4dd-b513086d3f8e,0,1,d854b528-8456-4453-9c2d-4f96caf10481,d854b528-8456-4453-9c2d-4f96caf10481,0,1,d6969c1e-e13c-4542-abb7-9cf6bb50b8e2,d6969c1e-e13c-4542-abb7-9cf6bb50b8e2,0,1,ccd91f94-d3f1-4aa3-90cf-081d72c4cab1,ccd91f94-d3f1-4aa3-90cf-081d72c4cab1,0,1,aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02,aa7d5ca4-3c02-4ca1-a790-2435ee9f9f02,0,1,b7e85f5c-4312-44c6-895a-3f636a8c78d8,b7e85f5c-4312-44c6-895a-3f636a8c78d8,0,1,3b6e7ee6-0ef5-464a-a01a-6143479c7a61,3b6e7ee6-0ef5-464a-a01a-6143479c7a61,0,1,1969e8d1-0a82-44cb-a0d4-e5badb1d28d4,1969e8d1-0a82-44cb-a0d4-e5badb1d28d4,0,1,a1afacc5-f49a-4df2-a44d-479594d50179,a1afacc5-f49a-4df2-a44d-479594d50179,0,1,fe70eba3-7477-4a38-a511-d69960abb928,fe70eba3-7477-4a38-a511-d69960abb928,0,1,6534ea96-2145-49e6-9739-f59459dc7f6b,6534ea96-2145-49e6-9739-f59459dc7f6b,0,1,f49bffa0-cad6-4801-b82e-21aa580e72e6,f49bffa0-cad6-4801-b82e-21aa580e72e6,0,1,bbbfb817-8db3-4415-86c3-af028276d6e9,bbbfb817-8db3-4415-86c3-af028276d6e9,0,1,6a91112c-f6cc-47a0-9d26-a36c7702af7d,6a91112c-f6cc-47a0-9d26-a36c7702af7d,0,1,cb92dc2e-6053-4233-a408-4464514b1257,cb92dc2e-6053-4233-a408-4464514b1257,0,1,8cd65ad3-a7a3-46f6-9061-e8751fd5073e,8cd65ad3-a7a3-46f6-9061-e8751fd5073e,0,1,85550a7a-8fe0-4296-ace5-63cf053536b4,85550a7a-8fe0-4296-ace5-63cf053536b4,0,1,cf1bd9cd-2ef2-4868-b6c0-5160860690f7,cf1bd9cd-2ef2-4868-b6c0-5160860690f7,0,1,3f8b6411-6606-4d27-891e-7c77be47c5f9,3f8b6411-6606-4d27-891e-7c77be47c5f9,0,1,bed3f0b2-40c6-4323-9bca-cb8864e38ec0,bed3f0b2-40c6-4323-9bca-cb8864e38ec0,0,1,5eb4ca7f-027a-4860-a167-e6b424527e7a,5eb4ca7f-027a-4860-a167-e6b424527e7a,0,1,f9b98ba5-1fa8-42a4-b1a2-dd71874083cb,f9b98ba5-1fa8-42a4-b1a2-dd71874083cb,0,1,6871015f-d959-4a77-a091-a23cb4ebd8f9,6871015f-d959-4a77-a091-a23cb4ebd8f9,0,1,e5e1631b-a494-4e73-b356-b4330b84cc88,e5e1631b-a494-4e73-b356-b4330b84cc88,0,1,f8f0857f-2c75-471a-ae0b-a3a265e1eb25,f8f0857f-2c75-471a-ae0b-a3a265e1eb25,0,1,a23f97fb-7ac9-4941-a2c6-bbff6c36ac12,a23f97fb-7ac9-4941-a2c6-bbff6c36ac12,0,1,80cf54ed-8677-4c89-a378-0abef6c64010,80cf54ed-8677-4c89-a378-0abef6c64010,0,1,f0dec7b3-2d6a-44ce-a1da-9c71ccd37539,f0dec7b3-2d6a-44ce-a1da-9c71ccd37539,0,1,56ee3afd-5ae6-421e-b9f3-26505e40f100,56ee3afd-5ae6-421e-b9f3-26505e40f100,0,1,63c9a839-78b2-4706-b380-5aedf6914930,63c9a839-78b2-4706-b380-5aedf6914930,0,1,40f5c1cb-2654-4738-bb44-6734b0e3490b,40f5c1cb-2654-4738-bb44-6734b0e3490b,0,1,2ec484b1-95eb-43a7-9430-1c1ef49f05af,2ec484b1-95eb-43a7-9430-1c1ef49f05af,0,1,1a314ce2-03bc-4267-89a9-bb5bb866f552,1a314ce2-03bc-4267-89a9-bb5bb866f552,0,1,e3b783a6-5ea2-4cd4-955b-df63d93c1f25,e3b783a6-5ea2-4cd4-955b-df63d93c1f25,0,1,f8ab62ad-7776-49ae-b1bb-51bea9a9992b,f8ab62ad-7776-49ae-b1bb-51bea9a9992b,0,1,e859dd18-8baf-49c0-b7a0-1205b6c125d3,e859dd18-8baf-49c0-b7a0-1205b6c125d3,0,1,da59378e-0a97-4cff-977b-cc51967068ee,da59378e-0a97-4cff-977b-cc51967068ee,0,1,bbaad46d-f60d-49e6-a077-075366bca47e,bbaad46d-f60d-49e6-a077-075366bca47e,0,1,0d9f5703-91e4-4769-bedd-5bd974f2f617,0d9f5703-91e4-4769-bedd-5bd974f2f617,0,1,926cdf17-1929-43d6-8205-858aab558ad9,926cdf17-1929-43d6-8205-858aab558ad9,0,1,5ec6838f-2d70-4f91-b41b-16adfe8ed587,5ec6838f-2d70-4f91-b41b-16adfe8ed587,0,1,6420ad7e-61ca-4af9-9715-f2b0c3e2c58f,6420ad7e-61ca-4af9-9715-f2b0c3e2c58f,0,1,bee8b8a0-f058-44cb-822c-620351567627,bee8b8a0-f058-44cb-822c-620351567627,0,1,26365e29-903b-47fd-ad96-e0d87f5d6e87,26365e29-903b-47fd-ad96-e0d87f5d6e87,0,1,569180cb-ce54-4267-94b9-332e35e3c17d,569180cb-ce54-4267-94b9-332e35e3c17d,0,1,9ec6fc35-e84e-4f82-b616-5c02e945cc8f,9ec6fc35-e84e-4f82-b616-5c02e945cc8f,0,1,a2c42946-1cdb-457a-a45b-97781cfb4a15,a2c42946-1cdb-457a-a45b-97781cfb4a15,0,1,20adf54c-044c-4bea-8028-b6d20917a030,20adf54c-044c-4bea-8028-b6d20917a030,0,1,dea6b05f-d3e1-4ff4-8f71-6a0c18134e94,dea6b05f-d3e1-4ff4-8f71-6a0c18134e94,0,1,fcb97a46-d5fd-4bb5-b899-17723a9fe346,fcb97a46-d5fd-4bb5-b899-17723a9fe346,0,1,a666af62-aa5d-4b2b-b9e5-017d1c93ae6a,a666af62-aa5d-4b2b-b9e5-017d1c93ae6a,0,1,7604b15a-8c5e-4515-84b9-c1d36f9efd0a,7604b15a-8c5e-4515-84b9-c1d36f9efd0a,0,1,a1a44832-6026-47ae-affd-5b6d52e84307,a1a44832-6026-47ae-affd-5b6d52e84307,0,1,d2fd8650-d13a-411d-8206-61b16016bd82,d2fd8650-d13a-411d-8206-61b16016bd82,0,1,f98bcdb8-6eed-4b4f-b3da-d80b5e8bed44,f98bcdb8-6eed-4b4f-b3da-d80b5e8bed44,0,1,4033eb31-8281-402a-afff-431fa36e589e,4033eb31-8281-402a-afff-431fa36e589e,0,1,5a1e1da5-7307-4f48-bb1c-2977fc4d7cef,5a1e1da5-7307-4f48-bb1c-2977fc4d7cef,0,1,f59488c7-4643-4988-8043-5c9724e04279,f59488c7-4643-4988-8043-5c9724e04279,0,1,cfe022b5-7647-4b5c-a2bd-f5d313f4a9db,cfe022b5-7647-4b5c-a2bd-f5d313f4a9db,0,1,77149f7a-8a76-4569-9487-991c41e132ef,77149f7a-8a76-4569-9487-991c41e132ef,0,1,9e1be65e-986f-4d21-91f0-15c66db0c947,9e1be65e-986f-4d21-91f0-15c66db0c947,0,1,75a0f8f1-6d8d-47d0-81c5-20b5e55b9cd1,75a0f8f1-6d8d-47d0-81c5-20b5e55b9cd1,0,1,d2fe4578-a1f8-4586-b052-fa71d25365c9,d2fe4578-a1f8-4586-b052-fa71d25365c9,0,1,f31f3dab-5796-47ac-a54d-3081f8cad817,f31f3dab-5796-47ac-a54d-3081f8cad817,0,1,cd59707e-b9e4-4038-8203-ae22a8060e8d,cd59707e-b9e4-4038-8203-ae22a8060e8d,0,1,db497857-33d3-49a1-b328-dfc62c973ecb,db497857-33d3-49a1-b328-dfc62c973ecb,0,1,139c001c-7b07-465a-9187-399ad32d294f,139c001c-7b07-465a-9187-399ad32d294f,0,1,5d228ce4-069e-4f98-beed-b8e1de17c3d9,5d228ce4-069e-4f98-beed-b8e1de17c3d9,0,1,9770fc09-87bf-4fce-9b0d-410efd30edae,9770fc09-87bf-4fce-9b0d-410efd30edae,0,1,f3d8590a-dcfa-4d41-8d03-642b99ffa040,f3d8590a-dcfa-4d41-8d03-642b99ffa040,0,1,3d73d5ff-995e-40ed-a401-cec2a3d12c8f,3d73d5ff-995e-40ed-a401-cec2a3d12c8f,0,1,20156709-1481-4007-8e89-9ce79fc589fc,20156709-1481-4007-8e89-9ce79fc589fc,0,1,fbcda361-0ef2-47b4-ba1c-1d1952898bd3,fbcda361-0ef2-47b4-ba1c-1d1952898bd3,0,1,7e7c5abd-b645-4de5-a40e-5805ec4456e2,7e7c5abd-b645-4de5-a40e-5805ec4456e2,0,1,763a16c3-a728-4b65-a485-705990310b4a,763a16c3-a728-4b65-a485-705990310b4a,0,1,65338920-c744-4d1e-b351-848b90a3feda,65338920-c744-4d1e-b351-848b90a3feda,0,1,2aedb1ac-caf1-45c7-913e-82a36637d5d4,2aedb1ac-caf1-45c7-913e-82a36637d5d4,0,1,56177464-5e9f-4598-96bc-eb311993c503,56177464-5e9f-4598-96bc-eb311993c503,0,1,c2308e60-2844-4bd8-bc8a-c9c20e5fc62d,c2308e60-2844-4bd8-bc8a-c9c20e5fc62d,0,1,bdfe65f4-4174-4e66-915c-943137981cf0,bdfe65f4-4174-4e66-915c-943137981cf0,0,1,5271de2d-d3a0-4128-90e0-cd8e1ea2ad30,5271de2d-d3a0-4128-90e0-cd8e1ea2ad30,0,1,c895d58a-5be1-4157-81af-f4f6db9b4b9e,c895d58a-5be1-4157-81af-f4f6db9b4b9e,0,1,8ce6cc1a-8570-4704-b9a3-44e815b2e753,8ce6cc1a-8570-4704-b9a3-44e815b2e753,0,1,71aa2bf7-85c9-40f3-a9b0-f6d666eddd28,71aa2bf7-85c9-40f3-a9b0-f6d666eddd28,0,1,497cbe4d-586d-48a2-8e98-d20e3e09ed42,497cbe4d-586d-48a2-8e98-d20e3e09ed42,0,1,150c9d05-4ccc-4cb7-879d-b1d9c3534343,150c9d05-4ccc-4cb7-879d-b1d9c3534343,0,1,38b7679d-3739-4572-baf2-d8c7b2a94f0a,38b7679d-3739-4572-baf2-d8c7b2a94f0a,0,1,1470f052-f032-46bc-b1ee-54555e725dfd,1470f052-f032-46bc-b1ee-54555e725dfd,0,1,4019a5e9-1f50-44b9-98ba-87c07a0ce4e5,4019a5e9-1f50-44b9-98ba-87c07a0ce4e5,0,1,7d336fdd-5cbf-4c92-a783-f451f7590502,7d336fdd-5cbf-4c92-a783-f451f7590502,0,1,ee8af8ee-e49a-4511-9a91-48814ab99d23,ee8af8ee-e49a-4511-9a91-48814ab99d23,0,1,3a7d9d49-b5e5-4c5c-958e-a4c6afda8b9d,3a7d9d49-b5e5-4c5c-958e-a4c6afda8b9d,0,1,bc10ad8f-383c-469a-8c0e-60805161055b,bc10ad8f-383c-469a-8c0e-60805161055b,0,1,86760ecb-2ddd-40ce-bc4f-94c23027a55e,86760ecb-2ddd-40ce-bc4f-94c23027a55e,0,1,6fbf844e-ee8d-490f-9177-6392d262312f,6fbf844e-ee8d-490f-9177-6392d262312f,0,1,703a3e8a-0204-4e8f-8fa0-a2ed1aeb7662,703a3e8a-0204-4e8f-8fa0-a2ed1aeb7662,0,1,f5d90a5a-1adb-49d6-8640-2e4054bdb99f,f5d90a5a-1adb-49d6-8640-2e4054bdb99f,0,1,37722a34-1148-4cc8-95e6-4645ae9cca98,37722a34-1148-4cc8-95e6-4645ae9cca98,0,1,11f32e0f-7d16-4ebd-9cef-fffd2d64e70a,11f32e0f-7d16-4ebd-9cef-fffd2d64e70a,0,1,cc34bd23-de0a-4b09-8333-e4693576b9f4,cc34bd23-de0a-4b09-8333-e4693576b9f4,0,1,b16d5e79-9d7e-4d3e-9be8-3b2a932abf78,b16d5e79-9d7e-4d3e-9be8-3b2a932abf78,0,1,903af13a-1f73-4145-a3d0-971c3be5fbe6,903af13a-1f73-4145-a3d0-971c3be5fbe6,0,1,65000437-bd07-4841-a458-679d44768c46,65000437-bd07-4841-a458-679d44768c46,0,1,fb42ad06-d5a4-40ea-817c-fa7ff385d8db,fb42ad06-d5a4-40ea-817c-fa7ff385d8db,0,1,bc110a6a-26fa-4aa1-a2ef-bdaeaa0a33af,bc110a6a-26fa-4aa1-a2ef-bdaeaa0a33af,0,1,953dbad6-4f5c-4319-874a-db358a77d001,953dbad6-4f5c-4319-874a-db358a77d001,0,1,05243f56-7e9b-4a61-8efb-1b5e525fff21,05243f56-7e9b-4a61-8efb-1b5e525fff21,0,1,7aa86a2d-2b47-447e-8901-806411011279,7aa86a2d-2b47-447e-8901-806411011279,0,1,fca0dfad-f853-4694-9ce9-53a3a10f59b7,fca0dfad-f853-4694-9ce9-53a3a10f59b7,0,1,934b8380-c6e0-49f8-a6c2-91c0ddb2f95e,934b8380-c6e0-49f8-a6c2-91c0ddb2f95e,0,1,57f4ee70-185e-4f2a-91a6-6c0bf93c1000,57f4ee70-185e-4f2a-91a6-6c0bf93c1000,0,1,b4cb92fb-ad82-44ed-9203-397b412b3453,b4cb92fb-ad82-44ed-9203-397b412b3453,0,1,69ceac29-06d3-45f2-b914-7966465cd0d3,69ceac29-06d3-45f2-b914-7966465cd0d3,0,1,b690721d-960b-4374-8d2c-feed3a2b354b,b690721d-960b-4374-8d2c-feed3a2b354b,0,1,271243d3-1871-4a0a-bf7f-63bacacf0a59,271243d3-1871-4a0a-bf7f-63bacacf0a59,0,1,b1ed134b-f2aa-4b06-b7a2-0e524ead04df,b1ed134b-f2aa-4b06-b7a2-0e524ead04df,0,1,1281fe19-bbca-4a4f-84d8-14187e62000f,1281fe19-bbca-4a4f-84d8-14187e62000f,0,1,9b7051d5-abc4-416c-a0e6-515d120d78e4,9b7051d5-abc4-416c-a0e6-515d120d78e4,0,1,86d1bc4e-f08d-48c7-8b3a-3c5feb0c843c,86d1bc4e-f08d-48c7-8b3a-3c5feb0c843c,0,1,869938e6-6310-4326-bd15-5b91fe2e0911,869938e6-6310-4326-bd15-5b91fe2e0911,0,1,8ed7254b-bbf8-49d9-8a73-9a91316fd02d,8ed7254b-bbf8-49d9-8a73-9a91316fd02d,0,1,a156521a-ece1-49d3-8056-1c3508273c45,a156521a-ece1-49d3-8056-1c3508273c45,0,1,075d39e0-a77a-4d0b-9260-7524fb5b2d0c,075d39e0-a77a-4d0b-9260-7524fb5b2d0c,0,1,10018f80-3138-4089-bf9a-a5f178f1e295,10018f80-3138-4089-bf9a-a5f178f1e295,0,1,43aba109-4b7f-45ef-9c30-8b754e81911b,43aba109-4b7f-45ef-9c30-8b754e81911b,0,1,4ccd72e1-7fd7-4a3b-8428-71b44992937e,4ccd72e1-7fd7-4a3b-8428-71b44992937e,0,1,46077650-2b2c-4319-8279-41f277971669,46077650-2b2c-4319-8279-41f277971669,0,1,4afe733d-64a0-4ea5-9d12-6e2c86eb91e4,4afe733d-64a0-4ea5-9d12-6e2c86eb91e4,0,1,612f3b95-d7db-4b33-92b5-4873205b424b,612f3b95-d7db-4b33-92b5-4873205b424b,0,1,d0b79c3d-b0c5-4eb3-9971-1def1c88698f,d0b79c3d-b0c5-4eb3-9971-1def1c88698f,0,1,e82ebd72-7b5a-4f45-b853-1001bf680a05,e82ebd72-7b5a-4f45-b853-1001bf680a05,0,1,a74879b8-c080-4cc0-b44f-2b7c4dae87fe,a74879b8-c080-4cc0-b44f-2b7c4dae87fe,0,1,e9e9b733-e97a-430d-95ce-45ea27751f64,e9e9b733-e97a-430d-95ce-45ea27751f64,0,1,86ffe9a7-9b3e-49ab-bd88-20269fec56bc,86ffe9a7-9b3e-49ab-bd88-20269fec56bc,0,1,3dd50c66-27f7-4f1e-86e9-c709995c8609,3dd50c66-27f7-4f1e-86e9-c709995c8609,0,1,45c0003f-0ed7-4582-b84e-217fdc4ddeaf,45c0003f-0ed7-4582-b84e-217fdc4ddeaf,0,1,ed1369c5-c274-45bd-ae91-7648565ae09f,ed1369c5-c274-45bd-ae91-7648565ae09f,0,1,8d0fce61-a22f-4033-9e03-3f00c4a21722,8d0fce61-a22f-4033-9e03-3f00c4a21722,0,1,bfb3f026-e940-49c3-ac30-408186f9e11e,bfb3f026-e940-49c3-ac30-408186f9e11e,0,1,e1dc83eb-a8cd-454b-8de8-cff2049be78c,e1dc83eb-a8cd-454b-8de8-cff2049be78c,0,1,9edd9288-1463-4d67-b9f0-40f351d978e9,9edd9288-1463-4d67-b9f0-40f351d978e9,0,1,c9db6c68-965f-4567-b26e-5d497a389de1,c9db6c68-965f-4567-b26e-5d497a389de1,0,1,4da2f65d-56bd-4140-9b31-e5ccac4a800a,4da2f65d-56bd-4140-9b31-e5ccac4a800a,0,1,eb163bba-b94c-4a78-9c2d-7b519325e3d4,eb163bba-b94c-4a78-9c2d-7b519325e3d4,0,1,939bdb9a-294b-4b42-a56f-030f69bc29c4,939bdb9a-294b-4b42-a56f-030f69bc29c4,0,1,ee7a763b-bcbf-4ff3-89af-eb7965b33515,ee7a763b-bcbf-4ff3-89af-eb7965b33515,0,1,e72b3ae6-00e9-45d7-a4f3-bc8a5a2f5ae4,e72b3ae6-00e9-45d7-a4f3-bc8a5a2f5ae4,0,1,b8931f98-c1d7-4e9b-be43-065064e7ba95,b8931f98-c1d7-4e9b-be43-065064e7ba95,0,1,ab2b472d-97d5-4c33-86fd-e2cdaedf3f3d,ab2b472d-97d5-4c33-86fd-e2cdaedf3f3d,0,1,60848308-931c-4da3-aa4b-37f6fb4b194f,60848308-931c-4da3-aa4b-37f6fb4b194f,0,1,08af8da8-d44b-46f0-a8d3-60421e7b5a1a,08af8da8-d44b-46f0-a8d3-60421e7b5a1a,0,1,54b14504-503b-45f6-9b5d-785b49829425,54b14504-503b-45f6-9b5d-785b49829425,0,1,80d3ee33-1cdc-4af6-85c2-787094526592,80d3ee33-1cdc-4af6-85c2-787094526592,0,1,c8b28660-6cb0-4ef5-85c2-a75da863ba96,c8b28660-6cb0-4ef5-85c2-a75da863ba96,0,1,1cd607b4-49fc-460e-a014-6afe50083b47,1cd607b4-49fc-460e-a014-6afe50083b47,0,1,a215e767-36e9-4408-9d18-7b4be757022a,a215e767-36e9-4408-9d18-7b4be757022a,0,1,a3e262bc-9f0d-480d-a1d1-c2326105d22d,a3e262bc-9f0d-480d-a1d1-c2326105d22d,0,1,8eae0c79-288b-4773-90bb-49299ad45628,8eae0c79-288b-4773-90bb-49299ad45628,0,1,2faa5594-f1b4-4312-b674-82fdf9623105,2faa5594-f1b4-4312-b674-82fdf9623105,0,1,185c1ad3-b5db-49b6-9342-d08e1bf64903,185c1ad3-b5db-49b6-9342-d08e1bf64903,0,1,3c69a4ad-001d-4421-88f6-412e15d710d6,3c69a4ad-001d-4421-88f6-412e15d710d6,0,1,d0373603-5abb-4f7b-8d2f-9f7fb52615aa,d0373603-5abb-4f7b-8d2f-9f7fb52615aa,0,1,f20a35fe-6029-4dc8-b6b4-b098dbce12e8,f20a35fe-6029-4dc8-b6b4-b098dbce12e8,0,1,6a68a08a-ea37-4573-ab9f-ec822f6d250b,6a68a08a-ea37-4573-ab9f-ec822f6d250b,0,1,00e87d04-8104-420b-b2c6-7304889a75b2,00e87d04-8104-420b-b2c6-7304889a75b2,0,1,bde86820-f7bb-463b-97d0-bfa5f8323af0,bde86820-f7bb-463b-97d0-bfa5f8323af0,0,1,289a6aac-dc4e-4fae-8815-853e78d450bb,289a6aac-dc4e-4fae-8815-853e78d450bb,0,1,557e7d89-83ed-45d0-86cc-6e355f14025d,557e7d89-83ed-45d0-86cc-6e355f14025d,0,1,d681b26b-dd8d-46d7-986e-10f05c37a1e4,d681b26b-dd8d-46d7-986e-10f05c37a1e4,0,1,4d3c216e-c04f-4884-8681-1c861c50ce7d,4d3c216e-c04f-4884-8681-1c861c50ce7d,0,1,4a41eee0-c973-4824-a07c-9fcf731f055e,4a41eee0-c973-4824-a07c-9fcf731f055e,0,1,ee756c33-f408-4449-a6bb-3186a0421362,ee756c33-f408-4449-a6bb-3186a0421362,0,1,fbfa8f64-52e4-48f6-b0fb-fd06976dd93d,fbfa8f64-52e4-48f6-b0fb-fd06976dd93d,0,1,6ff66622-4d20-4696-9fe9-4b4faeb21d96,6ff66622-4d20-4696-9fe9-4b4faeb21d96,0,1,46237eec-c206-4d21-883c-27599b9ed38c,46237eec-c206-4d21-883c-27599b9ed38c,0,1,8b451909-2c15-48f2-b869-65e7031cc542,8b451909-2c15-48f2-b869-65e7031cc542,0,1,ab6ff81a-56aa-4742-afe4-d7a652e9d2de,ab6ff81a-56aa-4742-afe4-d7a652e9d2de,0,1,7b377fca-4466-476f-9eb2-0b00141103d6,7b377fca-4466-476f-9eb2-0b00141103d6,0,1,9ce5eceb-f366-4035-956e-62721358b154,9ce5eceb-f366-4035-956e-62721358b154,0,1,1685c406-d0cb-4e0a-a3b0-036c8c22942a,1685c406-d0cb-4e0a-a3b0-036c8c22942a,0,1,892dc4c4-a72b-4dbf-af62-9f9ae0e05aa1,892dc4c4-a72b-4dbf-af62-9f9ae0e05aa1,0,1,81db41a6-2580-4a69-b1fd-57cfd48a7efa,81db41a6-2580-4a69-b1fd-57cfd48a7efa,0,1,0db8b3b2-bf24-4006-9897-797084c241ef,0db8b3b2-bf24-4006-9897-797084c241ef,0,1,fd9d34d9-9c9c-4c05-9c08-b93d4b237adf,fd9d34d9-9c9c-4c05-9c08-b93d4b237adf,0,1,381b7dae-6b34-42a7-9fee-2a4af8a1cc18,381b7dae-6b34-42a7-9fee-2a4af8a1cc18,0,1,31e9ca0d-9ae1-4740-a0a6-2739aa29c99f,31e9ca0d-9ae1-4740-a0a6-2739aa29c99f,0,1,20091427-d173-40ca-b2c4-53ee99b0b5ae,20091427-d173-40ca-b2c4-53ee99b0b5ae,0,1,14cbde39-a39a-48e5-9b72-b798a0bcea3f,14cbde39-a39a-48e5-9b72-b798a0bcea3f,0,1,56871c10-e3af-4679-afad-3baa910d73bb,56871c10-e3af-4679-afad-3baa910d73bb,0,1,f81b51c5-57e4-41f8-9ad5-3d2717351b95,f81b51c5-57e4-41f8-9ad5-3d2717351b95,0,1,3c09f0cd-fbec-46ae-95b0-a00cc53c07ef,3c09f0cd-fbec-46ae-95b0-a00cc53c07ef,0,1,de0a39e0-d37d-47c6-a019-e44836edc8d1,de0a39e0-d37d-47c6-a019-e44836edc8d1,0,1,1fdcc1e7-ad53-409e-ba13-84c6429740cd,1fdcc1e7-ad53-409e-ba13-84c6429740cd,0,1,71d544bf-15c1-4581-8baa-ac126308425c,71d544bf-15c1-4581-8baa-ac126308425c,0,1,1bd0b688-d0fb-4ca2-85aa-4bd82b72ccc2,1bd0b688-d0fb-4ca2-85aa-4bd82b72ccc2,0,1,7acfe30e-73cb-465a-88f2-92b7275dc49b,7acfe30e-73cb-465a-88f2-92b7275dc49b,0,1,8e387dac-5029-49da-a013-355df0a51a44,8e387dac-5029-49da-a013-355df0a51a44,0,1,13859664-8307-40e8-855b-557b9cf2f1ec,13859664-8307-40e8-855b-557b9cf2f1ec,0,1,e4397fba-507f-497c-9414-7d08ccd4d799,e4397fba-507f-497c-9414-7d08ccd4d799,0,1,794f5fb5-3b8f-4f45-9250-7a3b9d1db383,794f5fb5-3b8f-4f45-9250-7a3b9d1db383,0,1,f7a89bfc-e3c9-4894-a2df-6c229b4e0fd8,f7a89bfc-e3c9-4894-a2df-6c229b4e0fd8,0,1,1e8b70ce-27fc-418f-b3f3-e6efbce9f7a2,1e8b70ce-27fc-418f-b3f3-e6efbce9f7a2,0,1,d915d338-3e4c-45c3-aef5-a07cf41b05f6,d915d338-3e4c-45c3-aef5-a07cf41b05f6,0,1,978640a2-5c4b-4e21-857e-34f00840fba8,978640a2-5c4b-4e21-857e-34f00840fba8,0,1,da2913e3-a29b-423f-9aae-08fed56a7d90,da2913e3-a29b-423f-9aae-08fed56a7d90,0,1,149e72b8-cc03-4b4f-8ca4-07987600c34d,149e72b8-cc03-4b4f-8ca4-07987600c34d,0,1,7649bd7b-fe8c-4338-80fc-153160a5e538,7649bd7b-fe8c-4338-80fc-153160a5e538,0,1,7779cd6d-8fa1-49cb-9bbc-9dfd0979f3f4,7779cd6d-8fa1-49cb-9bbc-9dfd0979f3f4,0,1,3dec1ae7-90bb-45ab-aa04-48cfbc14742e,3dec1ae7-90bb-45ab-aa04-48cfbc14742e,0,1,6137605e-4850-44ec-b4ee-048bd8e0ec3a,6137605e-4850-44ec-b4ee-048bd8e0ec3a,0,1,ee28aa9b-0f31-4d8b-8444-43b8bc88bd23,ee28aa9b-0f31-4d8b-8444-43b8bc88bd23,0,1,0e6e9372-beb4-478e-9428-71b19a60739b,0e6e9372-beb4-478e-9428-71b19a60739b,0,1,32b11498-542f-46b2-829f-1525936ab7fa,32b11498-542f-46b2-829f-1525936ab7fa,0,1,64afa916-4750-4008-8c6c-2a470fb11283,64afa916-4750-4008-8c6c-2a470fb11283,0,1,f4a85bfb-40c7-4f81-af32-d07b96c53ad0,f4a85bfb-40c7-4f81-af32-d07b96c53ad0,0,1,35354abc-9a76-4ee8-8796-c24b37365ea0,35354abc-9a76-4ee8-8796-c24b37365ea0,0,1,7078977f-31bf-427e-ac37-e309d81fe999,7078977f-31bf-427e-ac37-e309d81fe999,0,1,bb39ae51-be82-4bb5-a30e-2bf2b53be59e,bb39ae51-be82-4bb5-a30e-2bf2b53be59e,0,1,d8854555-9e15-4d82-a1fd-656a848a8e8a,d8854555-9e15-4d82-a1fd-656a848a8e8a,0,1,53191842-ea05-4491-84d7-071cd201992d,53191842-ea05-4491-84d7-071cd201992d,0,1,86c70449-4cf7-4baf-9742-b82b134ed929,86c70449-4cf7-4baf-9742-b82b134ed929,0,1,af3b1881-163a-4c07-a1d9-77ceadf59c77,af3b1881-163a-4c07-a1d9-77ceadf59c77,0,1,b78be6fb-7db8-48c8-ba7b-aab1fea34890,b78be6fb-7db8-48c8-ba7b-aab1fea34890,0,1,bd27276a-e80c-4135-b341-f99a816ffe86,bd27276a-e80c-4135-b341-f99a816ffe86,0,1,35306678-147c-4ad1-a3c6-c80a11afa22f,35306678-147c-4ad1-a3c6-c80a11afa22f,0,1,0da75726-ae71-4d83-a696-a774c787a8a2,0da75726-ae71-4d83-a696-a774c787a8a2,0,1,5b30b0e9-f986-49b8-8668-5bb0e09f0cfe,5b30b0e9-f986-49b8-8668-5bb0e09f0cfe,0,1,896a7267-0198-4cbb-b6e6-7aa157c0cc61,896a7267-0198-4cbb-b6e6-7aa157c0cc61,0,1,2005bf54-219b-4111-bff1-e12e2c6dca3e,2005bf54-219b-4111-bff1-e12e2c6dca3e,0,1,abab8f73-d705-4350-b44d-f912649a2190,abab8f73-d705-4350-b44d-f912649a2190,0,1,20c9c25c-f8c9-429f-84bd-543cb809abef,20c9c25c-f8c9-429f-84bd-543cb809abef,0,1,dc5f451e-3275-43a8-9f48-45b83220d461,dc5f451e-3275-43a8-9f48-45b83220d461,0,1,028f5e81-61df-4d13-876d-781c5fd18ee6,028f5e81-61df-4d13-876d-781c5fd18ee6,0,1,3cbb59ef-7f64-4590-8a54-ba01e78283c3,3cbb59ef-7f64-4590-8a54-ba01e78283c3,0,1,a5b83672-2ead-4d0a-a4e5-ddd991f1addc,a5b83672-2ead-4d0a-a4e5-ddd991f1addc,0,1,388eb513-fadb-40cd-8a7b-33b904dd758e,388eb513-fadb-40cd-8a7b-33b904dd758e,0,1,0613c6aa-e1fe-4632-a396-a17ec773158f,0613c6aa-e1fe-4632-a396-a17ec773158f,0,1,1a330987-4c79-4ab7-b250-db8d32c78751,1a330987-4c79-4ab7-b250-db8d32c78751,0,1,555062ed-9a04-41d8-877f-0a667e9a08cd,555062ed-9a04-41d8-877f-0a667e9a08cd,0,1,5b1db523-b5cb-4ff8-8662-5feeb4282b4a,5b1db523-b5cb-4ff8-8662-5feeb4282b4a,0,1,ac160e1c-fef7-4625-84e0-964b397f6bdb,ac160e1c-fef7-4625-84e0-964b397f6bdb,0,1,b8946d9c-dda8-4b94-8cbf-db62b647c53e,b8946d9c-dda8-4b94-8cbf-db62b647c53e,0,1,24215916-7732-4030-9f88-163f644e94f7,24215916-7732-4030-9f88-163f644e94f7,0,1,69697945-9748-4cea-a20f-e244b46de2e8,69697945-9748-4cea-a20f-e244b46de2e8,0,1,68538fd1-262c-43ea-b09f-8a66643a0062,68538fd1-262c-43ea-b09f-8a66643a0062,0,1,d042a8e1-a7b9-4f26-abc4-d618bc73e9f5,d042a8e1-a7b9-4f26-abc4-d618bc73e9f5,0,1,82ad24cc-d9f8-440b-a720-e204101d85da,82ad24cc-d9f8-440b-a720-e204101d85da,0,1,8010065f-aec8-4768-85ec-9eb7b2b01e7e,8010065f-aec8-4768-85ec-9eb7b2b01e7e,0,1,a44348cb-e20c-4afd-8483-3b9c735b352c,a44348cb-e20c-4afd-8483-3b9c735b352c,0,1,ebfe4c74-6e16-4b64-8a52-cea95c446903,ebfe4c74-6e16-4b64-8a52-cea95c446903,0,1,ea9ed37c-7f58-43a8-990c-f1feb5d2d275,ea9ed37c-7f58-43a8-990c-f1feb5d2d275,0,1,d912e472-9553-4b96-8b16-7aaff6c14239,d912e472-9553-4b96-8b16-7aaff6c14239,0,1,b04018b5-a74d-43c9-8519-6cc8aa23fe09,b04018b5-a74d-43c9-8519-6cc8aa23fe09,0,1,8f5af22e-3e73-4a4f-b91e-eccd0f5084fd,8f5af22e-3e73-4a4f-b91e-eccd0f5084fd,0,1,9283277f-2b75-4c3a-810a-8d4071b3afcc,9283277f-2b75-4c3a-810a-8d4071b3afcc,0,1,d03d5b18-57a2-43c0-99ea-8ad9d5788179,d03d5b18-57a2-43c0-99ea-8ad9d5788179,0,1,c491a7fc-14f9-498a-b7dd-575dfc66878e,c491a7fc-14f9-498a-b7dd-575dfc66878e,0,1,db15f8eb-4736-4b47-9cee-3e6883f0888c,db15f8eb-4736-4b47-9cee-3e6883f0888c,0,1,59064eb2-2770-4f1c-96bd-801926fe68ef,59064eb2-2770-4f1c-96bd-801926fe68ef,0,1,6b2340d7-687f-43a3-8eb8-8ddb86712466,6b2340d7-687f-43a3-8eb8-8ddb86712466,0,1,9846e2f6-d82a-42a6-bf50-2a9cdf750a8f,9846e2f6-d82a-42a6-bf50-2a9cdf750a8f,0,1,ca5d586f-81bb-40ee-b3bd-de854857c984,ca5d586f-81bb-40ee-b3bd-de854857c984,0,1,73f89524-dbe8-426f-8ee6-1277eb1967cc,73f89524-dbe8-426f-8ee6-1277eb1967cc,0,1,ee7d970c-cef7-4740-a357-1fe78f88a6e6,ee7d970c-cef7-4740-a357-1fe78f88a6e6,0,1,b5e81952-e469-4f26-b8d2-90e7d9e7bc1d,b5e81952-e469-4f26-b8d2-90e7d9e7bc1d,0,1,6733f1bd-7878-4a33-8995-c07526e87c1a,6733f1bd-7878-4a33-8995-c07526e87c1a,0,1,ec34befe-3c0b-4a75-b943-840c52e7dda5,ec34befe-3c0b-4a75-b943-840c52e7dda5,0,1,7f18eb86-e9ac-4cb8-a9aa-389f61dff582,7f18eb86-e9ac-4cb8-a9aa-389f61dff582,0,1,0b7c4cb7-5126-4b5e-8941-cd56eaef76a0,0b7c4cb7-5126-4b5e-8941-cd56eaef76a0,0,1,144d5498-bb61-4bec-bef3-85a5a4aec3d5,144d5498-bb61-4bec-bef3-85a5a4aec3d5,0,1,9328da5c-4689-4a60-8136-ae9eac46ab38,9328da5c-4689-4a60-8136-ae9eac46ab38,0,1,42641296-64da-46e0-a407-de2d492f9c90,42641296-64da-46e0-a407-de2d492f9c90,0,1,b834af0b-086c-445d-a271-7e178c324551,b834af0b-086c-445d-a271-7e178c324551,0,1,32c10512-7bb8-423b-9503-ab2fa41386a4,32c10512-7bb8-423b-9503-ab2fa41386a4,0,1,888edfc4-8140-4675-b267-c32bf1d8d29d,888edfc4-8140-4675-b267-c32bf1d8d29d,0,1,f7e73257-fae1-465a-ae74-faaa0273a416,f7e73257-fae1-465a-ae74-faaa0273a416,0,1,2abbd53a-0ead-42af-8df6-fde663aea300,2abbd53a-0ead-42af-8df6-fde663aea300,0,1,24611bf9-5492-443a-935c-a0058e86493f,24611bf9-5492-443a-935c-a0058e86493f,0,1,af22406b-daac-475d-b6a9-577452502b84,af22406b-daac-475d-b6a9-577452502b84,0,1,7a925960-a579-4b06-90e0-5121dc774024,7a925960-a579-4b06-90e0-5121dc774024,0,1,13beb01d-dd08-4a6d-863b-651e70bbf51f,13beb01d-dd08-4a6d-863b-651e70bbf51f,0,1,a53f6e85-fbf7-4fb1-9301-d63e812fe16c,a53f6e85-fbf7-4fb1-9301-d63e812fe16c,0,1,57a0f5f3-6573-4b35-af25-cea3a25641f1,57a0f5f3-6573-4b35-af25-cea3a25641f1,0,1,ff18803b-4c3a-4720-a718-7547f04c6e2f,ff18803b-4c3a-4720-a718-7547f04c6e2f,0,1,0e0670d6-d8f7-4728-bd1b-f016fffa0570,0e0670d6-d8f7-4728-bd1b-f016fffa0570,0,1,40b08a20-51a3-438b-ba54-466917ea809f,40b08a20-51a3-438b-ba54-466917ea809f,0,1,ecaa0af8-549c-4c07-82ff-1c4e02ff15b8,ecaa0af8-549c-4c07-82ff-1c4e02ff15b8,0,1,45a8c780-c067-40d7-bbe9-81f854aacf7a,45a8c780-c067-40d7-bbe9-81f854aacf7a,0,1,57885cac-059a-4a08-aa2c-43b116d2c777,57885cac-059a-4a08-aa2c-43b116d2c777,0,1,c0403df4-b1f2-4d7e-adb5-9ed881c1359b,c0403df4-b1f2-4d7e-adb5-9ed881c1359b,0,1,56b570b1-93b0-468a-9672-9c71113753f3,56b570b1-93b0-468a-9672-9c71113753f3,0,1,e693eac3-f55d-4102-ac6d-b14ef33fb2e7,e693eac3-f55d-4102-ac6d-b14ef33fb2e7,0,1,e7b0ae70-0192-456c-9dc5-e66049fa9df2,e7b0ae70-0192-456c-9dc5-e66049fa9df2,0,1,68944d09-618e-4fa3-a7af-8c84218e0ac7,68944d09-618e-4fa3-a7af-8c84218e0ac7,0,1,91b12ce3-e8ba-4c9d-9daa-1d5532500314,91b12ce3-e8ba-4c9d-9daa-1d5532500314,0,1,733dc291-0bef-4fe8-ac9f-63440f0c2ad0,733dc291-0bef-4fe8-ac9f-63440f0c2ad0,0,1,5b7b7dc3-dbef-4854-9395-30a3ae4d751c,5b7b7dc3-dbef-4854-9395-30a3ae4d751c,0,1,cb57aabc-eeef-42b4-9bc2-873cebd9618c,cb57aabc-eeef-42b4-9bc2-873cebd9618c,0,1,2fcd2c85-6778-42fa-9bdd-a6ba47497ec0,2fcd2c85-6778-42fa-9bdd-a6ba47497ec0,0,1,52f30ed7-aa16-4ce2-9684-e50229ab0015,52f30ed7-aa16-4ce2-9684-e50229ab0015,0,1,79c2e2bd-f923-42ec-8bdc-3e517e08ee7c,79c2e2bd-f923-42ec-8bdc-3e517e08ee7c,0,1,0526492c-be48-4c84-8d68-19fa1c7e9d6e,0526492c-be48-4c84-8d68-19fa1c7e9d6e,0,1,54ecaf7b-9bc5-483c-96e1-270bcd323590,54ecaf7b-9bc5-483c-96e1-270bcd323590,0,1,2a1f77ba-fa2e-4281-8e68-7ec4ca0261b7,2a1f77ba-fa2e-4281-8e68-7ec4ca0261b7,0,1,58f6f8fa-7473-40f5-973a-6279335d8f33,58f6f8fa-7473-40f5-973a-6279335d8f33,0,1,ec0c3187-de61-4bc8-a52a-7617f47ffb6d,ec0c3187-de61-4bc8-a52a-7617f47ffb6d,0,1,1e71ec59-55a4-45e8-a8c9-f70c2cb56589,1e71ec59-55a4-45e8-a8c9-f70c2cb56589,0,1,fa3632fe-185b-49aa-85ae-dfb721835d40,fa3632fe-185b-49aa-85ae-dfb721835d40,0,1,a4f15108-477c-465e-aaea-cb495ef52cf5,a4f15108-477c-465e-aaea-cb495ef52cf5,0,1,9cda5c2c-f401-4f63-b445-cef160296e48,9cda5c2c-f401-4f63-b445-cef160296e48,0,1,e8ae4a26-3127-43ae-af7a-c2e278d2611d,e8ae4a26-3127-43ae-af7a-c2e278d2611d,0,1,b923c78f-d074-41b4-b832-086686258f19,b923c78f-d074-41b4-b832-086686258f19,0,1,8ff96413-6fdd-4b8d-a181-ea0d8633defc,8ff96413-6fdd-4b8d-a181-ea0d8633defc,0,1,54604ed2-766b-4308-b99e-447817d82799,54604ed2-766b-4308-b99e-447817d82799,0,1,7abdb07b-edbc-4c3b-aa53-afaa92dc9071,7abdb07b-edbc-4c3b-aa53-afaa92dc9071,0,1,f48b4475-2cd9-41df-962a-6529f84985ca,f48b4475-2cd9-41df-962a-6529f84985ca,0,1,2fbfe405-48e6-4abf-99c2-7f1f66a62b48,2fbfe405-48e6-4abf-99c2-7f1f66a62b48,0,1,5e6637c7-19b5-4ac2-a8e9-d119e49f444e,5e6637c7-19b5-4ac2-a8e9-d119e49f444e,0,1,bf94feb9-edf7-4df8-b5f5-805613663a0a,bf94feb9-edf7-4df8-b5f5-805613663a0a,0,1,6d852a13-c85e-4e84-8396-f91c1ed0596e,6d852a13-c85e-4e84-8396-f91c1ed0596e,0,1,9c2d5313-a4fd-417e-a340-ad4980d0028b,9c2d5313-a4fd-417e-a340-ad4980d0028b,0,1,4fb4a280-9426-4c41-a9ba-11f9d01a0740,4fb4a280-9426-4c41-a9ba-11f9d01a0740,0,1,1591ee7e-870c-4bf7-9450-be84f1b2506f,1591ee7e-870c-4bf7-9450-be84f1b2506f,0,1,8f088f33-92d7-4e35-915d-6cda1129dd80,8f088f33-92d7-4e35-915d-6cda1129dd80,0,1,9a8578a2-8a92-4ab3-a480-173340f8b34a,9a8578a2-8a92-4ab3-a480-173340f8b34a,0,1,4889d27b-435b-4059-a34d-6afdf3c77fa3,4889d27b-435b-4059-a34d-6afdf3c77fa3,0,1,4ebf0988-ccc3-440c-bd0f-2d01636bd730,4ebf0988-ccc3-440c-bd0f-2d01636bd730,0,1,69f42341-268b-4e74-9d6d-527800d018ab,69f42341-268b-4e74-9d6d-527800d018ab,0,1,c1be2a02-53b8-4c28-92b2-b6e0c83ab452,c1be2a02-53b8-4c28-92b2-b6e0c83ab452,0,1,ca6ecedc-f4c5-4c14-8a02-6255ce45033a,ca6ecedc-f4c5-4c14-8a02-6255ce45033a,0,1,7eb5217f-684d-4a9e-8aef-48cedc809cbb,7eb5217f-684d-4a9e-8aef-48cedc809cbb,0,1,4b54d626-dc59-4e49-a708-0a7f98833b9a,4b54d626-dc59-4e49-a708-0a7f98833b9a,0,1,1c90a423-ef1b-42dc-a43b-1fda89672481,1c90a423-ef1b-42dc-a43b-1fda89672481,0,1,095cf2d6-5a7c-452d-8d60-991afb6e52bd,095cf2d6-5a7c-452d-8d60-991afb6e52bd,0,1,2c155a03-2aff-4632-adb2-be3266e0fac3,2c155a03-2aff-4632-adb2-be3266e0fac3,0,1,f9213a70-bfd6-464f-b28b-ed35bdf351c0,f9213a70-bfd6-464f-b28b-ed35bdf351c0,0,1,ca5957af-69c9-4640-b9a9-b241c4f9eaa7,ca5957af-69c9-4640-b9a9-b241c4f9eaa7,0,1,7e32c295-a769-4cff-a3eb-992f7031475f,7e32c295-a769-4cff-a3eb-992f7031475f,0,1,eb81610a-eb2f-4068-ba74-75e0f5bbace8,eb81610a-eb2f-4068-ba74-75e0f5bbace8,0,1,21826316-0b49-4034-a49e-6d34c15ceb5c,21826316-0b49-4034-a49e-6d34c15ceb5c,0,1,3abffa47-8d47-4173-897b-708e1a06ef39,3abffa47-8d47-4173-897b-708e1a06ef39,0,1,0cf3d615-76a1-428d-9d25-0d7fdf09e4ae,0cf3d615-76a1-428d-9d25-0d7fdf09e4ae,0,1,5a398637-a06c-4442-9093-a864fa7f049f,5a398637-a06c-4442-9093-a864fa7f049f,0,1,38692186-a62a-42d1-87cd-7dbc6d4816ed,38692186-a62a-42d1-87cd-7dbc6d4816ed,0,1,6cfcdb89-ccb2-45fe-a7b1-5a29ccd6c5ae,6cfcdb89-ccb2-45fe-a7b1-5a29ccd6c5ae,0,1,3a28cea9-7fd7-4834-ab89-2a74331a64e3,3a28cea9-7fd7-4834-ab89-2a74331a64e3,0,1,0f881709-4520-4f18-af9d-cf08757693ff,0f881709-4520-4f18-af9d-cf08757693ff,0,1,c5151ca9-5103-42b2-8573-273c15416db8,c5151ca9-5103-42b2-8573-273c15416db8,0,1,fe4aa694-76c4-49c9-96ce-a2476f4ff58b,fe4aa694-76c4-49c9-96ce-a2476f4ff58b,0,1,ba8c43ad-678a-4b18-8bbe-5a1b12d19b74,ba8c43ad-678a-4b18-8bbe-5a1b12d19b74,0,1,115a6019-ef87-4126-8ebf-070c1e882940,115a6019-ef87-4126-8ebf-070c1e882940,0,1,162ce023-b2e1-41dc-bcaf-b8e30caccce0,162ce023-b2e1-41dc-bcaf-b8e30caccce0,0,1,52bdd3cc-7103-4dbf-a3c3-dd46cf03da12,52bdd3cc-7103-4dbf-a3c3-dd46cf03da12,0,1,c13fb1cd-fe72-48a6-b383-55b6323619ce,c13fb1cd-fe72-48a6-b383-55b6323619ce,0,1,956fc8ee-96be-4309-b1e8-209372f151ab,956fc8ee-96be-4309-b1e8-209372f151ab,0,1,526c688e-a4d4-45f7-8bba-b8ceff38fe27,526c688e-a4d4-45f7-8bba-b8ceff38fe27,0,1,67efa786-312f-4c9c-b970-0320e92069af,67efa786-312f-4c9c-b970-0320e92069af,0,1,12f85e09-1190-4483-b531-630ab718db7f,12f85e09-1190-4483-b531-630ab718db7f,0,1,52f4453e-e968-4290-a79a-470f68fbd07f,52f4453e-e968-4290-a79a-470f68fbd07f,0,1,5b952e35-1037-4447-8293-6d8889692c8b,5b952e35-1037-4447-8293-6d8889692c8b,0,1,05bc8b4e-8c90-4502-8b16-7b1e7625d569,05bc8b4e-8c90-4502-8b16-7b1e7625d569,0,1,ce34d88d-3017-4197-a962-ea23a6a96d32,ce34d88d-3017-4197-a962-ea23a6a96d32,0,1,2cbc16da-aa67-4ad6-82f8-fa6922447be6,2cbc16da-aa67-4ad6-82f8-fa6922447be6,0,1,19d7a1ba-c343-4575-95da-53dac6d4b2cb,19d7a1ba-c343-4575-95da-53dac6d4b2cb,0,1,6cc8b3a0-3377-4b39-b6b0-69c862a15465,6cc8b3a0-3377-4b39-b6b0-69c862a15465,0,1,acb193f4-52e5-4572-a79b-b825a2f6525f,acb193f4-52e5-4572-a79b-b825a2f6525f,0,1,5d46f719-e468-48e2-b4ec-acb85c710451,5d46f719-e468-48e2-b4ec-acb85c710451,0,1,9fb13bfe-80c7-43c3-b0da-9185ab197ce2,9fb13bfe-80c7-43c3-b0da-9185ab197ce2,0,1,cd80a520-1d1c-4d80-8a4a-360ac1ca98d8,cd80a520-1d1c-4d80-8a4a-360ac1ca98d8,0,1,e9aef0c8-9dc4-4c4a-8288-8b2d9860624d,e9aef0c8-9dc4-4c4a-8288-8b2d9860624d,0,1,5422610d-b92c-4213-a58c-8db067d93b66,5422610d-b92c-4213-a58c-8db067d93b66,0,1,8f59a635-9e0e-470d-8fda-a47a262a59c2,8f59a635-9e0e-470d-8fda-a47a262a59c2,0,1,ffb50eb9-149a-46ec-9472-d8f20ad09810,ffb50eb9-149a-46ec-9472-d8f20ad09810,0,1,5ae3bba3-dc98-4470-a73d-3bd951c0a3f2,5ae3bba3-dc98-4470-a73d-3bd951c0a3f2,0,1,7a6449e2-e90a-4720-a769-192284ef69c1,7a6449e2-e90a-4720-a769-192284ef69c1,0,1,02118b98-2349-46b1-a328-d6e2b5781f7e,02118b98-2349-46b1-a328-d6e2b5781f7e,0,1,67de9cbb-5c80-4cff-bfbe-269a958e08e6,67de9cbb-5c80-4cff-bfbe-269a958e08e6,0,1,2228a457-6805-41ee-85af-5ebca9568bf4,2228a457-6805-41ee-85af-5ebca9568bf4,0,1,96b71795-e230-4ecb-b98d-4feb3f8b9662,96b71795-e230-4ecb-b98d-4feb3f8b9662,0,1,04055821-03ce-4049-af2c-8670c80517f6,04055821-03ce-4049-af2c-8670c80517f6,0,1,0101305d-62eb-4802-9cd4-d615a518d842,0101305d-62eb-4802-9cd4-d615a518d842,0,1,898d2ba7-631a-4e7a-9bdf-cd2ef411e57a,898d2ba7-631a-4e7a-9bdf-cd2ef411e57a,0,1,bf1fc624-60d7-4a04-bb3a-b6e2882bebfe,bf1fc624-60d7-4a04-bb3a-b6e2882bebfe,0,1,7c424424-9660-462d-9cf2-4c1e6bd284fa,7c424424-9660-462d-9cf2-4c1e6bd284fa,0,1,e118f957-ab2c-473b-ab64-37032f727416,e118f957-ab2c-473b-ab64-37032f727416,0,1,e770e26e-a3a4-487d-b3bb-aeb63d8b7323,e770e26e-a3a4-487d-b3bb-aeb63d8b7323,0,1,21f64e5f-dc94-4ce9-b836-e75646ae3325,21f64e5f-dc94-4ce9-b836-e75646ae3325,0,1,82e8a180-f2e1-406c-9609-89d33504aff2,82e8a180-f2e1-406c-9609-89d33504aff2,0,1,e7437c81-3d5b-466e-880c-8febe4a68e88,e7437c81-3d5b-466e-880c-8febe4a68e88,0,1,99bc26f9-ba56-4c63-9fd1-c2f3d630b93c,99bc26f9-ba56-4c63-9fd1-c2f3d630b93c,0,1,307771e6-bcf7-4016-b369-e1655bbe9e94,307771e6-bcf7-4016-b369-e1655bbe9e94,0,1,bf8c60f7-7dea-4a2c-8ce2-7001a6a37bfa,bf8c60f7-7dea-4a2c-8ce2-7001a6a37bfa,0,1,38fc6a54-846c-40b0-9254-3261f540bf18,38fc6a54-846c-40b0-9254-3261f540bf18,0,1,d9134d0c-56cd-4b8f-ab11-ae37fc306801,d9134d0c-56cd-4b8f-ab11-ae37fc306801,0,1,9408d0ee-bd61-4b95-ac7c-98de139b5f9e,9408d0ee-bd61-4b95-ac7c-98de139b5f9e,0,1,8f2af24b-f5fa-4f6d-831e-28453bdedefc,8f2af24b-f5fa-4f6d-831e-28453bdedefc,0,1,d119e21d-0087-4f22-b3bd-b14707b65330,d119e21d-0087-4f22-b3bd-b14707b65330,0,1,dc9b4072-11de-40fe-bf2a-f7b15af0a250,dc9b4072-11de-40fe-bf2a-f7b15af0a250,0,1,e2cf5ca9-c2a0-4506-89e6-318cad0a48a3,e2cf5ca9-c2a0-4506-89e6-318cad0a48a3,0,1,5aecdfd1-1cd7-4523-be23-7e32fcb01a94,5aecdfd1-1cd7-4523-be23-7e32fcb01a94,0,1,932b1c1a-72eb-49cd-8218-d0ced9c454d8,932b1c1a-72eb-49cd-8218-d0ced9c454d8,0,1,96d70dc4-02bd-47ad-9465-81de6ff5bdc9,96d70dc4-02bd-47ad-9465-81de6ff5bdc9,0,1,38acaf7a-5a77-40bf-ba2a-17b31cccd37d,38acaf7a-5a77-40bf-ba2a-17b31cccd37d,0,1,cb604857-8e49-4f2f-b5c8-2a7d8a3cf8e4,cb604857-8e49-4f2f-b5c8-2a7d8a3cf8e4,0,1,f33e9c76-e523-4f4e-ab4b-3fc1b256d8dd,f33e9c76-e523-4f4e-ab4b-3fc1b256d8dd,0,1,5dd336c4-88c5-4f53-acf0-5f86a658c528,5dd336c4-88c5-4f53-acf0-5f86a658c528,0,1,c723112b-286d-46f1-989d-81252062a025,c723112b-286d-46f1-989d-81252062a025,0,1,67e8b47e-4bad-4b2f-b196-8a9708893051,67e8b47e-4bad-4b2f-b196-8a9708893051,0,1,a583e53a-3f3c-48c7-8928-37ce40b2bafe,a583e53a-3f3c-48c7-8928-37ce40b2bafe,0,1,a844dd4a-274a-4894-9446-031dbe006084,a844dd4a-274a-4894-9446-031dbe006084,0,1,9a740f81-5437-47af-8ed9-ea62edcb2ea1,9a740f81-5437-47af-8ed9-ea62edcb2ea1,0,1,cdf54c86-0a1c-4f74-93ee-6d8d8db0a778,cdf54c86-0a1c-4f74-93ee-6d8d8db0a778,0,1,77bdd30f-4933-4bda-9c7a-b0a097da0910,77bdd30f-4933-4bda-9c7a-b0a097da0910,0,1,a8d52851-4293-4fe4-b2cb-f9c8c166ed97,a8d52851-4293-4fe4-b2cb-f9c8c166ed97,0,1,d4879ecc-8f1a-4183-99a8-d6dfc1eed3f8,d4879ecc-8f1a-4183-99a8-d6dfc1eed3f8,0,1,a682e9e1-284f-4e32-86b2-6736f159f585,a682e9e1-284f-4e32-86b2-6736f159f585,0,1,84f0bd89-9b86-440f-b942-9b685e22233e,84f0bd89-9b86-440f-b942-9b685e22233e,0,1,f2d508b3-9425-4ce6-86d8-5893ca4a8cd6,f2d508b3-9425-4ce6-86d8-5893ca4a8cd6,0,1,ce61612f-bcbb-4a02-bca0-d88e0ee42bd7,ce61612f-bcbb-4a02-bca0-d88e0ee42bd7,0,1,c1c35035-44cc-4aa1-ae8e-db3513ddc5f3,c1c35035-44cc-4aa1-ae8e-db3513ddc5f3,0,1,ac52baa1-02cb-4ce8-8f4f-1f9441b1cda0,ac52baa1-02cb-4ce8-8f4f-1f9441b1cda0,0,1,fabf8a0b-366f-4f23-9377-315534bb854b,fabf8a0b-366f-4f23-9377-315534bb854b,0,1,7aac6439-64c9-4492-b866-bf91dda82d06,7aac6439-64c9-4492-b866-bf91dda82d06,0,1,6ffe3723-c6df-497b-a3ff-d817fbabfd8c,6ffe3723-c6df-497b-a3ff-d817fbabfd8c,0,1,528a82b7-ef06-4d90-bb32-bd6d76ed6c74,528a82b7-ef06-4d90-bb32-bd6d76ed6c74,0,1,08b86f29-64ef-467a-af1a-d27ffdf621ba,08b86f29-64ef-467a-af1a-d27ffdf621ba,0,1,6483d1ab-c53d-4985-ad7e-b799adbcd9da,6483d1ab-c53d-4985-ad7e-b799adbcd9da,0,1,82f66233-ed13-49ae-ab72-7cf91c88c760,82f66233-ed13-49ae-ab72-7cf91c88c760,0,1,75cddbcd-e960-4164-81d8-ac0a2a36e95b,75cddbcd-e960-4164-81d8-ac0a2a36e95b,0,1,e14d57f4-ae4a-4644-9ec1-a6af1b3e4c41,e14d57f4-ae4a-4644-9ec1-a6af1b3e4c41,0,1,314f8451-ba96-46cd-bf9f-3a87df7d2a5b,314f8451-ba96-46cd-bf9f-3a87df7d2a5b,0,1,d9151001-a911-45c1-a8e6-dcf0da623ed3,d9151001-a911-45c1-a8e6-dcf0da623ed3,0,1,30e06f80-b6d0-4fa9-a346-8e17dbe2fb68,30e06f80-b6d0-4fa9-a346-8e17dbe2fb68,0,1,e589a693-ff50-4c36-ae26-a8fcae966d57,e589a693-ff50-4c36-ae26-a8fcae966d57,0,1,8bacb87e-c2e9-41f5-bae1-c3a6b0e8179f,8bacb87e-c2e9-41f5-bae1-c3a6b0e8179f,0,1,90f023f5-5b48-4f98-bfc6-b704277a355d,90f023f5-5b48-4f98-bfc6-b704277a355d,0,1,99485603-706d-4301-be25-82b1c0ee8f4d,99485603-706d-4301-be25-82b1c0ee8f4d,0,1,e7a28021-c75e-41b2-9974-cf4beee34d28,e7a28021-c75e-41b2-9974-cf4beee34d28,0,1,21e3bdf3-7cec-42de-8ef3-5815b9a1b747,21e3bdf3-7cec-42de-8ef3-5815b9a1b747,0,1,2a603c61-4cbf-4c6d-a0b2-40c835d36737,2a603c61-4cbf-4c6d-a0b2-40c835d36737,0,1,a8d7f071-401b-499e-957c-d077d8002e54,a8d7f071-401b-499e-957c-d077d8002e54,0,1,211a539b-4be9-4816-98f6-f756e65eafd8,211a539b-4be9-4816-98f6-f756e65eafd8,0,1,e2d8167d-3ebf-4771-b9e0-e6382d68cc18,e2d8167d-3ebf-4771-b9e0-e6382d68cc18,0,1,e9b9da80-7806-4c9c-a002-01cfa3109169,e9b9da80-7806-4c9c-a002-01cfa3109169,0,1,a271041d-0203-4ecd-bb39-70256c50192e,a271041d-0203-4ecd-bb39-70256c50192e,0,1,73eff626-a363-4a5a-879e-61ef6ce0726f,73eff626-a363-4a5a-879e-61ef6ce0726f,0,1,acf15b79-a6c4-4c46-8013-50d3b223baf6,acf15b79-a6c4-4c46-8013-50d3b223baf6,0,1,f6a29b80-e4c3-4c4f-8e2c-d4dda851d813,f6a29b80-e4c3-4c4f-8e2c-d4dda851d813,0,1,2d8d5d74-2bc0-4282-af66-e4a37694c147,2d8d5d74-2bc0-4282-af66-e4a37694c147,0,1,cfd31341-287b-4684-9ac0-b28b4e066f15,cfd31341-287b-4684-9ac0-b28b4e066f15,0,1,81de1b0b-7f2d-4098-ae99-061c6a90dc29,81de1b0b-7f2d-4098-ae99-061c6a90dc29,0,1,f829e2a9-5bdb-4171-8b32-8d10d5968813,f829e2a9-5bdb-4171-8b32-8d10d5968813,0,1,647ba8f8-57f7-4c19-af59-525517c1e392,647ba8f8-57f7-4c19-af59-525517c1e392,0,1,39062cb3-4ae8-4c0d-889b-038a55179946,39062cb3-4ae8-4c0d-889b-038a55179946,0,1,c62d4212-36ca-4afb-bac9-269b6f64ca51,c62d4212-36ca-4afb-bac9-269b6f64ca51,0,1,5cec5e16-46ad-4f8c-b869-f5b1cc487884,5cec5e16-46ad-4f8c-b869-f5b1cc487884,0,1,ca0363bb-81c2-4fce-b2f0-e8f42d118a74,ca0363bb-81c2-4fce-b2f0-e8f42d118a74,0,1,7aacdf81-49fd-47a3-a36a-c483f1b05872,7aacdf81-49fd-47a3-a36a-c483f1b05872,0,1,857015e2-afb2-403d-bfb7-7acb5080797b,857015e2-afb2-403d-bfb7-7acb5080797b,0,1,5657286b-114b-41de-ab7d-45d0f0d95e2d,5657286b-114b-41de-ab7d-45d0f0d95e2d,0,1,42a0271e-6783-44db-95c1-09805ae01f58,42a0271e-6783-44db-95c1-09805ae01f58,0,1,8628783e-4fad-4dff-8220-9e0ddc8580f8,8628783e-4fad-4dff-8220-9e0ddc8580f8,0,1,356fc245-3034-42d1-84d0-632c6dc7a3d5,356fc245-3034-42d1-84d0-632c6dc7a3d5,0,1,07462664-6b58-4f5a-9b3f-2e5c376f17df,07462664-6b58-4f5a-9b3f-2e5c376f17df,0,1,6f23e946-f700-424b-b9bf-3a9c8846908d,6f23e946-f700-424b-b9bf-3a9c8846908d,0,1,f3ef5989-a848-4a7f-8ac5-0eca882a6aa1,f3ef5989-a848-4a7f-8ac5-0eca882a6aa1,0,1,4f5087ab-cc60-4d1e-ba83-a319536bf8ba,4f5087ab-cc60-4d1e-ba83-a319536bf8ba,0,1,07d0d6e9-e0a7-4543-9668-3850c1e0a15c,07d0d6e9-e0a7-4543-9668-3850c1e0a15c,0,1,c656771c-dcb7-4c78-9a16-e62806d5bb5a,c656771c-dcb7-4c78-9a16-e62806d5bb5a,0,1,ec42c45c-18ca-44b0-9c59-1cb204552a43,ec42c45c-18ca-44b0-9c59-1cb204552a43,0,1,2aafb1a1-4321-47e9-9783-03ab616a2873,2aafb1a1-4321-47e9-9783-03ab616a2873,0,1,71109997-6da0-4eaf-bbf2-f94fa24f37cc,71109997-6da0-4eaf-bbf2-f94fa24f37cc,0,1,a3deeef2-f8a2-462f-a57f-87d89e4ec12a,a3deeef2-f8a2-462f-a57f-87d89e4ec12a,0,1,d601281c-379d-4a9d-843e-478fd6567415,d601281c-379d-4a9d-843e-478fd6567415,0,1,fd9b3f7d-d25d-4ecb-8b87-218d5ccf1f7b,fd9b3f7d-d25d-4ecb-8b87-218d5ccf1f7b,0,1,427e6f15-334e-42be-9554-895d8f7ebfc6,427e6f15-334e-42be-9554-895d8f7ebfc6,0,1,e85a4314-7b63-4294-9bd0-ff77e3ae7c1e,e85a4314-7b63-4294-9bd0-ff77e3ae7c1e,0,1,36bc8523-41a5-48ff-9bd0-758d078c4408,36bc8523-41a5-48ff-9bd0-758d078c4408,0,1,94ca1b45-3cf0-4857-8299-999c93f4fb56,94ca1b45-3cf0-4857-8299-999c93f4fb56,0,1,ee8419c6-79ca-4546-9a66-bacaa08d2a73,ee8419c6-79ca-4546-9a66-bacaa08d2a73,0,1,e36ddb60-2f21-4c5f-b96c-947bcf2af42a,e36ddb60-2f21-4c5f-b96c-947bcf2af42a,0,1,d4a0ca3b-3985-4ba2-9e96-1c5baed28b46,d4a0ca3b-3985-4ba2-9e96-1c5baed28b46,0,1,ada11ea2-94d5-4172-a383-a51774599568,ada11ea2-94d5-4172-a383-a51774599568,0,1,50515bbc-43ee-4b00-bfc5-105b7981bd8f,50515bbc-43ee-4b00-bfc5-105b7981bd8f,0,1,1ea080b0-0a11-4152-b8bb-4918bc142a23,1ea080b0-0a11-4152-b8bb-4918bc142a23,0,1,a21cd1c1-4649-4dc2-9dbd-a913f2d6ca75,a21cd1c1-4649-4dc2-9dbd-a913f2d6ca75,0,1,6930e471-7935-4d68-a980-2acde93ba801,6930e471-7935-4d68-a980-2acde93ba801,0,1,2c425fa5-b10b-4a6f-926a-5cb4c1f2d491,2c425fa5-b10b-4a6f-926a-5cb4c1f2d491,0,1,5135cc48-c749-4acb-a225-d110f386f482,5135cc48-c749-4acb-a225-d110f386f482,0,1,15e6f31b-556a-4f47-9f40-2f69ac7fcb43,15e6f31b-556a-4f47-9f40-2f69ac7fcb43,0,1,53c4c3b2-9257-4d02-8df8-6b55fe9abdae,53c4c3b2-9257-4d02-8df8-6b55fe9abdae,0,1,d2dba2ae-e987-4c9d-a289-3dc19afa87cd,d2dba2ae-e987-4c9d-a289-3dc19afa87cd,0,1,2e9fa546-96fb-4ecb-b933-7921e131e89b,2e9fa546-96fb-4ecb-b933-7921e131e89b,0,1,4645b1ad-eb8f-484c-b29c-2093d9ef9dba,4645b1ad-eb8f-484c-b29c-2093d9ef9dba,0,1,637a132b-1a88-44ba-b45f-ed4ed1ac1001,637a132b-1a88-44ba-b45f-ed4ed1ac1001,0,1,699f734b-43d2-4351-bff8-e0e21e164a42,699f734b-43d2-4351-bff8-e0e21e164a42,0,1,95f0792a-7ac4-450a-b05c-219741e61abd,95f0792a-7ac4-450a-b05c-219741e61abd,0,1,742a2e8c-496e-4e02-931d-d33f7afe07a5,742a2e8c-496e-4e02-931d-d33f7afe07a5,0,1,c3efa853-cd29-4618-929f-e3bec33dfd65,c3efa853-cd29-4618-929f-e3bec33dfd65,0,1,62185c28-3d24-487a-9441-b309dcf11e31,62185c28-3d24-487a-9441-b309dcf11e31,0,1,9f264aeb-664d-4724-8248-11873d63ef3b,9f264aeb-664d-4724-8248-11873d63ef3b,0,1,b926d058-53a9-4eea-b4f9-98e77f798dd9,b926d058-53a9-4eea-b4f9-98e77f798dd9,0,1,495e2c77-4868-4191-ac18-f94e55a5982e,495e2c77-4868-4191-ac18-f94e55a5982e,0,1,20191a65-322c-457d-85f5-ed1258b6fe8e,20191a65-322c-457d-85f5-ed1258b6fe8e,0,1,23b46ecd-14dc-4cc5-8ff0-c676a8337aee,23b46ecd-14dc-4cc5-8ff0-c676a8337aee,0,1,769c60aa-44f4-4c98-a461-d3f5c2b67f61,769c60aa-44f4-4c98-a461-d3f5c2b67f61,0,1,f9809c99-0eaa-4249-967c-a4bef4763277,f9809c99-0eaa-4249-967c-a4bef4763277,0,1,37fa88a0-f2c1-455f-a28d-74165e8b933d,37fa88a0-f2c1-455f-a28d-74165e8b933d,0,1,e4476f09-909b-49f7-8e01-72eea8ceaca6,e4476f09-909b-49f7-8e01-72eea8ceaca6,0,1,2861412c-46f0-454e-b81d-fe081afb5c7a,2861412c-46f0-454e-b81d-fe081afb5c7a,0,1,2b4ece05-b694-42e9-8239-55722fd84294,2b4ece05-b694-42e9-8239-55722fd84294,0,1,6564ce89-134f-4726-8693-fd93aad46180,6564ce89-134f-4726-8693-fd93aad46180,0,1,0d743731-da5d-4c99-b19f-e93c69b77e14,0d743731-da5d-4c99-b19f-e93c69b77e14,0,1,d6f15367-23e2-4766-bc7c-8acd0063aa0c,d6f15367-23e2-4766-bc7c-8acd0063aa0c,0,1,966b1bde-5b0c-446d-b38b-dc037e2ff7ad,966b1bde-5b0c-446d-b38b-dc037e2ff7ad,0,1,fa4c5665-4d73-4db2-a055-8c1c8a302f82,fa4c5665-4d73-4db2-a055-8c1c8a302f82,0,1,e3e0caa1-6d3f-45a6-9043-d58a34f35b8f,e3e0caa1-6d3f-45a6-9043-d58a34f35b8f,0,1,9100b286-8ae9-4de3-b116-5ce0fa95b80c,9100b286-8ae9-4de3-b116-5ce0fa95b80c,0,1,3d315df6-e000-4cbd-810d-0b26c0d1bc54,3d315df6-e000-4cbd-810d-0b26c0d1bc54,0,1,fa429302-ccaf-4c89-8a11-3a1d30817c00,fa429302-ccaf-4c89-8a11-3a1d30817c00,0,1,9b4c49ce-93da-439a-8d67-f3774e92800a,9b4c49ce-93da-439a-8d67-f3774e92800a,0,1,5f8fa827-7017-4b45-b458-3571b8b611f5,5f8fa827-7017-4b45-b458-3571b8b611f5,0,1,79749167-2912-4e06-9deb-7915a1b4390d,79749167-2912-4e06-9deb-7915a1b4390d,0,1,1c93fcd3-53a1-403f-a30b-454fbc941d55,1c93fcd3-53a1-403f-a30b-454fbc941d55,0,1,0fc54be4-2e19-45cf-b62f-7cbc70a70d5f,0fc54be4-2e19-45cf-b62f-7cbc70a70d5f,0,1,adec3963-b22f-4463-a3f4-c9ec27d187a8,adec3963-b22f-4463-a3f4-c9ec27d187a8,0,1,d8dae0c8-8e11-44bf-bf60-d316220f3e82,d8dae0c8-8e11-44bf-bf60-d316220f3e82,0,1,12afec4d-1728-4aa8-86e5-23cd2f1572b3,12afec4d-1728-4aa8-86e5-23cd2f1572b3,0,1,16bc197b-5a2f-43f4-8ba0-ffabd9289f5c,16bc197b-5a2f-43f4-8ba0-ffabd9289f5c,0,1,ee0c3960-d1bf-411f-a51f-e6e27dabea87,ee0c3960-d1bf-411f-a51f-e6e27dabea87,0,1,d7fb9441-1aef-4257-af3f-7f16340ac85e,d7fb9441-1aef-4257-af3f-7f16340ac85e,0,1,d07c094c-2795-4e0c-b030-bdb82be7ba6d,d07c094c-2795-4e0c-b030-bdb82be7ba6d,0,1,62637860-2013-4f9d-9aed-7cbb0dce8983,62637860-2013-4f9d-9aed-7cbb0dce8983,0,1,331217f6-7ec2-425d-93bd-f2979c5f2e05,331217f6-7ec2-425d-93bd-f2979c5f2e05,0,1,67c1269a-79e6-44d9-9254-671c50fb3974,67c1269a-79e6-44d9-9254-671c50fb3974,0,1,5d455d2a-910d-48c7-bc74-ba5ad7855110,5d455d2a-910d-48c7-bc74-ba5ad7855110,0,1,7cf3feea-75e2-42cc-9c89-4a9182034910,7cf3feea-75e2-42cc-9c89-4a9182034910,0,1,930a0156-feb3-4e14-96a5-cd183a4891f4,930a0156-feb3-4e14-96a5-cd183a4891f4,0,1,cfa55ab3-1335-4712-8352-03c2f0277708,cfa55ab3-1335-4712-8352-03c2f0277708,0,1,fb176f8b-edb9-4e4b-926d-dabe9552bfa1,fb176f8b-edb9-4e4b-926d-dabe9552bfa1,0,1,cd5c52d4-f832-4a3b-b4c7-b4f3e0c98222,cd5c52d4-f832-4a3b-b4c7-b4f3e0c98222,0,1,e268a337-f576-4ec2-8a22-0500b79b2441,e268a337-f576-4ec2-8a22-0500b79b2441,0,1,eb33a8fa-75a6-4926-a025-05bc0abe4374,eb33a8fa-75a6-4926-a025-05bc0abe4374,0,1,c352da94-ea64-44b1-b2df-2c4ed9e2efc5,c352da94-ea64-44b1-b2df-2c4ed9e2efc5,0,1,6babd40a-8b8f-454b-b4a4-7cf2854f49a2,6babd40a-8b8f-454b-b4a4-7cf2854f49a2,0,1,bf480259-6e72-4ad1-ac41-0b0d41a75387,bf480259-6e72-4ad1-ac41-0b0d41a75387,0,1,a41f060a-f0f6-4940-960b-5056082b2c45,a41f060a-f0f6-4940-960b-5056082b2c45,0,1,5d45a926-513f-4bbc-a002-54a2db94b297,5d45a926-513f-4bbc-a002-54a2db94b297,0,1,73f5ce9e-d5a7-45c0-965a-8af1d776a98a,73f5ce9e-d5a7-45c0-965a-8af1d776a98a,0,1,073e14d4-5d43-428b-a9a7-985d173e94c7,073e14d4-5d43-428b-a9a7-985d173e94c7,0,1,2394775b-8910-4667-9c74-e1606e0b13bc,2394775b-8910-4667-9c74-e1606e0b13bc,0,1,43c88ffd-a036-4563-890b-bdc60180e841,43c88ffd-a036-4563-890b-bdc60180e841,0,1,af6e5e8e-6482-4820-a810-9e275ae039bf,af6e5e8e-6482-4820-a810-9e275ae039bf,0,1,fe3ccb8b-fee7-4825-a7bc-4b0fd432d382,fe3ccb8b-fee7-4825-a7bc-4b0fd432d382,0,1,7690620b-21d9-463a-8c22-60844927b4a0,7690620b-21d9-463a-8c22-60844927b4a0,0,1,e7f96a15-9f62-4a7f-85f3-06ba5d30b130,e7f96a15-9f62-4a7f-85f3-06ba5d30b130,0,1,b1db3255-38da-4684-b44e-4e2e9ee1dc35,b1db3255-38da-4684-b44e-4e2e9ee1dc35,0,1,4761f89b-7894-4dca-83b0-3be2d0828781,4761f89b-7894-4dca-83b0-3be2d0828781,0,1,573ff1f2-0ef5-4962-a0f6-eb84d430fe03,573ff1f2-0ef5-4962-a0f6-eb84d430fe03,0,1,7236d52f-9068-45ad-8b92-a7319e737e08,7236d52f-9068-45ad-8b92-a7319e737e08,0,1,3b0b708f-1b6c-4eb2-a2ad-86c088d9f1bf,3b0b708f-1b6c-4eb2-a2ad-86c088d9f1bf,0,1,9db23e96-d13a-4847-941a-462f64d0619d,9db23e96-d13a-4847-941a-462f64d0619d,0,1,7575fd54-c91b-4220-a2ef-2cf533f60426,7575fd54-c91b-4220-a2ef-2cf533f60426,0,1,1b751f19-bb0c-40c2-a5d1-068544c36c6b,1b751f19-bb0c-40c2-a5d1-068544c36c6b,0,1,26e2c83b-8873-4ad3-9c50-e94421473a43,26e2c83b-8873-4ad3-9c50-e94421473a43,0,1,f0b2ec05-8e01-4ccf-b927-671329a9013b,f0b2ec05-8e01-4ccf-b927-671329a9013b,0,1,ab442b11-2482-4f80-ac82-01966e0657ec,ab442b11-2482-4f80-ac82-01966e0657ec,0,1,14fe4d39-81a1-470e-9724-6642ce34ad89,14fe4d39-81a1-470e-9724-6642ce34ad89,0,1,457578ab-dfe2-4419-8d8a-64283b341f42,457578ab-dfe2-4419-8d8a-64283b341f42,0,1,67ef6671-f537-46bf-88e6-f5bcf34a17a4,67ef6671-f537-46bf-88e6-f5bcf34a17a4,0,1,de778ca7-feaf-4531-80ae-11a534c56928,de778ca7-feaf-4531-80ae-11a534c56928,0,1,0dfbe7a9-9c2e-4cbd-ac53-3b547fd73e91,0dfbe7a9-9c2e-4cbd-ac53-3b547fd73e91,0,1,0a76a84d-e883-477e-8b87-7bf984cdc1cf,0a76a84d-e883-477e-8b87-7bf984cdc1cf,0,1,2b6c4184-6d7d-48e5-bd4e-ad31e63398d6,2b6c4184-6d7d-48e5-bd4e-ad31e63398d6,0,1,86df8648-e195-4661-99ee-6052788eb276,86df8648-e195-4661-99ee-6052788eb276,0,1,a22cf6e9-1157-4be5-8d30-aa9bbf2b5e6e,a22cf6e9-1157-4be5-8d30-aa9bbf2b5e6e,0,1,35133725-9647-42dc-a76a-2e62b2918ac4,35133725-9647-42dc-a76a-2e62b2918ac4,0,1,fa9572ee-0303-4421-9125-70cf3dd5a8c7,fa9572ee-0303-4421-9125-70cf3dd5a8c7,0,1,4cdd7920-0c49-4950-b92f-fdf6e34578b2,4cdd7920-0c49-4950-b92f-fdf6e34578b2,0,1,0af48650-5fef-4a5b-8ac8-38a9ded23bd4,0af48650-5fef-4a5b-8ac8-38a9ded23bd4,0,1,c7b883dc-6c26-4eb5-bc19-7919ad57da27,c7b883dc-6c26-4eb5-bc19-7919ad57da27,0,1,7fc37008-c378-4a70-a9a9-07543c7248a6,7fc37008-c378-4a70-a9a9-07543c7248a6,0,1,6410853e-a17e-44db-b8cc-bfefd7c4d239,6410853e-a17e-44db-b8cc-bfefd7c4d239,0,1,df042e4e-01a6-4480-a9c5-c0d7a454bb41,df042e4e-01a6-4480-a9c5-c0d7a454bb41,0,1,bad3d1fa-9618-427a-93e0-90f151e468bf,bad3d1fa-9618-427a-93e0-90f151e468bf,0,1,6a4972f1-012c-438b-b1d3-81e7f6da3ddd,6a4972f1-012c-438b-b1d3-81e7f6da3ddd,0,1,ff7cfd75-e0ba-49a3-92e1-33ea26df46e2,ff7cfd75-e0ba-49a3-92e1-33ea26df46e2,0,1,bc37fc81-6a86-4e72-b75a-abb75bddc4b3,bc37fc81-6a86-4e72-b75a-abb75bddc4b3,0,1,ff830967-faa9-415f-aa6e-8d27779f91f8,ff830967-faa9-415f-aa6e-8d27779f91f8,0,1,34dd0dd6-880c-4a90-9b9c-0503c8dc4ef3,34dd0dd6-880c-4a90-9b9c-0503c8dc4ef3,0,1,88618d0f-97af-4055-a490-561d4b8065a7,88618d0f-97af-4055-a490-561d4b8065a7,0,1,faffa228-4f4f-43f6-99b9-ed8c93af85c0,faffa228-4f4f-43f6-99b9-ed8c93af85c0,0,1,7b816ca0-ba60-4637-8348-23b26ad23e3f,7b816ca0-ba60-4637-8348-23b26ad23e3f,0,1,814a6db4-a43c-44e6-ac44-11983642c5ad,814a6db4-a43c-44e6-ac44-11983642c5ad,0,1,0bd74786-e018-4a66-b994-cdb439c57657,0bd74786-e018-4a66-b994-cdb439c57657,0,1,f50fcf2b-90bb-4d73-9fda-f4575e7682fa,f50fcf2b-90bb-4d73-9fda-f4575e7682fa,0,1,a01b8078-a6cd-4184-9317-2f1e0bcefb3a,a01b8078-a6cd-4184-9317-2f1e0bcefb3a,0,1,54a279b1-9e6a-49b0-8fda-e2807cf3a2a3,54a279b1-9e6a-49b0-8fda-e2807cf3a2a3,0,1,09502176-c53d-4525-b8ed-32d0a2e21a5d,09502176-c53d-4525-b8ed-32d0a2e21a5d,0,1,75ad984e-d41f-4591-b207-e8a4b05757a7,75ad984e-d41f-4591-b207-e8a4b05757a7,0,1,3f020f90-7aeb-4b21-ad71-4572ac796d4c,3f020f90-7aeb-4b21-ad71-4572ac796d4c,0,1,759e2ba0-2941-4cc1-8409-50b8a3620058,759e2ba0-2941-4cc1-8409-50b8a3620058,0,1,491cf25d-091e-4e09-b145-92d7073326cf,491cf25d-091e-4e09-b145-92d7073326cf,0,1,9b9d4d10-a4f2-4b0d-a63a-15d55f30fb26,9b9d4d10-a4f2-4b0d-a63a-15d55f30fb26,0,1,579f18ce-a7ce-4eb8-a4e3-a134a9a27bc1,579f18ce-a7ce-4eb8-a4e3-a134a9a27bc1,0,1,e7d05eca-2fdd-4cbb-8e2c-537525326ffe,e7d05eca-2fdd-4cbb-8e2c-537525326ffe,0,1,900bc96e-fbcc-473e-970c-96f561420f8e,900bc96e-fbcc-473e-970c-96f561420f8e,0,1,c3bb7b85-1e90-45c4-9bc1-39bbd253d498,c3bb7b85-1e90-45c4-9bc1-39bbd253d498,0,1,21d5a0b0-9a2b-4989-a50a-781645513179,21d5a0b0-9a2b-4989-a50a-781645513179,0,1,22df0fa4-cb1c-45a2-bcce-d32ed44e462a,22df0fa4-cb1c-45a2-bcce-d32ed44e462a,0,1,d97c6204-3656-4591-aea9-6ebedffe1247,d97c6204-3656-4591-aea9-6ebedffe1247,0,1,7caabe33-184f-45db-bef4-59d4e9cd2394,7caabe33-184f-45db-bef4-59d4e9cd2394,0,1,3255033a-e922-412e-a825-a3e8bd284703,3255033a-e922-412e-a825-a3e8bd284703,0,1,1aa65c35-e8a0-4c8a-90a3-48b62314cb19,1aa65c35-e8a0-4c8a-90a3-48b62314cb19,0,1,f250f992-ad5a-4dab-ad38-240604adb0c4,f250f992-ad5a-4dab-ad38-240604adb0c4,0,1,c4a7efca-f27d-4fdd-86ab-cc22a2a96fb2,c4a7efca-f27d-4fdd-86ab-cc22a2a96fb2,0,1,e63671f6-c96d-4ea4-8300-af7dbd0d016f,e63671f6-c96d-4ea4-8300-af7dbd0d016f,0,1,2c511469-0df6-470f-a808-decb275e8b1a,2c511469-0df6-470f-a808-decb275e8b1a,0,1,1bbb289c-a78a-47d0-b082-c2225ae1dc83,1bbb289c-a78a-47d0-b082-c2225ae1dc83,0,1,99b40f9f-f8f1-4779-8afc-59d30612f3d6,99b40f9f-f8f1-4779-8afc-59d30612f3d6,0,1,6131e875-3254-4281-9343-9118564c5451,6131e875-3254-4281-9343-9118564c5451,0,1,69622ff8-8a23-42fc-b63d-5097e3f636ac,69622ff8-8a23-42fc-b63d-5097e3f636ac,0,1,b88450cc-0dd4-4881-b3d9-a9e4e07e08f5,b88450cc-0dd4-4881-b3d9-a9e4e07e08f5,0,1,ef326bd8-1570-455e-ae8c-063b5578ad15,ef326bd8-1570-455e-ae8c-063b5578ad15,0,1,3713c76d-6ff7-4d45-9f15-d061bdf7dee2,3713c76d-6ff7-4d45-9f15-d061bdf7dee2,0,1,cb6d4979-2d70-4ceb-af08-deb2b19daf14,cb6d4979-2d70-4ceb-af08-deb2b19daf14,0,1,bf30b754-84fb-4104-b52b-a4f7df6fba12,bf30b754-84fb-4104-b52b-a4f7df6fba12,0,1,7bbd0835-b3e9-40cb-a424-670828b60bbb,7bbd0835-b3e9-40cb-a424-670828b60bbb,0,1,3e2138ea-48f9-4a60-8f22-53933bea49db,3e2138ea-48f9-4a60-8f22-53933bea49db,0,1,16bda2eb-eab8-4230-b89f-517fb943e009,16bda2eb-eab8-4230-b89f-517fb943e009,0,1,00964512-297f-4b8b-8def-8e4fc0eba991,00964512-297f-4b8b-8def-8e4fc0eba991,0,1,4185fea3-baba-4ba5-8019-9023b3011d4d,4185fea3-baba-4ba5-8019-9023b3011d4d,0,1,ea790035-92d6-445e-9fa3-08e565634d2b,ea790035-92d6-445e-9fa3-08e565634d2b,0,1,cce8900a-51eb-487d-b380-227d1b9d3943,cce8900a-51eb-487d-b380-227d1b9d3943,0,1,c043c36c-90c6-483b-bc20-7c2d85109b90,c043c36c-90c6-483b-bc20-7c2d85109b90,0,1,a1e619a6-3bb2-468d-a225-c88ccc3b71f5,a1e619a6-3bb2-468d-a225-c88ccc3b71f5,0,1,91d2d40a-c271-412c-b344-1fc98b94ba21,91d2d40a-c271-412c-b344-1fc98b94ba21,0,1,7ce47046-aee8-4809-bac9-a98930a844e1,7ce47046-aee8-4809-bac9-a98930a844e1,0,1,f480b8b9-ecec-4207-a0aa-12c5be4c2250,f480b8b9-ecec-4207-a0aa-12c5be4c2250,0,1,32717d25-6644-4903-8950-03e4c9b1a8fe,32717d25-6644-4903-8950-03e4c9b1a8fe,0,1,3644d8f3-db88-4fce-a851-39c115acfe03,3644d8f3-db88-4fce-a851-39c115acfe03,0,1,4653da74-34b2-47b9-ad88-efd761d6f1e9,4653da74-34b2-47b9-ad88-efd761d6f1e9,0,1,abf8a23d-45c3-4feb-8df2-279b709d7722,abf8a23d-45c3-4feb-8df2-279b709d7722,0,1,b0cd056f-c601-4d07-89c4-f7137b88bab6,b0cd056f-c601-4d07-89c4-f7137b88bab6,0,1,5cc3ebef-8f09-443c-b131-e5c3a9f7d260,5cc3ebef-8f09-443c-b131-e5c3a9f7d260,0,1,b9a21b8f-8a95-4c86-9ab2-ee6c90164e18,b9a21b8f-8a95-4c86-9ab2-ee6c90164e18,0,1,96ed4d39-3bdc-480f-af86-218f22000514,96ed4d39-3bdc-480f-af86-218f22000514,0,1,c9f72e74-22ac-4dc0-8462-0aa7819a9342,c9f72e74-22ac-4dc0-8462-0aa7819a9342,0,1,ca650484-293f-403a-b916-5ec7c3a8969e,ca650484-293f-403a-b916-5ec7c3a8969e,0,1,b71e706d-623e-4039-9bf0-24f151d861d8,b71e706d-623e-4039-9bf0-24f151d861d8,0,1,528f4823-33d8-49bd-a8fe-756a08a107c2,528f4823-33d8-49bd-a8fe-756a08a107c2,0,1,4869095b-b76e-45ca-b77d-0e74f59673f0,4869095b-b76e-45ca-b77d-0e74f59673f0,0,1,bcca2442-448b-4760-923b-cc9621ecb441,bcca2442-448b-4760-923b-cc9621ecb441,0,1,ba7657df-429a-4737-b787-19ef09fdebb2,ba7657df-429a-4737-b787-19ef09fdebb2,0,1,867d72be-f406-45a5-a511-b90459683f11,867d72be-f406-45a5-a511-b90459683f11,0,1,88b22e62-c144-401f-9635-3fb4d914772e,88b22e62-c144-401f-9635-3fb4d914772e,0,1,efeb2914-6604-403a-a11e-5cb995ab2bc9,efeb2914-6604-403a-a11e-5cb995ab2bc9,0,1,4c2dd77f-adc7-4f11-8e8f-1f8e41e6c84b,4c2dd77f-adc7-4f11-8e8f-1f8e41e6c84b,0,1,8f2b8a8e-4cd3-45e3-89ae-1cc4bd0ff30a,8f2b8a8e-4cd3-45e3-89ae-1cc4bd0ff30a,0,1,24b3aecc-f92f-475b-862e-83dd6d6aa2b9,24b3aecc-f92f-475b-862e-83dd6d6aa2b9,0,1,de506523-241a-4845-9259-37066afbf16a,de506523-241a-4845-9259-37066afbf16a,0,1,0510206f-eef0-4a5e-aeb7-d53c26d34adb,0510206f-eef0-4a5e-aeb7-d53c26d34adb,0,1,e616e007-43e7-4740-a083-b85f5435718a,e616e007-43e7-4740-a083-b85f5435718a,0,1,727da5b1-e054-4832-8e44-f5d5e56f52e5,727da5b1-e054-4832-8e44-f5d5e56f52e5,0,1,6135ffd5-1510-4aa8-8bf5-d7c0ca624414,6135ffd5-1510-4aa8-8bf5-d7c0ca624414,0,1,6feaad7c-9680-4341-b215-14581e2e2b37,6feaad7c-9680-4341-b215-14581e2e2b37,0,1,d5656a92-adfb-4733-830d-2b1565798b1f,d5656a92-adfb-4733-830d-2b1565798b1f,0,1,2ee0d56b-cd7c-42db-8fb6-c1567fe1967d,2ee0d56b-cd7c-42db-8fb6-c1567fe1967d,0,1,b0f6ea83-2849-4151-930d-692866919db3,b0f6ea83-2849-4151-930d-692866919db3,0,1,05558ce4-8568-4009-b1d7-307d54967515,05558ce4-8568-4009-b1d7-307d54967515,0,1,74380324-9b7b-49f6-9458-88deb9405f98,74380324-9b7b-49f6-9458-88deb9405f98,0,1,5286ceb2-0f16-4d70-ad89-dc15a308bb8d,5286ceb2-0f16-4d70-ad89-dc15a308bb8d,0,1,0abf70e0-0d81-4d85-a288-a2134da5fbf1,0abf70e0-0d81-4d85-a288-a2134da5fbf1,0,1,392fc734-4251-4d28-bfd1-d6f2f33ec0e5,392fc734-4251-4d28-bfd1-d6f2f33ec0e5,0,1,f66cb2da-3b3c-481f-823a-506f8290f619,f66cb2da-3b3c-481f-823a-506f8290f619,0,1,b80ddaf8-c5c3-4bde-98ed-74a1a0446f38,b80ddaf8-c5c3-4bde-98ed-74a1a0446f38,0,1,e4f16dbf-609d-4a34-a0bf-b20e5925c1ba,e4f16dbf-609d-4a34-a0bf-b20e5925c1ba,0,1,0bdcf045-5132-4a68-839c-a30515dc569e,0bdcf045-5132-4a68-839c-a30515dc569e,0,1,683861f9-9a5f-47db-8b03-959f839d5a3a,683861f9-9a5f-47db-8b03-959f839d5a3a,0,1,56fda0b0-c0ae-4ea2-8f77-df22a9ca3e87,56fda0b0-c0ae-4ea2-8f77-df22a9ca3e87,0,1,125be5bf-f410-451d-aa96-22fabc6a4d8a,125be5bf-f410-451d-aa96-22fabc6a4d8a,0,1,e5017fd0-ecea-48ae-99c8-7fc8c4f1d72b,e5017fd0-ecea-48ae-99c8-7fc8c4f1d72b,0,1,0a46166a-4562-4a50-b139-39dbe8a1fc84,0a46166a-4562-4a50-b139-39dbe8a1fc84,0,1,9aa6d1d1-75ad-40e4-b01f-274826c0c9da,9aa6d1d1-75ad-40e4-b01f-274826c0c9da,0,1,6ce64d65-f710-4d3f-a85f-26ce6915451e,6ce64d65-f710-4d3f-a85f-26ce6915451e,0,1,33eb9806-e34f-42a0-9825-3ff2de92c503,33eb9806-e34f-42a0-9825-3ff2de92c503,0,1,4905fcc5-9bd7-4b1b-b51d-882b11ee3d74,4905fcc5-9bd7-4b1b-b51d-882b11ee3d74,0,1,bcb58235-7cd7-4c15-a1eb-194ee38259e6,bcb58235-7cd7-4c15-a1eb-194ee38259e6,0,1,e19aefe7-634d-4218-8d40-75802d1691e0,e19aefe7-634d-4218-8d40-75802d1691e0,0,1,b885dbb2-6e18-46a6-929c-3d6d392343ad,b885dbb2-6e18-46a6-929c-3d6d392343ad,0,1,d31e24cf-7493-45dc-ba81-3a00618e53bc,d31e24cf-7493-45dc-ba81-3a00618e53bc,0,1,ce2a8ff8-94fd-4ce2-9caa-4711e9b79ee9,ce2a8ff8-94fd-4ce2-9caa-4711e9b79ee9,0,1,f942d212-9be0-4d80-84b6-5b63070e33e4,f942d212-9be0-4d80-84b6-5b63070e33e4,0,1,bea6bbc1-c1e4-4306-a0ca-efd47b9a8b23,bea6bbc1-c1e4-4306-a0ca-efd47b9a8b23,0,1,64c91eaa-084f-4801-8dbf-4e075c689c2b,64c91eaa-084f-4801-8dbf-4e075c689c2b,0,1,c01bb4de-06f7-4c3d-8ea3-d861f89948c0,c01bb4de-06f7-4c3d-8ea3-d861f89948c0,0,1,3c8c4f7b-d267-422c-becd-b6e8a9d6fe49,3c8c4f7b-d267-422c-becd-b6e8a9d6fe49,0,1,3aa12805-823a-439b-b039-fb9940aee312,3aa12805-823a-439b-b039-fb9940aee312,0,1,87d53573-f266-4b74-94af-041ae4b6518f,87d53573-f266-4b74-94af-041ae4b6518f,0,1,65a8545a-e73c-4c6a-8f87-7734d7ff5c03,65a8545a-e73c-4c6a-8f87-7734d7ff5c03,0,1,801cf1f7-2c65-4126-a3e9-b66abfdde67a,801cf1f7-2c65-4126-a3e9-b66abfdde67a,0,1,b991eefb-0d97-48a1-89c8-3d83b3b8d97a,b991eefb-0d97-48a1-89c8-3d83b3b8d97a,0,1,29c2bc01-8838-4459-8ac2-79862aa1dbc9,29c2bc01-8838-4459-8ac2-79862aa1dbc9,0,1,ad556c33-6811-48b4-ae90-57700a4d3fd6,ad556c33-6811-48b4-ae90-57700a4d3fd6,0,1,6e0833f4-3b57-4a5f-810f-9e2a492335df,6e0833f4-3b57-4a5f-810f-9e2a492335df,0,1,78ccdf33-9c2b-4931-afa3-5d652f2bcbc5,78ccdf33-9c2b-4931-afa3-5d652f2bcbc5,0,1,977bc9d8-9843-4343-85af-11a3d91f9966,977bc9d8-9843-4343-85af-11a3d91f9966,0,1,02ff9ef0-1057-4bc2-b745-1c2ae41835e3,02ff9ef0-1057-4bc2-b745-1c2ae41835e3,0,1,5a86abe7-db6c-43a3-9bcd-9b3647519c6b,5a86abe7-db6c-43a3-9bcd-9b3647519c6b,0,1,a6582448-734d-4a4c-a32c-c4755ca1bc93,a6582448-734d-4a4c-a32c-c4755ca1bc93,0,1,6a0b9a91-51a0-4ef4-b630-4f1b5a1da2b7,6a0b9a91-51a0-4ef4-b630-4f1b5a1da2b7,0,1,53327cc4-22b0-40f9-bae7-db483f85901c,53327cc4-22b0-40f9-bae7-db483f85901c,0,1,098d904d-95c9-459e-86d0-357ba9a40191,098d904d-95c9-459e-86d0-357ba9a40191,0,1,e9ab9d00-6e42-439b-8efc-fcacf727016d,e9ab9d00-6e42-439b-8efc-fcacf727016d,0,1,2d58033f-e15d-4a91-8165-dd311025c7c4,2d58033f-e15d-4a91-8165-dd311025c7c4,0,1,49cb3a36-90b3-4154-b571-265fc5cee21e,49cb3a36-90b3-4154-b571-265fc5cee21e,0,1,10472d2c-18ca-49b0-bd9d-c750db8498c5,10472d2c-18ca-49b0-bd9d-c750db8498c5,0,1,8efe5daf-272d-4255-b5c4-66dca7463b50,8efe5daf-272d-4255-b5c4-66dca7463b50,0,1,65af25a6-f699-4c40-b13e-3b7dff3f16fe,65af25a6-f699-4c40-b13e-3b7dff3f16fe,0,1,c4d2486d-289c-4812-b223-5ccfcd7f29e3,c4d2486d-289c-4812-b223-5ccfcd7f29e3,0,1,b6ae3a72-c686-409d-9cda-9d1a00be1d8d,b6ae3a72-c686-409d-9cda-9d1a00be1d8d,0,1,7da57c89-af2c-445a-96f7-39250f70306f,7da57c89-af2c-445a-96f7-39250f70306f,0,1,b5b94d94-25f7-4cfa-b1e9-6009fb848763,b5b94d94-25f7-4cfa-b1e9-6009fb848763,0,1,a2accf54-5966-42e8-ab2e-e56e415963ee,a2accf54-5966-42e8-ab2e-e56e415963ee,0,1,d8eb5329-5900-4b5d-b45e-458513dddfef,d8eb5329-5900-4b5d-b45e-458513dddfef,0,1,6d521e58-24a3-4f19-b4b0-dff84f7ca86b,6d521e58-24a3-4f19-b4b0-dff84f7ca86b,0,1,d5afea8a-1b7a-4b23-8ae0-cefa0b937b17,d5afea8a-1b7a-4b23-8ae0-cefa0b937b17,0,1,6ffd2da8-db97-46fc-9a53-8e665a598e3c,6ffd2da8-db97-46fc-9a53-8e665a598e3c,0,1,8c413fa5-9e24-4b81-aa55-0e78c5e3e20f,8c413fa5-9e24-4b81-aa55-0e78c5e3e20f,0,1,a4322f22-7de0-4018-8e06-9f1aa7cf0c07,a4322f22-7de0-4018-8e06-9f1aa7cf0c07,0,1,eaaed107-69d4-4963-be83-74519e331715,eaaed107-69d4-4963-be83-74519e331715,0,1,38cddf96-8703-4396-8c73-47fb22828a48,38cddf96-8703-4396-8c73-47fb22828a48,0,1,2c2cb793-0177-4983-91ca-9c292c5b10f1,2c2cb793-0177-4983-91ca-9c292c5b10f1,0,1,2a2e7f51-a4e5-48ec-b969-b1fca18ba9b5,2a2e7f51-a4e5-48ec-b969-b1fca18ba9b5,0,1,221fa473-3327-44e6-a033-6fdfd2be713c,221fa473-3327-44e6-a033-6fdfd2be713c,0,1,7a5973f0-7e29-44af-8e7b-70af71f704a4,7a5973f0-7e29-44af-8e7b-70af71f704a4,0,1,2b2bf0f7-0946-4492-bba0-27f007a70e64,2b2bf0f7-0946-4492-bba0-27f007a70e64,0,1,22c9a703-5ed3-4156-8fa6-476b1c1452f1,22c9a703-5ed3-4156-8fa6-476b1c1452f1,0,1,27089e8e-2c75-431c-b808-5d4dcba3cdca,27089e8e-2c75-431c-b808-5d4dcba3cdca,0,1,9ab3980e-a480-4f90-a8cc-bde99d5ace35,9ab3980e-a480-4f90-a8cc-bde99d5ace35,0,1,ec928563-6e35-4b84-b477-90d2481cec1c,ec928563-6e35-4b84-b477-90d2481cec1c,0,1,5d3e9678-20fe-4128-867a-3f7addaa7831,5d3e9678-20fe-4128-867a-3f7addaa7831,0,1,bb878f73-8a0f-459a-9076-ce57fe7957dc,bb878f73-8a0f-459a-9076-ce57fe7957dc,0,1,a2b4110b-4d9c-40fd-ab46-bfa08d2eb993,a2b4110b-4d9c-40fd-ab46-bfa08d2eb993,0,1,4f262b7f-927e-45f2-ad90-9d5e1b3155d1,4f262b7f-927e-45f2-ad90-9d5e1b3155d1,0,1,9f4b8e36-83ff-4694-8540-b5f47b18395f,9f4b8e36-83ff-4694-8540-b5f47b18395f,0,1,b4c026eb-4271-4366-b529-1cdfe2874563,b4c026eb-4271-4366-b529-1cdfe2874563,0,1,b99f2a63-54e8-490b-a0a4-1941fbc38b3f,b99f2a63-54e8-490b-a0a4-1941fbc38b3f,0,1,314b0da2-24d3-48cc-8532-d36c45eb3bf8,314b0da2-24d3-48cc-8532-d36c45eb3bf8,0,1,4077e700-ec20-4afa-8155-bf7e516a70cb,4077e700-ec20-4afa-8155-bf7e516a70cb,0,1,10008125-3aeb-4912-8ad6-d92d283ea09a,10008125-3aeb-4912-8ad6-d92d283ea09a,0,1,d22a0a50-220d-459e-a23a-39730a1e67c4,d22a0a50-220d-459e-a23a-39730a1e67c4,0,1,dd050ca0-8335-4654-ab5c-7babcb4824ef,dd050ca0-8335-4654-ab5c-7babcb4824ef,0,1,706cbf55-626d-4cab-b589-a2464368f6c1,706cbf55-626d-4cab-b589-a2464368f6c1,0,1,2e3ac3fb-9f0e-463f-95c2-9f661ce2e015,2e3ac3fb-9f0e-463f-95c2-9f661ce2e015,0,1,e010c0f9-f770-4fdc-8607-50838c0262ef,e010c0f9-f770-4fdc-8607-50838c0262ef,0,1,483dfce4-9c66-4739-94d4-17a005d64f5b,483dfce4-9c66-4739-94d4-17a005d64f5b,0,1,19506116-43ef-433c-822c-ef8717b0da6b,19506116-43ef-433c-822c-ef8717b0da6b,0,1,464b92cc-b577-4350-ae9f-e697390248d7,464b92cc-b577-4350-ae9f-e697390248d7,0,1,5a1242c8-3817-4d2c-9bfd-f62a6b80730c,5a1242c8-3817-4d2c-9bfd-f62a6b80730c,0,1,b9be6caf-e5e0-45a9-8cc8-3c83721632a2,b9be6caf-e5e0-45a9-8cc8-3c83721632a2,0,1,2fac5a7b-cb3e-4442-892f-77f338035eeb,2fac5a7b-cb3e-4442-892f-77f338035eeb,0,1,f2076747-0bc4-41dd-bab9-33cec85111f0,f2076747-0bc4-41dd-bab9-33cec85111f0,0,1,9f74c0bb-b876-4a37-b954-c93898a21067,9f74c0bb-b876-4a37-b954-c93898a21067,0,1,97e853dc-065f-4c6d-84cb-3d3aff367b22,97e853dc-065f-4c6d-84cb-3d3aff367b22,0,1,2f1fdf47-2627-496f-9e1f-77019abb2104,2f1fdf47-2627-496f-9e1f-77019abb2104,0,1,c996532a-8795-4136-8a40-9bb4b263277c,c996532a-8795-4136-8a40-9bb4b263277c,0,1,64c77788-fc49-4979-8163-949a891bd8b7,64c77788-fc49-4979-8163-949a891bd8b7,0,1,c39750ca-e33f-40c2-b830-119423d9a2ae,c39750ca-e33f-40c2-b830-119423d9a2ae,0,1,9372ff6b-27b6-48f3-a2a2-762e7c485766,9372ff6b-27b6-48f3-a2a2-762e7c485766,0,1,f454595a-4a3d-451b-8e8b-b17aa8314591,f454595a-4a3d-451b-8e8b-b17aa8314591,0,1,d3b7f89e-eb04-404e-bcc1-1d3557fb8d1a,d3b7f89e-eb04-404e-bcc1-1d3557fb8d1a,0,1,442f9d7b-ae8f-4074-8ece-d5aa1c66e35c,442f9d7b-ae8f-4074-8ece-d5aa1c66e35c,0,1,bc708da8-7fc6-4da1-8129-9ef6a86667af,bc708da8-7fc6-4da1-8129-9ef6a86667af,0,1,061842fe-4077-4d6e-aefe-de79409da730,061842fe-4077-4d6e-aefe-de79409da730,0,1,86249619-8981-4fc4-85fc-ce30e4b9d542,86249619-8981-4fc4-85fc-ce30e4b9d542,0,1,da6e4bff-9835-4b92-b62b-291a5d6c86fe,da6e4bff-9835-4b92-b62b-291a5d6c86fe,0,1,3fadaeb7-2c41-42a4-bfa8-c585602b1028,3fadaeb7-2c41-42a4-bfa8-c585602b1028,0,1,171a0dfc-032e-4eaf-81a2-e5e0dfde8d56,171a0dfc-032e-4eaf-81a2-e5e0dfde8d56,0,1,083c709b-ed8c-47e4-a190-421e14259e73,083c709b-ed8c-47e4-a190-421e14259e73,0,1,b98dacc7-29e1-426b-a664-0a988f18186c,b98dacc7-29e1-426b-a664-0a988f18186c,0,1,d678856d-6e7c-443f-a6e3-350bbe8af659,d678856d-6e7c-443f-a6e3-350bbe8af659,0,1,d0979762-22ce-41be-b7a4-5e9ac149d94b,d0979762-22ce-41be-b7a4-5e9ac149d94b,0,1,ae23e70c-479e-47ad-9bfa-58560a903410,ae23e70c-479e-47ad-9bfa-58560a903410,0,1,c0d83781-bbda-43f7-bf0e-5defa3d47143,c0d83781-bbda-43f7-bf0e-5defa3d47143,0,1,21fa5fdd-acbc-403b-9acb-bbf95284bd20,21fa5fdd-acbc-403b-9acb-bbf95284bd20,0,1,576a01e3-4d6d-4241-a3c4-7661ba129bcb,576a01e3-4d6d-4241-a3c4-7661ba129bcb,0,1,9f7290dd-19f4-4163-9795-fe562e84f06d,9f7290dd-19f4-4163-9795-fe562e84f06d,0,1,c3b5c81f-b787-4f63-8cba-79def0921477,c3b5c81f-b787-4f63-8cba-79def0921477,0,1,1f0cb3d4-1344-451b-a257-be3cd854acfd,1f0cb3d4-1344-451b-a257-be3cd854acfd,0,1,0131fe59-ce47-48b7-8f7e-1544bf0fa031,0131fe59-ce47-48b7-8f7e-1544bf0fa031,0,1,c8b0a1be-97c6-4a16-b1dd-31901ac61cdc,c8b0a1be-97c6-4a16-b1dd-31901ac61cdc,0,1,372150e2-526e-4424-8c54-e4b16bdd25b5,372150e2-526e-4424-8c54-e4b16bdd25b5,0,1,752dc569-cf84-42d7-911d-49d455f7214e,752dc569-cf84-42d7-911d-49d455f7214e,0,1,fecab2b9-27e1-44d6-9082-79c3569b7477,fecab2b9-27e1-44d6-9082-79c3569b7477,0,1,07ae092f-8517-47b7-b54c-5dbcb6506929,07ae092f-8517-47b7-b54c-5dbcb6506929,0,1,db4c25bb-d199-43ec-833d-82972de04a41,db4c25bb-d199-43ec-833d-82972de04a41,0,1,43d19685-0794-41f2-9171-bf565133718d,43d19685-0794-41f2-9171-bf565133718d,0,1,b68c15c4-4966-4f13-8912-2d479b65089a,b68c15c4-4966-4f13-8912-2d479b65089a,0,1,8f6770c2-654c-4cc7-8ed5-15b5b2e3109a,8f6770c2-654c-4cc7-8ed5-15b5b2e3109a,0,1,f87e3935-dae1-4192-b6a7-05e3c700c590,f87e3935-dae1-4192-b6a7-05e3c700c590,0,1,ee635706-6ee2-4956-8d58-a235f64687f6,ee635706-6ee2-4956-8d58-a235f64687f6,0,1,a5a40ca7-d665-420b-a516-1355019d6901,a5a40ca7-d665-420b-a516-1355019d6901,0,1,adf9304c-ccf8-492e-95b1-0754764586a2,adf9304c-ccf8-492e-95b1-0754764586a2,0,1,fd175112-ec8f-4088-9b21-d8135056f0c5,fd175112-ec8f-4088-9b21-d8135056f0c5,0,1,ddd82a66-1eda-409f-b6c0-e22c4bd2c1b7,ddd82a66-1eda-409f-b6c0-e22c4bd2c1b7,0,1,df76a1b7-312a-4e77-bac1-79befadb4495,df76a1b7-312a-4e77-bac1-79befadb4495,0,1,ab39fad8-1039-491e-982a-c49637770ec0,ab39fad8-1039-491e-982a-c49637770ec0,0,1,7d93a6ba-3ca7-45ab-a540-743c79587535,7d93a6ba-3ca7-45ab-a540-743c79587535,0,1,76b58810-0527-4dfc-8858-bac68e7e65f3,76b58810-0527-4dfc-8858-bac68e7e65f3,0,1,aba97fd9-f05e-45cd-8404-ed702070e17a,aba97fd9-f05e-45cd-8404-ed702070e17a,0,1,f5c415cd-429b-469f-9332-c43ab5d1c8d6,f5c415cd-429b-469f-9332-c43ab5d1c8d6,0,1,458e9c6b-b828-404b-be5a-c6c0aeea34c9,458e9c6b-b828-404b-be5a-c6c0aeea34c9,0,1,7262eb4d-2d2d-454c-beaa-974645813af7,7262eb4d-2d2d-454c-beaa-974645813af7,0,1,45fa9f17-eeb1-43e2-b78c-f81a341f1bff,45fa9f17-eeb1-43e2-b78c-f81a341f1bff,0,1,b2265070-9cd3-4176-92c8-6d9f32c2ca84,b2265070-9cd3-4176-92c8-6d9f32c2ca84,0,1,b347e774-2261-4f76-9bdb-3c6736983589,b347e774-2261-4f76-9bdb-3c6736983589,0,1,be7e2715-1243-49a8-8c7c-55d632d3cf6c,be7e2715-1243-49a8-8c7c-55d632d3cf6c,0,1,49221b2f-aae2-4bee-9a1a-18263fc74244,49221b2f-aae2-4bee-9a1a-18263fc74244,0,1,da0cd264-da2f-4044-af28-c91d2efe1d5c,da0cd264-da2f-4044-af28-c91d2efe1d5c,0,1,f1b1db38-2d9f-4409-a6d6-fd7192b1f102,f1b1db38-2d9f-4409-a6d6-fd7192b1f102,0,1,fad26b16-8638-496b-bd12-381fc6f5b71f,fad26b16-8638-496b-bd12-381fc6f5b71f,0,1,ed3cfb74-a37a-4314-a2d7-4ce717a2edd9,ed3cfb74-a37a-4314-a2d7-4ce717a2edd9,0,1,324a56c9-02d9-4177-af84-a817b8c41169,324a56c9-02d9-4177-af84-a817b8c41169,0,1,1e44abfe-c173-4802-b535-96849d384983,1e44abfe-c173-4802-b535-96849d384983,0,1,2751a509-037b-49aa-9ca8-e87057d6d82c,2751a509-037b-49aa-9ca8-e87057d6d82c,0,1,35f62549-eb6a-4284-a6e3-406b0d9df0cf,35f62549-eb6a-4284-a6e3-406b0d9df0cf,0,1,cee94c04-7a46-47a5-bdd5-6f0dbd884e97,cee94c04-7a46-47a5-bdd5-6f0dbd884e97,0,1,fd66995b-ee76-41d3-983f-33d84bdcbbd4,fd66995b-ee76-41d3-983f-33d84bdcbbd4,0,1,73e97918-b34e-4ad2-8591-4c219eb92f2c,73e97918-b34e-4ad2-8591-4c219eb92f2c,0,1,445cf7eb-35d0-48f8-9579-c2ec574ef324,445cf7eb-35d0-48f8-9579-c2ec574ef324,0,1,1025657e-afd2-4c7b-96d5-ccbedaca4619,1025657e-afd2-4c7b-96d5-ccbedaca4619,0,1,64839c78-b2fa-4d80-bee0-b3d3a7e5db35,64839c78-b2fa-4d80-bee0-b3d3a7e5db35,0,1,e754ad5c-cf3c-4198-af81-128475924cb0,e754ad5c-cf3c-4198-af81-128475924cb0,0,1,ed65d504-b210-4014-85ec-275ad633ef04,ed65d504-b210-4014-85ec-275ad633ef04,0,1,dc31edb1-273e-4b1a-8e69-32393479ff36,dc31edb1-273e-4b1a-8e69-32393479ff36,0,1,3ab0649b-239f-4466-b897-73c0ab628927,3ab0649b-239f-4466-b897-73c0ab628927,0,1,4c697110-8941-4d6d-ba03-f2b9e96ff82e,4c697110-8941-4d6d-ba03-f2b9e96ff82e,0,1,7ea4112d-fc41-4f1e-bd22-f04adeac1d8f,7ea4112d-fc41-4f1e-bd22-f04adeac1d8f,0,1,b172631b-da0d-42f4-ae6b-ae122a46cced,b172631b-da0d-42f4-ae6b-ae122a46cced,0,1,1a25e744-37ae-46ca-a328-ff8eced21a82,1a25e744-37ae-46ca-a328-ff8eced21a82,0,1,dddabe54-a93b-4e4b-acbb-cc522e4d7c28,dddabe54-a93b-4e4b-acbb-cc522e4d7c28,0,1,46169f0b-8514-40a1-9d27-8489cab72503,46169f0b-8514-40a1-9d27-8489cab72503,0,1,d9cf39cc-8652-4c4d-bc5b-b4e455c0083f,d9cf39cc-8652-4c4d-bc5b-b4e455c0083f,0,1,4b0d7d39-5f79-4a21-b0bb-d3142a3bc8a9,4b0d7d39-5f79-4a21-b0bb-d3142a3bc8a9,0,1,c90243af-582c-4f5a-88e7-e0cbc0555fcb,c90243af-582c-4f5a-88e7-e0cbc0555fcb,0,1,14bf4066-15cb-4165-b854-45443ee27da1,14bf4066-15cb-4165-b854-45443ee27da1,0,1,4427cab9-4eea-4415-98ef-6021a447c60c,4427cab9-4eea-4415-98ef-6021a447c60c,0,1,fe46b4da-d865-468f-badd-83644bf88faa,fe46b4da-d865-468f-badd-83644bf88faa,0,1,2851c9d4-4366-4488-926d-a7fcd3b1548c,2851c9d4-4366-4488-926d-a7fcd3b1548c,0,1,31116aa2-cfbc-48e8-886b-45c1c17508fd,31116aa2-cfbc-48e8-886b-45c1c17508fd,0,1,6aa819d3-c56d-4561-a2e4-a1188ab1295a,6aa819d3-c56d-4561-a2e4-a1188ab1295a,0,1,2ddf344d-7065-40d5-9306-23870d8fc04a,2ddf344d-7065-40d5-9306-23870d8fc04a,0,1,c630ab2d-0a20-4136-88b6-220b2cad6a71,c630ab2d-0a20-4136-88b6-220b2cad6a71,0,1,00cd1dea-bc54-475c-956d-dc5221104932,00cd1dea-bc54-475c-956d-dc5221104932,0,1,3807f865-dd2c-44f7-9238-3db191f0a186,3807f865-dd2c-44f7-9238-3db191f0a186,0,1,8f184df5-bfe8-4df3-bc7c-18218cef7650,8f184df5-bfe8-4df3-bc7c-18218cef7650,0,1,387e273a-889f-454b-8b43-feaa12025fde,387e273a-889f-454b-8b43-feaa12025fde,0,1,1c38ad75-b294-4c05-89ce-69ce4d9a291f,1c38ad75-b294-4c05-89ce-69ce4d9a291f,0,1,078d1e8f-6d27-4761-9532-b1e7a60e4c13,078d1e8f-6d27-4761-9532-b1e7a60e4c13,0,1,4262193c-58ad-47c6-8088-735d8cd037ea,4262193c-58ad-47c6-8088-735d8cd037ea,0,1,36a2b5f9-ded5-4fc3-a7bd-e12b37cd6bab,36a2b5f9-ded5-4fc3-a7bd-e12b37cd6bab,0,1,de6d1aad-39eb-46ce-87aa-d29812bb37bf,de6d1aad-39eb-46ce-87aa-d29812bb37bf,0,1,4ad859ec-cc75-4bac-9e89-397798450e48,4ad859ec-cc75-4bac-9e89-397798450e48,0,1,d93ab94c-0f55-4b80-b226-41b44c73b3ea,d93ab94c-0f55-4b80-b226-41b44c73b3ea,0,1,94cbed80-5a35-471f-b354-439a11629210,94cbed80-5a35-471f-b354-439a11629210,0,1,1162cc0a-42e5-47cb-9507-68459579f110,1162cc0a-42e5-47cb-9507-68459579f110,0,1,17f9f188-d3fd-4fe1-a00c-b0dde64a0f9e,17f9f188-d3fd-4fe1-a00c-b0dde64a0f9e,0,1,bb49dc80-4934-4f44-8f27-9a363dca8dc4,bb49dc80-4934-4f44-8f27-9a363dca8dc4,0,1,7338e497-03a7-4ed4-85a2-ca802c065a9f,7338e497-03a7-4ed4-85a2-ca802c065a9f,0,1,49fe879c-8972-4c9a-bb08-e3e5b2e5ff84,49fe879c-8972-4c9a-bb08-e3e5b2e5ff84,0,1,5249687b-9ff4-46f5-be15-dbb5d5047fd1,5249687b-9ff4-46f5-be15-dbb5d5047fd1,0,1,d33df51c-3dcd-496c-90f2-7ee05582bdf7,d33df51c-3dcd-496c-90f2-7ee05582bdf7,0,1,24b39ebd-2424-4939-8e3e-d09eb674d409,24b39ebd-2424-4939-8e3e-d09eb674d409,0,1,08c751bb-9e57-4536-901e-bb316c8e96d7,08c751bb-9e57-4536-901e-bb316c8e96d7,0,1,de0afa6f-07c6-441c-a4ca-e7ed709a8da5,de0afa6f-07c6-441c-a4ca-e7ed709a8da5,0,1,034cdcef-08e5-4751-9885-400aa69e0b94,034cdcef-08e5-4751-9885-400aa69e0b94,0,1,efefebea-2032-4006-b9ca-50a23b7da1ef,efefebea-2032-4006-b9ca-50a23b7da1ef,0,1,4c794d37-3352-4acb-a939-5e90fb682db8,4c794d37-3352-4acb-a939-5e90fb682db8,0,1,5f3fea83-6ca8-481b-9e2b-789a6fd01e2e,5f3fea83-6ca8-481b-9e2b-789a6fd01e2e,0,1,008f5068-da9c-4dac-9c0a-a50366d27cbb,008f5068-da9c-4dac-9c0a-a50366d27cbb,0,1,950b3ee3-070f-4946-8b9b-0aa2058de986,950b3ee3-070f-4946-8b9b-0aa2058de986,0,1,bd04a870-0943-4bdb-9e30-50a69daa8a13,bd04a870-0943-4bdb-9e30-50a69daa8a13,0,1,a23e6c77-8c12-4f99-ae2d-68a12274be38,a23e6c77-8c12-4f99-ae2d-68a12274be38,0,1,3c4454cd-31e9-42a5-9127-fb66a628f0e1,3c4454cd-31e9-42a5-9127-fb66a628f0e1,0,1,c02c5cbf-b25a-4956-8aa7-74cfeb66d508,c02c5cbf-b25a-4956-8aa7-74cfeb66d508,0,1,31cac1e9-eb16-489c-9322-30d1e27a80b3,31cac1e9-eb16-489c-9322-30d1e27a80b3,0,1,0d100e33-7941-41c1-962d-7672c874e9c5,0d100e33-7941-41c1-962d-7672c874e9c5,0,1,c5ac53c9-c9b2-4b90-a21e-10f1daa756c5,c5ac53c9-c9b2-4b90-a21e-10f1daa756c5,0,1,6e61d717-de36-4dce-8af9-b6c14ed76acb,6e61d717-de36-4dce-8af9-b6c14ed76acb,0,1,474518fe-9cb5-4a12-9388-bc7a64511617,474518fe-9cb5-4a12-9388-bc7a64511617,0,1,64337614-b1c9-4931-b576-448721fa4602,64337614-b1c9-4931-b576-448721fa4602,0,1,1d73b59c-0594-4ed3-b584-cf1261941e1d,1d73b59c-0594-4ed3-b584-cf1261941e1d,0,1,8ff2547f-d596-4fa1-9e12-079e1cc4c057,8ff2547f-d596-4fa1-9e12-079e1cc4c057,0,1,1ab0c8f8-b908-4618-ae88-af37b8f1224e,1ab0c8f8-b908-4618-ae88-af37b8f1224e,0,1,bd3ec5a9-161d-487e-ab1d-e5e15a6e3a7b,bd3ec5a9-161d-487e-ab1d-e5e15a6e3a7b,0,1,b85b3a58-95e4-4698-b1ae-037901ecc1b1,b85b3a58-95e4-4698-b1ae-037901ecc1b1,0,1,b77d748a-d180-432d-91c3-774e6ccf7efa,b77d748a-d180-432d-91c3-774e6ccf7efa,0,1,e5b9c1b0-4690-442c-b160-e6c587e42e57,e5b9c1b0-4690-442c-b160-e6c587e42e57,0,1,e3adb576-6b33-475b-976b-7a6783de3184,e3adb576-6b33-475b-976b-7a6783de3184,0,1,c6cef8db-0689-42a6-9f43-c86b7c3cf0e9,c6cef8db-0689-42a6-9f43-c86b7c3cf0e9,0,1,78f5a205-dffb-4009-897a-e8f36372f33c,78f5a205-dffb-4009-897a-e8f36372f33c,0,1,f7597041-f182-42fb-803a-2521c70d627d,f7597041-f182-42fb-803a-2521c70d627d,0,1,ce988b8a-d0c1-400a-9466-aa757501bb58,ce988b8a-d0c1-400a-9466-aa757501bb58,0,1,ab98d665-8da8-406e-9e0e-3e130ab393ef,ab98d665-8da8-406e-9e0e-3e130ab393ef,0,1,9e823bb6-b0c0-439e-81e4-ebd46b79b99c,9e823bb6-b0c0-439e-81e4-ebd46b79b99c,0,1,118a0e62-c0bb-435b-9e3e-c64563efa602,118a0e62-c0bb-435b-9e3e-c64563efa602,0,1,b57bc8a9-8a59-4192-a442-2e1982e83179,b57bc8a9-8a59-4192-a442-2e1982e83179,0,1,5b06ccda-2a70-4621-8273-78408cbe72a9,5b06ccda-2a70-4621-8273-78408cbe72a9,0,1,89753385-64fd-4e76-9857-bfd5d7c23f71,89753385-64fd-4e76-9857-bfd5d7c23f71,0,1,1b3113f3-e7d4-4e6f-b6ed-08f5fd78c68e,1b3113f3-e7d4-4e6f-b6ed-08f5fd78c68e,0,1,53e72cf2-e2a5-4b59-b5b1-a1fc28fda5bf,53e72cf2-e2a5-4b59-b5b1-a1fc28fda5bf,0,1,e20bcb57-2f68-4709-8a11-105d561a2dda,e20bcb57-2f68-4709-8a11-105d561a2dda,0,1,3df3f61a-2c17-4278-8d82-91089f793e6a,3df3f61a-2c17-4278-8d82-91089f793e6a,0,1,ea8beea1-7d80-4613-b2f9-79ee612e977a,ea8beea1-7d80-4613-b2f9-79ee612e977a,0,1,afd62a32-fdbb-429a-9a64-89c61a07e018,afd62a32-fdbb-429a-9a64-89c61a07e018,0,1,027cef43-99bd-48d3-a1a3-2102ac003742,027cef43-99bd-48d3-a1a3-2102ac003742,0,1,00197ea9-de76-4e2a-97bc-93e44053e35e,00197ea9-de76-4e2a-97bc-93e44053e35e,0,1,878fe826-fa99-44ad-9891-5eada9744017,878fe826-fa99-44ad-9891-5eada9744017,0,1,0d61712a-dfaf-46f1-b728-62993dd94fbe,0d61712a-dfaf-46f1-b728-62993dd94fbe,0,1,3a6cf496-09b9-4947-9df5-06d23b474558,3a6cf496-09b9-4947-9df5-06d23b474558,0,1,625b498a-33d1-4162-9525-fb7790cbb6a8,625b498a-33d1-4162-9525-fb7790cbb6a8,0,1,28223f7b-d15a-4f12-b57c-1f6d08a902f9,28223f7b-d15a-4f12-b57c-1f6d08a902f9,0,1,dd9eb5b7-5aed-4e51-9939-9ff14492d240,dd9eb5b7-5aed-4e51-9939-9ff14492d240,0,1,b2a14899-d589-4990-b85e-7bffb427e8af,b2a14899-d589-4990-b85e-7bffb427e8af,0,1,0981d114-05bd-4ee1-a8fd-398fa6620d0b,0981d114-05bd-4ee1-a8fd-398fa6620d0b,0,1,3210ba40-382e-4917-ad0f-9bd88d23dc25,3210ba40-382e-4917-ad0f-9bd88d23dc25,0,1,835e3ead-d01f-410b-937a-902dd5e66aec,835e3ead-d01f-410b-937a-902dd5e66aec,0,1,40141982-d1d6-416f-844e-19143a407ff9,40141982-d1d6-416f-844e-19143a407ff9,0,1,66ec2482-c1f3-45d3-9257-e0b9f5ae772a,66ec2482-c1f3-45d3-9257-e0b9f5ae772a,0,1,d3211832-c8ca-437a-8810-82e06cbb48de,d3211832-c8ca-437a-8810-82e06cbb48de,0,1,8131d701-1014-4196-9b67-914e451f8a3a,8131d701-1014-4196-9b67-914e451f8a3a,0,1,2b102933-c660-4e74-ae9a-5061a88ed672,2b102933-c660-4e74-ae9a-5061a88ed672,0,1,56c897b7-d34e-4d7d-9a3b-d0779be5c189,56c897b7-d34e-4d7d-9a3b-d0779be5c189,0,1,3ac81c80-56bd-4750-b135-07ab522e3eab,3ac81c80-56bd-4750-b135-07ab522e3eab,0,1,5657872f-c7d5-446f-bcc3-d0b86ad63a42,5657872f-c7d5-446f-bcc3-d0b86ad63a42,0,1,d5214cb9-67e2-469f-989f-3f2b662ae830,d5214cb9-67e2-469f-989f-3f2b662ae830,0,1,69679e88-4f2b-4dd6-8cb2-b88293d07b55,69679e88-4f2b-4dd6-8cb2-b88293d07b55,0,1,68679208-9972-4854-8649-49bdf6212255,68679208-9972-4854-8649-49bdf6212255,0,1,98393093-7ba6-4b4d-86be-ee5826cd8cd5,98393093-7ba6-4b4d-86be-ee5826cd8cd5,0,1,87de486d-3f35-4432-a7cd-9d3832db63cf,87de486d-3f35-4432-a7cd-9d3832db63cf,0,1,246f17a0-93a7-4e2c-8fa6-f57405f0abeb,246f17a0-93a7-4e2c-8fa6-f57405f0abeb,0,1,ea6c4830-a34d-4026-a0ca-5cf7e44f089d,ea6c4830-a34d-4026-a0ca-5cf7e44f089d,0,1,bb7ce04a-8143-4c0b-a196-1b57f1640142,bb7ce04a-8143-4c0b-a196-1b57f1640142,0,1,4872f12c-705c-4dd3-802f-d27496a0d634,4872f12c-705c-4dd3-802f-d27496a0d634,0,1,3bacfd93-dfc7-4154-9d3f-b61ddc5c6721,3bacfd93-dfc7-4154-9d3f-b61ddc5c6721,0,1,0c0bbfba-c1c4-4bb5-a813-10da4bef7911,0c0bbfba-c1c4-4bb5-a813-10da4bef7911,0,1,f9ada91a-e673-4821-9bce-cb0dd75ca28b,f9ada91a-e673-4821-9bce-cb0dd75ca28b,0,1,9fcf68bb-43e2-4cd1-89ec-8797ad9c0e8b,9fcf68bb-43e2-4cd1-89ec-8797ad9c0e8b,0,1,90ce635a-0277-4056-980d-d1a16d91cb30,90ce635a-0277-4056-980d-d1a16d91cb30,0,1,e61a8360-a0f8-4d86-b91a-2ae9b8552bf0,e61a8360-a0f8-4d86-b91a-2ae9b8552bf0,0,1,1e77e873-632c-482b-8f46-8f8cc3cc8cef,1e77e873-632c-482b-8f46-8f8cc3cc8cef,0,1,766208a3-2780-427b-a7d3-93abe99d236b,766208a3-2780-427b-a7d3-93abe99d236b,0,1,63ce4c3c-5bad-409c-904f-18f34cf1da78,63ce4c3c-5bad-409c-904f-18f34cf1da78,0,1,62bddcee-bef6-42cc-9ba3-e99b8160dcc2,62bddcee-bef6-42cc-9ba3-e99b8160dcc2,0,1,26ac22f9-0bbb-4671-b446-626e345e2461,26ac22f9-0bbb-4671-b446-626e345e2461,0,1,0d63ee6d-e17f-4a86-b384-adf9793f3331,0d63ee6d-e17f-4a86-b384-adf9793f3331,0,1,f152945b-2a7b-449e-a915-176166af7bac,f152945b-2a7b-449e-a915-176166af7bac,0,1,77f5d86a-7fae-4490-9740-0e31102dab5c,77f5d86a-7fae-4490-9740-0e31102dab5c,0,1,5a54bc1a-d178-412c-bf4a-cf92d7f141aa,5a54bc1a-d178-412c-bf4a-cf92d7f141aa,0,1,24be43ec-d39e-46aa-9c11-2536b835e515,24be43ec-d39e-46aa-9c11-2536b835e515,0,1,c9ca80ef-c7b7-4425-b5c0-3d13af82f291,c9ca80ef-c7b7-4425-b5c0-3d13af82f291,0,1,df9af3ee-6a69-4a03-8ff5-0735e9a38013,df9af3ee-6a69-4a03-8ff5-0735e9a38013,0,1,1b27eb77-d535-43a5-8ae1-fa2fec15d92c,1b27eb77-d535-43a5-8ae1-fa2fec15d92c,0,1,7743fe24-b941-4dad-bc76-05fb6b26b1d7,7743fe24-b941-4dad-bc76-05fb6b26b1d7,0,1,5bf2da0d-f318-4036-9234-8a3a6eca88b2,5bf2da0d-f318-4036-9234-8a3a6eca88b2,0,1,288525fc-d3fa-4c8e-a1d7-d2d1ef4cd0ef,288525fc-d3fa-4c8e-a1d7-d2d1ef4cd0ef,0,1,c3634571-6fe5-45ab-9362-161305eef661,c3634571-6fe5-45ab-9362-161305eef661,0,1,ec11342f-594f-416f-a10f-bd1bfa695c08,ec11342f-594f-416f-a10f-bd1bfa695c08,0,1,31c3ac44-204e-43fd-bca3-fd18fa091c58,31c3ac44-204e-43fd-bca3-fd18fa091c58,0,1,74f03c35-5da0-406e-a938-e8e5d49975ef,74f03c35-5da0-406e-a938-e8e5d49975ef,0,1,c9ab3890-6d16-431f-ab2b-b5058e6202a4,c9ab3890-6d16-431f-ab2b-b5058e6202a4,0,1,5ee9eed7-3c6c-4264-ab9a-6f24f9c80598,5ee9eed7-3c6c-4264-ab9a-6f24f9c80598,0,1,3c33adc7-abea-4e0f-9e5d-d8f10abb63df,3c33adc7-abea-4e0f-9e5d-d8f10abb63df,0,1,4090c6f7-1d25-4b17-9baa-18daa0640b0f,4090c6f7-1d25-4b17-9baa-18daa0640b0f,0,1,26125e58-dfc8-4bbb-a3a4-80616471746e,26125e58-dfc8-4bbb-a3a4-80616471746e,0,1,b1c699cd-efdc-461c-ad37-10bfd4bc9674,b1c699cd-efdc-461c-ad37-10bfd4bc9674,0,1,6add1920-5073-4b1e-b7e0-13bf1e65e4c3,6add1920-5073-4b1e-b7e0-13bf1e65e4c3,0,1,f12c946c-98e4-4da6-8a88-c555e9dc3bdd,f12c946c-98e4-4da6-8a88-c555e9dc3bdd,0,1,ec5718b7-1c4d-4bdc-9426-40a339bb29cf,ec5718b7-1c4d-4bdc-9426-40a339bb29cf,0,1,ecd8772d-e33f-426f-a87a-e28bd94d5fdf,ecd8772d-e33f-426f-a87a-e28bd94d5fdf,0,1,96661303-1286-4f84-93b7-0e6da2bd7893,96661303-1286-4f84-93b7-0e6da2bd7893,0,1,68076431-36e6-46dc-92cb-e0d8e605bf66,68076431-36e6-46dc-92cb-e0d8e605bf66,0,1,239fa55a-6572-4e5c-9918-c2e14063c76d,239fa55a-6572-4e5c-9918-c2e14063c76d,0,1,8211a1b6-c3b1-466b-8d11-22603fb50c7a,8211a1b6-c3b1-466b-8d11-22603fb50c7a,0,1,7e7dfcb5-04eb-40f4-8f4c-f29644e81473,7e7dfcb5-04eb-40f4-8f4c-f29644e81473,0,1,daef68a3-c6c3-450d-b8fd-7af2a2f5572e,daef68a3-c6c3-450d-b8fd-7af2a2f5572e,0,1,a83cb338-5707-42c9-9e88-11f6c68fcc32,a83cb338-5707-42c9-9e88-11f6c68fcc32,0,1,985106b7-7476-4b48-90ac-ad86876395b5,985106b7-7476-4b48-90ac-ad86876395b5,0,1,0d8db0c9-adbc-478d-997c-3d7feccac99b,0d8db0c9-adbc-478d-997c-3d7feccac99b,0,1,3fd2ef04-c178-47bf-ab62-7baf83236d99,3fd2ef04-c178-47bf-ab62-7baf83236d99,0,1,b4cd1b51-dbc0-4bb0-879e-5ac0d58e78c1,b4cd1b51-dbc0-4bb0-879e-5ac0d58e78c1,0,1,320bf2e6-a3a8-490b-8aa0-21369ffb121b,320bf2e6-a3a8-490b-8aa0-21369ffb121b,0,1,a3bafc54-8fe4-4841-acc6-74a87baf9caf,a3bafc54-8fe4-4841-acc6-74a87baf9caf,0,1,f93741c9-ab94-464b-b0d4-4af99c9f92d5,f93741c9-ab94-464b-b0d4-4af99c9f92d5,0,1,0fddbd8d-12dd-4af1-9e34-feebf4bc38b1,0fddbd8d-12dd-4af1-9e34-feebf4bc38b1,0,1,2e9548a6-1fd8-4430-8864-91bde0d2a7a1,2e9548a6-1fd8-4430-8864-91bde0d2a7a1,0,1,c59fd3f8-c734-49d3-90ba-e608a22ac981,c59fd3f8-c734-49d3-90ba-e608a22ac981,0,1,b26235ed-374c-44ab-8b3c-01d7c4d82d4c,b26235ed-374c-44ab-8b3c-01d7c4d82d4c,0,1,5056db9f-9ebe-4cca-98f0-5f4817a1cba4,5056db9f-9ebe-4cca-98f0-5f4817a1cba4,0,1,475f76ea-f494-41f1-9b65-f39907e5a427,475f76ea-f494-41f1-9b65-f39907e5a427,0,1,986280d1-41bb-4b15-a5ae-516d6a04c1f4,986280d1-41bb-4b15-a5ae-516d6a04c1f4,0,1,43bfd29a-d254-4c33-8639-200b483578c1,43bfd29a-d254-4c33-8639-200b483578c1,0,1,6a274167-7f80-4613-9890-259ffd8ccfc4,6a274167-7f80-4613-9890-259ffd8ccfc4,0,1,4e90e1ab-b1ec-4795-ad45-1db151a5492c,4e90e1ab-b1ec-4795-ad45-1db151a5492c,0,1,91791e56-ca80-4d90-b8a8-16145f6a9721,91791e56-ca80-4d90-b8a8-16145f6a9721,0,1,b242c6a2-5ac9-4edb-b5dd-24eda8162151,b242c6a2-5ac9-4edb-b5dd-24eda8162151,0,1,8d080f3c-06ed-48bf-9709-eea73d676741,8d080f3c-06ed-48bf-9709-eea73d676741,0,1,57b31a5d-9fdc-43d2-ae81-67157822c4b6,57b31a5d-9fdc-43d2-ae81-67157822c4b6,0,1,d4e2da66-9a70-459f-a873-cb4ad71d17b2,d4e2da66-9a70-459f-a873-cb4ad71d17b2,0,1,a84a91d2-d326-4bf4-82e6-d573ee35d090,a84a91d2-d326-4bf4-82e6-d573ee35d090,0,1,39cbda23-db3f-4ddd-8981-8540247406db,39cbda23-db3f-4ddd-8981-8540247406db,0,1,c8a18d99-62ff-45a4-acb5-48e3310c1b53,c8a18d99-62ff-45a4-acb5-48e3310c1b53,0,1,a6eb0cb1-80f0-4390-80ff-7af53f8e63c3,a6eb0cb1-80f0-4390-80ff-7af53f8e63c3,0,1,3500c6fa-813a-49dd-a4bf-163500db5b7f,3500c6fa-813a-49dd-a4bf-163500db5b7f,0,1,1d02493a-dd89-4a51-b75e-9c49f9818b95,1d02493a-dd89-4a51-b75e-9c49f9818b95,0,1,2845c5d1-e836-4499-bcae-f3c8fdae75ee,2845c5d1-e836-4499-bcae-f3c8fdae75ee,0,1,fe4e8e4e-9471-4583-b9b3-576007db08ee,fe4e8e4e-9471-4583-b9b3-576007db08ee,0,1,49deaaa8-6d50-4b25-8153-6712d88fb0fb,49deaaa8-6d50-4b25-8153-6712d88fb0fb,0,1,1eeb7634-e924-4ad8-92e0-1c54c22b1ba6,1eeb7634-e924-4ad8-92e0-1c54c22b1ba6,0,1,46a06de8-06fd-4b49-835f-4f24b832b3c4,46a06de8-06fd-4b49-835f-4f24b832b3c4,0,1,3845a567-4375-4c3a-af61-5b82674060ab,3845a567-4375-4c3a-af61-5b82674060ab,0,1,ab210fb8-4fc4-47f8-b8ef-3a00eeb0ab8b,ab210fb8-4fc4-47f8-b8ef-3a00eeb0ab8b,0,1,a835a3a7-989b-4247-b836-d23bba2f391a,a835a3a7-989b-4247-b836-d23bba2f391a,0,1,58f5c354-8f1d-4064-ba35-527ea3d2f4a9,58f5c354-8f1d-4064-ba35-527ea3d2f4a9,0,1,9b149c20-9328-4e2d-a34b-95c883ae4dcc,9b149c20-9328-4e2d-a34b-95c883ae4dcc,0,1,f8dbf226-ea56-4b15-baf1-a41fceba2a32,f8dbf226-ea56-4b15-baf1-a41fceba2a32,0,1,fc1476f7-26e6-4374-b99b-e515d86c050a,fc1476f7-26e6-4374-b99b-e515d86c050a,0,1,e0eb7b4a-9a13-4752-9327-e13d2abc4fc5,e0eb7b4a-9a13-4752-9327-e13d2abc4fc5,0,1,59fe985a-f169-495b-bd6d-4b64401f81b0,59fe985a-f169-495b-bd6d-4b64401f81b0,0,1,184d1023-fba9-4e56-b592-519254abe922,184d1023-fba9-4e56-b592-519254abe922,0,1,cb68b275-f191-4632-a8ea-aa8809256804,cb68b275-f191-4632-a8ea-aa8809256804,0,1,174011b9-8fe2-43f5-adea-21f6d73835ff,174011b9-8fe2-43f5-adea-21f6d73835ff,0,1,c4753515-a483-453e-a48b-b12d8ef48fd9,c4753515-a483-453e-a48b-b12d8ef48fd9,0,1,2d9048eb-abdf-4980-96ed-788fbb0f4ea7,2d9048eb-abdf-4980-96ed-788fbb0f4ea7,0,1,98c3bc52-2351-460c-8b8e-0d3f45ca3131,98c3bc52-2351-460c-8b8e-0d3f45ca3131,0,1,b1ff31b9-c9f2-4be4-ac9a-62faa1d1eb81,b1ff31b9-c9f2-4be4-ac9a-62faa1d1eb81,0,1,c14ea7a0-1fb6-4d54-82d6-7f12f11b0c0b,c14ea7a0-1fb6-4d54-82d6-7f12f11b0c0b,0,1,29645810-44aa-402c-9561-7819d6f4a7ab,29645810-44aa-402c-9561-7819d6f4a7ab,0,1,46bf4911-5200-44ac-9b4d-eb0089c12e34,46bf4911-5200-44ac-9b4d-eb0089c12e34,0,1,6e1685bd-7269-401c-b36e-def6a36b41d5,6e1685bd-7269-401c-b36e-def6a36b41d5,0,1,9d77103a-9921-4f6c-98fc-d7f42f0f2d8d,9d77103a-9921-4f6c-98fc-d7f42f0f2d8d,0,1,e03b6592-b597-4795-a78e-775d4f2258db,e03b6592-b597-4795-a78e-775d4f2258db,0,1,6ae9e86a-a42f-4de0-a891-6abe1ed16cdd,6ae9e86a-a42f-4de0-a891-6abe1ed16cdd,0,1,3b207d5f-6584-4cf2-9173-20235484f9f4,3b207d5f-6584-4cf2-9173-20235484f9f4,0,1,878d9efe-b0e7-487f-b8f7-83470c131e09,878d9efe-b0e7-487f-b8f7-83470c131e09,0,1,8270573d-8ed6-449d-853b-462d2dabaaa9,8270573d-8ed6-449d-853b-462d2dabaaa9,0,1,baeec6cd-b220-4240-95f2-3a0c1ee06c2e,baeec6cd-b220-4240-95f2-3a0c1ee06c2e,0,1,f2502463-67e4-4bfe-8ad5-fb80aa73975a,f2502463-67e4-4bfe-8ad5-fb80aa73975a,0,1,59e885e6-d978-40c2-95b6-35fc61074fb4,59e885e6-d978-40c2-95b6-35fc61074fb4,0,1,267dc512-9ee1-4bc1-9034-3effb7fb2949,267dc512-9ee1-4bc1-9034-3effb7fb2949,0,1,0f211e73-5be9-4015-93e7-ccf63e793cb6,0f211e73-5be9-4015-93e7-ccf63e793cb6,0,1,6574d8f4-fb97-4a26-b166-711fad63aa07,6574d8f4-fb97-4a26-b166-711fad63aa07,0,1,fb3eddaf-3241-4d59-8314-97a5ae9258c4,fb3eddaf-3241-4d59-8314-97a5ae9258c4,0,1,6528bd7a-bac1-4c8b-9b00-6be01c0121b1,6528bd7a-bac1-4c8b-9b00-6be01c0121b1,0,1,d8601e95-af94-4805-974a-99c539725d74,d8601e95-af94-4805-974a-99c539725d74,0,1,6d98f877-f3bb-4795-9025-2631468a331f,6d98f877-f3bb-4795-9025-2631468a331f,0,1,89b9379d-ace9-48cc-b979-a66fd45aeb1d,89b9379d-ace9-48cc-b979-a66fd45aeb1d,0,1,c4a5c44d-329d-41b5-9a6c-bddbc15f6249,c4a5c44d-329d-41b5-9a6c-bddbc15f6249,0,1,9767a113-5a42-4749-bf40-0f349e85615d,9767a113-5a42-4749-bf40-0f349e85615d,0,1,a3b0494c-f436-45ea-9577-4c0c86b057c9,a3b0494c-f436-45ea-9577-4c0c86b057c9,0,1,5101c142-b25c-4bef-80e7-7407f2c15c90,5101c142-b25c-4bef-80e7-7407f2c15c90,0,1,6d7872f1-fd54-41c4-8253-5f2b125f31ae,6d7872f1-fd54-41c4-8253-5f2b125f31ae,0,1,0c218200-27a8-4f71-9b09-3632dd453644,0c218200-27a8-4f71-9b09-3632dd453644,0,1,2d8a74e5-eb29-448b-b4c0-1f41fa171b5e,2d8a74e5-eb29-448b-b4c0-1f41fa171b5e,0,1,b5d30250-18ab-4af1-b99a-ff5dba334d1f,b5d30250-18ab-4af1-b99a-ff5dba334d1f,0,1,936f1aa5-7516-444b-b451-1162fa5d705f,936f1aa5-7516-444b-b451-1162fa5d705f,0,1,e8d5533e-2669-44f6-9eed-eaedab666d42,e8d5533e-2669-44f6-9eed-eaedab666d42,0,1,dd8e0f41-51a3-4bf2-a32e-084f9ad09be7,dd8e0f41-51a3-4bf2-a32e-084f9ad09be7,0,1,9e323b0d-4e3b-45d4-9705-aa30e63014f5,9e323b0d-4e3b-45d4-9705-aa30e63014f5,0,1,5afa798a-958e-4e0c-a380-0104f4c037a7,5afa798a-958e-4e0c-a380-0104f4c037a7,0,1,c0295fd9-c749-41b3-8d0d-6af16f484b1f,c0295fd9-c749-41b3-8d0d-6af16f484b1f,0,1,bd32a863-3090-432d-89c4-356ba86a0bdc,bd32a863-3090-432d-89c4-356ba86a0bdc,0,1,4621bf5a-46b5-4b82-8ae4-cc8e11e81ba0,4621bf5a-46b5-4b82-8ae4-cc8e11e81ba0,0,1,ed5465b4-a556-4078-ab18-49fef2afba2e,ed5465b4-a556-4078-ab18-49fef2afba2e,0,1,7368ab8f-59d5-4270-a43b-0f3e422169ed,7368ab8f-59d5-4270-a43b-0f3e422169ed,0,1,eeb0571b-1b74-4889-b8b5-f94186d692d7,eeb0571b-1b74-4889-b8b5-f94186d692d7,0,1,9ef3b72c-caa3-486b-9917-04c00f6689c1,9ef3b72c-caa3-486b-9917-04c00f6689c1,0,1,cb3039d8-4b11-4d03-b0ca-eae5dfc01b0a,cb3039d8-4b11-4d03-b0ca-eae5dfc01b0a,0,1,9245417f-f247-47ba-a1b4-a17ec2e8776c,9245417f-f247-47ba-a1b4-a17ec2e8776c,0,1,a4b721d7-b119-47eb-80e0-7db34c83964f,a4b721d7-b119-47eb-80e0-7db34c83964f,0,1,512629d1-e8b7-4f66-b613-b8c0cb9c250b,512629d1-e8b7-4f66-b613-b8c0cb9c250b,0,1,b7cf4684-4432-4658-9c06-b315d470a3a6,b7cf4684-4432-4658-9c06-b315d470a3a6,0,1,d3bc8211-54d8-47dd-aecf-5da72b65195f,d3bc8211-54d8-47dd-aecf-5da72b65195f,0,1,33f11da8-f670-4ec3-9d40-96fce031c60f,33f11da8-f670-4ec3-9d40-96fce031c60f,0,1,97cbd5b5-5a39-418c-93b5-f9934fa1ba4e,97cbd5b5-5a39-418c-93b5-f9934fa1ba4e,0,1,f74c2d41-2433-4bed-8aef-adfeed198252,f74c2d41-2433-4bed-8aef-adfeed198252,0,1,3c2b8a8a-bfe7-4e37-9d83-55a695a06605,3c2b8a8a-bfe7-4e37-9d83-55a695a06605,0,1,56c9703a-751a-4e6c-81f4-a8756fb040e3,56c9703a-751a-4e6c-81f4-a8756fb040e3,0,1,c3a86eec-1ff5-4392-9904-91a12a2e253a,c3a86eec-1ff5-4392-9904-91a12a2e253a,0,1,f5df72a3-c71c-412b-8c3e-6329f1d3a7da,f5df72a3-c71c-412b-8c3e-6329f1d3a7da,0,1,f02b7246-dae9-4e15-b4cd-b06133664d34,f02b7246-dae9-4e15-b4cd-b06133664d34,0,1,77f20022-17ce-4e00-8a84-015238bce6f3,77f20022-17ce-4e00-8a84-015238bce6f3,0,1,3734619b-7059-4547-8b97-0b3393389d4d,3734619b-7059-4547-8b97-0b3393389d4d,0,1,a30bf95f-aabd-4da0-8287-61e08f9362fb,a30bf95f-aabd-4da0-8287-61e08f9362fb,0,1,f5a7df18-2ddb-4053-9aeb-57fc37ae557e,f5a7df18-2ddb-4053-9aeb-57fc37ae557e,0,1,4078867c-2972-47f9-bebd-935a6f1cc667,4078867c-2972-47f9-bebd-935a6f1cc667,0,1,8502fe39-c241-4be5-a313-fd887bbbdfa1,8502fe39-c241-4be5-a313-fd887bbbdfa1,0,1,67a71201-13e5-42a3-902f-fb3a59710dfb,67a71201-13e5-42a3-902f-fb3a59710dfb,0,1,3a79a951-a997-4596-ab62-ba376d67725d,3a79a951-a997-4596-ab62-ba376d67725d,0,1,dd4fe688-c113-4ac5-8114-b89cf1b0eb55,dd4fe688-c113-4ac5-8114-b89cf1b0eb55,0,1,884c28de-434f-440a-8c63-67e659c097ad,884c28de-434f-440a-8c63-67e659c097ad,0,1,92ead3b5-8c55-4e4d-bd47-009e025b22f8,92ead3b5-8c55-4e4d-bd47-009e025b22f8,0,1,50d8e365-aa58-4b60-8992-01943379d485,50d8e365-aa58-4b60-8992-01943379d485,0,1,9bb58c7c-d87d-435b-adf6-09c8f75d47b2,9bb58c7c-d87d-435b-adf6-09c8f75d47b2,0,1,b3f7f763-bea9-4f59-9450-df95e5c3d89d,b3f7f763-bea9-4f59-9450-df95e5c3d89d,0,1,9111e28e-c1c7-414b-9288-61bd06a04d04,9111e28e-c1c7-414b-9288-61bd06a04d04,0,1,bcd705ba-c9ac-4e73-94b1-7632c0f06c04,bcd705ba-c9ac-4e73-94b1-7632c0f06c04,0,1,094d5482-286d-4e1a-8888-c0452d2e5af0,094d5482-286d-4e1a-8888-c0452d2e5af0,0,1,fec102ea-a3f6-49b5-b4b8-6884b0654129,fec102ea-a3f6-49b5-b4b8-6884b0654129,0,1,184405d0-34a7-4668-9a64-d92a6a7da142,184405d0-34a7-4668-9a64-d92a6a7da142,0,1,bccf8909-6f99-44d8-9c91-688958fc95f4,bccf8909-6f99-44d8-9c91-688958fc95f4,0,1,246571fb-38c7-4da6-929d-d8b44bc3437c,246571fb-38c7-4da6-929d-d8b44bc3437c,0,1,047fd6d7-5e30-4184-a09a-6525de526cc7,047fd6d7-5e30-4184-a09a-6525de526cc7,0,1,beb44b02-5d5e-4127-aee7-e184a43a4210,beb44b02-5d5e-4127-aee7-e184a43a4210,0,1,1dedfbc2-9250-4229-a6ea-5e085f33e7c3,1dedfbc2-9250-4229-a6ea-5e085f33e7c3,0,1,e24641ed-3e92-46d7-852b-9958ab7bc520,e24641ed-3e92-46d7-852b-9958ab7bc520,0,1,bc2aa3f9-ef2c-49a5-8cd9-ddd8a8cbe19d,bc2aa3f9-ef2c-49a5-8cd9-ddd8a8cbe19d,0,1,b6ac4cd6-c68f-4464-88e9-a8d335d581c6,b6ac4cd6-c68f-4464-88e9-a8d335d581c6,0,1,2c61114f-abd7-4415-8cdf-4fe95d9fe354,2c61114f-abd7-4415-8cdf-4fe95d9fe354,0,1,abd7a766-5cc1-48db-8d29-797e9d666a78,abd7a766-5cc1-48db-8d29-797e9d666a78,0,1,1704b5e3-8e77-4df6-9223-e6e5c41a280d,1704b5e3-8e77-4df6-9223-e6e5c41a280d,0,1,62eca88f-025d-44de-b92c-46cd8bc7e4a1,62eca88f-025d-44de-b92c-46cd8bc7e4a1,0,1,b0dde395-8498-4469-9507-d290798117d7,b0dde395-8498-4469-9507-d290798117d7,0,1,999616ea-0faa-4ae2-9841-6a6997ea6694,999616ea-0faa-4ae2-9841-6a6997ea6694,0,1,c5f91669-13d8-4f0a-a054-2701078da38a,c5f91669-13d8-4f0a-a054-2701078da38a,0,1,34f9872b-e02e-4093-ba06-3cb5b8995850,34f9872b-e02e-4093-ba06-3cb5b8995850,0,1,18515c19-c9ef-4c9f-8d12-4f58ffa251e8,18515c19-c9ef-4c9f-8d12-4f58ffa251e8,0,1,e61eef89-b3de-4b73-b7d9-af75318093e5,e61eef89-b3de-4b73-b7d9-af75318093e5,0,1,94e68502-adf1-476e-be2f-8418385959fa,94e68502-adf1-476e-be2f-8418385959fa,0,1,bf80ccc5-f907-4e7f-a007-6030c7ba682e,bf80ccc5-f907-4e7f-a007-6030c7ba682e,0,1,a330acd1-bc97-4ef8-8ecb-5604868ca044,a330acd1-bc97-4ef8-8ecb-5604868ca044,0,1,05f1f184-50cb-47c5-b3a8-62be6a9780c1,05f1f184-50cb-47c5-b3a8-62be6a9780c1,0,1,58c3936c-4db0-45c8-a22e-b5dd49a61497,58c3936c-4db0-45c8-a22e-b5dd49a61497,0,1,9aa607bc-5870-436a-bbe1-296560393e3b,9aa607bc-5870-436a-bbe1-296560393e3b,0,1,1635be16-4861-4a7d-babc-4caff448a7f7,1635be16-4861-4a7d-babc-4caff448a7f7,0,1,9e399087-c957-4a7a-ab9d-2b689736caab,9e399087-c957-4a7a-ab9d-2b689736caab,0,1,e7542e37-a2f0-43b5-852e-4e2b24b1b71f,e7542e37-a2f0-43b5-852e-4e2b24b1b71f,0,1,3e94649c-7d69-4fb4-ada1-ae00eabf02b6,3e94649c-7d69-4fb4-ada1-ae00eabf02b6,0,1,2b7372be-af0d-464e-8d09-8172229790af,2b7372be-af0d-464e-8d09-8172229790af,0,1,d85346db-be25-4dab-a2db-647c3d40dd17,d85346db-be25-4dab-a2db-647c3d40dd17,0,1,c7bafd34-5b15-42ec-b329-0be3002775ad,c7bafd34-5b15-42ec-b329-0be3002775ad,0,1,6feb2278-9149-47f8-a0ec-eb4bd9f44716,6feb2278-9149-47f8-a0ec-eb4bd9f44716,0,1,c960082b-8c16-4d7b-b7fd-b1f2bfe07e0b,c960082b-8c16-4d7b-b7fd-b1f2bfe07e0b,0,1,fb07fd61-2aae-4759-b6ef-c44c2bba4036,fb07fd61-2aae-4759-b6ef-c44c2bba4036,0,1,cd6770d5-cd3c-47af-bc46-c865993adf63,cd6770d5-cd3c-47af-bc46-c865993adf63,0,1,9f9936fc-54a0-4812-b12d-2f8f91551440,9f9936fc-54a0-4812-b12d-2f8f91551440,0,1,a5667633-9264-4dfa-9e26-c45e96e61ae3,a5667633-9264-4dfa-9e26-c45e96e61ae3,0,1,2eeea138-481c-4fde-9e8a-709d751cc469,2eeea138-481c-4fde-9e8a-709d751cc469,0,1,02c5f3b2-d691-4eaf-84fd-763770e4b1cb,02c5f3b2-d691-4eaf-84fd-763770e4b1cb,0,1,845262f8-8208-4c90-98ec-c85dd5734cf0,845262f8-8208-4c90-98ec-c85dd5734cf0,0,1,ad066c0d-4f4c-48af-9cc8-bb835372150a,ad066c0d-4f4c-48af-9cc8-bb835372150a,0,1,a2145e81-239e-4267-8a43-ea3f7babe878,a2145e81-239e-4267-8a43-ea3f7babe878,0,1,3326bbcb-b277-44db-a252-2448119e8146,3326bbcb-b277-44db-a252-2448119e8146,0,1,61cac5f7-320c-4098-9078-44fadcdeb219,61cac5f7-320c-4098-9078-44fadcdeb219,0,1,304304b1-36a4-42bb-8ab9-b23b59795001,304304b1-36a4-42bb-8ab9-b23b59795001,0,1,9ed016b2-2a4a-43a1-a336-6b13d68b3d0a,9ed016b2-2a4a-43a1-a336-6b13d68b3d0a,0,1,75b9ab9f-7cbb-4468-9570-39f719fd682b,75b9ab9f-7cbb-4468-9570-39f719fd682b,0,1,a22d1a4f-cb7c-4bcc-b258-ecca282fb071,a22d1a4f-cb7c-4bcc-b258-ecca282fb071,0,1,e5beda2c-f4e2-4a6b-a1d0-a877eb0c9f5b,e5beda2c-f4e2-4a6b-a1d0-a877eb0c9f5b,0,1,cd454738-62dd-4f95-af33-b52750678428,cd454738-62dd-4f95-af33-b52750678428,0,1,2a479b8f-7569-43d0-8ca3-9001d6ec57f0,2a479b8f-7569-43d0-8ca3-9001d6ec57f0,0,1,e4abafc6-f859-4d96-9818-5b9bf8d66d69,e4abafc6-f859-4d96-9818-5b9bf8d66d69,0,1,535acd2c-26d2-4f32-9ae6-cc1956317c59,535acd2c-26d2-4f32-9ae6-cc1956317c59,0,1,801adeeb-8a7f-44c1-b649-a7dfffc7b65d,801adeeb-8a7f-44c1-b649-a7dfffc7b65d,0,1,ac4e0868-ba49-46b4-8872-d42483a5591f,ac4e0868-ba49-46b4-8872-d42483a5591f,0,1,45e6c4a6-1d63-4b94-a7d2-fbd3fb68061b,45e6c4a6-1d63-4b94-a7d2-fbd3fb68061b,0,1,0493dcf1-5f94-41f9-a4c7-a52e12a29068,0493dcf1-5f94-41f9-a4c7-a52e12a29068,0,1,ca4c0299-625a-4b03-be0e-36ffb45c6d08,ca4c0299-625a-4b03-be0e-36ffb45c6d08,0,1,7fa1119b-4321-4b8f-a879-1d940084145a,7fa1119b-4321-4b8f-a879-1d940084145a,0,1,5d9c0841-6ea6-48dc-a53b-9f19894750f8,5d9c0841-6ea6-48dc-a53b-9f19894750f8,0,1,86b5303b-d967-4bc6-b2da-066c5a58613f,86b5303b-d967-4bc6-b2da-066c5a58613f,0,1,853b824d-9377-475f-913e-d02bd60f5f64,853b824d-9377-475f-913e-d02bd60f5f64,0,1,0c5e261f-961e-4780-877a-06589400b88a,0c5e261f-961e-4780-877a-06589400b88a,0,1,ee1f8545-ea64-41de-a29a-2d40e15d4f16,ee1f8545-ea64-41de-a29a-2d40e15d4f16,0,1,4599ef83-5f1e-44af-ae0c-67988656a99e,4599ef83-5f1e-44af-ae0c-67988656a99e,0,1,acb0d7eb-2ed9-4419-b79d-7dc661d70c30,acb0d7eb-2ed9-4419-b79d-7dc661d70c30,0,1,e1b94dcf-ec37-4b2d-a7af-120eeee40944,e1b94dcf-ec37-4b2d-a7af-120eeee40944,0,1,7d2a37b1-a1a0-435a-846a-95e255655044,7d2a37b1-a1a0-435a-846a-95e255655044,0,1,109db64c-00dc-490e-99a5-4430d9344e99,109db64c-00dc-490e-99a5-4430d9344e99,0,1,85837a55-fed5-4b7b-a622-30d728b9a677,85837a55-fed5-4b7b-a622-30d728b9a677,0,1,0fd79cdb-dc7a-40ca-a3bc-2c7a7b4691bb,0fd79cdb-dc7a-40ca-a3bc-2c7a7b4691bb,0,1,6ede8b5c-7df0-44a5-9136-8109bbd8b5a9,6ede8b5c-7df0-44a5-9136-8109bbd8b5a9,0,1,da9821c3-4b16-48b7-9088-d3cf8ac536a6,da9821c3-4b16-48b7-9088-d3cf8ac536a6,0,1,d5142574-a040-4dd0-a482-cdc61c1d86ab,d5142574-a040-4dd0-a482-cdc61c1d86ab,0,1,fb36c775-1124-4ba6-8af8-133bf66fcb54,fb36c775-1124-4ba6-8af8-133bf66fcb54,0,1,51f9aff4-71da-4b1b-b48b-04122a17d855,51f9aff4-71da-4b1b-b48b-04122a17d855,0,1,778e79ee-eb1a-4d52-8a31-58e781c78fe4,778e79ee-eb1a-4d52-8a31-58e781c78fe4,0,1,90385850-d37b-4b2e-ac87-95c17f32197c,90385850-d37b-4b2e-ac87-95c17f32197c,0,1,f480ac52-e2f1-4ed0-a0b1-20a622f77302,f480ac52-e2f1-4ed0-a0b1-20a622f77302,0,1,5c63e7cd-ecdb-45ae-a589-f6c38f5a8e76,5c63e7cd-ecdb-45ae-a589-f6c38f5a8e76,0,1,b9b0fbdc-8fda-46d1-bb3e-561a03604971,b9b0fbdc-8fda-46d1-bb3e-561a03604971,0,1,eadfdbe3-bc85-4084-aef6-4cfd258ee6f1,eadfdbe3-bc85-4084-aef6-4cfd258ee6f1,0,1,672c2936-9771-4e32-a970-7ac7f12a21e8,672c2936-9771-4e32-a970-7ac7f12a21e8,0,1,73afaad8-dfa9-43e3-bdaf-543c3545d788,73afaad8-dfa9-43e3-bdaf-543c3545d788,0,1,c264441d-4805-4968-baa2-37b8970049c7,c264441d-4805-4968-baa2-37b8970049c7,0,1,4f0bda80-2246-43be-95f8-ae8480682cd5,4f0bda80-2246-43be-95f8-ae8480682cd5,0,1,ac4fa2a4-93a1-4aa6-986a-5f576457fc8a,ac4fa2a4-93a1-4aa6-986a-5f576457fc8a,0,1,6f683f46-9eef-4e78-bc2f-7174238bf53c,6f683f46-9eef-4e78-bc2f-7174238bf53c,0,1,7d1ed38b-98cf-4a0e-a605-680bb580d904,7d1ed38b-98cf-4a0e-a605-680bb580d904,0,1,b769eda0-11de-401c-a68b-4fce4555d4fc,b769eda0-11de-401c-a68b-4fce4555d4fc,0,1,fd7a668f-3099-4e15-956a-92c6295dd4d5,fd7a668f-3099-4e15-956a-92c6295dd4d5,0,1,afcbd830-ec5f-4865-a176-ea3014dff908,afcbd830-ec5f-4865-a176-ea3014dff908,0,1,dc5fc801-14e4-42e8-b396-76eb30b69eea,dc5fc801-14e4-42e8-b396-76eb30b69eea,0,1,f36150de-33af-4410-8a4c-8c9f4b545793,f36150de-33af-4410-8a4c-8c9f4b545793,0,1,62f97480-7d4a-48f3-9d1d-612909b242c9,62f97480-7d4a-48f3-9d1d-612909b242c9,0,1,2b4f6e2f-6cc4-4c7c-98a6-786f3793366b,2b4f6e2f-6cc4-4c7c-98a6-786f3793366b,0,1,3068be84-a401-4701-8ac9-411fae130f84,3068be84-a401-4701-8ac9-411fae130f84,0,1,957394a7-e5b8-47fc-8680-1e71efe2be7d,957394a7-e5b8-47fc-8680-1e71efe2be7d,0,1,ba49a9e4-6ec1-43ff-92cd-9dbf221bbf09,ba49a9e4-6ec1-43ff-92cd-9dbf221bbf09,0,1,4f25ef45-c8d9-401d-b0e8-2217ac310f04,4f25ef45-c8d9-401d-b0e8-2217ac310f04,0,1,504ca240-b5ae-433e-ae5f-d818263eea23,504ca240-b5ae-433e-ae5f-d818263eea23,0,1,32461819-9437-417d-8d1e-851c9a2dcee2,32461819-9437-417d-8d1e-851c9a2dcee2,0,1,74228950-8a4b-4dd6-a053-8650de202521,74228950-8a4b-4dd6-a053-8650de202521,0,1,ff700f82-aba3-417c-be1b-b1b37ad98543,ff700f82-aba3-417c-be1b-b1b37ad98543,0,1,6b9ce91e-08b9-4972-9878-1724c67b68ec,6b9ce91e-08b9-4972-9878-1724c67b68ec,0,1,640814f2-6082-475e-8006-25fd5b24afdb,640814f2-6082-475e-8006-25fd5b24afdb,0,1,6fcd2a3a-4d66-40e3-bde0-5c274b43783f,6fcd2a3a-4d66-40e3-bde0-5c274b43783f,0,1,f1b66ea8-262d-4b38-a039-b83a843f6ee8,f1b66ea8-262d-4b38-a039-b83a843f6ee8,0,1,bcae6e05-f1fd-413e-9eef-2e1cee42a962,bcae6e05-f1fd-413e-9eef-2e1cee42a962,0,1,40da1bca-ebb3-4c64-bf54-1f37b71d47b6,40da1bca-ebb3-4c64-bf54-1f37b71d47b6,0,1,778b4c8f-7a1e-4b4b-9f68-12cbf52bf195,778b4c8f-7a1e-4b4b-9f68-12cbf52bf195,0,1,91562fe8-e630-4bcb-a14e-c0e1e129141a,91562fe8-e630-4bcb-a14e-c0e1e129141a,0,1,c261abfd-3828-47b5-aa32-dfdd3a1636ad,c261abfd-3828-47b5-aa32-dfdd3a1636ad,0,1,e71f8f26-addf-4b12-a244-11610ed03bba,e71f8f26-addf-4b12-a244-11610ed03bba,0,1,e9aa6dab-0d96-42ce-9bd6-b8b10d755f8c,e9aa6dab-0d96-42ce-9bd6-b8b10d755f8c,0,1,84da1ef8-1784-4dfc-b17a-7728aa7ff62a,84da1ef8-1784-4dfc-b17a-7728aa7ff62a,0,1,9155c95b-6afb-41bb-bd0b-d37e503fc163,9155c95b-6afb-41bb-bd0b-d37e503fc163,0,1,d917c19e-be15-41cc-9c8a-a97c8de85309,d917c19e-be15-41cc-9c8a-a97c8de85309,0,1,47907538-9357-4885-8b50-17f2e16c260f,47907538-9357-4885-8b50-17f2e16c260f,0,1,17e1840f-fef3-4f17-8476-273e6af24cb4,17e1840f-fef3-4f17-8476-273e6af24cb4,0,1,a64566fa-b706-49bc-8277-4531145c400e,a64566fa-b706-49bc-8277-4531145c400e,0,1,a8f32b13-249c-4ce6-a521-f06a87f2e670,a8f32b13-249c-4ce6-a521-f06a87f2e670,0,1,815775e4-cfb7-495b-87c4-d134b90d93d4,815775e4-cfb7-495b-87c4-d134b90d93d4,0,1,e867f2f1-0550-4d15-9e40-ba36c9aabfbd,e867f2f1-0550-4d15-9e40-ba36c9aabfbd,0,1,8bdbb9ef-3a91-4374-b3c5-9447005bb1b7,8bdbb9ef-3a91-4374-b3c5-9447005bb1b7,0,1,7a27b378-89ac-4cad-8c69-a0cd14812d7e,7a27b378-89ac-4cad-8c69-a0cd14812d7e,0,1,d2433a11-8e1d-4e4c-966d-37cde6283f72,d2433a11-8e1d-4e4c-966d-37cde6283f72,0,1,59eb5919-3c33-48bf-b322-ec78018e4142,59eb5919-3c33-48bf-b322-ec78018e4142,0,1,63f308a5-b955-48a5-8052-50c5bede65d0,63f308a5-b955-48a5-8052-50c5bede65d0,0,1,1b614b97-5c1d-497a-9574-40114059f836,1b614b97-5c1d-497a-9574-40114059f836,0,1,477dfea4-e401-4cf0-b0a8-2df7c3836c58,477dfea4-e401-4cf0-b0a8-2df7c3836c58,0,1,294c000f-6979-4ed1-bbc7-7402facd9185,294c000f-6979-4ed1-bbc7-7402facd9185,0,1,db607fbc-f785-47d5-9550-577424aa3fe9,db607fbc-f785-47d5-9550-577424aa3fe9,0,1,b7111ddf-a623-4bae-90aa-636148492ca2,b7111ddf-a623-4bae-90aa-636148492ca2,0,1,905d9dcd-5793-4362-8fe8-2edce8c35e32,905d9dcd-5793-4362-8fe8-2edce8c35e32,0,1,a96cb6fd-54e0-4514-9210-7f4636acd336,a96cb6fd-54e0-4514-9210-7f4636acd336,0,1,3580e7a7-95d1-4a8e-bc12-a1449fe03757,3580e7a7-95d1-4a8e-bc12-a1449fe03757,0,1,13759790-6c70-4323-9321-a68b90c51663,13759790-6c70-4323-9321-a68b90c51663,0,1,d9704b20-c29c-4e7f-b777-0ac9080a5631,d9704b20-c29c-4e7f-b777-0ac9080a5631,0,1,c1372891-0f55-4868-ab97-906eff52be0e,c1372891-0f55-4868-ab97-906eff52be0e,0,1,33e96bda-1708-4ee4-8d4d-3b919bda3e38,33e96bda-1708-4ee4-8d4d-3b919bda3e38,0,1,53fb35a7-44ab-42e7-8dba-6fa08bf5ba2c,53fb35a7-44ab-42e7-8dba-6fa08bf5ba2c,0,1,93fcaa62-2a19-468b-9128-c7930583fbfd,93fcaa62-2a19-468b-9128-c7930583fbfd,0,1,2d885109-4c96-41c0-a996-785bfd793c2d,2d885109-4c96-41c0-a996-785bfd793c2d,0,1,cae8a6f2-bbe9-4b73-b839-9bf8e5e2818d,cae8a6f2-bbe9-4b73-b839-9bf8e5e2818d,0,1,0a79ee40-e6d6-4dbf-8378-98c2ec1e8ef9,0a79ee40-e6d6-4dbf-8378-98c2ec1e8ef9,0,1,5148d263-de26-4c92-b090-ae59f42dfb05,5148d263-de26-4c92-b090-ae59f42dfb05,0,1,dbefe81f-85cf-4d84-9600-b359598c2543,dbefe81f-85cf-4d84-9600-b359598c2543,0,1,1a624a06-93b8-4d1f-8c14-2061e1e7927c,1a624a06-93b8-4d1f-8c14-2061e1e7927c,0,1,4ad54ca8-8e4a-4a35-9537-0395851fcdfb,4ad54ca8-8e4a-4a35-9537-0395851fcdfb,0,1,3e427c09-79ed-45f7-b4c9-d9aa7ccc01b2,3e427c09-79ed-45f7-b4c9-d9aa7ccc01b2,0,1,1a4dd1f5-c2d6-4e06-b428-ab7870810bf3,1a4dd1f5-c2d6-4e06-b428-ab7870810bf3,0,1,d5967e0f-03cd-4190-a702-7e9290eae1eb,d5967e0f-03cd-4190-a702-7e9290eae1eb,0,1,78fdbce8-8479-4edd-89c0-1bbaf8ffd482,78fdbce8-8479-4edd-89c0-1bbaf8ffd482,0,1,8eb18de5-8283-4d0c-bb11-b882e78181d5,8eb18de5-8283-4d0c-bb11-b882e78181d5,0,1,27b27cc5-d1ad-4a2a-bcf4-ec2ebb3eba43,27b27cc5-d1ad-4a2a-bcf4-ec2ebb3eba43,0,1,7059b117-714c-4710-aebe-76f88c4d41d5,7059b117-714c-4710-aebe-76f88c4d41d5,0,1,ea050453-4947-40dc-aa2a-503ddd1a235a,ea050453-4947-40dc-aa2a-503ddd1a235a,0,1,37d0e6d4-702e-46f5-ae87-4d393fa0c701,37d0e6d4-702e-46f5-ae87-4d393fa0c701,0,1,1e963c1e-f914-46e1-81d3-90d126fc6f8d,1e963c1e-f914-46e1-81d3-90d126fc6f8d,0,1,3a62d88e-9298-42c0-bd87-c749ecd01d19,3a62d88e-9298-42c0-bd87-c749ecd01d19,0,1,abbf064e-c6ea-4712-930b-a9fef42e0ee1,abbf064e-c6ea-4712-930b-a9fef42e0ee1,0,1,fc13dd80-ce44-4ed1-a9d7-dae44602b954,fc13dd80-ce44-4ed1-a9d7-dae44602b954,0,1,a3fe224e-c3ef-4e30-90e4-c4ed5eb11824,a3fe224e-c3ef-4e30-90e4-c4ed5eb11824,0,1,433b23a1-a863-4775-b2f2-1384e8f3cbbb,433b23a1-a863-4775-b2f2-1384e8f3cbbb,0,1,a1677c47-b9a4-427a-972d-9bb2293445b6,a1677c47-b9a4-427a-972d-9bb2293445b6,0,1,e4a328c0-e73b-465d-ae36-38e5a71690fa,e4a328c0-e73b-465d-ae36-38e5a71690fa,0,1,bf66612b-aec4-414b-bee6-9bcab145c7cc,bf66612b-aec4-414b-bee6-9bcab145c7cc,0,1,811f356f-554a-4a63-90b6-dedb5fec7c05,811f356f-554a-4a63-90b6-dedb5fec7c05,0,1,85bebd81-a355-4010-889b-cff6f72dafcb,85bebd81-a355-4010-889b-cff6f72dafcb,0,1,49521f36-fd1b-47dd-81cc-48b6fb651e22,49521f36-fd1b-47dd-81cc-48b6fb651e22,0,1,1491cc2a-b3be-4bcc-a181-ce68d4b5d4cb,1491cc2a-b3be-4bcc-a181-ce68d4b5d4cb,0,1,bc946e21-53bb-4332-8c63-7b0aa78826eb,bc946e21-53bb-4332-8c63-7b0aa78826eb,0,1,4be2bdad-9a43-4593-acbc-a02e9144a89f,4be2bdad-9a43-4593-acbc-a02e9144a89f,0,1,64a86d5d-f925-45ee-82da-76df1cc20729,64a86d5d-f925-45ee-82da-76df1cc20729,0,1,eb4455f2-a5a0-44fb-8302-7312bc32df66,eb4455f2-a5a0-44fb-8302-7312bc32df66,0,1,cd6d2ab5-8e5c-4db3-8c8c-0526046a9b68,cd6d2ab5-8e5c-4db3-8c8c-0526046a9b68,0,1,9f20e59e-7db8-466f-b965-7045fc3f1489,9f20e59e-7db8-466f-b965-7045fc3f1489,0,1,cb057756-d3f7-4c50-a9d0-bac9ca2abd46,cb057756-d3f7-4c50-a9d0-bac9ca2abd46,0,1,89ac3d39-1915-4e67-a4e4-5a67a155cb75,89ac3d39-1915-4e67-a4e4-5a67a155cb75,0,1,d27b637d-5a51-49ff-bf73-343891534586,d27b637d-5a51-49ff-bf73-343891534586,0,1,b5a073a2-54e2-47c9-b533-f75fd2c9f343,b5a073a2-54e2-47c9-b533-f75fd2c9f343,0,1,0c8571be-f9b6-4292-add9-980cfe7fa2ec,0c8571be-f9b6-4292-add9-980cfe7fa2ec,0,1,989b8ccd-bc05-48c1-9969-b3733028b65f,989b8ccd-bc05-48c1-9969-b3733028b65f,0,1,6c70b13d-f9d0-459f-8d38-c01c11f356f1,6c70b13d-f9d0-459f-8d38-c01c11f356f1,0,1,bbaed1bd-0eb7-4f2b-b844-ab79c1d0a091,bbaed1bd-0eb7-4f2b-b844-ab79c1d0a091,0,1,2e7fbea4-57ac-4633-bb39-8725e57bc7ba,2e7fbea4-57ac-4633-bb39-8725e57bc7ba,0,1,83ae9b22-20ff-4e94-9282-19daf2274328,83ae9b22-20ff-4e94-9282-19daf2274328,0,1,dcad5d84-6643-4f0b-9e6e-73fe343db4a7,dcad5d84-6643-4f0b-9e6e-73fe343db4a7,0,1,e1ca1374-6dad-46d3-bb72-b67f3e6b1809,e1ca1374-6dad-46d3-bb72-b67f3e6b1809,0,1,a92b2b70-7e69-49d1-b921-c9d1b0718f94,a92b2b70-7e69-49d1-b921-c9d1b0718f94,0,1,d57a3300-0f9f-4fe5-b627-01c96b723053,d57a3300-0f9f-4fe5-b627-01c96b723053,0,1,19f690a3-d27b-43c1-94b7-585fc628da05,19f690a3-d27b-43c1-94b7-585fc628da05,0,1,d375fac5-098c-42b5-a0bd-9a4ae7516ada,d375fac5-098c-42b5-a0bd-9a4ae7516ada,0,1,29034f3e-d2eb-44e0-ac85-f2ffaf14eb90,29034f3e-d2eb-44e0-ac85-f2ffaf14eb90,0,1,ce65563d-03dc-46d8-96d4-c2d4ae2a2960,ce65563d-03dc-46d8-96d4-c2d4ae2a2960,0,1,5079f17e-dfd6-43f4-83fa-6ac408e5bd3b,5079f17e-dfd6-43f4-83fa-6ac408e5bd3b,0,1,7a4346c3-f1aa-4ce0-886e-76cd9abf563c,7a4346c3-f1aa-4ce0-886e-76cd9abf563c,0,1,cf783265-a4cb-436f-963a-1ff8220ae246,cf783265-a4cb-436f-963a-1ff8220ae246,0,1,3560f949-48f9-4fca-9fe2-81efc1ec0eee,3560f949-48f9-4fca-9fe2-81efc1ec0eee,0,1,662078f0-b75d-4c44-896f-7b7f74fd1ed4,662078f0-b75d-4c44-896f-7b7f74fd1ed4,0,1,207290c2-5221-48ad-99aa-bb0f7955df3f,207290c2-5221-48ad-99aa-bb0f7955df3f,0,1,162137ef-dea2-4ace-9e67-897dad0e7c3d,162137ef-dea2-4ace-9e67-897dad0e7c3d,0,1,d91a016e-cca9-4976-9c53-2c96fa95cf1a,d91a016e-cca9-4976-9c53-2c96fa95cf1a,0,1,012fb2f1-1c15-4800-8968-78a90c2a1348,012fb2f1-1c15-4800-8968-78a90c2a1348,0,1,a29a36aa-3c90-4be9-8ffc-20237721d1d0,a29a36aa-3c90-4be9-8ffc-20237721d1d0,0,1,aec8f9e6-d177-45f5-ba55-2d662428c2ae,aec8f9e6-d177-45f5-ba55-2d662428c2ae,0,1,b0bf8af5-d824-459c-bc40-17495406af3c,b0bf8af5-d824-459c-bc40-17495406af3c,0,1,7dfdd08b-7cd9-480c-829d-97f5e7152eec,7dfdd08b-7cd9-480c-829d-97f5e7152eec,0,1,64752b64-80ae-4537-986a-d61423dc546b,64752b64-80ae-4537-986a-d61423dc546b,0,1,2c37e123-ea35-4501-93e1-2fa295444bec,2c37e123-ea35-4501-93e1-2fa295444bec,0,1,c8bd3ac8-3b49-46bb-aadd-7270ad2868fc,c8bd3ac8-3b49-46bb-aadd-7270ad2868fc,0,1,a997a430-3ea8-4fde-9f53-7b507a04c215,a997a430-3ea8-4fde-9f53-7b507a04c215,0,1,f648e19d-026b-4fa7-8e70-1866b27b94f8,f648e19d-026b-4fa7-8e70-1866b27b94f8,0,1,d32081fc-47d3-4e66-837e-705c94ba8ca8,d32081fc-47d3-4e66-837e-705c94ba8ca8,0,1,69c207c2-7699-4467-b127-286ecd6d0f29,69c207c2-7699-4467-b127-286ecd6d0f29,0,1,e33df42d-4c64-4475-8294-6b05ecdb4e02,e33df42d-4c64-4475-8294-6b05ecdb4e02,0,1,6094a0ed-2051-4649-ad75-dfeb389d3cbb,6094a0ed-2051-4649-ad75-dfeb389d3cbb,0,1,6944a7e2-b9a1-492f-a6f2-9bf31d97ec78,6944a7e2-b9a1-492f-a6f2-9bf31d97ec78,0,1,f3750ea4-5f9e-4ab3-9495-3f182ecff407,f3750ea4-5f9e-4ab3-9495-3f182ecff407,0,1,14002d51-87d4-4647-92ef-a9b1935cb666,14002d51-87d4-4647-92ef-a9b1935cb666,0,1,e941a39d-1f3c-4e6e-af17-75f92a15dd40,e941a39d-1f3c-4e6e-af17-75f92a15dd40,0,1,d9bbedcb-4872-4183-83c2-6c2aae9634b0,d9bbedcb-4872-4183-83c2-6c2aae9634b0,0,1,72c695c3-66f6-4aa8-8a39-737ec6967a1d,72c695c3-66f6-4aa8-8a39-737ec6967a1d,0,1,2beef1e0-7a59-407e-b454-ee2ec38ca4b3,2beef1e0-7a59-407e-b454-ee2ec38ca4b3,0,1,b57a1d6f-8375-4d57-a2c1-f53e25318ddb,b57a1d6f-8375-4d57-a2c1-f53e25318ddb,0,1,d5d11480-d5c7-4569-80c1-f872655ff084,d5d11480-d5c7-4569-80c1-f872655ff084,0,1,b1e45d36-08e9-430e-976b-03e6e3320c6a,b1e45d36-08e9-430e-976b-03e6e3320c6a,0,1,b5384eb7-40e4-4437-b96b-eab9b7b5b8f2,b5384eb7-40e4-4437-b96b-eab9b7b5b8f2,0,1,8e21374f-5a65-406c-856d-2040607da4bc,8e21374f-5a65-406c-856d-2040607da4bc,0,1,1b63cbbb-77b1-4e78-a4c7-ddea8ea7294d,1b63cbbb-77b1-4e78-a4c7-ddea8ea7294d,0,1,3e5f5167-8978-4191-b0f6-6a262b848b95,3e5f5167-8978-4191-b0f6-6a262b848b95,0,1,ae3aef9e-df3b-4ebc-912d-2bc581063745,ae3aef9e-df3b-4ebc-912d-2bc581063745,0,1,5c4ecf15-b92d-4610-b2bb-f2331c5c7528,5c4ecf15-b92d-4610-b2bb-f2331c5c7528,0,1,a8c09e65-6e10-4772-b264-6ead83d52fe3,a8c09e65-6e10-4772-b264-6ead83d52fe3,0,1,eb74ebf0-a9c6-4c4c-b279-5a46f40ea0d3,eb74ebf0-a9c6-4c4c-b279-5a46f40ea0d3,0,1,d5e1806b-9827-40ab-9cfa-23c22456d137,d5e1806b-9827-40ab-9cfa-23c22456d137,0,1,b57b186a-ec1e-46a2-87ae-6ba27793ebf6,b57b186a-ec1e-46a2-87ae-6ba27793ebf6,0,1,d24170d7-5477-4ec8-acd2-0de8bd2067d6,d24170d7-5477-4ec8-acd2-0de8bd2067d6,0,1,f047da82-7574-4da4-b54e-480195280a11,f047da82-7574-4da4-b54e-480195280a11,0,1,4a749e8c-cb35-4bc4-9b31-fb5bc0eab474,4a749e8c-cb35-4bc4-9b31-fb5bc0eab474,0,1,da4a0c05-2285-434b-b7f8-83b2a0d7f23d,da4a0c05-2285-434b-b7f8-83b2a0d7f23d,0,1,8afa9a0e-04c1-4cac-82bb-6767cc0594d9,8afa9a0e-04c1-4cac-82bb-6767cc0594d9,0,1,ecbe625a-55eb-437a-8dee-33fb034d4c0d,ecbe625a-55eb-437a-8dee-33fb034d4c0d,0,1,5d4cefac-5dc4-4d73-8b4b-900a8464fbb2,5d4cefac-5dc4-4d73-8b4b-900a8464fbb2,0,1,84796b00-79db-42ba-94d0-5bf543e09cd6,84796b00-79db-42ba-94d0-5bf543e09cd6,0,1,948b10b3-0d7c-4dca-8816-75eb86e7881b,948b10b3-0d7c-4dca-8816-75eb86e7881b,0,1,9de91b5a-98e4-414b-b650-b669b0159b49,9de91b5a-98e4-414b-b650-b669b0159b49,0,1,840dc727-288a-4bf2-8b1a-47629d28229c,840dc727-288a-4bf2-8b1a-47629d28229c,0,1,314ac8ca-8845-40c2-b844-91beb05fb601,314ac8ca-8845-40c2-b844-91beb05fb601,0,1,3de3948d-40ff-4e0d-8445-9bf49c916161,3de3948d-40ff-4e0d-8445-9bf49c916161,0,1,37ae1946-9436-47ef-8b8c-17ed0a24971c,37ae1946-9436-47ef-8b8c-17ed0a24971c,0,1,d844d861-fbe9-4391-89e3-00e505b33b33,d844d861-fbe9-4391-89e3-00e505b33b33,0,1,c0688817-fd73-4ead-b9dd-ec966780a2c2,c0688817-fd73-4ead-b9dd-ec966780a2c2,0,1,b1fbfbfe-766f-4018-9491-507748193808,b1fbfbfe-766f-4018-9491-507748193808,0,1,e55dfadb-8e12-4808-ad90-e891a4644548,e55dfadb-8e12-4808-ad90-e891a4644548,0,1,a792b3dc-ac80-492b-bd94-83eb0438ba9f,a792b3dc-ac80-492b-bd94-83eb0438ba9f,0,1,73a093ea-1927-483b-b6f5-8f0cbd253753,73a093ea-1927-483b-b6f5-8f0cbd253753,0,1,345f04c0-0274-4e79-b523-f1fa3cf0d92a,345f04c0-0274-4e79-b523-f1fa3cf0d92a,0,1,f3a14787-de1b-4b65-8cb1-bc33a785821c,f3a14787-de1b-4b65-8cb1-bc33a785821c,0,1,b9ba3ce3-9059-4135-9d31-725f01907431,b9ba3ce3-9059-4135-9d31-725f01907431,0,1,4d2b3767-7c96-44a6-bb1b-ab74b103b90e,4d2b3767-7c96-44a6-bb1b-ab74b103b90e,0,1,fc9fc58f-c888-41f0-9f57-70748b21706e,fc9fc58f-c888-41f0-9f57-70748b21706e,0,1,fc761833-aa85-4c6d-a36c-d1ed060e3bb1,fc761833-aa85-4c6d-a36c-d1ed060e3bb1,0,1,f0ba2ff2-b353-4f84-8e45-23e47ee6c1b6,f0ba2ff2-b353-4f84-8e45-23e47ee6c1b6,0,1,bb8bade2-5c1b-49a6-b66f-79a3ebff86f7,bb8bade2-5c1b-49a6-b66f-79a3ebff86f7,0,1,33596560-3d45-4d3e-b6ec-1c22162110ad,33596560-3d45-4d3e-b6ec-1c22162110ad,0,1,d3e82a06-daae-4f4d-b3f8-45a406e31664,d3e82a06-daae-4f4d-b3f8-45a406e31664,0,1,af76c3c9-d8dc-4156-9e10-80ee02fcf4fe,af76c3c9-d8dc-4156-9e10-80ee02fcf4fe,0,1,ac6a184d-1247-4b54-a023-f0d16daa5fe9,ac6a184d-1247-4b54-a023-f0d16daa5fe9,0,1,f9af5fe6-0b4f-4d48-92a4-1f2a29972155,f9af5fe6-0b4f-4d48-92a4-1f2a29972155,0,1,3ca1682d-5ff5-4b2b-96c2-54d2dd5297a9,3ca1682d-5ff5-4b2b-96c2-54d2dd5297a9,0,1,a687d346-73cf-4aea-a4d0-f29824f0f6f1,a687d346-73cf-4aea-a4d0-f29824f0f6f1,0,1,f51fda72-56d9-4b45-a775-a0e1dfbf3a27,f51fda72-56d9-4b45-a775-a0e1dfbf3a27,0,1,8bf73614-81a4-4702-88b9-3c6f2594d204,8bf73614-81a4-4702-88b9-3c6f2594d204,0,1,b8d4410b-f626-41b8-87c8-67102256bae2,b8d4410b-f626-41b8-87c8-67102256bae2,0,1,484eeb5f-12af-4139-a081-4dcac067a712,484eeb5f-12af-4139-a081-4dcac067a712,0,1,ec61075e-fbcb-494a-b790-81548a212d2b,ec61075e-fbcb-494a-b790-81548a212d2b,0,1,2f3bdc3c-4c5d-4fcb-85bb-932fe1747d98,2f3bdc3c-4c5d-4fcb-85bb-932fe1747d98,0,1,0c444045-302b-4dbd-a9a3-81fd40004948,0c444045-302b-4dbd-a9a3-81fd40004948,0,1,16099d54-e84f-47c5-aaf3-f8ced3cba5e0,16099d54-e84f-47c5-aaf3-f8ced3cba5e0,0,1,1528b799-1c0f-4244-85e8-e738b827934a,1528b799-1c0f-4244-85e8-e738b827934a,0,1,45d79e4d-8c2a-432b-abb8-fb9046abea40,45d79e4d-8c2a-432b-abb8-fb9046abea40,0,1,8f4d2fa9-c6ed-4f85-b3ef-f9214468ffc4,8f4d2fa9-c6ed-4f85-b3ef-f9214468ffc4,0,1,cb73c8c2-3b09-42e9-ac26-1bd51854efb6,cb73c8c2-3b09-42e9-ac26-1bd51854efb6,0,1,256618cc-0956-4cda-9691-e4ced68a791f,256618cc-0956-4cda-9691-e4ced68a791f,0,1,e20593fd-b3e3-41d2-8c8d-97b5d6148fa4,e20593fd-b3e3-41d2-8c8d-97b5d6148fa4,0,1,4b9771a7-b924-4e61-8468-4633e3c54706,4b9771a7-b924-4e61-8468-4633e3c54706,0,1,bc846fc8-3c67-45f8-9c5c-69bf1190baf9,bc846fc8-3c67-45f8-9c5c-69bf1190baf9,0,1,667de710-cee5-4a97-8434-641d199f3b68,667de710-cee5-4a97-8434-641d199f3b68,0,1,e9a2320b-71a1-4974-8b5a-1990062ec7df,e9a2320b-71a1-4974-8b5a-1990062ec7df,0,1,f6e85eeb-d81b-4526-9a33-ab77bd447236,f6e85eeb-d81b-4526-9a33-ab77bd447236,0,1,470e37fe-d149-4007-b397-12fc84f93041,470e37fe-d149-4007-b397-12fc84f93041,0,1,f8d9068d-8a4e-4b23-b5ca-5b9ddce1f60f,f8d9068d-8a4e-4b23-b5ca-5b9ddce1f60f,0,1,7175cfa0-885c-4807-98ec-af255dcd55d9,7175cfa0-885c-4807-98ec-af255dcd55d9,0,1,1773ff66-ebe4-46e1-b505-d07d87c7fe3e,1773ff66-ebe4-46e1-b505-d07d87c7fe3e,0,1,f5b66759-8102-4cba-a3fd-ee96db5bc809,f5b66759-8102-4cba-a3fd-ee96db5bc809,0,1,6c205eae-9113-46c1-a245-25d29173646e,6c205eae-9113-46c1-a245-25d29173646e,0,1,4cc4aa90-49fb-4602-9f9c-d4d47d223988,4cc4aa90-49fb-4602-9f9c-d4d47d223988,0,1,66ef1631-277b-4c22-99d7-1434b4dbbb3f,66ef1631-277b-4c22-99d7-1434b4dbbb3f,0,1,7cfa5a37-b9f8-43e4-ae33-e3a7251dd052,7cfa5a37-b9f8-43e4-ae33-e3a7251dd052,0,1,2f8a5b9d-ab86-492b-85d1-5a28535b2ebc,2f8a5b9d-ab86-492b-85d1-5a28535b2ebc,0,1,898535ff-50cd-464a-aadc-5e4f9de15b04,898535ff-50cd-464a-aadc-5e4f9de15b04,0,1,737f6f1b-9ffc-4916-b378-7321eab1f886,737f6f1b-9ffc-4916-b378-7321eab1f886,0,1,01dedf5b-2cce-4d24-81ea-2e3af82f5794,01dedf5b-2cce-4d24-81ea-2e3af82f5794,0,1,385e209d-65aa-43b1-8591-f92544882740,385e209d-65aa-43b1-8591-f92544882740,0,1,8381bc76-0e0f-4196-9911-ec05730cb1c9,8381bc76-0e0f-4196-9911-ec05730cb1c9,0,1,c224e520-7204-4f4a-aac9-b6221ea9ce44,c224e520-7204-4f4a-aac9-b6221ea9ce44,0,1,771a1900-46be-49fe-a02d-584780de8363,771a1900-46be-49fe-a02d-584780de8363,0,1,f81b1f2d-6fde-4861-8fee-1dbe6acf3985,f81b1f2d-6fde-4861-8fee-1dbe6acf3985,0,1,b62eecf6-6ee3-4a70-a4d6-3f064ae35c43,b62eecf6-6ee3-4a70-a4d6-3f064ae35c43,0,1,9bf2525c-e8fc-44e6-ac14-7df3208dbb0f,9bf2525c-e8fc-44e6-ac14-7df3208dbb0f,0,1,a2faa3f8-5064-4fbf-a90e-26d15c021cd3,a2faa3f8-5064-4fbf-a90e-26d15c021cd3,0,1,527ea8ca-e723-454a-8e9e-f2e7a38e62ee,527ea8ca-e723-454a-8e9e-f2e7a38e62ee,0,1,ef257b20-da10-4cda-8b9d-7de2d68a2f71,ef257b20-da10-4cda-8b9d-7de2d68a2f71,0,1,de0d41b7-acc0-4ebc-8933-d6b5ad351860,de0d41b7-acc0-4ebc-8933-d6b5ad351860,0,1,04013c34-8d59-4f87-b272-732d5a6dd675,04013c34-8d59-4f87-b272-732d5a6dd675,0,1,7fffceb9-8725-46ab-b797-ad7aa67f1075,7fffceb9-8725-46ab-b797-ad7aa67f1075,0,1,f9df9b6b-5051-46ef-bb1f-1974f41054a7,f9df9b6b-5051-46ef-bb1f-1974f41054a7,0,1,005b3f60-d740-4670-b522-8c352958889e,005b3f60-d740-4670-b522-8c352958889e,0,1,9ef5dd5e-1f26-4187-90a0-a3ac7aaabc1d,9ef5dd5e-1f26-4187-90a0-a3ac7aaabc1d,0,1,1a354069-07ea-40e0-bbac-e1b6232750c2,1a354069-07ea-40e0-bbac-e1b6232750c2,0,1,df31548b-0b8e-412b-999a-761970ae3c23,df31548b-0b8e-412b-999a-761970ae3c23,0,1,05135747-43e7-4b61-bc30-57b3289ea923,05135747-43e7-4b61-bc30-57b3289ea923,0,1,6d63728d-3384-4131-b890-1b82d14a04b7,6d63728d-3384-4131-b890-1b82d14a04b7,0,1,f4554046-493e-4960-94df-0a8b9d02f474,f4554046-493e-4960-94df-0a8b9d02f474,0,1,06abad33-2d69-4e8b-a16c-8aa0d4422d5a,06abad33-2d69-4e8b-a16c-8aa0d4422d5a,0,1,9222a6c0-b785-4811-bfb6-44ac44a55925,9222a6c0-b785-4811-bfb6-44ac44a55925,0,1,ea84021d-2431-44ad-a446-f1fb979c9e96,ea84021d-2431-44ad-a446-f1fb979c9e96,0,1,d86acdeb-fa70-4d1c-bd0c-1b4ea30c03dd,d86acdeb-fa70-4d1c-bd0c-1b4ea30c03dd,0,1,6da034af-0481-4a3c-aff9-c50ced6f21d4,6da034af-0481-4a3c-aff9-c50ced6f21d4,0,1,6fe57ea6-fe5e-48b1-bb31-5d42e4c2c6c7,6fe57ea6-fe5e-48b1-bb31-5d42e4c2c6c7,0,1,d07016c8-7d97-42cd-865b-85b49075adfb,d07016c8-7d97-42cd-865b-85b49075adfb,0,1,9202335d-50bb-4282-9438-24c7fb9cf637,9202335d-50bb-4282-9438-24c7fb9cf637,0,1,a62906e5-27f8-4e72-8769-9a3eed6997d7,a62906e5-27f8-4e72-8769-9a3eed6997d7,0,1,6c5d0ac3-6086-434c-812b-1c1158ecc574,6c5d0ac3-6086-434c-812b-1c1158ecc574,0,1,783536d7-c0db-44c9-96e8-58b57804d7c8,783536d7-c0db-44c9-96e8-58b57804d7c8,0,1,a8295435-c2c4-4aff-874b-7412556aa76d,a8295435-c2c4-4aff-874b-7412556aa76d,0,1,f6c4e24b-172b-4ba3-8e3e-988306ade660,f6c4e24b-172b-4ba3-8e3e-988306ade660,0,1,9baab24c-a5a3-46f4-ad17-a28d4a49f851,9baab24c-a5a3-46f4-ad17-a28d4a49f851,0,1,d1952319-0e42-4684-a386-fbe7c24526c2,d1952319-0e42-4684-a386-fbe7c24526c2,0,1,01cd59fc-8577-4b3c-9d69-6db75e81e7c4,01cd59fc-8577-4b3c-9d69-6db75e81e7c4,0,1,83b47a9d-d44b-4c40-becd-df74f9cb2e91,83b47a9d-d44b-4c40-becd-df74f9cb2e91,0,1,d03e636e-ff88-4e96-bf3c-d795d10cbcb0,d03e636e-ff88-4e96-bf3c-d795d10cbcb0,0,1,86e2a2eb-160f-4e93-a449-b2f726286d1b,86e2a2eb-160f-4e93-a449-b2f726286d1b,0,1,8e6e1f24-83bf-42c2-9eda-b3874c7910c3,8e6e1f24-83bf-42c2-9eda-b3874c7910c3,0,1,364184c2-ec71-44be-b40c-ba719b4ab0e1,364184c2-ec71-44be-b40c-ba719b4ab0e1,0,1,7ef46c54-ec0c-4211-a750-e5949956b593,7ef46c54-ec0c-4211-a750-e5949956b593,0,1,04823681-875e-459a-b3cf-051c89527f38,04823681-875e-459a-b3cf-051c89527f38,0,1,8e115a0c-a17c-4d7e-bd2c-305fb53d09ca,8e115a0c-a17c-4d7e-bd2c-305fb53d09ca,0,1,38265f08-3301-40d1-b630-a319c983e826,38265f08-3301-40d1-b630-a319c983e826,0,1,5175c496-bac7-4c57-9628-793b727aecd0,5175c496-bac7-4c57-9628-793b727aecd0,0,1,1453309e-77d0-444d-ac3f-fd7c2cb65c0c,1453309e-77d0-444d-ac3f-fd7c2cb65c0c,0,1,fc42df4a-93f0-461f-acfe-fea09158030f,fc42df4a-93f0-461f-acfe-fea09158030f,0,1,9f0a7909-0b97-48a7-964f-a52cb3c19c4e,9f0a7909-0b97-48a7-964f-a52cb3c19c4e,0,1,6d002aef-00c9-4069-80df-153151218831,6d002aef-00c9-4069-80df-153151218831,0,1,4fec3a6c-5a99-4763-aa07-d5de8712559e,4fec3a6c-5a99-4763-aa07-d5de8712559e,0,1,968a1202-d271-43e0-bfd4-d38e49ceadd4,968a1202-d271-43e0-bfd4-d38e49ceadd4,0,1,c80e2ef7-93b6-4cef-806a-2dfcf2fd80e6,c80e2ef7-93b6-4cef-806a-2dfcf2fd80e6,0,1,b3b4fbf1-cbf0-4ee2-a490-4d657693479b,b3b4fbf1-cbf0-4ee2-a490-4d657693479b,0,1,ea61e442-273e-4ce4-a806-8090893729ba,ea61e442-273e-4ce4-a806-8090893729ba,0,1,e7100f2b-d169-4635-ab87-7a2225ff12ee,e7100f2b-d169-4635-ab87-7a2225ff12ee,0,1,d6bd5459-6f95-4f9c-8d84-c67bdc716acf,d6bd5459-6f95-4f9c-8d84-c67bdc716acf,0,1,4a2d2790-debf-4dc2-8216-878d8808d161,4a2d2790-debf-4dc2-8216-878d8808d161,0,1,836d0590-a8ee-40d0-a649-41cf4fae36a6,836d0590-a8ee-40d0-a649-41cf4fae36a6,0,1,6dcbb379-d4f5-418a-a3ab-bb7c0e169058,6dcbb379-d4f5-418a-a3ab-bb7c0e169058,0,1,6ddbc80a-38c8-4eda-8cdf-6d64331818a3,6ddbc80a-38c8-4eda-8cdf-6d64331818a3,0,1,eda3c675-04b7-4c14-b78a-0caa22843ac0,eda3c675-04b7-4c14-b78a-0caa22843ac0,0,1,fc097ab3-8b3e-4b8f-9e51-d888735a69bd,fc097ab3-8b3e-4b8f-9e51-d888735a69bd,0,1,23c2c28b-867e-41d0-ba61-b9ee20fa38d1,23c2c28b-867e-41d0-ba61-b9ee20fa38d1,0,1,e5ddc65a-e886-4ed6-9598-bec30ddb7341,e5ddc65a-e886-4ed6-9598-bec30ddb7341,0,1,6cf48813-8097-44ae-8630-58f5b002ff31,6cf48813-8097-44ae-8630-58f5b002ff31,0,1,e0cee0ee-24b9-400a-95af-c61debec912b,e0cee0ee-24b9-400a-95af-c61debec912b,0,1,578bc873-5e23-4222-a655-7d653d761a4c,578bc873-5e23-4222-a655-7d653d761a4c,0,1,09bccd03-1492-4ebe-bfb4-8ace744d367f,09bccd03-1492-4ebe-bfb4-8ace744d367f,0,1,4d9294db-1abd-4e34-812f-fdcac0cf657d,4d9294db-1abd-4e34-812f-fdcac0cf657d,0,1,14bc3be4-3075-418d-90ec-be5d2686f875,14bc3be4-3075-418d-90ec-be5d2686f875,0,1,adffd81c-a566-4b4f-89d5-6abc705da36f,adffd81c-a566-4b4f-89d5-6abc705da36f,0,1,9f67e6d4-0b7c-4318-b127-7c8b7daf1d1b,9f67e6d4-0b7c-4318-b127-7c8b7daf1d1b,0,1,23ced9be-cb9d-451f-aea7-aa211054bd4d,23ced9be-cb9d-451f-aea7-aa211054bd4d,0,1,3991175c-0152-44c6-8e1c-4090d960050a,3991175c-0152-44c6-8e1c-4090d960050a,0,1,ea5767c3-4144-4d94-a666-3f6ac56a17ee,ea5767c3-4144-4d94-a666-3f6ac56a17ee,0,1,aa2760cf-b8cd-4eb3-b2f1-0e1fbdec09a8,aa2760cf-b8cd-4eb3-b2f1-0e1fbdec09a8,0,1,d1fabcdd-c072-4341-85d4-9a9ba168f301,d1fabcdd-c072-4341-85d4-9a9ba168f301,0,1,030a9c93-322b-4421-ad70-0acaa94870a2,030a9c93-322b-4421-ad70-0acaa94870a2,0,1,7121d241-9450-4bf2-b7ff-a0e963bbfd0a,7121d241-9450-4bf2-b7ff-a0e963bbfd0a,0,1,01a3ab71-56fa-4ddc-a5a3-9c923ee9c74a,01a3ab71-56fa-4ddc-a5a3-9c923ee9c74a,0,1,5c660f50-c63a-466d-bb32-de5699ad8a95,5c660f50-c63a-466d-bb32-de5699ad8a95,0,1,032587fa-2993-463c-af9f-bdd67f12604f,032587fa-2993-463c-af9f-bdd67f12604f,0,1,64d4aaed-e068-431b-bed0-faef7b5358f3,64d4aaed-e068-431b-bed0-faef7b5358f3,0,1,4507a92e-abb6-4329-88b2-3429bc694bc6,4507a92e-abb6-4329-88b2-3429bc694bc6,0,1,2694c1b4-536b-4187-adf6-0f8757aaae76,2694c1b4-536b-4187-adf6-0f8757aaae76,0,1,e523f88b-b3de-476e-a3cc-592970492dec,e523f88b-b3de-476e-a3cc-592970492dec,0,1,0e2107e2-8648-4b2e-9dfb-c23b1ff5b007,0e2107e2-8648-4b2e-9dfb-c23b1ff5b007,0,1,efb6b3b6-d57b-469f-a7c2-f4e0308d0c7f,efb6b3b6-d57b-469f-a7c2-f4e0308d0c7f,0,1,ea0843f4-60fb-4d44-abf4-0021867c636b,ea0843f4-60fb-4d44-abf4-0021867c636b,0,1,59aadc03-adbc-481f-89bc-d7f391789522,59aadc03-adbc-481f-89bc-d7f391789522,0,1,254f6ccd-0451-4231-91c9-4abe57b647be,254f6ccd-0451-4231-91c9-4abe57b647be,0,1,1e2d790c-0076-413a-b5fb-f25c01ab6ad5,1e2d790c-0076-413a-b5fb-f25c01ab6ad5,0,1,0dcc537b-76b3-4e73-b060-6cbdcf6345db,0dcc537b-76b3-4e73-b060-6cbdcf6345db,0,1,ae662b53-e11e-4b59-be52-b9d4ab00c4a4,ae662b53-e11e-4b59-be52-b9d4ab00c4a4,0,1,ce55df94-71e4-46ac-9b3b-bdae5d336b0a,ce55df94-71e4-46ac-9b3b-bdae5d336b0a,0,1,7601fa7e-079a-4347-abea-e161b2d00783,7601fa7e-079a-4347-abea-e161b2d00783,0,1,ee84cb40-f82d-4558-91be-229d68ad9f4a,ee84cb40-f82d-4558-91be-229d68ad9f4a,0,1,101a7eff-9556-4165-879a-a7c8a852e236,101a7eff-9556-4165-879a-a7c8a852e236,0,1,01775932-3603-4efc-9235-abdb97490dea,01775932-3603-4efc-9235-abdb97490dea,0,1,7637844b-4059-4f8a-8436-b4f4e8cb4f74,7637844b-4059-4f8a-8436-b4f4e8cb4f74,0,1,b6bb4cbe-b6fa-4d28-b372-0b959951ad4d,b6bb4cbe-b6fa-4d28-b372-0b959951ad4d,0,1,0ee5b788-61dc-464b-86da-f985df7704b6,0ee5b788-61dc-464b-86da-f985df7704b6,0,1,2375c6a8-9799-4b7c-a48d-091a90c67693,2375c6a8-9799-4b7c-a48d-091a90c67693,0,1,3d3c3360-4502-4ad4-bbe9-35d4ba9b54b3,3d3c3360-4502-4ad4-bbe9-35d4ba9b54b3,0,1,9b0671c6-6e92-42e6-9cf4-13d4be11f27d,9b0671c6-6e92-42e6-9cf4-13d4be11f27d,0,1,63c6522f-be04-422a-b4f4-0f55f58b09a8,63c6522f-be04-422a-b4f4-0f55f58b09a8,0,1,be919dc1-a377-43e1-82e6-ce946cabdd55,be919dc1-a377-43e1-82e6-ce946cabdd55,0,1,6b17a0fc-4d6f-4189-9067-c58a95f04dd7,6b17a0fc-4d6f-4189-9067-c58a95f04dd7,0,1,9ded532e-9e60-4895-a4c5-4ea6697aa83c,9ded532e-9e60-4895-a4c5-4ea6697aa83c,0,1,106c5159-ffc7-4059-b3e3-acf74326a44f,106c5159-ffc7-4059-b3e3-acf74326a44f,0,1,d39fd717-1a69-4fd3-889e-4fa9abefea1c,d39fd717-1a69-4fd3-889e-4fa9abefea1c,0,1,5b85e6df-7493-4201-97ad-2aea14de6006,5b85e6df-7493-4201-97ad-2aea14de6006,0,1,061e6c0f-ba52-40ec-96ad-2eba3eee3097,061e6c0f-ba52-40ec-96ad-2eba3eee3097,0,1,d77e3c65-e9fd-4ba7-885f-a8a2f4c827d2,d77e3c65-e9fd-4ba7-885f-a8a2f4c827d2,0,1,4fb86bf3-02ad-4f0e-85a9-98be6c350a06,4fb86bf3-02ad-4f0e-85a9-98be6c350a06,0,1,4840753b-e2e1-4e67-b35f-2f5eab7754f5,4840753b-e2e1-4e67-b35f-2f5eab7754f5,0,1,4095c9e7-83ab-4db9-a2d0-a9f4ef9ee53e,4095c9e7-83ab-4db9-a2d0-a9f4ef9ee53e,0,1,6ffd9c17-d90b-4d19-b337-0fbc2c717557,6ffd9c17-d90b-4d19-b337-0fbc2c717557,0,1,9a11a6bd-0c13-4be2-9e34-b12b7554f3c9,9a11a6bd-0c13-4be2-9e34-b12b7554f3c9,0,1,3bb83275-7a0e-420f-8c6b-028038f11a8c,3bb83275-7a0e-420f-8c6b-028038f11a8c,0,1,e1950a23-f6e7-48af-b78a-77aa61f08ece,e1950a23-f6e7-48af-b78a-77aa61f08ece,0,1,1cc3d7c4-9178-4a40-86ea-2bbc1f5aa69f,1cc3d7c4-9178-4a40-86ea-2bbc1f5aa69f,0,1,790735cf-f6e2-4b0d-bb16-c5b9ea95efae,790735cf-f6e2-4b0d-bb16-c5b9ea95efae,0,1,5d726fa3-bde0-4d97-a577-415857bbb5c1,5d726fa3-bde0-4d97-a577-415857bbb5c1,0,1,f63d0e2d-4685-4ac5-b22c-1b83e3ab955f,f63d0e2d-4685-4ac5-b22c-1b83e3ab955f,0,1,49068231-202c-4ac6-a39a-69207cb597dd,49068231-202c-4ac6-a39a-69207cb597dd,0,1,5a470575-e012-42ad-9ad7-53930a8e843f,5a470575-e012-42ad-9ad7-53930a8e843f,0,1,5872d4ed-6503-422d-bcf9-63a8df3e777d,5872d4ed-6503-422d-bcf9-63a8df3e777d,0,1,e21cda29-2579-485e-a207-20b76f719c80,e21cda29-2579-485e-a207-20b76f719c80,0,1,1b232a57-2833-42c6-b318-38dae2af1ab2,1b232a57-2833-42c6-b318-38dae2af1ab2,0,1,007ade8c-b102-408b-b877-b531e046560b,007ade8c-b102-408b-b877-b531e046560b,0,1,a8dfea6c-0c21-456d-96ab-f4bb5d579b13,a8dfea6c-0c21-456d-96ab-f4bb5d579b13,0,1,305f1ef1-4f9c-40a2-a978-3a4c0ecf75d4,305f1ef1-4f9c-40a2-a978-3a4c0ecf75d4,0,1,eb69c41a-392d-43bb-9b67-a0adcb651b1e,eb69c41a-392d-43bb-9b67-a0adcb651b1e,0,1,93b01c88-48a2-4753-b443-0e9892395a8f,93b01c88-48a2-4753-b443-0e9892395a8f,0,1,0b7f8e05-bb34-47cc-9775-04362e814316,0b7f8e05-bb34-47cc-9775-04362e814316,0,1,e71e0297-3709-4247-933e-18a6350cbf39,e71e0297-3709-4247-933e-18a6350cbf39,0,1,0b32e372-c6ad-4dda-acd1-8b5d58537d37,0b32e372-c6ad-4dda-acd1-8b5d58537d37,0,1,602dac6f-abe6-407a-92d3-7f1613e5dda6,602dac6f-abe6-407a-92d3-7f1613e5dda6,0,1,db03a88b-2804-45c2-9089-7ddb87ef2f18,db03a88b-2804-45c2-9089-7ddb87ef2f18,0,1,df6417d1-c722-4a87-a543-5d2c31795b20,df6417d1-c722-4a87-a543-5d2c31795b20,0,1,526a85c9-3a8d-4044-adb9-fd0689c70601,526a85c9-3a8d-4044-adb9-fd0689c70601,0,1,c4203772-580c-4db1-9bde-8925faa90688,c4203772-580c-4db1-9bde-8925faa90688,0,1,9ab0fe18-4dd7-4eed-958d-8537d4896d84,9ab0fe18-4dd7-4eed-958d-8537d4896d84,0,1,2278dc46-46ce-4d00-9289-4de1640782d7,2278dc46-46ce-4d00-9289-4de1640782d7,0,1,1f983a04-c2df-40bb-bee2-b326474d89f8,1f983a04-c2df-40bb-bee2-b326474d89f8,0,1,f03f1b68-e924-4c06-b0aa-8033a9a2f592,f03f1b68-e924-4c06-b0aa-8033a9a2f592,0,1,5e453d10-235d-4e53-86b1-20eed3247992,5e453d10-235d-4e53-86b1-20eed3247992,0,1,0eefb856-0fb4-4c3e-bb08-e88b03a44065,0eefb856-0fb4-4c3e-bb08-e88b03a44065,0,1,21ba8b9f-de97-40a1-8ea1-85a29e8e53ef,21ba8b9f-de97-40a1-8ea1-85a29e8e53ef,0,1,738228ad-c30a-42f4-a6ad-bde0edba6266,738228ad-c30a-42f4-a6ad-bde0edba6266,0,1,c08aea99-ee33-488c-9ba0-f8b24a6d1d04,c08aea99-ee33-488c-9ba0-f8b24a6d1d04,0,1,df8e8344-d7bc-4cf2-b498-88d3abb66c09,df8e8344-d7bc-4cf2-b498-88d3abb66c09,0,1,e6d13536-3021-45b2-a8e1-bdb0e0be850c,e6d13536-3021-45b2-a8e1-bdb0e0be850c,0,1,b49f538c-b2b2-4a1f-a6b4-a911033b1666,b49f538c-b2b2-4a1f-a6b4-a911033b1666,0,1,794e952b-6b03-4a1e-ad3f-453376bccf45,794e952b-6b03-4a1e-ad3f-453376bccf45,0,1,3e2a0713-e6ed-4d38-8036-72f7b62ca64a,3e2a0713-e6ed-4d38-8036-72f7b62ca64a,0,1,5cd997ba-f123-47b3-8cde-fbba45a4a11c,5cd997ba-f123-47b3-8cde-fbba45a4a11c,0,1,0d746247-c4f4-47a5-a373-45ec4023d3ef,0d746247-c4f4-47a5-a373-45ec4023d3ef,0,1,a25bcf4e-1a47-472b-9f93-f6ab45abf461,a25bcf4e-1a47-472b-9f93-f6ab45abf461,0,1,958b7dab-0aba-423f-ab81-b70f2b93a027,958b7dab-0aba-423f-ab81-b70f2b93a027,0,1,a17ec3be-2255-42af-a6ee-d3fb8bb00519,a17ec3be-2255-42af-a6ee-d3fb8bb00519,0,1,add0b22d-ff5a-41f7-88a1-ef34880e50c9,add0b22d-ff5a-41f7-88a1-ef34880e50c9,0,1,4b714d9c-26f4-46e8-ac79-471522b3853b,4b714d9c-26f4-46e8-ac79-471522b3853b,0,1,411489de-f907-4d60-a776-64bb0aa12a0e,411489de-f907-4d60-a776-64bb0aa12a0e,0,1,58d9ba60-a0c7-405d-a76e-0b0a796daaf3,58d9ba60-a0c7-405d-a76e-0b0a796daaf3,0,1,9c47670e-9eb9-49ec-876c-cd545aaa093c,9c47670e-9eb9-49ec-876c-cd545aaa093c,0,1,f57e74e6-75e8-4136-911e-86793036a077,f57e74e6-75e8-4136-911e-86793036a077,0,1,8492ee20-3f15-45d8-b70d-19b5cd6f1ae3,8492ee20-3f15-45d8-b70d-19b5cd6f1ae3,0,1,3ba8c378-ef3d-4646-90b3-6d8078aa623e,3ba8c378-ef3d-4646-90b3-6d8078aa623e,0,1,b96b2e45-8fb3-4d48-ab53-d3bbf6ef0284,b96b2e45-8fb3-4d48-ab53-d3bbf6ef0284,0,1,5ac38b5a-92e5-47eb-b956-24d9f010cb9f,5ac38b5a-92e5-47eb-b956-24d9f010cb9f,0,1,2dd7eb87-8130-425a-be13-85235508cde6,2dd7eb87-8130-425a-be13-85235508cde6,0,1,8a62c997-4fda-4464-90bd-ab719161949f,8a62c997-4fda-4464-90bd-ab719161949f,0,1,28af52dd-3144-428b-956d-b6f27863ec4a,28af52dd-3144-428b-956d-b6f27863ec4a,0,1,c34c330a-991a-4ec9-a0ad-73c04c6a6fc3,c34c330a-991a-4ec9-a0ad-73c04c6a6fc3,0,1,8ac94328-2300-4681-9c35-fd7e2f830310,8ac94328-2300-4681-9c35-fd7e2f830310,0,1,da0ee165-1917-466b-ac5c-16c28e2318bb,da0ee165-1917-466b-ac5c-16c28e2318bb,0,1,4868cb2e-0892-42bc-9de1-73cb8a15a96f,4868cb2e-0892-42bc-9de1-73cb8a15a96f,0,1,e8b80879-33b3-4c45-ad68-1acabcf91faf,e8b80879-33b3-4c45-ad68-1acabcf91faf,0,1,239601eb-e8de-4d58-a32a-01ee52f6e698,239601eb-e8de-4d58-a32a-01ee52f6e698,0,1,11370667-bec5-4a2d-8aa1-97f4d795718f,11370667-bec5-4a2d-8aa1-97f4d795718f,0,1,2032162d-fbb5-4e6a-be72-cda79869b9ff,2032162d-fbb5-4e6a-be72-cda79869b9ff,0,1,95a8e790-25ef-4ef3-a44a-f150bf1ceb1f,95a8e790-25ef-4ef3-a44a-f150bf1ceb1f,0,1,10543f9a-4e3f-427a-b36a-9c66709dd6fb,10543f9a-4e3f-427a-b36a-9c66709dd6fb,0,1,973967e5-1702-4fb8-ba36-70fd5b3b7e7c,973967e5-1702-4fb8-ba36-70fd5b3b7e7c,0,1,96ab5424-7be1-416d-b74d-d0c815726b1f,96ab5424-7be1-416d-b74d-d0c815726b1f,0,1,3714e794-ddef-4ad9-a933-6130bbc84545,3714e794-ddef-4ad9-a933-6130bbc84545,0,1,282b089c-7411-40d6-9a0a-ceaf6abb5586,282b089c-7411-40d6-9a0a-ceaf6abb5586,0,1,678188aa-76e7-49bc-a4be-1c55ccd625b1,678188aa-76e7-49bc-a4be-1c55ccd625b1,0,1,6c27eece-2f8e-48eb-b9c7-f9c414ee15bd,6c27eece-2f8e-48eb-b9c7-f9c414ee15bd,0,1,b3415b4a-d8de-4536-aa4b-82e75fd986ee,b3415b4a-d8de-4536-aa4b-82e75fd986ee,0,1,acc996ab-672a-4602-b7ad-8eee83557e61,acc996ab-672a-4602-b7ad-8eee83557e61,0,1,bf9e9c2f-e5dc-4f82-8e9a-7f35e3ad9a0b,bf9e9c2f-e5dc-4f82-8e9a-7f35e3ad9a0b,0,1,371361b6-15fd-4e62-9f60-cc8ee3fbacf0,371361b6-15fd-4e62-9f60-cc8ee3fbacf0,0,1,97745768-ed35-44f1-beba-abb8b28a29ae,97745768-ed35-44f1-beba-abb8b28a29ae,0,1,69364942-bcd1-4b06-9b57-fa59b4e7c552,69364942-bcd1-4b06-9b57-fa59b4e7c552,0,1,ab201c5f-4134-42cf-a528-c1c4df02f2d7,ab201c5f-4134-42cf-a528-c1c4df02f2d7,0,1,303fb7b5-6a23-40ea-ae12-b54f4ebae026,303fb7b5-6a23-40ea-ae12-b54f4ebae026,0,1,634cd26b-78f1-4446-8aad-b96ed16e5329,634cd26b-78f1-4446-8aad-b96ed16e5329,0,1,d8e62f1a-92ca-4971-9609-e79da798c083,d8e62f1a-92ca-4971-9609-e79da798c083,0,1,61892a62-9381-401d-af31-9073ef2509fb,61892a62-9381-401d-af31-9073ef2509fb,0,1,6b0ddefa-ee70-4b27-989f-e23c734ab943,6b0ddefa-ee70-4b27-989f-e23c734ab943,0,1,ee873280-28ea-41fb-af52-c10c2018cbe4,ee873280-28ea-41fb-af52-c10c2018cbe4,0,1,a388ed70-a68d-4713-a280-881315351f07,a388ed70-a68d-4713-a280-881315351f07,0,1,fd9e84c9-2322-4aa7-b5fe-31d0c8f373c7,fd9e84c9-2322-4aa7-b5fe-31d0c8f373c7,0,1,2c81edc8-02b9-42dd-be4d-e7ad595421a0,2c81edc8-02b9-42dd-be4d-e7ad595421a0,0,1,83cb38ff-1174-449f-b8ce-44d5e064f2df,83cb38ff-1174-449f-b8ce-44d5e064f2df,0,1,d11b51ac-708a-4ee1-b73e-ae62e162101e,d11b51ac-708a-4ee1-b73e-ae62e162101e,0,1,17a50950-6091-4306-9f15-2a621a29c1a0,17a50950-6091-4306-9f15-2a621a29c1a0,0,1,32012b27-1b43-49be-b9af-df0c877e7a4c,32012b27-1b43-49be-b9af-df0c877e7a4c,0,1,e97d5152-9e58-4a91-a691-b4d358f1c89d,e97d5152-9e58-4a91-a691-b4d358f1c89d,0,1,1de4d7ee-7ddd-44db-bf7f-1b99b653652c,1de4d7ee-7ddd-44db-bf7f-1b99b653652c,0,1,dfe624ac-9f49-46dd-b821-1f1f5b5e0d15,dfe624ac-9f49-46dd-b821-1f1f5b5e0d15,0,1,296c478b-4103-46cb-9d14-97f59034ffd4,296c478b-4103-46cb-9d14-97f59034ffd4,0,1,fb918a68-f86d-46c0-9078-61d2b32b5aef,fb918a68-f86d-46c0-9078-61d2b32b5aef,0,1,9ca4d0c4-f5d3-4748-bf73-f3cd1bc4ac46,9ca4d0c4-f5d3-4748-bf73-f3cd1bc4ac46,0,1,1ddfc773-4f3c-4764-978e-585aab4666de,1ddfc773-4f3c-4764-978e-585aab4666de,0,1,e424d122-1dbb-4545-975c-177997129f2e,e424d122-1dbb-4545-975c-177997129f2e,0,1,c83bc626-dfdd-4451-92b0-b53eed40f534,c83bc626-dfdd-4451-92b0-b53eed40f534,0,1,7b9b1d11-4f78-4113-8fca-1a3a30953aef,7b9b1d11-4f78-4113-8fca-1a3a30953aef,0,1,7f84cb85-c3e4-4b53-b829-3b1e216f978a,7f84cb85-c3e4-4b53-b829-3b1e216f978a,0,1,7e621ecc-7d2b-42bf-a502-f8e59de56b63,7e621ecc-7d2b-42bf-a502-f8e59de56b63,0,1,798fd445-d02e-4e97-890a-0283f33317cf,798fd445-d02e-4e97-890a-0283f33317cf,0,1,095583ca-010d-43ad-8c7a-8938fa4cb761,095583ca-010d-43ad-8c7a-8938fa4cb761,0,1,178d210c-e847-4805-a8d4-31acdf4983af,178d210c-e847-4805-a8d4-31acdf4983af,0,1,aa214d9f-23b1-4996-8a43-9010dceeb53d,aa214d9f-23b1-4996-8a43-9010dceeb53d,0,1,26a5527e-dc2b-45a4-a51c-b1dfb31fa8a2,26a5527e-dc2b-45a4-a51c-b1dfb31fa8a2,0,1,aefc3149-90ee-4ccc-8fb6-b1f6096237f6,aefc3149-90ee-4ccc-8fb6-b1f6096237f6,0,1,d9d103bd-1dd6-48a9-8869-6c8485705393,d9d103bd-1dd6-48a9-8869-6c8485705393,0,1,cf2f7e1f-9b0b-4ae9-9c94-99d80bf95eae,cf2f7e1f-9b0b-4ae9-9c94-99d80bf95eae,0,1,ff0e8487-bdbf-4b21-877e-00008c81bc09,ff0e8487-bdbf-4b21-877e-00008c81bc09,0,1,39c9f8ac-56a0-4057-8359-7228bf97184a,39c9f8ac-56a0-4057-8359-7228bf97184a,0,1,763fbb4c-cab2-4c71-ba16-7e2ce8c3dc97,763fbb4c-cab2-4c71-ba16-7e2ce8c3dc97,0,1,2c0dd892-1d3e-4497-850b-080bdb9c59d8,2c0dd892-1d3e-4497-850b-080bdb9c59d8,0,1,3b727d49-c9ed-4d9e-af61-c13b9a170c75,3b727d49-c9ed-4d9e-af61-c13b9a170c75,0,1,1b264744-bdcd-4c5c-932b-0ac4b990dd78,1b264744-bdcd-4c5c-932b-0ac4b990dd78,0,1,a2dbf20e-1fe9-463d-8fd4-76ce2e4854d1,a2dbf20e-1fe9-463d-8fd4-76ce2e4854d1,0,1,37bde288-8e02-4127-bd80-de8ae7590a14,37bde288-8e02-4127-bd80-de8ae7590a14,0,1,a9b8e517-78cd-4428-b2fc-9e16af0069d7,a9b8e517-78cd-4428-b2fc-9e16af0069d7,0,1,5c592024-c009-4674-bbb8-283669e673ef,5c592024-c009-4674-bbb8-283669e673ef,0,1,e76f16b9-77a0-4033-90d0-6e04e4494747,e76f16b9-77a0-4033-90d0-6e04e4494747,0,1,cfb221fc-8639-4e15-9a78-f7837d657a99,cfb221fc-8639-4e15-9a78-f7837d657a99,0,1,4e61c8c3-756e-4937-adf6-6a1e9a89fc6a,4e61c8c3-756e-4937-adf6-6a1e9a89fc6a,0,1,022147c1-1ebe-4c8d-b367-4c47115b101d,022147c1-1ebe-4c8d-b367-4c47115b101d,0,1,2975d4c8-90d8-4791-8bc2-4adaa328ddc0,2975d4c8-90d8-4791-8bc2-4adaa328ddc0,0,1,fca6b230-a38e-4791-9cc5-3d215f79dc6f,fca6b230-a38e-4791-9cc5-3d215f79dc6f,0,1,04e87de4-940a-4533-8c81-8f145b201dc0,04e87de4-940a-4533-8c81-8f145b201dc0,0,1,573ef4f4-e9e6-4b7c-944d-30808a6a00b7,573ef4f4-e9e6-4b7c-944d-30808a6a00b7,0,1,fa488af9-a5ec-47d8-8661-fa5058a60a6b,fa488af9-a5ec-47d8-8661-fa5058a60a6b,0,1,97cc84c6-3565-474c-a028-83acb5390446,97cc84c6-3565-474c-a028-83acb5390446,0,1,9bf07c3e-7fdf-4a4f-ab00-98c7668349bd,9bf07c3e-7fdf-4a4f-ab00-98c7668349bd,0,1,ebbf6957-6ff6-4dc2-9e20-23d1da091f05,ebbf6957-6ff6-4dc2-9e20-23d1da091f05,0,1,9b80acf6-6bf0-42c4-abb3-2fa2fcf4088c,9b80acf6-6bf0-42c4-abb3-2fa2fcf4088c,0,1,1dcec107-9d5f-4b69-ad65-cc4cb1f27a9c,1dcec107-9d5f-4b69-ad65-cc4cb1f27a9c,0,1,b366d7eb-626c-4c0c-b4cc-c392763e6e94,b366d7eb-626c-4c0c-b4cc-c392763e6e94,0,1,4c7e24aa-726a-4595-82ad-ef1e525b14fa,4c7e24aa-726a-4595-82ad-ef1e525b14fa,0,1,b9e5bb39-ed0a-4e12-b7e4-2d9b5015bf9c,b9e5bb39-ed0a-4e12-b7e4-2d9b5015bf9c,0,1,dbced4aa-6432-4f0c-a99a-5a3e7b0f6755,dbced4aa-6432-4f0c-a99a-5a3e7b0f6755,0,1,e849e46c-2ce6-427b-92bc-06d7997f59bf,e849e46c-2ce6-427b-92bc-06d7997f59bf,0,1,5a971dc0-28bf-4426-9426-9f456aea080a,5a971dc0-28bf-4426-9426-9f456aea080a,0,1,aed2ceeb-cc0f-4bdc-bb94-2e15cd68aa96,aed2ceeb-cc0f-4bdc-bb94-2e15cd68aa96,0,1,04b5ae71-7fa4-4a64-b406-59dc603b80c5,04b5ae71-7fa4-4a64-b406-59dc603b80c5,0,1,f23a2023-f776-40db-8689-1fc3f7ebc482,f23a2023-f776-40db-8689-1fc3f7ebc482,0,1,1e7684f0-1b3b-4a32-8602-dd0672c5a800,1e7684f0-1b3b-4a32-8602-dd0672c5a800,0,1,ab178a93-8570-43b6-ae42-f34a7cc4f359,ab178a93-8570-43b6-ae42-f34a7cc4f359,0,1,4c82f31d-7a98-47dd-89dc-1846cb15bf3b,4c82f31d-7a98-47dd-89dc-1846cb15bf3b,0,1,168e3189-2676-4cdb-bc9d-78d85df51faf,168e3189-2676-4cdb-bc9d-78d85df51faf,0,1,ecf1a87f-4ca4-4efb-a84c-b2db1b0e8829,ecf1a87f-4ca4-4efb-a84c-b2db1b0e8829,0,1,470bbff8-20d0-475c-a61a-1a09ac14c2db,470bbff8-20d0-475c-a61a-1a09ac14c2db,0,1,6ea25680-c4db-4717-9498-62420ca16970,6ea25680-c4db-4717-9498-62420ca16970,0,1,14e20d48-635e-4c52-9099-e743323fc190,14e20d48-635e-4c52-9099-e743323fc190,0,1,c37a660e-16c5-495e-9486-e61bcb693fa0,c37a660e-16c5-495e-9486-e61bcb693fa0,0,1,8f44ebad-1160-474e-a566-fb9da55ffcba,8f44ebad-1160-474e-a566-fb9da55ffcba,0,1,11cf336e-7890-4972-bf71-32d7416ff647,11cf336e-7890-4972-bf71-32d7416ff647,0,1,4c4d61a6-6bb6-4a15-9a81-25fdcf96ec4b,4c4d61a6-6bb6-4a15-9a81-25fdcf96ec4b,0,1,14bd3392-36cd-4ed0-8847-44375d6fb861,14bd3392-36cd-4ed0-8847-44375d6fb861,0,1,759ede7a-e832-44e6-9b11-5bfb3c507820,759ede7a-e832-44e6-9b11-5bfb3c507820,0,1,64484611-b32c-4155-a063-7df5a3f924dd,64484611-b32c-4155-a063-7df5a3f924dd,0,1,2f2ac0db-db86-4ed2-a55a-b245b4d00d70,2f2ac0db-db86-4ed2-a55a-b245b4d00d70,0,1,821b93bd-f0dd-4468-972a-d9b2b4de72f1,821b93bd-f0dd-4468-972a-d9b2b4de72f1,0,1,56900066-90e3-40c0-b64a-8f7964a4dfc1,56900066-90e3-40c0-b64a-8f7964a4dfc1,0,1,56f0c4d6-9b13-486a-9586-05e657dca8be,56f0c4d6-9b13-486a-9586-05e657dca8be,0,1,c795c0d3-6a0d-4311-9821-df320663727e,c795c0d3-6a0d-4311-9821-df320663727e,0,1,512b8d89-8798-4549-9e79-b9c3f7d9098f,512b8d89-8798-4549-9e79-b9c3f7d9098f,0,1,e1fe71f8-f37c-4705-aca1-c25e2bdc5db6,e1fe71f8-f37c-4705-aca1-c25e2bdc5db6,0,1,7f356abf-9045-4a76-89f3-8b52d467122a,7f356abf-9045-4a76-89f3-8b52d467122a,0,1,625a61ac-4ad0-4b31-aa67-9f864154b9c4,625a61ac-4ad0-4b31-aa67-9f864154b9c4,0,1,51fa8d01-44a1-4e75-9b04-6a2504972f08,51fa8d01-44a1-4e75-9b04-6a2504972f08,0,1,73dae482-a1ee-4c57-8859-2dd8e8635a49,73dae482-a1ee-4c57-8859-2dd8e8635a49,0,1,e4ea640f-e3a4-44ad-b17d-51f32136372e,e4ea640f-e3a4-44ad-b17d-51f32136372e,0,1,7dca913d-e37a-4740-8e3d-677d379605ee,7dca913d-e37a-4740-8e3d-677d379605ee,0,1,bd1cf7ef-f3e2-4441-836b-16f2cc227aa9,bd1cf7ef-f3e2-4441-836b-16f2cc227aa9,0,1,5351a1ce-3cea-41fa-a03d-41cbc2effc66,5351a1ce-3cea-41fa-a03d-41cbc2effc66,0,1,c9035b0f-cfc4-4761-9ba0-a8aacfaa9c72,c9035b0f-cfc4-4761-9ba0-a8aacfaa9c72,0,1,7efb0bf4-d40c-417b-b9bc-f4a5af66ec09,7efb0bf4-d40c-417b-b9bc-f4a5af66ec09,0,1,4cd4694f-17f8-43ba-8940-07628bd937fe,4cd4694f-17f8-43ba-8940-07628bd937fe,0,1,7df6c94b-3cfe-4764-988e-858d733e35d9,7df6c94b-3cfe-4764-988e-858d733e35d9,0,1,8b251c7d-2d55-4734-a1da-7f1115d95080,8b251c7d-2d55-4734-a1da-7f1115d95080,0,1,87b3153d-bef0-4441-8b1c-a5fc7ba4c36a,87b3153d-bef0-4441-8b1c-a5fc7ba4c36a,0,1,5a8c3621-595a-4168-8bba-a7f8d499e47e,5a8c3621-595a-4168-8bba-a7f8d499e47e,0,1,fc4cfed6-e492-4420-b357-8143a8c2a41a,fc4cfed6-e492-4420-b357-8143a8c2a41a,0,1,4311a250-64af-443e-a711-93b7c41175cf,4311a250-64af-443e-a711-93b7c41175cf,0,1,804b6c57-1d7b-4927-be5b-84b7959fe55e,804b6c57-1d7b-4927-be5b-84b7959fe55e,0,1,f2655d85-79ea-4736-8f41-94a4f9b2b998,f2655d85-79ea-4736-8f41-94a4f9b2b998,0,1,21258174-3a95-4c10-bb8f-4d6db0c5ae0e,21258174-3a95-4c10-bb8f-4d6db0c5ae0e,0,1,a8eb5ed9-df99-405b-afad-eeaa98956eee,a8eb5ed9-df99-405b-afad-eeaa98956eee,0,1,a64d4b1b-fae4-43ae-ae98-bdc4e59a94c1,a64d4b1b-fae4-43ae-ae98-bdc4e59a94c1,0,1,26a1279f-91f0-4632-ad7c-21cf2f524208,26a1279f-91f0-4632-ad7c-21cf2f524208,0,1,bf751ed0-ee47-4eaf-81bd-f0da00bef343,bf751ed0-ee47-4eaf-81bd-f0da00bef343,0,1,14b65111-4c0e-4521-9fcd-2a8d4aaa6b4b,14b65111-4c0e-4521-9fcd-2a8d4aaa6b4b,0,1,1f1def7c-e0ee-4963-afea-1751bf1b812c,1f1def7c-e0ee-4963-afea-1751bf1b812c,0,1,9a4c0898-ab56-425c-8191-5ab90f4e12bf,9a4c0898-ab56-425c-8191-5ab90f4e12bf,0,1,6841ec47-7a84-441a-b975-69d089072ce7,6841ec47-7a84-441a-b975-69d089072ce7,0,1,ead4001a-0d8a-4b95-8212-2a40e5aa6659,ead4001a-0d8a-4b95-8212-2a40e5aa6659,0,1,22165c8a-2179-4cd5-b195-bd2721e9e232,22165c8a-2179-4cd5-b195-bd2721e9e232,0,1,b28c3a8f-8cad-45eb-90d3-6d90a0b3f881,b28c3a8f-8cad-45eb-90d3-6d90a0b3f881,0,1,3c5974ec-f76d-401c-a8e4-d51c7cd4c4fb,3c5974ec-f76d-401c-a8e4-d51c7cd4c4fb,0,1,609a9bc9-4225-4fe1-91fa-90c9c2e5cfba,609a9bc9-4225-4fe1-91fa-90c9c2e5cfba,0,1,d22ed498-c7df-45bb-869f-f16d3aa2d3d3,d22ed498-c7df-45bb-869f-f16d3aa2d3d3,0,1,4a966f6e-87dd-4dae-9cc0-dbabee9424dc,4a966f6e-87dd-4dae-9cc0-dbabee9424dc,0,1,9d9debfd-4a10-4f09-9d09-2aa5e058b525,9d9debfd-4a10-4f09-9d09-2aa5e058b525,0,1,fc19586c-d89c-495c-b473-6f85967ed48e,fc19586c-d89c-495c-b473-6f85967ed48e,0,1,2ac7c701-a281-4e77-a5f8-294526021e2d,2ac7c701-a281-4e77-a5f8-294526021e2d,0,1,979df549-889d-496a-b6ce-c56d54c771b5,979df549-889d-496a-b6ce-c56d54c771b5,0,1,91b320d8-3426-44d3-97d7-c200287d7343,91b320d8-3426-44d3-97d7-c200287d7343,0,1,b9297f72-b40a-4adb-9975-bb693d4834a4,b9297f72-b40a-4adb-9975-bb693d4834a4,0,1,41cf3916-216f-4c4e-a587-82777f4263e0,41cf3916-216f-4c4e-a587-82777f4263e0,0,1,2ce3a350-86f1-4275-8299-3c3693ca11fa,2ce3a350-86f1-4275-8299-3c3693ca11fa,0,1,59f0ed15-c84c-4f41-bdd4-26317e4e914d,59f0ed15-c84c-4f41-bdd4-26317e4e914d,0,1,4b5ff142-47b8-4548-b6f9-56ebcbd40e35,4b5ff142-47b8-4548-b6f9-56ebcbd40e35,0,1,8fef790c-a3f4-460c-9093-5065cbdba196,8fef790c-a3f4-460c-9093-5065cbdba196,0,1,79bd24d0-61a9-4558-90ac-4e726066789c,79bd24d0-61a9-4558-90ac-4e726066789c,0,1,d843cbd7-e2b5-4c50-8ed2-7cb0baac8ecc,d843cbd7-e2b5-4c50-8ed2-7cb0baac8ecc,0,1,ef356548-51a4-4b09-b37d-ede5b8f3edb6,ef356548-51a4-4b09-b37d-ede5b8f3edb6,0,1,53c0d900-5e96-4381-a1ed-4424a5799608,53c0d900-5e96-4381-a1ed-4424a5799608,0,1,64fe317a-7d0e-4758-b5cf-0d871d2bf4ad,64fe317a-7d0e-4758-b5cf-0d871d2bf4ad,0,1,abfb7ac3-ebfa-4275-a039-a6b94bb9a76f,abfb7ac3-ebfa-4275-a039-a6b94bb9a76f,0,1,45ca9e20-1246-4400-a019-ffb521af6ea7,45ca9e20-1246-4400-a019-ffb521af6ea7,0,1,73eed854-5c3a-4a10-9bfa-793fd517f303,73eed854-5c3a-4a10-9bfa-793fd517f303,0,1,c3eb2836-ea4d-48cc-a03f-3a0c30f67e7f,c3eb2836-ea4d-48cc-a03f-3a0c30f67e7f,0,1,9134dc40-a8f1-4c60-9431-27cb98be5ecd,9134dc40-a8f1-4c60-9431-27cb98be5ecd,0,1,16c4622a-33af-4a95-b44e-0861a6df21d2,16c4622a-33af-4a95-b44e-0861a6df21d2,0,1,d8cac67b-cce2-4a00-a8df-c6570c50153f,d8cac67b-cce2-4a00-a8df-c6570c50153f,0,1,37213c65-bf26-4e50-a2fa-58eb45439b58,37213c65-bf26-4e50-a2fa-58eb45439b58,0,1,e43c08a9-6496-4c8e-bfe2-9d728e31d63d,e43c08a9-6496-4c8e-bfe2-9d728e31d63d,0,1,b6b31892-73ee-4c9b-92b0-2735536c4938,b6b31892-73ee-4c9b-92b0-2735536c4938,0,1,deb8b883-142e-47d0-a722-7c734a0cf9b3,deb8b883-142e-47d0-a722-7c734a0cf9b3,0,1,a6794f74-08a4-4b73-add7-e6d0d1b6e7a3,a6794f74-08a4-4b73-add7-e6d0d1b6e7a3,0,1,29233058-ccb1-4110-a9bc-cdb4c531f35a,29233058-ccb1-4110-a9bc-cdb4c531f35a,0,1,cf3729b2-9ee6-437c-81df-83966793be50,cf3729b2-9ee6-437c-81df-83966793be50,0,1,429d08b7-0b98-4f9b-a053-d04dd84a7026,429d08b7-0b98-4f9b-a053-d04dd84a7026,0,1,b64fd964-cee8-4619-872f-82d2fdc14240,b64fd964-cee8-4619-872f-82d2fdc14240,0,1,5ce7846d-9806-40f5-8631-4e14deb8bc95,5ce7846d-9806-40f5-8631-4e14deb8bc95,0,1,79528a0e-1e48-4d14-bd28-756fd5db57b9,79528a0e-1e48-4d14-bd28-756fd5db57b9,0,1,4eeab8c2-d901-4b95-adea-4a08f79d0fa2,4eeab8c2-d901-4b95-adea-4a08f79d0fa2,0,1,d9426219-4b37-4776-8d5d-acab5825e789,d9426219-4b37-4776-8d5d-acab5825e789,0,1,7ce1f9eb-ac51-46fd-adc5-c8b9bfb32e44,7ce1f9eb-ac51-46fd-adc5-c8b9bfb32e44,0,1,4fef5026-1cba-4c33-ae75-5f9570a8e6b6,4fef5026-1cba-4c33-ae75-5f9570a8e6b6,0,1,243ee3d4-4130-41ea-a37c-c7b39a5e73fa,243ee3d4-4130-41ea-a37c-c7b39a5e73fa,0,1,29e7299a-ce80-497a-8102-615d0a001ea8,29e7299a-ce80-497a-8102-615d0a001ea8,0,1,f9e48170-62eb-4d6b-b861-c7af1b4a38c3,f9e48170-62eb-4d6b-b861-c7af1b4a38c3,0,1,9bcc8f9a-ec12-45f2-8a32-6946d556f57a,9bcc8f9a-ec12-45f2-8a32-6946d556f57a,0,1,adc2cc11-b647-453f-a98e-8a73b7c368c7,adc2cc11-b647-453f-a98e-8a73b7c368c7,0,1,4522c564-61da-40da-a749-5312121a331d,4522c564-61da-40da-a749-5312121a331d,0,1,9394c709-6cbe-4ef6-bc8c-cba8af65821e,9394c709-6cbe-4ef6-bc8c-cba8af65821e,0,1,2943b572-7411-4f92-a6cc-7ee552b85223,2943b572-7411-4f92-a6cc-7ee552b85223,0,1,28478e7a-e8aa-40aa-866c-a3624f903141,28478e7a-e8aa-40aa-866c-a3624f903141,0,1,f692ab21-a8de-4feb-914f-4beef350543a,f692ab21-a8de-4feb-914f-4beef350543a,0,1,0ec0b1a0-5f0d-4a14-9a84-49098befa0af,0ec0b1a0-5f0d-4a14-9a84-49098befa0af,0,1,c644ab9b-7bcb-4bfa-b8ba-4c5f7689c91c,c644ab9b-7bcb-4bfa-b8ba-4c5f7689c91c,0,1,dabb3395-6100-4f53-913d-e0230e81b494,dabb3395-6100-4f53-913d-e0230e81b494,0,1,e0a3fae1-1582-4c7a-acd8-870b558acec4,e0a3fae1-1582-4c7a-acd8-870b558acec4,0,1,8e755ce0-c571-4ed5-b0bb-9470edcb7c73,8e755ce0-c571-4ed5-b0bb-9470edcb7c73,0,1,02e1c293-7302-4751-a248-4bbeed9cbad5,02e1c293-7302-4751-a248-4bbeed9cbad5,0,1,c946cde8-c0d7-4acb-a3be-8858e392fc40,c946cde8-c0d7-4acb-a3be-8858e392fc40,0,1,3a111e0d-6466-46fd-95a2-1798b6e51ba0,3a111e0d-6466-46fd-95a2-1798b6e51ba0,0,1,645edcb0-e358-4d32-a9a9-9534af0398ca,645edcb0-e358-4d32-a9a9-9534af0398ca,0,1,efa1b4e5-d16c-4921-a48a-fe700e39dc71,efa1b4e5-d16c-4921-a48a-fe700e39dc71,0,1,e93402db-e7dd-465e-8c62-2a41efd811b8,e93402db-e7dd-465e-8c62-2a41efd811b8,0,1,e0157f72-a362-4b9f-a272-68ca8078b91c,e0157f72-a362-4b9f-a272-68ca8078b91c,0,1,422155c7-1640-48c4-bb21-36595b405c66,422155c7-1640-48c4-bb21-36595b405c66,0,1,16d37b5a-88db-4787-b2de-fb50da0ca94b,16d37b5a-88db-4787-b2de-fb50da0ca94b,0,1,f653bcbf-5659-4605-9bb9-3737f19e79dd,f653bcbf-5659-4605-9bb9-3737f19e79dd,0,1,8b980868-fe63-49ff-ba3d-4c29732e1b90,8b980868-fe63-49ff-ba3d-4c29732e1b90,0,1,54668731-4963-4ec3-b188-9feacaefa182,54668731-4963-4ec3-b188-9feacaefa182,0,1,3702135e-5380-4ca6-82f5-63eff1b043e9,3702135e-5380-4ca6-82f5-63eff1b043e9,0,1,29b2104b-fd02-4d51-951f-51ea213b8ebd,29b2104b-fd02-4d51-951f-51ea213b8ebd,0,1,ba5c945e-554f-45a2-a2de-3157b2d7e931,ba5c945e-554f-45a2-a2de-3157b2d7e931,0,1,f7085f33-f122-4443-a3f5-4e765300175e,f7085f33-f122-4443-a3f5-4e765300175e,0,1,b7e4c512-b856-4679-a025-5f0f28918593,b7e4c512-b856-4679-a025-5f0f28918593,0,1,bba56b8f-a3f3-4d3f-9804-f9569bb1f6f3,bba56b8f-a3f3-4d3f-9804-f9569bb1f6f3,0,1,cff7ba79-9418-43a4-badc-3e3cc2f6bd5b,cff7ba79-9418-43a4-badc-3e3cc2f6bd5b,0,1,a9362ac4-85ee-4214-80c1-048fab769885,a9362ac4-85ee-4214-80c1-048fab769885,0,1,a4e89d2a-d6f7-4966-ac3c-57f1ef1d1a3a,a4e89d2a-d6f7-4966-ac3c-57f1ef1d1a3a,0,1,241db5c5-e3bc-4db8-bc88-39db84bb60e9,241db5c5-e3bc-4db8-bc88-39db84bb60e9,0,1,9c7b4c11-5ccc-4659-bde9-bf8b7a91793a,9c7b4c11-5ccc-4659-bde9-bf8b7a91793a,0,1,314a9258-5216-405f-8dda-f27d6a167f33,314a9258-5216-405f-8dda-f27d6a167f33,0,1,20f1114a-0b98-464f-aed8-80ce706b808e,20f1114a-0b98-464f-aed8-80ce706b808e,0,1,73a54072-1f14-4835-9615-f4c6df116c7f,73a54072-1f14-4835-9615-f4c6df116c7f,0,1,00359e00-aba0-4afb-8b58-2e1247dbe04f,00359e00-aba0-4afb-8b58-2e1247dbe04f,0,1,fc959221-6313-45d9-b2c4-85befaede226,fc959221-6313-45d9-b2c4-85befaede226,0,1,6ffa8536-7639-4e9a-9f6d-4eda71f5ca3b,6ffa8536-7639-4e9a-9f6d-4eda71f5ca3b,0,1,5206d407-ac91-477e-80e7-97c312da934c,5206d407-ac91-477e-80e7-97c312da934c,0,1,15b53eaa-cb35-4385-9515-c2ec6e1fdb4b,15b53eaa-cb35-4385-9515-c2ec6e1fdb4b,0,1,ccb8a530-260a-4488-b1d9-c67325c69bf4,ccb8a530-260a-4488-b1d9-c67325c69bf4,0,1,0b13cad5-91ae-4cd1-a620-9a315ae8024c,0b13cad5-91ae-4cd1-a620-9a315ae8024c,0,1,d0634a8e-676f-4f49-9a38-7cb80cfa9fdf,d0634a8e-676f-4f49-9a38-7cb80cfa9fdf,0,1,59bb5271-4cc7-45aa-8e2a-f556a4afa2dc,59bb5271-4cc7-45aa-8e2a-f556a4afa2dc,0,1,81dd61e5-fe02-4272-a525-affda9b606ca,81dd61e5-fe02-4272-a525-affda9b606ca,0,1,8de7b423-b7d1-46fe-b1dc-fb936736b864,8de7b423-b7d1-46fe-b1dc-fb936736b864,0,1,f565876c-0326-4b12-895e-c248b9e64115,f565876c-0326-4b12-895e-c248b9e64115,0,1,62f075c5-1ad0-4a29-9f40-567b9fa70cdf,62f075c5-1ad0-4a29-9f40-567b9fa70cdf,0,1,88cefe4a-a6c5-4753-935e-f956d9de9f77,88cefe4a-a6c5-4753-935e-f956d9de9f77,0,1,882e78b7-90bd-4b95-8852-146bdb51ec15,882e78b7-90bd-4b95-8852-146bdb51ec15,0,1,ae4435c3-62c0-4f08-b526-7f9571eed8ae,ae4435c3-62c0-4f08-b526-7f9571eed8ae,0,1,0f6f8fd9-b3af-4d06-bc47-bdad238d15b7,0f6f8fd9-b3af-4d06-bc47-bdad238d15b7,0,1,460e76d2-4ed6-464e-bf9c-a6bcf920aaf2,460e76d2-4ed6-464e-bf9c-a6bcf920aaf2,0,1,80c23bf0-cef0-4d07-a017-d90635f8041d,80c23bf0-cef0-4d07-a017-d90635f8041d,0,1,47a24216-3299-470b-a18c-d8c1258fff24,47a24216-3299-470b-a18c-d8c1258fff24,0,1,72dcfd46-491e-4f88-a0ea-57919f8fbdea,72dcfd46-491e-4f88-a0ea-57919f8fbdea,0,1,fa7a11cc-7ee0-4550-8d0d-9c7464d57a37,fa7a11cc-7ee0-4550-8d0d-9c7464d57a37,0,1,8317ac49-890d-4921-8c0d-1bfc676f0b40,8317ac49-890d-4921-8c0d-1bfc676f0b40,0,1,d41f0e3d-f86c-4913-ac44-2f7d823afbb0,d41f0e3d-f86c-4913-ac44-2f7d823afbb0,0,1,f9161bc3-9a1c-4870-8681-8e97d8ce838a,f9161bc3-9a1c-4870-8681-8e97d8ce838a,0,1,a75ed1c8-20c2-49a8-a730-22237ef91366,a75ed1c8-20c2-49a8-a730-22237ef91366,0,1,1c0ebdfd-1913-48fe-b80a-10c30201129b,1c0ebdfd-1913-48fe-b80a-10c30201129b,0,1,22ad3db7-1ad3-4868-8598-b0b90db3fa1f,22ad3db7-1ad3-4868-8598-b0b90db3fa1f,0,1,14025e38-09af-43b2-a49b-403e398a28ea,14025e38-09af-43b2-a49b-403e398a28ea,0,1,5e53ccc6-5ab4-4f9d-b524-0081d345d7a2,5e53ccc6-5ab4-4f9d-b524-0081d345d7a2,0,1,c3b3805b-3501-47a7-b280-46180049b235,c3b3805b-3501-47a7-b280-46180049b235,0,1,29af05c2-37de-495b-b3cf-477d452abe5e,29af05c2-37de-495b-b3cf-477d452abe5e,0,1,0c732569-a50f-4be3-a214-0843c6a3da47,0c732569-a50f-4be3-a214-0843c6a3da47,0,1,5e922083-0ceb-449a-8201-7dd27a46f2fc,5e922083-0ceb-449a-8201-7dd27a46f2fc,0,1,d97e78c7-f2c1-4e0e-9c9b-d2dd6a94da22,d97e78c7-f2c1-4e0e-9c9b-d2dd6a94da22,0,1,e757303e-c61a-4e42-9829-c5a36dba9414,e757303e-c61a-4e42-9829-c5a36dba9414,0,1,091de87c-0801-4bd3-aaaa-ed37bc4cd161,091de87c-0801-4bd3-aaaa-ed37bc4cd161,0,1,9a6bfcbe-6ac7-4839-bfb9-a11b97e64185,9a6bfcbe-6ac7-4839-bfb9-a11b97e64185,0,1,b53c545c-3b1c-4315-a213-4f2b2c7128aa,b53c545c-3b1c-4315-a213-4f2b2c7128aa,0,1,02a84df9-2171-43e6-8135-a74edd384826,02a84df9-2171-43e6-8135-a74edd384826,0,1,ff36356d-cb1d-4316-896a-c6ae83b92437,ff36356d-cb1d-4316-896a-c6ae83b92437,0,1,465cce6a-7064-4b0a-932c-40f842042f33,465cce6a-7064-4b0a-932c-40f842042f33,0,1,f9cd82e7-8252-4bb6-8e08-23ab45ed3976,f9cd82e7-8252-4bb6-8e08-23ab45ed3976,0,1,8f17ec3f-6d62-46b8-baef-b20430e948ce,8f17ec3f-6d62-46b8-baef-b20430e948ce,0,1,ea1298d0-9396-4a50-b83e-24064e8dd99d,ea1298d0-9396-4a50-b83e-24064e8dd99d,0,1,038dbb00-e4c6-4e64-b861-3a0764f54ab3,038dbb00-e4c6-4e64-b861-3a0764f54ab3,0,1,1c291f7d-a493-4297-8aaa-912896800066,1c291f7d-a493-4297-8aaa-912896800066,0,1,69149801-a825-4ed2-b077-c26660dff271,69149801-a825-4ed2-b077-c26660dff271,0,1,12146ed3-c159-4d6b-ae1a-1ecd30e5a87e,12146ed3-c159-4d6b-ae1a-1ecd30e5a87e,0,1,518ab687-b84a-40c8-8547-aee4257c1b71,518ab687-b84a-40c8-8547-aee4257c1b71,0,1,5cec0949-bfe8-4f7e-98c1-0c402be3ea09,5cec0949-bfe8-4f7e-98c1-0c402be3ea09,0,1,7732ef07-16eb-46a0-9645-7de95c5482af,7732ef07-16eb-46a0-9645-7de95c5482af,0,1,75dac536-b316-4b04-a57b-03656c678bec,75dac536-b316-4b04-a57b-03656c678bec,0,1,a07d6c85-159d-4d09-b117-561a1e20329f,a07d6c85-159d-4d09-b117-561a1e20329f,0,1,8a2f9733-4f83-41f2-9d74-dca7161a4b41,8a2f9733-4f83-41f2-9d74-dca7161a4b41,0,1,fbd2d900-1e0d-48f3-9793-0186ee49915c,fbd2d900-1e0d-48f3-9793-0186ee49915c,0,1,4a69a70d-1b4c-4999-a3dd-ae1deb331fea,4a69a70d-1b4c-4999-a3dd-ae1deb331fea,0,1,3a36e0f5-a645-47f1-99ae-5b0493d604ad,3a36e0f5-a645-47f1-99ae-5b0493d604ad,0,1,57f762f7-b8e4-498b-a3dc-3d40c94855ec,57f762f7-b8e4-498b-a3dc-3d40c94855ec,0,1,ca7d4086-de35-40fd-af65-73369d452135,ca7d4086-de35-40fd-af65-73369d452135,0,1,563c0f5c-e0b4-4229-a3f6-183091060aa4,563c0f5c-e0b4-4229-a3f6-183091060aa4,0,1,bf967588-ea8f-49a3-9331-af2331ffa162,bf967588-ea8f-49a3-9331-af2331ffa162,0,1,5083530c-9a24-4def-99c1-6eb9514e9b33,5083530c-9a24-4def-99c1-6eb9514e9b33,0,1,d59c2725-5d98-495e-9f86-f5d38dbfad90,d59c2725-5d98-495e-9f86-f5d38dbfad90,0,1,176f8835-73d2-4fbe-9d2a-0a4c79d3b871,176f8835-73d2-4fbe-9d2a-0a4c79d3b871,0,1,0ba68198-983d-409b-be27-96f1572b3f12,0ba68198-983d-409b-be27-96f1572b3f12,0,1,9cd1e8dd-e2be-48a9-b32d-43688e1748bc,9cd1e8dd-e2be-48a9-b32d-43688e1748bc,0,1,decb27a8-7dd3-4601-a694-30429e638b39,decb27a8-7dd3-4601-a694-30429e638b39,0,1,922ac6c0-a6a8-444e-9aad-27dc0f49b32e,922ac6c0-a6a8-444e-9aad-27dc0f49b32e,0,1,d7a128e4-f31f-4b09-8424-e816ab59d5c3,d7a128e4-f31f-4b09-8424-e816ab59d5c3,0,1,0ce6e252-8d6e-4bfe-b8cc-daf3434fa51e,0ce6e252-8d6e-4bfe-b8cc-daf3434fa51e,0,1,aa9513b4-f575-4030-a7f9-ac09aa319e98,aa9513b4-f575-4030-a7f9-ac09aa319e98,0,1,f01afc5e-91b8-4cc2-b63a-c245e5e36d01,f01afc5e-91b8-4cc2-b63a-c245e5e36d01,0,1,028cbc0e-023d-40ad-86c3-5e6f8dc96c57,028cbc0e-023d-40ad-86c3-5e6f8dc96c57,0,1,d03f66b1-48a3-434b-bb58-9fd53c183514,d03f66b1-48a3-434b-bb58-9fd53c183514,0,1,a469e55e-d7ca-4c27-b350-fafe7364c18f,a469e55e-d7ca-4c27-b350-fafe7364c18f,0,1,3ad5d8a7-3071-46aa-aebf-306bdb67983b,3ad5d8a7-3071-46aa-aebf-306bdb67983b,0,1,ab7ef662-71c1-4d51-9f0f-ea8c5ea3df8a,ab7ef662-71c1-4d51-9f0f-ea8c5ea3df8a,0,1,cb954476-c551-4a06-9bcd-18d67ba47dc8,cb954476-c551-4a06-9bcd-18d67ba47dc8,0,1,79201015-bfae-463e-81f1-0ae2d3066f3f,79201015-bfae-463e-81f1-0ae2d3066f3f,0,1,1ea3178b-73dd-4063-9140-c61687a4b1b8,1ea3178b-73dd-4063-9140-c61687a4b1b8,0,1,85fd7ef4-2886-4e2c-a6eb-63d0b0b9cd55,85fd7ef4-2886-4e2c-a6eb-63d0b0b9cd55,0,1,696723be-7b4f-4321-956e-eff07ea9f5fa,696723be-7b4f-4321-956e-eff07ea9f5fa,0,1,616c27dc-5c59-4469-97a7-27e0752bd3a7,616c27dc-5c59-4469-97a7-27e0752bd3a7,0,1,f7323121-74bc-441c-a3e9-dd5cb4f0accd,f7323121-74bc-441c-a3e9-dd5cb4f0accd,0,1,bb264e83-49f4-4b7a-8be2-094712fc0640,bb264e83-49f4-4b7a-8be2-094712fc0640,0,1,07bf650d-e61e-44f3-9643-6ffc95b913fb,07bf650d-e61e-44f3-9643-6ffc95b913fb,0,1,6b90ed05-813c-4324-8a69-02c2268856b2,6b90ed05-813c-4324-8a69-02c2268856b2,0,1,081ed48d-cb87-459d-97d6-9af121edbabb,081ed48d-cb87-459d-97d6-9af121edbabb,0,1,6c4074b2-f631-451d-b412-1c8c096a71b1,6c4074b2-f631-451d-b412-1c8c096a71b1,0,1,f9931a20-8391-4b13-8c6d-1836f2492e53,f9931a20-8391-4b13-8c6d-1836f2492e53,0,1,c6eec20b-13b9-44a0-968f-1325680c399b,c6eec20b-13b9-44a0-968f-1325680c399b,0,1,02fbf083-1bdd-4900-9dc1-62f415b792a4,02fbf083-1bdd-4900-9dc1-62f415b792a4,0,1,35454c2d-7088-487b-abb3-f95f2dfdcffa,35454c2d-7088-487b-abb3-f95f2dfdcffa,0,1,66b010d9-5294-4dd8-b69f-709e1410c105,66b010d9-5294-4dd8-b69f-709e1410c105,0,1,f922bcdb-bf1a-4381-a26a-15669deb15a2,f922bcdb-bf1a-4381-a26a-15669deb15a2,0,1,f641e65b-0580-4791-a642-95bdc8eb7c1a,f641e65b-0580-4791-a642-95bdc8eb7c1a,0,1,a480b235-eb2c-4f28-8c9d-a6d1455718d8,a480b235-eb2c-4f28-8c9d-a6d1455718d8,0,1,dc75882d-35bf-401e-92a1-3f0472d1af4f,dc75882d-35bf-401e-92a1-3f0472d1af4f,0,1,9e7dcb6e-7343-47aa-9757-d270aaa590b7,9e7dcb6e-7343-47aa-9757-d270aaa590b7,0,1,156c081f-4fbc-44e2-9f3b-df00393ee30f,156c081f-4fbc-44e2-9f3b-df00393ee30f,0,1,eaedc462-13ae-42c6-a76f-6529881894dd,eaedc462-13ae-42c6-a76f-6529881894dd,0,1,e00b724c-ab0f-4d37-9f02-05d22116b324,e00b724c-ab0f-4d37-9f02-05d22116b324,0,1,2fb5460d-c175-4650-9b00-a8af8ec47487,2fb5460d-c175-4650-9b00-a8af8ec47487,0,1,f5bc219e-dbc6-483e-9c33-ca84e556f459,f5bc219e-dbc6-483e-9c33-ca84e556f459,0,1,6bca52bc-8c91-43a9-9381-91b782972640,6bca52bc-8c91-43a9-9381-91b782972640,0,1,3eed74ae-d661-467f-a300-80cfa43b6056,3eed74ae-d661-467f-a300-80cfa43b6056,0,1,84aff2b4-233e-467e-bc00-0c4c745a5d5a,84aff2b4-233e-467e-bc00-0c4c745a5d5a,0,1,5238ef5b-f8cb-4387-b49f-6c46fa14e17f,5238ef5b-f8cb-4387-b49f-6c46fa14e17f,0,1,65dc6c73-94b1-408d-9c5b-82300a6ca1e4,65dc6c73-94b1-408d-9c5b-82300a6ca1e4,0,1,e5db7d04-bec6-4bee-b4d4-d1dadf8114f7,e5db7d04-bec6-4bee-b4d4-d1dadf8114f7,0,1,a478c330-5fe6-4a3a-bc7e-b126169b9301,a478c330-5fe6-4a3a-bc7e-b126169b9301,0,1,837c0e19-fe2b-4640-9506-ff36f9d77510,837c0e19-fe2b-4640-9506-ff36f9d77510,0,1,4c7ebacf-90bd-4749-aa26-02965451bf70,4c7ebacf-90bd-4749-aa26-02965451bf70,0,1,96fe619a-b819-4f96-9788-e1f4ef57833a,96fe619a-b819-4f96-9788-e1f4ef57833a,0,1,94dff2da-f721-411a-9fc0-5d013b685dcc,94dff2da-f721-411a-9fc0-5d013b685dcc,0,1,9343fc5f-7b08-4be5-8cd5-dbed635b819d,9343fc5f-7b08-4be5-8cd5-dbed635b819d,0,1,99e87e66-1b07-451b-a476-f5213cbd7150,99e87e66-1b07-451b-a476-f5213cbd7150,0,1,c3317f75-f6ad-41f6-97f1-77074c3ff62a,c3317f75-f6ad-41f6-97f1-77074c3ff62a,0,1,8800dec9-84f8-4643-8742-1d76fe575f58,8800dec9-84f8-4643-8742-1d76fe575f58,0,1,62903794-3b41-4d21-b800-1c26dbeda3ce,62903794-3b41-4d21-b800-1c26dbeda3ce,0,1,9bda4a0b-e8a7-4acf-9f07-4033b3a84ebc,9bda4a0b-e8a7-4acf-9f07-4033b3a84ebc,0,1,93de88de-0069-4aa8-96b2-d5709e4def2f,93de88de-0069-4aa8-96b2-d5709e4def2f,0,1,9f94fadf-ac9d-4e57-9fe4-41ce8cfbec6a,9f94fadf-ac9d-4e57-9fe4-41ce8cfbec6a,0,1,12d4ffc8-592e-42a7-b8c6-20bd58f6da90,12d4ffc8-592e-42a7-b8c6-20bd58f6da90,0,1,3a8d9010-8785-4d8d-b908-b821d7d681c9,3a8d9010-8785-4d8d-b908-b821d7d681c9,0,1,2568a935-ea49-4b99-aa9c-de27de6a0e81,2568a935-ea49-4b99-aa9c-de27de6a0e81,0,1,1c1e01f2-b2b3-480d-ae51-2db27b82dedd,1c1e01f2-b2b3-480d-ae51-2db27b82dedd,0,1,df459525-4e4d-4819-b996-5a6379b22a88,df459525-4e4d-4819-b996-5a6379b22a88,0,1,ed1d69f4-b09f-430a-bb2e-a23fe4dedf6b,ed1d69f4-b09f-430a-bb2e-a23fe4dedf6b,0,1,e67b4a32-4bac-450e-be6d-88c262383f31,e67b4a32-4bac-450e-be6d-88c262383f31,0,1,8b83bb54-4c23-4bd8-bd00-374a7a101cfa,8b83bb54-4c23-4bd8-bd00-374a7a101cfa,0,1,6c4c3eca-8b02-451b-af52-93073c3da146,6c4c3eca-8b02-451b-af52-93073c3da146,0,1,095c281c-3903-465d-baea-af1e6abf8019,095c281c-3903-465d-baea-af1e6abf8019,0,1,440d115d-a769-427e-891a-88d65fba2057,440d115d-a769-427e-891a-88d65fba2057,0,1,f7932210-027e-4fad-b7f7-3530789ce803,f7932210-027e-4fad-b7f7-3530789ce803,0,1,7bbfd95e-39a1-485b-930f-c9210c18dcd0,7bbfd95e-39a1-485b-930f-c9210c18dcd0,0,1,4975d3d6-b5a2-41c6-973b-6817013a388d,4975d3d6-b5a2-41c6-973b-6817013a388d,0,1,18ebc799-9724-4ffb-855e-b09a0723869e,18ebc799-9724-4ffb-855e-b09a0723869e,0,1,a06b8ef5-83e6-4fc6-91e1-256004134d69,a06b8ef5-83e6-4fc6-91e1-256004134d69,0,1,1d6a68ec-917f-4c3b-b970-797a6921cbc9,1d6a68ec-917f-4c3b-b970-797a6921cbc9,0,1,ae29eb40-5c8f-4ab4-8556-f98d45e8effe,ae29eb40-5c8f-4ab4-8556-f98d45e8effe,0,1,5b663988-3599-46dc-8d59-4c82ceac537c,5b663988-3599-46dc-8d59-4c82ceac537c,0,1,0f5f136c-688b-491e-a72b-3d9c2e609f0e,0f5f136c-688b-491e-a72b-3d9c2e609f0e,0,1,5573b405-6ac4-4632-b8d6-5d1cbdb63b97,5573b405-6ac4-4632-b8d6-5d1cbdb63b97,0,1,679cc0df-df5c-4c33-8c64-c0b6cee39116,679cc0df-df5c-4c33-8c64-c0b6cee39116,0,1,b156752b-f25c-4f35-9474-8ac3636597f5,b156752b-f25c-4f35-9474-8ac3636597f5,0,1,17aadd5f-cda2-4785-a07f-3ab4b04434a6,17aadd5f-cda2-4785-a07f-3ab4b04434a6,0,1,71bc35e6-0fec-4e54-af2d-23d1357d1c3b,71bc35e6-0fec-4e54-af2d-23d1357d1c3b,0,1,1832336e-32f6-42c4-9087-8614ead52bb3,1832336e-32f6-42c4-9087-8614ead52bb3,0,1,ff9f7b5c-70f4-4eed-8216-64448e7da76f,ff9f7b5c-70f4-4eed-8216-64448e7da76f,0,1,44ac2869-990d-4cac-a14b-c1a28854341e,44ac2869-990d-4cac-a14b-c1a28854341e,0,1,d5df31c3-89f9-469c-80a9-fb4706d30bc4,d5df31c3-89f9-469c-80a9-fb4706d30bc4,0,1,e73a6a9d-8ddd-4531-9f17-745117d9da9b,e73a6a9d-8ddd-4531-9f17-745117d9da9b,0,1,9dd4e17c-d10b-435e-8665-08997edc3e7e,9dd4e17c-d10b-435e-8665-08997edc3e7e,0,1,cafd44e1-8509-4550-8329-ff8cab0c31ae,cafd44e1-8509-4550-8329-ff8cab0c31ae,0,1,ee6e5e56-5848-46b6-89bf-b9345a57d94c,ee6e5e56-5848-46b6-89bf-b9345a57d94c,0,1,8817c872-bdee-4577-bcc3-4046edc72803,8817c872-bdee-4577-bcc3-4046edc72803,0,1,5b88c214-4e4e-45c2-b8c5-14eb852e9900,5b88c214-4e4e-45c2-b8c5-14eb852e9900,0,1,105cd740-1f60-45e1-871c-adeecd291b0d,105cd740-1f60-45e1-871c-adeecd291b0d,0,1,95aec7d2-179b-4ea3-a3df-3d737b713564,95aec7d2-179b-4ea3-a3df-3d737b713564,0,1,4bd1cae4-d5b5-444e-9cf5-67a969714293,4bd1cae4-d5b5-444e-9cf5-67a969714293,0,1,b1a330d7-9b88-44e9-aba6-41ce5e5e669c,b1a330d7-9b88-44e9-aba6-41ce5e5e669c,0,1,f279a625-b88f-43b4-bce9-de1186fe7d7e,f279a625-b88f-43b4-bce9-de1186fe7d7e,0,1,99fc224a-2a61-441a-85e9-d69df6aa8b5e,99fc224a-2a61-441a-85e9-d69df6aa8b5e,0,1,a528c26f-3ceb-4ae4-8420-edfbdea6e1ac,a528c26f-3ceb-4ae4-8420-edfbdea6e1ac,0,1,d009782b-d73e-42d1-9979-2cbaf20ee98e,d009782b-d73e-42d1-9979-2cbaf20ee98e,0,1,1ef6282c-ae81-4d76-8e3e-99fec58fc7bd,1ef6282c-ae81-4d76-8e3e-99fec58fc7bd,0,1,88d8edf7-654f-4627-b68d-c7e929726da6,88d8edf7-654f-4627-b68d-c7e929726da6,0,1,1725c619-9c4a-40ac-9044-00fee71945a4,1725c619-9c4a-40ac-9044-00fee71945a4,0,1,45a85e25-7c33-4ff5-87a0-2a0b4cda8130,45a85e25-7c33-4ff5-87a0-2a0b4cda8130,0,1,e95b126d-797d-4071-b7b4-b14aaf595f2d,e95b126d-797d-4071-b7b4-b14aaf595f2d,0,1,9241ea3c-633f-4469-9e70-c5a20e464da8,9241ea3c-633f-4469-9e70-c5a20e464da8,0,1,bbadbe1b-cb33-4cc5-84c8-a4fdfc8a2247,bbadbe1b-cb33-4cc5-84c8-a4fdfc8a2247,0,1,961ae0fb-7f7b-414d-8fbf-32b893b41085,961ae0fb-7f7b-414d-8fbf-32b893b41085,0,1,10adf8c8-6f5f-477f-b244-4452b774b766,10adf8c8-6f5f-477f-b244-4452b774b766,0,1,ac9dcb8c-d4f5-4f0d-affb-e4187eafdf14,ac9dcb8c-d4f5-4f0d-affb-e4187eafdf14,0,1,04ec5e44-8469-4e9c-8021-83d258f2ec54,04ec5e44-8469-4e9c-8021-83d258f2ec54,0,1,cff36ede-0bd1-424b-8c75-b9695133f32e,cff36ede-0bd1-424b-8c75-b9695133f32e,0,1,9d872d99-eac7-43ee-8ce2-c9d31a76bd75,9d872d99-eac7-43ee-8ce2-c9d31a76bd75,0,1,77e5bd01-35f3-4072-bc7a-8730e6dcbab3,77e5bd01-35f3-4072-bc7a-8730e6dcbab3,0,1,58b33683-1916-4aef-9b98-5569ef7782ed,58b33683-1916-4aef-9b98-5569ef7782ed,0,1,d3e1f622-f438-4cad-94ae-0272f51610f7,d3e1f622-f438-4cad-94ae-0272f51610f7,0,1,64ac2c2a-2726-4ab9-9a6a-3d08f3fc0618,64ac2c2a-2726-4ab9-9a6a-3d08f3fc0618,0,1,8569cd73-d40d-4d92-83e0-8ece0c03a86a,8569cd73-d40d-4d92-83e0-8ece0c03a86a,0,1,9ebe2809-be6b-4c91-9443-b237fb7ad43c,9ebe2809-be6b-4c91-9443-b237fb7ad43c,0,1,bf29c091-de15-4cd4-be0e-a9785f97d444,bf29c091-de15-4cd4-be0e-a9785f97d444,0,1,6a675752-fd31-46a5-8a62-2a1ede437c68,6a675752-fd31-46a5-8a62-2a1ede437c68,0,1,97a65f49-845f-4eed-ae81-61266ed3e05b,97a65f49-845f-4eed-ae81-61266ed3e05b,0,1,060b2bb4-ca03-4da9-930f-7f91f6299a35,060b2bb4-ca03-4da9-930f-7f91f6299a35,0,1,394b1a1c-a7ae-41b7-a346-4bac99fa567d,394b1a1c-a7ae-41b7-a346-4bac99fa567d,0,1,9a5fa511-59e8-4a1b-a101-f276f0b7b261,9a5fa511-59e8-4a1b-a101-f276f0b7b261,0,1,ccfe4e36-80b6-419f-8bb3-c1046203d023,ccfe4e36-80b6-419f-8bb3-c1046203d023,0,1,94b2e060-53b7-4b40-af05-30bea3520330,94b2e060-53b7-4b40-af05-30bea3520330,0,1,0f634f7e-7d6b-43e4-8e5e-a31ed05898ea,0f634f7e-7d6b-43e4-8e5e-a31ed05898ea,0,1,41b0dabd-85a3-4819-84dd-371eaf4f996e,41b0dabd-85a3-4819-84dd-371eaf4f996e,0,1,86a5ba4d-0681-4ddc-a505-0f537528e1a3,86a5ba4d-0681-4ddc-a505-0f537528e1a3,0,1,12d936f5-932b-4561-b934-c8444808a450,12d936f5-932b-4561-b934-c8444808a450,0,1,2ccb06ca-9bb7-4b74-9a96-c109bb117984,2ccb06ca-9bb7-4b74-9a96-c109bb117984,0,1,ac1a661d-db18-4576-80a9-a19d4140c05e,ac1a661d-db18-4576-80a9-a19d4140c05e,0,1,acd89f6c-a25f-47b9-ac21-036bfafcc0fc,acd89f6c-a25f-47b9-ac21-036bfafcc0fc,0,1,c3ffeb09-121b-4d77-9c15-def4648b4f3c,c3ffeb09-121b-4d77-9c15-def4648b4f3c,0,1,c2de0724-04c1-4adb-b62a-b7ba727dbe67,c2de0724-04c1-4adb-b62a-b7ba727dbe67,0,1,4ae26777-69ff-4a55-942b-0bad8ab7a70a,4ae26777-69ff-4a55-942b-0bad8ab7a70a,0,1,a0d8fb0a-0e90-4140-8687-e249b153dc66,a0d8fb0a-0e90-4140-8687-e249b153dc66,0,1,917c6f60-2a07-4587-9496-d393aff93953,917c6f60-2a07-4587-9496-d393aff93953,0,1,4bac50a2-762a-44e6-b8c5-3b09ef1a3f5e,4bac50a2-762a-44e6-b8c5-3b09ef1a3f5e,0,1,9fe72d73-4c95-47e0-bf92-dcb714d747c6,9fe72d73-4c95-47e0-bf92-dcb714d747c6,0,1,fe00e64f-2fa9-44a7-9bd7-854ebb6c0185,fe00e64f-2fa9-44a7-9bd7-854ebb6c0185,0,1,4d84bb11-e06e-4ed9-915b-76ee0e385a8b,4d84bb11-e06e-4ed9-915b-76ee0e385a8b,0,1,2b94076d-39ee-45ad-9ba5-435115cf5d4f,2b94076d-39ee-45ad-9ba5-435115cf5d4f,0,1,72ace16c-e90a-4d05-bc23-4351d4c87683,72ace16c-e90a-4d05-bc23-4351d4c87683,0,1,bd86e378-84bb-486a-be7b-319a3fe3b70b,bd86e378-84bb-486a-be7b-319a3fe3b70b,0,1,ef3bc279-6721-4949-8dc0-f96141f7f05c,ef3bc279-6721-4949-8dc0-f96141f7f05c,0,1,f81c7e21-48ad-4b64-975d-e62d34c7235a,f81c7e21-48ad-4b64-975d-e62d34c7235a,0,1,d0523c14-585e-45d3-9735-891235631004,d0523c14-585e-45d3-9735-891235631004,0,1,b6f8bc3e-f0cd-43ef-b060-d701cd446197,b6f8bc3e-f0cd-43ef-b060-d701cd446197,0,1,4f10e5f9-6cfd-4fa9-9c72-d19a484a796c,4f10e5f9-6cfd-4fa9-9c72-d19a484a796c,0,1,b94e805f-e1ab-4870-b855-98aa401864b2,b94e805f-e1ab-4870-b855-98aa401864b2,0,1,ff8eedeb-fc3e-4bee-852b-6da6d59ff38c,ff8eedeb-fc3e-4bee-852b-6da6d59ff38c,0,1,a98bd18f-ccda-41a2-a1b2-8b37cc1f6c36,a98bd18f-ccda-41a2-a1b2-8b37cc1f6c36,0,1,62f9fe19-3d64-4506-a0bc-dbfe47b4df64,62f9fe19-3d64-4506-a0bc-dbfe47b4df64,0,1,60aaa289-1f07-438c-8f10-81058ac671c3,60aaa289-1f07-438c-8f10-81058ac671c3,0,1,7312a4ab-a269-4d85-a2c2-25bd5c5dc59c,7312a4ab-a269-4d85-a2c2-25bd5c5dc59c,0,1,c44b0868-bd7f-4230-973b-544ff4dd2afe,c44b0868-bd7f-4230-973b-544ff4dd2afe,0,1,fc2675c2-1c9b-41f9-88eb-5c8be365fe41,fc2675c2-1c9b-41f9-88eb-5c8be365fe41,0,1,51e6a6f9-ce9d-4cb0-a40c-384ede074e07,51e6a6f9-ce9d-4cb0-a40c-384ede074e07,0,1,6236ac73-5b9f-4fb5-bb2c-a5d8e205c5db,6236ac73-5b9f-4fb5-bb2c-a5d8e205c5db,0,1,5e22429f-9ec0-4943-bf80-1becc4b8e5cb,5e22429f-9ec0-4943-bf80-1becc4b8e5cb,0,1,0153e60e-daca-48ac-b1c6-adecc89f579e,0153e60e-daca-48ac-b1c6-adecc89f579e,0,1,1ed4cf25-19f0-49f5-96a0-0ffe13adfe35,1ed4cf25-19f0-49f5-96a0-0ffe13adfe35,0,1,a896bc34-30a6-48b6-acfc-786c24c186bd,a896bc34-30a6-48b6-acfc-786c24c186bd,0,1,3867f4cb-bf54-42fb-8ea6-ca51d7cd6c91,3867f4cb-bf54-42fb-8ea6-ca51d7cd6c91,0,1,da8ae00a-7207-4ceb-b739-9114888c5b27,da8ae00a-7207-4ceb-b739-9114888c5b27,0,1,91af7a52-0825-4af5-94df-cc501e0123cd,91af7a52-0825-4af5-94df-cc501e0123cd,0,1,1c2cc78a-2ae6-4996-a743-7b55aecbe84c,1c2cc78a-2ae6-4996-a743-7b55aecbe84c,0,1,9292bf81-5668-4d52-a4ec-a93bc4b0ad3b,9292bf81-5668-4d52-a4ec-a93bc4b0ad3b,0,1,9693cc78-852e-445b-a7d2-f1689fa9eeec,9693cc78-852e-445b-a7d2-f1689fa9eeec,0,1,eb33e555-db41-462a-a45d-c7e0945cece8,eb33e555-db41-462a-a45d-c7e0945cece8,0,1,9cfd517c-1008-483a-9f65-7d15feb2cefc,9cfd517c-1008-483a-9f65-7d15feb2cefc,0,1,d66adc5e-25a3-472e-b0a4-5f22f88d7a0f,d66adc5e-25a3-472e-b0a4-5f22f88d7a0f,0,1,ae48d48f-cd39-4821-a4b7-9394b2a77ef6,ae48d48f-cd39-4821-a4b7-9394b2a77ef6,0,1,f34d3a69-533e-49df-b91d-f7f7f49c5fb1,f34d3a69-533e-49df-b91d-f7f7f49c5fb1,0,1,1d76f613-f4f6-4772-8c16-d97b3104a553,1d76f613-f4f6-4772-8c16-d97b3104a553,0,1,3e58d607-b906-449f-b044-9c130a487b86,3e58d607-b906-449f-b044-9c130a487b86,0,1,7a911212-7fde-4ea8-a1fa-229116b60895,7a911212-7fde-4ea8-a1fa-229116b60895,0,1,f4580043-5bc2-4295-8523-909302009b44,f4580043-5bc2-4295-8523-909302009b44,0,1,dc8af632-a5a4-4270-ba5f-2d3ba506f7e3,dc8af632-a5a4-4270-ba5f-2d3ba506f7e3,0,1,81936ac2-32fe-4e14-897b-0aba92b90c05,81936ac2-32fe-4e14-897b-0aba92b90c05,0,1,9f88e355-3f8f-4fcd-b45f-39c3d45490f5,9f88e355-3f8f-4fcd-b45f-39c3d45490f5,0,1,ac028c56-b2a8-4a9b-a325-554c636f838e,ac028c56-b2a8-4a9b-a325-554c636f838e,0,1,0ed85f4c-c002-49b6-99b9-0c3c4b7f940e,0ed85f4c-c002-49b6-99b9-0c3c4b7f940e,0,1,f99e98ac-cd94-4989-8c02-ef8b323c6815,f99e98ac-cd94-4989-8c02-ef8b323c6815,0,1,e2562347-4549-4111-862e-86c20a6daade,e2562347-4549-4111-862e-86c20a6daade,0,1,b270fc64-15c6-41ed-ad09-44c833ca7c41,b270fc64-15c6-41ed-ad09-44c833ca7c41,0,1,4c3312fd-5613-4e9b-ae7c-572fa1887ded,4c3312fd-5613-4e9b-ae7c-572fa1887ded,0,1,6c8c9618-287a-41ab-890c-60250925ad52,6c8c9618-287a-41ab-890c-60250925ad52,0,1,168fce48-2413-45fc-ad21-9b465121d81b,168fce48-2413-45fc-ad21-9b465121d81b,0,1,55b9650e-098b-4d44-9fb5-d525b46f014b,55b9650e-098b-4d44-9fb5-d525b46f014b,0,1,5b7b32ec-3d0e-42e9-bd13-5d2b8cc1942d,5b7b32ec-3d0e-42e9-bd13-5d2b8cc1942d,0,1,bc55dc06-a769-40be-9c99-0794bdd2dbea,bc55dc06-a769-40be-9c99-0794bdd2dbea,0,1,7861e179-96d2-422f-a7c2-b38b59074956,7861e179-96d2-422f-a7c2-b38b59074956,0,1,0b2416bc-f322-45b3-8c3f-2c8a206c55a1,0b2416bc-f322-45b3-8c3f-2c8a206c55a1,0,1,3797b4c6-e336-4cbe-8d0b-0902e1247b42,3797b4c6-e336-4cbe-8d0b-0902e1247b42,0,1,67ebc493-d29a-4614-890a-feb8b5bd884b,67ebc493-d29a-4614-890a-feb8b5bd884b,0,1,d65c8992-aabc-4b67-9893-01862231ebe1,d65c8992-aabc-4b67-9893-01862231ebe1,0,1,dc79e5e2-37d1-4f19-9500-15c1d9be10eb,dc79e5e2-37d1-4f19-9500-15c1d9be10eb,0,1,dba6cb38-79c6-4060-87c5-a993548f36c4,dba6cb38-79c6-4060-87c5-a993548f36c4,0,1,6b44227a-e226-4bcb-8638-06b49f830669,6b44227a-e226-4bcb-8638-06b49f830669,0,1,f2406400-87e9-4df2-bcd3-8f1e3ad62088,f2406400-87e9-4df2-bcd3-8f1e3ad62088,0,1,ecaacedb-bf2d-4736-a9e1-fa89cda85ee6,ecaacedb-bf2d-4736-a9e1-fa89cda85ee6,0,1,a5623e87-3102-4521-b4ab-c41bf2403a1a,a5623e87-3102-4521-b4ab-c41bf2403a1a,0,1,599b1692-5f4e-42ef-ae1a-822ff527a415,599b1692-5f4e-42ef-ae1a-822ff527a415,0,1,ee9abe8a-b3a2-48a9-9157-ea537e83b7e7,ee9abe8a-b3a2-48a9-9157-ea537e83b7e7,0,1,23f70675-6a05-4b50-ad68-c55ddc93e857,23f70675-6a05-4b50-ad68-c55ddc93e857,0,1,4bb7372a-87a9-426e-b09f-fc0110455b10,4bb7372a-87a9-426e-b09f-fc0110455b10,0,1,ac853a0f-c185-4cdb-9f09-c921770937b5,ac853a0f-c185-4cdb-9f09-c921770937b5,0,1,920a7940-4d12-476d-a909-2231787839a9,920a7940-4d12-476d-a909-2231787839a9,0,1,b3aeeb3c-622d-4e0c-8c13-199f0e431a7d,b3aeeb3c-622d-4e0c-8c13-199f0e431a7d,0,1,ad14c4d1-bc11-44b6-a32c-c00fb89a9ea5,ad14c4d1-bc11-44b6-a32c-c00fb89a9ea5,0,1,32eb2a75-ff35-4795-bf0c-12b1328441ee,32eb2a75-ff35-4795-bf0c-12b1328441ee,0,1,8e877990-a64c-4c45-91f1-007d47618cc7,8e877990-a64c-4c45-91f1-007d47618cc7,0,1,73c6640e-2fe6-4132-9237-d6f28cbacc1c,73c6640e-2fe6-4132-9237-d6f28cbacc1c,0,1,46c3341c-352c-43fb-b338-15c8ad487fbf,46c3341c-352c-43fb-b338-15c8ad487fbf,0,1,a2a8b35e-04e5-4176-8d3b-2cd4dfb6d653,a2a8b35e-04e5-4176-8d3b-2cd4dfb6d653,0,1,ea7ad7f5-e502-49a9-b4a6-e9adceb15057,ea7ad7f5-e502-49a9-b4a6-e9adceb15057,0,1,f9450d6a-849c-4621-b528-9cafc4819b44,f9450d6a-849c-4621-b528-9cafc4819b44,0,1,5b7cac99-2fca-4dbb-8d49-b84f310a2496,5b7cac99-2fca-4dbb-8d49-b84f310a2496,0,1,bb11c22e-0fbd-4985-be67-0866df7f7e61,bb11c22e-0fbd-4985-be67-0866df7f7e61,0,1,a4673d5c-9dae-48f7-9c91-53c1302a266a,a4673d5c-9dae-48f7-9c91-53c1302a266a,0,1,1a2a0dd2-b0dc-41e1-8c4f-f275f025bad2,1a2a0dd2-b0dc-41e1-8c4f-f275f025bad2,0,1,c255932e-fc34-402c-a6e9-2fda1ffbcdf2,c255932e-fc34-402c-a6e9-2fda1ffbcdf2,0,1,0d323d88-2823-493e-8c1e-b2b9f3dcdd3e,0d323d88-2823-493e-8c1e-b2b9f3dcdd3e,0,1,3f410b53-e762-41fe-9469-d538dfec3a9a,3f410b53-e762-41fe-9469-d538dfec3a9a,0,1,92ea60c0-1027-4337-9130-40028951f09b,92ea60c0-1027-4337-9130-40028951f09b,0,1,46710ce6-0f82-4c4c-91e8-f8ee726e00ce,46710ce6-0f82-4c4c-91e8-f8ee726e00ce,0,1,d64f18a4-ff93-4284-9eca-085109eafd24,d64f18a4-ff93-4284-9eca-085109eafd24,0,1,bf428e7a-2970-4bab-8c8e-35ea16151c0e,bf428e7a-2970-4bab-8c8e-35ea16151c0e,0,1,232dbd5f-b7f1-4463-946c-b8fbf93ac466,232dbd5f-b7f1-4463-946c-b8fbf93ac466,0,1,a1a74b34-4174-4769-8f03-bd4a32e83418,a1a74b34-4174-4769-8f03-bd4a32e83418,0,1,32fd1fe7-34d3-43ed-baba-16ccd43aa25a,32fd1fe7-34d3-43ed-baba-16ccd43aa25a,0,1,8f4d1259-abdc-4495-8e1e-8c8abcd336ca,8f4d1259-abdc-4495-8e1e-8c8abcd336ca,0,1,1731708f-53cb-4b00-b90e-f581b4baa845,1731708f-53cb-4b00-b90e-f581b4baa845,0,1,d4b0feca-c00a-4d48-9f23-d92277ea6483,d4b0feca-c00a-4d48-9f23-d92277ea6483,0,1,00b2a0b3-6af8-4ea4-aa38-d1e078d5cbff,00b2a0b3-6af8-4ea4-aa38-d1e078d5cbff,0,1,20f7fdd2-30f6-4a52-a63b-7d2c326c0e83,20f7fdd2-30f6-4a52-a63b-7d2c326c0e83,0,1,23cb5bc2-9638-4d1c-b4bc-d5297e271570,23cb5bc2-9638-4d1c-b4bc-d5297e271570,0,1,6e547ccb-6d5a-4f7c-aaf0-568c22d2c276,6e547ccb-6d5a-4f7c-aaf0-568c22d2c276,0,1,04b7389d-697d-4b0d-a239-ac8c674cc46f,04b7389d-697d-4b0d-a239-ac8c674cc46f,0,1,a1cf5173-2e86-4ed7-9a0b-1bd5e578326a,a1cf5173-2e86-4ed7-9a0b-1bd5e578326a,0,1,864cad61-8280-415d-8fe1-bcb39d56670a,864cad61-8280-415d-8fe1-bcb39d56670a,0,1,b106bd29-5dc7-44d7-94d0-00f61499392e,b106bd29-5dc7-44d7-94d0-00f61499392e,0,1,a4febff8-0566-4977-bf55-1d574568fe9f,a4febff8-0566-4977-bf55-1d574568fe9f,0,1,5199cc65-bed1-40b9-96fe-cf6d855a8b91,5199cc65-bed1-40b9-96fe-cf6d855a8b91,0,1,f518add9-5c26-4dac-ab2e-b30fe3fbd347,f518add9-5c26-4dac-ab2e-b30fe3fbd347,0,1,23f53317-7aa8-4816-8a69-3d39d5e76da0,23f53317-7aa8-4816-8a69-3d39d5e76da0,0,1,9ade5155-fa6d-4999-b019-a5e7e235a158,9ade5155-fa6d-4999-b019-a5e7e235a158,0,1,8b302c5e-b255-4cb5-94d9-0dfef4250097,8b302c5e-b255-4cb5-94d9-0dfef4250097,0,1,49d713b8-6a61-4bd1-9650-0de1869967d2,49d713b8-6a61-4bd1-9650-0de1869967d2,0,1,4738ffd0-3c3b-4e5f-8773-0c9a80efdfbf,4738ffd0-3c3b-4e5f-8773-0c9a80efdfbf,0,1,3d1bae2a-4dfd-48e5-bfe9-b7e30c8475f6,3d1bae2a-4dfd-48e5-bfe9-b7e30c8475f6,0,1,0ddeed48-b98a-47c3-84a2-2eac065be06c,0ddeed48-b98a-47c3-84a2-2eac065be06c,0,1,7987fe2c-d7cc-4fd2-ac4e-610bfb1ab6d2,7987fe2c-d7cc-4fd2-ac4e-610bfb1ab6d2,0,1,fc18d95e-a51d-45c0-83b0-09aeb2b5b03a,fc18d95e-a51d-45c0-83b0-09aeb2b5b03a,0,1,61b947a5-edca-43ca-82c4-5a7b529d8f82,61b947a5-edca-43ca-82c4-5a7b529d8f82,0,1,59eb6a7a-1d96-4985-8d8e-575162759415,59eb6a7a-1d96-4985-8d8e-575162759415,0,1,68564573-ed49-4519-a8b3-997865fe70a6,68564573-ed49-4519-a8b3-997865fe70a6,0,1,6c789969-d066-489d-ad88-92e2a5a6ec69,6c789969-d066-489d-ad88-92e2a5a6ec69,0,1,2a07d696-75d6-4a12-a310-30d6598b4a4c,2a07d696-75d6-4a12-a310-30d6598b4a4c,0,1,dde88f56-417c-4559-a893-85dc91e7e623,dde88f56-417c-4559-a893-85dc91e7e623,0,1,963eedab-6976-4a98-b9ad-b81f89239661,963eedab-6976-4a98-b9ad-b81f89239661,0,1,3370d43e-8e97-4411-8123-2bb2bcf60a75,3370d43e-8e97-4411-8123-2bb2bcf60a75,0,1,d9d377c9-406f-4bc9-8076-1f049348b816,d9d377c9-406f-4bc9-8076-1f049348b816,0,1,dcfcb108-3761-43d9-ad2a-29633bd1ae47,dcfcb108-3761-43d9-ad2a-29633bd1ae47,0,1,36baa776-83c4-413d-b70c-cbbc45e25662,36baa776-83c4-413d-b70c-cbbc45e25662,0,1,b65f9165-c20d-4053-8a0b-cff3f693b762,b65f9165-c20d-4053-8a0b-cff3f693b762,0,1,51af096b-687f-44f4-a0d8-306f670fc5ce,51af096b-687f-44f4-a0d8-306f670fc5ce,0,1,75972f88-aedd-4338-a3b5-320cd632a2e6,75972f88-aedd-4338-a3b5-320cd632a2e6,0,1,a720abc8-dcf0-4684-8d94-22d394a8e4df,a720abc8-dcf0-4684-8d94-22d394a8e4df,0,1,e40f53de-c27b-4e74-8241-f784d7ca5c84,e40f53de-c27b-4e74-8241-f784d7ca5c84,0,1,ef38b84d-277e-48c2-8826-330132eb6807,ef38b84d-277e-48c2-8826-330132eb6807,0,1,67a50910-059a-4724-84e0-c21bc3ac74c2,67a50910-059a-4724-84e0-c21bc3ac74c2,0,1,fdd83a89-a2fe-40d8-a531-a10bfeb36a1d,fdd83a89-a2fe-40d8-a531-a10bfeb36a1d,0,1,0d190f8b-87c5-4dd1-bcfb-609ec3a44f72,0d190f8b-87c5-4dd1-bcfb-609ec3a44f72,0,1,9e78a2b9-44fc-4971-801d-1ddd4bb09cfd,9e78a2b9-44fc-4971-801d-1ddd4bb09cfd,0,1,2c0d11fc-b927-4b5d-a16c-d60e69580824,2c0d11fc-b927-4b5d-a16c-d60e69580824,0,1,5251e744-666e-48a0-a5b4-9cef313c7631,5251e744-666e-48a0-a5b4-9cef313c7631,0,1,0b09cf2f-1759-4362-b997-29e09ac00445,0b09cf2f-1759-4362-b997-29e09ac00445,0,1,f6a9eb9c-a1c2-4114-b155-3ce94c7b7f20,f6a9eb9c-a1c2-4114-b155-3ce94c7b7f20,0,1,828ddf5d-ca09-4baf-897f-77d569e02a6b,828ddf5d-ca09-4baf-897f-77d569e02a6b,0,1,8856015c-a695-4b1a-99ef-770263f9dc4a,8856015c-a695-4b1a-99ef-770263f9dc4a,0,1,183ec2b5-e173-4885-9e26-1098ffa15020,183ec2b5-e173-4885-9e26-1098ffa15020,0,1,74702fdf-bfc5-4658-ba58-e39bcfbaa647,74702fdf-bfc5-4658-ba58-e39bcfbaa647,0,1,2f436ec3-6a04-4d2c-998a-c60ea875ca86,2f436ec3-6a04-4d2c-998a-c60ea875ca86,0,1,6a947b2d-3e6b-42c8-a9fd-4c5a71d600a9,6a947b2d-3e6b-42c8-a9fd-4c5a71d600a9,0,1,ae641a80-4ada-4592-ace9-29a82e6700e4,ae641a80-4ada-4592-ace9-29a82e6700e4,0,1,190bc52e-0d51-4dfc-9f16-99ed71ebfa75,190bc52e-0d51-4dfc-9f16-99ed71ebfa75,0,1,0c24858a-7e64-426f-9b59-392449aecaf5,0c24858a-7e64-426f-9b59-392449aecaf5,0,1,b1d61e28-f3dc-418b-b5df-f75622a4b980,b1d61e28-f3dc-418b-b5df-f75622a4b980,0,1,bec4c82f-4e76-4d16-bb4d-b6d9fa404c5d,bec4c82f-4e76-4d16-bb4d-b6d9fa404c5d,0,1,4033f86b-d250-475a-8837-071bf31664b0,4033f86b-d250-475a-8837-071bf31664b0,0,1,876e31ff-ab7b-4ea4-b491-161963727dd1,876e31ff-ab7b-4ea4-b491-161963727dd1,0,1,bb43995b-68b4-41a1-8458-e10a2d8925f1,bb43995b-68b4-41a1-8458-e10a2d8925f1,0,1,61730dd9-fed7-43ce-8f38-724cac8f3d08,61730dd9-fed7-43ce-8f38-724cac8f3d08,0,1,e6a494b8-27e7-46a6-9435-7be6e150a69e,e6a494b8-27e7-46a6-9435-7be6e150a69e,0,1,133dc852-59d3-4351-934d-8845f8a38431,133dc852-59d3-4351-934d-8845f8a38431,0,1,55dbaaf1-554d-46e2-b42a-ce6a8bf20dfb,55dbaaf1-554d-46e2-b42a-ce6a8bf20dfb,0,1,b57eca91-04c2-4412-b5e2-f3c71f8ec602,b57eca91-04c2-4412-b5e2-f3c71f8ec602,0,1,b67914a8-d483-4bed-bd4d-a4aadd4998a4,b67914a8-d483-4bed-bd4d-a4aadd4998a4,0,1,744a52c8-6e4d-4356-a35a-3d2b01ad4a9f,744a52c8-6e4d-4356-a35a-3d2b01ad4a9f,0,1,707a8a49-fec5-454c-9e80-c3da829d395c,707a8a49-fec5-454c-9e80-c3da829d395c,0,1,b5ea4aff-11be-4232-94a2-cb92801b6c49,b5ea4aff-11be-4232-94a2-cb92801b6c49,0,1,6f630213-c16c-421c-a160-09e3c729ab26,6f630213-c16c-421c-a160-09e3c729ab26,0,1,878c638c-7c84-4914-896a-d4fdf0d759ef,878c638c-7c84-4914-896a-d4fdf0d759ef,0,1,6065653e-b7a9-4033-9617-f64430c57d89,6065653e-b7a9-4033-9617-f64430c57d89,0,1,9ec63da6-1f53-417f-9c7d-6879eaa56a7e,9ec63da6-1f53-417f-9c7d-6879eaa56a7e,0,1,00d1d85b-c258-4f10-9d13-a99375a29fc1,00d1d85b-c258-4f10-9d13-a99375a29fc1,0,1,0544376f-461c-42c3-a102-e0ae65e3c0c6,0544376f-461c-42c3-a102-e0ae65e3c0c6,0,1,6df8d316-6ac3-4626-8951-1ad36d7049ed,6df8d316-6ac3-4626-8951-1ad36d7049ed,0,1,f211b418-899d-4220-a14b-4a7302183e46,f211b418-899d-4220-a14b-4a7302183e46,0,1,e499629a-69ed-46b4-be5d-7b1f2f6a11d4,e499629a-69ed-46b4-be5d-7b1f2f6a11d4,0,1,52ab6aea-e6a0-43f0-9cc8-f7c9126635cc,52ab6aea-e6a0-43f0-9cc8-f7c9126635cc,0,1,876b23bf-2f48-4916-ad0f-4de8306e1864,876b23bf-2f48-4916-ad0f-4de8306e1864,0,1,e983f539-e369-491e-9cee-510518187870,e983f539-e369-491e-9cee-510518187870,0,1,9a402a9c-a31f-4082-91d5-b4fe7576a5c2,9a402a9c-a31f-4082-91d5-b4fe7576a5c2,0,1,e99a1b17-0e37-489a-bc39-3dd2e23b0861,e99a1b17-0e37-489a-bc39-3dd2e23b0861,0,1,e7c63a25-c804-4bc4-a6f1-81009dd889e2,e7c63a25-c804-4bc4-a6f1-81009dd889e2,0,1,7ccd86cd-4294-4f6c-84f4-98e25e479f4d,7ccd86cd-4294-4f6c-84f4-98e25e479f4d,0,1,70e710c5-42df-465f-a9c5-8345c87e1f19,70e710c5-42df-465f-a9c5-8345c87e1f19,0,1,4c1576c4-b327-4ec1-87bc-662c5aba343b,4c1576c4-b327-4ec1-87bc-662c5aba343b,0,1,0f694ef1-4a97-4aed-ab4b-0b2c18ea7e17,0f694ef1-4a97-4aed-ab4b-0b2c18ea7e17,0,1,14facdfb-9835-4bb6-98a8-5a6ca9a5d2f8,14facdfb-9835-4bb6-98a8-5a6ca9a5d2f8,0,1,4492ac73-eb91-41f8-98f1-54c2b3ad212a,4492ac73-eb91-41f8-98f1-54c2b3ad212a,0,1,869b43fb-968f-4fe0-b945-5030c90a38f2,869b43fb-968f-4fe0-b945-5030c90a38f2,0,1,af071a52-212b-4131-98e6-81f6048a70e6,af071a52-212b-4131-98e6-81f6048a70e6,0,1,37210dde-9a2f-475c-8341-578ac99f0e17,37210dde-9a2f-475c-8341-578ac99f0e17,0,1,e5094d4f-ee61-4142-a97b-d96172350f65,e5094d4f-ee61-4142-a97b-d96172350f65,0,1,3a8fffb6-a732-440c-afb9-d1c699ea53b6,3a8fffb6-a732-440c-afb9-d1c699ea53b6,0,1,b0650787-8ff5-4407-b491-bcdc2f61fd58,b0650787-8ff5-4407-b491-bcdc2f61fd58,0,1,33dd6bba-0044-4e2f-ae9e-c8a26079ab2a,33dd6bba-0044-4e2f-ae9e-c8a26079ab2a,0,1,3f289f67-dfc7-4f2d-90e4-b47aff76ecdb,3f289f67-dfc7-4f2d-90e4-b47aff76ecdb,0,1,9aadad98-69f5-41ce-ad1c-0afd8c610d86,9aadad98-69f5-41ce-ad1c-0afd8c610d86,0,1,706a3db0-9d4f-4c08-91cd-3ccaa6d06d3b,706a3db0-9d4f-4c08-91cd-3ccaa6d06d3b,0,1,3d662173-e19d-4077-9a08-8c8899226e24,3d662173-e19d-4077-9a08-8c8899226e24,0,1,69fd1e6e-7302-4ca8-8419-ec567ae66bef,69fd1e6e-7302-4ca8-8419-ec567ae66bef,0,1,0eee931a-57bb-4844-8e6e-eaca342640a0,0eee931a-57bb-4844-8e6e-eaca342640a0,0,1,20c57e30-5856-4801-9e77-8006471d89f8,20c57e30-5856-4801-9e77-8006471d89f8,0,1,64eff9f4-c57b-40a0-bd83-7e371fd010ce,64eff9f4-c57b-40a0-bd83-7e371fd010ce,0,1,4a3fe393-8aea-4394-8c10-a234f1f191ad,4a3fe393-8aea-4394-8c10-a234f1f191ad,0,1,88893c1e-afb4-4a08-abb2-6da0745b696a,88893c1e-afb4-4a08-abb2-6da0745b696a,0,1,6f9a3d00-d935-4fa6-9fd2-14700226daff,6f9a3d00-d935-4fa6-9fd2-14700226daff,0,1,d792831c-698d-40c6-96c2-dd0ae6f30707,d792831c-698d-40c6-96c2-dd0ae6f30707,0,1,a1d91c5f-1acd-4b46-887e-d06e7260dd20,a1d91c5f-1acd-4b46-887e-d06e7260dd20,0,1,3fd26019-c464-4c73-b18e-0888740b1747,3fd26019-c464-4c73-b18e-0888740b1747,0,1,a21989bd-a57f-4969-be3b-d8b39ead4145,a21989bd-a57f-4969-be3b-d8b39ead4145,0,1,c4aee120-cdbb-4b48-a1c7-99cccbafb120,c4aee120-cdbb-4b48-a1c7-99cccbafb120,0,1,6b3e07d5-9299-4933-b3fa-c3cc5f5aa7c9,6b3e07d5-9299-4933-b3fa-c3cc5f5aa7c9,0,1,a3667b25-7c18-446d-a318-685a4fe4bf89,a3667b25-7c18-446d-a318-685a4fe4bf89,0,1,fd271670-bde6-4351-abec-eb82548c6c98,fd271670-bde6-4351-abec-eb82548c6c98,0,1,498b012b-bb63-490e-8100-1d33dc84b400,498b012b-bb63-490e-8100-1d33dc84b400,0,1,8103f12c-ed50-4052-8117-33b6d11ef620,8103f12c-ed50-4052-8117-33b6d11ef620,0,1,4f8653e4-3f58-4bad-8ded-424fe7b1d18a,4f8653e4-3f58-4bad-8ded-424fe7b1d18a,0,1,799b3dda-fbfc-4dea-a577-30321e64f4d5,799b3dda-fbfc-4dea-a577-30321e64f4d5,0,1,7c7857b6-90e8-4b3f-9902-fd81bf68d133,7c7857b6-90e8-4b3f-9902-fd81bf68d133,0,1,617de19c-bf01-4900-832a-c169e9faeb79,617de19c-bf01-4900-832a-c169e9faeb79,0,1,70b73fd0-f5dc-411e-9bbb-10a538e8281b,70b73fd0-f5dc-411e-9bbb-10a538e8281b,0,1,758f44ad-54da-4f72-accf-0afecc4f4827,758f44ad-54da-4f72-accf-0afecc4f4827,0,1,05ee4a7c-63e6-4587-8be7-e206345e3471,05ee4a7c-63e6-4587-8be7-e206345e3471,0,1,98d5e98b-0382-4b28-a5d9-24392925664a,98d5e98b-0382-4b28-a5d9-24392925664a,0,1,7c424a77-2a83-4a85-8b7d-e8bb6d013c77,7c424a77-2a83-4a85-8b7d-e8bb6d013c77,0,1,ecaba9aa-fca7-42f5-a4fe-d8176cf875b9,ecaba9aa-fca7-42f5-a4fe-d8176cf875b9,0,1,4378ab20-5467-476b-8f04-4b6876efdee6,4378ab20-5467-476b-8f04-4b6876efdee6,0,1,55e47901-c79c-41c5-9d7f-6b6846ed2782,55e47901-c79c-41c5-9d7f-6b6846ed2782,0,1,3c429fe8-e663-4a58-817f-8f8382697dbb,3c429fe8-e663-4a58-817f-8f8382697dbb,0,1,c37be0c3-d2db-4e63-a8cb-7956a5396650,c37be0c3-d2db-4e63-a8cb-7956a5396650,0,1,83180e0d-fc4b-41ec-9a17-5af555a4776f,83180e0d-fc4b-41ec-9a17-5af555a4776f,0,1,7f68e4c1-c4f7-4c6c-8f0a-225e544e07ee,7f68e4c1-c4f7-4c6c-8f0a-225e544e07ee,0,1,f03cdb56-ef3f-461f-91b1-cdcaed2786e8,f03cdb56-ef3f-461f-91b1-cdcaed2786e8,0,1,3e8c6546-416c-4437-8c85-2cf591b4fc3f,3e8c6546-416c-4437-8c85-2cf591b4fc3f,0,1,038e5027-3cc5-4ea2-b0b5-28a7544ad53e,038e5027-3cc5-4ea2-b0b5-28a7544ad53e,0,1,9a0b27db-e4ac-496b-b6de-876b90381527,9a0b27db-e4ac-496b-b6de-876b90381527,0,1,f9c07de6-4765-4088-86af-09172d11ef5c,f9c07de6-4765-4088-86af-09172d11ef5c,0,1,3656d550-60d0-4933-a5d8-537e2d692ef1,3656d550-60d0-4933-a5d8-537e2d692ef1,0,1,a2c4aab7-01da-47d1-9ee6-3d705ed4e19a,a2c4aab7-01da-47d1-9ee6-3d705ed4e19a,0,1,9d89415b-d129-4148-84f2-ebf3755f62e1,9d89415b-d129-4148-84f2-ebf3755f62e1,0,1,4506a66c-7e8f-4fc1-b1e1-7cf02309a77f,4506a66c-7e8f-4fc1-b1e1-7cf02309a77f,0,1,f5d03455-753c-46db-a84a-f027edbe8ab8,f5d03455-753c-46db-a84a-f027edbe8ab8,0,1,805ba666-2a3b-493f-a34e-597f25ea653e,805ba666-2a3b-493f-a34e-597f25ea653e,0,1,f7c98be4-fb69-4b87-bbb1-920212852625,f7c98be4-fb69-4b87-bbb1-920212852625,0,1,59d7388b-8aa0-4f97-b86c-f34fcb08bf70,59d7388b-8aa0-4f97-b86c-f34fcb08bf70,0,1,36b704fc-bf9e-4ad4-aed9-4e6427699815,36b704fc-bf9e-4ad4-aed9-4e6427699815,0,1,c1899918-6087-460f-a7a1-142e4b914838,c1899918-6087-460f-a7a1-142e4b914838,0,1,07589ac7-152c-42a9-b6b8-c520e82349b0,07589ac7-152c-42a9-b6b8-c520e82349b0,0,1,be5f2776-7ecd-485c-9be8-4cbc6f1a76ba,be5f2776-7ecd-485c-9be8-4cbc6f1a76ba,0,1,86e5a214-083e-4907-9cf3-adf0156235de,86e5a214-083e-4907-9cf3-adf0156235de,0,1,4591f2a7-900e-4426-8e3e-50f2b6e02d3a,4591f2a7-900e-4426-8e3e-50f2b6e02d3a,0,1,53b75d76-23a4-45a1-94d6-3581b4187949,53b75d76-23a4-45a1-94d6-3581b4187949,0,1,71e79854-dade-4b5e-b7e4-5a0bc94168e3,71e79854-dade-4b5e-b7e4-5a0bc94168e3,0,1,d299c6a9-38b9-4d03-a480-3d15ede6ef2d,d299c6a9-38b9-4d03-a480-3d15ede6ef2d,0,1,8ddc148a-0bef-4dd8-8391-d98c5fd21a78,8ddc148a-0bef-4dd8-8391-d98c5fd21a78,0,1,accf0864-8bfe-4c40-a555-6ab423594313,accf0864-8bfe-4c40-a555-6ab423594313,0,1,128654ce-708d-4b85-b9fc-1790dc218ff1,128654ce-708d-4b85-b9fc-1790dc218ff1,0,1,9c864776-cf3f-426a-a87c-bf1771f9bdce,9c864776-cf3f-426a-a87c-bf1771f9bdce,0,1,857f4270-760b-4b1f-934c-386fad1eec58,857f4270-760b-4b1f-934c-386fad1eec58,0,1,49f781b8-8787-41de-b334-e9732845f542,49f781b8-8787-41de-b334-e9732845f542,0,1,05c2ac4b-ea1b-44f6-8f83-7b11e344ad46,05c2ac4b-ea1b-44f6-8f83-7b11e344ad46,0,1,214499fa-765a-4dbd-9f1b-a4ec401afc3f,214499fa-765a-4dbd-9f1b-a4ec401afc3f,0,1,5a54f871-2aa1-4cbd-9832-dae5f0c43718,5a54f871-2aa1-4cbd-9832-dae5f0c43718,0,1,e3673a14-8ee3-4642-945a-1858410d73a9,e3673a14-8ee3-4642-945a-1858410d73a9,0,1,2d4ec9be-b843-4c1d-ad1b-41ec3d1b14bf,2d4ec9be-b843-4c1d-ad1b-41ec3d1b14bf,0,1,97b4ad32-9cf1-4f25-9739-b21f4c33b29c,97b4ad32-9cf1-4f25-9739-b21f4c33b29c,0,1,f8ad793a-9362-4d58-94bf-53d6750f2089,f8ad793a-9362-4d58-94bf-53d6750f2089,0,1,29a3d9f3-88f5-4449-b9e2-56b517833726,29a3d9f3-88f5-4449-b9e2-56b517833726,0,1,41de2373-2d3f-4860-a8ab-88cf271ac6e3,41de2373-2d3f-4860-a8ab-88cf271ac6e3,0,1,698fec20-5e18-4ae9-b0bc-1b32a65d1bbc,698fec20-5e18-4ae9-b0bc-1b32a65d1bbc,0,1,e08a44a6-a3b2-49bd-8a47-abaf2631cd01,e08a44a6-a3b2-49bd-8a47-abaf2631cd01,0,1,2dcc72f7-453b-4248-a83e-6f49051bc639,2dcc72f7-453b-4248-a83e-6f49051bc639,0,1,5c248c15-16a0-4b83-9ae0-a828e5cf5a40,5c248c15-16a0-4b83-9ae0-a828e5cf5a40,0,1,fdb841f4-193a-4cd7-8569-37e0a68b970e,fdb841f4-193a-4cd7-8569-37e0a68b970e,0,1,96a3439e-9aa7-40f7-8b58-7d08d378010b,96a3439e-9aa7-40f7-8b58-7d08d378010b,0,1,f6590f9c-0365-4f32-93ce-258e2f8323b0,f6590f9c-0365-4f32-93ce-258e2f8323b0,0,1,c7a9c238-a830-46cc-b1b2-88d62328cd40,c7a9c238-a830-46cc-b1b2-88d62328cd40,0,1,723794c6-a391-4f82-a178-625781a136b2,723794c6-a391-4f82-a178-625781a136b2,0,1,7fd74e2d-7409-4f30-9ade-8d11dbf32a12,7fd74e2d-7409-4f30-9ade-8d11dbf32a12,0,1,8acbacb3-6e01-469e-944d-96d4ecea0587,8acbacb3-6e01-469e-944d-96d4ecea0587,0,1,026d090f-7c6f-4d77-8fe0-ff184dbd86b8,026d090f-7c6f-4d77-8fe0-ff184dbd86b8,0,1,2585cae2-5ebf-400b-8be9-a6207fcaefe3,2585cae2-5ebf-400b-8be9-a6207fcaefe3,0,1,d68abad4-bb5e-4bc5-b60f-2d171549d1d6,d68abad4-bb5e-4bc5-b60f-2d171549d1d6,0,1,f63d85ab-2524-4c7e-9647-0c18833c9c90,f63d85ab-2524-4c7e-9647-0c18833c9c90,0,1,0b81d0cb-e45a-41d7-89ec-ad056a5aa8bc,0b81d0cb-e45a-41d7-89ec-ad056a5aa8bc,0,1,f0dc2d0c-9904-48aa-9690-72a9d46658df,f0dc2d0c-9904-48aa-9690-72a9d46658df,0,1,76d3a71f-8b40-4e3e-9734-d9e998e685bf,76d3a71f-8b40-4e3e-9734-d9e998e685bf,0,1,db2ad80b-08a4-4b1b-8f8b-cf43f49b1b87,db2ad80b-08a4-4b1b-8f8b-cf43f49b1b87,0,1,3356b0cf-fa2c-40ca-8ec2-b3d72451d730,3356b0cf-fa2c-40ca-8ec2-b3d72451d730,0,1,79e0ab1a-228d-4aec-a873-8f379bb8930b,79e0ab1a-228d-4aec-a873-8f379bb8930b,0,1,57f42d7c-749e-4e7d-80c7-3c95da266146,57f42d7c-749e-4e7d-80c7-3c95da266146,0,1,0a87c592-6321-4519-a99e-620a5c1fda04,0a87c592-6321-4519-a99e-620a5c1fda04,0,1,2fd3d940-9254-4303-9d5f-fd334918b32a,2fd3d940-9254-4303-9d5f-fd334918b32a,0,1,e1ffbb33-35b2-450b-9795-15455574752b,e1ffbb33-35b2-450b-9795-15455574752b,0,1,7b817c44-3408-4473-8b09-d28d9afd0115,7b817c44-3408-4473-8b09-d28d9afd0115,0,1,17b38dd8-06ee-4a9e-b698-4d8fefe45864,17b38dd8-06ee-4a9e-b698-4d8fefe45864,0,1,bac41d45-249f-40b4-a013-008e261369c8,bac41d45-249f-40b4-a013-008e261369c8,0,1,84e34b4a-02e8-4676-8b81-771ddf3c2931,84e34b4a-02e8-4676-8b81-771ddf3c2931,0,1,0aa6a024-66ae-4592-87d6-f7cb2a59f906,0aa6a024-66ae-4592-87d6-f7cb2a59f906,0,1,734b4dc5-dc91-4945-a2d7-cefe56a6e0a6,734b4dc5-dc91-4945-a2d7-cefe56a6e0a6,0,1,bb2dcb37-410d-4a6c-9ace-1f04177d6e88,bb2dcb37-410d-4a6c-9ace-1f04177d6e88,0,1,cb6ecc18-a14f-4c3c-a39d-2cd2d1ab4e03,cb6ecc18-a14f-4c3c-a39d-2cd2d1ab4e03,0,1,f71ac535-74a5-4001-a613-455a9e1bf734,f71ac535-74a5-4001-a613-455a9e1bf734,0,1,55a42b83-b6d2-409b-a8ff-7849b08e07ed,55a42b83-b6d2-409b-a8ff-7849b08e07ed,0,1,61889399-ecc2-442c-a790-a8b27a7a540c,61889399-ecc2-442c-a790-a8b27a7a540c,0,1,ecd3a928-3e59-439c-8f58-ba360f2a8b3c,ecd3a928-3e59-439c-8f58-ba360f2a8b3c,0,1,4ee2efbc-bc4a-4b47-bfdb-bb83f108c5bb,4ee2efbc-bc4a-4b47-bfdb-bb83f108c5bb,0,1,d6aed0fd-686c-430d-b884-74494177422e,d6aed0fd-686c-430d-b884-74494177422e,0,1,245ec4aa-ed65-41f7-b0f0-f8085cfc5bef,245ec4aa-ed65-41f7-b0f0-f8085cfc5bef,0,1,3ed64288-8bf0-4049-8d44-1b424f31d40f,3ed64288-8bf0-4049-8d44-1b424f31d40f,0,1,a21cf522-d657-49ba-a198-01ff1de5e3f0,a21cf522-d657-49ba-a198-01ff1de5e3f0,0,1,4dc698da-8471-4b3f-816d-f1467cd2e5f1,4dc698da-8471-4b3f-816d-f1467cd2e5f1,0,1,7ceb2f18-4dae-4b13-a5be-e949be165b4e,7ceb2f18-4dae-4b13-a5be-e949be165b4e,0,1,c4f94f6d-e33f-4226-bf47-c4b544098082,c4f94f6d-e33f-4226-bf47-c4b544098082,0,1,0abca5b8-4974-48aa-bf5d-dbbe2c2ea0e6,0abca5b8-4974-48aa-bf5d-dbbe2c2ea0e6,0,1,4e892154-3279-492c-9eae-124304225c5d,4e892154-3279-492c-9eae-124304225c5d,0,1,53a6ffa4-31f8-4717-9ecc-2852e6e4cce9,53a6ffa4-31f8-4717-9ecc-2852e6e4cce9,0,1,575a135a-6ffd-4ae8-a597-7e584df9bac4,575a135a-6ffd-4ae8-a597-7e584df9bac4,0,1,693a7196-f525-4bd2-a417-e902977f21cb,693a7196-f525-4bd2-a417-e902977f21cb,0,1,9bb39184-08b7-440e-a8f8-5caf0083ba0f,9bb39184-08b7-440e-a8f8-5caf0083ba0f,0,1,d48e817e-f6a4-47e5-a052-35d09e066490,d48e817e-f6a4-47e5-a052-35d09e066490,0,1,091cb921-c7e3-4a5f-97b7-34e625159b9c,091cb921-c7e3-4a5f-97b7-34e625159b9c,0,1,f6118cdd-1dcd-464e-a49d-e95c69466750,f6118cdd-1dcd-464e-a49d-e95c69466750,0,1,39932897-959b-41a6-94ad-61426abfdbd9,39932897-959b-41a6-94ad-61426abfdbd9,0,1,c56ea6f3-1032-4b7a-a20e-e912196da1cd,c56ea6f3-1032-4b7a-a20e-e912196da1cd,0,1,b69b611d-18d3-4e78-8a09-f010bcf9c261,b69b611d-18d3-4e78-8a09-f010bcf9c261,0,1,e8e087c1-9131-4037-8562-8bce8c38f78c,e8e087c1-9131-4037-8562-8bce8c38f78c,0,1,3b1c9126-9b9f-4658-967c-cc9ef5b1000f,3b1c9126-9b9f-4658-967c-cc9ef5b1000f,0,1,6adaef8e-82b6-4664-9748-4f41b170d91a,6adaef8e-82b6-4664-9748-4f41b170d91a,0,1,20d655a7-788c-48bc-83ae-25003106bedb,20d655a7-788c-48bc-83ae-25003106bedb,0,1,7bfb78de-899f-4a4d-a8b2-ebadeccf3921,7bfb78de-899f-4a4d-a8b2-ebadeccf3921,0,1,68a72014-4b2e-4347-aaa7-54d95b8eb919,68a72014-4b2e-4347-aaa7-54d95b8eb919,0,1,a71d9c41-7510-4d38-90df-1034977b8f45,a71d9c41-7510-4d38-90df-1034977b8f45,0,1,25830f5b-27e2-4eff-9728-b21eb498727d,25830f5b-27e2-4eff-9728-b21eb498727d,0,1,379c9295-d0d5-418d-82f3-5ae19985cc53,379c9295-d0d5-418d-82f3-5ae19985cc53,0,1,af02f534-8508-4f9f-bcc1-0c6f3d696971,af02f534-8508-4f9f-bcc1-0c6f3d696971,0,1,dd345cfb-ea0c-4ea8-9b35-22547b000275,dd345cfb-ea0c-4ea8-9b35-22547b000275,0,1,86a871da-3725-43a1-a7c3-98acd187011b,86a871da-3725-43a1-a7c3-98acd187011b,0,1,2447cfeb-d877-4222-8ac2-b0026b85f932,2447cfeb-d877-4222-8ac2-b0026b85f932,0,1,fb94e9cb-1f27-42a6-a701-18bbe5888e70,fb94e9cb-1f27-42a6-a701-18bbe5888e70,0,1,2e26e32e-a0c6-4460-99de-865622202166,2e26e32e-a0c6-4460-99de-865622202166,0,1,c9489a6e-45af-4877-9788-158071571a0a,c9489a6e-45af-4877-9788-158071571a0a,0,1,23959912-f8fc-42bc-9ec2-1d520ebc5dad,23959912-f8fc-42bc-9ec2-1d520ebc5dad,0,1,4770398f-8013-4d43-93ce-ec1165e40c4e,4770398f-8013-4d43-93ce-ec1165e40c4e,0,1,9a706997-90cb-430d-972c-d2bad87c4a79,9a706997-90cb-430d-972c-d2bad87c4a79,0,1,6f661660-b9c4-41d4-99a8-e08006cfe9c8,6f661660-b9c4-41d4-99a8-e08006cfe9c8,0,1,199e79fa-54d6-4748-aaaa-9c55283582a3,199e79fa-54d6-4748-aaaa-9c55283582a3,0,1,5ef026c2-2ef4-45d6-9792-5ba0d298714b,5ef026c2-2ef4-45d6-9792-5ba0d298714b,0,1,45d61391-4cf7-4f45-8775-ada582c42400,45d61391-4cf7-4f45-8775-ada582c42400,0,1,78b2a913-2ab9-455d-85a3-504f0f468468,78b2a913-2ab9-455d-85a3-504f0f468468,0,1,8c7e1080-fbb2-4a9c-b740-b3e9eb996565,8c7e1080-fbb2-4a9c-b740-b3e9eb996565,0,1,560b5b12-4dee-4c69-ab6b-7680757a2797,560b5b12-4dee-4c69-ab6b-7680757a2797,0,1,3cfb1ce0-de42-4914-85c0-807d0c10f77e,3cfb1ce0-de42-4914-85c0-807d0c10f77e,0,1,a27244c2-ac65-423f-afce-42efd288a83d,a27244c2-ac65-423f-afce-42efd288a83d,0,1,d4002184-8e08-4dcc-9070-62f595e82e23,d4002184-8e08-4dcc-9070-62f595e82e23,0,1,62163fda-1a09-4d4f-b290-76ff324042ab,62163fda-1a09-4d4f-b290-76ff324042ab,0,1,f2816dd2-47dd-41e8-9709-6dac1e4f4d21,f2816dd2-47dd-41e8-9709-6dac1e4f4d21,0,1,6e6a1557-06fa-45c0-ad98-c43809553cd7,6e6a1557-06fa-45c0-ad98-c43809553cd7,0,1,179f7436-e328-42b8-9382-19ee6f10c768,179f7436-e328-42b8-9382-19ee6f10c768,0,1,aa89881f-f111-4384-911c-847b04bb56dd,aa89881f-f111-4384-911c-847b04bb56dd,0,1,444d9e3b-c702-4ad6-a929-a220eff0f6e7,444d9e3b-c702-4ad6-a929-a220eff0f6e7,0,1,022c4519-1cdb-45b6-a699-89fd6688999c,022c4519-1cdb-45b6-a699-89fd6688999c,0,1,fb5b79a2-caec-4c6e-a112-27e78a184d5e,fb5b79a2-caec-4c6e-a112-27e78a184d5e,0,1,fa523958-ce1e-42e1-ae00-2dcb401b7eda,fa523958-ce1e-42e1-ae00-2dcb401b7eda,0,1,1518bca2-a004-4566-8991-7c60e6745a49,1518bca2-a004-4566-8991-7c60e6745a49,0,1,ed8618e2-3ce6-4956-856a-9f40279b4da6,ed8618e2-3ce6-4956-856a-9f40279b4da6,0,1,733f6bc2-544d-4fac-bca8-11b981b95a03,733f6bc2-544d-4fac-bca8-11b981b95a03,0,1,0333cd9e-392d-40b2-869d-ad47119e0384,0333cd9e-392d-40b2-869d-ad47119e0384,0,1,82cc8820-0b92-4bb7-b097-7ac79e922f01,82cc8820-0b92-4bb7-b097-7ac79e922f01,0,1,f2267d6c-6972-4621-b677-87798056363b,f2267d6c-6972-4621-b677-87798056363b,0,1,243d201b-3714-4700-b410-c74c9093e6f6,243d201b-3714-4700-b410-c74c9093e6f6,0,1,de3cb50c-ef99-419e-b922-c6a453da6a5b,de3cb50c-ef99-419e-b922-c6a453da6a5b,0,1,d4ca4802-756a-494c-bab3-e77e0777a3fa,d4ca4802-756a-494c-bab3-e77e0777a3fa,0,1,134c1054-8d65-405f-ba3b-5beeca803a72,134c1054-8d65-405f-ba3b-5beeca803a72,0,1,cfa1669b-5310-4171-83fd-4dff3c6ac345,cfa1669b-5310-4171-83fd-4dff3c6ac345,0,1,9ec26d14-b09d-4fd7-9c43-062c0120cf3d,9ec26d14-b09d-4fd7-9c43-062c0120cf3d,0,1,aec7df6a-21a1-495d-b0a9-3769e1069888,aec7df6a-21a1-495d-b0a9-3769e1069888,0,1,463b98bf-b4d4-4edb-995d-0a75ff29b60d,463b98bf-b4d4-4edb-995d-0a75ff29b60d,0,1,317f88a7-12a4-4d21-b637-3050525406f4,317f88a7-12a4-4d21-b637-3050525406f4,0,1,2d9d2319-68fb-436d-b431-98858b88a75a,2d9d2319-68fb-436d-b431-98858b88a75a,0,1,8a0d4f7f-7a80-4e5d-8238-05fc169e0319,8a0d4f7f-7a80-4e5d-8238-05fc169e0319,0,1,8e9f9baf-8d12-46cc-915f-f6f290af5512,8e9f9baf-8d12-46cc-915f-f6f290af5512,0,1,5808331f-9ab4-4a23-a592-1f65087f3214,5808331f-9ab4-4a23-a592-1f65087f3214,0,1,9316738d-3d38-4068-818e-a001355b19fb,9316738d-3d38-4068-818e-a001355b19fb,0,1,d86d766f-021a-4c11-b9e8-403af08918cc,d86d766f-021a-4c11-b9e8-403af08918cc,0,1,2cedfef0-5d93-475a-b2dd-ee36e553e6e1,2cedfef0-5d93-475a-b2dd-ee36e553e6e1,0,1,29200d04-d7da-435a-89e6-858c11a1a98c,29200d04-d7da-435a-89e6-858c11a1a98c,0,1,8e5f6c70-04b3-46a1-94ef-82c9f6019f8f,8e5f6c70-04b3-46a1-94ef-82c9f6019f8f,0,1,6c119ef2-d24b-4c3d-ad07-611bed89cab1,6c119ef2-d24b-4c3d-ad07-611bed89cab1,0,1,13b1cb1f-88df-4ff8-b4cc-0473e4f96005,13b1cb1f-88df-4ff8-b4cc-0473e4f96005,0,1,0e861ad8-6fa3-4b0f-a9b0-6c91df1dfc6b,0e861ad8-6fa3-4b0f-a9b0-6c91df1dfc6b,0,1,27df6c22-85d7-4cb6-be19-82af76c84bf9,27df6c22-85d7-4cb6-be19-82af76c84bf9,0,1,77bd95d6-3cd5-4b67-a0b6-72d24243fbc2,77bd95d6-3cd5-4b67-a0b6-72d24243fbc2,0,1,0be7f905-53b8-4bb1-8e37-dcc142e508c5,0be7f905-53b8-4bb1-8e37-dcc142e508c5,0,1,4ec242e0-75d1-4bf7-be18-783e7aa4f236,4ec242e0-75d1-4bf7-be18-783e7aa4f236,0,1,e02b1366-9d7a-462f-86a1-436bbf4532ff,e02b1366-9d7a-462f-86a1-436bbf4532ff,0,1,40ee729c-c317-4a1c-b985-5f7e4e1e20fb,40ee729c-c317-4a1c-b985-5f7e4e1e20fb,0,1,2feb35c0-b046-4086-a2ce-ccc462fc6e9c,2feb35c0-b046-4086-a2ce-ccc462fc6e9c,0,1,8811cc64-99d9-4f13-8309-c29965783f5a,8811cc64-99d9-4f13-8309-c29965783f5a,0,1,7c737071-e850-4a3f-8942-697ef52a8ecc,7c737071-e850-4a3f-8942-697ef52a8ecc,0,1,62eff222-7b74-4cab-9138-880db1f05147,62eff222-7b74-4cab-9138-880db1f05147,0,1,39c6c277-cfc6-4e8a-8e7f-afcff55f0511,39c6c277-cfc6-4e8a-8e7f-afcff55f0511,0,1,860f8893-22fe-4b13-adb1-24e1ea8c6544,860f8893-22fe-4b13-adb1-24e1ea8c6544,0,1,95266e9f-073f-4de3-83c6-cc0d9ee9334f,95266e9f-073f-4de3-83c6-cc0d9ee9334f,0,1,21b8ac8d-75ca-481c-8e85-01bc2029f0c0,21b8ac8d-75ca-481c-8e85-01bc2029f0c0,0,1,d5012e69-89bc-40af-8e4f-377a042854ee,d5012e69-89bc-40af-8e4f-377a042854ee,0,1,02f79fd8-5315-4c90-b520-db67dcb6e371,02f79fd8-5315-4c90-b520-db67dcb6e371,0,1,9bb52788-4a3a-48b5-a551-5ca753b6c059,9bb52788-4a3a-48b5-a551-5ca753b6c059,0,1,4fb5004f-3cd9-44c4-a44b-d235cccf9e9c,4fb5004f-3cd9-44c4-a44b-d235cccf9e9c,0,1,872a0c47-fab5-4a54-8ab9-23940bbdefbb,872a0c47-fab5-4a54-8ab9-23940bbdefbb,0,1,7428a626-3fbc-4f2c-a3dd-f14e8d90c00b,7428a626-3fbc-4f2c-a3dd-f14e8d90c00b,0,1,2f20bff4-9201-4f36-9e74-eba4d9b3c59a,2f20bff4-9201-4f36-9e74-eba4d9b3c59a,0,1,b6c94efd-5994-4c4c-a641-b062ecc38b65,b6c94efd-5994-4c4c-a641-b062ecc38b65,0,1,98501228-7f0e-45a3-b58f-4c654f393f80,98501228-7f0e-45a3-b58f-4c654f393f80,0,1,502384c9-edb7-451a-b7ea-de006f657a6e,502384c9-edb7-451a-b7ea-de006f657a6e,0,1,4e1a4fe0-dca4-40ba-9369-73be303a4aef,4e1a4fe0-dca4-40ba-9369-73be303a4aef,0,1,329906a0-0b61-4f3f-8cd0-f06a78e8fe5f,329906a0-0b61-4f3f-8cd0-f06a78e8fe5f,0,1,840e0b1b-a599-4c5f-8eaa-7f7e4f2e55a4,840e0b1b-a599-4c5f-8eaa-7f7e4f2e55a4,0,1,1d06a9e4-e637-4219-a81c-64f8ec1b91a4,1d06a9e4-e637-4219-a81c-64f8ec1b91a4,0,1,50968921-76f3-4108-835a-96b153671c8d,50968921-76f3-4108-835a-96b153671c8d,0,1,b773f510-1485-4886-9071-afcbf49ff856,b773f510-1485-4886-9071-afcbf49ff856,0,1,964403f2-0a87-49e1-b183-dbe3624e3805,964403f2-0a87-49e1-b183-dbe3624e3805,0,1,01579044-5659-4a73-a989-c52cfabaae66,01579044-5659-4a73-a989-c52cfabaae66,0,1,9b8509e8-8262-4e6a-b2f3-a0df8f49e2c5,9b8509e8-8262-4e6a-b2f3-a0df8f49e2c5,0,1,911baaa1-a4de-4558-b00e-51644144a762,911baaa1-a4de-4558-b00e-51644144a762,0,1,8a8ad123-c01a-440a-bd01-1c0da72cf2eb,8a8ad123-c01a-440a-bd01-1c0da72cf2eb,0,1,ca4ef957-36c2-43b9-8ff7-e2b7ee58cde5,ca4ef957-36c2-43b9-8ff7-e2b7ee58cde5,0,1,4e036eff-92a8-4010-89b2-ed949c123311,4e036eff-92a8-4010-89b2-ed949c123311,0,1,38160114-dc22-4d0b-86a5-d650f4756932,38160114-dc22-4d0b-86a5-d650f4756932,0,1,d49411b4-5f6d-48c5-b4f8-fdfbd1b73317,d49411b4-5f6d-48c5-b4f8-fdfbd1b73317,0,1,8b3da21b-ea3f-47cf-af48-15b886b21f20,8b3da21b-ea3f-47cf-af48-15b886b21f20,0,1,32c4750b-0096-4bbc-8dcd-c1f717734233,32c4750b-0096-4bbc-8dcd-c1f717734233,0,1,be6740b1-1f57-4c01-a67a-d48152931dc8,be6740b1-1f57-4c01-a67a-d48152931dc8,0,1,40fd038d-a93a-4be7-9221-d8ae83350ca0,40fd038d-a93a-4be7-9221-d8ae83350ca0,0,1,e9fcabef-5067-477b-8cb0-1bf3ab8161c5,e9fcabef-5067-477b-8cb0-1bf3ab8161c5,0,1,29adc9e5-a994-48ab-a5a1-919d01119c3a,29adc9e5-a994-48ab-a5a1-919d01119c3a,0,1,c47ffce7-c905-4e88-8b1f-156f47047ccd,c47ffce7-c905-4e88-8b1f-156f47047ccd,0,1,e1755eed-88cf-42c1-83e4-f9047f2c30bf,e1755eed-88cf-42c1-83e4-f9047f2c30bf,0,1,c6ec9d48-9131-4735-9cf7-b498705a57e4,c6ec9d48-9131-4735-9cf7-b498705a57e4,0,1,865d76f7-db4a-4fa2-8e1c-3ecbc2d8faf4,865d76f7-db4a-4fa2-8e1c-3ecbc2d8faf4,0,1,706c421a-74ce-4985-9443-b4a2032481f6,706c421a-74ce-4985-9443-b4a2032481f6,0,1,64da4c24-4aaf-42c8-8595-7f60ff3bc344,64da4c24-4aaf-42c8-8595-7f60ff3bc344,0,1,fb9577e1-00d9-4d52-8de9-23914929a683,fb9577e1-00d9-4d52-8de9-23914929a683,0,1,ffd62a16-f2b4-4e3a-8849-15b957a3d1a1,ffd62a16-f2b4-4e3a-8849-15b957a3d1a1,0,1,529253ae-9c92-4426-b150-8444ba622f89,529253ae-9c92-4426-b150-8444ba622f89,0,1,06a1955a-2ef0-4607-9dcb-a480a7951af7,06a1955a-2ef0-4607-9dcb-a480a7951af7,0,1,6f8fcc96-bfed-444a-908d-95c5b1c64972,6f8fcc96-bfed-444a-908d-95c5b1c64972,0,1,97ce4bf2-6580-4f27-8b5d-d60b66a09c9e,97ce4bf2-6580-4f27-8b5d-d60b66a09c9e,0,1,a84c89d9-2cfe-405f-9bb0-5392b3171695,a84c89d9-2cfe-405f-9bb0-5392b3171695,0,1,070ecbfe-88d6-4de8-b236-e7eedbc3ebc6,070ecbfe-88d6-4de8-b236-e7eedbc3ebc6,0,1,91e26e73-027f-4a10-9083-e5182e768723,91e26e73-027f-4a10-9083-e5182e768723,0,1,e55680f4-cb1a-4cdb-88f0-5d82f43c1d05,e55680f4-cb1a-4cdb-88f0-5d82f43c1d05,0,1,54433668-4391-4dea-8baf-43e9aa1d624e,54433668-4391-4dea-8baf-43e9aa1d624e,0,1,fc309616-060a-42c3-8401-dfef0f359bc5,fc309616-060a-42c3-8401-dfef0f359bc5,0,1,b968398d-973d-4643-95a5-16633d7e48bc,b968398d-973d-4643-95a5-16633d7e48bc,0,1,b9507495-2536-4895-b68b-62acd74343f6,b9507495-2536-4895-b68b-62acd74343f6,0,1,e05a14cc-9051-4c38-9725-19856e36d260,e05a14cc-9051-4c38-9725-19856e36d260,0,1,8154aa0f-ecd6-4ab0-9498-56ef25486a55,8154aa0f-ecd6-4ab0-9498-56ef25486a55,0,1,9d6429f7-23da-4596-822a-04818deb3088,9d6429f7-23da-4596-822a-04818deb3088,0,1,a1b67bd2-3220-497d-b2b4-bd0ea62d9111,a1b67bd2-3220-497d-b2b4-bd0ea62d9111,0,1,acb533e7-4610-4f92-b548-1a4ff1a423d4,acb533e7-4610-4f92-b548-1a4ff1a423d4,0,1,8697999d-9cdb-43d8-979b-3f283daffdd3,8697999d-9cdb-43d8-979b-3f283daffdd3,0,1,23378687-249c-4ec6-99b8-b13fb04b8643,23378687-249c-4ec6-99b8-b13fb04b8643,0,1,66315b12-7abf-46e0-a994-894b827b1301,66315b12-7abf-46e0-a994-894b827b1301,0,1,dba174fb-8392-4451-8069-ae8145658e34,dba174fb-8392-4451-8069-ae8145658e34,0,1,ff5dd4f8-8a16-4a41-875d-c4f7c37ae67a,ff5dd4f8-8a16-4a41-875d-c4f7c37ae67a,0,1,4435d99d-a1df-43e6-97ab-5e651017c61d,4435d99d-a1df-43e6-97ab-5e651017c61d,0,1,2398d69d-ecdd-4d34-bdae-34ed5507a61e,2398d69d-ecdd-4d34-bdae-34ed5507a61e,0,1,a707035a-0172-4b55-b589-fa4a8be9b596,a707035a-0172-4b55-b589-fa4a8be9b596,0,1,c4456e94-8c76-49b1-b85a-433e0f65bdb0,c4456e94-8c76-49b1-b85a-433e0f65bdb0,0,1,4a347209-3a07-48ea-b407-6ee37f1d69f2,4a347209-3a07-48ea-b407-6ee37f1d69f2,0,1,e0a3fab1-3fe9-4927-840e-f983f72bdfc1,e0a3fab1-3fe9-4927-840e-f983f72bdfc1,0,1,df31eee8-387d-40d1-98df-1f7d8176b50e,df31eee8-387d-40d1-98df-1f7d8176b50e,0,1,c8364283-5525-4bef-8e96-abced54c6a4a,c8364283-5525-4bef-8e96-abced54c6a4a,0,1,40e2fb30-bb03-4178-a8eb-ddf48337ef23,40e2fb30-bb03-4178-a8eb-ddf48337ef23,0,1,1026fbcb-acd8-40dc-b638-6e02c6378c55,1026fbcb-acd8-40dc-b638-6e02c6378c55,0,1,dc9e2ba6-f4f1-493f-9054-cac633f239dd,dc9e2ba6-f4f1-493f-9054-cac633f239dd,0,1,7b95d0b1-c7b2-43b4-9119-320cb8912032,7b95d0b1-c7b2-43b4-9119-320cb8912032,0,1,004582b7-00aa-405e-8e24-ce76c945edae,004582b7-00aa-405e-8e24-ce76c945edae,0,1,97a9b005-a836-4308-8e63-0e00f6890baa,97a9b005-a836-4308-8e63-0e00f6890baa,0,1,98c34ada-0b78-41db-9183-6d7b9e466bde,98c34ada-0b78-41db-9183-6d7b9e466bde,0,1,fb688339-918e-40a1-8721-a26f3077973e,fb688339-918e-40a1-8721-a26f3077973e,0,1,1f56de63-81eb-4de5-ad20-01cb6f84e5b0,1f56de63-81eb-4de5-ad20-01cb6f84e5b0,0,1,079ba95c-8293-47e2-b8bd-7acf73c2d880,079ba95c-8293-47e2-b8bd-7acf73c2d880,0,1,fbe1dcf7-c11d-4395-ab3a-c2f986c25419,fbe1dcf7-c11d-4395-ab3a-c2f986c25419,0,1,a5f264a8-a547-4653-abb1-eb1666d527dc,a5f264a8-a547-4653-abb1-eb1666d527dc,0,1,dabae379-6356-497a-aab5-cf102f16a72a,dabae379-6356-497a-aab5-cf102f16a72a,0,1,337370e0-1021-4887-9d38-6c3833c90a5b,337370e0-1021-4887-9d38-6c3833c90a5b,0,1,0ff569eb-d5b8-4ab1-ac77-5e5afd6d44d0,0ff569eb-d5b8-4ab1-ac77-5e5afd6d44d0,0,1,d6f01f1c-801b-4776-ae11-48236103f76a,d6f01f1c-801b-4776-ae11-48236103f76a,0,1,b6fe68cf-657b-40e0-af2e-247607a86519,b6fe68cf-657b-40e0-af2e-247607a86519,0,1,9b0b8191-94b7-428f-be86-e9e4cd24a72f,9b0b8191-94b7-428f-be86-e9e4cd24a72f,0,1,a923dbcb-7146-4445-ad17-f4a32c16a837,a923dbcb-7146-4445-ad17-f4a32c16a837,0,1,41dec792-1d1a-4e06-a54b-a86193b98225,41dec792-1d1a-4e06-a54b-a86193b98225,0,1,52257beb-3e0c-4681-b430-9690398cd13a,52257beb-3e0c-4681-b430-9690398cd13a,0,1,135e637c-c28e-4547-8da2-d897dca54cb2,135e637c-c28e-4547-8da2-d897dca54cb2,0,1,245be006-6d0a-4c9e-97c5-f3c2ddd734f7,245be006-6d0a-4c9e-97c5-f3c2ddd734f7,0,1,a0b74de9-06b5-416c-9dd0-2f9dc209fe91,a0b74de9-06b5-416c-9dd0-2f9dc209fe91,0,1,5356543a-db9a-4265-b83f-31d45544c8e6,5356543a-db9a-4265-b83f-31d45544c8e6,0,1,857dd311-9c6d-4dba-82d8-283d7b05b09e,857dd311-9c6d-4dba-82d8-283d7b05b09e,0,1,1055d15b-8cb5-4ff0-a526-7fd20a08a96c,1055d15b-8cb5-4ff0-a526-7fd20a08a96c,0,1,af88ea84-5742-4c9f-9a02-6d0f25186f72,af88ea84-5742-4c9f-9a02-6d0f25186f72,0,1,79ad09ba-875a-46bd-9cd9-9d084bf4f6ea,79ad09ba-875a-46bd-9cd9-9d084bf4f6ea,0,1,1a4ed7cf-3294-4a5c-9650-75b61d6b2531,1a4ed7cf-3294-4a5c-9650-75b61d6b2531,0,1,872521e3-413c-45ac-a6ea-39fe1324bae8,872521e3-413c-45ac-a6ea-39fe1324bae8,0,1,81ef02df-498d-4af0-8254-dc6730cbf140,81ef02df-498d-4af0-8254-dc6730cbf140,0,1,bcbdba9e-0b29-4ea7-a7d5-1de819bf86ec,bcbdba9e-0b29-4ea7-a7d5-1de819bf86ec,0,1,fe926c88-d792-4db3-abcf-3c94dfdcc407,fe926c88-d792-4db3-abcf-3c94dfdcc407,0,1,e0c51555-1614-4aa7-a075-c5e1251579ba,e0c51555-1614-4aa7-a075-c5e1251579ba,0,1,cb65fbad-69a0-47d8-b4a9-da49274c3eb7,cb65fbad-69a0-47d8-b4a9-da49274c3eb7,0,1,51363236-c8eb-4eb7-9692-5c18edc9a5a8,51363236-c8eb-4eb7-9692-5c18edc9a5a8,0,1,402f2fe0-4d08-4701-9c8f-0c2bb75815ef,402f2fe0-4d08-4701-9c8f-0c2bb75815ef,0,1,8cad6cfd-91d0-4563-800a-d60c8a1b6a03,8cad6cfd-91d0-4563-800a-d60c8a1b6a03,0,1,2902460a-ed86-41cf-8e8f-895adab9a72f,2902460a-ed86-41cf-8e8f-895adab9a72f,0,1,c4968b4e-0715-43a5-92ad-c8cd276fbf7b,c4968b4e-0715-43a5-92ad-c8cd276fbf7b,0,1,f82d5bd6-4c74-4c23-978c-565aae3d752a,f82d5bd6-4c74-4c23-978c-565aae3d752a,0,1,7fba41a5-4faa-412b-b367-b30ced0314c0,7fba41a5-4faa-412b-b367-b30ced0314c0,0,1,98422d20-9a71-40e4-966e-6958d44eaefb,98422d20-9a71-40e4-966e-6958d44eaefb,0,1,37333d0b-3589-4b8b-bf6c-e605e0287b66,37333d0b-3589-4b8b-bf6c-e605e0287b66,0,1,1813c469-da20-46a6-8947-6815b66f64c1,1813c469-da20-46a6-8947-6815b66f64c1,0,1,ad083c26-7461-4e94-b524-0174242fbd91,ad083c26-7461-4e94-b524-0174242fbd91,0,1,5ce39370-f918-493f-bb24-53346b6fd836,5ce39370-f918-493f-bb24-53346b6fd836,0,1,84f22fd2-e0d0-42ce-8628-1b13c021a4cb,84f22fd2-e0d0-42ce-8628-1b13c021a4cb,0,1,0e3d2750-bb4c-42b9-9829-60f1480ced9c,0e3d2750-bb4c-42b9-9829-60f1480ced9c,0,1,d1b6c5e8-7625-43aa-bb11-943c9bfa01b7,d1b6c5e8-7625-43aa-bb11-943c9bfa01b7,0,1,dad11c2e-08fc-4a6b-8829-8be6c64c15fc,dad11c2e-08fc-4a6b-8829-8be6c64c15fc,0,1,a76b1fd1-ba00-40e6-8756-f17fee449818,a76b1fd1-ba00-40e6-8756-f17fee449818,0,1,5c913626-48d1-4e0a-a423-64078ce59c7b,5c913626-48d1-4e0a-a423-64078ce59c7b,0,1,0a4e6b7a-b380-4547-bc3c-5d6895a5d19a,0a4e6b7a-b380-4547-bc3c-5d6895a5d19a,0,1,7b0ec304-1904-413e-a9c6-ff62e87107dd,7b0ec304-1904-413e-a9c6-ff62e87107dd,0,1,d4dd8c96-914d-496f-b735-ef85ec473605,d4dd8c96-914d-496f-b735-ef85ec473605,0,1,62517db4-59e6-4945-bcd6-b3f1845572bf,62517db4-59e6-4945-bcd6-b3f1845572bf,0,1,a6a9dd40-24cd-4d40-a12d-44f94f8c05a7,a6a9dd40-24cd-4d40-a12d-44f94f8c05a7,0,1,f0f72149-0e7f-441a-b70d-8f47d4977927,f0f72149-0e7f-441a-b70d-8f47d4977927,0,1,776efc3e-ac27-4550-bafd-6e91aa987af2,776efc3e-ac27-4550-bafd-6e91aa987af2,0,1,9f478c85-b72c-40ae-aa08-7ddf73b5b15c,9f478c85-b72c-40ae-aa08-7ddf73b5b15c,0,1,cc438366-85ea-48be-8b74-d05cddb1fc51,cc438366-85ea-48be-8b74-d05cddb1fc51,0,1,4688fd3b-4a92-4ed8-b111-0cf22a729b1c,4688fd3b-4a92-4ed8-b111-0cf22a729b1c,0,1,92029d1f-0472-4aaa-8fd6-9fb3c3cf414e,92029d1f-0472-4aaa-8fd6-9fb3c3cf414e,0,1,3271b800-1825-422f-97bb-757baf403e90,3271b800-1825-422f-97bb-757baf403e90,0,1,6fd6efc1-facc-4ece-a5b3-3dce6acca81d,6fd6efc1-facc-4ece-a5b3-3dce6acca81d,0,1,4ee82868-7a20-4c3a-91f9-42a6bf53ac37,4ee82868-7a20-4c3a-91f9-42a6bf53ac37,0,1,a040c756-4687-4bfd-a690-b122d3c490e5,a040c756-4687-4bfd-a690-b122d3c490e5,0,1,bd5940d5-13fd-4f59-bb6c-614f93f9c8e4,bd5940d5-13fd-4f59-bb6c-614f93f9c8e4,0,1,961a9801-3956-4ea0-b0d3-908f09bf4929,961a9801-3956-4ea0-b0d3-908f09bf4929,0,1,6fac5c14-e126-4342-9078-edf1d0efcbf2,6fac5c14-e126-4342-9078-edf1d0efcbf2,0,1,0a3325a1-21c4-4997-882f-4ac2edc175f0,0a3325a1-21c4-4997-882f-4ac2edc175f0,0,1,f0620d5a-e1fe-419f-af37-e0f462f97e8d,f0620d5a-e1fe-419f-af37-e0f462f97e8d,0,1,3e2f2ae1-c809-43fc-8276-b0a16a92858c,3e2f2ae1-c809-43fc-8276-b0a16a92858c,0,1,b58942ca-1367-4e1d-b5b4-7d973d0fecd8,b58942ca-1367-4e1d-b5b4-7d973d0fecd8,0,1,1a7c7427-bead-4655-9dd6-df6e722663c5,1a7c7427-bead-4655-9dd6-df6e722663c5,0,1,3ad08f4a-6202-4099-b6cc-bc116e6731a0,3ad08f4a-6202-4099-b6cc-bc116e6731a0,0,1,fd96c8ab-602a-4735-b168-52b501e80351,fd96c8ab-602a-4735-b168-52b501e80351,0,1,b1dc619d-8d91-4f7a-aa50-1d07ff9aebdc,b1dc619d-8d91-4f7a-aa50-1d07ff9aebdc,0,1,370f0c75-d2c5-4be5-a633-4bcc77998ece,370f0c75-d2c5-4be5-a633-4bcc77998ece,0,1,f80b505f-b4ff-45fb-bd88-74b274ae9d2b,f80b505f-b4ff-45fb-bd88-74b274ae9d2b,0,1,2139532c-f6cb-4393-936e-cc912e5adca9,2139532c-f6cb-4393-936e-cc912e5adca9,0,1,755c3eca-4956-4a44-9b38-c11dae00b87f,755c3eca-4956-4a44-9b38-c11dae00b87f,0,1,f57c558c-2c94-4b9d-8697-448d0548ab1a,f57c558c-2c94-4b9d-8697-448d0548ab1a,0,1,a310c09f-4d3a-4d3a-9ad5-7a5735a33a1d,a310c09f-4d3a-4d3a-9ad5-7a5735a33a1d,0,1,c32db021-eca1-4b67-aa85-3d6e28c51b53,c32db021-eca1-4b67-aa85-3d6e28c51b53,0,1,e9ed0ee4-3fbe-4093-9078-cb265ed6842c,e9ed0ee4-3fbe-4093-9078-cb265ed6842c,0,1,02466dcf-02a1-4853-814f-a913a9baba45,02466dcf-02a1-4853-814f-a913a9baba45,0,1,c4a40dc9-b619-4219-9d9a-e11f49a14fb1,c4a40dc9-b619-4219-9d9a-e11f49a14fb1,0,1,62b75eb2-42e1-4484-a77f-b676dd36f3d4,62b75eb2-42e1-4484-a77f-b676dd36f3d4,0,1,5e28e22a-dd6e-4703-92bd-13f5cb0dc023,5e28e22a-dd6e-4703-92bd-13f5cb0dc023,0,1,856510ee-74f5-44e9-a3c0-1c60cfb7a787,856510ee-74f5-44e9-a3c0-1c60cfb7a787,0,1,28b761c6-c286-4125-a4ed-da602e49950f,28b761c6-c286-4125-a4ed-da602e49950f,0,1,4ac66a22-c736-4e06-a8aa-ef4a71788c65,4ac66a22-c736-4e06-a8aa-ef4a71788c65,0,1,9cfe9281-8840-4077-824d-a2c9cbb0b730,9cfe9281-8840-4077-824d-a2c9cbb0b730,0,1,76389fa9-b9e0-492e-9c93-24b5f3bf094c,76389fa9-b9e0-492e-9c93-24b5f3bf094c,0,1,23e3de37-9315-45e6-bbfd-60aae28c25ae,23e3de37-9315-45e6-bbfd-60aae28c25ae,0,1,a9957f43-8b6f-4d98-a2d8-77b78047494c,a9957f43-8b6f-4d98-a2d8-77b78047494c,0,1,e470e15d-1b06-43cb-a9f9-ba489e2f596f,e470e15d-1b06-43cb-a9f9-ba489e2f596f,0,1,0408002c-9255-43a2-8022-82f02ee0e8f4,0408002c-9255-43a2-8022-82f02ee0e8f4,0,1,88f44c9b-216d-4d7e-bc88-1e6b253ed01e,88f44c9b-216d-4d7e-bc88-1e6b253ed01e,0,1,1851afd4-5324-45c1-b754-54e65943f945,1851afd4-5324-45c1-b754-54e65943f945,0,1,bc5eca9b-32d8-44e0-a127-8ad1f47d7957,bc5eca9b-32d8-44e0-a127-8ad1f47d7957,0,1,6e5307ea-8fbf-4177-bcc8-f163a6ce1b40,6e5307ea-8fbf-4177-bcc8-f163a6ce1b40,0,1,0fa77ef7-a836-4459-9bca-6010d0bdfc7f,0fa77ef7-a836-4459-9bca-6010d0bdfc7f,0,1,c322dc4a-30f3-4d23-9824-4a01c496408d,c322dc4a-30f3-4d23-9824-4a01c496408d,0,1,dcff004c-1b61-4a19-b977-ea21bf688614,dcff004c-1b61-4a19-b977-ea21bf688614,0,0,0,1,0,0,0,1,0,1,0,1,1,1,1} \ No newline at end of file diff --git a/SSL/src/Constants/ПараметрыБазовойФункциональности/ValueManagerModule.bsl b/SSL/src/Constants/ПараметрыБазовойФункциональности/ValueManagerModule.bsl deleted file mode 100644 index e69de29bb..000000000 diff --git a/SSL/src/Constants/ПараметрыБазовойФункциональности/ПараметрыБазовойФункциональности.mdo b/SSL/src/Constants/ПараметрыБазовойФункциональности/ПараметрыБазовойФункциональности.mdo deleted file mode 100644 index dea311495..000000000 --- a/SSL/src/Constants/ПараметрыБазовойФункциональности/ПараметрыБазовойФункциональности.mdo +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - ПараметрыБазовойФункциональности - - ru - Параметры базовой функциональности - - - ValueStorage - - - - Managed - diff --git a/SSL/src/Constants/ПараметрыОграниченияДоступа/ValueManagerModule.bsl b/SSL/src/Constants/ПараметрыОграниченияДоступа/ValueManagerModule.bsl index 280fe6b7e..63bc8dec3 100644 --- a/SSL/src/Constants/ПараметрыОграниченияДоступа/ValueManagerModule.bsl +++ b/SSL/src/Constants/ПараметрыОграниченияДоступа/ValueManagerModule.bsl @@ -296,8 +296,7 @@ |необходимый для перехода на новые версии программы |не указан в определяемом типе ""Значение доступа"".'"); - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - Параметры.ЗаголовокОшибки + ОписаниеОшибки); + ВызватьИсключение Параметры.ЗаголовокОшибки + ОписаниеОшибки; КонецЕсли; Возврат ОбщегоНазначения.ФиксированныеДанные(СвойстваВидовДоступа); diff --git a/SSL/src/Constants/ПараметрыРаботыПользователей/ValueManagerModule.bsl b/SSL/src/Constants/ПараметрыРаботыПользователей/ValueManagerModule.bsl index 96f7f3462..c01ccbd69 100644 --- a/SSL/src/Constants/ПараметрыРаботыПользователей/ValueManagerModule.bsl +++ b/SSL/src/Constants/ПараметрыРаботыПользователей/ValueManagerModule.bsl @@ -19,10 +19,7 @@ УстановитьМонопольныйРежим(Истина); КонецЕсли; - НеразделенныеДанныеДоступныеДляИзменения = НеразделенныеДанныеДоступныеДляИзменения(); - - НедоступныеРолиПоТипамПользователей = НедоступныеРолиПоТипамПользователей( - НеразделенныеДанныеДоступныеДляИзменения.Таблица); + НедоступныеРолиПоТипамПользователей = НедоступныеРолиПоТипамПользователей(); ВсеРоли = ВсеРоли(); @@ -37,34 +34,6 @@ Параметры = СтандартныеПодсистемыСервер.ПараметрыРаботыПрограммы( "ПараметрыРаботыПользователей"); - // Проверка и обновление параметра НеразделенныеДанныеДоступныеДляИзменения. - Сохраненные = Неопределено; - - Если Параметры.Свойство("НеразделенныеДанныеДоступныеДляИзменения") Тогда - Сохраненные = Параметры.НеразделенныеДанныеДоступныеДляИзменения; - - Если НЕ ОбщегоНазначения.ДанныеСовпадают( - НеразделенныеДанныеДоступныеДляИзменения.ПоРолям, Сохраненные) Тогда - - Сохраненные = Неопределено; - КонецЕсли; - КонецЕсли; - - Если Сохраненные = Неопределено Тогда - ЕстьИзменения = Истина; - Если ТолькоПроверка Тогда - ЗафиксироватьТранзакцию(); - Возврат; - КонецЕсли; - СтандартныеПодсистемыСервер.УстановитьПараметрРаботыПрограммы( - "ПараметрыРаботыПользователей", - "НеразделенныеДанныеДоступныеДляИзменения", - НеразделенныеДанныеДоступныеДляИзменения.ПоРолям); - КонецЕсли; - - СтандартныеПодсистемыСервер.ПодтвердитьОбновлениеПараметраРаботыПрограммы( - "ПараметрыРаботыПользователей", "НеразделенныеДанныеДоступныеДляИзменения"); - // Проверка и обновление параметра НедоступныеРолиПоТипамПользователей. Сохраненные = Неопределено; @@ -138,10 +107,12 @@ #Область СлужебныеПроцедурыИФункции -Функция НедоступныеРолиПоТипамПользователей(НеразделенныеДанныеДоступныеДляИзменения) +Функция НедоступныеРолиПоТипамПользователей() НедоступныеПрава = НедоступныеПраваПоТипамПользователей(); РазрешеноИзменениеОбщихДанных = РазрешеноИзменениеОбщихДанных(); + НеразделенныеДанныеДоступныеДляИзменения = НеразделенныеДанныеДоступныеДляИзменения(); + НедоступныеРолиПоТипамПользователей = Новый Соответствие; @@ -192,15 +163,22 @@ // Возвращает таблицу полных имен неразделенных объектов метаданных и // соответствующих им наборов прав доступа. // -// Параметры: -// ИмяРоли - Строка. -// // Возвращаемое значение: -// ТаблицаЗначений с колонками: -// Имя - Строка - Полное имя объекта метаданных. -// Право - Строка - Имя права доступа. +// ТаблицаЗначений с колонками: +// * Роль - Строка - Имя роли. +// * Объект - Строка - Полное имя объекта метаданных. +// * Право - Строка - Имя права доступа. // -Функция НеразделенныеДанныеДоступныеДляИзменения() +Функция НеразделенныеДанныеДоступныеДляИзменения() Экспорт + + ОбщаяТаблица = Новый ТаблицаЗначений; + ОбщаяТаблица.Колонки.Добавить("Роль", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); + ОбщаяТаблица.Колонки.Добавить("Объект", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); + ОбщаяТаблица.Колонки.Добавить("Право", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); + + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.БазоваяФункциональностьВМоделиСервиса") Тогда + Возврат ОбщаяТаблица; + КонецЕсли; ВидыМетаданных = Новый Массив; ВидыМетаданных.Добавить(Новый Структура("Вид, Ссылочный" , Метаданные.ПланыОбмена, Истина)); @@ -223,76 +201,53 @@ ПроверяемыеПрава.Добавить(Новый Структура("Имя, Ссылочное", "Добавление", Истина)); ПроверяемыеПрава.Добавить(Новый Структура("Имя, Ссылочное", "Удаление", Истина)); - ОбщаяТаблица = Новый ТаблицаЗначений; - ОбщаяТаблица.Колонки.Добавить("Роль", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); - ОбщаяТаблица.Колонки.Добавить("Объект", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); - ОбщаяТаблица.Колонки.Добавить("Право", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); - - ПоРолям = Новый Соответствие; - УстановитьПривилегированныйРежим(Истина); - Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.БазоваяФункциональностьВМоделиСервиса") Тогда + МодульРаботаВМоделиСервисаПовтИсп = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервисаПовтИсп"); + МодельДанных = МодульРаботаВМоделиСервисаПовтИсп.ПолучитьМодельДанныхОбласти(); + + РазделенныеОбъектыМетаданных = Новый Соответствие(); + Для Каждого ЭлементМоделиДанных Из МодельДанных Цикл - МодульРаботаВМоделиСервисаПовтИсп = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервисаПовтИсп"); - МодельДанных = МодульРаботаВМоделиСервисаПовтИсп.ПолучитьМодельДанныхОбласти(); + РазделенныеОбъектыМетаданных.Вставить( + Метаданные.НайтиПоПолномуИмени(ЭлементМоделиДанных.Ключ), Истина); - РазделенныеОбъектыМетаданных = Новый Соответствие(); - Для Каждого ЭлементМоделиДанных Из МодельДанных Цикл + КонецЦикла; + + Для Каждого ОписаниеВида Из ВидыМетаданных Цикл // По видам метаданных. + Для Каждого ОбъектМетаданных Из ОписаниеВида.Вид Цикл // По объектам вида. - РазделенныеОбъектыМетаданных.Вставить(ЭлементМоделиДанных.Ключ, Истина); + Если РазделенныеОбъектыМетаданных.Получить(ОбъектМетаданных) <> Неопределено Тогда + Продолжить; + КонецЕсли; - КонецЦикла; - - Для каждого Роль Из Метаданные.Роли Цикл - ИмяРоли = Роль.Имя; - - ТаблицаОбъектов = Новый ТаблицаЗначений; - ТаблицаОбъектов.Колонки.Добавить("Объект", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); - ТаблицаОбъектов.Колонки.Добавить("Право", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(0, ДопустимаяДлина.Переменная))); - - Для Каждого ОписаниеВида Из ВидыМетаданных Цикл // По видам метаданных. - Для Каждого ОбъектМетаданных Из ОписаниеВида.Вид Цикл // По объектам вида. - - ПолноеИмяОбъектаМетаданных = ОбъектМетаданных.ПолноеИмя(); - Если РазделенныеОбъектыМетаданных.Получить(ПолноеИмяОбъектаМетаданных) = Неопределено Тогда + Для каждого Роль Из Метаданные.Роли Цикл + + Если Не ПравоДоступа("Чтение", ОбъектМетаданных, Роль) Тогда + Продолжить; + КонецЕсли; + + Для каждого ОписаниеПрава Из ПроверяемыеПрава Цикл + Если НЕ ОписаниеПрава.Ссылочное + ИЛИ ОписаниеВида.Ссылочный Тогда - Для каждого ОписаниеПрава Из ПроверяемыеПрава Цикл - Если НЕ ОписаниеПрава.Ссылочное - ИЛИ ОписаниеВида.Ссылочный Тогда - - Если ПравоДоступа(ОписаниеПрава.Имя, ОбъектМетаданных, Роль) Тогда - // Общая таблица объектов по ролей. - СтрокаПрава = ОбщаяТаблица.Добавить(); - СтрокаПрава.Роль = ИмяРоли; - СтрокаПрава.Объект = ПолноеИмяОбъектаМетаданных; - СтрокаПрава.Право = ОписаниеПрава.Имя; - // Таблица объектов по ролям. - СтрокаПрава = ТаблицаОбъектов.Добавить(); - СтрокаПрава.Объект = ПолноеИмяОбъектаМетаданных; - СтрокаПрава.Право = ОписаниеПрава.Имя; - КонецЕсли; - - КонецЕсли; - КонецЦикла; + Если ПравоДоступа(ОписаниеПрава.Имя, ОбъектМетаданных, Роль) Тогда + // Общая таблица объектов по ролям. + СтрокаПрава = ОбщаяТаблица.Добавить(); + СтрокаПрава.Роль = Роль.Имя; + СтрокаПрава.Объект = ОбъектМетаданных.ПолноеИмя(); + СтрокаПрава.Право = ОписаниеПрава.Имя; + КонецЕсли; КонецЕсли; КонецЦикла; + КонецЦикла; - Если ТаблицаОбъектов.Количество() > 0 Тогда - ПоРолям.Вставить(ИмяРоли, ТаблицаОбъектов); - КонецЕсли; КонецЦикла; - - КонецЕсли; + КонецЦикла; ОбщаяТаблица.Индексы.Добавить("Роль"); - - Итог = Новый Структура; - Итог.Вставить("Таблица", ОбщаяТаблица); - Итог.Вставить("ПоРолям", ПоРолям); - - Возврат Итог; + Возврат ОбщаяТаблица; КонецФункции @@ -364,4 +319,4 @@ #КонецОбласти -#КонецЕсли \ No newline at end of file +#КонецЕсли diff --git a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Forms/Форма/Form.form b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Forms/Форма/Form.form index e77f72778..5f76bfa39 100644 --- a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Forms/Форма/Form.form @@ -402,7 +402,7 @@ ПриСозданииНаСервере 50 - DontBlock + LockOwner true true true diff --git a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Help/ru.html b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Help/ru.html index de8b4f8a1..b051ca6ea 100644 --- a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Help/ru.html +++ b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/Help/ru.html @@ -1,3 +1,14 @@ - -

                            Если один или несколько рабочих процессов сервера работают под Linux, а часть или все клиенты подключаются с помощью веб-клиента, то в информационной базе могут быть добавлены файлы, текст из которых не извлечен, и соответственно эти файлы не могут быть найдены полнотекстовым поиском по содержимому. В этом случае на одном из клиентских компьютеров, работающих под управлением ОС Microsoft Windows нужно запустить тонкий или толстый клиент, и на нем открыть обработку «Автоматическое извлечение текстов». Эта обработка в автоматическом режиме будет извлекать текст из файлов. По умолчанию интервал времени выполнения равен 60 секундам.

                            -

                            См. также: Общая информация о формах.

                            \ No newline at end of file + +

                            Предназначена для управления автоматическим извлечением текстов.

                            +

                            Если один или несколько рабочих процессов сервера работают под Linux, а часть или все клиенты подключаются с помощью веб-клиента, то в информационной базе могут быть добавлены файлы, текст из которых не извлечен, и соответственно эти файлы не могут быть найдены полнотекстовым поиском по содержимому. В этом случае на одном из клиентских компьютеров, работающих под управлением ОС Microsoft Windows, нужно запустить тонкий или толстый клиент, и на нем выполнить команду Управление полнотекстовым поиском - Запустить извлечение текстов в разделе Администрирование - Поддержка и обслуживание - Регламентные операции. Также можно выполнить команду Автоматическое извлечение текстов панели действий раздела Органайзер.

                            +

                            Настройка параметров

                            +
                            • Установите Интервал времени выполнения - по умолчанию интервал времени выполнения равен 60 секундам; +
                            • Определите Количество файлов в одной порции - по умолчанию равно 100; +
                            • Количество файлов с неизвлеченным текстом - программа подсчитывает автоматически.

                            Извлечение текстов

                            +

                            Извлечение текстов можно производить:

                            +
                            • +
                               порциями.
                              +
                              • Нажмите Старт, для того чтобы начать извлечение текстов установленными порциями с возможностью прервать процесс; +
                              • Нажмите Стоп, для того чтобы прервать процесс.
                            • из всех файлов сразу. +
                              • Нажмите Извлечь все.

                            См. также:

                            + \ No newline at end of file diff --git a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/АвтоматическоеИзвлечениеТекстов.mdo b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/АвтоматическоеИзвлечениеТекстов.mdo index 6827329cf..a6b87fa11 100644 --- a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/АвтоматическоеИзвлечениеТекстов.mdo +++ b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстов/АвтоматическоеИзвлечениеТекстов.mdo @@ -10,6 +10,7 @@ Автоматическое извлечение текстов
                            DataProcessor.АвтоматическоеИзвлечениеТекстов.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстовДляВсехОбластейДанных/Help/ru.html b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстовДляВсехОбластейДанных/Help/ru.html index de8b4f8a1..44afc1ac8 100644 --- a/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстовДляВсехОбластейДанных/Help/ru.html +++ b/SSL/src/DataProcessors/АвтоматическоеИзвлечениеТекстовДляВсехОбластейДанных/Help/ru.html @@ -1,3 +1,3 @@ - +

                            Если один или несколько рабочих процессов сервера работают под Linux, а часть или все клиенты подключаются с помощью веб-клиента, то в информационной базе могут быть добавлены файлы, текст из которых не извлечен, и соответственно эти файлы не могут быть найдены полнотекстовым поиском по содержимому. В этом случае на одном из клиентских компьютеров, работающих под управлением ОС Microsoft Windows нужно запустить тонкий или толстый клиент, и на нем открыть обработку «Автоматическое извлечение текстов». Эта обработка в автоматическом режиме будет извлекать текст из файлов. По умолчанию интервал времени выполнения равен 60 секундам.

                            См. также: Общая информация о формах.

                            \ No newline at end of file diff --git a/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Form.form b/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Form.form index f007a8afc..5123bda5c 100644 --- a/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Form.form +++ b/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Form.form @@ -39,7 +39,6 @@ Left true - 25 true true false @@ -124,69 +123,7 @@ true UserCmds Auto - - - ЗавершитьСеанс - 31 - true - true - - true - - false - - ЗавершитьСеансExtendedTooltip - 41 - Label - true - true - - Left - - - Form.Command.ЗавершитьСеанс - Normal - Auto - true - true - UserCmds - Auto - - - ЖурналРегистрации - 16 - true - true - - true - - false - - ЖурналРегистрацииExtendedTooltip - 42 - Label - true - true - - Left - - - Form.Command.ЖурналРегистрации - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - Auto + InAdditionalSubmenu Найти @@ -312,6 +249,67 @@ Auto + + ЗавершитьСеанс + 31 + true + true + + true + + false + + ЗавершитьСеансExtendedTooltip + 41 + Label + true + true + + Left + + + Form.Command.ЗавершитьСеанс + Normal + true + true + UserCmds + Auto + + + ЖурналРегистрации + 16 + true + true + + true + + false + + ЖурналРегистрацииExtendedTooltip + 42 + Label + true + true + + Left + + + Form.Command.ЖурналРегистрации + Normal + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + Auto + Обновить 18 @@ -348,6 +346,32 @@ Auto + + КомандыСписка + 71 + true + true + + true + + + <key>ru</key> + <value>Команды списка</value> + + + КомандыСпискаРасширеннаяПодсказка + 72 + Label + true + true + + Left + + + + Item.СписокПользователей + + true true @@ -357,10 +381,6 @@ ru Основная командная панель - - ru - Основная командная панель - ОсновнаяКоманднаяПанельРасширеннаяПодсказка 65 @@ -430,6 +450,7 @@ Left true + 20 true true true @@ -519,6 +540,7 @@ true Left + 20 true true true @@ -563,6 +585,7 @@ true Left + 15 true true true @@ -607,6 +630,7 @@ true Left + 20 true true true @@ -651,6 +675,7 @@ true Left + 6 true true true @@ -698,6 +723,7 @@ Left true + 17 true true true @@ -720,10 +746,10 @@ СписокПользователейСтрокаПоиска - 72 + 74 СписокПользователейСтрокаПоискаРасширеннаяПодсказка - 74 + 76 Label true true @@ -733,7 +759,7 @@ СписокПользователейСтрокаПоискаКонтекстноеМеню - 73 + 75 true СписокПользователей @@ -743,10 +769,10 @@ СписокПользователейСостояниеПросмотра - 75 + 77 СписокПользователейСостояниеПросмотраРасширеннаяПодсказка - 77 + 79 Label true true @@ -756,7 +782,7 @@ СписокПользователейСостояниеПросмотраКонтекстноеМеню - 76 + 78 true ViewStatusAddition @@ -767,10 +793,10 @@ СписокПользователейУправлениеПоиском - 78 + 80 СписокПользователейУправлениеПоискомРасширеннаяПодсказка - 80 + 82 Label true true @@ -780,7 +806,7 @@ СписокПользователейУправлениеПоискомКонтекстноеМеню - 79 + 81 true SearchControlAddition @@ -898,7 +924,6 @@ true true true - 4 true MultiRow
                            true
                            @@ -992,8 +1017,7 @@ OK Retry Yes - 110 - LockOwner + DontBlock true true true @@ -1358,7 +1382,6 @@ ОткрытьЖурналРегистрации - TextPicture Auto Auto @@ -1460,7 +1483,6 @@ ЗавершитьСеанс - TextPicture Auto Auto @@ -1478,9 +1500,6 @@ true - - StdPicture.InputFieldOpen - ОткрытьПользователя diff --git a/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Module.bsl b/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Module.bsl index 3d08cb0b9..534581c92 100644 --- a/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Module.bsl +++ b/SSL/src/DataProcessors/АктивныеПользователи/Forms/ФормаСпискаАктивныхПользователей/Module.bsl @@ -12,6 +12,10 @@ Возврат; КонецЕсли; + Если Не ОбщегоНазначения.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка) Тогда + Возврат; + КонецЕсли; + Параметры.Свойство("ОповещатьОЗакрытии", ОповещатьОЗакрытии); НомерСеансаИнформационнойБазы = НомерСеансаИнформационнойБазы(); diff --git a/SSL/src/DataProcessors/АктивныеПользователи/Help/ru.html b/SSL/src/DataProcessors/АктивныеПользователи/Help/ru.html index 60265d485..f49be4f83 100644 --- a/SSL/src/DataProcessors/АктивныеПользователи/Help/ru.html +++ b/SSL/src/DataProcessors/АктивныеПользователи/Help/ru.html @@ -1,4 +1,4 @@ - +

                            Содержит список пользователей, работающих в данный момент времени в программе.

                            В этом списке отображаются не только пользователи, работающие с информационной базой при помощи приложений "Тонкий клиент", "Веб-клиент" или "Конфигуратор", но и такие пользователи как "COM-соединение", "WS-соединение", "Фоновое задание" и т.п.

                            Список выводится по соответствующей команде раздела Администрирование - Поддержка и обслуживание.

                            diff --git a/SSL/src/DataProcessors/АктивныеПользователи/АктивныеПользователи.mdo b/SSL/src/DataProcessors/АктивныеПользователи/АктивныеПользователи.mdo index 55fe06a78..1a0ba27fc 100644 --- a/SSL/src/DataProcessors/АктивныеПользователи/АктивныеПользователи.mdo +++ b/SSL/src/DataProcessors/АктивныеПользователи/АктивныеПользователи.mdo @@ -11,6 +11,7 @@
                            true DataProcessor.АктивныеПользователи.Form.ФормаСпискаАктивныхПользователей + true ru diff --git a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Form.form b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Form.form index a3b8a1cea..6a0a4ecab 100644 --- a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Form.form @@ -128,7 +128,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto diff --git a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Module.bsl index 362072b08..3ece21169 100644 --- a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Forms/Форма/Module.bsl @@ -196,12 +196,14 @@ И ТекущееЗначениеБлокировки <> Объект.ЗапретитьРаботуРегламентныхЗаданий Тогда Попытка + Если КлиентПодключенЧерезВебСервер Тогда УстановитьБлокировкуРегламентныхЗаданийНаСервере(ПараметрыАдминистрирования); Иначе АдминистрированиеКластераКлиентСервер.УстановитьБлокировкуРегламентныхЗаданийИнформационнойБазы( ПараметрыАдминистрирования,, Объект.ЗапретитьРаботуРегламентныхЗаданий); КонецЕсли; + Исключение ЖурналРегистрацииКлиент.ДобавитьСообщениеДляЖурналаРегистрации(СоединенияИБКлиентСервер.СобытиеЖурналаРегистрации(), "Ошибка", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),, Истина); @@ -580,13 +582,6 @@ КонецПроцедуры -&НаСервере -Функция БлокировкаРегламентныхЗаданийИнформационнойБазыНаСервере(ПараметрыАдминистрирования) - - Возврат АдминистрированиеКластераКлиентСервер.БлокировкаРегламентныхЗаданийИнформационнойБазы(ПараметрыАдминистрирования); - -КонецФункции - &НаСервере Процедура УстановитьБлокировкуРегламентныхЗаданийНаСервере(ПараметрыАдминистрирования) @@ -594,5 +589,12 @@ ПараметрыАдминистрирования,, Объект.ЗапретитьРаботуРегламентныхЗаданий); КонецПроцедуры + +&НаСервере +Функция БлокировкаРегламентныхЗаданийИнформационнойБазыНаСервере(ПараметрыАдминистрирования) + + Возврат АдминистрированиеКластераКлиентСервер.БлокировкаРегламентныхЗаданийИнформационнойБазы(ПараметрыАдминистрирования); + +КонецФункции #КонецОбласти \ No newline at end of file diff --git a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Help/ru.html b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Help/ru.html index cecda1b81..007bccdbd 100644 --- a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                            При работе в клиент-серверном режиме имеется возможность блокировки работы регламентных заданий.

                            diff --git a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/БлокировкаРаботыПользователей.mdo b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/БлокировкаРаботыПользователей.mdo index 369322bd3..57d4cdb9e 100644 --- a/SSL/src/DataProcessors/БлокировкаРаботыПользователей/БлокировкаРаботыПользователей.mdo +++ b/SSL/src/DataProcessors/БлокировкаРаботыПользователей/БлокировкаРаботыПользователей.mdo @@ -11,6 +11,7 @@ true DataProcessor.БлокировкаРаботыПользователей.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Form.form b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Form.form index 7fc147a43..08188462c 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Form.form +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Form.form @@ -306,316 +306,40 @@
                            - ТипАдреса - 1 + АдресПредставлениеКомментарий + 225 - РоссийскийАдрес - 2 - - НаселенныйПункт - 16 - true - true - - true - - - НаселенныйПункт - - Top - - ru - Город, населенный пункт адреса - - - OnChange - НаселенныйПунктПриИзменении - - - НаселенныйПунктExtendedTooltip - 113 - Label - true - true - - Left - - - - НаселенныйПунктКонтекстноеМеню - 17 - true - - InputField - Enter - true - Left - true - - - AutoComplete - НаселенныйПунктАвтоПодбор - - - StartChoice - НаселенныйПунктНачалоВыбора - - - TextEditEnd - НаселенныйПунктОкончаниеВводаТекста - - - ChoiceProcessing - НаселенныйПунктОбработкаВыбора - - true - true - true - true - true - true - true - Normal - - - - Улица - 18 - true - true - - true - - - Улица - - Top - - ru - Улица адреса - - - OnChange - УлицаПриИзменении - - - УлицаExtendedTooltip - 114 - Label - true - true - - Left - - - - УлицаКонтекстноеМеню - 19 - true - - InputField - Enter - true - Left - true - - - AutoComplete - УлицаАвтоПодбор - - - StartChoice - УлицаНачалоВыбора - - - TextEditEnd - УлицаОкончаниеВводаТекста - - - ChoiceProcessing - УлицаОбработкаВыбора - - true - true - true - true - true - true - true - Normal - - + АдресСтраницаПредставление + 227 - ГруппаДом - 59 - - ТипДома - 23 - true - true - - true - - - ТипДома - - None - - ru - Тип дома: дом, владение и т. п. - - - OnChange - ТипДомаПриИзменении - - - ТипДомаExtendedTooltip - 116 - Label - true - true - - Left - - - - ТипДомаКонтекстноеМеню - 24 - true - - InputField - Enter - true - Left - true - - 12 - true - true - true - false - ShowInDropList - true - true - true - Normal - - - - Дом - 25 - true - true - - true - - - Дом - - None - - ru - Номер дома, владения - - - OnChange - ДомПриИзменении - - - ДомExtendedTooltip - 117 - Label - true - true - - Left - - - - ДомКонтекстноеМеню - 26 - true - - InputField - Enter - true - Left - true - - 7 - true - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа дом</value> - - - ru - Группа дом - - false - - ГруппаДомExtendedTooltip - 115 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаСтроения - 60 + ТипАдреса + 1 - ГруппаСтроениеНачальное - 67 + РоссийскийАдрес + 2 - ТипСтроения - 27 + НаселенныйПункт + 16 true true true - ТипСтроения + НаселенныйПункт - None + Left ru - Дополнительный тип здания: корпус, строение и т. п. + Город, населенный пункт адреса OnChange - ТипСтроенияПриИзменении + НаселенныйПунктПриИзменении - ТипСтроенияExtendedTooltip - 120 + НаселенныйПунктExtendedTooltip + 113 Label true true @@ -624,8 +348,8 @@ - ТипСтроенияКонтекстноеМеню - 28 + НаселенныйПунктКонтекстноеМеню + 17 true InputField @@ -634,205 +358,55 @@ Left true - 12 + + AutoComplete + НаселенныйПунктАвтоПодбор + + + StartChoice + НаселенныйПунктНачалоВыбора + + + TextEditEnd + НаселенныйПунктОкончаниеВводаТекста + + + ChoiceProcessing + НаселенныйПунктОбработкаВыбора + true true true - ShowInDropList - true - true - true - true - Normal - - - - Строение - 29 - true - true - - true - - - Строение - - None - - ru - Номер здания - - - OnChange - СтроениеПриИзменении - - - СтроениеExtendedTooltip - 121 - Label - true - true - - Left - - - - СтроениеКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - 7 - true - true - true - true - true + true true true true Normal - true - true - - true - - - <key>ru</key> - <value>Группа строение начальное</value> - - - ru - Группа строение начальное - - false - - ГруппаСтроениеНачальноеExtendedTooltip - 119 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаСтроенияДополнительно - 70 - true - true - - true - - - <key>ru</key> - <value>Группа строения дополнительно</value> - - - ru - Группа строения дополнительно - - false - - ГруппаСтроенияДополнительноExtendedTooltip - 122 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа строения</value> - - - ru - Группа строения - - true - false - - ГруппаСтроенияExtendedTooltip - 118 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаПомещение - 51 - - ГруппаПомещениеНачальное - 71 - ТипПомещения - 31 + Улица + 18 true true true - ТипПомещения + Улица - None + Left ru - Тип помещения: квартира, офис и т. п. + Улица адреса OnChange - ТипПомещенияПриИзменении + УлицаПриИзменении - ТипПомещенияExtendedTooltip - 125 + УлицаExtendedTooltip + 114 Label true true @@ -841,8 +415,8 @@ - ТипПомещенияКонтекстноеМеню - 32 + УлицаКонтекстноеМеню + 19 true InputField @@ -851,275 +425,58 @@ Left true - 12 - true - true - true - ShowInDropList - true - true - true - true - Normal - - - - Помещение - 33 - true - true - - true - - - Помещение - - None - - ru - Значение помещения - - - OnChange - ПомещениеПриИзменении - - - ПомещениеExtendedTooltip - 126 - Label - true - true - - Left - - - - ПомещениеКонтекстноеМеню - 34 - true - - InputField - Enter - true - Left - true - - 7 + + AutoComplete + УлицаАвтоПодбор + + + StartChoice + УлицаНачалоВыбора + + + TextEditEnd + УлицаОкончаниеВводаТекста + + + ChoiceProcessing + УлицаОбработкаВыбора + true true true + true true true true Normal - true - true - - true - - - <key>ru</key> - <value>Группа помещение начальное</value> - - - ru - Группа помещение начальное - - false - - ГруппаПомещениеНачальноеExtendedTooltip - 124 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаПомещенияДополнительно - 72 - true - true - - true - - - <key>ru</key> - <value>Группа строения дополнительно</value> - - - ru - Группа строения дополнительно - - false - - ГруппаПомещенияДополнительноExtendedTooltip - 127 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Помещение</value> - - - ru - Помещение - - true - false - - ГруппаПомещениеExtendedTooltip - 123 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ДобавитьОбъект - 94 - true - true - - true - - - ДобавитьОбъектExtendedTooltip - 128 - Label - true - true - - Left - - - UsualButton - Form.Command.ДобавитьОбъект - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаПредставления - 47 - - ПредставлениеАдреса - 7 - true - true - - true - - - ПредставлениеАдреса - - true - None - - ru - Представление адреса - - - OnChange - ПредставлениеАдресаПриИзменении - - - ПредставлениеАдресаExtendedTooltip - 130 - Label - true - true - - Left - - - - ПредставлениеАдресаКонтекстноеМеню - 8 - - ПредставлениеАдресаКонтекстноеМенюГруппа1 - 156 - - ПредставлениеАдресаКонтекстноеМенюВвестиАдресВСвободнойФорме - 154 - true - true - - true - - - ПредставлениеАдресаКонтекстноеМенюВвестиАдресВСвободнойФормеРасширеннаяПодсказка - 155 - Label - true - true - - Left - - - Form.Command.ВвестиАдресВСвободнойФорме - Normal - Auto - true - true - UserCmds - Auto - + + ГруппаДом + 59 + + ТипДома + 23 true true true + + ТипДома + + None + + ru + Тип дома: дом, владение и т. п. + + + OnChange + ТипДомаПриИзменении + - ПредставлениеАдресаКонтекстноеМенюГруппа1РасширеннаяПодсказка - 157 + ТипДомаExtendedTooltip + 116 Label true true @@ -1127,28 +484,811 @@ Left - + + ТипДомаКонтекстноеМеню + 24 + true + + InputField + Enter + true + Left + true + + 12 + true + true + true + false + ShowInDropList + true + true + true + Normal + - true - - InputField - Enter - true - Left - true - + + Дом + 25 + true + true + + true + + + Дом + + None + + ru + Номер дома, владения + + + OnChange + ДомПриИзменении + + + ДомExtendedTooltip + 117 + Label + true + true + + Left + + + + ДомКонтекстноеМеню + 26 + true + + InputField + Enter + true + Left + true + + 7 + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа дом</value> + + + ru + Группа дом + + false + + ГруппаДомExtendedTooltip + 115 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаСтроения + 60 + + ГруппаСтроениеНачальное + 67 + + ТипСтроения + 27 + true + true + + true + + + ТипСтроения + + None + + ru + Дополнительный тип здания: корпус, строение и т. п. + + + OnChange + ТипСтроенияПриИзменении + + + ТипСтроенияExtendedTooltip + 120 + Label + true + true + + Left + + + + ТипСтроенияКонтекстноеМеню + 28 + true + + InputField + Enter + true + Left + true + + 12 + true + true + true + ShowInDropList + true + true + true + true + Normal + + + + Строение + 29 + true + true + + true + + + Строение + + None + + ru + Номер здания + + + OnChange + СтроениеПриИзменении + + + СтроениеExtendedTooltip + 121 + Label + true + true + + Left + + + + СтроениеКонтекстноеМеню + 30 + true + + InputField + Enter + true + Left + true + + 7 + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа строение начальное</value> + + + ru + Группа строение начальное + + false + + ГруппаСтроениеНачальноеExtendedTooltip + 119 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаСтроенияДополнительно + 70 + true + true + + true + + + <key>ru</key> + <value>Группа строения дополнительно</value> + + + ru + Группа строения дополнительно + + false + + ГруппаСтроенияДополнительноExtendedTooltip + 122 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа строения</value> + + + ru + Группа строения + + true + false + + ГруппаСтроенияExtendedTooltip + 118 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПомещение + 51 + + ГруппаПомещениеНачальное + 71 + + ТипПомещения + 31 + true + true + + true + + + ТипПомещения + + None + + ru + Тип помещения: квартира, офис и т. п. + + + OnChange + ТипПомещенияПриИзменении + + + ТипПомещенияExtendedTooltip + 125 + Label + true + true + + Left + + + + ТипПомещенияКонтекстноеМеню + 32 + true + + InputField + Enter + true + Left + true + + 12 + true + true + true + ShowInDropList + true + true + true + true + Normal + + + + Помещение + 33 + true + true + + true + + + Помещение + + None + + ru + Значение помещения + + + OnChange + ПомещениеПриИзменении + + + ПомещениеExtendedTooltip + 126 + Label + true + true + + Left + + + + ПомещениеКонтекстноеМеню + 34 + true + + InputField + Enter + true + Left + true + + 7 + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа помещение начальное</value> + + + ru + Группа помещение начальное + + false + + ГруппаПомещениеНачальноеExtendedTooltip + 124 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаПомещенияДополнительно + 72 + true + true + + true + + + <key>ru</key> + <value>Группа строения дополнительно</value> + + + ru + Группа строения дополнительно + + false + + ГруппаПомещенияДополнительноExtendedTooltip + 127 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Помещение</value> + + + ru + Помещение + + true + false + + ГруппаПомещениеExtendedTooltip + 123 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаКомандаДобавить + 167 + + ДобавитьОбъект + 94 + true + true + + true + + + ДобавитьОбъектExtendedTooltip + 128 + Label + true + true + + Left + + + UsualButton + Form.Command.ДобавитьОбъект + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа команда добавить</value> + + + ru + Группа команда добавить + + + ГруппаКомандаДобавитьРасширеннаяПодсказка + 168 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ПредставлениеАдреса + 7 + true + true + + true + + + ПредставлениеАдреса + + true + None + + ru + Представление адреса + + + OnChange + ПредставлениеАдресаПриИзменении + + + ПредставлениеАдресаExtendedTooltip + 130 + Label + true + true + + Left + + + + ПредставлениеАдресаКонтекстноеМеню + 8 + + ПредставлениеАдресаКонтекстноеМенюГруппа1 + 156 + + ПредставлениеАдресаКонтекстноеМенюВвестиАдресВСвободнойФорме + 154 + true + true + + true + + + ПредставлениеАдресаКонтекстноеМенюВвестиАдресВСвободнойФормеРасширеннаяПодсказка + 155 + Label + true + true + + Left + + + Form.Command.ВвестиАдресВСвободнойФорме + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ПредставлениеАдресаКонтекстноеМенюГруппа1РасширеннаяПодсказка + 157 + Label + true + true + + Left + + + + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + true + + Style.ButtonBackColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Российский адрес</value> + + + ru + Российский адрес + + + РоссийскийАдресExtendedTooltip + 112 + Label true true - true - true - true - true - true - true - - Style.FormBackColor - - Normal + + Left + + + Page + + Vertical + + + + ИностранныйАдрес + 3 + + ПредставлениеИностранногоАдреса + 21 + true + true + + true + + + ПредставлениеИностранногоАдреса + + None + + ПредставлениеИностранногоАдресаExtendedTooltip + 132 + Label + true + true + + Left + + + + ПредставлениеИностранногоАдресаКонтекстноеМеню + 22 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Иностранный адрес</value> + + + ru + Иностранный адрес + + + ИностранныйАдресExtendedTooltip + 131 + Label + true + true + + Left + + + Page + + Vertical true @@ -1158,16 +1298,16 @@ <key>ru</key> - <value>Представление</value> + <value>Тип адреса</value> ru - Представление + Тип адреса true - ГруппаПредставленияExtendedTooltip - 129 + ТипАдресаExtendedTooltip + 111 Label true true @@ -1175,14 +1315,8 @@ Left - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto + Pages + Auto @@ -1193,15 +1327,15 @@ <key>ru</key> - <value>Российский адрес</value> + <value>Адрес</value> ru - Российский адрес + Адрес страница представление - РоссийскийАдресExtendedTooltip - 112 + АдресСтраницаПредставлениеРасширеннаяПодсказка + 228 Label true true @@ -1212,26 +1346,35 @@ Page Vertical + auto - ИностранныйАдрес - 3 + АдресСтраницаКомментарий + 229 - ПредставлениеИностранногоАдреса - 21 + Комментарий + 5 true true true - ПредставлениеИностранногоАдреса + Комментарий None + + ru + Дополнительный комментарий, не включаемый в представление адреса + + + OnChange + КомментарийПриИзменении + - ПредставлениеИностранногоАдресаExtendedTooltip - 132 + КомментарийExtendedTooltip + 135 Label true true @@ -1240,8 +1383,8 @@ - ПредставлениеИностранногоАдресаКонтекстноеМеню - 22 + КомментарийКонтекстноеМеню + 6 true InputField @@ -1251,6 +1394,7 @@ true true + 2 true true true @@ -1267,15 +1411,15 @@ <key>ru</key> - <value>Иностранный адрес</value> + <value>Комментарий</value> ru - Иностранный адрес + Адрес страница комментарий - ИностранныйАдресExtendedTooltip - 131 + АдресСтраницаКомментарийРасширеннаяПодсказка + 230 Label true true @@ -1286,6 +1430,7 @@ Page Vertical + auto true @@ -1295,16 +1440,15 @@ <key>ru</key> - <value>Тип адреса</value> + <value>Адрес представление комментарий</value> ru - Тип адреса + Адрес представление комментарий - true - ТипАдресаExtendedTooltip - 111 + АдресПредставлениеКомментарийРасширеннаяПодсказка + 226 Label true true @@ -1314,137 +1458,7 @@ Pages - Auto - - - - ОбщиеДанные - 4 - - ГруппаДополнительныхПолей - 75 - true - true - - true - - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Группа дополнительных полей - - true - true - true - - ГруппаДополнительныхПолейExtendedTooltip - 134 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - WeakSeparation - true - true - Auto - Auto - - - - Комментарий - 5 - true - true - - true - - - Комментарий - - Left - - ru - Дополнительный комментарий, не включаемый в представление адреса - - - КомментарийExtendedTooltip - 135 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 6 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - false - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Общие данные</value> - - - ru - Общие данные - - - ОбщиеДанныеExtendedTooltip - 133 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto + TabsOnTop Auto @@ -1558,21 +1572,21 @@ ФормаВсеДействия - 96 + 231 - ФормаВводАдресаВСвободнойФорме - 101 + ФормаВводАдресаВСвободнойФормеВсеДействия + 233 - ВвестиАдресВСвободнойФорме - 102 + ВвестиАдресВСвободнойФормеВсеДействия + 235 true true true - ВвестиАдресВСвободнойФормеExtendedTooltip - 145 + ВвестиАдресВСвободнойФормеВсеДействияРасширеннаяПодсказка + 236 Label true true @@ -1587,6 +1601,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -1602,8 +1617,8 @@ Форма ввод адреса в свободной форме - ФормаВводАдресаВСвободнойФормеExtendedTooltip - 144 + ФормаВводАдресаВСвободнойФормеВсеДействияРасширеннаяПодсказка + 234 Label true true @@ -1614,19 +1629,19 @@ - ФормаВсеДействияИзмененияАдреса - 152 + ФормаВсеДействияИзмененияАдреса1 + 237 - ЗаполнитьПоПочтовомуИндексу - 150 + ЗаполнитьПоПочтовомуИндексуВсеДействия + 239 true true true - ЗаполнитьПоПочтовомуИндексуРасширеннаяПодсказка - 151 + ЗаполнитьПоПочтовомуИндексуВсеДействияРасширеннаяПодсказка + 240 Label true true @@ -1641,18 +1656,19 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu - ФормаОчиститьАдрес - 90 + ФормаОчиститьАдресВсеДействия + 241 true true true - ФормаОчиститьАдресExtendedTooltip - 143 + ФормаОчиститьАдресВсеДействияРасширеннаяПодсказка + 242 Label true true @@ -1675,8 +1691,8 @@ true - ФормаВсеДействияИзмененияАдресаРасширеннаяПодсказка - 153 + ФормаВсеДействияИзмененияАдреса1РасширеннаяПодсказка + 238 Label true true @@ -1688,18 +1704,45 @@ ФормаСтандартныеДействия - 97 + 243 - ИзменитьФорму - 98 + ЗагрузитьКлассификаторВсеДействия + 249 true true true - ИзменитьФормуExtendedTooltip - 147 + ЗагрузитьКлассификаторВсеДействияРасширеннаяПодсказка + 250 + Label + true + true + + Left + + + Form.Command.ЗагрузитьКлассификатор + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ИзменитьФормуВсеДействия + 245 + true + true + + true + + + ИзменитьФормуВсеДействияРасширеннаяПодсказка + 246 Label true true @@ -1717,16 +1760,16 @@ InCommandBarAndInAdditionalSubmenu - Справка - 99 + СправкаВсеДействия + 247 true true true - СправкаExtendedTooltip - 148 + СправкаВсеДействияРасширеннаяПодсказка + 248 Label true true @@ -1758,7 +1801,7 @@ ФормаСтандартныеДействияExtendedTooltip - 146 + 244 Label true true @@ -1783,7 +1826,7 @@ ФормаВсеДействияExtendedTooltip - 142 + 232 Label true true @@ -1800,17 +1843,200 @@ Normal - - ФормаСправка - 100 + + ФормаВводАдресаВСвободнойФорме + 101 + + ВвестиАдресВСвободнойФорме + 102 + true + true + + true + + + ВвестиАдресВСвободнойФормеExtendedTooltip + 145 + Label + true + true + + Left + + + Form.Command.ВвестиАдресВСвободнойФорме + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Форма ввод адреса в свободной форме</value> + + + ru + Форма ввод адреса в свободной форме + + + ФормаВводАдресаВСвободнойФормеExtendedTooltip + 144 + Label + true + true + + Left + + + + + + ФормаВсеДействияИзмененияАдреса + 152 + + ЗаполнитьПоПочтовомуИндексу + 150 + true + true + + true + + + ЗаполнитьПоПочтовомуИндексуРасширеннаяПодсказка + 151 + Label + true + true + + Left + + + Form.Command.ЗаполнитьПоПочтовомуИндексу + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОчиститьАдрес + 90 + true + true + + true + + + ФормаОчиститьАдресExtendedTooltip + 143 + Label + true + true + + Left + + + Form.Command.ОчиститьАдрес + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + true true true - ФормаСправкаExtendedTooltip - 149 + ФормаВсеДействияИзмененияАдресаРасширеннаяПодсказка + 153 + Label + true + true + + Left + + + + + + ЗагрузитьКлассификатор + 172 + true + true + + true + + + ЗагрузитьКлассификаторРасширеннаяПодсказка + 173 + Label + true + true + + Left + + + Form.Command.ЗагрузитьКлассификатор + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИзменитьФорму + 98 + true + true + + true + + + ИзменитьФормуExtendedTooltip + 147 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + Справка + 99 + true + true + + true + + + СправкаExtendedTooltip + 148 Label true true @@ -1996,7 +2222,7 @@ НаселенныйПункт <key>ru</key> - <value>Город, населенный пункт</value> + <value>Город, нас. пункт</value> 5 @@ -2427,23 +2653,6 @@ true - - ЗапрещатьВводНекорректного - - <key>ru</key> - <value>Запрещать ввод некорректного</value> - - 25 - - Boolean - - - true - - - true - - ПроверятьКорректность @@ -2737,6 +2946,24 @@ <common>true</common> </edit> </attributes> + <attributes> + <name>ДополнительнаяТерритория</name> + <title> + <key>ru</key> + <value>Дополнительная территория</value> + + 25 + + String + + + + true + + + true + + КомандаОК diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Help/ru.html b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Help/ru.html index f6a5fac45..d73a255a1 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Help/ru.html +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Help/ru.html @@ -1,23 +1,43 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><style>P { TEXT-INDENT: 3em } -</style><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Форма предназначена для ввода адреса по шаблону. При заполнении формы возможно использование <a href="InformationRegister.АдресныйКлассификатор/Help">адресного классификатора</a>. </p> -<ul><li>Поле <i>"Страна"</i> позволяет выбрать страну адреса. Редактирование адресов за пределами России производится в общем поле, без учета частей адреса -</li><li>Поле <i>"Индекс"</i> предназначено для ввода почтового индекса, соответствующего данному адресу.Если адрес найден а вдресном классификаторе, то индекс может быть проставлен автоматически. -</li><li>Поле <i>"Город, населенный пункт"</i> предназначено для ввода региона, города и т.п. При необходимости можно выбрать или ввести части адреса детально, нажав на кнопку выбора. -</li><li>Поле <i>"Улица"</i> предназначено для выбора или ввода улицы адреса. -</li><li>Поля <i>"Дом"</i>, <i>"Корпус"</i>, <i>"Квартира"</i> позволяют ввести соответствующие части адреса. Можно изменить эти варианты, выбрав значения из выпадающего списка или добавить дополнительные поля для ввода других предопределенных частей адреса, таких как <i>"Строение"</i>, <i>"Литера"</i>, <i>"Сооружение"</i>, <i>"Участок"</i>, <i>"Офис"</i>, <i>"Бокс"</i>, <i>"Помещение"</i>, <i>"Комната"</i>. Для этого необходимо воспользоваться кнопкой <i>"Добавить"</i>. </li></ul><p>Например, для ввода адреса <b>"Санкт-Петербург, Пискаревский проспект, дом 2, корпус 2, литера Щ, офис 12345"</b> необходимо ввести: </p> -<ol><li>В поле <i>"Город, населенный пункт"</i> - <b>Санкт-Петербург г</b>. -</li><li>В поле <i>"Улица"</i> - <b>Пискаревский пр-кт</b>. -</li><li>В поле значения <i>"Дом"</i> указать <b>2</b>. -</li><li>В поле значения <i>"Корпус"</i> - <b>2</b>. -</li><li>Для ввода литеры необходимо добавить поле кнопкой <i>"Добавить"</i>, выбрать из выпадающего списка значение <b>"Литера"</b> и проставить в поле значение <b>Щ</b>. -</li><li>Вместо <i>"Квартира"</i> выбрать из выпадающего списка значение <b>"Офис"</b> и ввести в поле значения <b>12345</b>. </li></ol><p>Аналогично, для ввода адреса, содержащего другие значения полей, например <b>"Москва, улица Адмирала Лазарева, домовладение 89, корпус 16, строение 1</b> необходимо: </p> -<ol><li>В поле <i>"Город, населенный пункт"</i> ввести <b>Москва г</b>. -</li><li>В поле <i>"Улица"</i> - <b>Адмирала Лазарева ул</b>. -</li><li>Вместо <i>"Дом"</i> выбрать из выпадающего списка значение <b>"Домовладение"</b>, ввести в поле значения <b>89</b>. -</li><li>В поле значения <i>"Корпус"</i> указать <b>16</b>. -</li><li>Добавить поле кнопкой <i>"Добавить"</i>, выбрать из выпадающего списка значение <b>"Строение"</b>, проставить в поле значение <b>1</b>. </li></ol><ul><li>Поле <i>"Комментарий"</i> позволяет указать произвольный комментарий к адресу, который не будет включаться в его представление и выводится на печать. -</li><li>Кнопка <i>"Проверить заполнение"</i> анализирует корректность заполнения адреса и выводит список ошибок. </li></ul><p>Из меню <i>"Все действия"</i> также доступны команды <i>"Очистить адрес"</i> и <i>"Загрузить классификатор"</i> </p> -<p></p></body></html> \ No newline at end of file +</style><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для ввода адреса по шаблону. При заполнении возможно использование <a href="InformationRegister.АдресныйКлассификатор/Help">адресного классификатора</a>. </p> +<ul><li>В поле <strong>Страна</strong> выберите страну адреса. Редактирование адресов за пределами России производится в общем поле, без учета частей адреса. <strong>Страна</strong> "Россия" выбрана программой по умолчанию, при этом поле может быть недоступным в зависимости от <a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">настроек</a>. Для того чтобы изменить страну, нажмите <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>. Выбор осуществляется из списка <a href="Catalog.СтраныМира.Form.Классификатор/Help">Классификатор стран мира (ОКСМ)</a>. +</li><li>Поле <strong>Индекс</strong> предназначено для ввода почтового индекса, соответствующего данному адресу. Если адрес найден в адресном классификаторе, то индекс может быть проставлен автоматически. Также по индексу, если адресный классификатор по соответствующему региону загружен, можно <a href="#1">заполнить адрес</a>. +</li><li>Поле <strong>Город, населенный пункт</strong> предназначено для ввода региона, города и т.п. При необходимости можно ввести части адреса детально, нажав <img src="StdPicture.InputFieldSelect" width="12" height="12"></img> <strong>Выбрать</strong>. В открывшемся шаблоне введите данные <a href="DataProcessor.ВводКонтактнойИнформации.Form.НаселенныйПунктАдреса/Help">населенного пункта</a>. +</li><li>Поле <strong>Улица</strong> предназначено для выбора (нажмите кнопку <img src="StdPicture.InputFieldSelect" width="12" height="12"></img> <strong>Выбрать</strong>, в списке улиц найдите нужную) или ввода улицы адреса. +</li><li>Поля <strong>Дом</strong>, <strong>Корпус</strong>, <strong>Квартира</strong> позволяют ввести соответствующие части адреса. Можно изменить эти варианты, выбрав дополнительные значения из выпадающего списка. +</li><li> Также можно <img src="StdPicture.CreateListItem"></img> <strong>Добавить</strong> дополнительные поля для ввода других предопределенных частей адреса, таких как <strong>Строение</strong>, <strong>Литера</strong>, <strong>Сооружение</strong>, <strong>Участок</strong>, <strong>Офис</strong>, <strong>Бокс</strong>, <strong>Помещение</strong>, <strong>Комната</strong>.  +</li><li>Поле <strong>Представление адреса</strong> при заполнении адреса по шаблону недоступно, заполняется программой автоматически по мере заполнения полей адреса. +</li><li>Поле <strong>Комментарий</strong> позволяет указать произвольный комментарий к адресу, который не будет включаться в его представление и выводится на печать. </li></ul><h3>Примеры заполнения адреса</h3> +<ul><li>Для ввода адреса <b>"Санкт-Петербург, Пискаревский проспект, дом 2, корпус 2, литера Щ, офис 12345"</b> необходимо: +<ul><li>В поле <strong>Город, населенный пункт</strong> выбрать "Санкт-Петербург г<strong>"</strong>. +</li><li>В поле <strong>Улица</strong> выбрать "Пискаревский пр-кт". +</li><li>В поле <strong>Дом</strong> написать "2". +</li><li>В поле <strong>Корпус</strong> написать "2". +</li><li>Для ввода литеры необходимо <img src="StdPicture.CreateListItem" width="16" height="16"></img> <strong>Добавить</strong> поле, выбрать из выпадающего списка значение <b>Литера</b> и проставить в поле значение "Щ". +</li><li>Вместо поля <strong>Квартира</strong> выбрать из выпадающего списка поле <b>Офис</b> и ввести значение "12345". </li></ul></li><li>Для ввода адреса, содержащего другие значения полей, например <b>"Москва, улица Адмирала Лазарева, домовладение 89, корпус 16, строение 1"</b> необходимо: +<ul><li>В поле <strong>Город, населенный пункт</strong> выбрать "Москва г". +</li><li>В поле <strong>Улица</strong> выбрать "Адмирала Лазарева ул". +</li><li>Вместо поля <strong>Дом</strong> выбрать из выпадающего списка поле <b>Домовладение</b>, введите значение "89". +</li><li>В поле <strong>Корпус</strong> написать "16". +</li><li>Нажмите <img src="StdPicture.CreateListItem" width="16" height="16"></img> <strong>Добавить</strong>, выберите из выпадающего списка поле <b>Строение</b>, проставьте в поле "1". </li></ul></li></ul><h3>Проверка заполнения адреса</h3> +<p>Нажмите <strong>Проверить заполнение</strong>, для того чтобы проанализировать корректность заполнения адреса. Программа производит проверку: </p> +<ul><li>на заполненность адреса; +</li><li>на наличие недопустимых символов; +</li><li>длины наименований реквизитов адреса; +</li><li>на соответствие классификатору. В клиент-серверной базе проверка адреса на соответствие классификатору производится на сервере. После проверки правильности заполнения адреса программа выдает сообщение "Адрес введен корректно" или список ошибок. Проверка правильности невозможна для иностранных адресов, они не проверяются. Также команда становится недоступной, если адрес введен в свободной форме.</li></ul><h3>Ввод адреса в свободной форме</h3> +<ul><li>Воспользуйтесь этой командой меню <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>), для того чтобы при вводе адреса по шаблону ввести заведомо некорректный адрес (например, с товаром на накладной неправильный адрес поставщика, его надо временно зафиксировать для печати, но в дальнейшем его использовать нельзя). Такой адрес используется для хранения, поэтому можно рекомендовать использовать его только для единичных случаев. +</li><li>После выбора команды программой выводится сообщение с предупреждением: "Адреса, введенные в свободной форме, могут не пройти проверку по адресному классификатору". Для подтверждения выбора нажмите кнопку <strong>Да</strong>, для возврата к вводу адреса по шаблону нажмите <strong>Нет</strong>. +</li><li>Выводится шаблон для ввода адреса, но все его поля, кроме полей <strong>Представление адреса</strong> и <strong>Комментарий</strong>, становятся неактивными. Заполните поле <strong>Представление адреса</strong>. При переходе к полю <strong>Комментарий</strong> или нажатии кнопки <strong>ОК</strong> заполняются те поля шаблона, которые программе удалось распознать в строке адреса (т.е. в этих полях нет ошибок). Проверка заполнения адреса в данном случае отключена. +</li><li>Для подтверждения адреса нажмите <strong>ОК</strong>. Программой будет зафиксировано, что адрес заполнен в свободной форме и на просмотр адрес будет выводиться  в таком виде.</li></ul><h3><a name="#1">Заполнение адреса по почтовому индексу</a></h3> +<p>Если известен индекс адреса и адресный классификатор по соответствующему региону загружен, то с помощью команды <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>) <strong>- Заполнить по почтовому индексу</strong> имеется возможность по индексу <a href="DataProcessor.ВводКонтактнойИнформации.Form.ПоискАдресаПоПочтовомуИндексу/Help">найти адрес</a>. Для выбора выводятся только те адреса, которые соответствуют введенному индексу. Выберите нужную часть адреса, дозаполните оставшиеся поля.</p> +<h3>Очистка адреса</h3> +<p>С помощью команды меню <strong>Все действия </strong>(в интерфейсе Такси нажмите <strong>Еще</strong>) <strong>- Очистить адрес</strong>  можно стереть неправильно введенный адрес.</p> +<h3>Загрузка классификатора</h3> +<p>Выполните команду <strong>Все действия </strong>(в интерфейсе Такси <strong>Еще</strong>) <strong>- Загрузить классификатор</strong>. После проведения обновления адресного классификатора по выбранному региону можно продолжить редактирование адреса. При заполнении некоторых полей программа автоматически предлагает загрузить классификатор. </p> +<h3>См. также:</h3> +<ul><li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a>; +</li><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>; +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl index ea84e9ae0..0c38f39c0 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводАдреса/Module.bsl @@ -1,18 +1,21 @@ // Форма параметризуется: // -// Заголовок (строка) - заголовок формы -// ЗначенияПолей (строка) - сериализованное значение контактной информации или пустая строка для +// Заголовок - Строка - заголовок формы +// ЗначенияПолей - Строка - сериализованное значение контактной информации или пустая строка для // ввода нового -// Представление (строка) - представление адреса (используется только при работе со старыми данными) -// ВидКонтактнойИнформации - ссылка на справочник ВидыКонтактнойИнформации, описывающий то, что мы -// редактируем или структура, совместимая по полям со справочником. -// Комментарий (строка) - необязательный комментарий, для подстановки в поле "Комментарий" +// Представление - Строка - представление адреса (используется только при работе со старыми данными) +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание того, что мы редактируем +// Комментарий - Строка - необязательный комментарий, для подстановки в поле "Комментарий" // -// ВозвращатьСписокЗначений (булево) - необязательный флаг того, что возвращаемое значение поля -// КонтактнаяИнформация будет иметь тип СписокЗначений (совместимость) +// ВозвращатьСписокЗначений - Булево - необязательный флаг того, что возвращаемое значение поля +// КонтактнаяИнформация будет иметь тип СписокЗначений (совместимость) // -// Результатом выбора является структура с полями: -// "КонтактнаяИнформация, Представление, Комментарий, ВведеноВСвободнойФорме" +// Результат выбора: +// Структура - поля: +// * КонтактнаяИнформация - Строка - XML контактной информации +// * Представление - Строка - Представление +// * Комментарий - Строка - Комментарий +// * ВведеноВСвободнойФорме - Булево - флаг ввода // // ------------------------------------------------------------------------------------------------- @@ -40,8 +43,8 @@ СтранаРоссия = Справочники.СтраныМира.Россия; - ВидКонтактнойИнформации = УправлениеКонтактнойИнформацией.СтруктураВидаКонтактнойИнформации(); - ЗаполнитьЗначенияСвойств(ВидКонтактнойИнформации, Параметры.ВидКонтактнойИнформации); + ВидКонтактнойИнформации = УправлениеКонтактнойИнформацией.СтруктураВидаКонтактнойИнформации(Параметры.ВидКонтактнойИнформации); + ВидКонтактнойИнформации.Вставить("Ссылка", Параметры.ВидКонтактнойИнформации); // Заголовок Если ПустаяСтрока(Параметры.Заголовок) Тогда @@ -54,8 +57,6 @@ КонецЕсли; // Режимы - ПроверятьКорректность = ВидКонтактнойИнформации.ПроверятьКорректность; - ЗапрещатьВводНекорректного = ВидКонтактнойИнформации.ЗапрещатьВводНекорректного; МожноЗагружатьКлассификатор = КонтактнаяИнформацияСлужебный.ЕстьВозможностьИзмененияАдресногоКлассификатора(); ЕстьКлассификатор = Неопределено <> КонтактнаяИнформацияКлиентСервер.ИспользуемыйАдресныйКлассификатор(); @@ -135,7 +136,6 @@ КонецЕсли; КонецЕсли; Страна = СтранаРоссия; - Модифицированность = Истина; КонецЕсли; КонецЕсли; @@ -169,15 +169,27 @@ Если ОбщегоНазначенияКлиентСервер.ЭтоВебКлиент() Тогда МожноЗагружатьКлассификатор = Ложь; - Иначе - КнопкаПанели = Элементы.Добавить("ФормаЗагрузитьКлассификатор", Тип("КнопкаФормы")); - КнопкаПанели.ИмяКоманды = "ЗагрузитьКлассификатор"; - Элементы.Переместить(КнопкаПанели, Элементы.ФормаВсеДействия, Элементы.ФормаСтандартныеДействия); - Элементы.ФормаЗагрузитьКлассификатор.Видимость = МожноЗагружатьКлассификатор; КонецЕсли; + Элементы.ЗагрузитьКлассификатор.Видимость = МожноЗагружатьКлассификатор; + Элементы.ЗагрузитьКлассификаторВсеДействия.Видимость = МожноЗагружатьКлассификатор; Если Не ЕстьКлассификатор Тогда + Элементы.ЗаполнитьПоПочтовомуИндексу.Видимость = Ложь; + Элементы.ЗаполнитьПоПочтовомуИндексуВсеДействия.Видимость = Ложь; + КонецЕсли; + + // По умолчанию выводим представление + Элементы.АдресПредставлениеКомментарий.ТекущаяСтраница = Элементы.АдресСтраницаПредставление; + + // Группа команд "все действия" зависит от интерфейса + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Такси Тогда + Элементы.ФормаВсеДействия.Видимость = Ложь; + Иначе + Элементы.ВвестиАдресВСвободнойФорме.Видимость = Ложь; Элементы.ЗаполнитьПоПочтовомуИндексу.Видимость = Ложь; + Элементы.ФормаОчиститьАдрес.Видимость = Ложь; + Элементы.ЗагрузитьКлассификатор.Видимость = Ложь; + Элементы.ИзменитьФорму.Видимость = Ложь; КонецЕсли; УстановитьКлючИспользованияФормы(); @@ -185,6 +197,8 @@ &НаКлиенте Процедура ПриОткрытии(Отказ) + УстановитьПиктограммуКомментария(); + Элементы.ДобавитьОбъект.Доступность = МожноДобавлятьДополнительныеОбъекты(); ОбработкаИзмененияСтраныКлиент(); @@ -205,7 +219,6 @@ #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы -// &НаКлиенте Процедура СтранаПриИзменении(Элемент) @@ -219,12 +232,16 @@ // Обход особенности платформы Элемент.ОбновитьТекстРедактирования(); #КонецЕсли - + + // Выводим всегда представление + Элементы.АдресПредставлениеКомментарий.ТекущаяСтраница = Элементы.АдресСтраницаПредставление; КонецПроцедуры &НаКлиенте Процедура СтранаОчистка(Элемент, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + КонецПроцедуры &НаКлиенте @@ -243,12 +260,15 @@ &НаКлиенте Процедура СтранаОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка) + Если ПустаяСтрока(Текст) Тогда + СтандартнаяОбработка = Ложь; + КонецЕсли; + #Если ВебКлиент Тогда // Обход особенности платформы СтандартнаяОбработка = Ложь; ДанныеВыбора = Новый СписокЗначений; ДанныеВыбора.Добавить(Страна); - Возврат; #КонецЕсли КонецПроцедуры @@ -312,6 +332,13 @@ ЗаполнитьПредставлениеАдреса(Контекст); КонецПроцедуры +&НаКлиенте +Процедура КомментарийПриИзменении(Элемент) + + УстановитьПиктограммуКомментария(); + +КонецПроцедуры + &НаКлиенте Процедура ТипДомаПриИзменении(Элемент) Контекст = КонтекстФормыКлиент(); @@ -427,8 +454,9 @@ Если МожноЗагружатьКлассификатор И РегионНеЗагружен Тогда // Предлагаем загрузить классификатор УправлениеКонтактнойИнформациейКлиент.ПредложениеЗагрузкиКлассификатора( - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Данные для ""%1"" не загружены.'"), ВыбранноеЗначение.Представление)); + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='Данные для ""%1"" не загружены.'"), ВыбранноеЗначение.Представление), + ВыбранноеЗначение.Представление + ); КонецЕсли; Иначе @@ -520,13 +548,13 @@ Улица = Элемент.ТекстРедактирования; КонецЕсли; - Если КодКлассификатораНаселенногоПункта>0 Тогда - ПараметрыФормы = Новый Структура("СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица", - СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица); + Если КодКлассификатораНаселенногоПункта > 0 Тогда + ПараметрыФормы = Новый Структура("СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица, ДополнительнаяТерритория", + СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица, ДополнительнаяТерритория); Иначе // Родитель улицы неопределен, открываем форму в которой ничего нет - ПараметрыФормы = Новый Структура("СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица, Заголовок", - СкрыватьНеактуальныеАдреса, -1, Улица, НаселенныйПункт + " " + НСтр("ru = '(не найден)'")); + ПараметрыФормы = Новый Структура("СкрыватьНеактуальныеАдреса, КодКлассификатораНаселенногоПункта, Улица, Заголовок, ДополнительнаяТерритория", + СкрыватьНеактуальныеАдреса, -1, Улица, НаселенныйПункт + " " + НСтр("ru = '(не найден)'"), ДополнительнаяТерритория); КонецЕсли; УправлениеКонтактнойИнформациейКлиент.НачалоВыбораУлицы(Элемент, КодКлассификатораНаселенногоПункта, Улица, ПараметрыФормы); @@ -609,19 +637,15 @@ ПредставлениеАдресаПриИзмененииСервер(); КонецПроцедуры -&НаКлиенте -Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект, "Комментарий") -КонецПроцедуры - #КонецОбласти #Область ОбработчикиКомандФормы -// &НаКлиенте Процедура КомандаОК(Команда) + ПодтвердитьИЗакрыть(); + КонецПроцедуры &НаКлиенте @@ -701,7 +725,17 @@ #КонецОбласти #Область СлужебныеПроцедурыИФункции -// + +&НаКлиенте +Процедура УстановитьПиктограммуКомментария() + + Если ПустаяСтрока(Комментарий) Тогда + Элементы.АдресСтраницаКомментарий.Картинка = Новый Картинка; + Иначе + Элементы.АдресСтраницаКомментарий.Картинка = БиблиотекаКартинок.Комментарий; + КонецЕсли; + +КонецПроцедуры &НаКлиенте Процедура ПодтвердитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт @@ -711,10 +745,14 @@ // Изменено значение адреса Контекст = КонтекстФормыКлиент(); - Результат = РезультатВыбора(Контекст, ВозвращатьСписокЗначений); - Если ПроверятьКорректность И (Не РазрешитьВводАдресаВСвободнойФорме) И Результат.ОшибкиЗаполнения.Количество()>0 Тогда + Результат = РезультатаВыбораПоОбновлениюФлагов(Контекст, ВозвращатьСписокЗначений); + + // Флаги вида были прочитаны заново + ВидКонтактнойИнформации = Контекст.ВидКонтактнойИнформации; + + Если ВидКонтактнойИнформации.ПроверятьКорректность И (Не РазрешитьВводАдресаВСвободнойФорме) И Результат.ОшибкиЗаполнения.Количество()>0 Тогда СообщитьОбОшибкахЗаполнения(Результат.ОшибкиЗаполнения, Ложь); - Если ЗапрещатьВводНекорректного Тогда + Если ВидКонтактнойИнформации.ЗапрещатьВводНекорректного Тогда Возврат; КонецЕсли; КонецЕсли; @@ -732,7 +770,7 @@ #КонецЕсли СохранитьСостояниеФормы(); - ИначеЕсли Комментарий<>КопияКомментария Тогда + ИначеЕсли Комментарий <> КопияКомментария Тогда // Изменен только комментарий, пробуем вернуть обновленное Результат = РезультатВыбораТолькоКомментария(Параметры.ЗначенияПолей, Параметры.Представление, Комментарий); Результат = Результат.ДанныеВыбора; @@ -821,18 +859,32 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция РезультатВыбора(Контекст, ВозвращатьСписокЗначений=Ложь) +Функция РезультатаВыбораПоОбновлениюФлагов(Контекст, ВозвращатьСписокЗначений = Ложь) + // Обновляем некоторые флаги + ЗначениеФлагов = УправлениеКонтактнойИнформацией.СтруктураВидаКонтактнойИнформации(Контекст.ВидКонтактнойИнформации.Ссылка); + + Контекст.ВидКонтактнойИнформации.АдресТолькоРоссийский = ЗначениеФлагов.АдресТолькоРоссийский; + Контекст.ВидКонтактнойИнформации.ЗапрещатьВводНекорректного = ЗначениеФлагов.ЗапрещатьВводНекорректного; + Контекст.ВидКонтактнойИнформации.ПроверятьКорректность = ЗначениеФлагов.ПроверятьКорректность; + + Возврат РезультатВыбора(Контекст, ВозвращатьСписокЗначений); +КонецФункции + +&НаСервереБезКонтекста +Функция РезультатВыбора(Контекст, ВозвращатьСписокЗначений = Ложь) XDTOИнформация = КонтактнаяИнформацияПоЗначениюРеквизитов(Контекст); Результат = Новый Структура("ДанныеВыбора, ОшибкиЗаполнения"); Если ВозвращатьСписокЗначений Тогда ДанныеВыбора = КонтактнаяИнформацияСлужебный.КонтактнаяИнформацияВСтаруюСтруктуру(XDTOИнформация); ДанныеВыбора = ДанныеВыбора.ЗначенияПолей; - ИначеЕсли Контекст.Страна<>Контекст.СтранаРоссия И ПустаяСтрока(Контекст.ПредставлениеИностранногоАдреса) Тогда - // Иностранный адрес с пустой страной, вернем чистый адрес + + ИначеЕсли Контекст.Страна = Контекст.СтранаРоссия И ПустаяСтрока(XDTOИнформация.Представление) Тогда ДанныеВыбора = ""; + Иначе ДанныеВыбора = КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(XDTOИнформация); + КонецЕсли; Результат.ДанныеВыбора = Новый Структура("КонтактнаяИнформация, Представление, Комментарий, ВведеноВСвободнойФорме", @@ -967,8 +1019,12 @@ // Проверять, вводить в свободной форме и искать по индексу можем только российские адреса Элементы.ПроверитьЗаполнениеАдреса.Доступность = ЭтоРоссийскийАдрес; - Элементы.ВвестиАдресВСвободнойФорме.Доступность = ЭтоРоссийскийАдрес; - Элементы.ЗаполнитьПоПочтовомуИндексу.Доступность = ЭтоРоссийскийАдрес; + + Элементы.ВвестиАдресВСвободнойФорме.Доступность = ЭтоРоссийскийАдрес; + Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Доступность = ЭтоРоссийскийАдрес; + + Элементы.ЗаполнитьПоПочтовомуИндексу.Доступность = ЭтоРоссийскийАдрес; + Элементы.ЗаполнитьПоПочтовомуИндексуВсеДействия.Доступность = ЭтоРоссийскийАдрес; // Загружать можем только российские адреса Если МожноЗагружатьКлассификатор Тогда @@ -1124,10 +1180,12 @@ Контекст.Индекс = Формат(КонтактнаяИнформацияСлужебный.ПочтовыйИндексАдреса(ДанныеАдреса), "ЧГ="); // Синтетический "Населенный пункт" получаем как представление - Контекст.НаселенныйПункт = КонтактнаяИнформацияСлужебный.ПредставлениеНаселенногоПункта(ДанныеАдреса); + НаселенныйПунктПолноеПредставление = КонтактнаяИнформацияСлужебный.ПредставлениеНаселенногоПункта(ДанныеАдреса, Ложь); + Контекст.НаселенныйПункт = НаселенныйПунктПолноеПредставление; Контекст.Улица = КонтактнаяИнформацияСлужебный.ПредставлениеУлицы(ДанныеАдреса); - АнализКлассификатора = КонтактнаяИнформацияСлужебный.НаселенныеПунктыПоПредставлению(Контекст.НаселенныйПункт, , , Контекст.Улица); + НаселенныйПунктВФорматеКЛАДР = КонтактнаяИнформацияСлужебный.ПредставлениеНаселенногоПункта(ДанныеАдреса); + АнализКлассификатора = КонтактнаяИнформацияСлужебный.НаселенныеПунктыПоПредставлению(НаселенныйПунктВФорматеКЛАДР, , , Контекст.Улица); НайденоНаселенных = АнализКлассификатора.ДанныеВыбора.Количество(); Если НайденоНаселенных = 0 Тогда // Не нашли, наименование населенного пункта не трогаем @@ -1139,26 +1197,41 @@ ВыбранноеЗначение = АнализКлассификатора.ДанныеВыбора[0].Значение.Значение; Контекст.КодКлассификатораНаселенногоПункта = ВыбранноеЗначение.Код; Контекст.НаселенныйПунктНайденТочно = Истина; - Контекст.НаселенныйПункт = ВыбранноеЗначение.Представление; + Контекст.НаселенныйПункт = НаселенныйПунктПолноеПредставление; КонецЕсли; СформироватьДетальныйНаселенныйПункт(Контекст, ДанныеАдреса); - // Синтетическую "Улицу" получаем как представление - - АнализКлассификатора = КонтактнаяИнформацияСлужебный.УлицыПоПредставлению(Контекст.КодКлассификатораНаселенногоПункта, Контекст.Улица); - НайденоУлиц = АнализКлассификатора.ДанныеВыбора.Количество(); - Если НайденоУлиц = 1 Тогда - // Найдено точно - ВыбранноеЗначение = АнализКлассификатора.ДанныеВыбора[0].Значение.Значение; - Контекст.КодКлассификатораУлицы = ВыбранноеЗначение.Код; - Контекст.УлицаНайденаТочно = Истина; - Контекст.Улица = ВыбранноеЗначение.Представление; - Иначе - // Не найдено или найдено несколько, наименование улицы не трогаем - Контекст.КодКлассификатораУлицы = 0; - Контекст.УлицаНайденаТочно = Ложь; + УлицаОпределена = Ложь; + ДополнительнаяТерритория = ""; + Если ДанныеАдреса.Состав <> Неопределено И ТипЗнч(ДанныеАдреса.Состав) <> Тип("Строка") Тогда + Свойство = КонтактнаяИнформацияСлужебный.ЗначениеСвойстваПоXPath(ДанныеАдреса.Состав, "ДопАдрЭл[ТипАдрЭл='10200000']"); + Если Свойство <> Неопределено Тогда + ДополнительнаяТерритория = Свойство.Значение; + АнализКлассификатора = КонтактнаяИнформацияСлужебный.УлицыПоПредставлению(Контекст.КодКлассификатораНаселенногоПункта, ДополнительнаяТерритория); + НайденоУлиц = АнализКлассификатора.ДанныеВыбора.Количество(); + Если НайденоУлиц = 1 Тогда + ВыбранноеЗначение = АнализКлассификатора.ДанныеВыбора[0].Значение.Значение; + Контекст.КодКлассификатораУлицы = ВыбранноеЗначение.Код; + Контекст.УлицаНайденаТочно = Истина; + Контекст.Улица = ВыбранноеЗначение.Представление; + УлицаОпределена = Истина; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Если УлицаОпределена= Ложь Тогда + АнализКлассификатора = КонтактнаяИнформацияСлужебный.УлицыПоПредставлению(Контекст.КодКлассификатораНаселенногоПункта, Контекст.Улица); + НайденоУлиц = АнализКлассификатора.ДанныеВыбора.Количество(); + Если НайденоУлиц = 1 Тогда + // Найдено точно + ВыбранноеЗначение = АнализКлассификатора.ДанныеВыбора[0].Значение.Значение; + Контекст.КодКлассификатораУлицы = ВыбранноеЗначение.Код; + Контекст.УлицаНайденаТочно = Истина; + Контекст.Улица = ВыбранноеЗначение.Представление; + Контекст.ДополнительнаяТерритория = ДополнительнаяТерритория; + КонецЕсли; КонецЕсли; // Дом, строение, помещение @@ -1203,11 +1276,6 @@ ЗаполнитьЗначенияСвойств(Контекст.ДополнительныеПомещения.Вставить(0), ТаблицаДанных[НомерСтроки]); КонецЦикла; - // Если переданное представление отличается от вычисленного, то адрес изменен - Если Не Контекст.РазрешитьВводАдресаВСвободнойФорме И Не ПредставленияАдресаОдинаковы(Контекст.ПредставлениеАдреса, ВычисленноеПредставление) Тогда - Контекст.Модифицированность = Истина; - КонецЕсли; - КонецПроцедуры &НаСервереБезКонтекста @@ -1590,7 +1658,7 @@ КонецЕсли; КонецЕсли; - // Сообщаем об ошибках с привязкой к полям + // Сообщаем список с привязкой к полям Для Каждого Элемент Из СписокОшибок Цикл ОбщегоНазначенияКлиентСервер.СообщитьПользователю( Элемент.Представление,,,ПутьКДаннымФормыПоПутиXPath(Элемент.Значение) @@ -1628,6 +1696,31 @@ КонецЕсли; + // Дополнительно добавленные строения и помещения + Фильтр = Новый Структура("ПутьXPath", ПутьXPath); + + Строки = ДополнительныеЗдания.НайтиСтроки(Фильтр); + Если Строки.Количество() > 0 Тогда + // Первое непустое + Для Каждого СтрокаЗдания Из Строки Цикл + ИмяРеквизита = "Строение" + Формат(ДополнительныеЗдания.Индекс(СтрокаЗдания), "ЧН=; ЧГ="); + Если ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда + Возврат ИмяРеквизита; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Строки = ДополнительныеПомещения.НайтиСтроки(Фильтр); + Если Строки.Количество() > 0 Тогда + // Первое непустое + Для Каждого СтрокаПомещения Из Строки Цикл + ИмяРеквизита = "Помещение" + Формат(ДополнительныеПомещения.Индекс(СтрокаПомещения), "ЧН=; ЧГ="); + Если ЗначениеЗаполнено(ЭтотОбъект[ИмяРеквизита]) Тогда + Возврат ИмяРеквизита; + КонецЕсли; + КонецЦикла; + КонецЕсли; + // Варианты дома Для Каждого ЭлементСписка Из Элементы.ТипДома.СписокВыбора Цикл Если ПутьXPath = КонтактнаяИнформацияКлиентСерверПовтИсп.XPathНомераДополнительногоОбъектаАдресации(ЭлементСписка.Значение) Тогда @@ -1649,18 +1742,6 @@ КонецЕсли; КонецЦикла; - // Дополнительно добавленные - Фильтр = Новый Структура("ПутьXPath", ПутьXPath); - Строки = ДополнительныеЗдания.НайтиСтроки(Фильтр); - Если Строки.Количество()>0 Тогда - Возврат "Строение" + Формат(ДополнительныеЗдания.Индекс(Строки[0]), "ЧН=; ЧГ="); - КонецЕсли; - - Строки = ДополнительныеПомещения.НайтиСтроки(Фильтр); - Если Строки.Количество()>0 Тогда - Возврат "Помещение" + Формат(ДополнительныеПомещения.Индекс(Строки[0]), "ЧН=; ЧГ="); - КонецЕсли; - // Не нашли Возврат ""; КонецФункции @@ -1810,7 +1891,7 @@ |Улица, КодКлассификатораУлицы, УлицаНайденаТочно, |ТипДома, Дом, ДомНайденТочно, ТипСтроения, Строение, ТипПомещения, Помещение, |РазрешитьВводАдресаВСвободнойФорме, ПредставлениеАдресаИзменено, - |Модифицированность + |Модифицированность, ДополнительнаяТерритория |"; СписокКоллекций = "ДополнительныеЗдания, ДополнительныеПомещения"; @@ -1843,8 +1924,8 @@ // Разрешение элементов для ввода в свободном формате // // Параметры: -// - Режим - Истина - можно редактировать представление адреса, Ложь - нельзя -// - ФормироватьПредставление - необязательный флаг. По умолчанию установлен. +// - Режим - Булево - Истина - можно редактировать представление адреса, Ложь - нельзя +// - ФормироватьПредставление - Булево - необязательный флаг. По умолчанию установлен. // &НаКлиенте Процедура СостояниеВводаПредставленияАдреса(Режим, ФормироватьПредставление=Истина) @@ -1870,7 +1951,9 @@ СостояниеГруппыВвода(Элементы.ТипАдреса, Не Режим); // Пометка режима - Элементы.ВвестиАдресВСвободнойФорме.Пометка = Режим; + Элементы.ВвестиАдресВСвободнойФорме.Пометка = Режим; + Элементы.ВвестиАдресВСвободнойФормеВсеДействия.Пометка = Режим; + Элементы.ПредставлениеАдресаКонтекстноеМенюВвестиАдресВСвободнойФорме.Пометка = Режим; // Проверять адрес, введенный вручную нельзя @@ -1888,16 +1971,14 @@ Элементы.ПредставлениеАдреса.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Верх; Элементы.ПредставлениеАдреса.Заголовок = НСтр("ru='Адрес в свободной форме'"); - Элементы.ГруппаПредставления.Отображение = ОтображениеОбычнойГруппы.Нет; - Элементы.СтранаАдреса.Отображение = Элементы.ГруппаПредставления.Отображение; + Элементы.СтранаАдреса.Отображение = ОтображениеОбычнойГруппы.Нет; ТекущийЭлемент = Элементы.ПредставлениеАдреса; Иначе Элементы.ПредставлениеАдреса.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Элементы.ПредставлениеАдреса.Заголовок = ""; - Элементы.ГруппаПредставления.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение; - Элементы.СтранаАдреса.Отображение = Элементы.ГруппаПредставления.Отображение; + Элементы.СтранаАдреса.Отображение = ОтображениеОбычнойГруппы.ОбычноеВыделение; ТекущийЭлемент = Элементы.НаселенныйПункт; КонецЕсли; @@ -1915,21 +1996,23 @@ Для Каждого Элемент Из Группа.ПодчиненныеЭлементы Цикл ТипЭлемента = ТипЗнч(Элемент); - Если ТипЭлемента=Тип("ГруппаФормы") Тогда - Если Элемент<>Элементы.ГруппаПредставления И Элемент<>Элементы.ИностранныйАдрес Тогда + Если ТипЭлемента = Тип("ГруппаФормы") Тогда + Если Элемент <> Элементы.ИностранныйАдрес Тогда СостояниеГруппыВвода(Элемент, Режим); КонецЕсли; - ИначеЕсли ТипЭлемента=Тип("КнопкаФормы") Тогда - Если Элемент=Элементы.ДобавитьОбъект Тогда + ИначеЕсли ТипЭлемента = Тип("КнопкаФормы") Тогда + Если Элемент = Элементы.ДобавитьОбъект Тогда Элемент.Доступность = Режим И МожноДобавлятьДополнительныеОбъекты(); Иначе Элемент.Доступность = Режим; КонецЕсли; - ИначеЕсли ТипЭлемента=Тип("ПолеФормы") И Элемент.Вид=ВидПоляФормы.ПолеВвода Тогда - Элемент.ТолькоПросмотр = Не Режим; - Элемент.ЦветФона = ?(Режим, АвтоЦвет, ЦветФонаФормы); + ИначеЕсли ТипЭлемента = Тип("ПолеФормы") И Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда + Если Элемент <> Элементы.ПредставлениеАдреса Тогда + Элемент.ТолькоПросмотр = Не Режим; + Элемент.ЦветФона = ?(Режим, АвтоЦвет, ЦветФонаФормы); + КонецЕсли; Иначе Элемент.Доступность = Режим; diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Form.form b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Form.form index b5f56e2af..7595fd5db 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Form.form +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Form.form @@ -2,37 +2,312 @@ <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> <title> <key>ru</key> - <value>Номер телефона</value> + <value>Номер телефона, факса</value> - ОсновнойНомер - 14 + ТелефонПредставлениеКомментарий + 56 - ГруппаТелефона - 24 - - КодСтраны - 5 + ТелефонСтраницаПредставление + 58 + + ОсновнойНомер + 14 + + ГруппаТелефона + 24 + + КодСтраны + 5 + true + true + + true + + + КодСтраны + + Top + + ru + Код страны в телефонном номере + + + OnChange + КодСтраныПриИзменении + + + КодСтраныExtendedTooltip + 41 + Label + true + true + + Left + + + + КодСтраныКонтекстноеМеню + 6 + true + + InputField + Enter + true + Left + true + + 6 + true + true + false + true + true + true + true + Normal + + + + КодГорода + 3 + true + true + + true + + + КодГорода + + Top + + ru + Код города в телефонном номере + + + OnChange + КодГородаПриИзменении + + + КодГородаExtendedTooltip + 42 + Label + true + true + + Left + + + + КодГородаКонтекстноеМеню + 4 + true + + InputField + Enter + true + Left + true + + 6 + true + true + false + true + true + true + true + Normal + + + + НомерТелефона + 9 + true + true + + true + + + НомерТелефона + + Top + + ru + Номер телефона в телефонном номере + + + OnChange + НомерТелефонаПриИзменении + + + НомерТелефонаExtendedTooltip + 43 + Label + true + true + + Left + + + + НомерТелефонаКонтекстноеМеню + 10 + true + + InputField + Enter + true + Left + true + + 21 + true + true + true + true + true + true + true + Normal + + + + Добавочный + 1 + true + true + + true + + + Добавочный + + Top + + ru + Добавочный номер + + + OnChange + ДобавочныйПриИзменении + + + ДобавочныйExtendedTooltip + 44 + Label + true + true + + Left + + + + ДобавочныйКонтекстноеМеню + 2 + true + + InputField + Enter + true + Left + true + + 8 + true + true + false + true + true + true + true + Normal + + + true + true + + true + + + ГруппаТелефонаExtendedTooltip + 40 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Представление + 11 + true + true + + true + + + Представление + + None + + ПредставлениеExtendedTooltip + 45 + Label + true + true + + Left + + + + ПредставлениеКонтекстноеМеню + 12 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + true true true - - КодСтраны - - Top + + <key>ru</key> + <value>Основной номер</value> + ru - Код страны в телефонном номере + Основной номер - - OnChange - КодСтраныПриИзменении - - КодСтраныExtendedTooltip - 41 + ОсновнойНомерExtendedTooltip + 39 Label true true @@ -40,182 +315,14 @@ Left - - КодСтраныКонтекстноеМеню - 6 - true - - InputField - Enter - true - Left - true - - 6 - true - true - false - true - true - true - true - Normal - - - - КодГорода - 3 - true - true - - true - - - КодГорода - - Top - - ru - Код города в телефонном номере - - - OnChange - КодГородаПриИзменении - - - КодГородаExtendedTooltip - 42 - Label - true - true - - Left - - - - КодГородаКонтекстноеМеню - 4 - true - - InputField - Enter - true - Left - true - - 6 - true - true - false - true - true - true - true - Normal - - - - НомерТелефона - 9 - true - true - - true - - - НомерТелефона - - Top - - ru - Номер телефона в телефонном номере - - - OnChange - НомерТелефонаПриИзменении - - - НомерТелефонаExtendedTooltip - 43 - Label - true - true - - Left - - - - НомерТелефонаКонтекстноеМеню - 10 - true - - InputField - Enter - true - Left - true - - 21 - true - true - true - true - true - true - true - Normal - - - - Добавочный - 1 - true - true - - true - - - Добавочный - - Top - - ru - Добавочный номер - - - OnChange - ДобавочныйПриИзменении - - - ДобавочныйExtendedTooltip - 44 - Label - true - true - - Left - - - - ДобавочныйКонтекстноеМеню - 2 - true - - InputField - Enter - true - Left - true - - 8 - true - true - false - true - true - true - true - Normal + UsualGroup + + Vertical + Auto + true + true + Auto + Auto true @@ -223,9 +330,17 @@ true + + <key>ru</key> + <value>Номер</value> + + + ru + Телефон страница представление + - ГруппаТелефонаExtendedTooltip - 40 + ТелефонСтраницаПредставлениеРасширеннаяПодсказка + 59 Label true true @@ -233,62 +348,15 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto - - - - Представление - 11 - true - true - - true - - - Представление - - None - - ПредставлениеExtendedTooltip - 45 - Label - true - true - - Left - - - - ПредставлениеКонтекстноеМеню - 12 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal + Page + + Vertical + auto - ГруппаКомментария - 38 + ТелефонСтраницаКомментарий + 60 Комментарий 7 @@ -300,11 +368,15 @@ Комментарий - Left + None ru Дополнительный комментарий, не попадающий в представление + + OnChange + КомментарийПриИзменении + КомментарийExtendedTooltip 47 @@ -326,16 +398,11 @@ Left true - - StartChoice - КомментарийНачалоВыбора - true true true true true - true true true true @@ -349,15 +416,15 @@ <key>ru</key> - <value>Группа комментария</value> + <value>Комментарий</value> ru - Группа комментария + Телефон страница комментарий - ГруппаКомментарияExtendedTooltip - 46 + ТелефонСтраницаКомментарийРасширеннаяПодсказка + 61 Label true true @@ -365,15 +432,10 @@ Left - UsualGroup - + Page + Vertical - Auto - NormalSeparation - true - true - Auto - Auto + auto true @@ -383,15 +445,15 @@ <key>ru</key> - <value>Основной номер</value> + <value>Телефон представление комментарий</value> ru - Основной номер + Телефон представление комментарий - ОсновнойНомерExtendedTooltip - 39 + ТелефонПредставлениеКомментарийРасширеннаяПодсказка + 57 Label true true @@ -399,19 +461,17 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto + Pages + + TabsOnTop Auto - - ПанельКоманд - 28 + Bottom + true + + ФормаКоманднаяПанель + -1 КомандаОК 32 @@ -464,6 +524,60 @@ UserCmds Auto + + ОчиститьТелефон + 34 + true + true + + true + + + ОчиститьТелефонExtendedTooltip + 53 + Label + true + true + + Left + + + Form.Command.ОчиститьТелефон + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИзменитьФорму + 35 + true + true + + true + + + ИзменитьФормуExtendedTooltip + 55 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + Справка 31 @@ -489,21 +603,22 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu ФормаВсеДействия - 33 + 62 - ОчиститьТелефон - 34 + ОчиститьТелефонВсеДействия + 64 true true true - ОчиститьТелефонExtendedTooltip - 53 + ОчиститьТелефонВсеДействияРасширеннаяПодсказка + 65 Label true true @@ -521,18 +636,18 @@ Группа5 - 37 + 66 - ИзменитьФорму - 35 + ИзменитьФормуВсеДействия + 68 true true true - ИзменитьФормуExtendedTooltip - 55 + ИзменитьФормуВсеДействияРасширеннаяПодсказка + 69 Label true true @@ -550,16 +665,16 @@ InCommandBarAndInAdditionalSubmenu - СправкаФормы - 36 + СправкаФормыВсеДействия + 70 true true true - СправкаФормыExtendedTooltip - 56 + СправкаФормыВсеДействияРасширеннаяПодсказка + 71 Label true true @@ -583,7 +698,7 @@ Группа5ExtendedTooltip - 54 + 67 Label true true @@ -608,7 +723,7 @@ ФормаВсеДействияExtendedTooltip - 52 + 63 Label true true @@ -625,39 +740,13 @@ Normal - true - true - - true - - - <key>ru</key> - <value>Панель команд</value> - - - ru - Панель команд - - - ПанельКомандExtendedTooltip - 48 - Label - true - true - - Left - - - CommandBar - - Right - - - - ФормаКоманднаяПанель - -1 - Left + Right + true + + OnOpen + ПриОткрытии + BeforeClose ПередЗакрытием @@ -736,7 +825,7 @@ НомерТелефона <key>ru</key> - <value>Номер телефона</value> + <value>Номер</value> 4 @@ -914,6 +1003,24 @@ true + + ТекстПредупрежденияПриОткрытии + + <key>ru</key> + <value>Текст предупреждения при открытии</value> + + 14 + + String + + + + true + + + true + + КомандаОК diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Help/ru.html b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Help/ru.html new file mode 100644 index 000000000..0269575c3 --- /dev/null +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Help/ru.html @@ -0,0 +1,14 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для ввода номера телефона (факса) с использованием шаблона.</p> +<p>Открывается из табличной части документов или элементов списков - носителей контактной информации по кнопке <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>.</p> +<p>Для того чтобы ввести телефон (факс), необходимо заполнить поля:</p> +<ul><li><strong>Код страны</strong> - программа автоматически добавляет "+" к коду страны; +</li><li><strong>Код города</strong> - автоматически заключается в скобки; +</li><li><strong>Номер телефона</strong> - пишется в произвольной форме; +</li><li><strong>Добавочный номер</strong> - перед цифрами добавочного номера программа автоматически проставляет доб; +</li><li><strong>Комментарий</strong> - введите дополнительную информацию о телефоне.</li></ul><h3>Очистка номера телефона (факса)</h3> +<p>Для того чтобы удалить ошибочно введенный номер телефона (факса) и начать заполнение заново, воспользуйтесь командой <strong>Все действия</strong> (в интерфейсе Такси - <strong>Еще</strong>) - <strong>Очистить номер телефона</strong>. В интерфейсе "Такси" нажмите <strong>Еще</strong>, для того чтобы воспользоваться этой командой.</p> +<h3>См. также:</h3> +<ul><li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a>. +</li><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>. +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Module.bsl b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Module.bsl index 6034f79f7..6d48a4a32 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Module.bsl +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ВводТелефона/Module.bsl @@ -1,21 +1,24 @@ // Форма параметризуется: // -// Заголовок - Строка - заголовок формы -// ЗначенияПолей - Строка - сериализованное значение контактной информации или пустая строка для -// ввода нового -// Представление - Строка - представление телефона (используется только при работе со старыми данными) -// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание редактируемого -// Комментарий - Строка - необязательный комментарий, для подстановки в поле "Комментарий" +// Заголовок - Строка - заголовок формы +// ЗначенияПолей - Строка - сериализованное значение контактной информации или пустая строка для +// ввода нового +// Представление - Строка - представление адреса (используется только при работе со старыми данными) +// ВидКонтактнойИнформации - СправочникСсылка.ВидыКонтактнойИнформации, Структура - описание того, что мы редактируем +// Комментарий - Строка - необязательный комментарий, для подстановки в поле "Комментарий" // // ВозвращатьСписокЗначений - Булево - необязательный флаг того, что возвращаемое значение поля -// КонтактнаяИнформация будет иметь тип СписокЗначений (совместимость) +// КонтактнаяИнформация будет иметь тип СписокЗначений (совместимость) // -// Результатом выбора является структура с полями: -// "КонтактнаяИнформация, Представление, Комментарий" +// Результат выбора: +// Структура - поля: +// * КонтактнаяИнформация - Строка - XML контактной информации +// * Представление - Строка - Представление +// * Комментарий - Строка - Комментарий // +// ------------------------------------------------------------------------------------------------- #Область ОбработчикиСобытийФормы -// &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -35,19 +38,48 @@ Заголовок = ?(ПустаяСтрока(Параметры.Заголовок), Строка(ВидКонтактнойИнформации), Параметры.Заголовок); - Если ТипКонтактнойИнформации=Перечисления.ТипыКонтактнойИнформации.Телефон Тогда - XDTOКонтактная = КонтактнаяИнформацияСлужебный.ДесериализацияТелефона( - Параметры.ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); + Если КонтактнаяИнформацияКлиентСервер.ЭтоСтрокаXML(Параметры.ЗначенияПолей) Тогда + РезультатыЧтения = Новый Структура; + XDTOКонтактная = КонтактнаяИнформацияСлужебный.ДесериализацияКонтактнойИнформации(Параметры.ЗначенияПолей, ТипКонтактнойИнформации, РезультатыЧтения); + Если РезультатыЧтения.Свойство("ТекстОшибки") Тогда + // Распознали с ошибками, сообщим при открытии + ТекстПредупрежденияПриОткрытии = РезультатыЧтения.ТекстОшибки; + XDTOКонтактная.Представление = Параметры.Представление; + КонецЕсли; + + ИначеЕсли ТипКонтактнойИнформации = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда + XDTOКонтактная = КонтактнаяИнформацияСлужебный.ДесериализацияТелефона(Параметры.ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); + Иначе - XDTOКонтактная = КонтактнаяИнформацияСлужебный.ДесериализацияФакса( - Параметры.ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); + XDTOКонтактная = КонтактнаяИнформацияСлужебный.ДесериализацияФакса(Параметры.ЗначенияПолей, Параметры.Представление, ТипКонтактнойИнформации); + КонецЕсли; - Если Параметры.Комментарий<>Неопределено Тогда + Если Параметры.Комментарий <> Неопределено Тогда КонтактнаяИнформацияСлужебный.КомментарийКонтактнойИнформации(XDTOКонтактная, Параметры.Комментарий); КонецЕсли; ЗначениеРеквизитовПоКонтактнойИнформации(XDTOКонтактная); + + // Группа команд "все действия" зависит от интерфейса + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Такси Тогда + Элементы.ФормаВсеДействия.Видимость = Ложь; + Иначе + Элементы.ОчиститьТелефон.Видимость = Ложь; + Элементы.ИзменитьФорму.Видимость = Ложь; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + УстановитьПиктограммуКомментария(); + + Если Не ПустаяСтрока(ТекстПредупрежденияПриОткрытии) Тогда + ПодключитьОбработчикОжидания("Подключаемый_ПредупредитьПослеОткрытияФормы", 0.1, Истина); + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -59,37 +91,45 @@ #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы -// &НаКлиенте Процедура КодСтраныПриИзменении(Элемент) + ЗаполнитьПредставлениеТелефона(); + КонецПроцедуры &НаКлиенте Процедура КодГородаПриИзменении(Элемент) + ЗаполнитьПредставлениеТелефона(); + КонецПроцедуры &НаКлиенте Процедура НомерТелефонаПриИзменении(Элемент) + ЗаполнитьПредставлениеТелефона(); + КонецПроцедуры &НаКлиенте Процедура ДобавочныйПриИзменении(Элемент) + ЗаполнитьПредставлениеТелефона(); + КонецПроцедуры &НаКлиенте -Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект, "Комментарий"); +Процедура КомментарийПриИзменении(Элемент) + + УстановитьПиктограммуКомментария(); + КонецПроцедуры #КонецОбласти #Область ОбработчикиКомандФормы -// &НаКлиенте Процедура КомандаОК(Команда) @@ -98,19 +138,40 @@ &НаКлиенте Процедура КомандаОтмена(Команда) + Модифицированность = Ложь; Закрыть(); + КонецПроцедуры &НаКлиенте Процедура ОчиститьТелефон(Команда) + ОчиститьТелефонСервер(); + КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -// + +&НаКлиенте +Процедура Подключаемый_ПредупредитьПослеОткрытияФормы() + + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстПредупрежденияПриОткрытии); + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьПиктограммуКомментария() + + Если ПустаяСтрока(Комментарий) Тогда + Элементы.ТелефонСтраницаКомментарий.Картинка = Новый Картинка; + Иначе + Элементы.ТелефонСтраницаКомментарий.Картинка = БиблиотекаКартинок.Комментарий; + КонецЕсли; + +КонецПроцедуры &НаКлиенте Процедура ПодтвердитьИЗакрыть(Результат = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт @@ -158,8 +219,10 @@ &НаКлиенте Процедура СброситьМодифицированностьПриВыборе() + Модифицированность = Ложь; КопияКомментария = Комментарий; + КонецПроцедуры &НаСервере @@ -299,4 +362,5 @@ Модифицированность = Истина; КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Help/ru.html b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Help/ru.html index c4023be58..a39ac8989 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Help/ru.html +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Help/ru.html @@ -1,4 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>Форма предназначена для ввода населенного пункта по детальному шаблону.</p> -<p>В поле <em>"Регион"</em> необходимо ввести название субъекта Российской Федерации, к которому относится населенный пункт. Поля <em>"Район"</em>, <em>"Город"</em>, <em>"Нас. пункт"</em> предназначены для ввода соответствующих частей адреса. Поля, которые должны быть заполнены, зависят от адреса. Например, в некоторых адресах может не быть района, в других - города или населенного пункта.</p> -<p>Если для региона адреса загружен адресный классификатор, то по мере набора в каждом поле будут предлагаться варианты соотвествующей части адреса с учетом полей, заполненных ранее.<br>Также, при загруженном классификаторе, можно выбрать часть адреса из списка, нажав на кнопку выбора.<br>При вводе поля <em>"Регион"</em>, если адресный классификатор для этого субъекта Российской Федерации не заполнен и у текущего пользователя есть права на загрузку, будет выведено предложение загрузить классификатор. </p></body></html> \ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для ввода населенного пункта по детальному шаблону.</p> +<p>Открывается из шаблона <a href="DataProcessor.ВводКонтактнойИнформации.Form.ВводАдреса/Help">ввода адреса</a> в поле <strong>Город, населенный пункт</strong> по кнопке <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>.</p> +<p>В поле <strong>Регион</strong> необходимо ввести наименование субъекта Российской Федерации, к которому относится населенный пункт. При вводе поля <strong>Регион</strong>, если <a href="InformationRegister.АдресныйКлассификатор/Help">адресный классификатор</a> для этого субъекта Российской Федерации не заполнен и у текущего пользователя есть права на загрузку, будет выведено предложение <a href="InformationRegister.АдресныйКлассификатор.Form.ЗагрузкаАдресногоКлассификатора/Help">загрузить классификатор</a>. Также, при загруженном классификаторе, можно выбрать часть адреса из списка, нажав <img src="StdPicture.InputFieldSelect" width="12" height="12"></img> <strong>Выбрать</strong>.</p> +<p>Поля <strong>Район</strong>, <strong>Город</strong>, <strong>Нас.пункт</strong> предназначены для ввода соответствующих частей адреса. Поля, которые должны быть заполнены, зависят от адреса. Например, в некоторых адресах может не быть района, в других - города или населенного пункта. Если выбрано устаревшее наименование, программа выводит сообщение. Подтвердите свой выбор, нажав кнопку <strong>Да</strong> для продолжения ввода. Для того чтобы программа не показывала в списках устаревшие адреса, при настройке данного <a href="Catalog.ВидыКонтактнойИнформации/Help">вида контактной информации</a> включите флажок <strong>Скрывать неактуальные адреса</strong>.</p> +<p>После окончания ввода города или населенного пункта нажмите <strong>ОК</strong> для продолжения ввода адреса.</p> +<p>Если для региона адреса загружен адресный классификатор, то по мере набора в каждом поле будут предлагаться варианты соответствующей части адреса с учетом полей, заполненных ранее.</p> +<h3>См. также:</h3> +<ul><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>; +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Module.bsl b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Module.bsl index 573ed7d3a..0b60bc246 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Module.bsl +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/НаселенныйПунктАдреса/Module.bsl @@ -1,14 +1,14 @@ // Форма параметризуется при помощи: // -// КодНаселенногоПункта (число) - если указано, то код текущего адресного классификатора для -// определения и редактирования частей формы. +// КодНаселенногоПункта -Число - если указано, то код текущего адресного классификатора для +// определения и редактирования частей формы. // -// НаселенныйПунктДетально - структура, зависящая от адресного классификатора с -// описанием частей населенного пункта. Используется, только если -// указан нулевой КодНаселенногоПункта +// НаселенныйПунктДетально - Структура - зависит от адресного классификатора, +// описывает части населенного пункта. Используется, только если указан +// нулевой КодНаселенногоПункта // -// СкрыватьНеактуальныеАдреса - флаг того, что при редактировании неактуальные адреса будут -// скрываться +// СкрыватьНеактуальныеАдреса - Булево - флаг того, что при редактировании неактуальные адреса будут +// скрываться // // ------------------------------------------------------------------------------------------------- @@ -95,6 +95,9 @@ Элемент.ПутьКДанным = Элемент.Имя; Элемент.Вид = ВидПоляФормы.ПолеВвода; Элемент.КнопкаВыбора = Истина; + Если Часть.ТолькоПросмотр Тогда + Элемент.КнопкаВыбора = Ложь; + КонецЕсли; Часть.Свойство("Подсказка", Элемент.Подсказка); Если ПустаяСтрока(Элемент.Подсказка) Тогда @@ -215,7 +218,9 @@ ДанныеВыбора = СписокАвтоПодбораЭлементаАдреса(Текст, ИмяЧастиАдресаЭлемента(Элемент), ЧастиАдреса, Истина); // Стандартную обработку отключаем, только если есть наши варианты - СтандартнаяОбработка = ДанныеВыбора.Количество() = 0; + Если ДанныеВыбора = Неопределено ИЛИ ДанныеВыбора.Количество() = 0 Тогда + СтандартнаяОбработка = Истина; + КонецЕсли; КонецПроцедуры &НаКлиенте diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Form.form b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Form.form index c21b5b48b..cbdbdd186 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Form.form +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Form.form @@ -652,7 +652,7 @@ <name>ПриСозданииНаСервере</name> </handlers> <width>50</width> - <height>16</height> + <height>10</height> <windowOpeningMode>LockOwner</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> <autoUrl>true</autoUrl> diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Help/ru.html b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Help/ru.html new file mode 100644 index 000000000..ed9f73aa4 --- /dev/null +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Help/ru.html @@ -0,0 +1,9 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для выбора адреса по почтовому индексу.</p> +<p>Для поиска адреса по индексу необходимо, чтобы по соответствующему региону был загружен <a href="InformationRegister.АдресныйКлассификатор/Help">адресный классификатор</a>.</p> +<p>Открывается из окна <a href="DataProcessor.ВводКонтактнойИнформации.Form.ВводАдреса/Help">ввода адреса</a> по команде <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>) <strong>- Заполнить по почтовому индексу</strong> после ввода почтового индекса. </p> +<p>Вверху окна выводится часть адреса, которую удалось восстановить по индексу. Остается только уточнить. Для выбора предлагаются: улицы крупного города или населенные пункты и улицы населенных пунктов района. Выделите соответствующую часть адреса, нажмите <strong>Выбрать</strong>. Также можно воспользоваться двойным щелчком мыши. После выбора улицы в открывшемся окне ввода адреса введите оставшиеся части адреса.</p> +<h3>См. также:</h3> +<ul><li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a>; +</li><li><a href="DataProcessor.ВводКонтактнойИнформации/Help">Ввод контактной информации</a>; +</li><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Module.bsl b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Module.bsl index a3d4dde32..bd4ce08bf 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Module.bsl +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Forms/ПоискАдресаПоПочтовомуИндексу/Module.bsl @@ -1,12 +1,14 @@ // Параметры формы: -// Индекс - Число - Почтовый индекс для поиска вариантов адресов +// Индекс - Число - Почтовый индекс для поиска вариантов адресов // СкрыватьНеактуальныеАдреса - Булево - флаг того, что при неактуальные адреса будут скрываться // -// В качестве значения выбора возвращается: -// При отказе от выбора - неопределено -// При успешном выборе - структура с полями Код, Представление с данными классификатора +// Результат выбора: +// Структура - с полями: +// * Код - Число - Данные адреса +// * Представление - Данные адреса +// +// --------------------------------------------------------------------------------------------------------------------- // - #Область ОбработчикиСобытийФормы &НаСервере diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/Help/ru.html b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Help/ru.html new file mode 100644 index 000000000..26158c9a8 --- /dev/null +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/Help/ru.html @@ -0,0 +1,18 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>После настройки необходимых <a href="Catalog.ВидыКонтактнойИнформации/Help">видов контактной информации</a>, используемых на предприятии или в организации, и загрузки адресного классификатора, можно приступать к заполнению контактной информации в списках и документах программы.</p> +<p>Контактную информацию можно вводить:</p> +<ul><li>в виде произвольной строки, +</li><li>с помощью шаблонов.</li></ul><p>Использование шаблонов позволяет унифицировать ввод информации, улучшает ее восприятие при просмотре и поиске в списках.</p> +<p>При использовании шаблона адреса <a href="DataProcessor.ВводКонтактнойИнформации.Form.ВводАдреса/Help">поля адреса</a> можно заполнять с помощью <a href="InformationRegister.АдресныйКлассификатор/Help">адресного классификатора</a>. Заполнение адресов с помощью шаблонов и с использованием адресного классификатора значительно убыстряет ввод, снижает количество ошибок при вводе, что в свою очередь облегчает сдачу отчетности в различные организации. Кроме того, адресный классификатор постоянно обновляется, следовательно, адреса сотрудников всегда будут в актуальном состоянии. В программе предусмотрена возможность при использовании шаблонов адресов в порядке исключения ввести некоторые адреса, указанные с ошибкой, в свободной форме.</p> +<p>Использование шаблона при <a href="DataProcessor.ВводКонтактнойИнформации.Form.ВводТелефона/Help">вводе телефонов и факсов</a> облегчает ввод информации, сокращает количество ошибок при вводе.</p> +<p>При вводе контактной информации доступны не только предопределенные поля, но и те поля, которые были добавлены в список <strong>Виды контактной информации</strong> в процессе работы программы.</p> +<p>Если при настройке одного или нескольких <a href="Catalog.ВидыКонтактнойИнформации.Form.ФормаЭлемента/Help">видов контактной информации</a> включен флажок <strong>Разрешить ввод нескольких значений</strong>, то в окне для ввода предусмотрена кнопка <strong>Добавить</strong>. При нажатии на нее предлагается список возможных видов контактной информации для добавления. Например, у организации может быть несколько адресов электронной почты, веб-страниц и т.п.</p> +<p>Для работы с контактной информацией можно воспользоваться командами контекстного  меню по правой кнопке мыши:</p> +<ul><li><strong>Выбрать</strong> (клавиша <strong>F4</strong>) - ввести контактную информацию по шаблону, аналогично кнопке <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong>. По шаблону можно ввести адрес, телефон или факс. +</li><li><strong>Открыть</strong> (сочетание клавиш <strong>Ctrl+Shift+F4)</strong> - просмотр введенной контактной информации (например, слишком длинный адрес можно увидеть целиком с помощью этой команды); +</li><li><strong>Вырезать</strong> (сочетание клавиш <strong>Ctrl+X</strong>); +</li><li><strong>Копировать</strong> (сочетание клавиш <strong>Ctrl+C</strong>); +</li><li><strong>Вставить</strong> (сочетание клавиш <strong>Ctrl+V</strong>); +</li><li><strong>Очистить</strong> (сочетание клавиш <strong>Shift+F4</strong>) - также очищаются поля для ввода по шаблону адреса и телефона. В поле <strong>Страна адреса</strong> автоматически вводится значение <strong>Россия</strong>. +</li><li><strong>Выделить все</strong> (сочетание клавиш <strong>Ctrl+A</strong>). +</li><li><strong>Ввести комментарий</strong> - с помощью этой команды можно ввести или изменить комментарий, не открывая окно редактирования поля. Комментарии предусмотрены для всех видов контактной информации, кроме текстового поля <strong>Другое</strong>, т.к. в это поле можно ввести всю нужную информацию. Воспользуйтесь командой, затем введите текст комментария, нажмите кнопку <strong>ОК</strong> для продолжения работы в программе. Если комментарий не пуст, то он выводится под полем контактной информации.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ВводКонтактнойИнформации/ВводКонтактнойИнформации.mdo b/SSL/src/DataProcessors/ВводКонтактнойИнформации/ВводКонтактнойИнформации.mdo index 5659ae51d..6e0f34d95 100644 --- a/SSL/src/DataProcessors/ВводКонтактнойИнформации/ВводКонтактнойИнформации.mdo +++ b/SSL/src/DataProcessors/ВводКонтактнойИнформации/ВводКонтактнойИнформации.mdo @@ -10,6 +10,11 @@ <value>Ввод контактной информации</value> </synonym> <defaultForm>DataProcessor.ВводКонтактнойИнформации.Form.ВводАдреса</defaultForm> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <forms uuid="86b5303b-d967-4bc6-b2da-066c5a58613f"> <name>ВводАдреса</name> <synonym> @@ -30,6 +35,11 @@ <key>ru</key> <value>Ввод телефона</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -53,6 +63,11 @@ <key>ru</key> <value>Поиск адреса по почтовому индексу</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> diff --git a/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Form.form b/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Form.form index a0a5b7180..b3d97c3dd 100644 --- a/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Form.form @@ -1360,6 +1360,93 @@ <showTitle>auto</showTitle> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ОшибкаРасхожденияВерсий</name> + <id>151</id> + <items xsi:type="form:Decoration"> + <name>КартинкаОшибкаРасхожденияВерсий</name> + <id>159</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>КартинкаОшибкаРасхожденияВерсийРасширеннаяПодсказка</name> + <id>161</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>КартинкаОшибкаРасхожденияВерсийКонтекстноеМеню</name> + <id>160</id> + <autoFill>true</autoFill> + </contextMenu> + <width>4</width> + <autoMaxWidth>true</autoMaxWidth> + <height>2</height> + <autoMaxHeight>true</autoMaxHeight> + <verticalStretch>false</verticalStretch> + <extInfo xsi:type="form:PictureDecorationExtInfo"> + <picture xsi:type="core:PictureRef"> + <picture>CommonPicture.Предупреждение32</picture> + </picture> + </extInfo> + </items> + <items xsi:type="form:Decoration"> + <name>ДекорацияОшибкаРасхожденияВерсий</name> + <id>153</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>ДекорацияОшибкаРасхожденияВерсийРасширеннаяПодсказка</name> + <id>155</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ДекорацияОшибкаРасхожденияВерсийКонтекстноеМеню</name> + <id>154</id> + <autoFill>true</autoFill> + </contextMenu> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </items> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>ОшибкаРасхожденияВерсийРасширеннаяПодсказка</name> + <id>152</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <type>Page</type> + <extInfo xsi:type="form:PageGroupExtInfo"> + <showTitle>auto</showTitle> + </extInfo> + </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -1593,6 +1680,108 @@ <showTitle>auto</showTitle> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ДействияПродолжитьОтмена</name> + <id>162</id> + <items xsi:type="form:FormGroup"> + <name>КоманднаяПанельПродолжитьОтмена</name> + <id>164</id> + <items xsi:type="form:Button"> + <name>ПродолжитьСинхронизацию</name> + <id>168</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>ПродолжитьСинхронизациюРасширеннаяПодсказка</name> + <id>169</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <commandName>Form.Command.ПродолжитьСинхронизацию</commandName> + <buttonImportance>Normal</buttonImportance> + <representation>Auto</representation> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <placementArea>UserCmds</placementArea> + <representationInContextMenu>Auto</representationInContextMenu> + </items> + <items xsi:type="form:Button"> + <name>Закрыть</name> + <id>166</id> + <title> + <key>ru</key> + <value>Отмена</value> + + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 167 + Label + true + true + + Left + + + Form.StandardCommand.Close + Normal + true + true + UserCmds + Auto + + true + true + + true + + + КоманднаяПанельПродолжитьОтменаРасширеннаяПодсказка + 165 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + ДействияПродолжитьОтменаРасширеннаяПодсказка + 163 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -2316,6 +2505,34 @@ true + + ОшибкаРасхожденияВерсийПриПолученииДанных + 26 + + + true + + + true + + + + ПроверятьРасхождениеВерсий + + <key>ru</key> + <value>Проверять расхождение версий</value> + + 27 + + Boolean + + + true + + + true + + ПерейтиВЖурналРегистрации @@ -2404,6 +2621,28 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> + <formCommands> + <name>ПродолжитьСинхронизацию</name> + <title> + <key>ru</key> + <value>Продолжить</value> + + 5 + + ru + Продолжить выполнение синхронизации данных + + + true + + + + ПродолжитьСинхронизацию + + + Auto + Auto + УзелИнформационнойБазы diff --git a/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Module.bsl index 9b8d22487..0f9ad2eda 100644 --- a/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ВыполнениеОбменаДанными/Forms/Форма/Module.bsl @@ -8,8 +8,6 @@ Возврат; КонецЕсли; - УстановитьПривилегированныйРежим(Истина); - АдресДляВосстановленияПароляУчетнойЗаписи = Параметры.АдресДляВосстановленияПароляУчетнойЗаписи; ЗакрытьПриУспешнойСинхронизации = Параметры.ЗакрытьПриУспешнойСинхронизации; УзелИнформационнойБазы = Параметры.УзелИнформационнойБазы; @@ -32,8 +30,8 @@ Заголовок = НСтр("ru = 'Синхронизация данных с ""%1""'"); Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Заголовок, Строка(УзелИнформационнойБазы)); - РольДоступнаДобавлениеИзменениеОбменовДанными = Пользователи.РолиДоступны("НастройкаСинхронизацииДанных",, Ложь); - РольДоступнаПолныеПрава = Пользователи.ЭтоПолноправныйПользователь(,, Ложь); + РольДоступнаДобавлениеИзменениеОбменовДанными = Пользователи.РолиДоступны("НастройкаСинхронизацииДанных"); + РольДоступнаПолныеПрава = Пользователи.ЭтоПолноправныйПользователь(); Элементы.ПанельТребуетсяОбновление.ТекущаяСтраница = ?(РольДоступнаПолныеПрава, Элементы.ТребуетсяОбновлениеПолныеПрава, Элементы.ТребуетсяОбновлениеОграниченныеПрава); Элементы.ТекстТребуетсяОбновлениеПолныеПрава.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Элементы.ТекстТребуетсяОбновлениеПолныеПрава.Заголовок, УзелИнформационнойБазы); @@ -44,12 +42,16 @@ СинхронизацияДанныхОтключена = Ложь; ВыполнитьОтправкуДанных = Ложь; - МодульАвтономнаяРаботаСлужебный = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("АвтономнаяРаботаСлужебный"); - Если МодульАвтономнаяРаботаСлужебный = Неопределено Тогда - НеНапоминатьОДолгойСинхронизации = Истина; - Иначе + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда + + МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); + НеНапоминатьОДолгойСинхронизации = МодульАвтономнаяРаботаСлужебный.ЭтоАвтономноеРабочееМесто() И (Не МодульАвтономнаяРаботаСлужебный.ФлагНастройкиВопросаОДолгойСинхронизации()); + + Иначе + НеНапоминатьОДолгойСинхронизации = Истина; + КонецЕсли; ВидТранспортаСообщений = РегистрыСведений.НастройкиТранспортаОбмена.ВидТранспортаСообщенийОбменаПоУмолчанию(УзелИнформационнойБазы); @@ -128,6 +130,17 @@ КонецЕсли; + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда + + МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); + + Если Не МодульАвтономнаяРаботаСлужебный.ЭтоАвтономноеРабочееМесто() Тогда + ПроверятьРасхождениеВерсий = Истина; + КонецЕсли; + + КонецЕсли; + КлючСохраненияПоложенияОкна = ?(ПарольСинхронизацииЗадан И НеНапоминатьОДолгойСинхронизации, "ПарольСинхронизацииЗадан", "") + "/" + ?(НеНапоминатьОДолгойСинхронизации, "НеНапоминатьОДолгойСинхронизации", ""); КонецПроцедуры @@ -177,6 +190,18 @@ КонецПроцедуры +&НаКлиенте +Процедура ПродолжитьСинхронизацию(Команда) + + ПорядковыйНомерПерехода = ПорядковыйНомерПерехода - 1; + УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода + 1); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + //////////////////////////////////////////////////////////////////////////////// // ПОСТАВЛЯЕМАЯ ЧАСТЬ //////////////////////////////////////////////////////////////////////////////// @@ -384,6 +409,13 @@ Если Отказ Тогда + Если ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + + ОбработатьОшибкуРасхожденияВерсий(); + Возврат; + + КонецЕсли; + УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода - 1); Возврат; @@ -558,21 +590,36 @@ &НаСервереБезКонтекста Функция СохранитьФлагВопросаОДолгойСинхронизацииСервер(Знач Флаг, Настройки = Неопределено) - МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); - - НадоСохранять = МодульАвтономнаяРаботаСлужебный <> Неопределено - И МодульАвтономнаяРаботаСлужебный.ЭтоАвтономноеРабочееМесто() - И Флаг <> МодульАвтономнаяРаботаСлужебный.ФлагНастройкиВопросаОДолгойСинхронизации(); - - Если НадоСохранять Тогда - - МодульАвтономнаяРаботаСлужебный.ФлагНастройкиВопросаОДолгойСинхронизации(Флаг, Настройки); + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ОбменДаннымиВМоделиСервиса") Тогда + МодульАвтономнаяРаботаСлужебный = ОбщегоНазначения.ОбщийМодуль("АвтономнаяРаботаСлужебный"); + + НадоСохранять = МодульАвтономнаяРаботаСлужебный.ЭтоАвтономноеРабочееМесто() + И Флаг <> МодульАвтономнаяРаботаСлужебный.ФлагНастройкиВопросаОДолгойСинхронизации(); + + Если НадоСохранять Тогда + МодульАвтономнаяРаботаСлужебный.ФлагНастройкиВопросаОДолгойСинхронизации(Флаг, Настройки); + КонецЕсли; + + Иначе + НадоСохранять = Ложь; КонецЕсли; Возврат НадоСохранять; КонецФункции +&НаКлиенте +Процедура ОбработатьОшибкуРасхожденияВерсий() + + Элементы.ВыполнениеОбменаДанными.ТекущаяСтраница = Элементы.ЗавершениеОбмена; + Элементы.СтатусЗавершенияОбмена.ТекущаяСтраница = Элементы.ОшибкаРасхожденияВерсий; + Элементы.ПанельДействий.ТекущаяСтраница = Элементы.ДействияПродолжитьОтмена; + Элементы.ПродолжитьСинхронизацию.КнопкаПоУмолчанию = Истина; + Элементы.ДекорацияОшибкаРасхожденияВерсий.Заголовок = ОшибкаРасхожденияВерсийПриПолученииДанных.ТекстОшибки; + ПроверятьРасхождениеВерсий = Ложь; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // РАЗДЕЛ ОБРАБОТЧИКОВ СОБЫТИЙ ПЕРЕХОДОВ @@ -581,16 +628,27 @@ &НаКлиенте Функция Подключаемый_ОбычнаяЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) - ОбычнаяЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, УзелИнформационнойБазы, ВидТранспортаСообщений); + ОбычнаяЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, УзелИнформационнойБазы, + ВидТранспортаСообщений, ОшибкаРасхожденияВерсийПриПолученииДанных, ПроверятьРасхождениеВерсий); - ЕстьОшибки = ЕстьОшибки ИЛИ Отказ; - - Отказ = Ложь; // чтобы не выполнять перехода назад + Если ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + + Отказ = Истина; + + Иначе + + ЕстьОшибки = ЕстьОшибки ИЛИ Отказ; + Отказ = Ложь; + + КонецЕсли; КонецФункции &НаСервереБезКонтекста -Процедура ОбычнаяЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, Знач УзелИнформационнойБазы, Знач ВидТранспортаСообщений) +Процедура ОбычнаяЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, Знач УзелИнформационнойБазы, + Знач ВидТранспортаСообщений, ОшибкаРасхожденияВерсийПриПолученииДанных, ПроверятьРасхождениеВерсий) + + ОбменДаннымиСервер.ИнициализироватьПараметрыПроверкиРасхожденияВерсий(ПроверятьРасхождениеВерсий); // запускаем выполнение обмена ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( @@ -599,6 +657,8 @@ Истина, Ложь, ВидТранспортаСообщений); + + ОшибкаРасхожденияВерсийПриПолученииДанных = ОбменДаннымиСервер.ОшибкаРасхожденияВерсийПриПолученииДанных(); КонецПроцедуры @@ -608,7 +668,6 @@ ОбычнаяВыгрузкаДанных_ОбработкаДлительнойОперации(Отказ, УзелИнформационнойБазы, ВидТранспортаСообщений); ЕстьОшибки = ЕстьОшибки ИЛИ Отказ; - Отказ = Ложь; КонецФункции @@ -682,26 +741,40 @@ ИдентификаторФайлаСообщенияВСервисе = ""; ИдентификаторДлительнойОперации = ""; + ЕстьОшибкаРасхожденияВерсий = Ложь; + Если Не СинхронизацияДанныхОтключена Тогда - ПараметрыАутентификации = ?(ИспользоватьСохраненныеПараметрыАутентификации, - Неопределено, - Новый Структура("ИспользоватьТекущегоПользователя", ИспользоватьТекущегоПользователяДляАутентификации)); + ПараметрыАутентификации = ?(ИспользоватьСохраненныеПараметрыАутентификации, Неопределено, + Новый Структура("ИспользоватьТекущегоПользователя", ИспользоватьТекущегоПользователяДляАутентификации) + ); ЗагрузкаДанных_ОбработкаДлительнойОперации( - Отказ, - УзелИнформационнойБазы, - ДлительнаяОперация, - ИдентификаторДлительнойОперации, - ИдентификаторФайлаСообщенияВСервисе, - ДатаНачалаОперации, - ПараметрыАутентификации); + Отказ, + УзелИнформационнойБазы, + ДлительнаяОперация, + ИдентификаторДлительнойОперации, + ИдентификаторФайлаСообщенияВСервисе, + ДатаНачалаОперации, + ПараметрыАутентификации, + ПроверятьРасхождениеВерсий, + ОшибкаРасхожденияВерсийПриПолученииДанных + ); + + Если ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + ЕстьОшибкаРасхожденияВерсий = Истина; + КонецЕсли; КонецЕсли; - ЕстьОшибки = ЕстьОшибки ИЛИ Отказ; - - Отказ = Ложь; + Если ЕстьОшибкаРасхожденияВерсий Тогда + Отказ = Истина; + + Иначе + ЕстьОшибки = ЕстьОшибки Или Отказ; + Отказ = Ложь; + + КонецЕсли; КонецФункции @@ -713,10 +786,14 @@ ИдентификаторОперации, ИдентификаторФайла, ДатаНачалаОперации, - Знач ПараметрыАутентификации) + Знач ПараметрыАутентификации, + ПроверятьРасхождениеВерсий, + ОшибкаРасхожденияВерсийПриПолученииДанных) ДатаНачалаОперации = ТекущаяДатаСеанса(); + ОбменДаннымиСервер.ИнициализироватьПараметрыПроверкиРасхожденияВерсий(ПроверятьРасхождениеВерсий); + // запускаем выполнение обмена ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( Отказ, @@ -730,6 +807,8 @@ Истина, ПараметрыАутентификации); + ОшибкаРасхожденияВерсийПриПолученииДанных = ОбменДаннымиСервер.ОшибкаРасхожденияВерсийПриПолученииДанных(); + КонецПроцедуры &НаКлиенте diff --git a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/ДополнительныеПараметры/Help/ru.html b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/ДополнительныеПараметры/Help/ru.html index 11273aeb9..c34cd522a 100644 --- a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/ДополнительныеПараметры/Help/ru.html +++ b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/ДополнительныеПараметры/Help/ru.html @@ -1,4 +1,4 @@ - +

                            После ввода значений для изменения реквизитов можно задать особые настройки с помощью команды Дополнительные параметры:

                            • Изменять в транзакции (по умолчанию флажок установлен) - программа позволяет обрабатывать выбранные для изменения элементы списка в транзакции. Если в процессе записи при установленном флажке не удается записать один из объектов (например, потому что объект редактируется другим пользователем), то будут отменены изменения во всех объектах.
                              diff --git a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Form.form b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Form.form index 8ce6137e3..f802519a8 100644 --- a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Form.form @@ -282,7 +282,7 @@ true true true - 5 + 7 true true MultiRow @@ -890,7 +890,6 @@ ru Изменяемые реквизиты - 15 ИзменяемыеРеквизитыРасширеннаяПодсказка 184 @@ -1285,7 +1284,7 @@ true true - 5 + 2 true false true @@ -2295,7 +2294,8 @@ Number AnyRef - 20 + 30 + 10 diff --git a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Module.bsl index 0c68936b0..da395f9e2 100644 --- a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Forms/Форма/Module.bsl @@ -38,6 +38,7 @@ Если УчитыватьИерархию И ОбрабатыватьРекурсивно <> ВыбранноеЗначение.ОбрабатыватьРекурсивно Тогда ОбрабатыватьРекурсивно = ВыбранноеЗначение.ОбрабатыватьРекурсивно; ПерезаполнитьСтруктуруРеквизитовОбъекта = Истина; + ИнициализироватьКомпоновщикНастроек(); КонецЕсли; Объект.ИзменятьВТранзакции = ВыбранноеЗначение.ИзменятьВТранзакции; Объект.ПрерыватьПриОшибке = ВыбранноеЗначение.ПрерыватьПриОшибке; @@ -363,10 +364,17 @@ &НаСервере Процедура ВыполнитьДействияПриКонтекстномОткрытии() - ТипПереданногоОбъекта = ТипЗнч(Параметры.МассивОбъектов[0]); + ТипПереданныхОбъектов = ТипЗнч(Параметры.МассивОбъектов[0]); + + Для Каждого ПереданныйОбъект Из Параметры.МассивОбъектов Цикл + Если ТипЗнч(ПереданныйОбъект) <> ТипПереданныхОбъектов Тогда + ВызватьИсключение НСтр("ru = 'Групповое изменение возможно только для элементов одного типа.'"); + КонецЕсли; + КонецЦикла; + КоличествоОбъектов = Параметры.МассивОбъектов.Количество(); ШаблонЗаголовка = НСтр("ru = 'Изменение выделенных элементов ""%1"" (%2)'"); - Заголовок = ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ТипПереданногоОбъекта, КоличествоОбъектов); + Заголовок = ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ТипПереданныхОбъектов, КоличествоОбъектов); ЗапретРедактированияВстроен = Метаданные.НайтиПоПолномуИмени("ОбщийМодуль.ЗапретРедактированияРеквизитовОбъектовКлиент") <> Неопределено; СвойстваВстроены = Метаданные.НайтиПоПолномуИмени("ОбщийМодуль.УправлениеСвойствами") <> Неопределено; @@ -515,11 +523,11 @@ Массив = Новый Массив; - XMLСтрокаМассив = РазложитьСтрокуВМассивПодстрок(XMLСтрока, "%%"); + XMLСтрокаМассив = РазложитьСтрокуВМассивПодстрок(XMLСтрока, "#"); Для Каждого Элемент Из XMLСтрокаМассив Цикл - ЭлементМассив = РазложитьСтрокуВМассивПодстрок(Элемент, "%"); + ЭлементМассив = РазложитьСтрокуВМассивПодстрок(Элемент, "*"); ЗначениеЭлемента = XMLЗначение(Тип(ЭлементМассив[0]), ЭлементМассив[1]); @@ -891,7 +899,7 @@ ТекущееСостояниеИзменения.КоличествоОшибок ); - Элементы.ФормаНазад.Видимость = Не КонтекстныйВызов; + Элементы.ФормаНазад.Видимость = Истина; ТекущееСостояниеИзменения = Неопределено; @@ -2095,10 +2103,10 @@ Для Каждого Элемент Из ОписаниеПараметраВыбора.Значение Цикл - ЗначениеСтрокаШаблон = "[Тип]%[Значение]"; + ЗначениеСтрокаШаблон = "[Тип]*[Значение]"; ЗначениеСтрокаШаблон = СтрЗаменить(ЗначениеСтрокаШаблон, "[Тип]", СтроковоеПредставлениеТипа(ТипЗнч(Элемент))); ЗначениеСтрокаШаблон = СтрЗаменить(ЗначениеСтрокаШаблон, "[Значение]", XMLСтрока(Элемент)); - ЗначениеСтрока = ЗначениеСтрока + ?(ПустаяСтрока(ЗначениеСтрока), "", "%%") + ЗначениеСтрокаШаблон; + ЗначениеСтрока = ЗначениеСтрока + ?(ПустаяСтрока(ЗначениеСтрока), "", "#") + ЗначениеСтрокаШаблон; КонецЦикла; diff --git a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Help/ru.html b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Help/ru.html index 462f62078..e2d3eef78 100644 --- a/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Help/ru.html +++ b/SSL/src/DataProcessors/ГрупповоеИзменениеРеквизитов/Help/ru.html @@ -1,4 +1,4 @@ - +

                              Групповое изменение реквизитов

                              Групповое изменение реквизитов предусмотрено в двух вариантах:

                              • в большинстве списков программы предусмотрена команда Изменить выделенные. diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Form.form b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Form.form index 98b1a1295..ce5315977 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Form.form +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Form.form @@ -151,6 +151,7 @@ false true true + true true true true @@ -328,6 +329,7 @@ Left true + 5 true true true @@ -752,14 +754,6 @@ true true - - <key>ru</key> - <value>Группа сервер</value> - - - ru - Группа сервер - ГруппаСерверExtendedTooltip 154 @@ -777,125 +771,6 @@ true - - ГруппаСобытие - 63 - - ПредставлениеСобытия - 64 - - <key>ru</key> - <value>Событие</value> - - true - true - - true - - - Журнал.ПредставлениеСобытия - - - ПредставлениеСобытияExtendedTooltip - 159 - Label - true - true - - Left - - - - ПредставлениеСобытияКонтекстноеМеню - 65 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - Комментарий - 66 - - <key>ru</key> - <value>Комментарий</value> - - true - true - - true - - - Журнал.Комментарий - - - КомментарийExtendedTooltip - 160 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 67 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - true - true - - true - - - ГруппаСобытиеExtendedTooltip - 158 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - ГруппаТранзакция 68 @@ -991,9 +866,7 @@ true true - - true - + ГруппаТранзакцияExtendedTooltip 161 @@ -1011,99 +884,292 @@ true + + ГруппаСобытиеИДанные + 175 + + СобытиеИМетаданные + 177 + + ПредставлениеСобытия + 64 + + <key>ru</key> + <value>Событие</value> + + true + true + + true + + + Журнал.ПредставлениеСобытия + + + ПредставлениеСобытияExtendedTooltip + 159 + Label + true + true + + Left + + + + ПредставлениеСобытияКонтекстноеМеню + 65 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + + ПредставлениеМетаданных + 74 + + <key>ru</key> + <value>Метаданные</value> + + true + true + + true + + + Журнал.ПредставлениеМетаданных + + + ПредставлениеМетаданныхExtendedTooltip + 165 + Label + true + true + + Left + + + + ПредставлениеМетаданныхКонтекстноеМеню + 75 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + СобытиеИМетаданныеРасширеннаяПодсказка + 178 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + КомментарийИДанные + 179 + + Данные + 76 + true + true + + true + + + Журнал.Данные + + + ДанныеExtendedTooltip + 166 + Label + true + true + + Left + + + + ДанныеКонтекстноеМеню + 77 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + + Комментарий + 66 + + <key>ru</key> + <value>Комментарий</value> + + true + true + + true + + + Журнал.Комментарий + + + КомментарийExtendedTooltip + 160 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 67 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + КомментарийИДанныеРасширеннаяПодсказка + 180 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + true + true + + true + + + ГруппаСобытиеИДанныеРасширеннаяПодсказка + 176 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + ГруппаСобытие + 63 + true + true + + true + + + ГруппаСобытиеExtendedTooltip + 158 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + ГруппаДанные 73 - - ПредставлениеМетаданных - 74 - - <key>ru</key> - <value>Метаданные</value> - - true - true - - true - - - Журнал.ПредставлениеМетаданных - - - ПредставлениеМетаданныхExtendedTooltip - 165 - Label - true - true - - Left - - - - ПредставлениеМетаданныхКонтекстноеМеню - 75 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - Данные - 76 - true - true - - true - - - Журнал.Данные - - - ДанныеExtendedTooltip - 166 - Label - true - true - - Left - - - - ДанныеКонтекстноеМеню - 77 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - ПредставлениеДанных 78 @@ -1140,7 +1206,6 @@ true - true true true @@ -1641,10 +1706,10 @@ ЖурналСтрокаПоиска - 178 + 184 ЖурналСтрокаПоискаРасширеннаяПодсказка - 180 + 186 Label true true @@ -1654,7 +1719,7 @@ ЖурналСтрокаПоискаКонтекстноеМеню - 179 + 185 true Журнал @@ -1664,10 +1729,10 @@ ЖурналСостояниеПросмотра - 181 + 187 ЖурналСостояниеПросмотраРасширеннаяПодсказка - 183 + 189 Label true true @@ -1677,7 +1742,7 @@ ЖурналСостояниеПросмотраКонтекстноеМеню - 182 + 188 true ViewStatusAddition @@ -1688,10 +1753,10 @@ ЖурналУправлениеПоиском - 184 + 190 ЖурналУправлениеПоискомРасширеннаяПодсказка - 186 + 192 Label true true @@ -1701,7 +1766,7 @@ ЖурналУправлениеПоискомКонтекстноеМеню - 185 + 191 true SearchControlAddition diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Module.bsl b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Module.bsl index 83ebeaf9d..e732f16e3 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Module.bsl +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ЖурналРегистрации/Module.bsl @@ -45,8 +45,11 @@ ОтборЖурналаРегистрации.Вставить("ДатаНачала", Параметры.ДатаНачала); КонецЕсли; + Информация = Новый СистемнаяИнформация; + ВерсияПрограммы = Информация.ВерсияПриложения; + ЭтоПлатформа835 = (Лев(ВерсияПрограммы, 5) = "8.3.5"); Если ЗначениеЗаполнено(Параметры.ДатаОкончания) Тогда - ОтборЖурналаРегистрации.Вставить("ДатаОкончания", Параметры.ДатаОкончания); + ОтборЖурналаРегистрации.Вставить("ДатаОкончания", Параметры.ДатаОкончания + ?(ЭтоПлатформа835, 1, 0)); КонецЕсли; Если Параметры.Данные <> Неопределено Тогда diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Form.form b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Form.form index bc86a16ce..a15493d4f 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Form.form +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Form.form @@ -48,123 +48,28 @@ Normal - - ПроизвольныйПериод - 199 - - ДатаНачала - 7 - - <key>ru</key> - <value>Начало</value> - - true - true - - true - - - ИнтервалОтбораДатаНачала - - - OnChange - ИнтервалОтбораДатаПриИзменении - - - ДатаНачалаExtendedTooltip - 204 - Label - true - true - - Left - - - - ДатаНачалаКонтекстноеМеню - 8 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ДатаОкончания - 5 - - <key>ru</key> - <value>Окончание</value> - - true - true - - true - - - ИнтервалОтбораДатаОкончания - - - OnChange - ИнтервалОтбораДатаПриИзменении - - - ДатаОкончанияExtendedTooltip - 205 - Label - true - true - - Left - - - - ДатаОкончанияКонтекстноеМеню - 6 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - true - - Style.BorderColor - - Normal - - + + ДатаНачала + 7 + + <key>ru</key> + <value>Начало</value> + true true true + + ИнтервалОтбораДатаНачала + + + OnChange + ИнтервалОтбораДатаПриИзменении + - ПроизвольныйПериодРасширеннаяПодсказка - 203 + ДатаНачалаExtendedTooltip + 204 Label true true @@ -172,13 +77,81 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ДатаНачалаКонтекстноеМеню + 8 + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + Normal + + + + ДатаОкончания + 5 + + <key>ru</key> + <value>Окончание</value> + + true + true + + true + + + ИнтервалОтбораДатаОкончания + + + OnChange + ИнтервалОтбораДатаПриИзменении + + + ДатаОкончанияExtendedTooltip + 205 + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 6 + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + Normal true @@ -209,7 +182,6 @@ Auto true true - Equal Auto Auto @@ -377,20 +349,96 @@ false None - - ПометкаВажности - 108 + + ВажностьИЗначение + 263 + + ПометкаВажности + 108 + true + true + + true + + + Важность.Check + + + ПометкаВажностиExtendedTooltip + 213 + Label + true + true + + Left + + + + ПометкаВажностиКонтекстноеМеню + 109 + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ЗначениеВажности + 110 + true + true + + true + + + Важность.Value + + + ЗначениеВажностиExtendedTooltip + 214 + Label + true + true + + Left + + + + ЗначениеВажностиКонтекстноеМеню + 111 + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + Normal + + true true true - - Важность.Check - - ПометкаВажностиExtendedTooltip - 213 + ВажностьИЗначениеРасширеннаяПодсказка + 264 Label true true @@ -398,62 +446,11 @@ Left - - ПометкаВажностиКонтекстноеМеню - 109 - true - - CheckBoxField - Enter - true - Left - true - Left - - - - ЗначениеВажности - 110 - true - true - - true - - - Важность.Value - - - ЗначениеВажностиExtendedTooltip - 214 - Label - true - true - - Left - - - - ЗначениеВажностиКонтекстноеМеню - 111 - true - - InputField - true - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal + ColumnGroup + + InCell + auto + true Top @@ -464,10 +461,10 @@ ВажностьСтрокаПоиска - 266 + 270 ВажностьСтрокаПоискаРасширеннаяПодсказка - 268 + 272 Label true true @@ -477,7 +474,7 @@ ВажностьСтрокаПоискаКонтекстноеМеню - 267 + 271 true Важность @@ -487,10 +484,10 @@ ВажностьСостояниеПросмотра - 269 + 273 ВажностьСостояниеПросмотраРасширеннаяПодсказка - 271 + 275 Label true true @@ -500,7 +497,7 @@ ВажностьСостояниеПросмотраКонтекстноеМеню - 270 + 274 true ViewStatusAddition @@ -511,10 +508,10 @@ ВажностьУправлениеПоиском - 272 + 276 ВажностьУправлениеПоискомРасширеннаяПодсказка - 274 + 278 Label true true @@ -524,7 +521,7 @@ ВажностьУправлениеПоискомКонтекстноеМеню - 273 + 277 true SearchControlAddition @@ -1007,67 +1004,12 @@ Normal - - ПредставлениеДанных - 53 - true - true - - true - - - ПредставлениеДанных - - - ПредставлениеДанныхExtendedTooltip - 219 - Label - true - true - - Left - - - - ПредставлениеДанныхКонтекстноеМеню - 54 - true - - InputField - Enter - true - Left - true - Left - - true - true - true - true - true - true - - Style.BorderColor - - Normal - - true true true - - <key>ru</key> - <value>Данные</value> - - - System.DefaultGUIFont - true - false - false - false - + ru Данные @@ -1084,15 +1026,58 @@ UsualGroup - Vertical Auto true true - auto Auto Auto + + ПредставлениеДанных + 53 + true + true + + true + + + ПредставлениеДанных + + + ПредставлениеДанныхExtendedTooltip + 219 + Label + true + true + + Left + + + + ПредставлениеДанныхКонтекстноеМеню + 54 + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + Normal + + true true @@ -1100,7 +1085,7 @@ <key>ru</key> - <value>Группа данные</value> + <value>Данные</value> ГруппаДанныеРасширеннаяПодсказка @@ -1114,11 +1099,12 @@ UsualGroup + Vertical Auto - NormalSeparation true true Equal + auto Auto Auto @@ -1295,20 +1281,96 @@ false None - - ПометкаСтатуса - 118 + + ГруппаПометкаИЗначение + 265 + + ПометкаСтатуса + 118 + true + true + + true + + + СтатусТранзакции.Check + + + ПометкаСтатусаExtendedTooltip + 233 + Label + true + true + + Left + + + + ПометкаСтатусаКонтекстноеМеню + 119 + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ЗначениеСтатуса + 120 + true + true + + true + + + СтатусТранзакции.Value + + + ЗначениеСтатусаExtendedTooltip + 234 + Label + true + true + + Left + + + + ЗначениеСтатусаКонтекстноеМеню + 121 + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + Normal + + true true true - - СтатусТранзакции.Check - - ПометкаСтатусаExtendedTooltip - 233 + ГруппаПометкаИЗначениеРасширеннаяПодсказка + 266 Label true true @@ -1316,62 +1378,11 @@ Left - - ПометкаСтатусаКонтекстноеМеню - 119 - true - - CheckBoxField - Enter - true - Left - true - Left - - - - ЗначениеСтатуса - 120 - true - true - - true - - - СтатусТранзакции.Value - - - ЗначениеСтатусаExtendedTooltip - 234 - Label - true - true - - Left - - - - ЗначениеСтатусаКонтекстноеМеню - 121 - true - - InputField - true - Enter - true - Left - true - Left - - true - true - true - true - true - - Style.BorderColor - - Normal + ColumnGroup + + InCell + auto + true None @@ -1382,10 +1393,10 @@ СтатусТранзакцииСтрокаПоиска - 293 + 297 СтатусТранзакцииСтрокаПоискаРасширеннаяПодсказка - 295 + 299 Label true true @@ -1395,7 +1406,7 @@ СтатусТранзакцииСтрокаПоискаКонтекстноеМеню - 294 + 298 true СтатусТранзакции @@ -1405,10 +1416,10 @@ СтатусТранзакцииСостояниеПросмотра - 296 + 300 СтатусТранзакцииСостояниеПросмотраРасширеннаяПодсказка - 298 + 302 Label true true @@ -1418,7 +1429,7 @@ СтатусТранзакцииСостояниеПросмотраКонтекстноеМеню - 297 + 301 true ViewStatusAddition @@ -1429,10 +1440,10 @@ СтатусТранзакцииУправлениеПоиском - 299 + 303 СтатусТранзакцииУправлениеПоискомРасширеннаяПодсказка - 301 + 305 Label true true @@ -1442,7 +1453,7 @@ СтатусТранзакцииУправлениеПоискомКонтекстноеМеню - 300 + 304 true SearchControlAddition @@ -1550,13 +1561,7 @@ ru Транзакция - - System.DefaultGUIFont - true - false - false - false - + ГруппаТранзакцияExtendedTooltip 230 @@ -1828,13 +1833,7 @@ ru Прочее - - System.DefaultGUIFont - true - false - false - false - + ГруппаПрочееРасширеннаяПодсказка 225 @@ -1994,8 +1993,8 @@ OnCreateAtServer ПриСозданииНаСервере - 90 - LockOwner + 70 + DontBlock true true true diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Module.bsl b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Module.bsl index 11940fe9b..4287d6ebf 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Module.bsl +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ОтборЖурналаРегистрации/Module.bsl @@ -16,6 +16,8 @@ СобытияОтображаемые = События.Скопировать(); КонецЕсли; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, "ГруппаДанные, ГруппаТранзакция, ГруппаПрочее"); + Элементы.РазделениеДанныхСеанса.Видимость = Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных(); КонецПроцедуры diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Form.form b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Form.form index 51b75d0bf..ed0f1ecbd 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Form.form +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Form.form @@ -4,6 +4,95 @@ ru Событие + + ГруппаКнопок + 42 + + Закрыть + 43 + true + true + + true + + false + + ЗакрытьExtendedTooltip + 159 + Label + true + true + + Left + + + Form.StandardCommand.Close + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + Auto + + + Справка + 46 + true + true + + true + + false + + СправкаExtendedTooltip + 160 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок</value> + + + ГруппаКнопокExtendedTooltip + 158 + Label + true + true + + Left + + + CommandBar + + Left + + ГруппаОсновные 1 @@ -105,10 +194,6 @@ ru Группа дата пользователь - - ru - Группа дата пользователь - ГруппаДатаПользовательExtendedTooltip 110 @@ -275,10 +360,6 @@ ru Группа компьютер приложение разделение данных - - ru - Группа компьютер приложение разделение данных - ГруппаКомпьютерПриложениеРазделениеДанныхExtendedTooltip 113 @@ -308,10 +389,6 @@ ru Группа основные - - ru - Группа основные - ГруппаОсновныеExtendedTooltip 109 @@ -332,7 +409,7 @@ - ГруппаОсновое + ГруппаОсновное 44 ГруппаДанные @@ -478,7 +555,7 @@ true true - 3 + 1 true true true @@ -500,10 +577,6 @@ ru Простые данные - - ru - Простые данные - ПростыеДанныеExtendedTooltip 120 @@ -880,10 +953,6 @@ ru Данные отказа права доступа - - ru - Данные отказа права доступа - ДанныеОтказаПраваДоступаExtendedTooltip 128 @@ -1334,10 +1403,6 @@ ru Данные аутентификации - - ru - Данные аутентификации - ДанныеАутентификацииExtendedTooltip 136 @@ -1751,10 +1816,6 @@ ru Данные пользователя ИБ - - ru - Данные пользователя ИБ - ДанныеПользователяИБExtendedTooltip 140 @@ -1780,10 +1841,6 @@ ru Представления данных - - ru - Представления данных - ПредставленияДанныхExtendedTooltip 119 @@ -1809,17 +1866,7 @@ ru Данные - - System.DefaultGUIFont - true - false - false - false - - - ru - Данные - + ГруппаДанныеExtendedTooltip 118 @@ -1950,17 +1997,7 @@ ru Событие - - System.DefaultGUIFont - true - false - false - false - - - ru - Событие - + ГруппаСобытиеExtendedTooltip 146 @@ -1988,16 +2025,8 @@ true - - <key>ru</key> - <value>Основное</value> - - - ru - Основное - - ГруппаОсновоеExtendedTooltip + ГруппаОсновноеРасширеннаяПодсказка 117 Label true @@ -2211,13 +2240,7 @@ ru Сеанс - - System.DefaultGUIFont - true - false - false - false - + ГруппаСоединениеExtendedTooltip 150 @@ -2340,13 +2363,7 @@ ru Транзакция - - System.DefaultGUIFont - true - false - false - false - + ru Транзакция @@ -2390,6 +2407,7 @@ UsualGroup Auto + NormalSeparation true true Equal @@ -2397,100 +2415,6 @@ Auto - - ГруппаКнопок - 42 - - Закрыть - 43 - true - true - - true - - false - - ЗакрытьExtendedTooltip - 159 - Label - true - true - - Left - - - Form.StandardCommand.Close - PictureAndText - true - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - Auto - - - Справка - 46 - true - true - - true - - false - - СправкаExtendedTooltip - 160 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа кнопок</value> - - - ru - Группа кнопок - - - ГруппаКнопокExtendedTooltip - 158 - Label - true - true - - Left - - - CommandBar - - Right - - None false @@ -2513,7 +2437,7 @@ SaveValues Yes 100 - LockOwner + DontBlock DefaultButton true true diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Help/ru.html b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Help/ru.html index ab21a3535..61e8c93dd 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Help/ru.html +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Help/ru.html @@ -1,4 +1,4 @@ - +

                                Просмотр свойств события в программе, отраженного в журнале регистрации.

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

                                • diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Module.bsl b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Module.bsl index 6f962dd7f..e0001b88e 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Module.bsl +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Forms/ФормаСобытия/Module.bsl @@ -96,7 +96,7 @@ СвойстваПользователяИБ.Колонки.Добавить("Значение"); МассивРолей = Неопределено; Если ДанныеСобытия <> Неопределено Тогда - Для каждого КлючИЗначение ИЗ ДанныеСобытия Цикл + Для каждого КлючИЗначение Из ДанныеСобытия Цикл Если КлючИЗначение.Ключ = "Роли" Тогда МассивРолей = КлючИЗначение.Значение; Продолжить; @@ -125,6 +125,8 @@ Элементы.РазделениеДанныхСеанса.Видимость = Не ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект, "ГруппаДанные, ГруппаСобытие, ГруппаСоединение, ГруппаТранзакция"); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/DataProcessors/ЖурналРегистрации/Help/ru.html b/SSL/src/DataProcessors/ЖурналРегистрации/Help/ru.html index f66569d1f..f3fa432ee 100644 --- a/SSL/src/DataProcessors/ЖурналРегистрации/Help/ru.html +++ b/SSL/src/DataProcessors/ЖурналРегистрации/Help/ru.html @@ -1,7 +1,7 @@ - +

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

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

                                  -

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

                                  +

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

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

                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Commands/ЗагрузкаДанныхИзФайла/CommandModule.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Commands/ЗагрузкаДанныхИзФайла/CommandModule.bsl new file mode 100644 index 000000000..d45226a9a --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Commands/ЗагрузкаДанныхИзФайла/CommandModule.bsl @@ -0,0 +1,5 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма", , ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка); +КонецПроцедуры diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Form.form b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Form.form new file mode 100644 index 000000000..b8d8efa3f --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Form.form @@ -0,0 +1,420 @@ + + + + <key>ru</key> + <value>Колонки для сопоставления</value> + + + СписокКолонок + 1 + true + true + + true + + + СписокКолонок + + None + Add + Change + Copy + CopyToClipboard + Delete + EndEdit + MoveDown + MoveUp + Pickup + SelectAll + SortListAsc + SortListDesc + + СписокКолонокГруппа1 + 17 + + СписокКолонокПометка + 8 + true + true + + true + + + СписокКолонок.Check + + + СписокКолонокПометкаРасширеннаяПодсказка + 10 + Label + true + true + + Left + + + + СписокКолонокПометкаКонтекстноеМеню + 9 + true + + CheckBoxField + Auto + true + Left + true + + + + СписокКолонокЗначение + 5 + true + true + + true + + + СписокКолонок.Value + + + СписокКолонокЗначениеРасширеннаяПодсказка + 7 + Label + true + true + + Left + + + + СписокКолонокЗначениеКонтекстноеМеню + 6 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + СписокКолонокГруппа1РасширеннаяПодсказка + 18 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СписокКолонокКоманднаяПанель + 3 + + ФормаВыбор + 11 + true + true + + true + + + ФормаВыборРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + Form.Command.Выбрать + Auto + true + true + true + UserCmds + Auto + + + СписокКолонокУстановитьФлажки + 13 + true + true + + true + + + СписокКолонокУстановитьФлажкиРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + Form.Item.СписокКолонок.StandardCommand.CheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + СписокКолонокСнятьФлажки + 15 + true + true + + true + + + СписокКолонокСнятьФлажкиРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + Form.Item.СписокКолонок.StandardCommand.UncheckAll + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + Left + true + + + Selection + СписокКолонокВыбор + + + СписокКолонокСтрокаПоиска + 19 + + СписокКолонокСтрокаПоискаРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + + СписокКолонокСтрокаПоискаКонтекстноеМеню + 20 + true + + СписокКолонок + + true + + + + СписокКолонокСостояниеПросмотра + 22 + + СписокКолонокСостояниеПросмотраРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + + СписокКолонокСостояниеПросмотраКонтекстноеМеню + 23 + true + + ViewStatusAddition + СписокКолонок + + true + + + + СписокКолонокУправлениеПоиском + 25 + + СписокКолонокУправлениеПоискомРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + + СписокКолонокУправлениеПоискомКонтекстноеМеню + 26 + true + + SearchControlAddition + СписокКолонок + + true + + + + СписокКолонокРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + + СписокКолонокКонтекстноеМеню + 2 + true + + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + true + + СписокКолонок.Picture + + None + None + None + true + + + ФормаКоманднаяПанель + -1 + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + DontBlock + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + DataProcessorObject.ЗагрузкаДанныхИзФайла + + + true + + + true + +
                                  true
                                  +
                                  + + СписокКолонок + + <key>ru</key> + <value>Список колонок</value> + + 2 + + ValueList + + + true + + + true + + + + + + + Выбрать + + <key>ru</key> + <value>Сопоставить</value> + + 1 + + ru + Выбрать колонки для сопоставления + + + true + + + + Выбор + + + Auto + Auto + + + СписокКолонок + + ValueList + + + + + + + +
                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Module.bsl new file mode 100644 index 000000000..3a6077f93 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ВыборКолонок/Module.bsl @@ -0,0 +1,32 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + СписокКолонок = Параметры.СписокКолонок; + СписокКолонок.СортироватьПоПредставлению(); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Выбор(Команда) + Закрыть(СписокКолонок); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыВыбор + +&НаКлиенте +Процедура СписокКолонокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + СписокКолонок.НайтиПоИдентификатору(ВыбраннаяСтрока).Пометка = НЕ СписокКолонок.НайтиПоИдентификатору(ВыбраннаяСтрока).Пометка; +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/ConditionalAppearance.dcssca b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/ConditionalAppearance.dcssca new file mode 100644 index 000000000..92629595b --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/ConditionalAppearance.dcssca @@ -0,0 +1,24 @@ + + + + false + + + ИнформацияПоКолонкамИмяКолонки + + + + + ИнформацияПоКолонкам.ИмяКолонки + Contains + Штрихкод + + + + + ЦветТекста + style:SpecialTextColor + + + + diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Form.form b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Form.form new file mode 100644 index 000000000..5defbfd95 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Form.form @@ -0,0 +1,4181 @@ + + + + СтраницыПомощника + 1 + + ВыборСправочникаДляЗагрузки + 3 + + ПояснениеДляВыбораСправочника + 15 + + ПояснениеДляВыбораСправочникаДляЗагрузки + 12 + + <key>ru</key> + <value>Загрузка данных в справочники из электронных таблиц, расположенных во внешних файлах (например: Microsoft Office Excel, Microsoft Office Word, OpenOffice Calc и др.). </value> + + true + true + + true + + + ПояснениеДляВыбораСправочникаДляЗагрузкиРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + + ПояснениеДляВыбораСправочникаДляЗагрузкиКонтекстноеМеню + 13 + true + + Label + true + true + true + + Left + Top + + + + ВидЗагрузкиДанных + 17 + true + true + + true + + + СписокВариантовЗагрузки + + None + + ВидЗагрузкиДанныхЗначение + 29 + true + true + + true + + + СписокВариантовЗагрузки.Value + + + ВидЗагрузкиДанныхЗначениеРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + + ВидЗагрузкиДанныхЗначениеКонтекстноеМеню + 30 + true + + InputField + Auto + true + Left + true + + true + true + false + true + true + true + true + true + Normal + + + + ВидЗагрузкиДанныхКоманднаяПанель + 19 + Left + + + ValueChoice + ВидЗагрузкиДанныхВыборЗначения + + + ВидЗагрузкиДанныхСтрокаПоиска + 661 + + ВидЗагрузкиДанныхСтрокаПоискаРасширеннаяПодсказка + 663 + Label + true + true + + Left + + + + ВидЗагрузкиДанныхСтрокаПоискаКонтекстноеМеню + 662 + true + + ВидЗагрузкиДанных + + true + + + + ВидЗагрузкиДанныхСостояниеПросмотра + 664 + + ВидЗагрузкиДанныхСостояниеПросмотраРасширеннаяПодсказка + 666 + Label + true + true + + Left + + + + ВидЗагрузкиДанныхСостояниеПросмотраКонтекстноеМеню + 665 + true + + ViewStatusAddition + ВидЗагрузкиДанных + + true + + + + ВидЗагрузкиДанныхУправлениеПоиском + 667 + + ВидЗагрузкиДанныхУправлениеПоискомРасширеннаяПодсказка + 669 + Label + true + true + + Left + + + + ВидЗагрузкиДанныхУправлениеПоискомКонтекстноеМеню + 668 + true + + SearchControlAddition + ВидЗагрузкиДанных + + true + + + + ВидЗагрузкиДанныхРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + + ВидЗагрузкиДанныхКонтекстноеМеню + 18 + true + + true + true + true + true + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + true + + СписокВариантовЗагрузки.Picture + + None + None + None + true + + true + true + + true + + + <key>ru</key> + <value>Выбор справочника для загрузки</value> + + true + + ПояснениеДляВыбораСправочникаРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Выбор справочника для загрузки</value> + + + ВыборСправочникаДляЗагрузкиРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + ЗаполнениеТаблицыДанными + 5 + + ВариантЗагрузки + 652 + true + true + + true + + + ВариантЗагрузки + + + OnChange + ВариантЗагрузкиПриИзменении + + + ВариантЗагрузкиРасширеннаяПодсказка + 654 + Label + true + true + + Left + + + + ВариантЗагрузкиКонтекстноеМеню + 653 + true + + RadioButtonField + Enter + true + Left + true + + Tumbler + + + ru + Заполнение таблицы + + + 0 + + + + + ru + Загрузки из файла + + + 1 + + + Vertical + + + + СтраницыЗаполненияДанных + 492 + + СтраницаВариантЗаполнениеТаблицы + 655 + + НадписьПодсказкаДляЗаполнения + 139 + + <key>ru</key> + <value>Для заполнения таблицы необходимо скопировать данные в таблицу из внешнего файла через буфер обмена.</value> + + true + true + + true + + + НадписьПодсказкаДляЗаполненияРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + + НадписьПодсказкаДляЗаполненияКонтекстноеМеню + 140 + true + + Label + true + true + true + + Left + + + + ШаблонСДанными + 47 + + <key>ru</key> + <value>Предварительный просмотр</value> + + true + true + + true + + + ШаблонСДанными + + None + AlignCenter + AlignJustify + AlignLeft + AlignRight + BackColor + Bold + BorderAll + BorderBottom + BorderColor + BorderInside + BorderLeft + BorderNone + BorderOutline + BorderRight + BorderTop + ClearAll + ClearContent + CollapseAllGroups + CopyToClipboard + DeleteColumns + DeleteRows + Edit + ExpandAllGroups + Find + FindNext + FindPrevious + FixTable + Font + InsertColumnsLeft + InsertColumnsRight + InsertRowsBottom + InsertRowsTop + Italic + Merge + PageSetup + Preview + Print + PrintImmediately + Properties + Redo + Save + SaveAs + SelectAll + ShowGroups + TextColor + ThickBorderBottom + ThickBorderOutline + ThickBorderTop + Underline + Undo + + ШаблонСДаннымиРасширеннаяПодсказка + 49 + Label + true + true + + Left + + + + ШаблонСДаннымиКонтекстноеМеню + 48 + true + + SpreadsheetDocumentField + Enter + true + Left + true + + + Selection + ШаблонСДаннымиВыбор + + 50 + true + 1 + true + true + true + true + true + Special + ScrollAlways + ScrollAlways + Always + Auto + true + true + true + true + + + + ИзменитьБланкЗаполнениеТаблицы + 657 + true + true + + true + + + ИзменитьБланкЗаполнениеТаблицыРасширеннаяПодсказка + 658 + Label + true + true + + Left + + + Hyperlink + Form.Command.ИзменитьБланк + Normal + Auto + true + true + UserCmds + Button + Auto + + true + true + + true + + + СтраницаВариантЗаполнениеТаблицыРасширеннаяПодсказка + 656 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаВариантЗагрузкаИзФайла + 494 + + ПояснениеВариантЗагрузкаИзФайла + 609 + + <key>ru</key> + <value>Для загрузки данных необходимо заполнить таблицу сохранив бланк в файл для заполнения в другой программе. +После редактирования загрузить готовые данные в таблицу.</value> + + true + true + + true + + + ПояснениеВариантЗагрузкаИзФайлаРасширеннаяПодсказка + 611 + Label + true + true + + Left + + + + ПояснениеВариантЗагрузкаИзФайлаКонтекстноеМеню + 610 + true + + Label + true + 4 + true + + Left + + + + ЗагрузитьТаблицуИзФайла + 127 + true + true + + true + + + ЗагрузитьТаблицуИзФайлаРасширеннаяПодсказка + 128 + Label + true + true + + Left + + + UsualButton + Form.Command.ЗагрузитьТаблицуИзФайла + Normal + Auto + 25 + true + 2 + true + UserCmds + Auto + + + СохранитьБланкДляЗаполнения + 125 + true + true + + true + + + СохранитьБланкДляЗаполненияРасширеннаяПодсказка + 126 + Label + true + true + + Left + + + UsualButton + Form.Command.СохранитьБланкДляЗаполнения + Normal + PictureAndText + 25 + true + 2 + true + UserCmds + Auto + + + ИзменитьБланк + 581 + true + true + + true + + + ИзменитьБланкРасширеннаяПодсказка + 582 + Label + true + true + + Left + + + Hyperlink + Form.Command.ИзменитьБланк + Normal + Auto + 25 + true + 2 + true + UserCmds + Button + Auto + + true + true + + true + + + СтраницаВариантЗагрузкаИзФайлаРасширеннаяПодсказка + 495 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаОднаКолонка + 496 + + НадписьПриВводеВОднуКолонку + 498 + + <key>ru</key> + <value>Введите данные, скопированные ранее в буфер обмена:</value> + + true + + true + + + НадписьПриВводеВОднуКолонкуРасширеннаяПодсказка + 500 + Label + true + true + + Left + + + + НадписьПриВводеВОднуКолонкуКонтекстноеМеню + 499 + true + + Label + true + true + true + + Left + + + + ШаблонСДаннымиОднаКолонка + 489 + true + true + + true + + + ШаблонСДаннымиОднаКолонка + + None + + ШаблонСДаннымиОднаКолонкаРасширеннаяПодсказка + 491 + Label + true + true + + Left + + + + ШаблонСДаннымиОднаКолонкаКонтекстноеМеню + 490 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Страница одна колонка</value> + + + СтраницаОднаКолонкаРасширеннаяПодсказка + 497 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + СтраницыЗаполненияДанныхРасширеннаяПодсказка + 493 + Label + true + true + + Left + + + Pages + + Auto + + + true + true + + true + + + <key>ru</key> + <value>Заполнение таблицы данными</value> + + + ЗаполнениеТаблицыДаннымиРасширеннаяПодсказка + 6 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + Ненайдено + 543 + + ГруппаНеНайдено + 551 + + ДекорацияИнформация32 + 548 + + <key>ru</key> + <value>Декорация информация32</value> + + true + true + + true + + + ДекорацияИнформация32РасширеннаяПодсказка + 550 + Label + true + true + + Left + + + + ДекорацияИнформация32КонтекстноеМеню + 549 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ДекорацияНичегоНеНайдено + 545 + + <key>ru</key> + <value>Не удалось вставить введенные данные в список, т.к. в программе нет соответствующих данных. </value> + + true + true + + true + + + ДекорацияНичегоНеНайденоРасширеннаяПодсказка + 547 + Label + true + true + + Left + + + + ДекорацияНичегоНеНайденоКонтекстноеМеню + 546 + true + + Label + true + 2 + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа не найдено</value> + + + ru + Группа не найдено + + + ГруппаНеНайденоРасширеннаяПодсказка + 552 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Ненайдено</value> + + + ru + Ненайдено + + + НенайденоРасширеннаяПодсказка + 544 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + РезультатыСопоставления + 504 + + ГруппаРезультатСопоставления + 528 + + НадписьРезультатСопоставления + 530 + + <key>ru</key> + <value>Из %1 введенных строк в список будут вставлены %2.</value> + + true + true + + true + + + НадписьРезультатСопоставленияРасширеннаяПодсказка + 532 + Label + true + true + + Left + + + + НадписьРезультатСопоставленияКонтекстноеМеню + 531 + true + + Label + true + true + + Left + + + + ДекорацияНенайденоИНеоднозначность + 509 + + <key>ru</key> + <value>Будут пропущены: +- Нет данных в программе: 8 +- Несколько вариантов для вставки: 2 +Для просмотра пропущенных строк и подбора данных для вставки нажмите "Далее".</value> + + true + true + + true + + + ДекорацияНенайденоИНеоднозначностьРасширеннаяПодсказка + 511 + Label + true + true + + Left + + + + ДекорацияНенайденоИНеоднозначностьКонтекстноеМеню + 510 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Результат сопоставления</value> + + + ru + Группа результат сопоставления + + + ГруппаРезультатСопоставленияРасширеннаяПодсказка + 529 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Результаты сопоставления</value> + + + ru + Результаты сопоставления + + + РезультатыСопоставленияРасширеннаяПодсказка + 505 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СопоставлениеЗагружаемыхДанных + 191 + + ПояснениеДляСопоставленияДанных + 401 + + ПояснениеДляПоискаСсылок + 501 + + <key>ru</key> + <value>Для некоторых введенных строк не найдено данных в программе, либо имеется несколько вариантов. +Для вставки таких строк следует выбрать соответствующие объекты, щелкнув левой кнопкой мыши в колонке "Объект".</value> + + true + true + + true + + + ПояснениеДляПоискаСсылокРасширеннаяПодсказка + 503 + Label + true + true + + Left + + + + ПояснениеДляПоискаСсылокКонтекстноеМеню + 502 + true + + Label + true + true + true + + Left + Top + + + + ПояснениеДляПрикладнойЗагрузки + 406 + + <key>ru</key> + <value>Для некоторых загруженных данных в программе не найдено однозначного соответствия. Для несопоставленных данных будут созданы новые записи, либо они будут пропущены (в зависимости от настройки). При необходимости возможно сопоставить данные вручную, заполнив колонку "%1".</value> + + true + + true + + + ПояснениеДляПрикладнойЗагрузкиРасширеннаяПодсказка + 408 + Label + true + true + + Left + + + + ПояснениеДляПрикладнойЗагрузкиКонтекстноеМеню + 407 + true + + Label + true + true + true + + Left + Top + + + + ПояснениеДляУниверсальнойЗагрузки + 409 + + <key>ru</key> + <value>Сопоставьте загружаемые данные с элементами в справочнике. Сопоставление возможно произвести несколько раз, выбирая разные колонки для сравнения. Также возможно сопоставить отдельные строки таблицы, выбрав значение в колонке. + +В зависимости от настройки, для несопоставленных данных будут созданы новые элементы, либо они будут пропущены, сопоставленные данные также будут обновлены либо не загружены.</value> + + true + + true + + + ПояснениеДляУниверсальнойЗагрузкиРасширеннаяПодсказка + 411 + Label + true + true + + Left + + + + ПояснениеДляУниверсальнойЗагрузкиКонтекстноеМеню + 410 + true + + Label + true + 5 + true + true + + Left + + + + ПояснениеДляТабличнойЧасти + 464 + + <key>ru</key> + <value>Для некоторых значений в колонках таблицы не найдены однозначные соответствия в данных программы (выделены <colorstyle -16>красным цветом</>). +Необходимо сопоставить эти значения с данными в программе вручную. +В случае если в программе отсутствуют необходимые данные, то ввести их.</value> + + true + + true + + + ПояснениеДляТабличнойЧастиРасширеннаяПодсказка + 466 + Label + true + true + + Left + + + + ПояснениеДляТабличнойЧастиКонтекстноеМеню + 465 + true + + true + Label + true + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Сопоставление загружаемых данных</value> + + true + + ПояснениеДляСопоставленияДанныхРасширеннаяПодсказка + 402 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto + Auto + + + + СписокКолонокСопоставления + 456 + + <key>ru</key> + <value>Выполнить сопоставление по колонкам</value> + + true + true + + true + + + СписокКолонокСопоставления + + + ru + Выберите одну или несколько колонок, по которым будут сопоставлены загруженные данные с данными из программы + + + СписокКолонокСопоставленияРасширеннаяПодсказка + 458 + Label + true + true + + Left + + + + СписокКолонокСопоставленияКонтекстноеМеню + 457 + true + + InputField + Enter + true + Left + true + + + StartChoice + СписокКолонокСопоставленияНачалоВыбора + + 35 + true + true + false + true + true + OnActivate + true + Normal + + ru + Укажите колонки для сопоставления + + + + + ГруппаСопоставления + 214 + + ФильтрТаблицаСопоставления + 450 + + <key>ru</key> + <value>Показывать</value> + + true + true + + true + + + ФильтрТаблицаСопоставления + + + OnChange + ФильтрТаблицаСопоставленияПриИзменении + + + ФильтрТаблицаСопоставленияРасширеннаяПодсказка + 452 + Label + true + true + + Left + + + + ФильтрТаблицаСопоставленияКонтекстноеМеню + 451 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + true + OnActivate + true + + + ru + Все + + + + + + ru + Невсе + + + 1 + + + Normal + + + + РазрешитьНеоднозначность + 459 + true + false + + true + + + РазрешитьНеоднозначностьРасширеннаяПодсказка + 460 + Label + true + true + + Left + + + UsualButton + Form.Command.РазрешитьНеоднозначность + Normal + Auto + true + true + UserCmds + Auto + + + ГруппаКоманднаяПанель + 431 + + СопоставлениеДанныхНайти + 446 + true + true + + true + + + СопоставлениеДанныхНайтиРасширеннаяПодсказка + 447 + Label + true + true + + Left + + + Form.Item.ТаблицаСопоставленияДанных.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + СопоставлениеДанныхОтменитьПоиск + 448 + true + true + + true + + + СопоставлениеДанныхОтменитьПоискРасширеннаяПодсказка + 449 + Label + true + true + + Left + + + Form.Item.ТаблицаСопоставленияДанных.StandardCommand.CancelSearch + Normal + Picture + true + true + UserCmds + Auto + + + ТаблицаСопоставленияДанныхОтменитьСопоставление + 659 + true + true + + true + + + ТаблицаСопоставленияДанныхОтменитьСопоставлениеРасширеннаяПодсказка + 660 + Label + true + true + + Left + + + Form.Command.ОтменитьСопоставление + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Группа командная панель</value> + + + ГруппаКоманднаяПанельРасширеннаяПодсказка + 432 + Label + true + true + + Left + + + CommandBar + + Left + Item.ТаблицаСопоставленияДанных + + + true + true + + true + + + ГруппаСопоставленияРасширеннаяПодсказка + 215 + Label + true + true + + Left + + + UsualGroup + + Auto + WeakSeparation + true + true + Auto + Auto + + + + ГруппаСопоставляемыеДанные + 435 + + ТаблицаСопоставленияДанных + 437 + true + true + + true + + + ТаблицаСопоставленияДанных + + None + Add + Change + Copy + Delete + EndEdit + + ТаблицаСопоставленияДанныхКоманднаяПанель + 439 + Left + + + OnEditEnd + ТаблицаСопоставленияДанныхПриОкончанииРедактирования + + + Selection + ТаблицаСопоставленияДанныхВыбор + + + OnActivateCell + ТаблицаСопоставленияДанныхПриАктивизацииЯчейки + + + ТаблицаСопоставленияДанныхСтрокаПоиска + 684 + + ТаблицаСопоставленияДанныхСтрокаПоискаРасширеннаяПодсказка + 686 + Label + true + true + + Left + + + + ТаблицаСопоставленияДанныхСтрокаПоискаКонтекстноеМеню + 685 + true + + ТаблицаСопоставленияДанных + + true + + + + ТаблицаСопоставленияДанныхСостояниеПросмотра + 687 + + ТаблицаСопоставленияДанныхСостояниеПросмотраРасширеннаяПодсказка + 689 + Label + true + true + + Left + + + + ТаблицаСопоставленияДанныхСостояниеПросмотраКонтекстноеМеню + 688 + true + + ViewStatusAddition + ТаблицаСопоставленияДанных + + true + + + + ТаблицаСопоставленияДанныхУправлениеПоиском + 690 + + ТаблицаСопоставленияДанныхУправлениеПоискомРасширеннаяПодсказка + 692 + Label + true + true + + Left + + + + ТаблицаСопоставленияДанныхУправлениеПоискомКонтекстноеМеню + 691 + true + + SearchControlAddition + ТаблицаСопоставленияДанных + + true + + + + ТаблицаСопоставленияДанныхРасширеннаяПодсказка + 440 + Label + true + true + + Left + + + + ТаблицаСопоставленияДанныхКонтекстноеМеню + 438 + + ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность + 487 + true + true + + true + + + ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначностьРасширеннаяПодсказка + 488 + Label + true + true + + Left + + + Form.Command.РазрешитьНеоднозначность + Normal + Auto + true + true + UserCmds + Auto + + true + + true + true + true + true + 2 + true + MultiRow +
                                  true
                                  + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + None + None + None + true + +
                                  + true + true + + true + + + <key>ru</key> + <value>Группа сопоставляемые данные</value> + + + ГруппаСопоставляемыеДанныеРасширеннаяПодсказка + 436 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + +
                                  + + ГруппаНастройкиСопоставления + 419 + + ГруппаИтогоНеспоставленых + 421 + + ОбновлятьСуществующие + 428 + + <key>ru</key> + <value>Сопоставленные элементы (%1)</value> + + true + true + + true + + + ОбновлятьСуществующие + + Left + + ОбновлятьСуществующиеРасширеннаяПодсказка + 430 + Label + true + true + + Left + + + + ОбновлятьСуществующиеКонтекстноеМеню + 429 + true + + RadioButtonField + Enter + true + Left + true + + + + ru + Обновлять + + + 1 + + + + + ru + Пропускать + + + 0 + + + Vertical + + + + СоздаватьЕслиНеСопоставлено + 423 + + <key>ru</key> + <value>Несопоставленные (%1)</value> + + true + true + + true + + + СоздаватьЕслиНеСопоставлено + + Left + + СоздаватьЕслиНеСопоставленоРасширеннаяПодсказка + 425 + Label + true + true + + Left + + + + СоздаватьЕслиНеСопоставленоКонтекстноеМеню + 424 + true + + RadioButtonField + Enter + true + Left + true + + + + ru + Создавать + + + 1 + + + + + ru + Пропускать + + + 0 + + + Vertical + + + + ОписаниеНеоднозначность + 461 + + <key>ru</key> + <value>( в т.ч. неоднозначностей: %1 )</value> + + true + + true + + + ОписаниеНеоднозначностьРасширеннаяПодсказка + 463 + Label + true + true + + Left + + + + ОписаниеНеоднозначностьКонтекстноеМеню + 462 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа итого неспоставленых</value> + + + ru + Группа итого неспоставленых + + + ГруппаИтогоНеспоставленыхРасширеннаяПодсказка + 422 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Сопоставление загружаемых данных:</value> + + false + + ГруппаНастройкиСопоставленияРасширеннаяПодсказка + 420 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Сопоставление загружаемых данных</value> + + + СопоставлениеЗагружаемыхДанныхРасширеннаяПодсказка + 192 + Label + true + true + + Left + + + Page + + Vertical + auto + +
                                  + + ОтчетОЗагрузкеДанных + 72 + + ШапкаОтчетаОЗагрузкеДанных + 367 + + РасшифровкаСводныхДанных + 321 + + ГруппаОтчетИтог + 316 + + ГруппаОтчетСозданныеИОбновленные + 467 + + ИтогоОтчетСоздано + 475 + true + true + + true + + + ИтогоОтчетСоздано + + + ИтогоОтчетСозданоРасширеннаяПодсказка + 477 + Label + true + true + + Left + + + + ИтогоОтчетСозданоКонтекстноеМеню + 476 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + ЧН=0 + + + System.DefaultGUIFont + true + false + false + false + + + + + ИтогоОтчетПропущено + 481 + true + true + + true + + + ИтогоОтчетПропущено + + + ИтогоОтчетПропущеноРасширеннаяПодсказка + 483 + Label + true + true + + Left + + + + ИтогоОтчетПропущеноКонтекстноеМеню + 482 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + ЧН=0 + + + System.DefaultGUIFont + true + false + false + false + + + + true + true + + true + + + <key>ru</key> + <value>Группа отчет созданные и обновленные</value> + + + ГруппаОтчетСозданныеИОбновленныеРасширеннаяПодсказка + 468 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПропущенные + 469 + + ИтогоОтчетОбновлено + 478 + true + true + + true + + + ИтогоОтчетОбновлено + + + ИтогоОтчетОбновленоРасширеннаяПодсказка + 480 + Label + true + true + + Left + + + + ИтогоОтчетОбновленоКонтекстноеМеню + 479 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + ЧН=0 + + + System.DefaultGUIFont + true + false + false + false + + + + + ИтогоОтчетНекорректных + 484 + true + true + + true + + + ИтогоОтчетНекорректных + + + ИтогоОтчетНекорректныхРасширеннаяПодсказка + 486 + Label + true + true + + Left + + + + ИтогоОтчетНекорректныхКонтекстноеМеню + 485 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + ЧН=0 + + + System.DefaultGUIFont + true + false + false + false + + + + true + true + + true + + + <key>ru</key> + <value>Группа пропущенные</value> + + + ГруппаПропущенныеРасширеннаяПодсказка + 470 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа отчет итог</value> + + + ГруппаОтчетИтогРасширеннаяПодсказка + 317 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Equal + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Расшифровка сводных данных</value> + + + РасшифровкаСводныхДанныхРасширеннаяПодсказка + 322 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ПояснениеОтчетаОЗагрузке + 375 + + <key>ru</key> + <value>Созданные и обновленные элементы справочника "%1" можно откорректировать, выделив сразу несколько строк и нажав кнопку "Измененить реквизиты". Отдельные элементы можно открыть по двойному щелчку мыши. +При необходимости, пропущенные строки можно сохранить в файл, подкорректировать и позднее загрузить повторно.</value> + + true + true + + true + + + ПояснениеОтчетаОЗагрузкеРасширеннаяПодсказка + 377 + Label + true + true + + Left + + + + ПояснениеОтчетаОЗагрузкеКонтекстноеМеню + 376 + true + + Label + true + true + true + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Загрузка данных завершена</value> + + + ШапкаОтчетаОЗагрузкеДанныхРасширеннаяПодсказка + 368 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto + + + + КоманднаяПанельУправленияОтчета + 170 + + ФильтрОтчет + 345 + + <key>ru</key> + <value>Показывать</value> + + true + true + + true + + + ФильтрОтчет + + + OnChange + ФильтрОтчетПриИзменении + + + ФильтрОтчетРасширеннаяПодсказка + 347 + Label + true + true + + Left + + + + ФильтрОтчетКонтекстноеМеню + 346 + true + + InputField + Right + Enter + true + Left + true + + 15 + true + true + false + true + false + true + 6 + true + true + + + ru + Все (100) + + + 0 + + + + + ru + Новые (20) + + + 1 + + + + + ru + Обновленные (78) + + + 2 + + + + + ru + Пропущенные (2) + + + 3 + + + + + ru + Некорректные (2) + + + 4 + + + Normal + 7 + + + + КомандыПанелиУправленияОтчета + 433 + + Сохранить + 172 + + <key>ru</key> + <value>Сохранить...</value> + + true + true + + true + + + СохранитьРасширеннаяПодсказка + 173 + Label + true + true + + Left + + + Form.Item.ТаблицаОтчет.StandardCommand.Save + Normal + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + Печать + 179 + true + true + + true + + + ПечатьРасширеннаяПодсказка + 180 + Label + true + true + + Left + + + Form.Item.ТаблицаОтчет.StandardCommand.Print + Normal + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИзменитьРеквизиты + 378 + true + true + + true + + + ИзменитьРеквизитыРасширеннаяПодсказка + 379 + Label + true + true + + Left + + + Form.Command.ИзменитьРеквизиты + Normal + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Команды панели управления отчета</value> + + + КомандыПанелиУправленияОтчетаРасширеннаяПодсказка + 434 + Label + true + true + + Left + + + CommandBar + + Left + + + true + true + + true + + + <key>ru</key> + <value>Командная панель управления отчета</value> + + + КоманднаяПанельУправленияОтчетаРасширеннаяПодсказка + 171 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ТаблицаОтчет + 157 + + <key>ru</key> + <value>Отчет о загрузке</value> + + true + true + + true + + + ТаблицаОтчет + + None + + ТаблицаОтчетРасширеннаяПодсказка + 159 + Label + true + true + + Left + + + + ТаблицаОтчетКонтекстноеМеню + 158 + true + + SpreadsheetDocumentField + Enter + true + Left + true + + + OnActivate + ТаблицаОтчетПриАктивизацииОбласти + + 50 + true + 1 + true + true + true + Special + ScrollAlways + ScrollAlways + Always + Auto + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Отчет о загрузке данных</value> + + + ОтчетОЗагрузкеДанныхРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + ДлительныеОперации + 553 + + ГруппаИнформацияОВыполенение + 561 + + ГруппаПрогресс + 569 + + ДекорацияСостояниеФоновогоЗадания + 558 + + <key>ru</key> + <value>Пожалуйста, подождите...</value> + + true + true + + true + + + ДекорацияСостояниеФоновогоЗаданияРасширеннаяПодсказка + 560 + Label + true + true + + Left + + + + ДекорацияСостояниеФоновогоЗаданияКонтекстноеМеню + 559 + true + + Label + true + 2 + true + + Left + Bottom + + + + ФоновоеЗаданиеПроцент + 566 + true + true + + true + + + ФоновоеЗаданиеПроцент + + None + + ФоновоеЗаданиеПроцентРасширеннаяПодсказка + 568 + Label + true + true + + Left + + + + ФоновоеЗаданиеПроцентКонтекстноеМеню + 567 + true + + ProgressBarField + Enter + true + Left + true + + 32 + true + 1 + true + true + 100 + true + + + true + true + + true + + + <key>ru</key> + <value>Группа прогресс</value> + + + ru + Группа прогресс + + 6 + + ГруппаПрогрессРасширеннаяПодсказка + 570 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа информация о выполенение</value> + + + ru + Группа информация о выполенение + + + ГруппаИнформацияОВыполенениеРасширеннаяПодсказка + 562 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Длительные операции</value> + + + ru + Длительные операции + + + ДлительныеОперацииРасширеннаяПодсказка + 554 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы помощника</value> + + None + + СтраницыПомощникаРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Pages + + Auto + +
                                  + + КоманднаяПанель + 32 + + ГруппаНазад + 473 + + Назад + 36 + + <key>ru</key> + <value>< Назад</value> + + true + + true + + + НазадРасширеннаяПодсказка + 37 + Label + true + true + + Left + + + Form.Command.Назад + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа назад</value> + + + ГруппаНазадРасширеннаяПодсказка + 474 + Label + true + true + + Left + + + CommandBar + + Left + + + + ОткрытьСправочникПослеЗакрытияПомощника + 351 + + <key>ru</key> + <value>Открыть справочник "%1" по кнопке "Готово"</value> + + true + + true + + + ОткрытьСправочникПослеЗакрытияПомощника + + Right + + ОткрытьСправочникПослеЗакрытияПомощникаРасширеннаяПодсказка + 353 + Label + true + true + + Left + + + + ОткрытьСправочникПослеЗакрытияПомощникаКонтекстноеМеню + 352 + true + + CheckBoxField + Enter + true + Left + true + + + + ДекорацияРазделитель + 38 + + <key>ru</key> + <value> </value> + + true + true + + true + + + ДекорацияРазделительРасширеннаяПодсказка + 40 + Label + true + true + + Left + + + + ДекорацияРазделительКонтекстноеМеню + 39 + true + + Label + true + true + true + + Left + + + + ГруппаДалееЗакрыть + 471 + + ВставитьВСписок + 541 + true + + true + + + ВставитьВСписокРасширеннаяПодсказка + 542 + Label + true + true + + Left + + + Form.Command.ВставитьВСписок + Normal + Auto + true + true + UserCmds + Auto + + + Далее + 43 + true + true + + true + + + ДалееРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + Form.Command.Далее + Auto + true + true + true + UserCmds + Auto + + + Закрыть + 45 + + <key>ru</key> + <value>Закрыть</value> + + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + Form.StandardCommand.Close + Normal + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа далее закрыть</value> + + + ГруппаДалееЗакрытьРасширеннаяПодсказка + 472 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ФормаКоманднаяПанель + -1 + Left + + + BeforeClose + ПередЗакрытием + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwner + UseList + true + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + DataProcessorObject.ЗагрузкаДанныхИзФайла + + + true + + + true + +
                                  true
                                  +
                                  + + СписокВариантовЗагрузки + + <key>ru</key> + <value>Список вариантов загрузки</value> + + 3 + + ValueList + + + true + + + true + + + + + + + ШаблонСДанными + + <key>ru</key> + <value>Шаблон с данными</value> + + 4 + + SpreadsheetDocument + + + true + + + true + + + + + ОбновлятьСуществующие + + <key>ru</key> + <value>Обновлять существующие</value> + + 7 + + Number + + 10 + + + + true + + + true + + + + СопоставитьПоКолонке + + <key>ru</key> + <value>Сопоставить по колонке</value> + + 8 + + ValueList + + + true + + + true + + + + + + + СоздаватьЕслиНеСопоставлено + + <key>ru</key> + <value>Создавать если не сопоставлено</value> + + 11 + + Number + + + + true + + + true + + + + ТаблицаОтчет + + <key>ru</key> + <value>Таблица отчет</value> + + 12 + + SpreadsheetDocument + + + true + + + true + + + + + ФильтрОтчет + + <key>ru</key> + <value>Фильтр отчет</value> + + 15 + + String + + + + true + + + true + + + + ОткрытьСправочникПослеЗакрытияПомощника + + <key>ru</key> + <value>Открыть справочник после закрытия помощника</value> + + 16 + + Boolean + + + true + + + true + + + + ТаблицаСопоставленияДанных + + <key>ru</key> + <value>Таблица сопоставления данных</value> + + 18 + + ValueTable + + + true + + + true + + + + ИмяОбъектаСопоставления + + <key>ru</key> + <value>Имя объекта сопоставления</value> + + 6 + + String + + + + true + + + true + + + + ТипЗагрузки + + <key>ru</key> + <value>Тип загрузки</value> + + 9 + + String + + + + true + + + true + + + + ИнформацияПоКолонкам + + <key>ru</key> + <value>Информация по колонкам</value> + + 13 + + ValueTable + + + true + + + true + + + ИмяКолонки + + <key>ru</key> + <value>Имя колонки</value> + + 1 + + String + + 150 + + + + true + + + true + + + + ПредставлениеКолонки + + <key>ru</key> + <value>Представление колонки</value> + + 2 + + String + + 150 + + + + true + + + true + + + + ТипКолонки + + <key>ru</key> + <value>Тип колонки</value> + + 3 + + + true + + + true + + + + ОбязательнаДляЗаполнения + + <key>ru</key> + <value>Обязательна для заполнения</value> + + 4 + + Boolean + + + true + + + true + + + + Позиция + + <key>ru</key> + <value>Позиция</value> + + 5 + + Number + + 10 + + + + true + + + true + + + + Ассоциация + + <key>ru</key> + <value>Ассоциация</value> + + 6 + + String + + 150 + + + + true + + + true + + + + Синоним + + <key>ru</key> + <value>Синоним</value> + + 7 + + String + + + + true + + + true + + + + Видимость + + <key>ru</key> + <value>Видимость</value> + + 8 + + Boolean + + + true + + + true + + + + Примечание + + <key>ru</key> + <value>Примечание</value> + + 9 + + String + + + + true + + + true + + + + Ширина + + <key>ru</key> + <value>Ширина</value> + + 10 + + Number + + 10 + 3 + + + + true + + + true + + + + + ВнешняяОбработкаСсылка + + <key>ru</key> + <value>Внешняя обработка ссылка</value> + + 5 + + AnyRef + + + true + + + true + + + + ФильтрТаблицаСопоставления + + <key>ru</key> + <value>Фильтр таблица сопоставления</value> + + 14 + + String + + + + true + + + true + + + + СписокКолонокСопоставления + + <key>ru</key> + <value>Список колонок сопоставления</value> + + 19 + + String + + + + true + + + true + + + + ПараметрыЗагрузки + + <key>ru</key> + <value>Параметры загрузки</value> + + 20 + + + true + + + true + + + + ИтогоОтчетСоздано + + <key>ru</key> + <value>Создано новых элементов</value> + + 17 + + Number + + 10 + + + + true + + + true + + + + ИтогоОтчетОбновлено + + <key>ru</key> + <value>Обновлено существующих</value> + + 21 + + Number + + 10 + + + + true + + + true + + + + ИтогоОтчетПропущено + + <key>ru</key> + <value>Пропущено</value> + + 22 + + Number + + 10 + + + + true + + + true + + + + ИтогоОтчетНекорректных + + <key>ru</key> + <value>в т.ч. из-за некорректных данных</value> + + 23 + + Number + + 10 + + + + true + + + true + + + + ИдентификаторКоманды + + <key>ru</key> + <value>Идентификатор команды</value> + + 2 + + String + + + + true + + + true + + + + ПараметрыОтбора + + <key>ru</key> + <value>Параметры отбора</value> + + 10 + + + true + + + true + + + + ШаблонСДаннымиОднаКолонка + + <key>ru</key> + <value>Шаблон с данными одна колонка</value> + + 24 + + String + + + + true + + + true + + + + ФоновоеЗаданиеИдентификатор + + <key>ru</key> + <value>Фоновое задание идентификатор</value> + + 25 + + + true + + + true + + + + ФоновоеЗаданиеАдресХранилища + + <key>ru</key> + <value>Фоновое задание адрес хранилища</value> + + 26 + + String + + + + true + + + true + + + + ФоновоеЗаданиеПроцент + + <key>ru</key> + <value>Фоновое задание процент</value> + + 27 + + Number + + 10 + + + + true + + + true + + + + ВариантЗагрузки + + <key>ru</key> + <value>Вариант загрузки</value> + + 28 + + Number + + 10 + + + + true + + + true + + + + РеквизитыСозданы + + <key>ru</key> + <value>Реквизиты созданы</value> + + 29 + + Boolean + + + true + + + true + + + + ЗагрузитьТаблицуИзФайла + + <key>ru</key> + <value>Загрузить таблицу из файла...</value> + + 2 + + ru + Загрузка подготовленных данных из файла в таблицу + + + true + + + + ЗагрузитьШаблонИзФайла + + + Auto + Auto + + + СохранитьБланкДляЗаполнения + + <key>ru</key> + <value>Сохранить бланк для заполнения...</value> + + 3 + + ru + Сохраняет в файл бланк для заполнения в виде пустой таблицы. Доступно сохранение в один из трех выбраных форматов файла (Книга Excel 2007, Текстовый файл с разделителями CSV, MXL таблица) + + + true + + + + ВыгрузитьШаблонВФайл + + + Auto + Auto + + + Далее + + <key>ru</key> + <value>Далее ></value> + + 6 + + true + + + + Далее + + + Auto + Auto + + + Назад + + <key>ru</key> + <value>Назад</value> + + 7 + + ru + Назад + + + true + + + + Назад + + + Auto + Auto + + + ИзменитьРеквизиты + + <key>ru</key> + <value>Изменить реквизиты</value> + + 9 + + ru + Изменить реквизиты + + + true + + + + ГрупповоеИзменениеРеквизитов + + + Auto + Auto + + + РазрешитьНеоднозначность + + <key>ru</key> + <value>Разрешить неоднозначность...</value> + + 10 + + ru + Открывает окно со списков совпадающих элементов справочника для выбора правильногоэлемента + + + true + + + + РазрешитьНеоднозначность + + + Auto + Auto + + + ВставитьВСписок + + <key>ru</key> + <value>Вставить в список</value> + + 1 + + ru + Вставить в список + + + true + + + + ВставитьВСписок + + + Auto + Auto + + + ИзменитьБланк + + <key>ru</key> + <value>Изменить бланк</value> + + 4 + + ru + Если регулярно требуется загрузка данных, то можно настроить наименование колонок, их отображение и порядок следования для упрощения загрузки. + + + true + + + + ИзменитьБланк + + + Auto + Auto + + + ОтменитьСопоставление + + <key>ru</key> + <value>Отменить сопоставление</value> + + 5 + + ru + Отменить сопоставление + + + true + + + + ОтменитьСопоставление + + + Auto + Auto + + + ПолноеИмяТабличнойЧасти + + String + + + + + ИмяМакетаСШаблоном + + String + + 100 + + + + + Сценарий + + String + + + + + Заголовок + + String + + + + + + + + +
                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Module.bsl new file mode 100644 index 000000000..0e07511bb --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/ЗагрузкаДанныхИзФайла/Module.bsl @@ -0,0 +1,2488 @@ +&НаКлиенте +Перем ПараметрыОбработчика; + +&НаКлиенте +Перем ФормаДлительнойОперации; + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Если Параметры.Сценарий = "ПоискСсылок" ИЛИ Параметры.Сценарий = "ВставкаИзБуфераОбмена" Тогда + ТипЗагрузки = "ВставкаИзБуфераОбмена"; + ИначеЕсли ЗначениеЗаполнено(Параметры.ПолноеИмяТабличнойЧасти) Тогда + ТипЗагрузки = "ТабличнаяЧасть"; + ИначеЕсли НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда + ВызватьИсключение(НСтр("ru = 'Недостаточно прав для открытия загрузки данных из файла'")); + Отказ = Истина; + Возврат; + КонецЕсли; + + УстановитьОформлениеДанных(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + + СоздаватьЕслиНеСопоставлено = 1; + ОбновлятьСуществующие = 0; + + Если ЗначениеЗаполнено(Параметры.Заголовок) Тогда + ЭтотОбъект.АвтоЗаголовок = Ложь; + ЭтотОбъект.Заголовок = Параметры.Заголовок; + Иначе + ЭтотОбъект.АвтоЗаголовок = Ложь; + ЭтотОбъект.Заголовок = НСтр("ru = 'Загрузка данных из файла'") + КонецЕсли; + + ВебКлиент = ОбщегоНазначенияКлиентСервер.ЭтоВебКлиент(); + Если ВебКлиент Тогда + Элементы.СтраницаВариантЗаполнениеТаблицы.Видимость = Ложь; + Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаВариантЗагрузкаИзФайла; + Элементы.ВариантЗагрузки.Видимость = Ложь; + ВидЗагрузкиДанных = 1; + КонецЕсли; + + Если ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + ФильтрТаблицаСопоставления = "Несопоставленные"; + Если Параметры.Свойство("ПредставлениеПоля") Тогда + Заголовок = НСтр("ru = 'Вставка из буфера обмена'") + " (" + Параметры.ПредставлениеПоля + ")"; + ЭтотОбъект.АвтоЗаголовок = Ложь; + Иначе + Заголовок = НСтр("ru = 'Вставка из буфера обмена'"); + КонецЕсли; + + Обработки.ЗагрузкаДанныхИзФайла.ИнициализироватьРежимПоискСсылок(ШаблонСДанными, ИнформацияПоКолонкам, Параметры.ОписаниеТипов); + СоздатьТаблицуСопоставленияПоИнформацииОКолонкахАвто(Параметры.ОписаниеТипов); + + Если ИнформацияПоКолонкам.Количество() = 1 Тогда + Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаОднаКолонка; + Элементы.ВариантЗагрузки.Видимость = Ложь; + Элементы.ВставитьВСписок.Видимость = Ложь; + Элементы.Далее.Заголовок = Нстр("ru = 'Вставить в список'"); + Иначе + Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаМногоКолонок; + КонецЕсли; + + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными; + Элементы.ГруппаНастройкиСопоставления.Видимость = Ложь; + Элементы.СписокКолонокСопоставления.Видимость = Ложь; + Элементы.Закрыть.Заголовок = НСтр("ru = 'Отмена'"); + + Иначе + Если НЕ ЗначениеЗаполнено(Параметры.ПолноеИмяТабличнойЧасти) тогда + ЗаполнитьСписокВидЗагрузкиДанных(); + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ВыборСправочникаДляЗагрузки; + Иначе + ИмяОбъектаСопоставления = Обработки.ЗагрузкаДанныхИзФайла.ПолноеИмяОбъектаТабличнаяЧасть(Параметры.ПолноеИмяТабличнойЧасти); + + ИнформацияПоКолонкамИзХранилища = ХранилищеСистемныхНастроек.Загрузить("ЗагрузкаДанныхИзФайла", ИмяОбъектаСопоставления); + Если ИнформацияПоКолонкамИзХранилища <> Неопределено Тогда + ЗначениеВРеквизитФормы(ИнформацияПоКолонкамИзХранилища, "ИнформацияПоКолонкам"); + КонецЕсли; + Обработки.ЗагрузкаДанныхИзФайла.ИнициализироватьЗагрузкуВТабличнуюЧасть(ИмяОбъектаСопоставления, Параметры.ИмяМакетаСШаблоном, ИнформацияПоКолонкам, ШаблонСДанными, Отказ); + Если Отказ Тогда + Возврат; + КонецЕсли; + ПоказатьИнформационнуюСтрокуПроОбязательныеКолонки(); + ИзменитьБланкПоИнформацииПоКолонкам(); + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными; + Элементы.ГруппаНастройкиСопоставления.Видимость = Ложь; + Элементы.СписокКолонокСопоставления.Видимость = Ложь; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) + + Если ОткрытьСправочникПослеЗакрытияПомощника Тогда + ОткрытьФорму(ФормаСписка(ИмяОбъектаСопоставления)); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОтменитьСопоставление(Команда) + Оповещение = новый ОписаниеОповещения("ПослеВопросаПроОтменитьСопоставление", ЭтотОбъект); + ПоказатьВопрос(Оповещение, НСтр("ru = 'Отменить сопоставление?'"), РежимДиалогаВопрос.ДаНет); +КонецПроцедуры + +&НаКлиенте +Процедура ИзменитьБланк(Команда) + ПараметрыФормы = Новый Структура(); + ПараметрыФормы.Вставить("ИнформацияПоКолонкам", ИнформацияПоКолонкам); + ПараметрыФормы.Вставить("ИмяОбъектаСопоставления", ИмяОбъектаСопоставления); + + Оповещение = новый ОписаниеОповещения("ПослеВызоваФормыИзменитьБланк", ЭтотОбъект); + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма.РедактированиеБланка", ПараметрыФормы, ЭтотОбъект,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); +КонецПроцедуры + +&НаКлиенте +Процедура РазрешитьНеоднозначность(Команда) + ОткрытьФормуРазрешенияНеоднозначности(Элементы.ТаблицаСопоставленияДанных.ТекущаяСтрока,Элементы.ТаблицаСопоставленияДанных.ТекущийЭлемент.Имя, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ВставитьВСписок(Команда) + ЗакрытьФормуИВернутьМассивСсылок(); +КонецПроцедуры + +&НаКлиенте +Процедура Далее(Команда) + + Если Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ВыборСправочникаДляЗагрузки Тогда + ОписаниеСтрокиВыбора = Элементы.ВидЗагрузкиДанных.ТекущиеДанные.Значение; + ВыполнитьШагЗаполнениеТаблицыДаннымиНаСервере(ОписаниеСтрокиВыбора); + ВыполнитьШагЗаполнениеТаблицыДаннымиНаКлиенте(); + ИначеЕсли Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными Тогда + ВыполнитьШагСопоставлениеЗагружаемыхДанных(); + ИначеЕсли Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.РезультатыСопоставления Тогда + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СопоставлениеЗагружаемыхДанных; + Элементы.ВставитьВСписок.Видимость = Ложь; + Элементы.Далее.Заголовок = НСтр("ru = 'Вставить в список'"); + Элементы.Далее.КнопкаПоУмолчанию = Истина; + Элементы.Назад.Заголовок = НСтр("ru = '< В начало'"); + ИначеЕсли Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СопоставлениеЗагружаемыхДанных Тогда + Элементы.ВставитьВСписок.Видимость = Ложь; + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + Отбор = Новый Структура("РезультатСопоставленияСтроки", "НеСопоставлен"); + Строки = ТаблицаСопоставленияДанных.НайтиСтроки(Отбор); + + Если Строки.Количество() > 0 Тогда + Оповещение = Новый ОписаниеОповещения("ПослеВопросаОДобавлениеВТабличнуюЧасть", ЭтотОбъект); + ПоказатьВопрос(Оповещение, НСтр("ru = 'Строки в которых не заполнены обязательные колонки будут пропущены.'") + + Символы.ПС + НСтр("ru = 'Продолжить?'"), РежимДиалогаВопрос.ДаНет); + Возврат; + КонецЕсли; + + АдресЗагруженныхДанных = АдресВХранилищеТаблицыСопоставления(); + Закрыть(АдресЗагруженныхДанных); + + ИначеЕсли ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Элементы.Назад.Заголовок = НСтр("ru = '< В начало_'"); + ЗакрытьФормуИВернутьМассивСсылок(); + Иначе + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ДлительныеОперации; + ЗаписатьЗагружаемыеДанныеКлиент(); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВопросаОДобавлениеВТабличнуюЧасть(Результат, ДополнительныеПараметры) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + АдресЗагруженныхДанных = АдресВХранилищеТаблицыСопоставления(); + Закрыть(АдресЗагруженныхДанных); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьТаблицуСопоставленияИзВременногоХранилища() + СопоставленныеДанные = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + ЗначениеВРеквизитФормы(СопоставленныеДанные, "ТаблицаСопоставленияДанных"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФормуИВернутьМассивСсылок() + МассивСсылок = Новый Массив; + Для каждого Строка Из ТаблицаСопоставленияДанных Цикл + Если ЗначениеЗаполнено(Строка.ОбъектСопоставления) Тогда + МассивСсылок.Добавить(Строка.ОбъектСопоставления); + КонецЕсли; + КонецЦикла; + + Закрыть(МассивСсылок); +КонецПроцедуры + +&НаКлиенте +Процедура Назад(Команда) + + Если Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными Тогда + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ВыборСправочникаДляЗагрузки; + Элементы.Назад.Видимость = Ложь; + ОчиститьТаблицу(); + ИначеЕсли Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СопоставлениеЗагружаемыхДанных ИЛИ Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.НеНайдено Тогда + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными; + Элементы.ВставитьВСписок.Видимость = Ложь; + Элементы.Далее.КнопкаПоУмолчанию = Истина; + Элементы.Далее.Видимость = Истина; + Если ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Элементы.Далее.Заголовок = НСтр("ru = 'Вставить в список'"); + Иначе + Элементы.Далее.Заголовок = НСтр("ru = 'Далее >'"); + КонецЕсли; + Если ТипЗагрузки = "ТабличнаяЧасть" ИЛИ ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Элементы.Назад.Видимость = Ложь; + КонецЕсли; + + + ИначеЕсли Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ОтчетОЗагрузкеДанных Тогда + Элементы.ОткрытьСправочникПослеЗакрытияПомощника.Видимость = Ложь; + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СопоставлениеЗагружаемыхДанных; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыгрузитьШаблонВФайл(Команда) + + Если ПодключитьРасширениеРаботыСФайлами() Тогда + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ФайловыеФункции") Тогда + МодульФайловыеФункцииСлужебныйКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ФайловыеФункцииСлужебныйКлиент"); + ПутьКФайлу = МодульФайловыеФункцииСлужебныйКлиент.КаталогМоиДокументы(); + Иначе + ПутьКФайлу = ""; + КонецЕсли; + + ИмяФайла = СформироватьИмяФайлаДляОбъектаМетаданных(ИмяОбъектаСопоставления); + ПолучитьПутьКФайлуНачалоВыбора(РежимДиалогаВыбораФайла.Сохранение, ПутьКФайлу, ИмяФайла); + ВыбранныйФайл = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ПутьКФайлу); + РасширениеФайла = ОбщегоНазначенияКлиентСервер.РасширениеБезТочки(ВыбранныйФайл.Расширение); + Если ЗначениеЗаполнено(ВыбранныйФайл.Имя) тогда + Если РасширениеФайла = "csv" тогда + СохранитьТаблицуВCSVФайл(ПутьКФайлу); + ИначеЕсли РасширениеФайла = "xlsx" тогда + АдресВоВременномХранилище = ТабличныйДокументУдалениеПримечаний(); + ТабличныйДокументБезПримечаний = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище); + ТабличныйДокументБезПримечаний.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.xlsx); + ШаблонСДанными = ТабличныйДокументБезПримечаний; + ИначеЕсли РасширениеФайла = "mxl" тогда + ШаблонСДанными.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.mxl); + Иначе + ПоказатьПредупреждение(, НСтр("ru = 'Шаблон файла не был сохранен.'")); + КонецЕсли; + КонецЕсли; + Иначе + Оповещение = Новый ОписаниеОповещения("ПослеВыбораРасширенияФайла", ЭтотОбъект); + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма.РасширениеФайла",, ЭтотОбъект, Истина,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + ПутьКФайлу = ""; + КонецЕсли; + +КонецПроцедуры + + +// Функция для обхода ошибки сохранения, если в документе есть примечания +// +&НаСервере +Функция ТабличныйДокументУдалениеПримечаний() + ТабличныйДокументДляСохранения = новый ТабличныйДокумент; + ИзменитьБланкПоИнформацииПоКолонкам(ТабличныйДокументДляСохранения); + АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ТабличныйДокументДляСохранения); + Возврат АдресВоВременномХранилище; +КонецФункции + +&НаКлиенте +Процедура ЗагрузитьШаблонИзФайла(Команда) + + АдресВременногоХранилища = ""; + Оповещение = Новый ОписаниеОповещения("ПередатьФайлНаСервер", ЭтотОбъект); + НачатьПомещениеФайла(Оповещение, АдресВременногоХранилища); + + ТаблицаОтчет.ФиксацияСверху = 1; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ВидЗагрузкиДанныхВыборЗначения(Элемент, Значение, СтандартнаяОбработка) + СтандартнаяОбработка=Ложь; + Далее(Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура ФильтрОтчетПриИзменении(Элемент) + + ФоновоеЗаданиеОтчетНаКлиенте(); + + Если ФильтрОтчет = "Пропущенные" Тогда + Элементы.ИзменитьРеквизиты.Доступность=Ложь; + Иначе + Элементы.ИзменитьРеквизиты.Доступность=Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ФильтрТаблицаСопоставленияПриИзменении(Элемент) + УстановитьФильтрациюТаблицыСопоставления(); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьФильтрациюТаблицыСопоставления() + + Фильтр = ФильтрТаблицаСопоставления; + + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + Если Фильтр = "Сопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "СтрокаСопоставлена"); + ИначеЕсли Фильтр = "Несопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "НеСопоставлен"); + ИначеЕсли Фильтр = "Неоднозначные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("ОписаниеОшибки", ""); + Иначе + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Неопределено; + КонецЕсли; + ИначеЕсли ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Если Фильтр = "Сопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "СтрокаСопоставлена"); + ИначеЕсли Фильтр = "Несопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "Не"); + ИначеЕсли Фильтр = "Неоднозначные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "Неоднозначность"); + Иначе + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Неопределено; + КонецЕсли; + Иначе + Если Фильтр = "Сопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "СтрокаСопоставлена"); + ИначеЕсли Фильтр = "Несопоставленные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "Не"); + ИначеЕсли Фильтр = "Неоднозначные" Тогда + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Новый ФиксированнаяСтруктура("РезультатСопоставленияСтроки", "Неоднозначность"); + Иначе + Элементы.ТаблицаСопоставленияДанных.ОтборСтрок = Неопределено; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + + +&НаКлиенте +Процедура СписокКолонокСопоставленияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + + Если СопоставитьПоКолонке.Количество() = 0 Тогда + Для каждого строка Из ИнформацияПоКолонкам Цикл + Если ЗначениеЗаполнено(Строка.Синоним) Тогда + ПредставлениеКолонки = Строка.Синоним; + Иначе + ПредставлениеКолонки = Строка.ПредставлениеКолонки; + КонецЕсли; + СопоставитьПоКолонке.Добавить(строка.ИмяКолонки, ПредставлениеКолонки); + КонецЦикла; + КонецЕсли; + ПараметрыФормы = Новый Структура("СписокКолонок", СопоставитьПоКолонке); + ОписаниеОповещения = НОвый ОписаниеОповещения("ПослеВыбораКолонокДляСопоставления", ЭтотОбъект); + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма.ВыборКолонок", ПараметрыФормы, ЭтотОбъект, , , , ОписаниеОповещения, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораКолонокДляСопоставления(Результат, Параметр) Экспорт + + Если Результат = Неопределено Тогда + Возврат; + КонецЕсли; + + СопоставитьПоКолонке = Результат; + КолонкиВСтроку = ""; + Разделитель = ""; + КоличествоВыбранныхКолонок = 0; + Для каждого Элемент Из СопоставитьПоКолонке Цикл + Если Элемент.Пометка Тогда + КолонкиВСтроку = КолонкиВСтроку + Разделитель + Элемент.Представление; + Разделитель = ", "; + КоличествоВыбранныхКолонок = КоличествоВыбранныхКолонок + 1; + КонецЕсли; + КонецЦикла; + + СписокКолонокСопоставления = КолонкиВСтроку; + ВыполнитьСопоставление(); +КонецПроцедуры + +&НаКлиенте +Процедура ВариантЗагрузкиПриИзменении(Элемент) + + Если ВариантЗагрузки = 0 Тогда + Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаВариантЗаполнениеТаблицы; + Иначе + Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаВариантЗагрузкаИзФайла; + КонецЕсли; + + ПоказатьИнформационнуюСтрокуПроОбязательныеКолонки(); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыШаблонСДанными + +&НаКлиенте +Процедура ШаблонСДаннымиВыбор(Элемент, Область, СтандартнаяОбработка) + Если Область.Верх = 1 Тогда + СтандартнаяОбработка = Ложь; // Нельзя редактировать шапку + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыСопоставленияДанных + +&НаКлиенте +Процедура ТаблицаСопоставленияДанныхПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) + + Если ТипЗагрузки <> "ТабличнаяЧасть" Тогда + Если ЗначениеЗаполнено(Элемент.ТекущиеДанные.ОбъектСопоставления) тогда + Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + иначе + Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = "НеСопоставлен"; + КонецЕсли; + Иначе + Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина); + КолонкиОбязательнаДляЗаполнения = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + Для каждого КолонкаТаблицы Из КолонкиОбязательнаДляЗаполнения Цикл + Если НЕ ЗначениеЗаполнено(Элемент.ТекущиеДанные["ТЧ_" + КолонкаТаблицы.Ассоциация]) Тогда + РезультатСопоставленияСтроки = "НеСопоставлен"; + Прервать; + КонецЕсли; + КонецЦикла; + Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = РезультатСопоставленияСтроки; + КонецЕсли; + + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТаблицаСопоставленияДанныхПриАктивизацииЯчейки(Элемент) + Элементы.РазрешитьНеоднозначность.Доступность = Ложь; + Элементы.ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность.Доступность = Ложь; + + Если Элемент.ТекущиеДанные <> Неопределено И ЗначениеЗаполнено(Элемент.ТекущиеДанные.РезультатСопоставленияСтроки) Тогда + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + Если СтрДлина(Элемент.ТекущийЭлемент.Имя) > 3 И Лев(Элемент.ТекущийЭлемент.Имя,3) = "тч_" Тогда + ИмяКолонки = Сред(Элемент.ТекущийЭлемент.Имя, 4); + Если Найти(Элемент.ТекущиеДанные.ОписаниеОшибки, ИмяКолонки) > 0 Тогда + Элементы.РазрешитьНеоднозначность.Доступность = Истина; + Элементы.ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность.Доступность = Истина; + КонецЕсли; + КонецЕсли; + ИначеЕсли Элемент.ТекущиеДанные.РезультатСопоставленияСтроки = "Неоднозначность" Тогда + Элементы.РазрешитьНеоднозначность.Доступность = Истина; + Элементы.ТаблицаСопоставленияДанныхКонтекстноеМенюРазрешитьНеоднозначность.Доступность = Истина; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ТаблицаСопоставленияДанныхВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + ОткрытьФормуРазрешенияНеоднозначности(ВыбраннаяСтрока, Поле.Имя, СтандартнаяОбработка); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыОтчет + +&НаКлиенте +Процедура ТаблицаОтчетПриАктивизацииОбласти(Элемент) + Если ТаблицаОтчет.ТекущаяОбласть.Низ = 1 И ТаблицаОтчет.ТекущаяОбласть.Верх = 1 Тогда + Элементы.ИзменитьРеквизиты.Доступность = Ложь; + Иначе + Элементы.ИзменитьРеквизиты.Доступность = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ГрупповоеИзменениеРеквизитов(Команда) + + Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов") Тогда + Если ТаблицаОтчет.ТекущаяОбласть.Верх = 1 Тогда + ВерхняяПозиция = 2; + Иначе + ВерхняяПозиция = ТаблицаОтчет.ТекущаяОбласть.Верх; + КонецЕсли; + МассивСсылок = ГрупповоеИзменениеРеквизитовНаСервере(ВерхняяПозиция, ТаблицаОтчет.ТекущаяОбласть.Низ); + Если массивСсылок.Количество() > 0 Тогда + ПараметрыФормы = Новый Структура("МассивОбъектов", МассивСсылок); + ИмяОбъекта = "Обработка."; + ОткрытьФорму(ИмяОбъекта + "ГрупповоеИзменениеРеквизитов.Форма", ПараметрыФормы); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + + +#Область ШагВыборВариантаЗагрузки + +&НаСервере +Процедура ЗаполнитьСписокВидЗагрузкиДанных() + Обработки.ЗагрузкаДанныхИзФайла.СоздатьСписокСправочниковДляЗагрузки(СписокВариантовЗагрузки); +КонецПроцедуры + +#КонецОбласти + + +#Область ШагЗаполнениеТаблицыДанными + +&НаКлиенте +Процедура ВыполнитьШагЗаполнениеТаблицыДаннымиНаКлиенте() + + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ЗаполнениеТаблицыДанными; + Элементы.Назад.Видимость = Истина; + +КонецПроцедуры + +&НаКлиенте +Функция ТаблицаСДаннымиПустая() + + Если ИнформацияПоКолонкам.Количество() = 1 Тогда + Если НЕ ЗначениеЗаполнено(ШаблонСДаннымиОднаКолонка) Тогда + Возврат Истина; + КонецЕсли; + Иначе + Если ШаблонСДанными.ВысотаТаблицы < 2 Тогда + Возврат Истина; + КонецЕсли; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +&НаСервереБезКонтекста +Функция ПолучитьПолноеИмяОбъектаМетаданных(Имя) + ОбъектМетаданных = Метаданные.Справочники.Найти(Имя); + Если ОбъектМетаданных <> Неопределено Тогда + Возврат ОбъектМетаданных.ПолноеИмя(); + КонецЕсли; + ОбъектМетаданных = Метаданные.Документы.Найти(Имя); + Если ОбъектМетаданных <> Неопределено Тогда + Возврат ОбъектМетаданных.ПолноеИмя(); + КонецЕсли; + ОбъектМетаданных = Метаданные.ПланыВидовХарактеристик.Найти(Имя); + Если ОбъектМетаданных <> Неопределено Тогда + Возврат ОбъектМетаданных.ПолноеИмя(); + КонецЕсли; + + Возврат Неопределено; +КонецФункции + +&НаСервере +Процедура ВыполнитьШагЗаполнениеТаблицыДаннымиНаСервере(ОписаниеСтрокиВыбора) + + Если Найти(ОписаниеСтрокиВыбора.ПолноеИмяОбъектаМетаданных, ".") > 0 Тогда + ИмяОбъектаСопоставления = ОписаниеСтрокиВыбора.ПолноеИмяОбъектаМетаданных; + Иначе + ИмяОбъектаСопоставления = ПолучитьПолноеИмяОбъектаМетаданных(ОписаниеСтрокиВыбора.ПолноеИмяОбъектаМетаданных); + КонецЕсли; + + ТипЗагрузки = ОписаниеСтрокиВыбора.Тип; + Если ТипЗагрузки = "ВнешняяЗагрузка" Тогда + ВнешняяОбработкаСсылка = ОписаниеСтрокиВыбора.Ссылка; + КонецЕсли; + + СформироватьМакетПоТипуЗагрузки(); + СоздатьТаблицуСопоставленияПоИнформацииОКолонках(); + ПоказатьИнформационнуюСтрокуПроОбязательныеКолонки(); + +КонецПроцедуры + +&НаСервере +Процедура СформироватьМакетПоТипуЗагрузки() + + ПараметрыЗагрузки = Неопределено; + Если ТипЗагрузки = "УниверсальнаяЗагрузка" Тогда + ЭтотОбъект.Заголовок = НСтр("ru = 'Загрузка из файла в справочник ""'") + ПредставлениеСправочника(ИмяОбъектаСопоставления)+""""; + ЭтотОбъект.АвтоЗаголовок = Ложь; + ИначеЕсли ТипЗагрузки = "ПрикладнаяЗагрузка" Тогда + ЗагрузитьМакетВТабличныйДокумент(ПараметрыЗагрузки); + ЭтотОбъект.Заголовок = НСтр("ru = 'Загрузка из файла в справочник ""'") + ПредставлениеСправочника(ИмяОбъектаСопоставления)+""""; + ИначеЕсли ТипЗагрузки = "ВнешняяЗагрузка" Тогда + ИдентификаторКоманды = ИмяОбъектаСопоставления; + ПараметрыЗагрузки = Обработки.ЗагрузкаДанныхИзФайла.ПараметрыЗагрузкиИзФайлаВнешняяОбработка(ИмяОбъектаСопоставления, + ВнешняяОбработкаСсылка); + КонецЕсли; + + СформироватьМакет(ПараметрыЗагрузки); +КонецПроцедуры + + +&НаСервере +Процедура СформироватьМакет(ПараметрыЗагрузки) + + ИнформацияПоКолонкамИзХранилища = ХранилищеСистемныхНастроек.Загрузить("ЗагрузкаДанныхИзФайла", ИмяОбъектаСопоставления); + Если ИнформацияПоКолонкамИзХранилища <> Неопределено Тогда + ЗначениеВРеквизитФормы(ИнформацияПоКолонкамИзХранилища, "ИнформацияПоКолонкам"); + Иначе + Если ТипЗагрузки = "УниверсальнаяЗагрузка" Тогда + Обработки.ЗагрузкаДанныхИзФайла.ИнформациюПоКолонкамИзРеквизитовСправочника(ИмяОбъектаСопоставления, ИнформацияПоКолонкам); + ИначеЕсли ТипЗагрузки = "ПрикладнаяЗагрузка" Тогда + Макет = МенеджерОбъекта(ИмяОбъектаСопоставления).ПолучитьМакет("ЗагрузкаИзФайла"); + ОбластьЗаголовокТаблицы = ОбластьЗаголовкаШаблонаТаблицы(Макет); + Обработки.ЗагрузкаДанныхИзФайла.СоздатьИнформациюПоКолонкамНаОснованиеШаблона(ОбластьЗаголовокТаблицы, ПараметрыЗагрузки, ИнформацияПоКолонкам); + ИначеЕсли ТипЗагрузки = "ВнешняяЗагрузка" Тогда + ЗагрузитьМакетВТабличныйДокументВнешняяОбработка(ПараметрыЗагрузки); + КонецЕсли; + КонецЕсли; + + ИзменитьБланкПоИнформацииПоКолонкам(); + +КонецПроцедуры + +&НаСервере +Процедура СохранитьТаблицуВCSVФайл(ПолноеИмяФайла) + Обработки.ЗагрузкаДанныхИзФайла.СохранитьТаблицуВCSVФайл(ПолноеИмяФайла, ИнформацияПоКолонкам); +КонецПроцедуры + +#КонецОбласти + +#Область ШагСопоставлениеЗагруженныхДанных + +&НаСервере +Процедура СкопироватьОднуКолонкуВШаблонСДанными() + + ОчисткаШаблонСДанными(); + + КоличествоСтрок = СтрЧислоСтрок(ШаблонСДаннымиОднаКолонка); + НомерСтрокиВШаблоне = 2; + Для НомерСтроки = 1 По КоличествоСтрок Цикл + Строка = СтрПолучитьСтроку(ШаблонСДаннымиОднаКолонка, НомерСтроки); + Если ЗначениеЗаполнено(Строка) Тогда + Ячейка = ШаблонСДанными.ПолучитьОбласть(НомерСтрокиВШаблоне, 1, НомерСтрокиВШаблоне, 1); + Ячейка.ТекущаяОбласть.Текст = Строка; + ШаблонСДанными.Вывести(Ячейка); + НомерСтрокиВШаблоне = НомерСтрокиВШаблоне + 1; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Функция СоздатьТаблицуСоСпискомНеоднозначностей() + СписокНеоднозначностей = Новый ТаблицаЗначений; + СписокНеоднозначностей.Колонки.Добавить("Идентификатор"); + СписокНеоднозначностей.Колонки.Добавить("Колонка"); + + Возврат СписокНеоднозначностей; +КонецФункции + +&НаСервере +Процедура ВыполнитьШагСопоставлениеЗагружаемыхДанныхНаСервере(ФоновоеЗадание = Ложь) + + Если ИнформацияПоКолонкам.Количество() = 1 Тогда + СкопироватьОднуКолонкуВШаблонСДанными(); + КонецЕсли; + + ТаблицаСопоставления = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + АдресЗагруженныхДанных = ""; + АдресКопииТабличнойЧасти = ""; + СписокНеоднозначностей = СоздатьТаблицуСоСпискомНеоднозначностей(); + + Обработки.ЗагрузкаДанныхИзФайла.ВыгрузитьДанныеДляТЧ(ШаблонСДанными, ИнформацияПоКолонкам, АдресЗагруженныхДанных); + СкопироватьСтруктуруТабличнойЧасти(АдресКопииТабличнойЧасти); + + МенеджерОбъекта = МенеджерОбъекта(ИмяОбъектаСопоставления); + МенеджерОбъекта.СопоставитьЗагружаемыеДанные(АдресЗагруженныхДанных, АдресКопииТабличнойЧасти, СписокНеоднозначностей, ИмяОбъектаСопоставления); + + Если НЕ РеквизитыСозданы Тогда + СоздатьТаблицуСопоставленияПоИнформацииОКолонкахДляТЧ(); + КонецЕсли; + + ПоместитьДанныеВТаблицуСопоставления(АдресЗагруженныхДанных, АдресКопииТабличнойЧасти, СписокНеоднозначностей); + ИначеЕсли ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Обработки.ЗагрузкаДанныхИзФайла.ЗаполнитьТаблицуСопоставленияДаннымиИзШаблона(ШаблонСДанными, ТаблицаСопоставления, ИнформацияПоКолонкам); + Обработки.ЗагрузкаДанныхИзФайла.СопоставитьЗначениеКолонкиАвто(ТаблицаСопоставления, "Ссылки"); + ЗначениеВРеквизитФормы(ТаблицаСопоставления, "ТаблицаСопоставленияДанных"); + Иначе + ПараметрыВызоваСервера = Новый Структура(); + ПараметрыВызоваСервера.Вставить("ШаблонСДанными", ШаблонСДанными); + ПараметрыВызоваСервера.Вставить("ТаблицаСопоставления", ТаблицаСопоставления); + ТаблицаИнформацияПоКолонкам = РеквизитФормыВЗначение("ИнформацияПоКолонкам"); + + ПараметрыВызоваСервера.Вставить("ИнформацияПоКолонкам", ТаблицаИнформацияПоКолонкам); + + РезультатФоновогоЗадания = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, + "Обработки.ЗагрузкаДанныхИзФайла.ЗаполнитьТаблицуСопоставленияДаннымиИзШаблонаФон", + ПараметрыВызоваСервера, + НСтр("ru = 'ЗагрузкаДанныхИзФайла: Выполнение серверного метода обработки ЗаполнитьТаблицуСопоставленияДаннымиИзШаблона'")); + + Если РезультатФоновогоЗадания.ЗаданиеВыполнено Тогда + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеСопоставленияНаСервере(); + Иначе + ФоновоеЗадание = Истина; + ФоновоеЗаданиеИдентификатор = РезультатФоновогоЗадания.ИдентификаторЗадания; + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеСопоставленияНаСервере() + + ТаблицаСопоставления = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + + Если ТипЗагрузки = "ПрикладнаяЗагрузка" Тогда + СопоставитьДанныеПрикладнаяЗагрузка(ТаблицаСопоставления); + Элементы.ПояснениеДляПрикладнойЗагрузки.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Элементы.ПояснениеДляПрикладнойЗагрузки.Заголовок, ПредставлениеСправочника(ИмяОбъектаСопоставления)); + ИначеЕсли ТипЗагрузки = "ВнешняяЗагрузка" Тогда + СопоставитьДанныеВнешняяОбработка(ТаблицаСопоставления); + КонецЕсли; + + Элементы.ПояснениеДляПрикладнойЗагрузки.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Элементы.ПояснениеДляПрикладнойЗагрузки.Заголовок, ПредставлениеСправочника(ИмяОбъектаСопоставления)); + + ЗначениеВРеквизитФормы(ТаблицаСопоставления, "ТаблицаСопоставленияДанных"); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьШагСопоставлениеЗагружаемыхДанных() + + Если ТаблицаСДаннымиПустая() Тогда + ПоказатьПредупреждение(, (НСтр("ru ='Для перехода к этапу сопоставления и загрузки данных, необходимо заполнить таблицу.'"))); + Возврат; + КонецЕсли; + + СписокНезаполненныхКолонок = НезаполненныеОбязательныеКолонки(); + Если СписокНезаполненныхКолонок.Количество() > 0 Тогда + Если СписокНезаполненныхКолонок.Количество() =1 Тогда + ТекстПроКолонки = НСтр("ru = 'Обязательная колонка""'") + " " + СписокНезаполненныхКолонок[0] + + НСтр("ru = '"" содержит незаполненные строки, эти строки будут пропущены при загрузке'"); + Иначе + ТекстПроКолонки = НСтр("ru = 'Обязательные колонки""'") + " " + СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(СписокНезаполненныхКолонок,", ") + + НСтр("ru = '"" содержат незаполненные строки, эти строки будут пропущены при загрузке'"); + КонецЕсли; + ТекстПроКолонки = ТекстПроКолонки + Символы.ПС + НСтр("ru = 'Продолжить?'"); + + Оповещение = Новый ОписаниеОповещения("ПослеВопросаОНезаполненныхСтроках", ЭтотОбъект); + ПоказатьВопрос(Оповещение, ТекстПроКолонки, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Нет); + Иначе + ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеПроверки(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВопросаОНезаполненныхСтроках(Результат, Параметр) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеПроверки(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеПроверки() + + ФоновоеЗадание = Ложь; + ВыполнитьШагСопоставлениеЗагружаемыхДанныхНаСервере(ФоновоеЗадание); + + Если ФоновоеЗадание = Истина Тогда + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ДлительныеОперации; + ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеСопоставлениеНаКлиенте", 1, Истина); + ПараметрыОбработчика.МаксимальныйИнтервал = 5; + Иначе + Если ВсеДанныеСопоставлены() И ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + ЗакрытьФормуИВернутьМассивСсылок(); + Иначе + ВыполнитьШагСопоставлениеЗагружаемыхДанныхКлиент(); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +#Область ДлительныеОперации + +&НаКлиенте +Процедура ФоновоеЗаданиеЗагрузкаФайлаНаКлиенте() + Результат = ФоновоеЗаданиеЗагрузкаФайлаПолучитьРезультат(); + Если Результат.ФоновоеЗаданиеВыполнено Тогда + Если ФормаДлительнойОперации.Открыта() + И ФормаДлительнойОперации.ИдентификаторЗадания = ФоновоеЗаданиеИдентификатор Тогда + ДлительныеОперацииКлиент.ЗакрытьФормуДлительнойОперации(ФормаДлительнойОперации); + КонецЕсли; + ШаблонСДанными = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + Элементы.ШаблонСДанными.Видимость = Истина; + Иначе + ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеЗагрузкаФайлаНаКлиенте", ПараметрыОбработчика.ТекущийИнтервал, Истина); + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ФоновоеЗаданиеСопоставлениеНаКлиенте() + Результат = ФоновоеЗаданиеСопоставлениеПолучитьРезультат(); + Если Результат.ФоновоеЗаданиеВыполнено Тогда + Если ВсеДанныеСопоставлены() И ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + ЗакрытьФормуИВернутьМассивСсылок(); + Иначе + ВыполнитьШагСопоставлениеЗагружаемыхДанныхКлиент(); + КонецЕсли; + Иначе + ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеСопоставлениеНаКлиенте", ПараметрыОбработчика.ТекущийИнтервал, Истина); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ФоновоеЗаданиеЗаписьНаКлиенте() + Результат = ФоновоеЗаданиеЗаписьПолучитьРезультат(); + Если Результат.ФоновоеЗаданиеВыполнено Тогда + ЗаполнитьТаблицуСопоставленияИзВременногоХранилища(); + ФоновоеЗаданиеОтчетНаКлиенте(Ложь); + Иначе + ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеЗаписьНаКлиенте", ПараметрыОбработчика.ТекущийИнтервал, Истина); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ЗаписатьЗагружаемыеДанныеКлиент() + + ФоновоеЗаданиеПроцент = 0; + ФоновоеЗадание = Ложь; + ЗаписатьЗагружаемыеДанныеОтчет(ФоновоеЗадание); + + Если ФоновоеЗадание = Истина Тогда + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ДлительныеОперации; + ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеЗаписьНаКлиенте", 1, Истина); + ПараметрыОбработчика.МаксимальныйИнтервал = 5; + Иначе + ФоновоеЗаданиеОтчетНаКлиенте(Ложь); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ФоновоеЗаданиеЗаписьПолучитьРезультат() + Результат = Новый Структура; + Результат.Вставить("ФоновоеЗаданиеВыполнено", Ложь); + Результат.ФоновоеЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ФоновоеЗаданиеИдентификатор); + Если НЕ Результат.ФоновоеЗаданиеВыполнено Тогда + ФоновоеЗаданиеПрочитатьПромежуточныйРезультат(Результат); + КонецЕсли; + Возврат Результат; +КонецФункции + +&НаКлиенте +Процедура ФоновоеЗаданиеОтчетНаКлиенте(ВыводитьОкноОжидания = Истина) + + ФоновоеЗадание = Ложь; + СформироватьОтчетОЗагрузке(ФильтрОтчет, ФоновоеЗадание, НЕ ВыводитьОкноОжидания); + + Если ФоновоеЗадание Тогда + Если ВыводитьОкноОжидания Тогда + ФормаДлительнойОперации = ДлительныеОперацииКлиент.ОткрытьФормуДлительнойОперации(ЭтотОбъект, ФоновоеЗаданиеИдентификатор); + КонецЕсли; + ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеСозданиеОтчетаНаКлиенте", ПараметрыОбработчика.ТекущийИнтервал, Истина); + Иначе + Результат = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + ПоказатьОтчет(Результат); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьОтчет(Отчет) + + Если Элементы.СтраницыПомощника.ТекущаяСтраница <> Элементы.ОтчетОЗагрузкеДанных Тогда + ВыполнитьШагОтчетОЗагрузкеДанныхКлиент(); + КонецЕсли; + + ИтогоОтчетСоздано = Отчет.Создано; + ИтогоОтчетОбновлено = Отчет.Обновлено; + ИтогоОтчетПропущено = Отчет.Пропущено; + ИтогоОтчетНекорректных = Отчет.Некорректных; + + Элементы.ФильтрОтчет.СписокВыбора.Очистить(); + Элементы.ФильтрОтчет.СписокВыбора.Добавить("ВсеЭлементы", НСтр("ru = 'Все ('") + Отчет.Всего + ")"); + Элементы.ФильтрОтчет.СписокВыбора.Добавить("Новые", НСтр("ru = 'Новые ('") + Отчет.Создано+ ")"); + Элементы.ФильтрОтчет.СписокВыбора.Добавить("Обновленные", НСтр("ru = 'Обновленные ('") + Отчет.Обновлено+ ")"); + Элементы.ФильтрОтчет.СписокВыбора.Добавить("Пропущенные", НСтр("ru = 'Пропущенные ('") + Отчет.Пропущено+ ")"); + ФильтрОтчет = Отчет.ТипОтчета; + + ТаблицаОтчет = Отчет.ТаблицаОтчет; + +КонецПроцедуры + +&НаКлиенте +Процедура ФоновоеЗаданиеСозданиеОтчетаНаКлиенте() + + РезультатВыполнения = ФоновоеЗаданиеОтчетПолучитьРезультат(); + Если РезультатВыполнения.ФоновоеЗаданиеВыполнено Тогда + Попытка + Если ФормаДлительнойОперации.Открыта() + И ФормаДлительнойОперации.ИдентификаторЗадания = ФоновоеЗаданиеИдентификатор Тогда + ДлительныеОперацииКлиент.ЗакрытьФормуДлительнойОперации(ФормаДлительнойОперации); + КонецЕсли; + Исключение + КонецПопытки; + + Результат = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + ПоказатьОтчет(Результат); + Иначе + ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеСозданиеОтчетаНаКлиенте", ПараметрыОбработчика.ТекущийИнтервал, Истина); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ФоновоеЗаданиеЗагрузкаФайлаПолучитьРезультат() + Результат = Новый Структура; + Результат.Вставить("ФоновоеЗаданиеВыполнено", Ложь); + Результат.ФоновоеЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ФоновоеЗаданиеИдентификатор); + Возврат Результат; +КонецФункции + +&НаСервере +Функция ФоновоеЗаданиеСопоставлениеПолучитьРезультат() + Результат = Новый Структура; + Результат.Вставить("ФоновоеЗаданиеВыполнено", Ложь); + Результат.ФоновоеЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ФоновоеЗаданиеИдентификатор); + Если Результат.ФоновоеЗаданиеВыполнено Тогда + ВыполнитьШагСопоставлениеЗагружаемыхДанныхПослеСопоставленияНаСервере(); + Иначе + ФоновоеЗаданиеПрочитатьПромежуточныйРезультат(Результат); + КонецЕсли; + Возврат Результат; +КонецФункции + +&НаСервере +Функция ФоновоеЗаданиеОтчетПолучитьРезультат() + Результат = Новый Структура; + Результат.Вставить("ФоновоеЗаданиеВыполнено", Ложь); + Результат.ФоновоеЗаданиеВыполнено = ДлительныеОперации.ЗаданиеВыполнено(ФоновоеЗаданиеИдентификатор); + Если НЕ Результат.ФоновоеЗаданиеВыполнено Тогда + ФоновоеЗаданиеПрочитатьПромежуточныйРезультат(Результат); + КонецЕсли; + Возврат Результат; +КонецФункции + +&НаСервере +Процедура ФоновоеЗаданиеПрочитатьПромежуточныйРезультат(Результат) + Прогресс = ДлительныеОперации.ПрочитатьПрогресс(ФоновоеЗаданиеИдентификатор); + Если Прогресс <> Неопределено Тогда + ФоновоеЗаданиеПроцент = Прогресс.Процент; + КонецЕсли; +КонецПроцедуры + + +#КонецОбласти + +&НаКлиенте +Процедура ВыполнитьШагСопоставлениеЗагружаемыхДанныхКлиент() + + Если ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Статистика = СтатисткаСопоставления(); + + Если Статистика.Сопоставленных > 0 Тогда + ТекстНайдено = НСтр("ru = 'Из %1 введенных строк в список будут вставлены: %2.'"); + Элементы.НадписьРезультатСопоставления.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстНайдено, + Статистика.Всего, Статистика.Сопоставленных); + + Если Статистика.Неоднозначных > 0 и Статистика.НеНайдено > 0 Тогда + ТекстНеНайдено = НСтр("ru = '11 строк будут пропущены:'") + Символы.ПС + " - " + НСтр("ru = 'Нет данных в программе: %1'") + + Символы.ПС + " - " +НСтр("ru = 'Несколько вариантов для вставки: %2'"); + ТекстНеНайдено = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстНеНайдено, Статистика.НеНайдено, Статистика.Неоднозначных); + ИначеЕсли Статистика.Неоднозначных > 0 Тогда + ТекстНеНайдено = НСтр("ru = 'Строки, для которых в программе имеется несколько вариантов, будут пропущены: %1'"); + ТекстНеНайдено = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстНеНайдено, Статистика.Неоднозначных); + ИначеЕсли Статистика.НеНайдено > 0 Тогда + ТекстНеНайдено = НСтр("ru = 'Строки, для которых в программе нет соответствующих данных, будут пропущены: %1'"); + ТекстНеНайдено = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстНеНайдено, Статистика.НеНайдено); + КонецЕсли; + ТекстНеНайдено = ТекстНеНайдено + Символы.ПС + НСтр("ru = 'Для просмотра пропущенных строк и подбора данных для вставки нажмите ""Далее"".'"); + Элементы.ДекорацияНеНайденоИНеоднозначность.Заголовок = ТекстНеНайдено; + + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.РезультатыСопоставления; + Элементы.Назад.Видимость = Истина; + Элементы.ВставитьВСписок.Видимость = Истина; + Элементы.Далее.Видимость = Истина; + Элементы.Назад.Заголовок = НСтр("ru = '< Назад'"); + Элементы.Далее.Заголовок = Нстр("ru = 'Далее >'"); + Элементы.Далее.АктивизироватьПоУмолчанию = Ложь; + Элементы.ВставитьВСписок.АктивизироватьПоУмолчанию = Истина; + Элементы.ВставитьВСписок.КнопкаПоУмолчанию = Истина; + + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); + УстановитьОформлениеДляСтраницыСопоставления(Ложь, Элементы.ПояснениеДляПоискаСсылок, Ложь, НСтр("ru = 'Далее >'")); + Иначе + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.НеНайдено; + Элементы.Закрыть.Заголовок = НСтр("ru = 'Закрыть'"); + Элементы.Назад.Видимость = Истина; + Элементы.ВставитьВСписок.Видимость = Ложь; + Элементы.Далее.Видимость = Ложь; + КонецЕсли; + + Иначе + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СопоставлениеЗагружаемыхДанных; + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); + + Если ТипЗагрузки = "УниверсальнаяЗагрузка" Тогда + УстановитьОформлениеДляСтраницыСопоставления(Истина, Элементы.ПояснениеДляУниверсальнойЗагрузки, Истина, НСтр("ru = 'Загрузить данные >'")); + ИначеЕсли ТипЗагрузки = "ТабличнаяЧасть" Тогда + УстановитьОформлениеДляСтраницыСопоставления(Ложь, Элементы.ПояснениеДляТабличнойЧасти, Истина, НСтр("ru = 'Загрузить данные'")); + ИначеЕсли ТипЗагрузки = "ВнешняяЗагрузка" Тогда + УстановитьОформлениеДляСтраницыСопоставления(Ложь, Элементы.ПояснениеДляПрикладнойЗагрузки, Ложь, НСтр("ru = 'Загрузить данные >'")); + Иначе + УстановитьОформлениеДляСтраницыСопоставления(Ложь, Элементы.ПояснениеДляПрикладнойЗагрузки, Ложь, НСтр("ru = 'Загрузить данные >'")); + КонецЕсли; + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьОформлениеДляСтраницыСопоставления(ВидимостьКнопкиСопоставление, ЭлементДляПоясняющегоТекста, ВидимостьКнопкиРазрешитьНеоднозначность, ТекстКнопкиДалее) + + Элементы.СписокКолонокСопоставления.Видимость = ВидимостьКнопкиСопоставление; + Элементы.Назад.Видимость = Истина; + Элементы.ПояснениеДляУниверсальнойЗагрузки.Видимость = Ложь; + Элементы.ПояснениеДляПрикладнойЗагрузки.Видимость = Ложь; + Элементы.ПояснениеДляТабличнойЧасти.Видимость = Ложь; + Элементы.ПояснениеДляПоискаСсылок.Видимость = Ложь; + Если ЭлементДляПоясняющегоТекста = Элементы.ПояснениеДляУниверсальнойЗагрузки Тогда + Элементы.ПояснениеДляУниверсальнойЗагрузки.Видимость = Истина; + ИначеЕсли ЭлементДляПоясняющегоТекста = Элементы.ПояснениеДляТабличнойЧасти Тогда + Элементы.ПояснениеДляТабличнойЧасти.Видимость = Истина; + ИначеЕсли ЭлементДляПоясняющегоТекста = Элементы.ПояснениеДляПоискаСсылок Тогда + Элементы.ПояснениеДляПоискаСсылок.Видимость = Истина; + Элементы.ПояснениеДляСопоставленияДанных.ОтображатьЗаголовок = Ложь; + Иначе + Элементы.ПояснениеДляПрикладнойЗагрузки.Видимость = Истина; + КонецЕсли; + + Элементы.РазрешитьНеоднозначность.Видимость = ВидимостьКнопкиРазрешитьНеоднозначность; + Элементы.Далее.Заголовок = ТекстКнопкиДалее; + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФормуРазрешенияНеоднозначности(ВыбраннаяСтрока, ПолеИмя, СтандартнаяОбработка) + Строка = ТаблицаСопоставленияДанных.НайтиПоИдентификатору(ВыбраннаяСтрока); + + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + Если Строка.РезультатСопоставленияСтроки = "НеСопоставлен" и СтрДлина(Строка.ОписаниеОшибки) > 0 Тогда + + Если СтрДлина(ПолеИмя) > 3 И Лев(ПолеИмя,3) = "тч_" Тогда + Имя = Сред(ПолеИмя, 4); + Если Найти(Строка.ОписаниеОшибки, Имя) Тогда + СтандартнаяОбработка = Ложь; + СтрокаИзТаблицы = новый Массив; + ЗначенияЗагружаемыхКолонок = Новый Структура(); + Для каждого Колонка из ИнформацияПоКолонкам Цикл + м = Новый Массив(); + м.Добавить(Колонка.ИмяКолонки); + м.Добавить(Колонка.ПредставлениеКолонки); + м.Добавить(Строка["фл_" + Колонка.ИмяКолонки]); + м.Добавить(Колонка.ТипКолонки); + СтрокаИзТаблицы.Добавить(м); + Если Имя = Колонка.Ассоциация Тогда + ЗначенияЗагружаемыхКолонок.Вставить(Колонка.ИмяКолонки, Строка["фл_" + Колонка.ИмяКолонки]); + КонецЕсли; + КонецЦикла; + + ПараметрыФормы = Новый Структура(); + ПараметрыФормы.Вставить("ТипЗагрузки", ТипЗагрузки); + ПараметрыФормы.Вставить("Имя", Имя); + ПараметрыФормы.Вставить("СтрокаИзТаблицы", СтрокаИзТаблицы); + ПараметрыФормы.Вставить("ЗначенияЗагружаемыхКолонок", ЗначенияЗагружаемыхКолонок); + ПараметрыФормы.Вставить("СписокНеоднозначностей", Неопределено); + ПараметрыФормы.Вставить("ПолноеИмяТабличнойЧасти", ИмяОбъектаСопоставления); + + Параметр = Новый Структура(); + Параметр.Вставить("Идентификатор", ВыбраннаяСтрока); + Параметр.Вставить("Имя", Имя); + + Оповещение = Новый ОписаниеОповещения("ПослеСопоставленияНеоднозначностей", ЭтотОбъект, Параметр); + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма.РазрешенияНеоднозначностей", ПараметрыФормы, ЭтотОбъект, Истина , , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + КонецЕсли; + КонецЕсли; + КонецЕсли; + Иначе + Если Строка.РезультатСопоставленияСтроки = "Неоднозначность" Тогда + СтандартнаяОбработка = Ложь; + + СтрокаИзТаблицы = новый Массив; + Для каждого Колонка из ИнформацияПоКолонкам Цикл + м = Новый Массив(); + м.Добавить(Колонка.ИмяКолонки); + м.Добавить(Колонка.ПредставлениеКолонки); + м.Добавить(Строка[Колонка.ИмяКолонки]); + м.Добавить(Колонка.ТипКолонки); + СтрокаИзТаблицы.Добавить(м); + КонецЦикла; + + КолонкиСопоставления = Новый СписокЗначений; + Для каждого Элемент из СопоставитьПоКолонке Цикл + Если Элемент.Пометка Тогда + КолонкиСопоставления.Добавить(Элемент.Значение); + КонецЕсли; + КонецЦикла; + + ПараметрыФормы = Новый Структура(); + ПараметрыФормы.Вставить("СтрокаИзТаблицы", СтрокаИзТаблицы); + ПараметрыФормы.Вставить("СписокНеоднозначностей", Строка.СписокНеоднозначностей); + ПараметрыФормы.Вставить("КолонкиСопоставления", КолонкиСопоставления); + ПараметрыФормы.Вставить("ТипЗагрузки", ТипЗагрузки); + + Параметр = Новый Структура("Идентификатор", ВыбраннаяСтрока); + + Оповещение = Новый ОписаниеОповещения("ПослеСопоставленияНеоднозначностей", ЭтотОбъект, Параметр); + ОткрытьФорму("Обработка.ЗагрузкаДанныхИзФайла.Форма.РазрешенияНеоднозначностей", ПараметрыФормы, ЭтотОбъект, Истина , , , Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СопоставитьДанныеПрикладнаяЗагрузка(ТаблицаСопоставленияДанныхСервер) + + МенеджерОбъект = МенеджерОбъекта(ИмяОбъектаСопоставления); + + МенеджерОбъект.СопоставитьЗагружаемыеДанныеИзФайла(ТаблицаСопоставленияДанныхСервер); + Для каждого Строка из ТаблицаСопоставленияДанныхСервер Цикл + Если ЗначениеЗаполнено(Строка.ОбъектСопоставления) Тогда + Строка.РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область ШагОтчетОЗагрузке + +&НаСервере +Процедура ЗаписатьЗагружаемыеДанныеОтчет(ФоновоеЗадание = Ложь) + + СопоставленныеДанные = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + + Если ТипЗагрузки = "УниверсальнаяЗагрузка" Тогда + + ПараметрыЗагрузки = Новый Структура(); + ПараметрыЗагрузки.Вставить("СоздаватьЕслиНеСопоставлено", СоздаватьЕслиНеСопоставлено); + ПараметрыЗагрузки.Вставить("ОбновлятьСуществующие", ОбновлятьСуществующие); + + ПараметрыВызоваСервера = Новый Структура(); + ПараметрыВызоваСервера.Вставить("СопоставленныеДанные", СопоставленныеДанные); + ПараметрыВызоваСервера.Вставить("ПараметрыЗагрузки", ПараметрыЗагрузки); + ПараметрыВызоваСервера.Вставить("ИмяОбъектаСопоставления", ИмяОбъектаСопоставления); + ТаблицаИнформацияПоКолонкам = РеквизитФормыВЗначение("ИнформацияПоКолонкам"); + ПараметрыВызоваСервера.Вставить("ИнформацияПоКолонкам", ТаблицаИнформацияПоКолонкам); + + РезультатФоновогоЗадания = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, + "Обработки.ЗагрузкаДанныхИзФайла.ЗаписатьСопоставленныеДанные", + ПараметрыВызоваСервера, + НСтр("ru = 'Подсистема ЗагрузкаДанныхИзФайла: Запись загружаемых данных'")); + + Если РезультатФоновогоЗадания.ЗаданиеВыполнено Тогда + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + СопоставленныеДанные = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + Иначе + ФоновоеЗадание = Истина; + ФоновоеЗаданиеИдентификатор = РезультатФоновогоЗадания.ИдентификаторЗадания; + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + КонецЕсли; + ИначеЕсли ТипЗагрузки = "ВнешняяЗагрузка" Тогда + ЗаписатьСопоставленныеДанныеВнешняяОбработка(СопоставленныеДанные); + Иначе + ЗаписатьСопоставленныеДанныеПрикладнаяЗагрузка(СопоставленныеДанные); + КонецЕсли; + + Если НЕ ФоновоеЗадание Тогда + ЗначениеВРеквизитФормы(СопоставленныеДанные, "ТаблицаСопоставленияДанных"); + КонецЕсли; + + Элементы.ОткрытьСправочникПослеЗакрытияПомощника.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Элементы.ОткрытьСправочникПослеЗакрытияПомощника.Заголовок, ПредставлениеСправочника(ИмяОбъектаСопоставления)); + Элементы.ПояснениеОтчетаОЗагрузке.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Элементы.ПояснениеОтчетаОЗагрузке.Заголовок, ПредставлениеСправочника(ИмяОбъектаСопоставления)); + + ТипОтчета = "ВсеЭлементы"; + +КонецПроцедуры + + +&НаКлиенте +Процедура ВыполнитьШагОтчетОЗагрузкеДанныхКлиент() + + Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.ОтчетОЗагрузкеДанных; + Элементы.ОткрытьСправочникПослеЗакрытияПомощника.Видимость = Истина; + Элементы.Закрыть.Заголовок = "Готово"; + Элементы.Далее.Видимость = Ложь; + Элементы.Назад.Видимость = Ложь; + +КонецПроцедуры +#КонецОбласти + +&НаСервере +Процедура ОчиститьТаблицу() + + ТаблицаСопоставленияДанныхСервер = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + ТаблицаСопоставленияДанныхСервер.Колонки.Очистить(); + ИнформацияПоКолонкам.Очистить(); + + Пока Элементы.ТаблицаСопоставленияДанных.ПодчиненныеЭлементы.Количество() > 0 Цикл + ЭтотОбъект.Элементы.Удалить(Элементы.ТаблицаСопоставленияДанных.ПодчиненныеЭлементы.Получить(0)); + КонецЦикла; + ШаблонСДанными = Новый ТабличныйДокумент; + + РеквизитыТаблицыСопоставления = ЭтотОбъект.ПолучитьРеквизиты("ТаблицаСопоставленияДанных"); + МассивПутейРеквизитов = Новый Массив; + Для каждого РеквизитТаблицы Из РеквизитыТаблицыСопоставления Цикл + МассивПутейРеквизитов.Добавить("ТаблицаСопоставленияДанных." + РеквизитТаблицы.Имя); + КонецЦикла; + Если МассивПутейРеквизитов.Количество() > 0 Тогда + ИзменитьРеквизиты(,МассивПутейРеквизитов); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьОформлениеДанных() + + Если ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + ТекстОбъектНеНайден = НСтр("ru='<Не найден>'"); + ЦветОбъектНеНайден = ЦветаСтиля.ФайлЗанятыйДругимПользователем; + ЦветНеоднозначность = ЦветаСтиля.ИзмененноеЗначениеРеквизитаЦвет; + Иначе + ТекстОбъектНеНайден = НСтр("ru='<Новый>'"); + ЦветОбъектНеНайден = ЦветаСтиля.РезультатУспехЦвет; + ЦветНеоднозначность = ЦветаСтиля.ПоясняющийОшибкуТекст; + КонецЕсли; + + УсловноеОформление.Элементы.Очистить(); + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ОбъектСопоставления"); + ПолеОформления.Использование = Истина; + + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.ОбъектСопоставления"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветОбъектНеНайден); + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", ТекстОбъектНеНайден); + + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ОбъектСопоставления"); + ПолеОформления.Использование = Истина; + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.РезультатСопоставленияСтроки"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ЭлементОтбора.ПравоеЗначение = "Неоднозначность"; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветНеоднозначность); + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru='<неоднозначность>'")); + +КонецПроцедуры + +&НаСервере +Функция ИнформацияОКолонке(ИмяКолонки) + Отбор = новый Структура("ИмяКолонки", ИмяКолонки); + Результат = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если Результат.Количество() > 0 Тогда + Возврат Результат[0]; + КонецЕсли; + + Возврат Неопределено; +КонецФункции + +&НаСервере +Функция ИнформацияОбОбъектеМетаданныхПоТипу(ПолныйТипОбъекта) + ОписаниеОбъекта = новый Структура("ТипОбъекта, ИмяОбъекта"); + ПолноеИмя = Метаданные.НайтиПоТипу(ПолныйТипОбъекта).ПолноеИмя(); + Результат = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолноеИмя,"."); + Если Результат.Количество()>1 Тогда + ОписаниеОбъекта.ТипОбъекта = Результат[0]; + ОписаниеОбъекта.ИмяОбъекта = Результат[1]; + + Возврат ОписаниеОбъекта; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + +&НаСервере +Функция УсловияПоВыбраннымКолонкам() + + Разделитель = ""; + РазделительИ = ""; + ТипСравнения = " = "; + сГде = ""; + СтрокаУсловие = ""; + + Для каждого Элемент Из СопоставитьПоКолонке Цикл + Если Элемент.Пометка Тогда + Колонка = ИнформацияОКолонке(Элемент.Значение); + // Создаем запрос в зависимости от типов + Если Колонка <> Неопределено тогда + ТипКолонки = Колонка.ТипКолонки.Типы()[0]; + Если ТипКолонки = Тип("Строка") Тогда + Если Колонка.ТипКолонки.КвалификаторыСтроки.Длина = 0 ТОгда + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " ПОДОБНО ТаблицаСопоставления." + Колонка.ИмяКолонки; + сГДЕ = сГДЕ + " И СправочникСопоставления." + Колонка.ИмяКолонки + " <> """""; + Иначе + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " = ТаблицаСопоставления." + Колонка.ИмяКолонки; + сГДЕ = сГДЕ + " И СправочникСопоставления." + Колонка.ИмяКолонки + " <> """""; + КонецЕсли; + ИначеЕсли ТипКолонки = Тип("Число") Тогда + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " = ТаблицаСопоставления." + Колонка.ИмяКолонки; + ИначеЕсли ТипКолонки = Тип("Дата") Тогда + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " = ТаблицаСопоставления." + Колонка.ИмяКолонки; + ИначеЕсли ТипКолонки = Тип("Булево") Тогда + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " = ТаблицаСопоставления." + Колонка.ИмяКолонки; + Иначе + ИнфоОбъект = ИнформацияОбОбъектеМетаданныхПоТипу(ТипКолонки); + Если ИнфоОбъект.ТипОбъекта = "Справочник" Тогда + Справочник = Метаданные.Справочники.Найти(ИнфоОбъект.ИмяОбъекта); + ТекстУсловияСправочник = ""; + РазделительИЛИ = ""; + Для каждого СтрокаВвода из Справочник.ВводПоСтроке Цикл + Если СтрокаВвода.Имя = "Код" И НЕ Справочник.Автонумерация Тогда + ТекстУсловияВВодаПоСтроке = "СправочникСопоставления." + Колонка.ИмяКолонки+ ".Код " + ТипСравнения + " ТаблицаСопоставления." + Колонка.ИмяКолонки; + Иначе + ТекстУсловияВВодаПоСтроке = "СправочникСопоставления." + Колонка.ИмяКолонки+ "." + СтрокаВвода.Имя + ТипСравнения + " ТаблицаСопоставления." + Колонка.ИмяКолонки; + КонецЕсли; + ТекстУсловияСправочник = ТекстУсловияСправочник + РазделительИЛИ + ТекстУсловияВВодаПоСтроке; + РазделительИЛИ = " ИЛИ "; + КонецЦикла; + СтрокаУсловие = СтрокаУсловие + РазделительИ + " ( "+ ТекстУсловияСправочник + " )"; + ИначеЕсли ИнфоОбъект.ТипОбъекта = "Перечисление" Тогда + СтрокаУсловие = СтрокаУсловие + РазделительИ + "СправочникСопоставления." + Колонка.ИмяКолонки + " = ТаблицаСопоставления." + Колонка.ИмяКолонки; + КонецЕсли; + КонецЕсли; + + КонецЕсли; + + РазделительИ = " И "; + Разделитель = ","; + + КонецЕсли; + КонецЦикла; + + Условия = Новый Структура("УсловиеОбъединения , Где"); + Условия.УсловиеОбъединения = СтрокаУсловие; + Условия.Где = сГДЕ; + Возврат Условия; +КонецФункции + +&НаСервере +Процедура ВыполнитьСопоставлениеПоВыбранномуРеквизиту(КоличествоСопоставленных = 0, СписокКолонокСопоставления = "") + + Условия = УсловияПоВыбраннымКолонкам(); + + Если Не ЗначениеЗаполнено(Условия.УсловиеОбъединения ) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъекта = Обработки.ЗагрузкаДанныхИзФайла.РазложитьПолноеИмяОбъекта(ИмяОбъектаСопоставления); + ИмяСправочника = СтруктураОбъекта.НазваниеОбъекта; + ТаблицаСопоставления = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + + СписокКолонок = ""; + Разделитель = ""; + Для каждого Колонка из ТаблицаСопоставления.Колонки Цикл + Если Колонка.Имя <> "СписокНеоднозначностей" И Колонка.Имя <> "РезультатСопоставленияСтроки" И Колонка.Имя <> "ОписаниеОшибки" Тогда + СписокКолонок = СписокКолонок + Разделитель + Колонка.Имя; + Разделитель = ", "; + КонецЕсли; + КонецЦикла; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ " + СписокКолонок + " + |ПОМЕСТИТЬ ТаблицаСопоставления + |ИЗ &ТаблицаСопоставления КАК ТаблицаСопоставления + |; + |ВЫБРАТЬ + | СправочникСопоставления.Ссылка, ТаблицаСопоставления.Идентификатор + |ИЗ + | Справочник." + ИмяСправочника + " КАК СправочникСопоставления + | ПРАВОЕ СОЕДИНЕНИЕ ТаблицаСопоставления КАК ТаблицаСопоставления + | ПО " + Условия.УсловиеОбъединения + " + |ГДЕ + | СправочникСопоставления.ПометкаУдаления = ЛОЖЬ " + Условия.Где + " + | УПОРЯДОЧИТЬ ПО ТаблицаСопоставления.Идентификатор ИТОГИ ПО ТаблицаСопоставления.Идентификатор"; + + Запрос.УстановитьПараметр("ТаблицаСопоставления", ТаблицаСопоставления); + + РезультатЗапроса = Запрос.Выполнить(); + ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); + + ПустоеЗначение = МенеджерОбъекта(ИмяОбъектаСопоставления).ПустаяСсылка(); + + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл + Строка = ТаблицаСопоставления.Найти(ВыборкаДетальныеЗаписи.Идентификатор, "Идентификатор"); + + Если ЗначениеЗаполнено(Строка.ОбъектСопоставления) Тогда + Продолжить; + КонецЕсли; + + ВыборкаДетальныеЗаписиГруппа = ВыборкаДетальныеЗаписи.Выбрать(); + + Если ВыборкаДетальныеЗаписиГруппа.Количество() > 1 Тогда + СписокНеоднозначностей = Новый СписокЗначений; + Пока ВыборкаДетальныеЗаписиГруппа.Следующий() Цикл + СписокНеоднозначностей.Добавить(ВыборкаДетальныеЗаписиГруппа.Ссылка); + КонецЦикла; + Строка.РезультатСопоставленияСтроки = "Неоднозначность"; + Строка.ОписаниеОшибки = СписокКолонокСопоставления; + Строка.СписокНеоднозначностей = СписокНеоднозначностей; + Иначе + ВыборкаДетальныеЗаписиГруппа.Следующий(); + КоличествоСопоставленных = КоличествоСопоставленных + 1; + Строка.РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + Строка.ОписаниеОшибки = ""; + Строка.ОбъектСопоставления = ВыборкаДетальныеЗаписиГруппа.Ссылка; + КонецЕсли; + КонецЦикла; + + ЗначениеВРеквизитФормы(ТаблицаСопоставления, "ТаблицаСопоставленияДанных"); + +КонецПроцедуры + +&НаСервере +Процедура ПоместитьДанныеВТаблицуСопоставления(АдресЗагруженныхДанных, АдресКопииТабличнойЧасти, СписокНеоднозначностей) + + ТабличнаяЧасть = ПолучитьИзВременногоХранилища(АдресКопииТабличнойЧасти); + + Если ТабличнаяЧасть = Неопределено ИЛИ ТипЗнч(ТабличнаяЧасть) <> Тип("ТаблицаЗначений") ИЛИ ТабличнаяЧасть.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина); + ОтобранныеКолонкиОбязательнаДляЗаполненияТаблицы= ИнформацияПоКолонкам.НайтиСтроки(Отбор); + КолонкиОбязательныеДляЗаполнения = Новый Соответствие; + Для каждого КолонкаТаблицы Из ОтобранныеКолонкиОбязательнаДляЗаполненияТаблицы Цикл + КолонкиОбязательныеДляЗаполнения.Вставить(КолонкаТаблицы.Ассоциация, Истина); + КонецЦикла; + + ТаблицаСопоставленияДанных.Очистить(); + ЗагружаемыеДанные = ПолучитьИзВременногоХранилища(АдресЗагруженныхДанных); + + Для каждого Строка Из ТабличнаяЧасть Цикл + НоваяСтрока = ТаблицаСопоставленияДанных.Добавить(); + НоваяСтрока.Идентификатор = Строка.Идентификатор; + ЗаполненыВсеОбязательныеКолонки = Истина; + Для каждого Колонка Из ТабличнаяЧасть.Колонки Цикл + Если Колонка.Имя <> "Идентификатор" Тогда + НоваяСтрока["ТЧ_" + Колонка.Имя] = Строка[Колонка.Имя]; + КонецЕсли; + + Если ЗначениеЗаполнено(КолонкиОбязательныеДляЗаполнения.Получить(Колонка.Имя)) + И ЗаполненыВсеОбязательныеКолонки + И НЕ ЗначениеЗаполнено(Строка[Колонка.Имя]) Тогда + ЗаполненыВсеОбязательныеКолонки = Ложь; + КонецЕсли; + КонецЦикла; + + НоваяСтрока["РезультатСопоставленияСтроки"] = ?(ЗаполненыВсеОбязательныеКолонки, "СтрокаСопоставлена", "НеСопоставлен"); + + Отбор = Новый Структура("Идентификатор", Строка.Идентификатор); + + Неоднозначности = СписокНеоднозначностей.НайтиСтроки(Отбор); + Если Неоднозначности.Количество() > 0 Тогда + НоваяСтрока["РезультатСопоставленияСтроки"] = "НеСопоставлен"; + Для каждого Неоднозначность Из Неоднозначности Цикл + НоваяСтрока["ОписаниеОшибки"] = НоваяСтрока["ОписаниеОшибки"] + Неоднозначность.Колонка+ ";"; + + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("тч_" + Неоднозначность.Колонка); + ПолеОформления.Использование = Истина; + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаСопоставленияДанных.ОписаниеОшибки"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит; + ЭлементОтбора.ПравоеЗначение = Неоднозначность.Колонка; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ПоясняющийОшибкуТекст); + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru='<неоднозначность>'")); + КонецЦикла; + + КонецЕсли; + КонецЦикла; + + Для каждого Строка Из ЗагружаемыеДанные Цикл + Отбор = Новый Структура("Идентификатор", Строка.Идентификатор); + + Строки = ТаблицаСопоставленияДанных.НайтиСтроки(Отбор); + Если Строки.Количество() > 0 Тогда + НоваяСтрока = Строки[0]; + Для каждого Колонка Из ЗагружаемыеДанные.Колонки Цикл + Если Колонка.Имя <> "Идентификатор" И Колонка.Имя <> "РезультатСопоставленияСтроки" И Колонка.Имя <> "ОписаниеОшибки" + И Колонка.Имя <> "Количество" И Колонка.Имя <> "Цена" Тогда + НоваяСтрока["фл_" + Колонка.Имя] = Строка[Колонка.Имя]; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Функция АдресВХранилищеТаблицыСопоставления() + Таблица = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + + ТаблицаДляТЧ = Новый ТаблицаЗначений; + Для Каждого Колонка Из Таблица.Колонки цикл + Если Лев(Колонка.Имя, 3) = "тч_" тогда + ТаблицаДляТЧ.Колонки.Добавить(Сред(Колонка.имя, 4), Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина); + ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "Идентификатор" тогда + ТаблицаДляТЧ.Колонки.Добавить(Колонка.имя, Колонка.ТипЗначения, Колонка.Заголовок, Колонка.Ширина); + КонецЕсли; + КонецЦикла; + + Для Каждого Строка Из Таблица цикл + НоваяСтрока = ТаблицаДляТЧ.Добавить(); + Для Каждого Колонка из ТаблицаДляТЧ.Колонки Цикл + Если Колонка.Имя = "Идентификатор" Тогда + НоваяСтрока[Колонка.Имя] = Строка[Колонка.Имя]; + ИначеЕсли Колонка.Имя <> "РезультатСопоставленияСтроки" И Колонка.Имя <> "ОписаниеОшибки" Тогда + НоваяСтрока[Колонка.Имя] = Строка["тч_"+ Колонка.Имя]; + КонецЕсли; + КонецЦикла; + КонецЦикла; + + Возврат ПоместитьВоВременноеХранилище(ТаблицаДляТЧ); +КонецФункции + +&НаСервереБезКонтекста +Функция ПредставлениеСправочника(ПолноеИмяОбъектаМетаданных) + Возврат Метаданные.НайтиПоПолномуИмени(ПолноеИмяОбъектаМетаданных).Представление(); +КонецФункции + +&НаСервереБезКонтекста +Функция МенеджерОбъекта(ИмяОбъектаСопоставления) + МассивОбъекта = Обработки.ЗагрузкаДанныхИзФайла.РазложитьПолноеИмяОбъекта(ИмяОбъектаСопоставления); + Если МассивОбъекта.ТипОбъекта = "Документ" Тогда + МенеджерОбъекта = Документы[МассивОбъекта.НазваниеОбъекта]; + ИначеЕсли МассивОбъекта.ТипОбъекта = "Справочник" Тогда + МенеджерОбъекта = Справочники[МассивОбъекта.НазваниеОбъекта]; + Иначе + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Объект ""%1"" не найден'"), ИмяОбъектаСопоставления); + КонецЕсли; + + Возврат МенеджерОбъекта; +КонецФункции + +&НаСервереБезКонтекста +Функция ФормаСписка(ИмяОбъектаСопоставления) + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления); + Возврат ОбъектМетаданных.ОсновнаяФормаСписка.ПолноеИмя(); +КонецФункции + + +&НаСервере +Функция ОписаниеТипаПоМетаданным(ПолноеИмяОбъектаМетаданных) + Результат = Обработки.ЗагрузкаДанныхИзФайла.РазложитьПолноеИмяОбъекта(ПолноеИмяОбъектаМетаданных); + Если Результат.ТипОбъекта = "Справочник" Тогда + Возврат Новый ОписаниеТипов("СправочникСсылка." + Результат.НазваниеОбъекта); + ИначеЕсли Результат.ТипОбъекта = "Документ" Тогда + Возврат Новый ОписаниеТипов("ДокументСсылка." + Результат.НазваниеОбъекта); + КонецЕсли; + + Возврат Неопределено; +КонецФункции + +&НаСервере +Функция НезаполненныеОбязательныеКолонки() + НазванияКолонокБезДанных = Новый Массив; + + Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина); + ОбязательныеКолонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + + Шапка = ОбластьЗаголовкаШаблонаТаблицы(ШаблонСДанными); + Для НомерКолонки = 1 По Шапка.ШиринаТаблицы Цикл + Ячейка = Шапка.ПолучитьОбласть(1, НомерКолонки, 1, НомерКолонки); + ИмяКолонки = СокрЛП(Ячейка.ТекущаяОбласть.Текст); + + ИнформацияОКолонке = Неопределено; + Отбор = Новый Структура("ПредставлениеКолонки", ИмяКолонки); + КолонкиОтбор = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + + Если КолонкиОтбор.Количество() > 0 Тогда + ИнформацияОКолонке = КолонкиОтбор[0]; + Иначе + Отбор = Новый Структура("ИмяКолонки", ИмяКолонки); + КолонкиОтбор = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + + Если КолонкиОтбор.Количество() > 0 Тогда + ИнформацияОКолонке = КолонкиОтбор[0]; + КонецЕсли; + КонецЕсли; + Если ИнформацияОКолонке <> Неопределено Тогда + Если ИнформацияОКолонке.ОбязательнаДляЗаполнения Тогда + Для НомерСтроки = 2 По ШаблонСДанными.ВысотаТаблицы Цикл + Ячейка = ШаблонСДанными.ПолучитьОбласть(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); + Если НЕ ЗначениеЗаполнено(Ячейка.ТекущаяОбласть.Текст) Тогда + НазванияКолонокБезДанных.Добавить(ИнформацияОКолонке.ПредставлениеКолонки); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат НазванияКолонокБезДанных; +КонецФункции + +#Область ВнешняяЗагрузка + +&НаСервере +Процедура СопоставитьДанныеВнешняяОбработка(ТаблицаСопоставленияДанныхСервер ) + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки"); + ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(ВнешняяОбработкаСсылка); + ВнешнийОбъект.СопоставитьЗагружаемыеДанныеИзФайла(ИдентификаторКоманды, ТаблицаСопоставленияДанныхСервер); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьСопоставленныеДанныеВнешняяОбработка(СопоставленныеДанные) + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки"); + ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(ВнешняяОбработкаСсылка); + КонецЕсли; + + Отказ = Ложь; + ПараметрыЗагрузки = Новый Структура(); + ПараметрыЗагрузки.Вставить("СоздаватьНовые", СоздаватьЕслиНеСопоставлено); + ПараметрыЗагрузки.Вставить("ОбновлятьСуществующие", ОбновлятьСуществующие); + ВнешнийОбъект.ЗагрузитьИзФайла(ИдентификаторКоманды, СопоставленныеДанные, ПараметрыЗагрузки, Отказ); + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьМакетВТабличныйДокументВнешняяОбработка(ПараметрыЗагрузки) + + ОбластьЗаголовокТаблицы = ОбластьЗаголовкаШаблонаТаблицы(ПараметрыЗагрузки.Макет); + ОбластьЗаголовокТаблицы.Защита = Истина; + ШаблонСДанными.ФиксацияСверху = 1; + ШаблонСДанными.Вывести(ОбластьЗаголовокТаблицы); + + Обработки.ЗагрузкаДанныхИзФайла.СоздатьИнформациюПоКолонкамНаОснованиеШаблона(ОбластьЗаголовокТаблицы, ПараметрыЗагрузки.СоответствиеТипаДанныхКолонок, ИнформацияПоКолонкам); +КонецПроцедуры + +#КонецОбласти + +#Область ЗагрузкаИзФайла + +&НаСервере +Процедура ЗаписатьСопоставленныеДанныеПрикладнаяЗагрузка(СопоставленныеДанные) + + МенеджерОбъекта = МенеджерОбъекта(ИмяОбъектаСопоставления); + + Отказ = Ложь; + ПараметрыЗагрузки = Новый Структура(); + ПараметрыЗагрузки.Вставить("СоздаватьНовые", СоздаватьЕслиНеСопоставлено); + ПараметрыЗагрузки.Вставить("ОбновлятьСуществующие", ОбновлятьСуществующие); + МенеджерОбъекта.ЗагрузитьИзФайла(СопоставленныеДанные, ПараметрыЗагрузки, Отказ) + +КонецПроцедуры + + +#КонецОбласти + +#Область ЗагрузкаВТабличнуюЧасть + +&НаСервере +Процедура СкопироватьСтруктуруТабличнойЧасти(АдресТабличнойЧасти) + + ТабличнаяЧасть = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления); + + ДанныеДляТабличнойЧасти = Новый ТаблицаЗначений; + ДанныеДляТабличнойЧасти.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Число"), "Идентификатор"); + Для каждого РеквизитТабличнойЧасти из ТабличнаяЧасть.Реквизиты Цикл + ДанныеДляТабличнойЧасти.Колонки.Добавить(РеквизитТабличнойЧасти.Имя, РеквизитТабличнойЧасти.Тип, РеквизитТабличнойЧасти.Представление()); + КонецЦикла; + + АдресТабличнойЧасти = ПоместитьВоВременноеХранилище(ДанныеДляТабличнойЧасти); + +КонецПроцедуры + +#КонецОбласти + +&НаСервере +Процедура СформироватьОтчетОЗагрузке(ТипОтчета = "ВсеЭлементы", ФоновоеЗадание = Ложь, РассчитыватьПроцентПрогресса = Ложь) + + СопоставленныеДанные = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + + ПараметрыВызоваСервера = Новый Структура(); + + ПараметрыВызоваСервера.Вставить("ТаблицаОтчет", ТаблицаОтчет); + ПараметрыВызоваСервера.Вставить("ТипОтчета", ТипОтчета); + ПараметрыВызоваСервера.Вставить("СопоставленныеДанные", СопоставленныеДанные); + ПараметрыВызоваСервера.Вставить("ШаблонСДанными", ШаблонСДанными); + ПараметрыВызоваСервера.Вставить("ИмяОбъектаСопоставления", ИмяОбъектаСопоставления); + ТаблицаИнформацияПоКолонкам = РеквизитФормыВЗначение("ИнформацияПоКолонкам"); + ПараметрыВызоваСервера.Вставить("ИнформацияПоКолонкам", ТаблицаИнформацияПоКолонкам); + + + Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда + ПараметрыВызоваСервера.Вставить("РассчитыватьПроцентПрогресса", Ложь); + АдресХранилища = ПоместитьВоВременноеХранилище(""); + Обработки.ЗагрузкаДанныхИзФайла.СформироватьОтчетОЗагрузкеФон(ПараметрыВызоваСервера, АдресХранилища); + ФоновоеЗаданиеАдресХранилища = АдресХранилища; + Иначе + ПараметрыВызоваСервера.Вставить("РассчитыватьПроцентПрогресса", РассчитыватьПроцентПрогресса); + РезультатФоновогоЗадания = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, + "Обработки.ЗагрузкаДанныхИзФайла.СформироватьОтчетОЗагрузкеФон", + ПараметрыВызоваСервера, + НСтр("ru = 'Подсистема ЗагрузкаДанныхИзФайла: Выполнение серверного метода обработки сформировать отчет о загрузке'")); + + Если РезультатФоновогоЗадания.ЗаданиеВыполнено Тогда + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + Иначе + ФоновоеЗадание = Истина; + ФоновоеЗаданиеИдентификатор = РезультатФоновогоЗадания.ИдентификаторЗадания; + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ОбластьЗаголовкаШаблонаТаблицы(Шаблон) + МетаданныеОбластьЗаголовокТаблицы = Шаблон.Области.Найти("Шапка"); + + Если МетаданныеОбластьЗаголовокТаблицы = Неопределено тогда + ОбластьЗаголовокТаблицы = Шаблон.ПолучитьОбласть("R1"); + Иначе + ОбластьЗаголовокТаблицы = Шаблон.ПолучитьОбласть("Шапка"); + КонецЕсли; + + Возврат ОбластьЗаголовокТаблицы; + +КонецФункции + +&НаСервере +Процедура ПоказатьИнформационнуюСтрокуПроОбязательныеКолонки() + + Если Элементы.СтраницыЗаполненияДанных.ТекущаяСтраница = Элементы.СтраницаВариантЗагрузкаИзФайла Тогда + ТекстПодсказки = НСтр("ru = 'Для загрузки данных необходимо заполнить таблицу сохранив бланк в файл для заполнения в другой программе.'") + Символы.ПС; + ТекстПодсказки = ТекстПодсказки + НСтр("ru = 'После редактирования загрузить готовые данные в таблицу.'") + Символы.ПС; + Иначе + ТекстПодсказки = НСтр("ru = 'Для заполнения таблицы необходимо скопировать данные в таблицу из внешнего файла через буфер обмена.'") + Символы.ПС; + КонецЕсли; + + Отбор = Новый Структура("ОбязательнаДляЗаполнения", Истина); + ОбязательныеКолонки= ИнформацияПоКолонкам.НайтиСтроки(Отбор); + + Если ОбязательныеКолонки.Количество() > 0 Тогда + СписокКолонок = ""; + + Для каждого Колонка Из ОбязательныеКолонки Цикл + Если ЗначениеЗаполнено(Колонка.Синоним) Тогда + СписокКолонок = СписокКолонок + ", """ + Колонка.Синоним + """"; + Иначе + СписокКолонок = СписокКолонок + ", """ + Колонка.ПредставлениеКолонки + """"; + КонецЕсли; + КонецЦикла; + СписокКолонок = Сред(СписокКолонок, 3); + + Если ОбязательныеКолонки.Количество() = 1 Тогда + ТекстПодсказки = ТекстПодсказки + НСтр("ru = 'Колонка обязательная для заполнения:'") + " " + СписокКолонок; + Иначе + ТекстПодсказки = ТекстПодсказки + НСтр("ru = 'Колонки обязательные для заполнения:'") + " " + СписокКолонок; + КонецЕсли; + + КонецЕсли; + + Элементы.НадписьПодсказкаДляЗаполнения.Заголовок = ТекстПодсказки; + Элементы.ПояснениеВариантЗагрузкаИзФайла.Заголовок = ТекстПодсказки; + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьМакетВТабличныйДокумент(ПараметрыЗагрузкиИзФайла) + + МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления); + ПараметрыЗагрузкиИзФайла = Обработки.ЗагрузкаДанныхИзФайла.ПараметрыЗагрузкиИзФайла(МетаданныеОбъекта); + + МенеджерОбъекта(ИмяОбъектаСопоставления).ОпределитьПараметрыЗагрузкиДанныхИзФайла(ПараметрыЗагрузкиИзФайла); + + Если ЗначениеЗаполнено(ПараметрыЗагрузкиИзФайла.Заголовок) Тогда + ЭтотОбъект.Заголовок = ПараметрыЗагрузкиИзФайла.Заголовок; + ЭтотОбъект.АвтоЗаголовок = Ложь; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ДобавитьСтандартныеКолонкиВТаблицуСопоставления(ВременнаяТЗ, СтруктураОбъектаСопоставления = Неопределено, ДобавитьИдентификатор = Истина, + ДобавитьОписаниеОшибки = Истина, ДобавитьРезультатСопоставленияСтроки = Истина, + ДобавитьСписокНеоднозначностей = Истина) + + Если ДобавитьИдентификатор Тогда + ВременнаяТЗ.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Число"), НСтр("ru = 'п/п'")); + КонецЕсли; + Если ЗначениеЗаполнено(СтруктураОбъектаСопоставления) Тогда + Если Не ЗначениеЗаполнено(СтруктураОбъектаСопоставления.Синоним) Тогда + ЗаголовокКолонки = ""; + Если СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы().Количество() > 1 Тогда + ЗаголовокКолонки = "Объекты"; + Иначе + ЗаголовокКолонки = Строка(СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления.Типы()[0]); + КонецЕсли; + + Иначе + ЗаголовокКолонки = СтруктураОбъектаСопоставления.Синоним; + КонецЕсли; + ВременнаяТЗ.Колонки.Добавить("ОбъектСопоставления", СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления, ЗаголовокКолонки); + КонецЕсли; + Если ДобавитьРезультатСопоставленияСтроки Тогда + ВременнаяТЗ.Колонки.Добавить("РезультатСопоставленияСтроки", Новый ОписаниеТипов("Строка"), НСтр("ru = 'Результат'")); + КонецЕсли; + Если ДобавитьОписаниеОшибки Тогда + ВременнаяТЗ.Колонки.Добавить("ОписаниеОшибки", Новый ОписаниеТипов("Строка"), НСтр("ru = 'Причина'")); + КонецЕсли; + + Если ДобавитьСписокНеоднозначностей Тогда + ТипСЗ = Новый ОписаниеТипов("СписокЗначений"); + ВременнаяТЗ.Колонки.Добавить("СписокНеоднозначностей", ТипСЗ, "СписокНеоднозначностей"); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ДобавитьСтандартныеКолонкиВМассивРеквизитов(МассивРеквизитов, СтруктураОбъектаСопоставления = Неопределено, ДобавитьИдентификатор = Истина, + ДобавитьОписаниеОшибки = Истина, ДобавитьРезультатСопоставленияСтроки = Истина, + ДобавитьСписокНеоднозначностей = Истина) + + ТипСтрока = Новый ОписаниеТипов("Строка"); + Если ДобавитьИдентификатор Тогда + ТипЧисло = Новый ОписаниеТипов("Число"); + МассивРеквизитов.Добавить(Новый РеквизитФормы("Идентификатор", ТипЧисло, "ТаблицаСопоставленияДанных", "Идентификатор")); + КонецЕсли; + Если ЗначениеЗаполнено(СтруктураОбъектаСопоставления) Тогда + МассивРеквизитов.Добавить(Новый РеквизитФормы("ОбъектСопоставления", СтруктураОбъектаСопоставления.ОписаниеТипаОбъектаСопоставления, "ТаблицаСопоставленияДанных", ИмяОбъектаСопоставления)); + КонецЕсли; + + Если ДобавитьРезультатСопоставленияСтроки Тогда + МассивРеквизитов.Добавить(Новый РеквизитФормы("РезультатСопоставленияСтроки", ТипСтрока, "ТаблицаСопоставленияДанных", "Результат")); + КонецЕсли; + Если ДобавитьОписаниеОшибки Тогда + МассивРеквизитов.Добавить(Новый РеквизитФормы("ОписаниеОшибки", ТипСтрока, "ТаблицаСопоставленияДанных", "Причина")); + КонецЕсли; + + Если ДобавитьСписокНеоднозначностей Тогда + ТипСЗ = Новый ОписаниеТипов("СписокЗначений"); + МассивРеквизитов.Добавить(Новый РеквизитФормы("СписокНеоднозначностей", ТипСЗ, "ТаблицаСопоставленияДанных", "СписокНеоднозначностей")); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СоздатьТаблицуСопоставленияПоИнформацииОКолонкахАвто(ОписаниеТипаОбъектаСопоставления) + + МассивРеквизитов = Новый Массив; + + ВременнаяТЗ = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + ВременнаяТЗ.Колонки.Очистить(); + + СтруктураОбъектаСопоставления = Новый Структура("ОписаниеТипаОбъектаСопоставления, Синоним", ОписаниеТипаОбъектаСопоставления, ""); + ДобавитьСтандартныеКолонкиВТаблицуСопоставления(ВременнаяТЗ, СтруктураОбъектаСопоставления,, Ложь); + ДобавитьСтандартныеКолонкиВМассивРеквизитов(МассивРеквизитов, СтруктураОбъектаСопоставления, ,Ложь); + + Для каждого Колонка из ИнформацияПоКолонкам Цикл + ВременнаяТЗ.Колонки.Добавить(Колонка.ИмяКолонки, Колонка.ТипКолонки, Колонка.ПредставлениеКолонки); + МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.ИмяКолонки, Колонка.ТипКолонки, "ТаблицаСопоставленияДанных", Колонка.ПредставлениеКолонки)); + КонецЦикла; + + ИзменитьРеквизиты(МассивРеквизитов); + + ЗначениеВРеквизитФормы(ВременнаяТЗ, "ТаблицаСопоставленияДанных"); + + Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл + НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; + НовыйЭлемент.Заголовок = Колонка.Заголовок; + НовыйЭлемент.ТолькоПросмотр = Истина; + Если НовыйЭлемент.Вид <> ВидПоляФормы.ПолеНадписи Тогда + ОбязательнаДляЗаполнения = ЭтаКолонкаОбязательнаДляЗаполнения(Колонка.Имя); + НовыйЭлемент.АвтоОтметкаНезаполненного = ОбязательнаДляЗаполнения; + НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; + + КонецЕсли; + Если Колонка.Имя = "ОбъектСопоставления" Тогда + НовыйЭлемент.ФиксацияВТаблице = ФиксацияВТаблице.Лево; + НовыйЭлемент.ЦветФона = ЦветаСтиля.ФонУправляющегоПоля; + НовыйЭлемент.КартинкаШапки = БиблиотекаКартинок.Изменить; + НовыйЭлемент.ТолькоПросмотр = Ложь; + + НовыйЭлемент.РежимРедактирования = РежимРедактированияКолонки.Вход; + НовыйЭлемент.КнопкаВыпадающегоСписка = Ложь; + НовыйЭлемент.КнопкаСоздания = Ложь; + НовыйЭлемент.РедактированиеТекста = Ложь; + НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; + НовыйЭлемент.РежимВыбораНезаполненного = РежимВыбораНезаполненного.ПриАктивизации; + ИначеЕсли Колонка.Имя = "Идентификатор" Тогда + НовыйЭлемент.ФиксацияВТаблице = ФиксацияВТаблице.Лево; + НовыйЭлемент.ТолькоПросмотр = Истина; + НовыйЭлемент.Ширина = 4; + ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "СписокНеоднозначностей" Тогда + НовыйЭлемент.Видимость = Ложь; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура СоздатьТаблицуСопоставленияПоИнформацииОКолонках() + + МассивРеквизитов = Новый Массив; + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления); + ОписаниеТипаОбъектаСопоставления = ОписаниеТипаПоМетаданным(ИмяОбъектаСопоставления); + ТипСтрока = Новый ОписаниеТипов("Строка"); + ТипЧисло = Новый ОписаниеТипов("Число"); + ТипСЗ = Новый ОписаниеТипов("СписокЗначений"); + + ВременнаяТЗ = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + ВременнаяТЗ.Колонки.Очистить(); + + Синоним = ОбъектМетаданных.Синоним; + СтруктураОбъектаСопоставления = Новый Структура("ОписаниеТипаОбъектаСопоставления, Синоним", ОписаниеТипаОбъектаСопоставления, Синоним); + ДобавитьСтандартныеКолонкиВТаблицуСопоставления(ВременнаяТЗ, СтруктураОбъектаСопоставления); + ДобавитьСтандартныеКолонкиВМассивРеквизитов(МассивРеквизитов, СтруктураОбъектаСопоставления); + + Для каждого Колонка из ИнформацияПоКолонкам Цикл + ПредставлениеКолонки = ?(ЗначениеЗаполнено(Колонка.Синоним), Колонка.Синоним, Колонка.ПредставлениеКолонки); + ВременнаяТЗ.Колонки.Добавить(Колонка.ИмяКолонки, Колонка.ТипКолонки,ПредставлениеКолонки); + МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.ИмяКолонки, Колонка.ТипКолонки, "ТаблицаСопоставленияДанных", ПредставлениеКолонки)); + КонецЦикла; + + ИзменитьРеквизиты(МассивРеквизитов); + + Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл + НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы.ТаблицаСопоставленияДанных); + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; + НовыйЭлемент.Заголовок = Колонка.Заголовок; + НовыйЭлемент.ТолькоПросмотр = Истина; + Если НовыйЭлемент.Вид <> ВидПоляФормы.ПолеНадписи Тогда + ОбязательнаДляЗаполнения = ЭтаКолонкаОбязательнаДляЗаполнения(Колонка.Имя); + НовыйЭлемент.АвтоОтметкаНезаполненного = ОбязательнаДляЗаполнения; + НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; + КонецЕсли; + Если Колонка.Имя = "ОбъектСопоставления" Тогда + НовыйЭлемент.ФиксацияВТаблице = ФиксацияВТаблице.Лево; + НовыйЭлемент.ЦветФона = ЦветаСтиля.ФонУправляющегоПоля; + НовыйЭлемент.КартинкаШапки = БиблиотекаКартинок.Изменить; + НовыйЭлемент.ТолькоПросмотр = Ложь; + НовыйЭлемент.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; + НовыйЭлемент.РежимВыбораНезаполненного = РежимВыбораНезаполненного.ПриАктивизации; + ИначеЕсли Колонка.Имя = "Идентификатор" Тогда + НовыйЭлемент.ФиксацияВТаблице = ФиксацияВТаблице.Лево; + НовыйЭлемент.ТолькоПросмотр = Истина; + НовыйЭлемент.Ширина = 4; + ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" ИЛИ Колонка.Имя = "СписокНеоднозначностей" Тогда + НовыйЭлемент.Видимость = Ложь; + КонецЕсли; + + Отбор = Новый Структура("ИмяКолонки", Колонка.Имя); + Колонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если Колонки.Количество() > 0 Тогда + НовыйЭлемент.Видимость = Колонки[0].Видимость; + КонецЕсли; + + КонецЦикла; + + ЗначениеВРеквизитФормы(ВременнаяТЗ, "ТаблицаСопоставленияДанных"); +КонецПроцедуры + +&НаСервере +Процедура СоздатьТаблицуСопоставленияПоИнформацииОКолонкахДляТЧ() + + МассивРеквизитов = Новый Массив; + ТипСтрока = Новый ОписаниеТипов("Строка"); + ТипЧисло = Новый ОписаниеТипов("Число"); + + ВременнаяТЗ = РеквизитФормыВЗначение("ТаблицаСопоставленияДанных"); + ВременнаяТЗ.Колонки.Очистить(); + + ДобавитьСтандартныеКолонкиВТаблицуСопоставления(ВременнаяТЗ,,,,, Ложь); + ДобавитьСтандартныеКолонкиВМассивРеквизитов(МассивРеквизитов,,,,, Ложь); + + ОбязательныеКолонки = Новый Массив; + РеквизитыТЧ = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления).Реквизиты; + Для каждого Колонка из РеквизитыТЧ Цикл + Если Колонка.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку Тогда + ОбязательныеКолонки.Добавить("тч_" + Колонка.Имя); + КонецЕсли; + ВременнаяТЗ.Колонки.Добавить("тч_" + Колонка.Имя, Колонка.Тип, Колонка.Представление()); + МассивРеквизитов.Добавить(Новый РеквизитФормы("тч_" + Колонка.Имя, Колонка.Тип, "ТаблицаСопоставленияДанных", Колонка.Представление())); + КонецЦикла; + + Для каждого Колонка из ИнформацияПоКолонкам Цикл + ВременнаяТЗ.Колонки.Добавить("фл_" + Колонка.ИмяКолонки, ТипСтрока, Колонка.ПредставлениеКолонки); + МассивРеквизитов.Добавить(Новый РеквизитФормы("фл_" + Колонка.ИмяКолонки, ТипСтрока, "ТаблицаСопоставленияДанных", Колонка.ПредставлениеКолонки)); + КонецЦикла; + + ИзменитьРеквизиты(МассивРеквизитов); + РеквизитыСозданы = Истина; + + ГруппаКолонокЗагружаемыеДанные = Элементы.Добавить("ЗагружаемыеДанные", Тип("ГруппаФормы"), Элементы.ТаблицаСопоставленияДанных); + ГруппаКолонокЗагружаемыеДанные.Группировка = ГруппировкаКолонок.Горизонтальная; + + Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл + + + Если Лев(Колонка.Имя, 3) = "тч_" Тогда + ГруппаКолонокЗагружаемыеДанныеТЧ = Элементы.Добавить("ЗагружаемыеДанные_" + Колонка.Имя , Тип("ГруппаФормы"), ГруппаКолонокЗагружаемыеДанные); + ГруппаКолонокЗагружаемыеДанныеТЧ.Группировка = ГруппировкаКолонок.Вертикальная; + род = ГруппаКолонокЗагружаемыеДанныеТЧ; + иначеЕсли Лев(Колонка.Имя, 3) = "фл_" Тогда + Продолжить; + иначе + род = ГруппаКолонокЗагружаемыеДанные; + КонецЕсли; + + НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), род); + + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка.Имя; + НовыйЭлемент.Заголовок = Колонка.Заголовок; + НовыйЭлемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; + НовыйЭлемент.Ширина = 5; + + Если СтрДлина(Колонка.Имя) > 3 и Лев(Колонка.Имя, 3) = "тч_" Тогда + Отбор = НОвый Структура("ИмяКолонки", Сред(Колонка.Имя, 4)); + Колонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если Колонки.Количество() > 0 Тогда + НовыйЭлемент.Видимость = Колонки[0].Видимость; + КонецЕсли; + КонецЕсли; + + Если Колонка.Имя = "Идентификатор" Тогда + НовыйЭлемент.ФиксацияВТаблице = ФиксацияВТаблице.Лево; + НовыйЭлемент.ТолькоПросмотр = Истина; + НовыйЭлемент.Ширина = 1; + ИначеЕсли Колонка.Имя = "РезультатСопоставленияСтроки" ИЛИ Колонка.Имя = "ОписаниеОшибки" Тогда + НовыйЭлемент.Видимость = Ложь; + КонецЕсли; + + Если ОбязательныеКолонки.Найти(Колонка.Имя) <> Неопределено Тогда + НовыйЭлемент.АвтоОтметкаНезаполненного = Истина; + КонецЕсли; + + Если Лев(Колонка.Имя, 3) = "тч_" Тогда + ТипКолонки = Метаданные.НайтиПоТипу(Колонка.ТипЗначения.Типы()[0]); + Если ТипКолонки <> Неопределено И Найти(ТипКолонки.ПолноеИмя(), "Справочник") > 0 тогда + НовыйЭлемент.КартинкаШапки = БиблиотекаКартинок.Изменить; + КонецЕсли; + + Отбор = Новый Структура("Ассоциация", Сред(Колонка.Имя, 4)); + КолонкиАссоциация = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + + Если КолонкиАссоциация.Количество() = 1 Тогда + + КолонкаУровень2 = ВременнаяТЗ.Колонки.Найти("фл_" + КолонкиАссоциация[0].ИмяКолонки); + Если КолонкаУровень2 <> Неопределено Тогда + НовыйЭлемент = Элементы.Добавить(КолонкаУровень2.Имя, Тип("ПолеФормы"), род); + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + КолонкаУровень2.Имя; + ТипКолонки = Метаданные.НайтиПоТипу(КолонкаУровень2.ТипЗначения.Типы()[0]); + Если ТипКолонки <> Неопределено И Найти(ТипКолонки.ПолноеИмя(), "Справочник") > 0 тогда + НовыйЭлемент.Заголовок = Нстр("ru = 'Данные из файла'"); + Иначе + НовыйЭлемент.Заголовок = " "; + КонецЕсли; + НовыйЭлемент.ТолькоПросмотр = Истина; + НовыйЭлемент.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; + КонецЕсли; + + ИначеЕсли КолонкиАссоциация.Количество() > 1 Тогда + ГруппаКолонокЗагружаемыеДанныеТЧ = Элементы.Добавить("ЗагружаемыеДанные_фл_" + Колонка.Имя , Тип("ГруппаФормы"), род); + ГруппаКолонокЗагружаемыеДанныеТЧ.Группировка = ГруппировкаКолонок.ВЯчейке; + род = ГруппаКолонокЗагружаемыеДанныеТЧ; + + Префикс = Нстр("ru = 'Данные из файла:'"); + Для каждого КолонкаАссоциация Из КолонкиАссоциация Цикл + Колонка2 = ВременнаяТЗ.Колонки.Найти("фл_" + КолонкаАссоциация.ИмяКолонки); + Если Колонка2 <> Неопределено Тогда + НовыйЭлемент = Элементы.Добавить(Колонка2.Имя, Тип("ПолеФормы"), род); + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ТаблицаСопоставленияДанных." + Колонка2.Имя; + НовыйЭлемент.Заголовок = Префикс + Колонка2.Заголовок; + НовыйЭлемент.ТолькоПросмотр = Истина; + НовыйЭлемент.ЦветТекста = ЦветаСтиля.ПоясняющийТекст; + + Если СтрДлина(Колонка.Имя) > 3 и Лев(Колонка.Имя, 3) = "фл_" Тогда + Отбор = НОвый Структура("ИмяКолонки", Сред(Колонка.Имя, 4)); + Колонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если Колонки.Количество() > 0 Тогда + НовыйЭлемент.Видимость = Колонки[0].Видимость; + КонецЕсли; + КонецЕсли; + + + КонецЕсли; + Префикс = ""; + КонецЦикла; + Иначе + НовыйЭлемент.Видимость = Ложь; + КонецЕсли; + КонецЕсли; + + + + КонецЦикла; + + ЗначениеВРеквизитФормы(ВременнаяТЗ, "ТаблицаСопоставленияДанных"); +КонецПроцедуры + +&НаСервере +Функция ЭтаКолонкаОбязательнаДляЗаполнения(ИмяКолонки) + Отбор = Новый Структура("ИмяКолонки", ИмяКолонки); + Колонка = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если Колонка.Количество()>0 Тогда + Возврат Колонка[0].ОбязательнаДляЗаполнения; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +&НаСервере +Процедура ОчисткаШаблонСДанными() + ОбластьЗаголовка = ШаблонСДанными.ПолучитьОбласть(1, 1, 1, ШаблонСДанными.ШиринаТаблицы); + ШаблонСДанными.Очистить(); + ШаблонСДанными.Вывести(ОбластьЗаголовка); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеСопоставленияНеоднозначностей(Результат, Параметр) Экспорт + + Если ТипЗагрузки = "ТабличнаяЧасть" Тогда + Если Результат <> Неопределено Тогда + Строка = ТаблицаСопоставленияДанных.НайтиПоИдентификатору(Параметр.Идентификатор); + + Строка["тч_" + Параметр.Имя] = Результат; + Строка.ОписаниеОшибки = СтрЗаменить(Строка.ОписаниеОшибки, Параметр.Имя+";", ""); + Строка.РезультатСопоставленияСтроки = ?(СтрДлина(Строка.ОписаниеОшибки) = 0, "СтрокаСопоставлена", "НеСопоставлен"); + КонецЕсли; + Иначе + Строка = ТаблицаСопоставленияДанных.НайтиПоИдентификатору(Параметр.Идентификатор); + Строка.ОбъектСопоставления = Результат; + Если Результат <> Неопределено Тогда + Строка.РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + Строка.СписокНеоднозначностей = Неопределено; + Иначе + Если Строка.РезультатСопоставленияСтроки <> "Неоднозначность" Тогда + Строка.РезультатСопоставленияСтроки = "НеСопоставлен"; + Строка.СписокНеоднозначностей = Неопределено; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьСопоставление() + КоличествоСопоставленныхПоКолонкам = 0; + СписокКолонок = ""; + ВыполнитьСопоставлениеПоВыбранномуРеквизиту(КоличествоСопоставленныхПоКолонкам, СписокКолонок); + ПоказатьОповещениеПользователя(Нстр("ru = 'Выполнено сопоставление'"),, Нстр("ru = 'Сопоставлено элементов:'") + " " + Строка(КоличествоСопоставленныхПоКолонкам)); + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); +КонецПроцедуры + +&НаКлиенте +Функция ВсеДанныеСопоставлены() + Отбор = Новый Структура("РезультатСопоставленияСтроки", "СтрокаСопоставлена"); + Результат = ТаблицаСопоставленияДанных.НайтиСтроки(Отбор); + КоличествоСопоставленных = Результат.Количество(); + + Если ТаблицаСопоставленияДанных.Количество() = КоличествоСопоставленных Тогда + Возврат Истина; + Иначе + Возврат Ложь; + КонецЕсли; + +КонецФункции + +&НаКлиенте +Функция СтатисткаСопоставления() + Отбор = Новый Структура("РезультатСопоставленияСтроки", "СтрокаСопоставлена"); + Результат = ТаблицаСопоставленияДанных.НайтиСтроки(Отбор); + КоличествоСопоставленных = Результат.Количество(); + + Отбор = Новый Структура("ОписаниеОшибки", ""); + Результат = ТаблицаСопоставленияДанных.НайтиСтроки(Отбор); + КолоВоНеоднозначных = ТаблицаСопоставленияДанных.Количество() - Результат.Количество(); + + КоличествоНеСопоставленных = ТаблицаСопоставленияДанных.Количество() - КоличествоСопоставленных; + + Результат = Новый Структура; + Результат.Вставить("Всего", ТаблицаСопоставленияДанных.Количество()); + Результат.Вставить("Сопоставленных", КоличествоСопоставленных); + Результат.Вставить("Неоднозначных", КолоВоНеоднозначных); + Результат.Вставить("Несопоставленных", КоличествоНеСопоставленных); + Результат.Вставить("НеНайдено", КоличествоНеСопоставленных - КолоВоНеоднозначных); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла() + + Статистика = СтатисткаСопоставления(); + + ДанныеОСопоставление = СтатисткаСопоставления(); + + ТекстВсе = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Все (%1)'"), Статистика.Всего); + + Элементы.СоздаватьЕслиНеСопоставлено.Заголовок = НСтр("ru = 'Несопоставленные ('") + Статистика.НеСопоставленных + ")"; + Элементы.ОбновлятьСуществующие.Заголовок = НСтр("ru = 'Сопоставленные элементы ('") + Строка(Статистика.Сопоставленных) + ")"; + + СписокВыбора = Элементы.ФильтрТаблицаСопоставления.СписокВыбора; + СписокВыбора.Очистить(); + СписокВыбора.Добавить("Все", ТекстВсе, Истина); + СписокВыбора.Добавить("Несопоставленные", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Несопоставленные (%1 из %2)'"), Статистика.НеСопоставленных, Статистика.Всего)); + СписокВыбора.Добавить("Сопоставленные", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Сопоставленные (%1 из %2)'"), Статистика.Сопоставленных, Статистика.Всего)); + СписокВыбора.Добавить("Неоднозначные", СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Неоднозначные (%1 из %2)'"), Статистика.Неоднозначных, Статистика.Всего)); + + Если Статистика.Неоднозначных > 0 Тогда + Элементы.ОписаниеНеоднозначность.Видимость=Истина; + Элементы.ОписаниеНеоднозначность.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '(неоднозначностей: %1)'"), Статистика.Неоднозначных); + Иначе + Элементы.ОписаниеНеоднозначность.Видимость=Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ФильтрТаблицаСопоставления) Тогда + ФильтрТаблицаСопоставления = "Несопоставленные"; + КонецЕсли; + + Если ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + УстановитьФильтрациюТаблицыСопоставления(); + Иначе + УстановитьФильтрациюТаблицыСопоставления(); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ГрупповоеИзменениеРеквизитовНаСервере(ВерхняяПозиция, НижняяПозиция) + МассивСсылок = новый Массив; + Для Позиция = ВерхняяПозиция По НижняяПозиция Цикл + Ячейка = ТаблицаОтчет.ПолучитьОбласть(Позиция, 2, Позиция, 2); + Если ЗначениеЗаполнено(Ячейка.ТекущаяОбласть.Расшифровка) Тогда + МассивСсылок.Добавить(Ячейка.ТекущаяОбласть.Расшифровка); + КонецЕсли; + КонецЦикла; + Возврат МассивСсылок; +КонецФункции + +#Область РаботаСФайлами + +&НаКлиенте +Процедура ПередатьФайлНаСервер(Результат, АдресВременногоХранилища, ИмяФайла, Параметр) Экспорт + + Если Результат = Истина Тогда + Расширение = ОбщегоНазначенияКлиентСервер.РасширениеБезТочки( + ОбщегоНазначенияКлиентСервер.ПолучитьРасширениеИмениФайла(ИмяФайла)); + Если Расширение = "csv" ИЛИ Расширение = "xlsx" ИЛИ Расширение = "mxl" Тогда + + ФоновоеЗадание = Ложь; + ЗагрузитьФайлСДаннымиВТабличныйДокументНаСервере(АдресВременногоХранилища, Расширение, ФоновоеЗадание); + Если ФоновоеЗадание Тогда + ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчика); + ПодключитьОбработчикОжидания("ФоновоеЗаданиеЗагрузкаФайлаНаКлиенте", 1, Истина); + ПараметрыОбработчика.МаксимальныйИнтервал = 5; + ФормаДлительнойОперации = ДлительныеОперацииКлиент.ОткрытьФормуДлительнойОперации(ЭтотОбъект, ФоновоеЗаданиеИдентификатор); + Иначе + Далее(Неопределено); + КонецЕсли; + Иначе + ПоказатьПредупреждение(,НСтр("ru ='Не получилось загрузить данные из этого файла. Убедитесь в корректности данных в файле.'")); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораРасширенияФайла(Результат, Параметр) Экспорт + Если ЗначениеЗаполнено(Результат) Тогда + АдресВоВременномХранилище = ЭтотОбъект.УникальныйИдентификатор; + СохранитьШаблонВоВременноеХранилище(Результат, АдресВоВременномХранилище); + ПолучитьФайл(АдресВоВременномХранилище, ИмяОбъектаСопоставления + "." + Результат, Истина); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура СохранитьШаблонВоВременноеХранилище(РасширениеФайла, АдресВоВременномХранилище) + + ИмяФайла = ПолучитьИмяВременногоФайла(РасширениеФайла); + Если РасширениеФайла = "csv" тогда + СохранитьТаблицуВCSVФайл(ИмяФайла); + ИначеЕсли РасширениеФайла = "xlsx" тогда + ШаблонСДанными.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.xlsx); + Иначе + ШаблонСДанными.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.mxl); + КонецЕсли; + ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайла); + + АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные, АдресВоВременномХранилище); +КонецПроцедуры + +&НаСервереБезКонтекста +Функция СформироватьИмяФайлаДляОбъектаМетаданных(ИмяОбъектаМетаданных) + МетаданныеСправочника = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных); + + Если МетаданныеСправочника <> Неопределено Тогда + ИмяФайла = СокрЛП(МетаданныеСправочника.Синоним); + Если СтрДлина(ИмяФайла) = 0 Тогда + ИмяФайла = ИмяОбъектаМетаданных; + КонецЕсли; + Иначе + ИмяФайла = ИмяОбъектаМетаданных; + КонецЕсли; + + ИмяФайла = СтрЗаменить(ИмяФайла,":",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"*",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"\",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"/",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"&",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"<",""); + ИмяФайла = СтрЗаменить(ИмяФайла,">",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"|",""); + ИмяФайла = СтрЗаменить(ИмяФайла,"""",""); + + Возврат ИмяФайла; +КонецФункции + +&НаКлиенте +Процедура ПолучитьПутьКФайлуНачалоВыбора(РежимДиалога, ПутьКФайлу, ИмяФайла = "") + + ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалога); + + ДиалогВыбораФайла.Фильтр = НСтр("ru='Книга Excel 2007 (*.xlsx)|*.xlsx|Текстовый документ c разделителями (*.csv)|*.csv|Табличный документ (*.mxl)|*.mxl'"); + ДиалогВыбораФайла.Заголовок = Заголовок; + ДиалогВыбораФайла.ПредварительныйПросмотр = Ложь; + ДиалогВыбораФайла.Расширение = "csv"; + ДиалогВыбораФайла.ИндексФильтра = 0; + ДиалогВыбораФайла.ПолноеИмяФайла = ИмяФайла; + ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Ложь; + + Если ДиалогВыбораФайла.Выбрать() Тогда + ПутьКФайлу = ДиалогВыбораФайла.ПолноеИмяФайла; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВопросаПроОтменитьСопоставление(Результат, Параметр) Экспорт + + Если Результат = КодВозвратаДиалога.Да Тогда + Для каждого СтрокаТаблицы Из ТаблицаСопоставленияДанных Цикл + СтрокаТаблицы.ОбъектСопоставления = Неопределено; + СтрокаТаблицы.РезультатСопоставленияСтроки = "НеСопоставлен"; + СтрокаТаблицы.СписокНеоднозначностей = Неопределено; + СтрокаТаблицы.ОписаниеОшибки = ""; + КонецЦикла; + ПоказатьСтатистикуПоСопоставлениюЗагрузкаИзФайла(); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьФайлСДаннымиВТабличныйДокументНаСервере(АдресВременногоХранилища, Расширение, ФоновоеЗадание = Ложь) + ИмяВременногоФайла=ПолучитьИмяВременногоФайла(Расширение); + ДвоичныеДанные = ПолучитьИЗВременногоХранилища(АдресВременногоХранилища); + ДвоичныеДанные.Записать(ИмяВременногоФайла); + + ОчисткаШаблонСДанными(); + + ПараметрыВызоваСервера = Новый Структура(); + ПараметрыВызоваСервера.Вставить("Расширение", Расширение); + ПараметрыВызоваСервера.Вставить("ШаблонСДанными", ШаблонСДанными); + ПараметрыВызоваСервера.Вставить("ИмяВременногоФайла", ИмяВременногоФайла); + ТаблицаИнформацияПоКолонкам = РеквизитФормыВЗначение("ИнформацияПоКолонкам"); + ПараметрыВызоваСервера.Вставить("ИнформацияПоКолонкам", ТаблицаИнформацияПоКолонкам); + + Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда + Обработки.ЗагрузкаДанныхИзФайла.ЗагрузитьФайлВТаблицу(ПараметрыВызоваСервера, АдресВременногоХранилища); + ШаблонСДанными = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); + Иначе + РезультатФоновогоЗадания = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор, + "Обработки.ЗагрузкаДанныхИзФайла.ЗагрузитьФайлВТаблицу", + ПараметрыВызоваСервера, + НСтр("ru = 'Подсистема ЗагрузкаДанныхИзФайла: Выполнение серверного метода загрузка данных из файла'")); + + Если РезультатФоновогоЗадания.ЗаданиеВыполнено Тогда + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + ШаблонСДанными = ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + Иначе + ФоновоеЗадание = Истина; + ФоновоеЗаданиеИдентификатор = РезультатФоновогоЗадания.ИдентификаторЗадания; + ФоновоеЗаданиеАдресХранилища = РезультатФоновогоЗадания.АдресХранилища; + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВызоваФормыИзменитьБланк(Результат, Параметр) Экспорт + + Если Результат <> Неопределено Тогда + Если Результат.Количество() > 0 Тогда + Для Каждого СтрокаТаблицы Из Результат Цикл + ПараметрыОтбора = Новый Структура("ИмяКолонки", СтрокаТаблицы.ИмяКолонки); + НайденнаяСтрока = ИнформацияПоКолонкам.НайтиСтроки(ПараметрыОтбора)[0]; + ЗаполнитьЗначенияСвойств(НайденнаяСтрока, СтрокаТаблицы); + КонецЦикла; + Иначе + СформироватьМакетПоТипуЗагрузки(); + КонецЕсли; + ИнформацияПоКолонкам.Сортировать("Позиция Возр"); + ИзменитьБланкПоИнформацииПоКолонкам(); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ИзменитьБланкПоИнформацииПоКолонкам(Бланк = Неопределено) + + СПримечаниями = Ложь; + Если Бланк = Неопределено Тогда + Бланк = ШаблонСДанными; + СПримечаниями = Истина; + КонецЕсли; + + ТаблицаКолонок = РеквизитФормыВЗначение("ИнформацияПоКолонкам"); + ХранилищеСистемныхНастроек.Сохранить("ЗагрузкаДанныхИзФайла", ИмяОбъектаСопоставления, ТаблицаКолонок, НСтр("ru = 'Настройки бланка'")); + Бланк.Очистить(); + Шапка = Обработки.ЗагрузкаДанныхИзФайла.ШапкаБланкаДляЗаполненияПоИнформацииПоКолонкам(ТаблицаКолонок, СПримечаниями); + Бланк.Вывести(Шапка); + ПоказатьИнформационнуюСтрокуПроОбязательныеКолонки(); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + + + + + diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Form.form b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Form.form new file mode 100644 index 000000000..aa249a8ae --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Form.form @@ -0,0 +1,1242 @@ + + + + <key>ru</key> + <value>Разрешение неоднозначности</value> + + + ДекорацияЗаголовокПоискСсылок + 62 + + <key>ru</key> + <value>Для строки "%1" найдено несколько совпадающих вариантов. +Выберите правильный вариант, если он присутствует в списке. </value> + + true + true + + true + + + ДекорацияЗаголовокПоискСсылокРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + + ДекорацияЗаголовокПоискСсылокКонтекстноеМеню + 63 + true + + Label + true + true + + Left + + + + ДекорацияЗаголовок + 29 + + <key>ru</key> + <value>При сопоставление по колонке "%1" в программе было найдено несколько вариантов. +Выберите правильный элемент в соответствие с данными из файла </value> + + true + + true + + + ДекорацияЗаголовокРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + + ДекорацияЗаголовокКонтекстноеМеню + 30 + true + + Label + true + true + + Left + + + + ДекорацияЗагрузкаИзФайла + 32 + + <key>ru</key> + <value>При сопоставлении элементов в программе с загружаемыми данными было найдено несколько совпадающих вариантов. +Выберите элемент в соответствие с данными из файла. Для создания нового элемента нажмите "Создать новый элемент"</value> + + true + true + + true + + + ДекорацияЗагрузкаИзФайлаРасширеннаяПодсказка + 34 + Label + true + true + + Left + + + + ДекорацияЗагрузкаИзФайлаКонтекстноеМеню + 33 + true + + Label + true + true + + Left + + + + ВариантРазрешенияНеоднозначности + 26 + true + + true + + + ВариантРазрешенияНеоднозначности + + None + + OnChange + ВариантРазрешенияНеоднозначностиПриИзменении + + + ВариантРазрешенияНеоднозначностиРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + + ВариантРазрешенияНеоднозначностиКонтекстноеМеню + 27 + true + + RadioButtonField + Enter + true + Left + true + + + + ru + Выбрать элемент в соответствие с данными из файла + + + 0 + + + + + ru + Создать новый элемент + + + 1 + + + Vertical + + + + ВариантыВыбора + 40 + true + true + + true + + + ВариантыВыбора + + None + Add + Change + Copy + Delete + EndEdit + HierarchicalList + List + Tree + + ВариантыВыбораПредставление + 44 + true + true + + true + + + ВариантыВыбора.Представление + + + ВариантыВыбораПредставлениеРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + + ВариантыВыбораПредставлениеКонтекстноеМеню + 45 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ВариантыВыбораСсылка + 50 + true + + true + + + ВариантыВыбора.Ссылка + + + ВариантыВыбораСсылкаРасширеннаяПодсказка + 52 + Label + true + true + + Left + + + + ВариантыВыбораСсылкаКонтекстноеМеню + 51 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ВариантыВыбораЗначение + 53 + true + true + + true + + + ВариантыВыбора.Значение + + + ВариантыВыбораЗначениеРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + + ВариантыВыбораЗначениеКонтекстноеМеню + 54 + true + + InputField + true + Auto + Left + true + + true + true + true + true + true + true + Normal + + + + ВариантыВыбораКоманднаяПанель + 42 + + ВариантыВыбораВыбрать + 56 + true + true + + true + + + ВариантыВыбораВыбратьРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + Form.Command.Выбрать + Auto + true + true + true + UserCmds + Auto + + + ВариантыВыбораНовыйЭлемент + 58 + true + + true + + + ВариантыВыбораНовыйЭлементРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + Form.Command.НовыйЭлемент + Normal + Auto + true + true + UserCmds + Auto + + + ВариантыВыбораОткрыть + 60 + true + + true + + + ВариантыВыбораОткрытьРасширеннаяПодсказка + 61 + Label + true + true + + Left + + + Form.Command.Открыть + Normal + Auto + true + true + UserCmds + Auto + + Left + true + + + Selection + ВариантыВыбораВыбор + + + ВариантыВыбораСтрокаПоиска + 66 + + ВариантыВыбораСтрокаПоискаРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + + ВариантыВыбораСтрокаПоискаКонтекстноеМеню + 67 + true + + ВариантыВыбора + + true + + + + ВариантыВыбораСостояниеПросмотра + 69 + + ВариантыВыбораСостояниеПросмотраРасширеннаяПодсказка + 71 + Label + true + true + + Left + + + + ВариантыВыбораСостояниеПросмотраКонтекстноеМеню + 70 + true + + ViewStatusAddition + ВариантыВыбора + + true + + + + ВариантыВыбораУправлениеПоиском + 72 + + ВариантыВыбораУправлениеПоискомРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + + ВариантыВыбораУправлениеПоискомКонтекстноеМеню + 73 + true + + SearchControlAddition + ВариантыВыбора + + true + + + + ВариантыВыбораРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + + ВариантыВыбораКонтекстноеМеню + 41 + true + + Tree + true + true + 70 + true + 5 + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + true + true + None + None + None + true + + + ЭлементыСправочника + 6 + true + + true + + + ЭлементыСправочника + + None + Add + Change + Copy + CopyToClipboard + Delete + EndEdit + MoveDown + MoveUp + SelectAll + + ЭлементыСправочникаПредставление + 37 + true + true + + true + + + ЭлементыСправочника.Представление + + + ЭлементыСправочникаПредставлениеРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + ЭлементыСправочникаПредставлениеКонтекстноеМеню + 38 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЭлементыСправочникаКоманднаяПанель + 8 + + Выбрать + 20 + true + true + + true + + + ВыбратьРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + Form.Command.Выбрать + Normal + Auto + true + true + UserCmds + Auto + + + ЭлементыСправочникаНовыйЭлемент + 35 + + <key>ru</key> + <value>Создать новый элемент</value> + + true + true + + true + + + ЭлементыСправочникаНовыйЭлементРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + Form.Command.НовыйЭлемент + Normal + Auto + true + true + UserCmds + Auto + + + ЭлементыСправочникаНайти + 22 + true + true + + true + + + ЭлементыСправочникаНайтиРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + Form.Item.ЭлементыСправочника.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ЭлементыСправочникаОтменитьПоиск + 24 + true + true + + true + + + ЭлементыСправочникаОтменитьПоискРасширеннаяПодсказка + 25 + Label + true + true + + Left + + + Form.Item.ЭлементыСправочника.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + Left + true + + + Selection + ЭлементыСправочникаВыбор + + + ЭлементыСправочникаСтрокаПоиска + 86 + + ЭлементыСправочникаСтрокаПоискаРасширеннаяПодсказка + 88 + Label + true + true + + Left + + + + ЭлементыСправочникаСтрокаПоискаКонтекстноеМеню + 87 + true + + ЭлементыСправочника + + true + + + + ЭлементыСправочникаСостояниеПросмотра + 89 + + ЭлементыСправочникаСостояниеПросмотраРасширеннаяПодсказка + 91 + Label + true + true + + Left + + + + ЭлементыСправочникаСостояниеПросмотраКонтекстноеМеню + 90 + true + + ViewStatusAddition + ЭлементыСправочника + + true + + + + ЭлементыСправочникаУправлениеПоиском + 92 + + ЭлементыСправочникаУправлениеПоискомРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + + ЭлементыСправочникаУправлениеПоискомКонтекстноеМеню + 93 + true + + SearchControlAddition + ЭлементыСправочника + + true + + + + ЭлементыСправочникаРасширеннаяПодсказка + 9 + Label + true + true + + Left + + + + ЭлементыСправочникаКонтекстноеМеню + 7 + true + + true + true + true + true + 10 + true + true + MultiRow +
                                  true
                                  + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + true + None + None + None + true + +
                                  + + ГруппаДанныеИзФайла + 4 + + ОсновныеДанныеИзФайла + 16 + true + true + + true + + + <key>ru</key> + <value>Основные загружаемые данные</value> + + + ru + Основные данные из файла + + + ОсновныеДанныеИзФайлаРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ПрочиеДанныеИзФайла + 18 + true + true + + true + + + <key>ru</key> + <value>Прочие загружаемые данные</value> + + + ru + Прочие данные из файла + + + ПрочиеДанныеИзФайлаРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + UsualGroup + + Vertical + Collapsible + true + WeakSeparation + true + true + auto + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Загружаемые данные</value> + + + ru + Группа данные из файла + + true + + ГруппаДанныеИзФайлаРасширеннаяПодсказка + 5 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto + Auto + + + + ФормаКоманднаяПанель + -1 + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + 12 + DontBlock + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + DataProcessorObject.ЗагрузкаДанныхИзФайла + + + true + + + true + +
                                  true
                                  +
                                  + + ЭлементыСправочника + + <key>ru</key> + <value>Элементы справочника</value> + + 3 + + ValueTable + + + true + + + true + + + Представление + + <key>ru</key> + <value>Представление</value> + + 1 + + String + + + + true + + + true + + + + + СписокДанных + + <key>ru</key> + <value>Список данных</value> + + 4 + + ValueTable + + + true + + + true + + + Ключ + + <key>ru</key> + <value>Ключ</value> + + 1 + + String + + + + true + + + true + + + + Значение + + <key>ru</key> + <value>Значение</value> + + 2 + + String + + + + true + + + true + + + + + ВариантРазрешенияНеоднозначности + + <key>ru</key> + <value>Вариант разрешения неоднозначности</value> + + 2 + + Number + + 10 + + + + true + + + true + + + + КолонкиСопоставления + + <key>ru</key> + <value>Колонки сопоставления</value> + + 5 + + ValueList + + + true + + + true + + + + + + + ВариантыВыбора + + <key>ru</key> + <value>Варианты выбора</value> + + 6 + + ValueTree + + + true + + + true + + + Представление + + <key>ru</key> + <value>Представление</value> + + 1 + + String + + + + true + + + true + + + + Ссылка + + <key>ru</key> + <value>Ссылка</value> + + 3 + + AnyRef + + + true + + + true + + + + Значение + + <key>ru</key> + <value>Значение</value> + + 2 + + String + + + + true + + + true + + + + + Выбрать + + <key>ru</key> + <value>Выбрать</value> + + 1 + + ru + Выбрать + + + true + + + + Выбрать + + + Auto + Auto + + + НовыйЭлемент + + <key>ru</key> + <value>Создать новый элемент</value> + + 2 + + ru + Новый элемент + + + true + + + + НовыйЭлемент + + + Auto + Auto + + + Открыть + + <key>ru</key> + <value>Открыть</value> + + 3 + + ru + Открыть + + + true + + Auto + Auto + + + СписокНеоднозначностей + + ValueList + + + + СтрокаИзТаблицы + + + + ТипЗагрузки + + String + + 50 + + + + + ПолноеИмяТабличнойЧасти + + String + + + + + + + + +
                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Module.bsl new file mode 100644 index 000000000..569904251 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РазрешенияНеоднозначностей/Module.bsl @@ -0,0 +1,228 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + УстановитьОформлениеДанных(); + + Если Параметры.ТипЗагрузки = "ТабличнаяЧасть" И ЗначениеЗаполнено(Параметры.ПолноеИмяТабличнойЧасти) Тогда + СписокНеоднозначностей = Новый СписокЗначений; + + МассивОбъекта = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(Параметры.ПолноеИмяТабличнойЧасти); + Если МассивОбъекта[0] = "Документ" Тогда + МенеджерОбъекта = Документы[МассивОбъекта[1]]; + ИначеЕсли МассивОбъекта[0] = "Справочник" Тогда + МенеджерОбъекта = Справочники[МассивОбъекта[1]]; + Иначе + Отказ = Истина; + Возврат; + КонецЕсли; + + МенеджерОбъекта.ЗаполнитьСписокНеоднозначностей(Параметры.ПолноеИмяТабличнойЧасти, СписокНеоднозначностей, Параметры.Имя, Параметры.ЗначенияЗагружаемыхКолонок); + Элементы.ВариантРазрешенияНеоднозначности.Видимость = Ложь; + Элементы.ДекорацияЗаголовок.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Элементы.ДекорацияЗаголовок.Заголовок, Параметры.Имя); + Элементы.ДекорацияЗаголовок.Видимость = Истина; + Элементы.ДекорацияЗагрузкаИзФайла.Видимость = Ложь; + Элементы.ЭлементыСправочника.КоманднаяПанель.ПодчиненныеЭлементы.ЭлементыСправочникаНовыйЭлемент.Видимость = Ложь; + Для каждого Колонка Из Параметры.ЗначенияЗагружаемыхКолонок Цикл + КолонкиСопоставления.Добавить(Колонка.Ключ); + КонецЦикла; + Элементы.ДекорацияЗаголовокПоискСсылок.Видимость = Ложь; + + ИначеЕсли Параметры.ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Элементы.ГруппаДанныеИзФайла.Видимость = Ложь; + Элементы.ДекорацияЗаголовок.Видимость = Ложь; + Элементы.ДекорацияЗагрузкаИзФайла.Видимость = Ложь; + Элементы.ДекорацияЗаголовокПоискСсылок.Видимость = Истина; + СписокНеоднозначностей = Параметры.СписокНеоднозначностей; + КолонкиСопоставления = Параметры.КолонкиСопоставления; + Иначе + СписокНеоднозначностей = Параметры.СписокНеоднозначностей; + КолонкиСопоставления = Параметры.КолонкиСопоставления; + Элементы.ДекорацияЗаголовок.Видимость = Ложь; + Элементы.ДекорацияЗагрузкаИзФайла.Видимость = Истина; + Элементы.ДекорацияЗаголовокПоискСсылок.Видимость = Ложь; + КонецЕсли; + Индекс = 0; + + Если СписокНеоднозначностей.Количество() = 0 Тогда + Отказ = Истина; + Возврат; + КонецЕсли; + + ВременнаяТЗ = РеквизитФормыВЗначение("ЭлементыСправочника"); + ВременнаяТЗ.Колонки.Очистить(); + МассивРеквизитов = Новый Массив; + + ПервыйЭлемент = СписокНеоднозначностей.Получить(0).Значение; + МетаданныеОбъект = ПервыйЭлемент.Метаданные(); + + Для каждого Реквизит Из ПервыйЭлемент.Метаданные().Реквизиты Цикл + Если Реквизит.Тип.Типы().Найти(Тип("ХранилищеЗначения")) = Неопределено Тогда + ВременнаяТЗ.Колонки.Добавить(Реквизит.Имя, Реквизит.Тип, Реквизит.Представление()); + МассивРеквизитов.Добавить(Новый РеквизитФормы(Реквизит.Имя, Реквизит.Тип, "ЭлементыСправочника", Реквизит.Представление())); + КонецЕсли; + КонецЦикла; + + Для каждого Реквизит Из МетаданныеОбъект.СтандартныеРеквизиты Цикл + ВременнаяТЗ.Колонки.Добавить(Реквизит.Имя, Реквизит.Тип, Реквизит.Представление()); + МассивРеквизитов.Добавить(Новый РеквизитФормы(Реквизит.Имя, Реквизит.Тип, "ЭлементыСправочника", Реквизит.Представление())); + КонецЦикла; + + Для каждого Элемент из Параметры.СтрокаИзТаблицы Цикл + МассивРеквизитов.Добавить(Новый РеквизитФормы("фл_" + Элемент[Индекс], Новый ОписаниеТипов("Строка"),, Элемент[1])); + КонецЦикла; + + ИзменитьРеквизиты(МассивРеквизитов); + + Элементы.ЭлементыСправочника.Высота = СписокНеоднозначностей.Количество() + 3; + + Для каждого Элемент из СписокНеоднозначностей Цикл + Строка = ВариантыВыбора.ПолучитьЭлементы().Добавить(); + Строка.Представление = Строка(Элемент.Значение); + Строка.Ссылка = Элемент.Значение.Ссылка; + МетаданныеОбъект = Элемент.Значение.Метаданные(); + + Для каждого Реквизит Из МетаданныеОбъект.СтандартныеРеквизиты Цикл + Если Реквизит.Имя = "Код" ИЛИ Реквизит.Имя = "Наименование" Тогда + ПодСтрока = Строка.ПолучитьЭлементы().Добавить(); + ПодСтрока.Представление = Реквизит.Представление() + ":"; + ПодСтрока.Значение = Элемент.Значение[Реквизит.Имя]; + ПодСтрока.Ссылка = Элемент.Значение.Ссылка; + КонецЕсли; + КонецЦикла; + + Для каждого Реквизит Из МетаданныеОбъект.Реквизиты Цикл + ПодСтрока = Строка.ПолучитьЭлементы().Добавить(); + ПодСтрока.Представление = Реквизит.Представление() + ":"; + ПодСтрока.Значение = Элемент.Значение[Реквизит.Имя]; + ПодСтрока.Ссылка = Элемент.Значение.Ссылка; + КонецЦикла; + + КонецЦикла; + + Для каждого Элемент из СписокНеоднозначностей Цикл + Строка = ЭлементыСправочника.Добавить(); + Строка.Представление = Строка(Элемент.Значение); + Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл + Попытка + Строка[Колонка.Имя] = Элемент.Значение[Колонка.Имя]; + Исключение + КонецПопытки; + КонецЦикла; + КонецЦикла; + + Для Каждого Колонка Из ВременнаяТЗ.Колонки Цикл + НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), Элементы.ЭлементыСправочника); + НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент.ПутьКДанным = "ЭлементыСправочника." + Колонка.Имя; + НовыйЭлемент.Заголовок = Колонка.Заголовок; + КонецЦикла; + + Если Параметры.ТипЗагрузки = "ВставкаИзБуфераОбмена" Тогда + Разделитель = ""; + СтрокаСоЗначениями = ""; + Для каждого Элемент Из Параметры.СтрокаИзТаблицы Цикл + СтрокаСоЗначениями = СтрокаСоЗначениями + Разделитель + Элемент[2]; + Разделитель = ", "; + КонецЦикла; + Если СтрДлина(СтрокаСоЗначениями) > 70 Тогда + СтрокаСоЗначениями = Лев(СтрокаСоЗначениями, 70) + "..."; + КонецЕсли; + Элементы.ДекорацияЗаголовокПоискСсылок.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Элементы.ДекорацияЗаголовокПоискСсылок.Заголовок, + СтрокаСоЗначениями); + Иначе + КоличествоСвернутыхЭлементов = 0; + Для каждого Элемент Из Параметры.СтрокаИзТаблицы Цикл + + Если Параметры.СтрокаИзТаблицы.Количество() > 3 Тогда + Если КолонкиСопоставления.НайтиПоЗначению(Элемент[Индекс]) = Неопределено Тогда + ГруппаЭлементов = Элементы.ПрочиеДанныеИзФайла; + КоличествоСвернутыхЭлементов = КоличествоСвернутыхЭлементов + 1; + Иначе + ГруппаЭлементов = Элементы.ОсновныеДанныеИзФайла; + КонецЕсли; + Иначе + ГруппаЭлементов = Элементы.ОсновныеДанныеИзФайла; + КонецЕсли; + + НовыйЭлемент2 = Элементы.Добавить(Элемент[Индекс] + "_знач", Тип("ПолеФормы"), ГруппаЭлементов); + НовыйЭлемент2.ПутьКДанным = "фл_"+Элемент[Индекс]; + НовыйЭлемент2.Заголовок = Элемент[1]; + НовыйЭлемент2.Вид = ВидПоляФормы.ПолеВвода; + НовыйЭлемент2.ТолькоПросмотр = Истина; + ЭтотОбъект["фл_" + Элемент[Индекс]] = Элемент[2]; + КонецЦикла; + КонецЕсли; + + Элементы.ПрочиеДанныеИзФайла.Заголовок = Элементы.ПрочиеДанныеИзФайла.Заголовок + " (" +Строка(КоличествоСвернутыхЭлементов) + ")"; + ЭтотОбъект.Высота = Параметры.СтрокаИзТаблицы.Количество() + СписокНеоднозначностей.Количество() + 7; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Выбрать(Команда) + Закрыть(Элементы.ВариантыВыбора.ТекущиеДанные.Ссылка); +КонецПроцедуры + +&НаКлиенте +Процедура НовыйЭлемент(Команда) + Закрыть(Неопределено); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыЭлементыСправочника + +&НаКлиенте +Процедура ЭлементыСправочникаВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Закрыть(Элементы.ЭлементыСправочника.ТекущиеДанные.Ссылка); +КонецПроцедуры + +&НаКлиенте +Процедура ВариантРазрешенияНеоднозначностиПриИзменении(Элемент) + Элементы.ЭлементыСправочника.ТолькоПросмотр = Не ВариантРазрешенияНеоднозначности; +КонецПроцедуры + +&НаКлиенте +Процедура ВариантыВыбораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Если ЗначениеЗаполнено(Элемент.ТекущиеДанные.Ссылка) И Поле.Имя="ВариантыВыбораЗначение" Тогда + СтандартнаяОбработка = Ложь; + ПоказатьЗначение(, Элемент.ТекущиеДанные.Ссылка); + ИначеЕсли ЗначениеЗаполнено(Элемент.ТекущиеДанные.Ссылка) И Поле.Имя="ВариантыВыбораПредставление" Тогда + СтандартнаяОбработка = Ложь; + Закрыть(Элементы.ВариантыВыбора.ТекущиеДанные.Ссылка); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеФункции + +&НаСервере +Процедура УстановитьОформлениеДанных() + + УсловноеОформление.Элементы.Очистить(); + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ВариантыВыбораЗначение"); + ПолеОформления.Использование = Истина; + + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВариантыВыбора.Значение"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Form.form b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Form.form new file mode 100644 index 000000000..6a26c94b6 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Form.form @@ -0,0 +1,238 @@ + + + + <key>ru</key> + <value>Сохранение бланка для заполнения</value> + + + ТипФайла + 1 + true + true + + true + + + ТипСохраняемогоФайла + + Top + + ТипФайлаРасширеннаяПодсказка + 3 + Label + true + true + + Left + + + + ТипФайлаКонтекстноеМеню + 2 + true + + RadioButtonField + Enter + true + Left + true + + 1 + + + ru + Книга MS Excel 2007 (.xlsx) + + + 0 + + + + + ru + Текстовый формат CSV (.csv) + + + 1 + + + + + ru + Формат MXL (.mxl) + + + 2 + + + Vertical + + + + УстановитьРасширениеРаботыСФайлами + 6 + true + true + + true + + + УстановитьРасширениеРаботыСФайламиРасширеннаяПодсказка + 7 + Label + true + true + + Left + + + UsualButton + Form.Command.УстановитьДополнениеДляРаботыСФайлами + Normal + Auto + true + true + UserCmds + Auto + + + ФормаКоманднаяПанель + -1 + + ФормаВыбрать + 4 + true + true + + true + + + ФормаВыбратьРасширеннаяПодсказка + 5 + Label + true + true + + Left + + + Form.Command.Выбрать + Auto + true + true + true + UserCmds + Auto + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Close + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + DontBlock + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + DataProcessorObject.ЗагрузкаДанныхИзФайла + + + true + + + true + +
                                  true
                                  +
                                  + + ТипСохраняемогоФайла + + <key>ru</key> + <value>Тип сохраняемого файла</value> + + 2 + + Number + + 10 + + + + true + + + true + + + + Выбрать + + <key>ru</key> + <value>Выбрать</value> + + 1 + + ru + Выбрать + + + true + + + + Выбрать + + + Auto + Auto + + + УстановитьДополнениеДляРаботыСФайлами + + <key>ru</key> + <value>Установить дополнение для работы с файлами</value> + + 2 + + ru + Установить дополнение для работы с файлами + + + true + + + + УстановитьДополнениеДляОблегченияРаботыСФайлами + + + Auto + Auto + + + + + + +
                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Module.bsl new file mode 100644 index 000000000..052861066 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РасширениеФайла/Module.bsl @@ -0,0 +1,39 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Выбрать(Команда) + Если ТипСохраняемогоФайла = 0 Тогда + Результат = "xlsx"; + ИначеЕсли ТипСохраняемогоФайла = 1 Тогда + Результат = "csv"; + Иначе + Результат = "mxl"; + КонецЕсли; + Закрыть(Результат); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьДополнениеДляОблегченияРаботыСФайлами(Команда) + НачатьУстановкуРасширенияРаботыСФайлами(Неопределено); +КонецПроцедуры + +#КонецОбласти + + + + + + + + diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Form.form b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Form.form new file mode 100644 index 000000000..96e681b71 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Form.form @@ -0,0 +1,920 @@ + + + + <key>ru</key> + <value>Изменение бланка</value> + + + Пояснение + 22 + + <key>ru</key> + <value>Если регулярно требуется загрузка данных, то можно настроить наименование колонок, их отображение и порядок следования для упрощения загрузки.</value> + + true + true + + true + + + ПояснениеРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + + ПояснениеКонтекстноеМеню + 23 + true + + Label + true + true + + Left + + + + СписокКолонок + 1 + true + true + + true + + + СписокКолонок + + None + Add + CancelSearch + Change + Copy + Delete + EndEdit + Find + SelectAll + SortListAsc + SortListDesc + + СписокКолонокГруппаНаименование + 20 + + СписокКолонокВидимость + 5 + true + true + + true + + + СписокКолонок.Видимость + + None + + СписокКолонокВидимостьРасширеннаяПодсказка + 7 + Label + true + true + + Left + + + + СписокКолонокВидимостьКонтекстноеМеню + 6 + true + + CheckBoxField + Auto + true + Left + true + + + + СписокКолонокНаименование + 8 + true + true + + true + + + СписокКолонок.ПредставлениеКолонки + + + СписокКолонокНаименованиеРасширеннаяПодсказка + 10 + Label + true + true + + Left + + + + СписокКолонокНаименованиеКонтекстноеМеню + 9 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Список колонок группа наименование</value> + + + ru + Список колонок группа наименование + + + СписокКолонокГруппаНаименованиеРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СписокКолонокСиноним + 11 + true + true + + true + + + СписокКолонок.Синоним + + + СписокКолонокСинонимРасширеннаяПодсказка + 13 + Label + true + true + + Left + + + + СписокКолонокСинонимКонтекстноеМеню + 12 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + СписокКолонокКоманднаяПанель + 3 + + СписокКолонокУстановитьФлажки + 25 + true + true + + true + + + СписокКолонокУстановитьФлажкиРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + Form.Command.УстановитьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + СписокКолонокСнятьФлажки + 27 + true + true + + true + + + СписокКолонокСнятьФлажкиРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + Form.Command.СнятьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + СписокКолонокПереместитьВверх + 33 + true + true + + true + + + СписокКолонокПереместитьВверхРасширеннаяПодсказка + 34 + Label + true + true + + Left + + + Form.Item.СписокКолонок.StandardCommand.MoveUp + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + СписокКолонокПереместитьВниз + 35 + true + true + + true + + + СписокКолонокПереместитьВнизРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + Form.Item.СписокКолонок.StandardCommand.MoveDown + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ФормаСброситьВсеНастройки + 29 + true + true + + true + + + ФормаСброситьВсеНастройкиРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + Form.Command.СброситьНастройки + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + Left + true + + + OnActivateRow + СписокКолонокПриАктивизацииСтроки + + + СписокКолонокСтрокаПоиска + 49 + + СписокКолонокСтрокаПоискаРасширеннаяПодсказка + 51 + Label + true + true + + Left + + + + СписокКолонокСтрокаПоискаКонтекстноеМеню + 50 + true + + СписокКолонок + + true + + + + СписокКолонокСостояниеПросмотра + 52 + + СписокКолонокСостояниеПросмотраРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + + СписокКолонокСостояниеПросмотраКонтекстноеМеню + 53 + true + + ViewStatusAddition + СписокКолонок + + true + + + + СписокКолонокУправлениеПоиском + 55 + + СписокКолонокУправлениеПоискомРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + + СписокКолонокУправлениеПоискомКонтекстноеМеню + 56 + true + + SearchControlAddition + СписокКолонок + + true + + + + СписокКолонокРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + + СписокКолонокКонтекстноеМеню + 2 + true + + true + true + true + true + true + MultiRow +
                                  true
                                  + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + true + true + None + None + None + true + +
                                  + + ОписаниеКолонки + 46 + true + true + + true + + + ОписаниеКолонки + + Top + + ОписаниеКолонкиРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + ОписаниеКолонкиКонтекстноеМеню + 47 + true + + InputField + true + Enter + true + Left + true + + true + 3 + true + true + true + true + true + true + Normal + + + + ГруппаКоманднаяПанель + 14 + + ОК + 16 + true + true + + true + + + ОКРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + Auto + + + Закрыть + 31 + + <key>ru</key> + <value>Отмена</value> + + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 32 + Label + true + true + + Left + + + Form.StandardCommand.Close + Normal + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа командная панель</value> + + + ru + Группа командная панель + + + ГруппаКоманднаяПанельРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + CommandBar + + Right + + + + ФормаКоманднаяПанель + -1 + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + 50 + LockOwner + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + DataProcessorObject.ЗагрузкаДанныхИзФайла + + + true + + + true + +
                                  true
                                  +
                                  + + СписокКолонок + + <key>ru</key> + <value>Список колонок</value> + + 2 + + ValueTable + + + true + + + true + + + Видимость + + <key>ru</key> + <value>Видимость</value> + + 1 + + Boolean + + + true + + + true + + + + ПредставлениеКолонки + + <key>ru</key> + <value>Колонка</value> + + 2 + + String + + + + true + + + true + + + + Синоним + + <key>ru</key> + <value>Наименование колонки</value> + + 3 + + String + + + + true + + + true + + + + ОбязательнаДляЗаполнения + + <key>ru</key> + <value>Обязательна для заполнения</value> + + 4 + + Boolean + + + true + + + true + + + + Позиция + + <key>ru</key> + <value>Позиция</value> + + 5 + + Number + + 10 + + + + true + + + true + + + + ИмяКолонки + + <key>ru</key> + <value>Имя колонки</value> + + 6 + + String + + 150 + + + + true + + + true + + + + Примечание + + <key>ru</key> + <value>Примечание</value> + + 7 + + String + + + + true + + + true + + + + + ИмяОбъектаСопоставления + + <key>ru</key> + <value>Имя объекта сопоставления</value> + + 3 + + String + + + + true + + + true + + + + ОписаниеКолонки + + <key>ru</key> + <value>Описание колонки</value> + + 4 + + String + + + + true + + + true + + + + ОК + + <key>ru</key> + <value>ОК</value> + + 2 + + ru + ОК + + + true + + + + ОК + + + Auto + Auto + + + УстановитьФлажки + + <key>ru</key> + <value>Установить флажки</value> + + 3 + + ru + Установить флажки + + + true + + + StdPicture.CheckAll + + + + УстановитьФлажки + + + Auto + Auto + + + СнятьФлажки + + <key>ru</key> + <value>Снять флажки</value> + + 4 + + ru + Снять флажки + + + true + + + StdPicture.UncheckAll + + + + СнятьФлажки + + + Auto + Auto + + + СброситьНастройки + + <key>ru</key> + <value>Сбросить настройки</value> + + 5 + + ru + Сбросить настройки + + + true + + + + СброситьНастройки + + + Auto + Auto + + + ИмяОбъектаСопоставления + + String + + + + + + + + +
                                  diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Module.bsl new file mode 100644 index 000000000..8a57732bd --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Forms/РедактированиеБланка/Module.bsl @@ -0,0 +1,122 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + УстановитьОформлениеДанных(); + + ИмяОбъектаСопоставления = Параметры.ИмяОбъектаСопоставления; + Если Параметры.Свойство("ИнформацияПоКолонкам") Тогда + СписокКолонок.Загрузить(Параметры.ИнформацияПоКолонкам.Выгрузить()); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОК(Команда) + ПозицияКолонки = 0; + Для Каждого СтрокаТаблицы Из СписокКолонок Цикл + ПозицияКолонки = ПозицияКолонки + 1; + СтрокаТаблицы.Позиция = ПозицияКолонки; + КонецЦикла; + Закрыть(СписокКолонок); +КонецПроцедуры + +&НаКлиенте +Процедура СброситьНастройки(Команда) + Оповещение = Новый ОписаниеОповещения("СброситьНастройкиЗавершение", ЭтотОбъект, ИмяОбъектаСопоставления); + ПоказатьВопрос(Оповещение, НСтр("ru = 'Установить настройки колонок в первоначальное состояние?'"), РежимДиалогаВопрос.ДаНет); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьФлажки(Команда) + Для каждого СтрокаТаблицы Из СписокКолонок Цикл + СтрокаТаблицы.Видимость = Истина; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура СнятьФлажки(Команда) + Для каждого СтрокаТаблицы Из СписокКолонок Цикл + Если Не СтрокаТаблицы.ОбязательнаДляЗаполнения Тогда + СтрокаТаблицы.Видимость = Ложь; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСписокКолонок + +&НаКлиенте +Процедура СписокКолонокПриАктивизацииСтроки(Элемент) + Если Элемент.ТекущиеДанные <> Неопределено Тогда + ОписаниеКолонки = Элемент.ТекущиеДанные.Примечание; + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура УстановитьОформлениеДанных() + + УсловноеОформление.Элементы.Очистить(); + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("СписокКолонокНаименование"); + ПолеОформления.Использование = Истина; + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокКолонок.ОбязательнаДляЗаполнения"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ЭлементОтбора.ПравоеЗначение =Истина; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(,, Истина)); + + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("СписокКолонокВидимость"); + ПолеОформления.Использование = Истина; + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокКолонок.ОбязательнаДляЗаполнения"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ЭлементОтбора.ПравоеЗначение =Истина; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина); + + ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); + ПолеОформления = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); + ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("СписокКолонокСиноним"); + ПолеОформления.Использование = Истина; + ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СписокКолонок.Синоним"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ЭлементОтбора.Использование = Истина; + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Стандартное наименование'")); + ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НепринятаяВерсия); + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура СброситьНастройкиНаСервере(ИмяОбъектаСопоставления) + ХранилищеСистемныхНастроек.Удалить("ЗагрузкаДанныхИзФайла", ИмяОбъектаСопоставления, Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура СброситьНастройкиЗавершение(РезультатВопроса, ИмяОбъектаСопоставления) Экспорт + Если РезультатВопроса = КодВозвратаДиалога.Да Тогда + СброситьНастройкиНаСервере(ИмяОбъектаСопоставления); + СписокКолонок.Очистить(); + Закрыть(СписокКолонок); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ManagerModule.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ManagerModule.bsl new file mode 100644 index 000000000..690de48c7 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ManagerModule.bsl @@ -0,0 +1,1725 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +// Сообщает все требуемые сведения о процедуре загрузки данных из файла. +// +// Возвращаемое значение +// Структура - содержит структуру со свойствами: +// * Представление - Строка - Представление в списке вариантов загрузки. +// * ИмяМакетаСШаблоном - Строка - Название макета со структурой данных(необязательный параметр, значение по умолчанию - "ЗагрузкаДанныхИзФайла"). +// * ОбязательныеКолонкиМакета - Массив - Содержит список обязательных полей для заполнения. +// * ЗаголовокКолонкиСопоставления - Строка - Представление колонки сопоставления в шапке таблицы сопоставления данных(необязательный параметр, значение по умолчанию формируются - "Справочник: <синоним справочника>"). +// * ИмяОбъекта - Строка - Имя Объекта +// +Функция ПараметрыЗагрузкиИзФайла(МетаданныеСправочника = Неопределено) Экспорт + + ОбязательныеКолонкиМакета = Новый Массив; + //Для каждого Реквизит из МетаданныеСправочника.Реквизиты Цикл + // Если Реквизит.ПроверкаЗаполнения=ПроверкаЗаполнения.ВыдаватьОшибку тогда + // ОбязательныеКолонкиМакета.Добавить(Реквизит.Имя); + // КонецЕсли; + //КонецЦикла; + + ПараметрыПоУмолчанию = Новый Структура; + ПараметрыПоУмолчанию.Вставить("Заголовок", МетаданныеСправочника.Представление()); + ПараметрыПоУмолчанию.Вставить("ОбязательныеКолонки", ОбязательныеКолонкиМакета); + ПараметрыПоУмолчанию.Вставить("ТипДанныхКолонки", Новый Соответствие); + Возврат ПараметрыПоУмолчанию; +КонецФункции + +// Сообщает все требуемые сведения о процедуре загрузки данных из файла в Табличную часть +Функция ПараметрыЗагрузкиИзФайлаВТЧ(ИмяТабличнойЧасти) Экспорт + + ПараметрыПоУмолчанию= новый Структура; + ПараметрыПоУмолчанию.Вставить("ОбязательныеКолонки",Новый Массив); + ПараметрыПоУмолчанию.Вставить("ИмяМакетаСШаблоном","ЗагрузкаИзФайла"); + ПараметрыПоУмолчанию.Вставить("ИмяТабличнойЧасти", ИмяТабличнойЧасти); + + Возврат ПараметрыПоУмолчанию; + +КонецФункции + +// Сообщает все требуемые сведения о процедуре загрузки данных из файла для внешней обработки. +// +// Параметры: +// ИмяКоманды - Строка - Имя команды (Идентификатор) +// СсылкаНаОбработку - Ссылка - Ссылка на обработку +// ИмяМакетаСШаблоном - Строка - Имя шаблона с макетом колонок для загрузки данных +// Возвращаемое значение +// Структура - содержит структуру со свойствами: +// * Представление - Строка - Представление в списке вариантов загрузки. +// * ИмяМакетаСШаблоном - Строка - Название макета со структурой данных(необязательный параметр, значение по умолчанию - "ЗагрузкаДанныхИзФайла"). +// * ОбязательныеКолонкиМакета - Массив - Содержит список обязательных полей для заполнения. +// * ЗаголовокКолонкиСопоставления - Строка - Представление колонки сопоставления в шапке таблицы сопоставления данных(необязательный параметр, значение по умолчанию формируются - "Справочник: <синоним справочника>"). +// * ИмяОбъекта - Строка - Имя Объекта +// +Функция ПараметрыЗагрузкиИзФайлаВнешняяОбработка(ИмяКоманды, СсылкаНаОбработку, ИмяМакетаСШаблоном) Экспорт + ОбязательныеКолонкиМакета = Новый Массив; + + Если НЕ ЗначениеЗаполнено(ИмяМакетаСШаблоном) Тогда + ИмяМакетаСШаблоном = "ЗагрузкаИзФайла"; + КонецЕсли; + + ПараметрыЗагрузки = Новый Структура; + ПараметрыЗагрузки.Вставить("ИмяМакетаСШаблоном", ИмяМакетаСШаблоном); + ПараметрыЗагрузки.Вставить("ОбязательныеКолонкиМакета", ОбязательныеКолонкиМакета); + ПараметрыЗагрузки.Вставить("СоответствиеТипаДанныхКолонок", Новый Соответствие); + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки"); + ВнешнийОбъект = МодульДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(СсылкаНаОбработку); + КонецЕсли; + + Попытка + ВнешнийОбъект.ОпределитьПараметрыЗагрузкиДанныхИзФайла(ИмяКоманды, ПараметрыЗагрузки); + Исключение + // Если функция определена во внешней обработке, то он переопределяет настройки по умолчанию. + КонецПопытки; + + ПараметрыЗагрузки.Вставить("Макет", ВнешнийОбъект.МакетСШаблоном(ПараметрыЗагрузки.ИмяМакетаСШаблоном)); + + Возврат ПараметрыЗагрузки; +КонецФункции + +// Создает таблицу значений со списком команд во внешней обработке для загрузки из файла +// +Процедура ЗадатьКомандыЗагрузки(ПараметрыРегистрации) Экспорт + + ТаблицаКоманд = Новый ТаблицаЗначений; + ТаблицаКоманд.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); + ТаблицаКоманд.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); + ТаблицаКоманд.Колонки.Добавить("МакетСШаблоном", Новый ОписаниеТипов("Строка")); + ТаблицаКоманд.Колонки.Добавить("ПолноеИмяОбъектаМетаданных", Новый ОписаниеТипов("Строка")); + + ПараметрыРегистрации.Вставить("КомандыЗагрузки", ТаблицаКоманд); + +КонецПроцедуры + +#Область СлужебныеФункции + +// Формирует информацию по колонкам на основание шаблона и описания типов +// +Процедура ИнициализироватьРежимПоискСсылок(ШаблонСДанными, ИнформацияПоКолонкам, ОписаниеТипов) Экспорт + СоответствиеКолонок = Новый Соответствие; + ЗаголовокКолонки = ""; + Разделитель = ""; + + Для каждого Тип Из ОписаниеТипов.Типы() Цикл + ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); + СтруктураОбъекта = РазложитьПолноеИмяОбъекта(ОбъектМетаданных.ПолноеИмя()); + + Для каждого Колонка Из ОбъектМетаданных.ВводПоСтроке Цикл + Если СоответствиеКолонок.Получить(Колонка.Имя) = Неопределено Тогда + + ЗаголовокКолонки = ЗаголовокКолонки + Разделитель +Колонка.Имя; + Разделитель = ", "; + СоответствиеКолонок.Вставить(Колонка.Имя, Колонка.Имя); + КонецЕсли; + КонецЦикла; + Если СтруктураОбъекта.ТипОбъекта = "Документ" Тогда + ЗаголовокКолонки = ЗаголовокКолонки + Разделитель + "Представление"; + КонецЕсли; + + ЗаголовокКолонки = НСтр("ru = 'Введенные данные'"); + + КонецЦикла; + + ДобавитьИнформациюПоКолонке(ИнформацияПоКолонкам, "Ссылки", ЗаголовокКолонки, Новый ОписаниеТипов("Строка"), Ложь, 1); + + Шапка = ШапкаБланкаДляЗаполненияПоИнформацииПоКолонкам(ИнформацияПоКолонкам); + ШаблонСДанными.Очистить(); + ШаблонСДанными.Вывести(Шапка); + + +КонецПроцедуры + +// Выполняет автоматическое сопоставление данных для режима вставки данных из буфера обмена +// +Процедура СопоставитьЗначениеКолонкиАвто(ТаблицаСопоставления, ИмяКолонки) Экспорт + + Типы = ТаблицаСопоставления.Колонки.ОбъектСопоставления.ТипЗначения.Типы(); + ТекстЗапроса = ""; + Для каждого Тип Из Типы Цикл + ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); + СтруктураОбъекта = РазложитьПолноеИмяОбъекта(ОбъектМетаданных.ПолноеИмя()); + + МассивКолонок = Новый Массив; + Для каждого Поле Из ОбъектМетаданных.ВводПоСтроке Цикл + МассивКолонок.Добавить(Поле.Имя); + КонецЦикла; + Если СтруктураОбъекта.ТипОбъекта = "Документ" Тогда + МассивКолонок.Добавить("Ссылка"); + КонецЕсли; + + ТекстЗапроса = СтрокаЗапроса(ТекстЗапроса, СтруктураОбъекта.ТипОбъекта, + СтруктураОбъекта.НазваниеОбъекта, МассивКолонок); + КонецЦикла; + + Для каждого Строка из ТаблицаСопоставления Цикл + Если НЕ ЗначениеЗаполнено(Строка[ИмяКолонки]) Тогда + Продолжить; + КонецЕсли; + + Если ЗначениеЗаполнено(ТекстЗапроса) Тогда + Значение = ДокументПоПредставлению(Строка[ИмяКолонки], Типы); + Если Значение = Неопределено Тогда + Значение = Строка[ИмяКолонки]; + КонецЕсли; + МассивСсылок = НайтиСсылкиПоПараметрамОтбора(ТекстЗапроса, Значение); + Если МассивСсылок.Количество() = 1 Тогда + Строка.ОбъектСопоставления = МассивСсылок[0]; + Строка.РезультатСопоставленияСтроки = "СтрокаСопоставлена"; + ИначеЕсли МассивСсылок.Количество() > 1 Тогда + СписокНеоднозначностей = Новый СписокЗначений; + Строка.СписокНеоднозначностей.ЗагрузитьЗначения(МассивСсылок); + Строка.РезультатСопоставленияСтроки = "Неоднозначность"; + Иначе + Строка.РезультатСопоставленияСтроки = "НеСопоставлен"; + КонецЕсли; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +функция ДокументПоПредставлению(Представление, Типы) + + Для каждого Тип Из Типы Цикл + ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); + СтруктураИмениОбъекта = РазложитьПолноеИмяОбъекта(ОбъектМетаданных.ПолноеИмя()); + если СтруктураИмениОбъекта.ТипОбъекта <> "Документ" Тогда + Продолжить; + КонецЕсли; + + СтандартныеСвойства = Новый Структура("ПредставлениеОбъекта, РасширенноеПредставлениеОбъекта, ПредставлениеСписка, РасширенноеПредставлениеСписка"); + ЗаполнитьЗначенияСвойств(СтандартныеСвойства, ОбъектМетаданных); + + Если ЗначениеЗаполнено(СтандартныеСвойства.ПредставлениеОбъекта) Тогда + ПредставлениеЭлемента = СтандартныеСвойства.ПредставлениеОбъекта; + ИначеЕсли ЗначениеЗаполнено(СтандартныеСвойства.РасширенноеПредставлениеОбъекта) Тогда + ПредставлениеЭлемента = СтандартныеСвойства.РасширенноеПредставлениеОбъекта; + Иначе + ПредставлениеЭлемента = ОбъектМетаданных.Представление(); + КонецЕсли; + + Если Найти(Представление, ПредставлениеЭлемента) > 0 Тогда + ПредставлениеНомерИДата = СокрЛП(Сред(Представление, СтрДлина(ПредставлениеЭлемента) + 1)); + ПозицияОкончанияНомера = Найти(ПредставлениеНомерИДата, " "); + Номер = Лев(ПредставлениеНомерИДата, ПозицияОкончанияНомера - 1); + ПозицияОт = Найти(НРег(ПредставлениеНомерИДата), "от"); + ПредставлениеДата = СокрЛ(Сред(ПредставлениеНомерИДата, ПозицияОт + 2)); + ПозицияОкончаниеДаты = Найти(ПредставлениеДата, " "); + ДатаОкругленнаяДоДня = Лев(ПредставлениеДата, ПозицияОкончаниеДаты - 1) + " 00:00:00"; + НомерДокумент = Номер; + ДатаДокумента = ПреобразоватьВДату(ДатаОкругленнаяДоДня); + КонецЕсли; + Документ = Документы[ОбъектМетаданных.Имя].НайтиПоНомеру(НомерДокумент, ДатаДокумента); + + Если НЕ (Документ = Неопределено ИЛИ Документ = Документы[ОбъектМетаданных.Имя].ПустаяСсылка()) Тогда + Возврат Документ; + КонецЕсли; + + КонецЦикла; + + Возврат Неопределено; + +КонецФункции + +Функция ПреобразоватьВДату(ДатаСтрока) + + Попытка + Возврат Дата(ДатаСтрока); + Исключение + Возврат Неопределено; + КонецПопытки; + +КонецФункции + +Функция СтрокаЗапроса(ТекстЗапроса, ТипОбъекта, ИмяОбъекта, МассивКолонок) + + Если МассивКолонок.Количество() > 0 Тогда + ТекстГде = ""; + РазделительГде = ""; + Для Каждого Поле из МассивКолонок Цикл + ТекстГде = ТекстГде + РазделительГде + ИмяОбъекта + "." + Поле + " = &ПараметрПоиска"; + РазделительГде = " ИЛИ "; + КонецЦикла; + + ТекстШаблон = "ВЫБРАТЬ %1.Ссылка КАК СсылкаНаОбъект ИЗ %2.%1 КАК %1 ГДЕ " + ТекстГде; + Если ЗначениеЗаполнено(ТекстЗапроса) Тогда + ТекстОбъеденитьВсе = Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС; + Иначе + ТекстОбъеденитьВсе = ""; + КонецЕсли; + ТекстЗапроса = ТекстЗапроса + ТекстОбъеденитьВсе + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстШаблон, ИмяОбъекта, ТипОбъекта); + КонецЕсли; + Возврат ТекстЗапроса; + +КонецФункции + +Функция НайтиСсылкиПоПараметрамОтбора(ТекстЗапроса, Значение) + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("ПараметрПоиска", Значение); + + ТаблицаРезультатов = Запрос.Выполнить().Выгрузить(); + МассивРезультат = ТаблицаРезультатов.ВыгрузитьКолонку("СсылкаНаОбъект"); + Возврат МассивРезультат; +КонецФункции + +// Создает список справочников доступных для загрузки +// +Процедура СоздатьСписокСправочниковДляЗагрузки(СписокСправочниковДляЗагрузки) Экспорт + + ТипСтрока = Новый ОписаниеТипов("Строка"); + ИнформацияОСправочниках = Новый ТаблицаЗначений; + ИнформацияОСправочниках.Колонки.Добавить("ПолноеИмяОбъектаМетаданных", ТипСтрока); + ИнформацияОСправочниках.Колонки.Добавить("Представление", ТипСтрока); + ИнформацияОСправочниках.Колонки.Добавить("Параметры"); + + СправочникиИсключения = СписокСправочниковИсключений(); + + Для каждого ОбъектМетаданныхДляВывода Из Метаданные.Справочники Цикл + Если СправочникиИсключения.Найти(ОбъектМетаданныхДляВывода.Имя) = Неопределено Тогда + ИнформацияОТипеЗагрузки = Новый Структура(); + ИнформацияОТипеЗагрузки.Вставить("Тип", "УниверсальнаяЗагрузка"); + ИнформацияОТипеЗагрузки.Вставить("ПолноеИмяОбъектаМетаданных", ОбъектМетаданныхДляВывода.ПолноеИмя()); + + Строка = ИнформацияОСправочниках.Добавить(); + Строка.ПолноеИмяОбъектаМетаданных = ОбъектМетаданныхДляВывода.ПолноеИмя(); + Строка.Представление = ОбъектМетаданныхДляВывода.Представление(); + Строка.Параметры = ИнформацияОТипеЗагрузки; + КонецЕсли; + КонецЦикла; + + Для каждого Справочник из Метаданные.Справочники Цикл + Менеджер = Справочники[Справочник.Имя]; + + Если Справочник.Макеты.Найти("ЗагрузкаИзФайла") <> Неопределено тогда + + ПараметрыЗагрузки = ПараметрыЗагрузкиИзФайла(Справочник); + Попытка + Менеджер.ОпределитьПараметрыЗагрузкиДанныхИзФайла(ПараметрыЗагрузки); + Исключение + КонецПопытки; + + СправочникПредставление = ПараметрыЗагрузки.Заголовок; + ИнформацияОТипеЗагрузки = Новый Структура(); + ИнформацияОТипеЗагрузки.Вставить("Тип", "ПрикладнаяЗагрузка"); + ИнформацияОТипеЗагрузки.Вставить("ПолноеИмяОбъектаМетаданных", Справочник.ПолноеИмя()); + + Строка = ИнформацияОСправочниках.Найти(Справочник.ПолноеИмя(), "ПолноеИмяОбъектаМетаданных"); + Если Строка = Неопределено Тогда + Строка = ИнформацияОСправочниках.Добавить(); + Строка.ПолноеИмяОбъектаМетаданных = ОбъектМетаданныхДляВывода.ПолноеИмя(); + Строка.Представление = СправочникПредставление; + Строка.Параметры = ИнформацияОТипеЗагрузки; + Иначе + Строка.Параметры = ИнформацияОТипеЗагрузки; + Строка.Представление = СправочникПредставление; + КонецЕсли; + + КонецЕсли; + КонецЦикла; + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ДополнительныеОтчетыИОбработкиКоманды.Ссылка, + | ДополнительныеОтчетыИОбработкиКоманды.Идентификатор, + | ДополнительныеОтчетыИОбработкиКоманды.Представление, + | ДополнительныеОтчетыИОбработкиКоманды.Модификатор + |ИЗ + | Справочник.ДополнительныеОтчетыИОбработки.Команды КАК ДополнительныеОтчетыИОбработкиКоманды + |ГДЕ + | ДополнительныеОтчетыИОбработкиКоманды.ВариантЗапуска = &ВариантЗапуска + | И ДополнительныеОтчетыИОбработкиКоманды.Ссылка.Вид = &Вид + | И Не ДополнительныеОтчетыИОбработкиКоманды.Ссылка.ПометкаУдаления + | И ДополнительныеОтчетыИОбработкиКоманды.Ссылка.Публикация = &Публикация"; + Запрос.УстановитьПараметр("ВариантЗапуска", Перечисления.СпособыВызоваДополнительныхОбработок.ЗагрузкаДанныхИзФайла); + Запрос.УстановитьПараметр("Вид", Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка); + Запрос.УстановитьПараметр("Публикация", Перечисления.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется); + ТаблицаКоманд = Запрос.Выполнить().Выгрузить(); + + Для Каждого СтрокаТаблицы Из ТаблицаКоманд Цикл + ИнформацияОТипеЗагрузки = Новый Структура; + ИнформацияОТипеЗагрузки.Вставить("Тип", "ВнешняяЗагрузка"); + ИнформацияОТипеЗагрузки.Вставить("ПолноеИмяОбъектаМетаданных", СтрокаТаблицы.Идентификатор); + ИнформацияОТипеЗагрузки.Вставить("Ссылка", СтрокаТаблицы.Ссылка); + ИнформацияОТипеЗагрузки.Вставить("МакетСШаблоном", СтрокаТаблицы.Модификатор); + + Строка = ИнформацияОСправочниках.Добавить(); + Строка.ПолноеИмяОбъектаМетаданных = ОбъектМетаданныхДляВывода.Имя; + Строка.Параметры = ИнформацияОТипеЗагрузки; + Строка.Представление = СтрокаТаблицы.Представление; + КонецЦикла; + КонецЕсли; + + СписокСправочниковДляЗагрузки.Очистить(); + Для каждого строка Из ИнформацияОСправочниках Цикл + СписокСправочниковДляЗагрузки.Добавить(Строка.Параметры, Строка.Представление); + КонецЦикла; + + СписокСправочниковДляЗагрузки.СортироватьПоПредставлению(); + + +КонецПроцедуры + +Функция СписокСправочниковИсключений() + + СправочникиИсключения = Новый Массив; + + Для каждого Справочник из Метаданные.Справочники Цикл + + Если СправочникСодержитРеквизитИсключение(Справочник) Тогда + Попытка + Менеджер = Справочники[Справочник.Имя]; + Если Менеджер.ИспользоватьЗагрузкуДанныхИзФайла() Тогда + Продолжить; + КонецЕсли; + Исключение + // Функция разрешения загрузки не определена в модуле менеджера справочника. + КонецПопытки; + СправочникиИсключения.Добавить(Справочник.Имя); + КонецЕсли; + + КонецЦикла; + + Возврат СправочникиИсключения; + +КонецФункции + +Функция СправочникСодержитРеквизитИсключение(Справочник) + + Для каждого Реквизит Из Справочник.ТабличныеЧасти Цикл + Если Реквизит.Имя <> "КонтактнаяИнформация" И + Реквизит.Имя <> "ДополнительныеРеквизиты" И + Реквизит.Имя <> "СертификатыШифрования" Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Для каждого Реквизит Из Справочник.Реквизиты Цикл + Для каждого ТипРеквизита Из Реквизит.Тип.Типы() Цикл + Если ТипРеквизита = Тип("ХранилищеЗначения") Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + КонецЦикла; + + Если ТРег(Лев(Справочник.Имя, 7)) = "Удалить" Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +// Заполняет таблицу значений Сопоставленные данные по данным из макета +// +Процедура ЗаполнитьТаблицуСопоставленияДаннымиИзШаблонаФон(ПараметрыВыгрузки, АдресХранилища) Экспорт + + ШаблонСДанными = ПараметрыВыгрузки.ШаблонСДанными; + ТаблицаСопоставления = ПараметрыВыгрузки.ТаблицаСопоставления; + ИнформацияПоКолонкам = ПараметрыВыгрузки.ИнформацияПоКолонкам; + + ТаблицаСопоставления.Очистить(); + ЗаполнитьТаблицуСопоставленияЗагружаемымиДанными(ШаблонСДанными, ИнформацияПоКолонкам, ТаблицаСопоставления, Истина); + + ПоместитьВоВременноеХранилище(ТаблицаСопоставления, АдресХранилища); + +КонецПроцедуры + +// Заполняет таблицу данными из загруженного шаблона +// +Процедура ЗаполнитьТаблицуСопоставленияДаннымиИзШаблона(ШаблонСДанными, ТаблицаСопоставления, ИнформацияПоКолонкам) Экспорт + + ОпределитьПозицииКолонокВМакете(ШаблонСДанными, ИнформацияПоКолонкам); + ТаблицаСопоставления.Очистить(); + ЗаполнитьТаблицуСопоставленияЗагружаемымиДанными(ШаблонСДанными, ИнформацияПоКолонкам, ТаблицаСопоставления); + +КонецПроцедуры + +Процедура ЗаполнитьТаблицуСопоставленияЗагружаемымиДанными(ШаблонСДанными, ТаблицаИнформацияПоКолонкам, ТаблицаСопоставления, ФоновоеЗадание = Ложь) + + Для НомерСтроки = 2 По ШаблонСДанными.ВысотаТаблицы Цикл + НоваяСтрока = ТаблицаСопоставления.Добавить(); + НоваяСтрока.Идентификатор = НомерСтроки - 1; + НоваяСтрока.РезультатСопоставленияСтроки = "НеСопоставлен"; + Для НомерКолонки = 1 По ШаблонСДанными.ШиринаТаблицы Цикл + Ячейка = ШаблонСДанными.ПолучитьОбласть(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки).ТекущаяОбласть; + + Колонка = НайтиИнформациюОКолонке(ТаблицаИнформацияПоКолонкам, "Позиция", НомерКолонки); + + Если Колонка <> Неопределено Тогда + ИмяКолонки = Колонка.ИмяКолонки; + + ТипДанных = ТипЗнч(НоваяСтрока[ИмяКолонки]); + + Если ТипДанных <> Тип("Строка") И ТипДанных <> Тип("Булево") И ТипДанных <> Тип("Число") И ТипДанных <> Тип("Дата") И ТипДанных <> Тип("УникальныйИдентификатор") Тогда + ДанныеЯчейки = ЗначениеЯчейки(Колонка, Ячейка.Текст); + Иначе + ДанныеЯчейки = Ячейка.Текст; + КонецЕсли; + НоваяСтрока[ИмяКолонки] = ДанныеЯчейки; + КонецЕсли; + КонецЦикла; + + Если ФоновоеЗадание Тогда + Процент = Окр(НомерСтроки *100 / ШаблонСДанными.ВысотаТаблицы); + МодульДлительныеОперации = ОбщегоНазначения.ОбщийМодуль("ДлительныеОперации"); + МодульДлительныеОперации.СообщитьПрогресс(Процент); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Функция НайтиИнформациюОКолонке(ТаблицаИнформацияПоКолонкам, ИмяКолонки, Значение) + + + Отбор = Новый Структура(ИмяКолонки, Значение); + НайденныеКолонки = ТаблицаИнформацияПоКолонкам.НайтиСтроки(Отбор); + Колонка = Неопределено; + Если НайденныеКолонки.Количество() > 0 Тогда + Колонка = НайденныеКолонки[0]; + КонецЕсли; + + Возврат Колонка; +КонецФункции + +Функция ЗначениеЯчейки(Колонка, ЗначениеЯчейки) + + ДанныеЯчейки = ""; + Для каждого ТипДанных Из Колонка.ТипКолонки.Типы() Цикл + Объект = Метаданные.НайтиПоТипу(ТипДанных); + ОписаниеОбъекта = РазложитьПолноеИмяОбъекта(Объект.ПолноеИмя()); + Если ОписаниеОбъекта.ТипОбъекта = "Справочник" Тогда + Если НЕ Объект.Автонумерация И Объект.ДлинаКода > 0 Тогда + ДанныеЯчейки = Справочники[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоКоду(ЗначениеЯчейки, Истина); + КонецЕсли; + Если НЕ ЗначениеЗаполнено(ДанныеЯчейки) Тогда + ДанныеЯчейки = Справочники[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоНаименованию(ЗначениеЯчейки, Истина); + КонецЕсли; + ИначеЕсли ОписаниеОбъекта.ТипОбъекта = "Перечисление" Тогда + Для каждого ЗначениеПеречисления Из Перечисления[ОписаниеОбъекта.НазваниеОбъекта] Цикл + Если Строка(ЗначениеПеречисления) = СокрЛП(ЗначениеЯчейки) Тогда + ДанныеЯчейки = ЗначениеПеречисления; + КонецЕсли; + КонецЦикла; + ИначеЕсли ОписаниеОбъекта.ТипОбъекта = "ПланСчетов" Тогда + ДанныеЯчейки = ПланыСчетов[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоКоду(ЗначениеЯчейки); + Если ДанныеЯчейки.Пустая() Тогда + ДанныеЯчейки = ПланыСчетов[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоНаименованию(ЗначениеЯчейки, Истина); + КонецЕсли; + ИначеЕсли ОписаниеОбъекта.ТипОбъекта = "ПланВидовХарактеристик" Тогда + Если НЕ Объект.Автонумерация И Объект.ДлинаКода > 0 Тогда + ДанныеЯчейки = ПланыВидовХарактеристик[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоКоду(ЗначениеЯчейки, Истина); + КонецЕсли; + Если НЕ ЗначениеЗаполнено(ДанныеЯчейки) Тогда + ДанныеЯчейки = ПланыВидовХарактеристик[ОписаниеОбъекта.НазваниеОбъекта].НайтиПоНаименованию(ЗначениеЯчейки, Истина); + КонецЕсли; + Иначе + ДанныеЯчейки = Строка(ЗначениеЯчейки); + КонецЕсли; + Если ЗначениеЗаполнено(ДанныеЯчейки) Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат ДанныеЯчейки; + +КонецФункции + +Процедура ОпределитьПозицииКолонокВМакете(ШаблонСДанными, ИнформацияПоКолонкам) + + ОбластьЗаголовка = ОбластьЗаголовкаШаблонаТаблицы(ШаблонСДанными); + + СоответствиеКолонок = Новый Соответствие; + Для НомерКолонки = 1 По ОбластьЗаголовка.ШиринаТаблицы Цикл + Ячейка=ШаблонСДанными.ПолучитьОбласть(1, НомерКолонки, 1, НомерКолонки).ТекущаяОбласть; + ИмяКолонкиВМакете = Ячейка.Текст; + СоответствиеКолонок.Вставить(ИмяКолонкиВМакете, НомерКолонки); + КонецЦикла; + + Для каждого Колонка Из ИнформацияПоКолонкам Цикл + Позиция = СоответствиеКолонок.Получить(Колонка.ПредставлениеКолонки); + Если Позиция <> Неопределено Тогда + Колонка.Позиция = Позиция; + Иначе + Колонка.Позиция = -1; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +Функция ОбластьЗаголовкаШаблонаТаблицы(Шаблон) + МетаданныеОбластьЗаголовокТаблицы = Шаблон.Области.Найти("Шапка"); + + Если МетаданныеОбластьЗаголовокТаблицы = Неопределено тогда + ОбластьЗаголовокТаблицы = Шаблон.ПолучитьОбласть("R1"); + Иначе + ОбластьЗаголовокТаблицы = Шаблон.ПолучитьОбласть("Шапка"); + КонецЕсли; + + Возврат ОбластьЗаголовокТаблицы; + +КонецФункции + +// Формирует макет табличного документа на основание реквизитов справочника +// +Процедура ИнформациюПоКолонкамИзРеквизитовСправочника(ИмяОбъектаСопоставления, ИнформацияПоКолонкам) Экспорт + + ИнформацияПоКолонкам.Очистить(); + + МетаданныеСправочника= Метаданные.НайтиПоПолномуИмени(ИмяОбъектаСопоставления); + ОписаниеТиповСтрока = Новый ОписаниеТипов("Строка"); + + ТекстПримечания = ""; + + Позиция = 1; + Если НЕ МетаданныеСправочника.Автонумерация И МетаданныеСправочника.ДлинаКода > 0 Тогда + СоздатьКолонкуСтандартныеРеквизиты(ИнформацияПоКолонкам, МетаданныеСправочника, "Код", Позиция); + Позиция = Позиция + 1; + КонецЕсли; + + Если МетаданныеСправочника.ДлинаНаименования > 0 Тогда + СоздатьКолонкуСтандартныеРеквизиты(ИнформацияПоКолонкам, МетаданныеСправочника, "Наименование", Позиция); + Позиция = Позиция + 1; + КонецЕсли; + + Если МетаданныеСправочника.Иерархический Тогда + СоздатьКолонкуСтандартныеРеквизиты(ИнформацияПоКолонкам, МетаданныеСправочника, "Родитель", Позиция); + Позиция = Позиция + 1; + КонецЕсли; + + Если МетаданныеСправочника.Владельцы.Количество() > 0 Тогда + СоздатьКолонкуСтандартныеРеквизиты(ИнформацияПоКолонкам, МетаданныеСправочника, "Владелец", Позиция); + Позиция = Позиция + 1; + КонецЕсли; + + Для каждого Реквизит Из МетаданныеСправочника.Реквизиты Цикл + + Если Реквизит.Тип.СодержитТип(Тип("ХранилищеЗначения")) тогда + Продолжить; + КонецЕсли; + + ОписаниеТипаКолонки = ""; + + Если Реквизит.Тип.СодержитТип(Тип("Булево")) Тогда + ОписаниеТипаКолонки = НСтр("ru = 'Флаг, Да или 1 / Нет или 0'"); + ИначеЕсли Реквизит.Тип.СодержитТип(Тип("Число")) Тогда + ОписаниеТипаКолонки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Число, Длина: %1, Точность: %2'"), + Строка(Реквизит.Тип.КвалификаторыЧисла.Разрядность), + Строка(Реквизит.Тип.КвалификаторыЧисла.РазрядностьДробнойЧасти)); + ИначеЕсли Реквизит.Тип.СодержитТип(Тип("Строка")) Тогда + Если Реквизит.Тип.КвалификаторыСтроки.Длина > 0 Тогда + ДлинаСтроки = Строка(Реквизит.Тип.КвалификаторыСтроки.Длина); + ОписаниеТипаКолонки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Строка, макс. количество символов: %1'"), ДлинаСтроки); + Иначе + ОписаниеТипаКолонки = НСтр("ru = 'Строка неограниченой длины'"); + КонецЕсли; + ИначеЕсли Реквизит.Тип.СодержитТип(Тип("Дата")) Тогда + ОписаниеТипаКолонки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '%1'"),Строка(Реквизит.Тип.КвалификаторыДаты.ЧастиДаты)); + ИначеЕсли Реквизит.Тип.СодержитТип(Тип("УникальныйИдентификатор")) Тогда + ОписаниеТипаКолонки = НСтр("ru = 'УникальныйИдентификатор'"); + Иначе + //ПолучитьДанныеПоКолонкамСсылочногоТипа(Реквизит.Тип, ОписаниеТипаКолонки); + КонецЕсли; + + ШиринаКолонки = ШиринаКолонкиПоТипу(Реквизит.Тип); + Подсказка = ?(ЗначениеЗаполнено(Реквизит.Подсказка), Реквизит.Подсказка, Реквизит.Представление()) + Символы.ПС + ОписаниеТипаКолонки; + ОбязательноеПоле = ?(Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку, Истина, Ложь); + + СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить(); + СтрокаИнфоПроКолонки.ИмяКолонки = Реквизит.Имя; + СтрокаИнфоПроКолонки.ПредставлениеКолонки = Реквизит.Представление(); + СтрокаИнфоПроКолонки.ТипКолонки = Реквизит.Тип; + СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = ОбязательноеПоле; + СтрокаИнфоПроКолонки.Позиция = Позиция; + СтрокаИнфоПроКолонки.Видимость = Истина; + СтрокаИнфоПроКолонки.Примечание = Подсказка; + СтрокаИнфоПроКолонки.Ширина = ШиринаКолонки; + + Позиция = Позиция + 1; + + КонецЦикла; + +КонецПроцедуры + +Функция ШиринаКолонкиПоТипу(Тип) + + ШиринаКолонки = 20; + Если Тип.СодержитТип(Тип("Булево")) Тогда + ШиринаКолонки = 3; + ИначеЕсли Тип.СодержитТип(Тип("Число")) Тогда + ШиринаКолонки = Тип.КвалификаторыЧисла.Разрядность + 1; + ИначеЕсли Тип.СодержитТип(Тип("Строка")) Тогда + Если Тип.КвалификаторыСтроки.Длина > 0 Тогда + ШиринаКолонки = ?(Тип.КвалификаторыСтроки.Длина > 20, 20, Тип.КвалификаторыСтроки.Длина); + Иначе + ШиринаКолонки = 20; + КонецЕсли; + ИначеЕсли Тип.СодержитТип(Тип("Дата")) Тогда + ШиринаКолонки = 12; + ИначеЕсли Тип.СодержитТип(Тип("УникальныйИдентификатор")) Тогда + ШиринаКолонки = 20; + Иначе + Для каждого ТипОбъекта Из Тип.Типы() Цикл + МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипОбъекта); + СтруктураОбъекта = РазложитьПолноеИмяОбъекта(МетаданныеОбъекта.ПолноеИмя()); + Если СтруктураОбъекта.ТипОбъекта = "Справочник" Тогда + Если НЕ МетаданныеОбъекта.Автонумерация И МетаданныеОбъекта.ДлинаКода > 0 Тогда + ШиринаКолонки = МетаданныеОбъекта.ДлинаКода + 1; + КонецЕсли; + Если МетаданныеОбъекта.ДлинаНаименования > 0 Тогда + Если МетаданныеОбъекта.ДлинаНаименования > ШиринаКолонки Тогда + ШиринаКолонки = ?(МетаданныеОбъекта.ДлинаНаименования > 30, 30, МетаданныеОбъекта.ДлинаНаименования + 1); + КонецЕсли; + КонецЕсли; + ИначеЕсли СтруктураОбъекта.ТипОбъекта = "Перечисление" Тогда + ДлинаПредставления = СтрДлина(МетаданныеОбъекта.Представление()); + ШиринаКолонки = ?( ДлинаПредставления > 30, 30, ДлинаПредставления + 1); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Возврат ШиринаКолонки; + +КонецФункции + +Процедура СоздатьКолонкуСтандартныеРеквизиты(ИнформацияПоКолонкам, МетаданныеСправочника, ИмяКолонки, Позиция) + + Реквизит = МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки]; + Представление = МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки].Представление(); + ТипДанных = МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки].Тип.Типы()[0]; + ОписаниеТипа = МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки].Тип; + + ШиринаКолонки = 11; + + Если ТипДанных = Тип("Строка") Тогда + ПредставлениеТипа = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Строка (не более %1 символов)"), ОписаниеТипа.КвалификаторыСтроки.Длина); + ШиринаКолонки = ?(ОписаниеТипа.КвалификаторыСтроки.Длина < 30, ОписаниеТипа.КвалификаторыСтроки.Длина + 1, 30); + ИначеЕсли ТипДанных = Тип("Число") Тогда + ПредставлениеТипа = НСтр("ru = 'Число'"); + Иначе + Если МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки].Тип.Типы().Количество() = 1 Тогда + ПредставлениеТипа = Строка(ТипДанных); + Иначе + ПредставлениеТипа = ""; + Разделитель = ""; + Для каждого ТипДанные Из МетаданныеСправочника.СтандартныеРеквизиты[ИмяКолонки].Тип.Типы() Цикл + ПредставлениеТипа = ПредставлениеТипа + Разделитель + Строка(ТипДанные); + Разделитель = " или "; + КонецЦикла; + КонецЕсли; + КонецЕсли; + ТекстПримечания = Реквизит.Подсказка + Символы.ПС + ПредставлениеТипа; + + ОбязательнаДляЗаполнения = ?(Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку, Истина, Ложь); + СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить(); + СтрокаИнфоПроКолонки.ИмяКолонки = ИмяКолонки; + СтрокаИнфоПроКолонки.ПредставлениеКолонки = Представление; + СтрокаИнфоПроКолонки.ТипКолонки = ОписаниеТипа; + СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = ОбязательнаДляЗаполнения; + СтрокаИнфоПроКолонки.Позиция = Позиция; + СтрокаИнфоПроКолонки.Видимость = Истина; + СтрокаИнфоПроКолонки.Примечание = ТекстПримечания; + СтрокаИнфоПроКолонки.Ширина = ШиринаКолонки; + +КонецПроцедуры + +// Формирует ячейку макета по переданным параметрам +// +Процедура ЗаполнитьЯчейкуЗаголовкаМакета(Ячейка, Текст, Ширина, Подсказка, ОбязательноеПоле, Имя = "") Экспорт + + Ячейка.ТекущаяОбласть.Текст = Текст; + Ячейка.ТекущаяОбласть.Имя = Имя; + Ячейка.ТекущаяОбласть.ПараметрРасшифровки = Имя; + Ячейка.ТекущаяОбласть.ЦветФона = ЦветаСтиля.ЦветФонаШапкиОтчета; + Ячейка.ТекущаяОбласть.ШиринаКолонки = Ширина; + Ячейка.ТекущаяОбласть.Примечание.Текст = Подсказка; + Если ОбязательноеПоле Тогда + Ячейка.ТекущаяОбласть.Шрифт = Новый Шрифт(,,Истина); + Иначе + Ячейка.ТекущаяОбласть.Шрифт = Новый Шрифт(,,Ложь); + КонецЕсли; + +КонецПроцедуры + +// Заполняет таблицу с полной информаций о колонках в макете. Информация используется для построения таблицы сопоставления +Процедура СоздатьИнформациюПоКолонкамНаОснованиеШаблона(ОбластьЗаголовокТаблицы, ПараметрыЗагрузкиИзФайла, ИнформацияПоКолонкам) Экспорт + + ИнформацияПоКолонкам.Очистить(); + Если ПараметрыЗагрузкиИзФайла <> Неопределено Тогда + СоответствиеТипаДанныхКолонок = ПараметрыЗагрузкиИзФайла.ТипДанныхКолонки; + Иначе + СоответствиеТипаДанныхКолонок = новый Соответствие; + КонецЕсли; + + Для НомерКолонки = 1 По ОбластьЗаголовокТаблицы.ШиринаТаблицы Цикл + Ячейка = ОбластьЗаголовокТаблицы.ПолучитьОбласть(1, НомерКолонки, 1, НомерКолонки).ТекущаяОбласть; + + Если Найти(Ячейка.Имя, "R") > 0 И Найти(Ячейка.Имя, "C") > 0 Тогда + ИмяРеквизита = ?(ЗначениеЗаполнено(Ячейка.ПараметрРасшифровки), Ячейка.ПараметрРасшифровки, Ячейка.Текст); + ПредставлениеРеквизита = ?(ЗначениеЗаполнено(Ячейка.Текст), Ячейка.Текст, Ячейка.ПараметрРасшифровки); + Ассоциация = ?(ЗначениеЗаполнено(Ячейка.ПараметрРасшифровки), Ячейка.ПараметрРасшифровки, Ячейка.Текст); + Иначе + ИмяРеквизита = Ячейка.Имя; + ПредставлениеРеквизита = ?(ЗначениеЗаполнено(Ячейка.Текст), Ячейка.Текст, Ячейка.Имя); + Ассоциация = ?(ЗначениеЗаполнено(Ячейка.ПараметрРасшифровки), Ячейка.ПараметрРасшифровки, Ячейка.Имя); + КонецЕсли; + + ТипДанныхКолонки = Новый ОписаниеТипов("Строка"); + Если СоответствиеТипаДанныхКолонок <> Неопределено Тогда + ТипДанныхКолонкиПереопределенный = СоответствиеТипаДанныхКолонок.Получить(ИмяРеквизита); + Если ТипДанныхКолонкиПереопределенный <> Неопределено Тогда + ТипДанныхКолонки = ТипДанныхКолонкиПереопределенный; + КонецЕсли; + КонецЕсли; + + Если ЗначениеЗаполнено(ИмяРеквизита) Тогда + СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить(); + СтрокаИнфоПроКолонки.ИмяКолонки = ИмяРеквизита; + СтрокаИнфоПроКолонки.ПредставлениеКолонки = ПредставлениеРеквизита; + СтрокаИнфоПроКолонки.ТипКолонки = ТипДанныхКолонки; + СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = Ячейка.Шрифт.Жирный; + СтрокаИнфоПроКолонки.Позиция = НомерКолонки; + СтрокаИнфоПроКолонки.Ассоциация = ?(ЗначениеЗаполнено(Ассоциация), Ассоциация, ИмяРеквизита); + СтрокаИнфоПроКолонки.Видимость = Истина; + СтрокаИнфоПроКолонки.Примечание = Ячейка.Примечание.Текст; + СтрокаИнфоПроКолонки.Ширина = Ячейка.ШиринаКолонки; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +Процедура ДобавитьИнформациюПоКолонке(ИнформацияПоКолонкам, Имя, Представление, Тип, ОбязательнаДляЗаполнения, Позиция, Ассоциация = "") + СтрокаИнфоПроКолонки = ИнформацияПоКолонкам.Добавить(); + СтрокаИнфоПроКолонки.ИмяКолонки = Имя; + СтрокаИнфоПроКолонки.ПредставлениеКолонки = Представление; + СтрокаИнфоПроКолонки.ТипКолонки = Тип; + СтрокаИнфоПроКолонки.ОбязательнаДляЗаполнения = ОбязательнаДляЗаполнения; + СтрокаИнфоПроКолонки.Позиция = Позиция; + СтрокаИнфоПроКолонки.Ассоциация = ?(ЗначениеЗаполнено(Ассоциация), Ассоциация, Имя); + СтрокаИнфоПроКолонки.Видимость = Истина; +КонецПроцедуры + +// Создает таблицу значений по данным из шаблона и сохраняет ее во временное хранилище +// +Процедура ВыгрузитьДанныеДляТЧ(ШаблонСДанными, ИнформацияПоКолонкам, АдресЗагруженныхДанных) Экспорт + + ЗагружаемыеДанные = Новый ТаблицаЗначений; + + ОбластьЗаголовка = ОбластьЗаголовкаШаблонаТаблицы(ШаблонСДанными); + + Для каждого Колонка Из ИнформацияПоКолонкам Цикл + ЗагружаемыеДанные.Колонки.Добавить(Колонка.ИмяКолонки, Новый ОписаниеТипов("Строка"), Колонка.ПредставлениеКолонки); + КонецЦикла; + ОписаниеТипаЧисло = Новый ОписаниеТипов("Число"); + ОписаниеТипаСтрока = Новый ОписаниеТипов("Строка"); + ЗагружаемыеДанные.Колонки.Добавить("Идентификатор",ОписаниеТипаЧисло, "Идентификатор"); + ЗагружаемыеДанные.Колонки.Добавить("РезультатСопоставленияСтроки",ОписаниеТипаСтрока, "Результат"); + ЗагружаемыеДанные.Колонки.Добавить("ОписаниеОшибки",ОписаниеТипаСтрока, "Причина"); + + КорректировкаИдентификатора = 0; + Для НомерСтроки = 2 По ШаблонСДанными.ВысотаТаблицы Цикл + СтрокаТаблицыПустая = Истина; + + НоваяСтрока = ЗагружаемыеДанные.Добавить(); + НоваяСтрока.Идентификатор = НомерСтроки - 1 - КорректировкаИдентификатора; + Для НомерКолонки = 1 По ШаблонСДанными.ШиринаТаблицы Цикл + + Ячейка = ШаблонСДанными.ПолучитьОбласть(НомерСтроки,НомерКолонки,НомерСтроки,НомерКолонки).ТекущаяОбласть; + НайденнаяКолонка = НайтиИнформациюОКолонке(ИнформацияПоКолонкам, "Позиция", НомерКолонки); + Если НайденнаяКолонка <> Неопределено Тогда + ИмяКолонки = НайденнаяКолонка.ИмяКолонки; + НоваяСтрока[ИмяКолонки] = Ячейка.Текст; + + Если СтрокаТаблицыПустая Тогда + СтрокаТаблицыПустая = Не ЗначениеЗаполнено(Ячейка.Текст); + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + Если СтрокаТаблицыПустая Тогда + ЗагружаемыеДанные.Удалить(НоваяСтрока); + КорректировкаИдентификатора = КорректировкаИдентификатора + 1; + КонецЕсли; + КонецЦикла; + + АдресЗагруженныхДанных = ПоместитьВоВременноеХранилище(ЗагружаемыеДанные); +КонецПроцедуры + +// Заполняет информацию по колонкам и формирует шаблон по табличной части документа +// +Процедура ИнициализироватьЗагрузкуВТабличнуюЧасть(ПолноеИмяТабличнойЧасти, ИмяМакетаСШаблоном, ИнформацияПоКолонкам, ШаблонСДанными, Отказ) Экспорт + ИмяОбъекта = РазложитьПолноеИмяОбъекта(ПолноеИмяТабличнойЧасти); + + Попытка + ПараметрыЗагрузкиИзФайла = ПараметрыЗагрузкиИзФайлаВТЧ(ПолноеИмяТабличнойЧасти); + Исключение + КонецПопытки; + + Если ИмяОбъекта.ТипОбъекта = "Документ" Тогда + МенеджерОбъекта = Документы[ИмяОбъекта.НазваниеОбъекта]; + МетаданныеТЧ = Метаданные.Документы[ИмяОбъекта.НазваниеОбъекта].ТабличныеЧасти[ИмяОбъекта.ИмяТабличнойЧасти]; + + Попытка + МенеджерОбъекта.УстановитьПараметрыЗагрузкиИзФайлаВТЧ(ПараметрыЗагрузкиИзФайла); + Исключение + КонецПопытки; + + ПараметрыЗагрузки = ПараметрыЗагрузкиИзФайла; + МакетМетаданные = Метаданные.Документы[ИмяОбъекта.НазваниеОбъекта].Макеты.Найти(ИмяМакетаСШаблоном); + + МакетМетаданные= Метаданные.Документы[ИмяОбъекта.НазваниеОбъекта].Макеты.Найти("ЗагрузкаИзФайла"+ИмяОбъекта.ИмяТабличнойЧасти); + Если МакетМетаданные = Неопределено тогда + МакетМетаданные = Метаданные.Документы[ИмяОбъекта.НазваниеОбъекта].Макеты.Найти("ЗагрузкаИзФайла"); + КонецЕсли; + + Если МакетМетаданные <> Неопределено тогда + Макет = МенеджерОбъекта.ПолучитьМакет(МакетМетаданные.Имя); + Иначе + Отказ = Истина; + Возврат; + КонецЕсли; + + ЗаголовокТаблицы = ОбластьЗаголовкаШаблонаТаблицы(Макет); + Если ИнформацияПоКолонкам.Количество() = 0 Тогда + СоздатьИнформациюПоКолонкамНаОснованиеШаблона(ЗаголовокТаблицы, Неопределено, ИнформацияПоКолонкам); + + Для каждого Реквизит Из МетаданныеТЧ.Реквизиты Цикл + + Колонка = НайтиИнформациюОКолонке(ИнформацияПоКолонкам, "ИмяКолонки", Реквизит.Имя); + + Если Колонка <> Неопределено тогда + Колонка.ТипКолонки = Реквизит.Тип; + Если Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку тогда + Колонка.ОбязательнаДляЗаполнения = Истина; + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ШаблонСДанными.Вывести(ЗаголовокТаблицы); + КонецЕсли; + +КонецПроцедуры + +// Создает шапку бланка по информации о колонках +// +Функция ШапкаБланкаДляЗаполненияПоИнформацииПоКолонкам(ИнформацияПоКолонкам, СПримечаниями = Истина) Экспорт + + ТабличныйДокумент = новый ТабличныйДокумент; + + ПростойШаблон = Обработки.ЗагрузкаДанныхИзФайла.ПолучитьМакет("ПростойШаблон"); + ОбластьЗаголовок = ПростойШаблон.ПолучитьОбласть("Заголовок"); + ИнформацияПоКолонкам.Сортировать("Позиция"); + + Для Позиция = 0 По ИнформацияПоКолонкам.Количество() -1 Цикл + Колонка = ИнформацияПоКолонкам.Получить(Позиция); + + Если Колонка.Видимость = Истина Тогда + ОбластьЗаголовок.ТекущаяОбласть.Имя = Колонка.ИмяКолонки; + ОбластьЗаголовок.ТекущаяОбласть.Расшифровка = Колонка.Ассоциация; + Если ЗначениеЗаполнено(Колонка.Синоним) Тогда + ОбластьЗаголовок.Параметры.Заголовок = Колонка.Синоним; + Иначе + ОбластьЗаголовок.Параметры.Заголовок = Колонка.ПредставлениеКолонки; + КонецЕсли; + Если Колонка.ОбязательнаДляЗаполнения Тогда + ОбластьЗаголовок.ТекущаяОбласть.Шрифт = Новый Шрифт(,, Истина); + Иначе + ОбластьЗаголовок.ТекущаяОбласть.Шрифт = Новый Шрифт(,, Ложь); + КонецЕсли; + Если Колонка.Ширина = 0 Тогда + ОбластьЗаголовок.ТекущаяОбласть.ШиринаКолонки = ШиринаКолонкиПоТипу(Колонка.ТипКолонки); + Иначе + ОбластьЗаголовок.ТекущаяОбласть.ШиринаКолонки = Колонка.Ширина; + КонецЕсли; + Если СПримечаниями Тогда + ОбластьЗаголовок.ТекущаяОбласть.Примечание.Текст = Колонка.Примечание; + КонецЕсли; + ТабличныйДокумент.Присоединить(ОбластьЗаголовок); + КонецЕсли; + КонецЦикла; + + Возврат ТабличныйДокумент; +КонецФункции + +// Возвращает полное имя объекта в виде структуры +// +Функция ПолноеИмяОбъектаТабличнаяЧасть(ИмяОбъекта) Экспорт + + Результат = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИмяОбъекта,"."); + Если Результат.Количество() = 4 тогда + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + ИначеЕсли Результат.Количество() = 3 тогда + Если Результат[2] <> "ТабличнаяЧасть" Тогда + ИмяОбъекта = Результат[0] + "." + Результат[1] + ".ТабличнаяЧасть." + Результат[2]; + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + ИначеЕсли Результат[1] = "ТабличнаяЧасть" Тогда + ИмяОбъекта = "Документ." + Результат[0] + ".ТабличнаяЧасть." + Результат[2]; + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + ИмяОбъекта = "Справочник." + Результат[0] + ".ТабличнаяЧасть." + Результат[2]; + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + Возврат Неопределено; + КонецЕсли; + + Возврат Неопределено; + ИначеЕсли Результат.Количество() = 2 тогда + Если Результат[0] <> "Документ" или Результат[0] <> "Справочник" Тогда + ИмяОбъекта = "Документ." + Результат[0] + ".ТабличнаяЧасть." + Результат[1]; + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + ИмяОбъекта = "Справочник." + Результат[0] + ".ТабличнаяЧасть." + Результат[1]; + Объект = Метаданные.НайтиПоПолномуИмени(ИмяОбъекта); + Если Объект <> Неопределено Тогда + Возврат ИмяОбъекта; + КонецЕсли; + Возврат Неопределено; + КонецЕсли; + НазваниеОбъектаМетаданных = Результат[0]; + ИмяТабличнойЧасти = Результат[1]; + ТипОбъектаМетаданных = Метаданные.Справочники.Найти(НазваниеОбъектаМетаданных); + Если ТипОбъектаМетаданных <> Неопределено Тогда + ТипОбъектаМетаданных = "Справочник"; + Иначе + ТипОбъектаМетаданных = Метаданные.Документы.Найти(НазваниеОбъектаМетаданных); + Если ТипОбъектаМетаданных <> Неопределено Тогда + ТипОбъектаМетаданных = "Документ"; + Иначе + Возврат Неопределено; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +// Возвращает имя объекта в виде структуры +// +// Параметры: +// ПолноеИмяОбъекта - Структура - Имя объекта +// * ТипОбъекта - Строка - Тип объекта +// * НазваниеОбъекта - Строка - Название объекта +// * ИмяТабличнойЧасти - Строка - Имя табличной части +Функция РазложитьПолноеИмяОбъекта(ПолноеИмяОбъекта) Экспорт + Результат = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПолноеИмяОбъекта, "."); + + ИмяОбъекта = Новый Структура; + ИмяОбъекта.Вставить("ТипОбъекта"); + ИмяОбъекта.Вставить("НазваниеОбъекта"); + ИмяОбъекта.Вставить("ИмяТабличнойЧасти"); + + Если Результат.Количество() = 2 Тогда + Если Результат[0] = "Документ" ИЛИ Результат[0] = "Справочник" ИЛИ Результат[0] = "БизнесПроцесс" ИЛИ + Результат[0] = "Перечисление" ИЛИ Результат[0] = "ПланВидовХарактеристик" ИЛИ Результат[0] = "ПланСчетов" Тогда + ИмяОбъекта.ТипОбъекта = Результат[0]; + ИмяОбъекта.НазваниеОбъекта = Результат[1]; + Иначе + ИмяОбъекта.ТипОбъекта = ОпределитьТипОбъектаМетаданныхПоИмени(Результат[0]); + ИмяОбъекта.НазваниеОбъекта = Результат[0]; + ИмяОбъекта.ИмяТабличнойЧасти = Результат[1]; + КонецЕсли; + ИначеЕсли Результат.Количество() = 3 Тогда + ИмяОбъекта.ТипОбъекта = Результат[0]; + ИмяОбъекта.НазваниеОбъекта = Результат[1]; + ИмяОбъекта.ИмяТабличнойЧасти = Результат[2]; + ИначеЕсли Результат.Количество() = 4 Тогда + ИмяОбъекта.ТипОбъекта = Результат[0]; + ИмяОбъекта.НазваниеОбъекта = Результат[1]; + ИмяОбъекта.ИмяТабличнойЧасти = Результат[3]; + ИначеЕсли Результат.Количество() = 1 Тогда + ИмяОбъекта.ТипОбъекта = ОпределитьТипОбъектаМетаданныхПоИмени(Результат[0]); + ИмяОбъекта.НазваниеОбъекта = Результат[0]; + КонецЕсли; + + Возврат ИмяОбъекта; + +КонецФункции + +Функция ОпределитьТипОбъектаМетаданныхПоИмени(Имя) + Для каждого Объект Из Метаданные.Справочники Цикл + Если Объект.Имя = Имя Тогда + Возврат "Справочник"; + КонецЕсли; + КонецЦикла; + + Для каждого Объект Из Метаданные.Документы Цикл + Если Объект.Имя = Имя Тогда + Возврат "Документ"; + КонецЕсли; + КонецЦикла; + + Возврат Неопределено; +КонецФункции + +// Загружает данные из файла в таблицу +// +Процедура ЗаполнитьТаблицуПоЗагруженнымДаннымИзФайла(ДанныеИзФайла, ШаблонСДанными, ИнформацияПоКолонкам) Экспорт + + СтрокаЗаголовок= ДанныеИзФайла.Получить(0); + СоответствиеКолонок = Новый Соответствие; + + Для каждого Колонка Из ДанныеИзФайла.Колонки Цикл + НайденнаяКолонка = НайтиИнформациюОКолонке(ИнформацияПоКолонкам, "Синоним", СтрокаЗаголовок[Колонка.Имя]); + Если НайденнаяКолонка = Неопределено Тогда + НайденнаяКолонка = НайтиИнформациюОКолонке(ИнформацияПоКолонкам, "ПредставлениеКолонки", СтрокаЗаголовок[Колонка.Имя]); + КонецЕсли; + Если НайденнаяКолонка <> Неопределено Тогда + СоответствиеКолонок.Вставить(НайденнаяКолонка.Позиция, Колонка.Имя); + КонецЕсли; + КонецЦикла; + + Для Индекс= 1 По ДанныеИзФайла.Количество() - 1 Цикл + СтрокаТЗ = ДанныеИзФайла.Получить(Индекс); + + Для НомерКолонки =1 По ШаблонСДанными.ШиринаТаблицы Цикл + КолонкаВТаблице = СоответствиеКолонок.Получить(НомерКолонки); + Колонка = ИнформацияПоКолонкам.Найти(НомерКолонки, "Позиция"); + Если Колонка <> Неопределено И Колонка.Видимость = Ложь Тогда + Продолжить; + КонецЕсли; + Ячейка = ШаблонСДанными.ПолучитьОбласть(2, НомерКолонки, 2, НомерКолонки); + Если КолонкаВТаблице <> Неопределено тогда + Ячейка.ТекущаяОбласть.Текст = СтрокаТЗ[КолонкаВТаблице]; + Ячейка.ТекущаяОбласть.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Обрезать; + Иначе + Ячейка.ТекущаяОбласть.Текст = ""; + КонецЕсли; + Если НомерКолонки = 1 Тогда + ШаблонСДанными.Вывести(Ячейка); + иначе + ШаблонСДанными.Присоединить(Ячейка); + КонецЕсли; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +// Загружает файл в таблицу +// +Процедура ЗагрузитьФайлВТаблицу(ПараметрыВызоваСервера, АдресХранилища) Экспорт + + Расширение = ПараметрыВызоваСервера.Расширение; + ШаблонСДанными = ПараметрыВызоваСервера.ШаблонСДанными; + ИмяВременногоФайла = ПараметрыВызоваСервера.ИмяВременногоФайла; + ИнформацияПоКолонкам = ПараметрыВызоваСервера.ИнформацияПоКолонкам; + + Если Расширение = "xlsx" Тогда + ЗагрузитьФайлExcel2007ВТаблицу(ИмяВременногоФайла, ШаблонСДанными, ИнформацияПоКолонкам); + ИначеЕсли Расширение = "csv" Тогда + ЗагрузитьCSVФайлВТаблицу(ИмяВременногоФайла, ШаблонСДанными, ИнформацияПоКолонкам); + Иначе + ШаблонСДанными.Прочитать(ИмяВременногоФайла); + КонецЕсли; + + АдресХранилища = ПоместитьВоВременноеХранилище(ШаблонСДанными, АдресХранилища); + +КонецПроцедуры + +#Область ЗагрузкаФайловФорматаExcel2007 + +// Загружает файл формата Excel 2007 в шаблон +// +Процедура ЗагрузитьФайлExcel2007ВТаблицу(ПутьКФайлу, ШаблонСДанными, ИнформацияПоКолонкам) Экспорт + Файл = Новый Файл(ПутьКФайлу); + Если НЕ Файл.Существует() Тогда + Возврат; + КонецЕсли; + + ФайлЭкзель = ПутьКФайлу; + ВременныйКаталог = КаталогВременныхФайлов() + ПолучитьРазделительПути() + "excel2007"; + УдалитьФайлы(ВременныйКаталог); + + РаспаковатьФайл(ФайлЭкзель, ВременныйКаталог); + + ФайлСтрок = ВременныйКаталог + ПолучитьРазделительПути() + "xl" + ПолучитьРазделительПути() +"sharedStrings.xml"; + СписокСтрок = ПрочитатьСписокСтрок(ФайлСтрок); + + ФайлФорматов = ВременныйКаталог + ПолучитьРазделительПути() + "xl" + ПолучитьРазделительПути() +"styles.xml"; + СписокФорматов = ПрочитатьСписокФорматов(ФайлФорматов); + + НомерЛиста = 1; + ФайлЛиста = ВременныйКаталог + ПолучитьРазделительПути() + "xl" + ПолучитьРазделительПути() + "worksheets" + ПолучитьРазделительПути() + "sheet" + НомерЛиста + ".xml"; + Файл = Новый Файл(ФайлЛиста); + Если НЕ Файл.Существует() Тогда + Возврат; + КонецЕсли; + + МассивБукв = ПолучитьМассивБукв(); + ДеревоДанных = ПолучитьДеревоДанных(ФайлЛиста); + + Таблица = Новый ТаблицаЗначений; + + //создаем колонки + Колонки = ДеревоДанных.Строки.Найти("dimension", "Объект", Истина); + Счетчик = 0; + Для Каждого Строка Из Колонки.Строки Цикл + Если Строка.Объект = "ref" Тогда + Диапозон = Строка.Значение; + //поиск максимального значения колонки + Счетчик = МассивБукв.Количество(); + Пока Счетчик > 0 Цикл + Счетчик = Счетчик - 1; + Если Найти(Диапозон, МассивБукв[Счетчик]) > 0 Тогда + Для Индекс = 0 По Счетчик Цикл + Таблица.Колонки.Добавить(МассивБукв[Индекс]); + КонецЦикла; + Счетчик = 0; + КонецЕсли; + КонецЦикла; + Прервать; + КонецЕсли; + КонецЦикла; + + //читаем строки + СтрСтрок = ДеревоДанных.Строки.Найти("sheetData", "Объект", Истина); + Для Каждого Строка Из СтрСтрок.Строки Цикл + НоваяСтрока = Таблица.Добавить(); + + Для Каждого Колонка Из Строка.Строки Цикл + Если Колонка.Объект <> "c" Тогда + Продолжить; + КонецЕсли; + + ЗначениеЯчейки = Неопределено; + + СтрЗначение = Колонка.Строки.Найти("v", "Объект"); + Если СтрЗначение <> Неопределено Тогда + ЗначениеЯчейки = СтрЗначение.Значение; + КонецЕсли; + + СтрЗначение = Колонка.Строки.Найти("t", "Объект"); + Если СтрЗначение <> Неопределено И СтрЗначение.Значение = "s" И ЗначениеЯчейки <> Неопределено Тогда + Позиция = Число(ЗначениеЯчейки); + Если СписокСтрок.Количество() > Позиция Тогда + ЗначениеЯчейки = СписокСтрок.Получить(Позиция).Значение; + КонецЕсли; + КонецЕсли; + + + сОбъект = Колонка.Строки.Найти("s", "Объект"); + Если сОбъект <> Неопределено Тогда + СтрЗначение = СтрокуВЧисло(Колонка.Строки.Найти("s", "Объект").Значение, -1); + Если СтрЗначение >= 0 Тогда + ИмяФормата = СписокФорматов.Получить(СтрЗначение); + Если ИмяФормата = "Дата" ИЛИ ИмяФормата = "ДатаВремя" ИЛИ ИмяФормата = "Время" Тогда + ПозицияРазделителя = Найти(ЗначениеЯчейки, "."); + Если ПозицияРазделителя > 0 Тогда + КоличествоДней = СтрокуВЧисло(Лев(ЗначениеЯчейки, ПозицияРазделителя - 1)) * 86400 - 2 * 86400; + КоличествоСекунд = СтрокуВЧисло(Сред(ЗначениеЯчейки, ПозицияРазделителя + 1)) - 2 * 60; + Иначе + КоличествоДней = СтрокуВЧисло(ЗначениеЯчейки) * 86400 - 2 * 86400; + КоличествоСекунд = 0; + КонецЕсли; + ПолученнаяДата = Дата(1900, 1, 1, 0, 0, 0) + КоличествоДней + КоличествоСекунд; + Если ИмяФормата = "Дата" Тогда + ЗначениеЯчейки = Формат(ПолученнаяДата, "ДЛФ=D"); + ИначеЕсли ИмяФормата = "ДатаВремя" Тогда + ЗначениеЯчейки = Формат(ПолученнаяДата, "ДЛФ=DT"); + ИначеЕсли ИмяФормата = "Время" Тогда + ЗначениеЯчейки = Формат(ПолученнаяДата, "ДЛФ=T"); + КонецЕсли; + ИначеЕсли ИмяФормата = "Число" Тогда + ЗначениеЯчейки = СтрокуВЧисло(ЗначениеЯчейки); + КонецЕсли; + КонецЕсли; + КонецЕсли; + + //поиск колонки + СтрЗначение = Колонка.Строки.Найти("r", "Объект"); + Если СтрЗначение <> Неопределено Тогда + ИмяКолонки = СтрЗначение.Значение; + КонецЕсли; + ИндексСтроки = Неопределено; + Счетчик = МассивБукв.Количество(); + Пока Счетчик > 0 Цикл + Счетчик = Счетчик - 1; + Если Найти(ИмяКолонки, МассивБукв[Счетчик])>0 Тогда + ИндексСтроки = Счетчик; + Счетчик = 0; + КонецЕсли; + КонецЦикла; + + НоваяСтрока[МассивБукв[ИндексСтроки]] = ЗначениеЯчейки; + КонецЦикла; + КонецЦикла; + + ЗаполнитьТаблицуПоЗагруженнымДаннымИзФайла(Таблица, ШаблонСДанными, ИнформацияПоКолонкам); + +КонецПроцедуры + +Процедура РаспаковатьФайл(Файл, Каталог) + Зип = Новый ЧтениеZipФайла; + Зип.Открыть(Файл); + Зип.ИзвлечьВсе(Каталог, РежимВосстановленияПутейФайловZIP.Восстанавливать); +КонецПроцедуры + +Функция ПолучитьМассивБукв() + МассивБукв = Новый Массив; + МассивБукв.Добавить("A"); + МассивБукв.Добавить("B"); + МассивБукв.Добавить("C"); + МассивБукв.Добавить("D"); + МассивБукв.Добавить("E"); + МассивБукв.Добавить("F"); + МассивБукв.Добавить("G"); + МассивБукв.Добавить("H"); + МассивБукв.Добавить("I"); + МассивБукв.Добавить("J"); + МассивБукв.Добавить("K"); + МассивБукв.Добавить("L"); + МассивБукв.Добавить("M"); + МассивБукв.Добавить("N"); + МассивБукв.Добавить("O"); + МассивБукв.Добавить("P"); + МассивБукв.Добавить("Q"); + МассивБукв.Добавить("R"); + МассивБукв.Добавить("S"); + МассивБукв.Добавить("T"); + МассивБукв.Добавить("U"); + МассивБукв.Добавить("V"); + МассивБукв.Добавить("W"); + МассивБукв.Добавить("X"); + МассивБукв.Добавить("Y"); + МассивБукв.Добавить("Z"); + + Возврат МассивБукв; +КонецФункции + +Функция ПрочитатьСписокСтрок(ФайлСтрок) + Строки = Новый СписокЗначений; + + Хмл = Новый ЧтениеXML; + Хмл.ОткрытьФайл(ФайлСтрок); + + Пока Хмл.Прочитать() Цикл + Если Хмл.ТипУзла = ТипУзлаXML.Текст Тогда + Строки.Добавить(Хмл.Значение); + КонецЕсли; + КонецЦикла; + + Хмл.Закрыть(); + + Возврат Строки; +КонецФункции + +Функция ПолучитьДеревоДанных(Файл) + + ДеревоДанных = Новый ДеревоЗначений; + ДеревоДанных.Колонки.Добавить("Объект"); + ДеревоДанных.Колонки.Добавить("Значение"); + + ЧтениеXML = Новый ЧтениеXML; + ЧтениеXML.ОткрытьФайл(Файл); + + ТекЭлемент = Неопределено; + ТекБаза = Неопределено; + + Пока ЧтениеXML.Прочитать() Цикл + Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда + РежимЗагрузки = ЧтениеXML.Имя; + + Если ТекЭлемент = Неопределено Тогда + ТекЭлемент = ДеревоДанных.Строки.Добавить(); + ТекЭлемент.Объект = РежимЗагрузки; + Иначе + ТекЭлемент = ТекЭлемент.Строки.Добавить(); + ТекЭлемент.Объект = РежимЗагрузки; + КонецЕсли; + + ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда + Если ТекЭлемент = Неопределено Тогда + ТекЭлемент = Неопределено; + Иначе + ТекЭлемент = ТекЭлемент.Родитель; + КонецЕсли; + ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда + ТекЭлемент.Значение = ЧтениеXML.Значение; + КонецЕсли; + + Для Индекс = 0 По ЧтениеXML.КоличествоАтрибутов() - 1 Цикл + Строка = ТекЭлемент.Строки.Добавить(); + Строка.Объект = ЧтениеXML.ИмяАтрибута(Индекс); + Строка.Значение = ЧтениеXML.ЗначениеАтрибута(Индекс); + КонецЦикла; + КонецЦикла; + + ЧтениеXML.Закрыть(); + + Возврат ДеревоДанных; +КонецФункции + +Функция ПрочитатьСписокФорматов(ФайлФорматов) + + Хмл = Новый ЧтениеXML; + Хмл.ОткрытьФайл(ФайлФорматов); + ОписаниеФорматов = Новый Соответствие; + Позиция = -1; + + Пока Хмл.Прочитать() Цикл + Если Хмл.ТипУзла = ТипУзлаXML.НачалоЭлемента и Хмл.Имя = "xf" Тогда + // Описание формата даты http://social.msdn.microsoft.com/Forums/office/en-US/e27aaf16-b900-4654-8210-83c5774a179c/xlsx-numfmtid-predefined-id-14-doesnt-match?forum=oxmlsdk + Если Хмл.ЗначениеАтрибута("numFmtId") <> Неопределено Тогда + НомерФормата = Число(Хмл.ЗначениеАтрибута("numFmtId")); + Если НомерФормата > 0 И НомерФормата < 12 Тогда + ОписаниеФорматов.Вставить(Позиция, "Число"); + ИначеЕсли НомерФормата > 13 И НомерФормата <= 17 Тогда + ОписаниеФорматов.Вставить(Позиция, "Дата"); + ИначеЕсли НомерФормата >= 18 И НомерФормата <= 21 Тогда + ОписаниеФорматов.Вставить(Позиция, "Время"); + ИначеЕсли НомерФормата = 22 ИЛИ НомерФормата = 165 ИЛИ НомерФормата = 166 Тогда + ОписаниеФорматов.Вставить(Позиция, "ДатаВремя"); + Иначе + ОписаниеФорматов.Вставить(Позиция, "Строка"); + КонецЕсли; + КонецЕсли; + Позиция = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Хмл.Закрыть(); + + Возврат ОписаниеФорматов; + +КонецФункции + +// Превращает строку в число без вызова исключений. Стандартная функция преобразования +// Число() строго контролирует отсутствие каких либо символов кроме числовых. +// +Функция СтрокуВЧисло(Значение, ЗначениеПоУмолчанию = 0) + + Если Значение ="0" Тогда + // Представление значения по умолчанию обрабатываем отдельно + Результат = 0 + Иначе + СтепеньЧисла = 0; + Позиция = Найти(Значение, "E"); + Если Позиция > 0 Тогда + СтепеньЧисла = Сред(Значение, Позиция + 1); + Значение = Лев(Значение, Позиция - 1); + КонецЕсли; + + ЦелевойТип = Новый ОписаниеТипов("Число"); + Результат = ЦелевойТип.ПривестиЗначение(Значение); + + Если СтепеньЧисла <> 0 Тогда + Результат = Результат * Pow(10, СтепеньЧисла); + КонецЕсли; + КонецЕсли; + + Возврат ?(Результат = 0, ЗначениеПоУмолчанию, Результат); +КонецФункции + +#КонецОбласти + +#Область РаботаСCSVФайлами + +// Загружает файл формата CSV в шаблон +// +Процедура ЗагрузитьCSVФайлВТаблицу(ИмяФайла, ШаблонСДанными, ИнформацияПоКолонкам) Экспорт + + Файл = новый Файл(ИмяФайла); + Если НЕ Файл.Существует() Тогда + Возврат; + КонецЕсли; + + ЧтениеТекста = Новый ЧтениеТекста(ИмяФайла); + Строка = ЧтениеТекста.ПрочитатьСтроку(); + Если Строка = Неопределено Тогда + ТекстСообщения = НСтр("ru = 'Не получилось загрузить данные из этого файла. Убедитесь в корректности данных в файле.'"); + Возврат; + КонецЕсли; + + КолонкиШапки = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивСлов(Строка, ";"); + Источник = Новый ТаблицаЗначений; + + + Для каждого Колонка Из КолонкиШапки Цикл + + НайденнаяКолонка = НайтиИнформациюОКолонке(ИнформацияПоКолонкам, "ПредставлениеКолонки", Колонка); + + Если НайденнаяКолонка <> Неопределено Тогда + НоваяКолонка = Источник.Колонки.Добавить(); + НоваяКолонка.Имя = НайденнаяКолонка.ИмяКолонки; + НоваяКолонка.Заголовок = Колонка; + КонецЕсли; + КонецЦикла; + + Если Источник.Колонки.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Пока Строка <> Неопределено Цикл + НоваяСтрока = Источник.Добавить(); + Позиция = Найти(Строка, ";"); + Индекс = 0; + Пока Позиция > 0 Цикл + Если Источник.Колонки.Количество() < Индекс + 1 Тогда + Прервать; + КонецЕсли; + НоваяСтрока[Индекс] = Лев(Строка, Позиция - 1); + Строка = Сред(Строка, Позиция + 1); + Позиция = Найти(Строка, ";"); + Индекс = Индекс + 1; + КонецЦикла; + Если Источник.Колонки.Количество() = Индекс + 1 Тогда + НоваяСтрока[Индекс] = Строка; + КонецЕсли; + + Строка = ЧтениеТекста.ПрочитатьСтроку(); + КонецЦикла; + + ЗаполнитьТаблицуПоЗагруженнымДаннымИзФайла(Источник, ШаблонСДанными, ИнформацияПоКолонкам); + +КонецПроцедуры + +// Сохраняет файл формата CSV в шаблон +// +Процедура СохранитьТаблицуВCSVФайл(ПутьКФайлу, ИнформацияПоКолонкам) Экспорт + + ФорматЗаголовкаДляCSV = ""; + + Для каждого Колонка Из ИнформацияПоКолонкам Цикл + ФорматЗаголовкаДляCSV = ФорматЗаголовкаДляCSV + Колонка.ПредставлениеКолонки + ";"; + КонецЦикла; + + Если СтрДлина(ФорматЗаголовкаДляCSV) > 0 Тогда + ФорматЗаголовкаДляCSV = Лев(ФорматЗаголовкаДляCSV, СтрДлина(ФорматЗаголовкаДляCSV)-1); + КонецЕсли; + + Файл = Новый ЗаписьТекста(ПутьКФайлу); + Файл.ЗаписатьСтроку(ФорматЗаголовкаДляCSV); + Файл.Закрыть(); + +КонецПроцедуры + +#КонецОбласти + +#Область ДлительныеОперации + +// Сохраняет загруженные и сопоставленные данные в справочник +// +Процедура ЗаписатьСопоставленныеДанные(ПараметрыВыгрузки, АдресХранилища) Экспорт + + СопоставленныеДанные = ПараметрыВыгрузки.СопоставленныеДанные; + ИмяОбъектаСопоставления =ПараметрыВыгрузки.ИмяОбъектаСопоставления; + ПараметрыЗагрузки = ПараметрыВыгрузки.ПараметрыЗагрузки; + ИнформацияПоКолонкам = ПараметрыВыгрузки.ИнформацияПоКолонкам; + + СоздаватьЕслиНеСопоставлено = ПараметрыЗагрузки.СоздаватьЕслиНеСопоставлено; + ОбновлятьСуществующие = ПараметрыЗагрузки.ОбновлятьСуществующие; + + ТипСтрока = Новый ОписаниеТипов("Строка"); + + ИмяСправочника = РазложитьПолноеИмяОбъекта(ИмяОбъектаСопоставления).НазваниеОбъекта; + МенеджерСправочника = Справочники[ИмяСправочника]; + + НомерСтроки = 0; + ВсегоСтрок = СопоставленныеДанные.Количество(); + Для каждого СтрокаТаблицы Из СопоставленныеДанные Цикл + НомерСтроки = НомерСтроки + 1; + Попытка + НачатьТранзакцию(); + Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ОбъектСопоставления) Тогда + Если СоздаватьЕслиНеСопоставлено Тогда + ЭлементСправочника = МенеджерСправочника.СоздатьЭлемент(); + СтрокаТаблицы.ОбъектСопоставления = ЭлементСправочника; + СтрокаТаблицы.РезультатСопоставленияСтроки = "Создан"; + Иначе + СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен"; + УстановитьПроцентПрогресса(ВсегоСтрок, НомерСтроки); + Продолжить; + КонецЕсли; + Иначе + Если НЕ ОбновлятьСуществующие Тогда + СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен"; + УстановитьПроцентПрогресса(ВсегоСтрок, НомерСтроки); + Продолжить; + КонецЕсли; + + Блокировка = Новый БлокировкаДанных; + ЭлементБлокировки = Блокировка.Добавить("Справочник." + ИмяСправочника); + ЭлементБлокировки.УстановитьЗначение("Ссылка", СтрокаТаблицы.ОбъектСопоставления); + + ЭлементСправочника = СтрокаТаблицы.ОбъектСопоставления.ПолучитьОбъект(); + СтрокаТаблицы.РезультатСопоставленияСтроки = "Обновлен"; + Если ЭлементСправочника = Неопределено Тогда + ТексСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Номенклатура с артикулом %1 не существует.'"), СтрокаТаблицы.Артикул); + ВызватьИсключение ТексСообщения; + КонецЕсли; + КонецЕсли; + + Для каждого Колонка из ИнформацияПоКолонкам Цикл + ЭлементСправочника[Колонка.ИмяКолонки] = СтрокаТаблицы[Колонка.ИмяКолонки]; + КонецЦикла; + + Если ЭлементСправочника.ПроверитьЗаполнение() Тогда + ЭлементСправочника.Записать(); + ЗафиксироватьТранзакцию(); + Иначе + СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен"; + СообщенияПользователю = ПолучитьСообщенияПользователю(Истина); + + Если СообщенияПользователю.Количество() > 0 Тогда + ТекстСообщений = ""; + Для каждого СообщениеПользователю Из СообщенияПользователю Цикл + ТекстСообщений = текстСообщений + СообщениеПользователю.Текст + Символы.ПС; + КонецЦикла; + СтрокаТаблицы.ОписаниеОшибки = ТекстСообщений; + КонецЕсли; + + ОтменитьТранзакцию(); + + КонецЕсли; + + УстановитьПроцентПрогресса(ВсегоСтрок, НомерСтроки); + Исключение + ОтменитьТранзакцию(); + СтрокаТаблицы.РезультатСопоставленияСтроки = "Пропущен"; + СтрокаТаблицы.ОписаниеОшибки = НСтр("ru = 'Невозможна запись из-за некорректности данных'"); + КонецПопытки; + + КонецЦикла; + + АдресХранилища = ПоместитьВоВременноеХранилище(СопоставленныеДанные, АдресХранилища); + +КонецПроцедуры + +Процедура УстановитьПроцентПрогресса(Всего, НомерСтроки) + Процент = НомерСтроки * 50 / Всего; + МодульДлительныеОперации = ОбщегоНазначения.ОбщийМодуль("ДлительныеОперации"); + МодульДлительныеОперации.СообщитьПрогресс(Процент); +КонецПроцедуры + +// Формирует отчет о загрузке в фоне +// +Процедура СформироватьОтчетОЗагрузкеФон(ПараметрыВыгрузки, АдресХранилища) Экспорт + + ТаблицаОтчет = ПараметрыВыгрузки.ТаблицаОтчет; + СопоставленныеДанные = ПараметрыВыгрузки.СопоставленныеДанные; + ИнформацияПоКолонкам = ПараметрыВыгрузки.ИнформацияПоКолонкам; + ШаблонСДанными = ПараметрыВыгрузки.ШаблонСДанными; + ТипОтчета = ПараметрыВыгрузки.ТипОтчета; + РассчитыватьПроцентПрогресса = ПараметрыВыгрузки.РассчитыватьПроцентПрогресса; + + Если Не ЗначениеЗаполнено(ТипОтчета) Тогда + ТипОтчета = "ВсеЭлементы"; + КонецЕсли; + + СформироватьМакетОтчета(ТаблицаОтчет, ШаблонСДанными); + + ОбластьЗаголовка = ОбластьЗаголовкаШаблонаТаблицы(ТаблицаОтчет); + + КоличествоСозданных = 0; + КоличествоОбновленных = 0; + КоличествоПропущенных = 0; + КоличествоПропущенныхСОшибкой = 0; + Для НомерСтроки = 1 По СопоставленныеДанные.Количество() Цикл + Строка = СопоставленныеДанные.Получить(НомерСтроки - 1); + + Ячейка = ТаблицаОтчет.ПолучитьОбласть(НомерСтроки + 1, 1, НомерСтроки + 1, 1); + Ячейка.ТекущаяОбласть.Текст = Строка.РезультатСопоставленияСтроки; + Ячейка.ТекущаяОбласть.Расшифровка = Строка.ОбъектСопоставления; + Ячейка.ТекущаяОбласть.Примечание.Текст = Строка.ОписаниеОшибки; + Если Строка.РезультатСопоставленияСтроки = "Создан" Тогда + Ячейка.ТекущаяОбласть.ЦветТекста = ЦветаСтиля.РезультатУспехЦвет; + КоличествоСозданных = КоличествоСозданных + 1; + ИначеЕсли Строка.РезультатСопоставленияСтроки = "Обновлен" Тогда + Ячейка.ТекущаяОбласть.ЦветТекста = ЦветаСтиля.ИзмененноеЗначениеРеквизитаЦвет; + КоличествоОбновленных = КоличествоОбновленных + 1; + Иначе + Ячейка.ТекущаяОбласть.ЦветТекста = ЦветаСтиля.ФайлЗанятыйДругимПользователем; + КоличествоПропущенных = КоличествоПропущенных + 1; + Если ЗначениеЗаполнено(Строка.ОписаниеОшибки) Тогда + КоличествоПропущенныхСОшибкой = КоличествоПропущенныхСОшибкой + 1; + КонецЕсли; + КонецЕсли; + + Если ТипОтчета = "Новые" И Строка.РезультатСопоставленияСтроки <> "Создан" Тогда + Продолжить; + КонецЕсли; + + Если ТипОтчета = "Обновленные" И Строка.РезультатСопоставленияСтроки <> "Обновлен" Тогда + Продолжить; + КонецЕсли; + + Если ТипОтчета = "Пропущенные" И Строка.РезультатСопоставленияСтроки <> "Пропущен" Тогда + Продолжить; + КонецЕсли; + + ТаблицаОтчет.Вывести(Ячейка); + Для Индекс = 1 По ИнформацияПоКолонкам.Количество() Цикл + Ячейка = ТаблицаОтчет.ПолучитьОбласть(НомерСтроки + 1, Индекс + 1, НомерСтроки + 1, Индекс + 1); + + Отбор = Новый Структура("Позиция", Индекс); + НайденныеКолонки = ИнформацияПоКолонкам.НайтиСтроки(Отбор); + Если НайденныеКолонки.Количество() > 0 Тогда + ИмяКолонки = НайденныеКолонки[0].ИмяКолонки; + Ячейка.ТекущаяОбласть.Расшифровка = Строка.ОбъектСопоставления; + Ячейка.ТекущаяОбласть.Текст = Строка[ИмяКолонки]; + Ячейка.ТекущаяОбласть.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Обрезать; + КонецЕсли; + ТаблицаОтчет.Присоединить(Ячейка); + + КонецЦикла; + + Если РассчитыватьПроцентПрогресса Тогда + Процент = Окр(НомерСтроки * 50 / СопоставленныеДанные.Количество()) + 50; + МодульДлительныеОперации = ОбщегоНазначения.ОбщийМодуль("ДлительныеОперации"); + МодульДлительныеОперации.СообщитьПрогресс(Процент); + КонецЕсли; + + КонецЦикла; + + Результат = Новый Структура; + Результат.Вставить("ТипОтчета", ТипОтчета); + Результат.Вставить("Всего", СопоставленныеДанные.Количество()); + Результат.Вставить("Создано", КоличествоСозданных); + Результат.Вставить("Обновлено", КоличествоОбновленных); + Результат.Вставить("Пропущено", КоличествоПропущенных); + Результат.Вставить("Некорректных", КоличествоПропущенныхСОшибкой); + Результат.Вставить("ТаблицаОтчет", ТаблицаОтчет); + + АдресХранилища = ПоместитьВоВременноеХранилище(Результат, АдресХранилища); + +КонецПроцедуры + +Процедура СформироватьМакетОтчета(ТаблицаОтчет, ШаблонСДанными) + + ТаблицаОтчет.Очистить(); + Ячейка = ШаблонСДанными.ПолучитьОбласть(1, 1, 1, 1); + + ШапкаТаблицы = ШаблонСДанными.ПолучитьОбласть("R1"); + ЗаполнитьЯчейкуЗаголовкаМакета(Ячейка, НСтр("ru ='Результат'"), 12, НСтр("ru ='Результат загрузки данных'"), Истина); + ТаблицаОтчет.Присоединить(ШапкаТаблицы); + ТаблицаОтчет.ВставитьОбласть(Ячейка.ТекущаяОбласть, ТаблицаОтчет.Область("C1"), ТипСмещенияТабличногоДокумента.ПоГоризонтали); + + ТаблицаОтчет.ФиксацияСверху = 1; +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#КонецЕсли diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ObjectModule.bsl b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ObjectModule.bsl new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ObjectModule.bsl @@ -0,0 +1 @@ + diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Templates/ПростойШаблон/Template.mxlx b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Templates/ПростойШаблон/Template.mxlx new file mode 100644 index 000000000..49fdf6b30 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/Templates/ПростойШаблон/Template.mxlx @@ -0,0 +1,66 @@ + + + + ru + ru + + ru + Русский + Русский + + + + 1 + + 0 + + 1 + + + + + 0 + + + + 2 + Заголовок + Наименование + + + + + true + 3 + 1 + 1 + + Заголовок + + Rectangle + 0 + 0 + 0 + 0 + + + + + 135 + + + 0 + 66 + 319 + Center + style:ButtonBackColor + Parameter + false + 1 + 0 + + + + 72 + + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo new file mode 100644 index 000000000..165ea9d93 --- /dev/null +++ b/SSL/src/DataProcessors/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo @@ -0,0 +1,83 @@ + + + + + + + ЗагрузкаДанныхИзФайла + + ru + Загрузка данных из файла + + true + DataProcessor.ЗагрузкаДанныхИзФайла.Form.ЗагрузкаДанныхИзФайла + + ru + Загрузка справочной информации из табличных документов (файлы Microsoft Office Excel, Microsoft Office Word, OpenOffice Calc и др.) в справочники программы. + + + ЗагрузкаДанныхИзФайла + + ru + Загрузка данных из файла + + PersonalComputer + MobileDevice + + + ВыборКолонок + + ru + Выбор колонок сопоставления + + PersonalComputer + MobileDevice + + + РазрешенияНеоднозначностей + + ru + Разрешение неоднозначностей + + PersonalComputer + MobileDevice + + + РасширениеФайла + + ru + Выбор формата файла + + PersonalComputer + MobileDevice + + + РедактированиеБланка + + ru + Редактирование бланка + + PersonalComputer + MobileDevice + + + ПростойШаблон + + ru + Простой шаблон + + + + ЗагрузкаДанныхИзФайла + + ru + Загрузка данных из файла + + NavigationPanelOrdinary + Auto + + ru + Загрузка справочной информации из табличных документов (файлы Microsoft Office Excel, Microsoft Office Word, OpenOffice Calc и др.) в справочники программы. + + + diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Form.form b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Form.form index 708f1d5db..45da085d5 100644 --- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Form.form @@ -1,7 +1,7 @@ - Группа1 + КоманднаяПанель 43 КоманднаяПанельЛевая @@ -45,7 +45,6 @@ ru - 10 false КоманднаяПанельЛеваяExtendedTooltip @@ -251,7 +250,7 @@ - Группа1ExtendedTooltip + КоманднаяПанельРасширеннаяПодсказка 46 Label true @@ -269,406 +268,396 @@ Auto - - СписокВалют - 7 - true - true - - true - - - Объект.СписокВалют - - false - None - Add - CancelSearch - Change - Copy - CopyToClipboard - Delete - EndEdit - Find - MoveDown - MoveUp - SortListAsc - SortListDesc - - Загружать - 33 - true - true - - true - - - Объект.СписокВалют.Загружать - - None - - ru - Загружать курсы для этой валюты - - - ЗагружатьExtendedTooltip - 56 - Label - true - true - - Left - - - - ЗагружатьКонтекстноеМеню - 34 - true - - CheckBoxField - Auto - true - - StdPicture.Refresh - - Left - true - - - - КодВалюты - 9 - true - true - - - Объект.СписокВалют.ЦифровойКод - - - КодВалютыExtendedTooltip - 57 - Label - true - true - - Left - - - - КодВалютыКонтекстноеМеню - 22 - true - - LabelField - Auto - true - Left - true - Left - - true - true - - - - СписокВалютСимвольныйКод - 40 - true - true - - true - - - Объект.СписокВалют.СимвольныйКод - - - СписокВалютСимвольныйКодExtendedTooltip - 58 - Label - true - true - - Left - - - - СписокВалютСимвольныйКодКонтекстноеМеню - 41 - true - - LabelField - Auto - true - Left - true - - true - true - - - - СписокВалютПредставление - 38 - true - true - - true - - - Объект.СписокВалют.Представление - - - СписокВалютПредставлениеExtendedTooltip - 59 - Label - true - true - - Left - - - - СписокВалютПредставлениеКонтекстноеМеню - 39 - true - - InputField - Auto - true - Left - true - - 20 - true - true - true - true - true - true - Normal - - - - ДатаКурса - 11 - true - true - - true - - - Объект.СписокВалют.ДатаКурса - - - ДатаКурсаExtendedTooltip - 60 - Label - true - true - - Left - - - - ДатаКурсаКонтекстноеМеню - 23 - true - - LabelField - Auto - true - Left - true - Left - - true - true - - - - Курс - 12 - true - true - - true - - - Объект.СписокВалют.Курс - - - КурсExtendedTooltip - 61 - Label - true - true - - Left - - - - КурсКонтекстноеМеню - 24 - true - - LabelField - Auto - true - Left - true - Left - - true - true - - - - Кратность - 13 - true - true - - true - - - Объект.СписокВалют.Кратность - - - КратностьExtendedTooltip - 62 - Label - true - true - - Left - - - - КратностьКонтекстноеМеню - 25 - true - - LabelField - Auto - true - Left - true - Left - - true - true - - - None - - СписокВалютКоманднаяПанель - 26 - Left - true - - - Selection - СписокВалютВыбор - - - BeforeRowChange - СписокВалютПередНачаломИзменения - - - СписокВалютСтрокаПоиска + + Страницы + 63 + + СтраницаСписокВалют 65 - - СписокВалютСтрокаПоискаРасширеннаяПодсказка - 67 - Label - true - true - - Left - - - - СписокВалютСтрокаПоискаКонтекстноеМеню - 66 - true - - СписокВалют - - true - - - - СписокВалютСостояниеПросмотра - 68 - - СписокВалютСостояниеПросмотраРасширеннаяПодсказка - 70 - Label - true - true - - Left - - - - СписокВалютСостояниеПросмотраКонтекстноеМеню - 69 - true - - ViewStatusAddition - СписокВалют - - true - - - - СписокВалютУправлениеПоиском - 71 - - СписокВалютУправлениеПоискомРасширеннаяПодсказка - 73 - Label - true - true - - Left - - - - СписокВалютУправлениеПоискомКонтекстноеМеню - 72 - true - - SearchControlAddition - СписокВалют - - true - - - - СписокВалютExtendedTooltip - 55 - Label - true - true - - Left - - - - СписокВалютКонтекстноеМеню - 20 - - СписокВалютКонтекстноеМенюОтключитьЗагрузкуИзИнтернета - 45 + + СписокВалют + 7 true true true + + Объект.СписокВалют + + false + None + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + SortListAsc + SortListDesc + + Загружать + 33 + true + true + + true + + + Объект.СписокВалют.Загружать + + None + + ru + Загружать курсы для этой валюты + + + OnChange + ЗагружатьПриИзменении + + + ЗагружатьExtendedTooltip + 56 + Label + true + true + + Left + + + + ЗагружатьКонтекстноеМеню + 34 + true + + CheckBoxField + true + + StdPicture.Refresh + + Left + true + + + + КодВалюты + 9 + true + true + + + Объект.СписокВалют.ЦифровойКод + + + КодВалютыExtendedTooltip + 57 + Label + true + true + + Left + + + + КодВалютыКонтекстноеМеню + 22 + true + + LabelField + true + Auto + true + Left + true + Left + + true + true + + + + СписокВалютСимвольныйКод + 40 + true + true + + true + + + Объект.СписокВалют.СимвольныйКод + + + СписокВалютСимвольныйКодExtendedTooltip + 58 + Label + true + true + + Left + + + + СписокВалютСимвольныйКодКонтекстноеМеню + 41 + true + + LabelField + true + Auto + true + Left + true + + true + true + + + + СписокВалютПредставление + 38 + true + true + + true + + + Объект.СписокВалют.Представление + + + СписокВалютПредставлениеExtendedTooltip + 59 + Label + true + true + + Left + + + + СписокВалютПредставлениеКонтекстноеМеню + 39 + true + + InputField + true + Auto + true + Left + true + + 20 + true + true + true + true + true + true + Normal + + + + ДатаКурса + 11 + true + true + + true + + + Объект.СписокВалют.ДатаКурса + + + ДатаКурсаExtendedTooltip + 60 + Label + true + true + + Left + + + + ДатаКурсаКонтекстноеМеню + 23 + true + + LabelField + true + Auto + true + Left + true + Left + + true + true + + + + Курс + 12 + true + true + + true + + + Объект.СписокВалют.Курс + + + КурсExtendedTooltip + 61 + Label + true + true + + Left + + + + КурсКонтекстноеМеню + 24 + true + + LabelField + true + Auto + true + Left + true + Left + + true + true + + + + Кратность + 13 + true + true + + true + + + Объект.СписокВалют.Кратность + + + КратностьExtendedTooltip + 62 + Label + true + true + + Left + + + + КратностьКонтекстноеМеню + 25 + true + + LabelField + true + Auto + true + Left + true + Left + + true + true + + + None + + СписокВалютКоманднаяПанель + 26 + Left + true + + + Selection + СписокВалютВыбор + + + СписокВалютСтрокаПоиска + 77 + + СписокВалютСтрокаПоискаРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + + СписокВалютСтрокаПоискаКонтекстноеМеню + 78 + true + + СписокВалют + + true + + + + СписокВалютСостояниеПросмотра + 80 + + СписокВалютСостояниеПросмотраРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + + СписокВалютСостояниеПросмотраКонтекстноеМеню + 81 + true + + ViewStatusAddition + СписокВалют + + true + + + + СписокВалютУправлениеПоиском + 83 + + СписокВалютУправлениеПоискомРасширеннаяПодсказка + 85 + Label + true + true + + Left + + + + СписокВалютУправлениеПоискомКонтекстноеМеню + 84 + true + + SearchControlAddition + СписокВалют + + true + + - СписокВалютКонтекстноеМенюОтключитьЗагрузкуИзИнтернетаExtendedTooltip - 54 + СписокВалютExtendedTooltip + 55 Label true true @@ -676,43 +665,224 @@ Left - Form.Command.ОтключитьЗагрузкуКурсаЭтойВалютыИзИнтернета - Normal - Auto + + СписокВалютКонтекстноеМеню + 20 + + СписокВалютКонтекстноеМенюОтключитьЗагрузкуИзИнтернета + 45 + true + true + + true + + + СписокВалютКонтекстноеМенюОтключитьЗагрузкуИзИнтернетаExtendedTooltip + 54 + Label + true + true + + Left + + + Form.Command.ОтключитьЗагрузкуКурсаЭтойВалютыИзИнтернета + Normal + Auto + true + true + UserCmds + Auto + + true + + HierarchicalList + 40 true true - UserCmds - Auto + 10 + true + Row +
                                  true
                                  + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + true +
                                  - true -
                                  - HierarchicalList - 40 - true - true - 10 - true - Row -
                                  true
                                  - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - true - true - - Style.BorderColor - - None - None - None - true - + true + true + + true + + + <key>ru</key> + <value>Страница список валют</value> + + + ru + Страница список валют + + + СтраницаСписокВалютРасширеннаяПодсказка + 66 + Label + true + true + + Left + + + Page + + Vertical + auto + +
                                  + + СтраницаВыполняетсяЗагрузкаКурсов + 67 + + КартинкаДлительнаяОперация + 69 + + <key>ru</key> + <value>Картинка длительная операция</value> + + true + true + + true + + + КартинкаДлительнаяОперацияРасширеннаяПодсказка + 71 + Label + true + true + + Left + + + + КартинкаДлительнаяОперацияКонтекстноеМеню + 70 + true + + 6 + true + 3 + true + + + CommonPicture.ДлительнаяОперация48 + + + + + НадписьВыполняетсяЗагрузкаКурсовВалют + 72 + + <key>ru</key> + <value>Выполняется загрузка курсов валют...</value> + + true + true + + true + + + НадписьВыполняетсяЗагрузкаКурсовВалютРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + + НадписьВыполняетсяЗагрузкаКурсовВалютКонтекстноеМеню + 73 + true + + Label + true + 3 + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница выполняется загрузка курсов</value> + + + ru + Страница выполняется загрузка курсов + + + СтраницаВыполняетсяЗагрузкаКурсовРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + Page + + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы</value> + + + ru + Страницы + + + СтраницыРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + Pages + + Auto +
                                  ФормаКоманднаяПанель @@ -770,6 +940,41 @@ true + + ИдентификаторФоновогоЗадания + + <key>ru</key> + <value>Идентификатор фонового задания</value> + + 3 + + UUID + + + true + + + true + + + + АдресРезультата + + <key>ru</key> + <value>Адрес результата</value> + + 4 + + String + + + + true + + + true + + ЗагрузитьКурсыВалют diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl index 821ee2577..272ae7f80 100644 --- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Forms/Форма/Module.bsl @@ -48,12 +48,6 @@ #Область ОбработчикиСобытийЭлементовТаблицыФормыСписокВалют -&НаКлиенте -Процедура СписокВалютПередНачаломИзменения(Элемент, Отказ) - Отказ = Истина; - ПереключитьЗагрузку(); -КонецПроцедуры - &НаКлиенте Процедура СписокВалютВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; @@ -67,8 +61,6 @@ &НаКлиенте Процедура ЗагрузитьКурсыВалют() - // Загрузка курсов - ОчиститьСообщения(); Если Не ЗначениеЗаполнено(Объект.НачалоПериодаЗагрузки) Тогда @@ -87,23 +79,11 @@ Возврат; КонецЕсли; - Состояние(НСтр("ru = 'Загружаются курсы валют...'")); - РезультатЗагрузки = ЗагрузитьКурсыСРБК(); + ВыполнитьЗагрузкуКурсов(); + ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗагрузкиКурсов", 1, Истина); + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаВыполняетсяЗагрузкаКурсов; + Элементы.КоманднаяПанель.Доступность = Ложь; - Если РезультатЗагрузки <> Неопределено Тогда - ПараметрыЗаписи = Неопределено; - МассивОбновляемыхВалют = Новый Массив; - Для Каждого СтрокаТаблицы Из Объект.СписокВалют Цикл - МассивОбновляемыхВалют.Добавить(СтрокаТаблицы.Валюта); - КонецЦикла; - Оповестить("Запись_ЗагрузкаКурсовВалют", ПараметрыЗаписи, МассивОбновляемыхВалют); - - РаботаСКурсамиВалютКлиент.ОповеститьКурсыУспешноОбновлены(); - - Если РезультатЗагрузки = Истина Тогда - Закрыть(); - КонецЕсли; - КонецЕсли; КонецПроцедуры &НаКлиенте @@ -150,40 +130,6 @@ КонецЦикла; КонецПроцедуры -&НаСервере -Функция ЗагрузитьКурсыСРБК() - // Истина - Все успешно загружены. - // Ложь - Часть загружена. - // Неопределено - Ни один не загружен. - - СписокВалют = Объект.СписокВалют.Выгрузить(, "КодВалюты,Валюта,Загружать").НайтиСтроки(Новый Структура("Загружать", Истина)); - - Результат = РаботаСКурсамиВалютКлиентСервер.ЗагрузитьКурсыВалютПоПараметрам( - СписокВалют, - Объект.НачалоПериодаЗагрузки, - Объект.ОкончаниеПериодаЗагрузки); - - ЕстьУспешноЗагруженныеКурсы = Ложь; - БезОшибок = Истина; - - Для Каждого СостояниеЗагрузки Из Результат Цикл - Если СостояниеЗагрузки.СтатусОперации Тогда - ЕстьУспешноЗагруженныеКурсы = Истина; - Иначе - БезОшибок = Ложь; - Индекс = Объект.СписокВалют.Индекс(Объект.СписокВалют.НайтиСтроки(Новый Структура("Валюта", СостояниеЗагрузки.Валюта))[0]); - ИмяПоля = СтрЗаменить("СписокВалют[x].Валюта", "x", Строка(Индекс)); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СостояниеЗагрузки.Сообщение,, ИмяПоля, "Объект"); - КонецЕсли; - КонецЦикла; - - Если ЕстьУспешноЗагруженныеКурсы Тогда - ОбновитьСведенияВСпискеВалют(); - КонецЕсли; - - Возврат ?(ЕстьУспешноЗагруженныеКурсы, БезОшибок, Неопределено); -КонецФункции - &НаСервере Процедура ЗаполнитьВалюты() @@ -278,7 +224,7 @@ &НаСервере Процедура СнятьПризнакЗагрузкиИзИнтернета(ВалютаСсылка) ВалютаОбъект = ВалютаСсылка.ПолучитьОбъект(); - ВалютаОбъект.ЗагружаетсяИзИнтернета = Ложь; + ВалютаОбъект.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод; ВалютаОбъект.Записать(); КонецПроцедуры @@ -288,4 +234,109 @@ УстановитьДоступностьЭлементов(); КонецПроцедуры +&НаСервере +Процедура ВыполнитьЗагрузкуКурсов() + + УстановитьПривилегированныйРежим(Истина); + + РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ЗагрузкаКурсовВалют); + + Отбор = Новый Структура; + Отбор.Вставить("РегламентноеЗадание", РегламентноеЗадание); + Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + ФоновыеЗаданияОчистки = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор); + Если ФоновыеЗаданияОчистки.Количество() > 0 Тогда + ИдентификаторФоновогоЗадания = ФоновыеЗаданияОчистки[0].УникальныйИдентификатор; + Иначе + АдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); + НаименованиеФоновогоЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запуск вручную: %1'"), РегламентноеЗадание.Метаданные.Синоним); + + ПараметрыЗагрузки = Новый Структура; + ПараметрыЗагрузки.Вставить("НачалоПериода", Объект.НачалоПериодаЗагрузки); + ПараметрыЗагрузки.Вставить("КонецПериода", Объект.ОкончаниеПериодаЗагрузки); + ПараметрыЗагрузки.Вставить("СписокВалют", ОбщегоНазначения.ТаблицаЗначенийВМассив(Объект.СписокВалют.Выгрузить( + Объект.СписокВалют.НайтиСтроки(Новый Структура("Загружать", Истина)), "КодВалюты,Валюта"))); + + ПараметрыЗадания = Новый Массив; + ПараметрыЗадания.Добавить(ПараметрыЗагрузки); + ПараметрыЗадания.Добавить(АдресРезультата); + + ФоновоеЗадание = ФоновыеЗадания.Выполнить( + РегламентноеЗадание.Метаданные.ИмяМетода, + ПараметрыЗадания, + Строка(РегламентноеЗадание.УникальныйИдентификатор), + НаименованиеФоновогоЗадания); + + ИдентификаторФоновогоЗадания = ФоновоеЗадание.УникальныйИдентификатор; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ПроверитьВыполнениеЗагрузкиКурсов() + + Попытка + ЗаданиеВыполнено = ЗаданиеВыполнено(ИдентификаторФоновогоЗадания); + Исключение + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаСписокВалют; + Элементы.КоманднаяПанель.Доступность = Истина; + ВызватьИсключение; + КонецПопытки; + + Если ЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаСписокВалют; + Элементы.КоманднаяПанель.Доступность = Истина; + ОбработатьРезультатЗагрузки(); + Иначе + ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗагрузкиКурсов", 2, Истина); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьРезультатЗагрузки() + + РезультатЗагрузки = ПолучитьИзВременногоХранилища(АдресРезультата); + + ЕстьУспешноЗагруженныеКурсы = Ложь; + БезОшибок = Истина; + + Для Каждого СостояниеЗагрузки Из РезультатЗагрузки Цикл + Если СостояниеЗагрузки.СтатусОперации Тогда + ЕстьУспешноЗагруженныеКурсы = Истина; + Иначе + БезОшибок = Ложь; + Индекс = Объект.СписокВалют.Индекс(Объект.СписокВалют.НайтиСтроки(Новый Структура("Валюта", СостояниеЗагрузки.Валюта))[0]); + ИмяПоля = СтрЗаменить("СписокВалют[x].Представление", "x", Строка(Индекс)); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СостояниеЗагрузки.Сообщение,, ИмяПоля, "Объект"); + КонецЕсли; + КонецЦикла; + + Если ЕстьУспешноЗагруженныеКурсы Тогда + ОбновитьСведенияВСпискеВалют(); + ПараметрыЗаписи = Неопределено; + МассивОбновляемыхВалют = Новый Массив; + Для Каждого СтрокаТаблицы Из Объект.СписокВалют Цикл + МассивОбновляемыхВалют.Добавить(СтрокаТаблицы.Валюта); + КонецЦикла; + Оповестить("Запись_ЗагрузкаКурсовВалют", ПараметрыЗаписи, МассивОбновляемыхВалют); + + РаботаСКурсамиВалютКлиент.ОповеститьКурсыУспешноОбновлены(); + + Если БезОшибок Тогда + Закрыть(); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ЗаданиеВыполнено(ИдентификаторФоновогоЗадания) + Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторФоновогоЗадания); +КонецФункции + +&НаКлиенте +Процедура ЗагружатьПриИзменении(Элемент) + УстановитьДоступностьЭлементов(); +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Help/ru.html b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Help/ru.html index 74e74ef24..7d435687c 100644 --- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Help/ru.html +++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Загрузка курсов <a href="Catalog.Валюты/Help">валют</a> производится с сайта РБК.</p> <p>Окно загрузки <a href="InformationRegister.КурсыВалют/Help">курсов</a> состоит из двух частей:</p> <ul><li>Период:  diff --git a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ЗагрузкаКурсовВалют.mdo b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ЗагрузкаКурсовВалют.mdo index ccf7cb9be..40f58ced4 100644 --- a/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ЗагрузкаКурсовВалют.mdo +++ b/SSL/src/DataProcessors/ЗагрузкаКурсовВалют/ЗагрузкаКурсовВалют.mdo @@ -11,6 +11,7 @@ </synonym> <useStandardCommands>true</useStandardCommands> <defaultForm>DataProcessor.ЗагрузкаКурсовВалют.Form.Форма</defaultForm> + <includeHelpInContents>true</includeHelpInContents> <help> <pages> <lang>ru</lang> diff --git a/SSL/src/DataProcessors/ЗагрузкаПравилРегистрацииОбъектов/ObjectModule.bsl b/SSL/src/DataProcessors/ЗагрузкаПравилРегистрацииОбъектов/ObjectModule.bsl index 428676ed8..4d373a1b7 100644 --- a/SSL/src/DataProcessors/ЗагрузкаПравилРегистрацииОбъектов/ObjectModule.bsl +++ b/SSL/src/DataProcessors/ЗагрузкаПравилРегистрацииОбъектов/ObjectModule.bsl @@ -93,15 +93,11 @@ Возврат СтрокаИнформации; КонецЕсли; - СтрокаИнформации = НСтр("ru = 'Правила регистрации объектов - |Дата создания: %1 - |План обмена: %2 - |Конфигурация: %3'"); - // + СтрокаИнформации = НСтр("ru = 'Правила регистрации объектов этой информационной базы (%1) от %2'"); + Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаИнформации, - Регистрация.ДатаВремяСоздания, - Регистрация.ИмяПланаОбмена, - ПолучитьПредставлениеКонфигурацииИзПравилРегистрации()); + ПолучитьПредставлениеКонфигурацииИзПравилРегистрации(), + Формат(Регистрация.ДатаВремяСоздания, "ДЛФ = дд")); КонецФункции //////////////////////////////////////////////////////////////////////////////// @@ -998,7 +994,7 @@ ТочнаяВерсия = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ТочнаяВерсия); - ИмяКонфигурации = ИмяКонфигурации + " (" + ТочнаяВерсия + ")"; + ИмяКонфигурации = ИмяКонфигурации + " версия " + ТочнаяВерсия; КонецЕсли; diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Form.form b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Form.form index 5ab612275..32f994876 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Form.form +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Form.form @@ -44,6 +44,42 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>205</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 206 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + КоманднаяПанельВыбораЦелевого 66 @@ -134,6 +170,7 @@ Список None + ShowBottom СписокЭлемент 195 @@ -282,8 +319,10 @@ Left true + 10 true true + false @@ -297,10 +336,10 @@ СписокСтрокаПоиска - 205 + 207 СписокСтрокаПоискаРасширеннаяПодсказка - 207 + 209 Label true true @@ -310,7 +349,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 206 + 208 true Список @@ -320,10 +359,10 @@ СписокСостояниеПросмотра - 208 + 210 СписокСостояниеПросмотраРасширеннаяПодсказка - 210 + 212 Label true true @@ -333,7 +372,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 209 + 211 true ViewStatusAddition @@ -344,10 +383,10 @@ СписокУправлениеПоиском - 211 + 213 СписокУправлениеПоискомРасширеннаяПодсказка - 213 + 215 Label true true @@ -357,7 +396,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 212 + 214 true SearchControlAddition @@ -373,6 +412,10 @@ true true + + URLProcessing + СписокРасширеннаяПодсказкаОбработкаНавигационнойСсылки + Left @@ -383,7 +426,7 @@ HierarchicalList true - 10 + 6 true true MultiRow @@ -396,6 +439,7 @@ true Auto Auto + ExpandTopLevel true true true @@ -415,116 +459,7 @@ true true - - - - ГруппаОтчет - 29 - true - true - - true - - - ru - Группа отчет - - true - - ГруппаОтчетРасширеннаяПодсказка - 30 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаПодсказка - 36 - - ПодсказкаВыбораЦелевогоЭлемента - 200 - - <key>ru</key> - <value>Подсказка выбора целевого элемента</value> - - true - true - - true - - - ПодсказкаВыбораЦелевогоЭлементаРасширеннаяПодсказка - 202 - Label - true - true - - Left - - - - ПодсказкаВыбораЦелевогоЭлементаКонтекстноеМеню - 201 - true - - Label - true - true - - Style.ПоясняющийТекст - - - - URLProcessing - ПодсказкаВыбораЦелевогоЭлементаОбработкаНавигационнойСсылки - - Left - Top - - - true - true - - true - - - <key>ru</key> - <value>Группа подсказка</value> - - - ru - Группа подсказка - - - ГруппаПодсказкаРасширеннаяПодсказка - 37 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + ГруппаПользовательскихНастроек true @@ -1157,8 +1092,10 @@ Left true + 10 true true + false true true true @@ -1248,10 +1185,10 @@ НеудачныеЗаменыСтрокаПоиска - 225 + 227 НеудачныеЗаменыСтрокаПоискаРасширеннаяПодсказка - 227 + 229 Label true true @@ -1261,7 +1198,7 @@ НеудачныеЗаменыСтрокаПоискаКонтекстноеМеню - 226 + 228 true НеудачныеЗамены @@ -1271,10 +1208,10 @@ НеудачныеЗаменыСостояниеПросмотра - 228 + 230 НеудачныеЗаменыСостояниеПросмотраРасширеннаяПодсказка - 230 + 232 Label true true @@ -1284,7 +1221,7 @@ НеудачныеЗаменыСостояниеПросмотраКонтекстноеМеню - 229 + 231 true ViewStatusAddition @@ -1295,10 +1232,10 @@ НеудачныеЗаменыУправлениеПоиском - 231 + 233 НеудачныеЗаменыУправлениеПоискомРасширеннаяПодсказка - 233 + 235 Label true true @@ -1308,7 +1245,7 @@ НеудачныеЗаменыУправлениеПоискомКонтекстноеМеню - 232 + 234 true SearchControlAddition @@ -1335,6 +1272,7 @@ Tree true true + 6 true true MultiRow @@ -1688,7 +1626,7 @@ Retry SaveValues Yes - 80 + 66 LockOwner true true diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Help/ru.html b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Help/ru.html index f390e294b..78f3ccf6d 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Help/ru.html +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Help/ru.html @@ -1,4 +1,4 @@ - +

                                  Позволяет заменить один или несколько элементов на выбранный элемент.

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

                                  Командой Заменить во всех местах использования можно воспользоваться из окна Удаление помеченных объектов.

                                  diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Module.bsl b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Module.bsl index 84afbd16c..65d0b5c31 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Module.bsl +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ЗаменаЭлементов/Module.bsl @@ -1,7 +1,8 @@ // Форма параметризуется // // Параметры: -// НаборСсылок - Массив, СписокЗначений, Коллекция элементов, обладающих полем "Ссылка" - набор +// НаборСсылок - Массив, СписокЗначений - набор элементов для анализа. +// Может быть коллекцией элементов, обладающих полем "Ссылка" // // Флаг подтверждения, используется при не модальном закрытии @@ -58,7 +59,7 @@ КонецЕсли; Элементы.НадписьТипВыбираемого.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Выберите элемент %1, на который будет произведена замена.'"), + НСтр("ru = 'Выберите элемент ""%1"", на который будет произведена замена.'"), ОсновныеМетаданные.Представление() ); @@ -99,10 +100,11 @@ // ОБРАБОТЧИКИ СОБЫТИЙ ШАПКИ ФОРМЫ &НаКлиенте -Процедура ПодсказкаВыбораЦелевогоЭлементаОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) +Процедура СписокРасширеннаяПодсказкаОбработкаНавигационнойСсылки(Элемент, ЗначениеНавигационнойСсылки, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; - Если НавигационнаяСсылка = "ПереключениеРежимаУдаления" Тогда + Если ЗначениеНавигационнойСсылки = "ПереключениеРежимаУдаления" Тогда Если ТекущийВариантУдаления = "Непосредственно" Тогда ТекущийВариантУдаления = "Пометка" Иначе @@ -257,7 +259,7 @@ ТекстПодсказки = НСтр("ru = 'Заменить ""%1"" на ""%2"". |Элемент ""%1"" будет %3'"); - Контекст.Элементы.ПодсказкаВыбораЦелевогоЭлемента.Заголовок = ФорматированнаяСтрока( + Контекст.Элементы.Список.РасширеннаяПодсказка.Заголовок = ФорматированнаяСтрока( ТекстПодсказки, Контекст.ЗаменяемыеСсылки[0].Ссылка, Контекст.ЦелевойЭлемент, Гиперссылка @@ -282,7 +284,7 @@ ТекстПодсказки = НСтр("ru = 'Заменить элементы (%1) на ""%2"". |Заменяемые элементы будут %3'"); - Контекст.Элементы.ПодсказкаВыбораЦелевогоЭлемента.Заголовок = ФорматированнаяСтрока( + Контекст.Элементы.Список.РасширеннаяПодсказка.Заголовок = ФорматированнаяСтрока( ТекстПодсказки, Количество, Контекст.ЦелевойЭлемент, Гиперссылка @@ -380,6 +382,7 @@ ПараметрыЗамены = Новый Структура; ПараметрыЗамены.Вставить("СпособУдаления", ТекущийВариантУдаления); ПараметрыЗамены.Вставить("ВключатьБизнесЛогику", Истина); + ПараметрыЗамены.Вставить("ЗаменаПарыВТранзакции", Ложь); ПараметрыМетода.Добавить(ПараметрыЗамены); @@ -486,6 +489,7 @@ // --------------------------------------------------------------------------------------------------------------------- // Преобразует массив, список значений или коллекцию в массив +// &НаСервереБезКонтекста Функция МассивСсылокИзСписка(Знач Ссылки) @@ -510,7 +514,10 @@ Возврат МассивСсылок; КонецФункции -// Возвращает код справочника и т.п. если он есть по метаданным, Неопределено, если кода нет +// Возвращаемое значение: +// Произвольный - код справочника и т.п. если он есть по метаданным, +// Неопределено - если кода нет +// &НаСервереБезКонтекста Функция ВозможныйКодСсылки(Знач Ссылка, КэшМетаданных) Мета = Ссылка.Метаданные(); @@ -529,6 +536,7 @@ КонецФункции // Безопасное получение значения реквизита +// &НаКлиентеНаСервереБезКонтекста Функция ЗначениеРеквизита(Знач Данные, Знач ИмяРеквизита, Знач ЗначениеПриОтсутствии = Неопределено) @@ -1079,39 +1087,39 @@ // // Действия - Структура - Описание действий, возможных на текущем шаге. Поля структуры: // -// ПриАктивации - Строка - Необязательное имя процедуры, которая будет выполнена перед активацией страницы -// с двумя параметрами: +// * ПриАктивации - Строка - Необязательное имя процедуры, которая будет выполнена перед активацией страницы +// с двумя параметрами: // <Страница> - ГруппаФормы - группа-страница, которая активизируется // <ДополнительныеПараметры> - Неопределено // -// ПередДействиемДалее - Строка - Необязательное имя процедуры, которая будет выполнена при нажатии кнопки "Далее", -// перед переходом на следующую страницу. Процедура будет вызвана с двумя параметрами: -// <ПараметрыШага> - служебный реквизит. При успешном завершении цепочки немодальных -// вызовов последняя процедура-обработчик должна произвести вызов -// ЗавершитьШагМастера(ПараметрыШага), подтверждая действие. -// <ДополнительныеПараметры> - Неопределено +// * ПередДействиемДалее - Строка - Необязательное имя процедуры, которая будет выполнена при нажатии кнопки "Далее", +// перед переходом на следующую страницу. Процедура будет вызвана с двумя параметрами: +// <ПараметрыШага> - служебный реквизит. При успешном завершении цепочки немодальных +// вызовов последняя процедура-обработчик должна произвести вызов +// ЗавершитьШагМастера(ПараметрыШага), подтверждая действие. +// <ДополнительныеПараметры> - Неопределено // -// ПередДействиемНазад - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Назад" +// * ПередДействиемНазад - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Назад" // -// ПередДействиемОтмена - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Отмена" +// * ПередДействиемОтмена - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Отмена" // -// ПриОбработкеОжидания - Строка - Необязательное имя процедуры, которая будет периодически вызываться с двумя -// параметрами: -// <Прекратить> - Если при выходе из процедуры установить в значение Истина, то -// периодические вызовы будут прекращены. -// <ДополнительныеПараметры> - Неопределено +// * ПриОбработкеОжидания - Строка - Необязательное имя процедуры, которая будет периодически вызываться с двумя +// параметрами: +// <Прекратить> - Если при выходе из процедуры установить в значение Истина, то +// периодические вызовы будут прекращены. +// <ДополнительныеПараметры> - Неопределено // // Кнопки - Структура - описание кнопок на текущем шаге. Поля структуры: // -// Далее - Структура - Описание кнопки "Далее". поля: Заголовок, Подсказка, Доступность, Видимость, КнопкаПоУмолчанию. -// Пустая подсказка заменяется на заголовок. По умолчанию будут использованы значения: -// Заголовок = "Далее >", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Истина; +// * Далее - Структура - Описание кнопки "Далее". поля: Заголовок, Подсказка, Доступность, Видимость, КнопкаПоУмолчанию. +// Пустая подсказка заменяется на заголовок. По умолчанию будут использованы значения: +// Заголовок = "Далее >", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Истина; // -// Назад - Структура - Аналогично кнопке "Далее", значения по умолчанию: -// Заголовок = "< Назад", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; +// * Назад - Структура - Аналогично кнопке "Далее", значения по умолчанию: +// Заголовок = "< Назад", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; // -// Отмена - Структура - Аналогично кнопке "Далее", значения по умолчанию: -// Заголовок = "Отмена", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; +// * Отмена - Структура - Аналогично кнопке "Далее", значения по умолчанию: +// Заголовок = "Отмена", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; // // Для составления параметров рекомендуется использовать вспомогательные методы "ДобавитьШагМастера", "ДействиеШагаМастера", "КнопкаШагаМастера" // @@ -1157,7 +1165,9 @@ // ИмяОбработчика - Строка - Имя процедуры, см описание метода "ДобавитьШагМастера" // СлужебныеДанные - Структура - Накапливает значения. // -// Возвращаемое значение - Структура - СлужебныеДанные с добавленными полями +// Возвращаемое значение: +// Структура - СлужебныеДанные с добавленными полями +// &НаСервере Функция ДействиеШагаМастера(Знач Идентификатор, Знач ИмяОбработчика, СлужебныеДанные = Неопределено) Если СлужебныеДанные = Неопределено Тогда @@ -1179,7 +1189,8 @@ // КнопкаПоУмолчанию - Булево - параметр отображения кнопки // СлужебныеДанные - Структура - Накапливает значения // -// Возвращаемое значение - Структура - СлужебныеДанные с добавленными полями +// Возвращаемое значение: +//- Структура - СлужебныеДанные с добавленными полями // &НаСервере Функция КнопкаШагаМастера(Знач Идентификатор, Знач Заголовок = "", Знач Подсказка = "", Знач Видимость = Истина, Знач Доступность = Истина, Знач КнопкаПоУмолчанию = Ложь, Знач СлужебныеДанные = Неопределено) @@ -1228,6 +1239,7 @@ КонецПроцедуры // Запускает начальную работу мастера с шага, установленного предварительно при помощи "УстановитьНачальнуюСтраницуМастера" +// &НаКлиенте Процедура ЗапуститьРаботуМастера() НастройкиМастера = ЭтотОбъект.НастройкиПошаговогоМастера; @@ -1387,6 +1399,16 @@ // Переключаем на новую страницу Элементы[НастройкиМастера.ГруппаСтраниц].ТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + // Обход особенности платформы + ГруппаСтраницМастера = Элементы[НастройкиМастера.ГруппаСтраниц]; + НоваяТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + ВидГруппыСтраница = ВидГруппыФормы.Страница; + ТипГруппаФормы = Тип("ГруппаФормы"); + Для Каждого Страница Из ГруппаСтраницМастера.ПодчиненныеЭлементы Цикл + Если ТипЗнч(Страница) = ТипГруппаФормы И Страница.Вид = ВидГруппыСтраница Тогда + Страница.Видимость = (Страница = НоваяТекущаяСтраница); + КонецЕсли; + КонецЦикла; // Обновляем кнопки ОбновитьСвойстваКнопкиМастера(НастройкиМастера.КнопкаДалее, ОписаниеШага.КнопкаДалее); @@ -1434,6 +1456,7 @@ КонецПроцедуры // Может быть номер шага или группа-страница, или ее идентификатор +// &НаКлиенте Функция НомерШагаМастераПоИдентификатору(Знач ИдентификаторШага) НастройкиМастера = ЭтотОбъект.НастройкиПошаговогоМастера; @@ -1509,19 +1532,18 @@ // Получает состояние текущей длительной операцию // -// Возвращаемое значение - Структура - Описание состояния с полями: -// Завершено - Булево - Флаг активности длительной операции -// ИнформацияОбОшибке - ИнформацияОбОшибке - Если операция завершилась аварийно, то содержит информацию почему -// СообщенияПользователю - ФиксированныйМассив - Объекты типа "СообщениеПользователю" -// Результат - Произвольный - Если длительное задание было запущено с флагом возвращения результата, -// то содержит текущее значение результата. +// Возвращаемое значение: +// Структура - Описание состояния с полями: +// * Завершено - Булево - Флаг активности длительной операции +// * ИнформацияОбОшибке - ИнформацияОбОшибке - Если операция завершилась аварийно, то содержит информацию почему +// * Результат - Произвольный - Если длительное задание было запущено с флагом возвращения результата, +// то содержит текущее значение результата. // &НаСервере Функция СостояниеДлительнойОперацииМастера() НастройкиМастера = ЭтотОбъект.НастройкиПошаговогоМастера; Данные = Новый Структура("Завершено, Результат, ИнформацияОбОшибке", Истина); - Данные.Вставить("СообщенияПользователю", Новый ФиксированныйМассив(Новый Массив)); Если НастройкиМастера.ИдентификаторФоновогоЗадания = Неопределено Тогда Возврат Данные; @@ -1535,10 +1557,12 @@ КонецЕсли; Данные.Завершено = Задание.Состояние <> СостояниеФоновогоЗадания.Активно; Если Данные.Завершено Тогда - // Неперехваченные сообщения фонового задания + // Текущие сообщения фонового задания НакопленныеСообщения = Задание.ПолучитьСообщенияПользователю(Истина); Если НакопленныеСообщения <> Неопределено Тогда - Данные.СообщенияПользователю = НакопленныеСообщения; + Для Каждого Сообщение Из НакопленныеСообщения Цикл + Сообщение.Сообщить(); + КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/МногострочноеПредупреждение/Form.form b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/МногострочноеПредупреждение/Form.form index 695cbe39b..944cc97f8 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/МногострочноеПредупреждение/Form.form +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/МногострочноеПредупреждение/Form.form @@ -113,7 +113,7 @@ true true - 10 + 6 true true true diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Form.form b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Form.form index 15a495a14..f0df112ef 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Form.form +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Form.form @@ -570,6 +570,7 @@ Left true + 10 true true false @@ -620,6 +621,7 @@ Show Always + 15 true true false @@ -665,6 +667,7 @@ Left true + 15 true true false @@ -1016,7 +1019,7 @@ true true - 88 + 69 true true true @@ -1162,7 +1165,7 @@ Label true - 3 + 2 true Style.ПоясняющийТекст @@ -1838,8 +1841,10 @@ Left true + 10 true true + false true true true @@ -2017,6 +2022,7 @@ Tree true true + 6 true true MultiRow @@ -2337,7 +2343,6 @@ UsualGroup Auto - NormalSeparation true true Auto diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Help/ru.html b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Help/ru.html index c18612b37..935cab9db 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Help/ru.html +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Help/ru.html @@ -1,6 +1,5 @@ - +

                                  Предназначено для устранения дублирующихся данных.

                                  -

                                  Объединение элементов доступно в списках программы по команде Все действия - Объединить выделенные.

                                  В списке элементов для объединения выводится:

                                  • Наименование,
                                  • Код, diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Module.bsl b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Module.bsl index b2bf44cdd..7fa40bd1a 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Module.bsl +++ b/SSL/src/DataProcessors/ЗаменаСсылок/Forms/ОбъединениеЭлементов/Module.bsl @@ -1,7 +1,8 @@ // Форма параметризуется // // Параметры: -// СписокСсылок - Массив, СписокЗначений, Коллекция элементов, обладающих полем "Ссылка" - набор +// СписокСсылок - Массив, СписокЗначений - набор ссылок для анализа +// Может быть коллекцией элементов, обладающих полем "Ссылка" // // Флаг подтверждения, используется при не модальном закрытии @@ -69,10 +70,10 @@ // ОБРАБОТЧИКИ СОБЫТИЙ ШАПКИ ФОРМЫ &НаКлиенте -Процедура ПодсказкаВыбораОсновногоЭлементаОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) +Процедура ПодсказкаВыбораОсновногоЭлементаОбработкаНавигационнойСсылки(Элемент, ЗначениеНавигационнойСсылки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - Если НавигационнаяСсылка = "ПереключениеРежимаУдаления" Тогда + Если ЗначениеНавигационнойСсылки = "ПереключениеРежимаУдаления" Тогда Если ТекущийВариантУдаления = "Непосредственно" Тогда ТекущийВариантУдаления = "Пометка" Иначе @@ -510,7 +511,7 @@ Закрыть(); КонецПроцедуры -&НаКлиенте +&НаСервере Процедура СформироватьПодсказкуОбъединения() Если ЕстьПравоБезвозвратногоУдаления Тогда @@ -684,6 +685,7 @@ ПараметрыЗамены = Новый Структура; ПараметрыЗамены.Вставить("СпособУдаления", ТекущийВариантУдаления); ПараметрыЗамены.Вставить("ВключатьБизнесЛогику", Истина); + ПараметрыЗамены.Вставить("ЗаменаПарыВТранзакции", Ложь); ПараметрыМетода.Добавить(ПараметрыЗамены); @@ -775,6 +777,7 @@ КонецФункции // Преобразует массив, список значений или коллекцию в массив +// &НаСервереБезКонтекста Функция МассивСсылокИзНабора(Знач Ссылки) @@ -830,14 +833,20 @@ КонецЕсли; КонецПроцедуры -// Возвращает код справочника и т.п. если он есть по метаданным, Неопределено, если кода нет +// Возвращаемое значение: +// Произвольный - код справочника и т.п. если он есть по метаданным, +// Неопределено - если кода нет +// &НаСервереБезКонтекста Функция ВозможныйКодСсылки(Знач Ссылка, КэшМетаданных) Данные = ОписаниеМетаПоСсылке(Ссылка, КэшМетаданных); Возврат ?(Данные.ЕстьКод, Ссылка.Код, Неопределено); КонецФункции -// Возвращает владельца справочника и т.п. если он есть по метаданным, Неопределено, если владельца нет +// Возвращаемое значение: +// Произвольный - владелец справочника если он есть по метаданным, +// Неопределено - если владельца нет +// &НаСервереБезКонтекста Функция ВозможныйВладелецСсылки(Знач Ссылка, КэшМетаданных) Данные = ОписаниеМетаПоСсылке(Ссылка, КэшМетаданных); @@ -848,10 +857,6 @@ &НаСервереБезКонтекста Функция ОписаниеМетаПоСсылке(Знач Ссылка, КэшМетаданных) - Если Ссылка = Неопределено Тогда - Возврат Новый Структура("ЕстьКод, ЕстьВладелец", Ложь, Ложь); - КонецЕсли; - Мета = Ссылка.Метаданные(); Данные = КэшМетаданных[Мета]; @@ -1366,39 +1371,39 @@ // // Действия - Структура - Описание действий, возможных на текущем шаге. Поля структуры: // -// ПриАктивации - Строка - Необязательное имя процедуры, которая будет выполнена перед активацией страницы -// с двумя параметрами: -// <Страница> - ГруппаФормы - группа-страница, которая активизируется -// <ДополнительныеПараметры> - Неопределено -// -// ПередДействиемДалее - Строка - Необязательное имя процедуры, которая будет выполнена при нажатии кнопки "Далее", -// перед переходом на следующую страницу. Процедура будет вызвана с двумя параметрами: -// <ПараметрыШага> - служебный реквизит. При успешном завершении цепочки немодальных -// вызовов последняя процедура-обработчик должна произвести вызов -// ЗавершитьШагМастера(ПараметрыШага), подтверждая действие. +// * ПриАктивации - Строка - Необязательное имя процедуры, которая будет выполнена перед активацией страницы +// с двумя параметрами: +// <Страница> - ГруппаФормы - группа-страница, которая активизируется // <ДополнительныеПараметры> - Неопределено // -// ПередДействиемНазад - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Назад" +// * ПередДействиемДалее - Строка - Необязательное имя процедуры, которая будет выполнена при нажатии кнопки "Далее", +// перед переходом на следующую страницу. Процедура будет вызвана с двумя параметрами: +// <ПараметрыШага> - служебный реквизит. При успешном завершении цепочки немодальных +// вызовов последняя процедура-обработчик должна произвести вызов +// ЗавершитьШагМастера(ПараметрыШага), подтверждая действие. +// <ДополнительныеПараметры> - Неопределено // -// ПередДействиемОтмена - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Отмена" +// * ПередДействиемНазад - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Назад" // -// ПриОбработкеОжидания - Строка - Необязательное имя процедуры, которая будет периодически вызываться с двумя -// параметрами: -// <Прекратить> - Если при выходе из процедуры установить в значение Истина, то -// периодические вызовы будут прекращены. -// <ДополнительныеПараметры> - Неопределено +// * ПередДействиемОтмена - Строка - Аналогично ПередДействиемДалее, описывает поведение при нажатии кнопки "Отмена" +// +// * ПриОбработкеОжидания - Строка - Необязательное имя процедуры, которая будет периодически вызываться с двумя +// параметрами: +// <Прекратить> - Если при выходе из процедуры установить в значение Истина, то +// периодические вызовы будут прекращены. +// <ДополнительныеПараметры> - Неопределено // // Кнопки - Структура - описание кнопок на текущем шаге. Поля структуры: // -// Далее - Структура - Описание кнопки "Далее". поля: Заголовок, Подсказка, Доступность, Видимость, КнопкаПоУмолчанию. -// Пустая подсказка заменяется на заголовок. По умолчанию будут использованы значения: -// Заголовок = "Далее >", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Истина; +// * Далее - Структура - Описание кнопки "Далее". поля: Заголовок, Подсказка, Доступность, Видимость, КнопкаПоУмолчанию. +// Пустая подсказка заменяется на заголовок. По умолчанию будут использованы значения: +// Заголовок = "Далее >", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Истина; // -// Назад - Структура - Аналогично кнопке "Далее", значения по умолчанию: -// Заголовок = "< Назад", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; +// * Назад - Структура - Аналогично кнопке "Далее", значения по умолчанию: +// Заголовок = "< Назад", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; // -// Отмена - Структура - Аналогично кнопке "Далее", значения по умолчанию: -// Заголовок = "Отмена", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; +// * Отмена - Структура - Аналогично кнопке "Далее", значения по умолчанию: +// Заголовок = "Отмена", Доступность = Истина, Видимость = Истина, КнопкаПоУмолчанию = Ложь; // // Для составления параметров рекомендуется использовать вспомогательные методы "ДобавитьШагМастера", "ДействиеШагаМастера", "КнопкаШагаМастера" // @@ -1674,6 +1679,16 @@ // Переключаем на новую страницу Элементы[НастройкиМастера.ГруппаСтраниц].ТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + // Обход особенности платформы + ГруппаСтраницМастера = Элементы[НастройкиМастера.ГруппаСтраниц]; + НоваяТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + ВидГруппыСтраница = ВидГруппыФормы.Страница; + ТипГруппаФормы = Тип("ГруппаФормы"); + Для Каждого Страница Из ГруппаСтраницМастера.ПодчиненныеЭлементы Цикл + Если ТипЗнч(Страница) = ТипГруппаФормы И Страница.Вид = ВидГруппыСтраница Тогда + Страница.Видимость = (Страница = НоваяТекущаяСтраница); + КонецЕсли; + КонецЦикла; // Обновляем кнопки ОбновитьСвойстваКнопкиМастера(НастройкиМастера.КнопкаДалее, ОписаниеШага.КнопкаДалее); @@ -1796,19 +1811,18 @@ // Получает состояние текущей длительной операцию // -// Возвращаемое значение - Структура - Описание состояния с полями: -// Завершено - Булево - Флаг активности длительной операции -// ИнформацияОбОшибке - ИнформацияОбОшибке - Если операция завершилась аварийно, то содержит информацию почему -// СообщенияПользователю - ФиксированныйМассив - Объекты типа "СообщениеПользователю" -// Результат - Произвольный - Если длительное задание было запущено с флагом возвращения результата, -// то содержит текущее значение результата. +// Возвращаемое значение: +// Структура - Описание состояния с полями: +// * Завершено - Булево - Флаг активности длительной операции +// * ИнформацияОбОшибке - ИнформацияОбОшибке - Если операция завершилась аварийно, то содержит информацию почему +// * Результат - Произвольный - Если длительное задание было запущено с флагом возвращения результата, +// то содержит текущее значение результата. // &НаСервере Функция СостояниеДлительнойОперацииМастера() НастройкиМастера = ЭтотОбъект.НастройкиПошаговогоМастера; Данные = Новый Структура("Завершено, Результат, ИнформацияОбОшибке", Истина); - Данные.Вставить("СообщенияПользователю", Новый ФиксированныйМассив(Новый Массив)); Если НастройкиМастера.ИдентификаторФоновогоЗадания = Неопределено Тогда Возврат Данные; @@ -1822,10 +1836,12 @@ КонецЕсли; Данные.Завершено = Задание.Состояние <> СостояниеФоновогоЗадания.Активно; Если Данные.Завершено Тогда - // Неперехваченные сообщения фонового задания + // Текущие сообщения фонового задания НакопленныеСообщения = Задание.ПолучитьСообщенияПользователю(Истина); Если НакопленныеСообщения <> Неопределено Тогда - Данные.СообщенияПользователю = НакопленныеСообщения; + Для Каждого Сообщение Из НакопленныеСообщения Цикл + Сообщение.Сообщить(); + КонецЦикла; КонецЕсли; КонецЕсли; КонецЕсли; diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/ManagerModule.bsl b/SSL/src/DataProcessors/ЗаменаСсылок/ManagerModule.bsl index 4427dfde0..caf6e8104 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/ManagerModule.bsl +++ b/SSL/src/DataProcessors/ЗаменаСсылок/ManagerModule.bsl @@ -2,7 +2,8 @@ #Область СлужебныйПрограммныйИнтерфейс -// Возвращает имя события для оповещения о замене +// Возвращаемое значение: +// Строка - имя события для оповещения о замене // Функция СобытиеОповещенияОЗамене() Экспорт Возврат "ПроизведенаЗаменаСсылок"; diff --git a/SSL/src/DataProcessors/ЗаменаСсылок/ЗаменаСсылок.mdo b/SSL/src/DataProcessors/ЗаменаСсылок/ЗаменаСсылок.mdo index e4b41c37e..0a6cf235b 100644 --- a/SSL/src/DataProcessors/ЗаменаСсылок/ЗаменаСсылок.mdo +++ b/SSL/src/DataProcessors/ЗаменаСсылок/ЗаменаСсылок.mdo @@ -11,6 +11,7 @@ true DataProcessor.ЗаменаСсылок.Form.ЗаменаЭлементов + true ЗаменаЭлементов diff --git a/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/Help/ru.html b/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/Help/ru.html new file mode 100644 index 000000000..f5d088307 --- /dev/null +++ b/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/Help/ru.html @@ -0,0 +1,28 @@ + +

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

                                    +

                                    Открывается по команде Защита персональных данных в разделе Администрирование - Поддержка и обслуживание.

                                    +

                                    Согласно Федеральному закону от 27.06.2006 №152-Ф3 "О персональных данных" и подзаконным актам в программе реализована регистрация следующих событий:

                                    +
                                    • вход в программу; +
                                    • выход из программы; +
                                    • аутентификация; +
                                    • отказ в аутентификации; +
                                    • доступ к персональным данным; +
                                    • отказ в доступе к персональным данным.

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

                                    +

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

                                    +

                                    Администратор открывает список событий, устанавливает отбор по периоду и по событию, получает список зарегистрированных в программе событий. Полученный список можно вывести на печать стандартными средствами программы.

                                    +

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

                                    +

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

                                    +
                                    • Дата, время - помимо даты и времени значком отображается вид события; +
                                    • Событие - наименование события; +
                                    • Пользователь, связанный с событием; +
                                    • Сведения о событии - дополнительная информация о событии (текущий пользователь ОС, который заходил в программу, справочник программы, связанный с персональными данными, в который заходил пользователь и т.п.).

                                    Просмотр события

                                    +
                                    • +
                                      Для просмотра детальной информации о событии можно воспользоваться двойным щелчком мыши или кнопкой  Просмотр текущего события.
                                      +
                                    • +
                                      Также можно воспользоваться командой контекстного меню по правой кнопке мыши или меню Еще.

                                    Отбор событий

                                    +
                                    • В списке показаны не все события, а то количество, которое задано в поле Количество отбираемых событий. +
                                    • С помощью кнопки  Установить интервал дат для просмотра можно управлять интервалом показа событий, также можно воспользоваться двойным щелчком по содержимому колонки Дата, время. +
                                    • С помощью кнопок Установить отбор по значению в текущей колонке и Отключить отбор можно управлять отбором событий. +
                                      • Для этого выделите нужное событие в списке (например, Доступ), затем нажмите кнопку Установить отбор по значению в текущей колонке.
                                    • Также можно воспользоваться командами контекстного меню по правой кнопке мыши или меню Еще.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo b/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo index b5847b297..0a6e26f06 100644 --- a/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo +++ b/SSL/src/DataProcessors/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo @@ -11,6 +11,11 @@
                                    DataProcessor.ЗащитаПерсональныхДанных.Form.Форма true + + + ru + + Форма diff --git a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Forms/СоставВыгрузки/Help/ru.html b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Forms/СоставВыгрузки/Help/ru.html index 3028fc6a0..fa3204b28 100644 --- a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Forms/СоставВыгрузки/Help/ru.html +++ b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Forms/СоставВыгрузки/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Отчет предназначен для выдачи статистики по составу отправляемых данных при синхронизации. 

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

                                    В заголовке отчета выводится наименование программы, с которой производится синхронизация данных, а также дата и время формирования отчета.

                                    diff --git a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Help/ru.html b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Help/ru.html index 4c915935c..eaf09cde1 100644 --- a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Help/ru.html +++ b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                    Отбор данных для отправки

                                    diff --git a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ObjectModule.bsl b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ObjectModule.bsl index 14069a877..8b5173f79 100644 --- a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ObjectModule.bsl +++ b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ObjectModule.bsl @@ -7,8 +7,10 @@ // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // // Параметры: -// СписокИменМетаданных: массив (или перечислимое с полем "ПолноеИмяМетаданных") полных имен -// метаданных для ограничения запроса +// СписокИменМетаданных - Массив - содержит строки с полными именами метаданных для ограничения запроса +// Может быть коллекцией элементов с полем "ПолноеИмяМетаданных" +// Возвращаемое значение: +// ТабличныйДокумент - отчет // Функция СформироватьТабличныйДокумент(СписокИменМетаданных=Неопределено) Экспорт УстановитьПривилегированныйРежим(Истина); @@ -28,10 +30,13 @@ КонецФункции // Запускает фоновое задание для дополнительной регистрации -// Возвращает идентификатор фонового задания (или Неопределено для файловой базы) // // Параметры: -// АдресОбъекта: адрес временного хранилища с параметрами дополнительной регистрации +// АдресОбъекта - Строка, УникальныйИдентификатор - адрес временного хранилища с параметрами дополнительной регистрации +// +// Возвращаемое значение: +// УникальныйИдентификатор - идентификатор фонового задания +// Неопределено - если задание уже выполнено // Функция ФоноваяРегистрацияДополнительныхИзменений() Экспорт @@ -50,7 +55,6 @@ КонецФункции // Запускает фоновое задание для формирования отчета. -// Возвращает идентификатор фонового задания (или Неопределено для файловой базы) // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // // Параметры: @@ -59,6 +63,10 @@ // Представление - Строка - параметр отчета // УпрощенныйРежим - Булево - параметр формирования отчета, влияет на состав печатной формы // +// Возвращаемое значение: +// УникальныйИдентификатор - идентификатор фонового задания +// Неопределено - если задание уже выполнено +// Функция ФоновоеФормированиеТабличногоДокументаПользователя(АдресРезультата, ПолноеИмяМетаданных="", Представление="", УпрощенныйРежим=Ложь) Экспорт Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда @@ -80,12 +88,15 @@ КонецФункции // Запускает фоновое задание для формирования дерева значений с данными. -// Возвращает идентификатор фонового задания (или Неопределено для файловой базы) // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // // Параметры: -// АдресРезультата: адрес во временном хранилище, куда будет помещен результат -// СписокИменМетаданных: параметр отчета +// АдресРезультата - Строка, УникальныйИдентификатор - адрес во временном хранилище, куда будет помещен результат +// СписокИменМетаданных - Массив - строки - имена для отчета +// +// Возвращаемое значение: +// УникальныйИдентификатор - идентификатор фонового задания +// Неопределено - если задание уже выполнено // Функция ФоновоеФормированиеДереваЗначений(АдресРезультата, СписокИменМетаданных=Неопределено) Экспорт @@ -108,6 +119,14 @@ // Возвращает пользовательский отчет в виде табличного документа. // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // +// Параметры: +// ПолноеИмяМетаданных - Строка - ограничение +// Представление - Строка - параметр результата +// УпрощенныйРежим - Булево - выбор макета +// +// Возвращаемое значение: +// ТабличныйДокумент - отчет +// Функция СформироватьТабличныйДокументПользователя(ПолноеИмяМетаданных="", Представление="", УпрощенныйРежим=Ложь) Экспорт УстановитьПривилегированныйРежим(Истина); @@ -185,10 +204,10 @@ // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // // Параметры: -// СписокИменМетаданных: массив (или перечислимое с полем "ПолноеИмяМетаданных") полных имен -// метаданных для ограничения запроса +// СписокИменМетаданных - Массив - полные имена метаданных для ограничения запроса. +// Может быть коллекцией элементов с полем "ПолноеИмяМетаданных" // -Функция СформироватьДеревоЗначений(СписокИменМетаданных=Неопределено) Экспорт +Функция СформироватьДеревоЗначений(СписокИменМетаданных = Неопределено) Экспорт УстановитьПривилегированныйРежим(Истина); ДанныеКомпоновки = ИнициализироватьКомпоновщик(СписокИменМетаданных); @@ -209,9 +228,12 @@ // Инициализирует весь объект // // Параметры: -// Источник: адрес объекта-источника во временном хранилище или данные +// Источник - Строка, УникальныйИдентификатор - адрес объекта-источника во временном хранилище или данные // -Функция ИнициализироватьЭтотОбъект(Знач Источник="") Экспорт +// Возвращаемое значение: +// ОбработкаОбъект - ИнтерактивноеИзменениеВыгрузки +// +Функция ИнициализироватьЭтотОбъект(Знач Источник = "") Экспорт Если ТипЗнч(Источник)=Тип("Строка") Тогда Если ПустаяСтрока(Источник) Тогда @@ -249,7 +271,10 @@ // Сохраняет данные этого объекта во временном хранилище // // Параметры: -// АдресХранилища: идентификатор формы хранилища или адрес для помещения +// АдресХранилища - Строка, УникальныйИдентификатор - идентификатор формы хранилища или адрес для помещения +// +// Возвращаемое значение: +// Строка - адрес сохраненного // Функция СохранитьЭтотОбъект(Знач АдресХранилища) Экспорт Данные = Новый Структура; @@ -268,12 +293,12 @@ // Опирается на значения реквизитов "УзелИнформационнойБазы", "ДополнительнаяРегистрация" // // Параметры: -// АдресСохраненияСхемы: адрес временного хранилища для сохранения схемы компоновки -// (обход особенности платформы) +// АдресСохраненияСхемы - Строка, УникальныйИдентификатор - адрес временного хранилища для сохранения схемы компоновки // -// Возвращаемое значение - Структура с полями -// Настройки - НастройкиКомпоновкиДанных - Настройки компоновщика -// СхемаКомпоновки - СхемаКомпоновкиДанных - Схема компоновки +// Возвращаемое значение: +// Структура - поля: +// * Настройки - НастройкиКомпоновкиДанных - Настройки компоновщика +// * СхемаКомпоновки - СхемаКомпоновкиДанных - Схема компоновки // Функция КомпоновщикНастроекОбщегоОтбора(АдресСохраненияСхемы=Неопределено) Экспорт @@ -297,15 +322,17 @@ // Возвращает компоновщик для отборов одного вида метаданных узла "УзелИнформационнойБазы" // // Параметры: -// ПолноеИмяМетаданных: имя таблицы для построения компоновщика. Возможно там будут -// идентификаторы для "всех документов" или "всех справочников" -// или ссылка на группу. -// Представление: представление объекта в отборе -// Отбор: отбор компоновки для заполнения -// АдресСохраненияСхемы: адрес временного хранилища для сохранения схемы компоновки -// (обход особенности платформы) +// ПолноеИмяМетаданных - Строка - имя таблицы для построения компоновщика. Возможно там будут +// идентификаторы для "всех документов" или "всех справочников" +// или ссылка на группу. +// Представление - Строка - представление объекта в отборе +// Отбор - ОтборКомпоновкиДанных - отбор компоновки для заполнения +// АдресСохраненияСхемы - Строка, УникальныйИдентификатор - адрес временного хранилища для сохранения схемы компоновки // -Функция КомпоновщикНастроекПоИмениТаблицы(ПолноеИмяМетаданных, Представление=Неопределено, Отбор=Неопределено, АдресСохраненияСхемы=Неопределено) Экспорт +// Возвращаемое значение: +// КомпоновщикНастроекКомпоновкиДанных - инициализированный компоновщик +// +Функция КомпоновщикНастроекПоИмениТаблицы(ПолноеИмяМетаданных, Представление = Неопределено, Отбор = Неопределено, АдресСохраненияСхемы = Неопределено) Экспорт СхемаКомпоновки = Новый СхемаКомпоновкиДанных; @@ -331,18 +358,23 @@ Возврат Компоновщик; КонецФункции -// Возвращает префикс для получения имен форм текущего объекта +// Возвращаемое значение: +// Строка - префикс для получения имен форм текущего объекта // Функция БазовоеИмяДляФормы() Экспорт Возврат Метаданные().ПолноеИмя() + "." КонецФункции -// Возвращает заголовок для формирования представления отбора по всем документам +// Возвращаемое значение: +// Строка - заголовок для формирования представления отбора по всем документам +// Функция ЗаголовокГруппыОтбораВсехДокументов() Экспорт Возврат НСтр("ru='Все документы'"); КонецФункции -// Возвращает заголовок для формирования представления отбора по всем справочникам +// Возвращаемое значение: +// Строка - заголовок для формирования представления отбора по всем справочникам +// Функция ЗаголовокГруппыОтбораВсехСправочников() Экспорт Возврат НСтр("ru='Все справочники'"); КонецФункции @@ -350,20 +382,20 @@ // Возвращает описание периода и отбора строкой // // Параметры: -// Период: период для описания отбора -// Отбор: отбор компоновки данных для описания -// ОписаниеПустогоОтбора: значение, возвращаемое в случае пустого отбора +// Период - СтандартныйПериод - период для описания отбора +// Отбор - ОтборКомпоновкиДанных - отбор компоновки данных для описания +// ОписаниеПустогоОтбора - Строка - значение, возвращаемое в случае пустого отбора // -Функция ПредставлениеОтбора(Период, Отбор, Знач ОписаниеПустогоОтбора=Неопределено) Экспорт +Функция ПредставлениеОтбора(Период, Отбор, Знач ОписаниеПустогоОтбора = Неопределено) Экспорт Возврат ОбменДаннымиСервер.ПредставлениеОтбораДополненияВыгрузки(Период, Отбор, ОписаниеПустогоОтбора); КонецФункции // Возвращает описание периода и отбора по реквизитам "ПериодОтбораВсехДокументов" и "КомпоновщикОтбораВсехДокументов" // // Параметры: -// ОписаниеПустогоОтбора: значение, возвращаемое в случае пустого отбора +// ОписаниеПустогоОтбора - Строка - значение, возвращаемое в случае пустого отбора // -Функция ПредставлениеОтбораВсехДокументов(Знач ОписаниеПустогоОтбора=Неопределено) Экспорт +Функция ПредставлениеОтбораВсехДокументов(Знач ОписаниеПустогоОтбора = Неопределено) Экспорт Если ОписаниеПустогоОтбора=Неопределено Тогда ОписаниеПустогоОтбора = ЗаголовокГруппыОтбораВсехДокументов(); @@ -375,7 +407,7 @@ // Возвращает описание детального отбора по реквизиту "ДополнительнаяРегистрация" // // Параметры: -// ОписаниеПустогоОтбора: значение, возвращаемое в случае пустого отбора +// ОписаниеПустогоОтбора - Строка - значение, возвращаемое в случае пустого отбора // Функция ПредставлениеДетальногоОтбора(Знач ОписаниеПустогоОтбора=Неопределено) Экспорт Возврат ОбменДаннымиСервер.ПредставлениеДетальногоДополненияВыгрузки(ДополнительнаяРегистрация, ОписаниеПустогоОтбора); @@ -388,25 +420,24 @@ Возврат ОбменДаннымиСервер.ДополнениеВыгрузкиИдентификаторВсехДокументов(); КонецФункции -// -// Идентификатор служебной группы объектов метаданных "Все справочники" +// Возвращаемое значение: +// Строка - идентификатор служебной группы объектов метаданных "Все справочники" // Функция ИдентификаторВсехСправочников() Экспорт // Не должно пересекаться с полным именем метаданных Возврат ОбменДаннымиСервер.ДополнениеВыгрузкиИдентификаторВсехСправочников(); КонецФункции -// // Добавляет отбор в конец отбора с возможной коррекцией полей // // Параметры: -// ЭлементыПриемника: КоллекцияЭлементовОтбораКомпоновкиДанных - приемник -// ЭлементыИсточника: КоллекцияЭлементовОтбораКомпоновкиДанных - источник -// СоответствиеПолей: Коллекция объектов КлючИЗначение, у которых -// Ключ - исходный путь к данным поля, Значение - путь -// для результата. Например для замены полей типа -// "Ссылка.Наименование" -> "ОбъектРегистрации.Наименование" -// надо передать Новый Структура("Ссылка", "ОбъектРегистрации") +// ЭлементыПриемника - КоллекцияЭлементовОтбораКомпоновкиДанных - приемник +// ЭлементыИсточника - КоллекцияЭлементовОтбораКомпоновкиДанных - источник +// СоответствиеПолей - Коллекция объектов КлючИЗначение, у которых +// Ключ - исходный путь к данным поля, Значение - путь +// для результата. Например для замены полей типа +// "Ссылка.Наименование" -> "ОбъектРегистрации.Наименование" +// надо передать Новый Структура("Ссылка", "ОбъектРегистрации") // Процедура ДобавитьЗначенияОтбораКомпоновки(ЭлементыПриемника, ЭлементыИсточника, СоответствиеПолей=Неопределено) Экспорт @@ -442,8 +473,12 @@ // Возвращает элемент списка значений по представлению // // Параметры: -// СписокЗначений: список для поиска -// Представление: параметр для поиска +// СписокЗначений - СписокЗначений - список для поиска +// Представление - Строка - параметр для поиска +// +// Возвращаемое значение: +// ЭлементСписка - найденный элемент +// Неопределено - если элемент не найден // Функция НайтиПоПредставлениюЭлементСписка(СписокЗначений, Представление) Экспорт Для Каждого ЭлементСписка Из СписокЗначений Цикл @@ -458,7 +493,7 @@ // Процедура ЗарегистрироватьДополнительныеИзменения() Экспорт - Если ВариантВыгрузки<=0 Тогда + Если ВариантВыгрузки <= 0 Тогда // без изменений Возврат; КонецЕсли; @@ -468,7 +503,7 @@ УстановитьПривилегированныйРежим(Истина); Для Каждого СтрокаГруппы Из ДеревоИзменений.Строки Цикл Для Каждого Строка Из СтрокаГруппы.Строки Цикл - Если Строка.КоличествоДляВыгрузки>0 Тогда + Если Строка.КоличествоДляВыгрузки > 0 Тогда ОбменДаннымиСобытия.ЗарегистрироватьИзмененияДанных(УзелИнформационнойБазы, Строка.ОбъектРегистрации, Ложь); КонецЕсли; КонецЦикла; @@ -484,6 +519,9 @@ // Варианты - Массив - если указано, то фильтруем восстанавливаемые настройки по вариантам // 0 - без отбора, 1 - отбор всех документов, 2 - подробный, 3 - сценарий узла // +// Возвращаемое значение: +// СписокЗначений - возможные настройки +// Функция ПрочитатьПредставленияСпискаНастроек(УзелОбмена=Неопределено, Варианты=Неопределено) Экспорт ПараметрыНастроек = СтруктураПараметровНастроек(УзелОбмена); @@ -543,8 +581,8 @@ // Сохраняет значения реквизитов текущего объекта в настройки с указанным представлением // // Параметры: -// АдресВариантовНастроек: адрес во временном хранилище списка значений настроек -// Представление: представление сохраняемых настроек +// АдресВариантовНастроек - Строка, УникальныйИдентификатор -адрес во временном хранилище списка значений настроек +// Представление: - Строка - представление настроек // Процедура СохранитьТекущееВНастройки(Представление) Экспорт СписокВариантов = ПрочитатьСписокНастроек(); @@ -575,8 +613,8 @@ // Удаляет вариант настроек из списка // // Параметры: -// АдресВариантовНастроек: адрес во временном хранилище списка значений настроек -// Представление: представление удаляемых настроек +// АдресВариантовНастроек - Строка, УникальныйИдентификатор -адрес во временном хранилище списка значений настроек +// Представление: - Строка - представление настроек // Процедура УдалитьВариантНастроек(Представление) Экспорт СписокВариантов = ПрочитатьСписокНастроек(); @@ -594,9 +632,12 @@ // Опирается на текущее значение реквизита "УзелИнформационнойБазы" // // Параметры: -// ПолноеИмяМетаданных - имя таблицы (например "Справочник.Валюты") или имя предопределенной группы +// ПолноеИмяМетаданных - Строка, ДеревоЗначений- имя таблицы (например "Справочник.Валюты") или имя предопределенной группы // (например "ВсеДокументы") или дерево значений, описывающее группу // +// Возвращаемое значение: +// Массив - имена метаданных +// Функция СоставУкрупненнойГруппыМетаданных(ПолноеИмяМетаданных) Экспорт Если ТипЗнч(ПолноеИмяМетаданных)<>Тип("Строка") Тогда @@ -643,13 +684,15 @@ #КонецОбласти #Область СлужебныеПроцедурыИФункции -// // Конструктор таблиц значений. Генерирует таблицу с колонками произвольного типа. // // Параметры: -// СписокКолонок: список имен колонок таблицы через запятую. -// СписокИндексов: список индексов таблицы через запятую. +// СписокКолонок - Строка - список имен колонок таблицы через запятую. +// СписокИндексов - Строка - список индексов таблицы через запятую. +// +// Возвращаемое значение: +// ТаблицаЗначений - построенная таблица // Функция ТаблицаЗначений(СписокКолонок, СписокИндексов="") ТаблицаРезультата = Новый ТаблицаЗначений; @@ -667,11 +710,11 @@ // Добавляет одиночный элемент отбора в список. // // Параметры: -// ЭлементыОтбора: ссылка на проверяемый объект. -// ПутьПоляКДанным: путь к данным для добавляемого элемента -// ВидСравнения: вид сравнения для добавляемого элемента -// Значение: значение сравнения для добавляемого элемента -// Представление: необязательное представление поля +// ЭлементыОтбора - ЭлементОтбораКомпоновкиДанных - ссылка на проверяемый объект. +// ПутьПоляКДанным - Строка - путь к данным для добавляемого элемента +// ВидСравнения - ВидСравненияКомпоновкиДанных - вид сравнения для добавляемого элемента +// Значение - Произвольный - значение сравнения для добавляемого элемента +// Представление -Строка - необязательное представление поля // Процедура ДобавитьЭлементОтбора(ЭлементыОтбора, ПутьПоляКДанным, ВидСравнения, Значение, Представление=Неопределено) @@ -689,9 +732,9 @@ // Добавляет в схему компоновки набор данных с одним полем "Ссылка" по имени таблицы // // Параметры: -// СхемаКомпоновкиДанных: схема, в которую происходит добавление -// ИмяТаблицы: имя таблицы данных -// Представление: представление для поля "ссылка" +// СхемаКомпоновкиДанных - СхемаКомпоновкиДанных - схема, в которую происходит добавление +// ИмяТаблицы: - Строка - имя таблицы данных +// Представление: - Строка - представление для поля "ссылка" // Процедура ДобавитьНаборВСхемуКомпоновки(СхемаКомпоновкиДанных, ИмяТаблицы, Представление=Неопределено) @@ -715,8 +758,8 @@ // Добавляет в структуру компоновки структуру из коллекции // // Параметры: -// ЭлементыПриемника: КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - приемник -// ЭлементыИсточника: КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - источник +// ЭлементыПриемника - КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - приемник +// ЭлементыИсточника - КоллекцияЭлементовСтруктурыНастроекКомпоновкиДанных - источник // Процедура ДобавитьЗначенияСтруктурыКомпоновки(ЭлементыПриемника, ЭлементыИсточника) Для Каждого Элемент Из ЭлементыИсточника Цикл @@ -734,17 +777,21 @@ // "УзелИнформационнойБазы", "ДополнительнаяРегистрация", // "ВариантВыгрузки", "ПериодОтбораВсехДокументов", "КомпоновщикОтбораВсехДокументов" // -// Вовзращает структуру с полями "ТаблицаМетаданныхСоставаУзла, СхемаКомпоновки, КомпоновщикНастроек" -// // Параметры: -// СписокИменМетаданных: массив (или перечислимое с полем "ПолноеИмяМетаданных") имен -// метаданных (деревья значений группы ограничений, служебных идентификаторов -// "все документов" или "все НСИ"), для которых будет построена схема. -// Если не указано, то для всего состава узла. -// ОграничиватьИспользованиеОтбором: флаг того, что компоновка будет инициализирована только -// для отбора элементов выгрузки -// АдресСохраненияСхемы: адрес временного хранилища для сохранения схемы компоновки -// (обход особенности платформы) +// СписокИменМетаданных - Массив - имена метаданных (деревья значений группы ограничений, служебных идентификаторов +// "все документов" или "все НСИ"), для которых будет построена схема. +// Если не указано, то для всего состава узла. +// +// ОграничиватьИспользованиеОтбором - Булево - флаг того, что компоновка будет инициализирована только +// для отбора элементов выгрузки +// +// АдресСохраненияСхемы - Строка, УникальныйИдентификатор - адрес временного хранилища для сохранения схемы компоновки +// +// Возвращаемое значение: +// Структура - поля: +// * ТаблицаМетаданныхСоставаУзла - ТаблицаЗначений - описание состава узла +// * СхемаКомпоновки - СхемаКомпоновкиДанных - инициированное значение +// * КомпоновщикНастроек - КомпоновщикНастроекКомпоновкиДанных - инициированное значение // Функция ИнициализироватьКомпоновщик(СписокИменМетаданных=Неопределено, ОграничиватьИспользованиеОтбором=Ложь, АдресСохраненияСхемы=Неопределено) @@ -1079,8 +1126,8 @@ Для Каждого Элемент Из ЭлементыИсточника Цикл // Ветка разбора аналогична ветке в ДобавитьДополнительныеНаборыКомпоновкиТабличныхЧастей - Тип=ТипЗнч(Элемент); - Если Тип=Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда + Тип = ТипЗнч(Элемент); + Если Тип = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда // Группу копируем ЭлементОтбора = ЭлементыПриемника.Добавить(Тип); ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент); @@ -1094,16 +1141,16 @@ // Это элемент, смотрим чтобы попало на нашу табличку ИмяПоля = Строка(Элемент.ЛевоеЗначение); - Если ИмяПоля="Ссылка" Тогда + Если ИмяПоля = "Ссылка" Тогда ЭлементОтбора = ЭлементыПриемника.Добавить(Тип); ЗаполнитьЗначенияСвойств(ЭлементОтбора, Элемент); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОбъектРегистрации"); Продолжить; - ИначеЕсли Лев(ИмяПоля, 7)="Ссылка." Тогда + ИначеЕсли Лев(ИмяПоля, 7) = "Ссылка." Тогда ИмяПоля = Сред(ИмяПоля, 8); - ИначеЕсли Лев(ИмяПоля, 18)="ОбъектРегистрации." Тогда + ИначеЕсли Лев(ИмяПоля, 18) = "ОбъектРегистрации." Тогда ИмяПоля = Сред(ИмяПоля, 19); Иначе @@ -1114,7 +1161,7 @@ КонецЕсли; Позиция = Найти(ИмяПоля, "."); - ИмяТаблицы = Лев(ИмяПоля, Позиция-1); + ИмяТаблицы = Лев(ИмяПоля, Позиция - 1); МетаТабличнаяЧасть = МетаОбъекта.ТабличныеЧасти.Найти(ИмяТаблицы); Если Позиция = 0 Тогда @@ -1190,8 +1237,11 @@ // Возвращает параметры-ключи для сохранения настроек в разрезе плана обмена для всех пользователей // // Параметры: -// УзелОбмена: ссылка на узел обмена для возвращаемых настроек. Если не указано, то используется -// текущее значение реквизита "УзелИнформационнойБазы" +// УзелОбмена - ПланОбменаСсылка - ссылка на узел обмена для возвращаемых настроек. Если не указано, то используется +// текущее значение реквизита "УзелИнформационнойБазы" +// +// Возвращаемое значение: +// ОписаниеНастроек - описание настроек // Функция СтруктураПараметровНастроек(УзелОбмена=Неопределено) Узел = ?(УзелОбмена=Неопределено, УзелИнформационнойБазы, УзелОбмена); @@ -1221,6 +1271,9 @@ // Варианты - Массив - если указано, то фильтруем восстанавливаемые настройки по вариантам // 0 - без отбора, 1 - отбор всех документов, 2 - подробный, 3 - сценарий узла // +// Возвращаемое значение: +// СписокЗначений - настройки +// Функция ПрочитатьСписокНастроек(Варианты=Неопределено) ПараметрыНастроек = СтруктураПараметровНастроек(); @@ -1250,7 +1303,7 @@ // Сохраняет список значений настроек для текущего значения "УзелИнформационнойБазы" // // Параметры: -// СписокВариантов: сохраняемый список вариантов +// СписокВариантов - СписокЗначений - сохраняемый список вариантов // Процедура СохранитьСписокНастроек(СписокВариантов) ПараметрыНастроек = СтруктураПараметровНастроек(); diff --git a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Templates/СхемаКомпоновкиДанных/Template.dcs b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Templates/СхемаКомпоновкиДанных/Template.dcs index 74396de4c..a850ee163 100644 --- a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Templates/СхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/Templates/СхемаКомпоновкиДанных/Template.dcs @@ -247,7 +247,7 @@ ВыгрузкаОбъектаВозможна - ОбменДаннымиСервер.ВыгрузкаСсылкиРазрешена(&УзелИнформационнойБазы, ОбъектРегистрации) + ОбменДаннымиСервер.ВыгрузкаСсылкиИзИнтерактивногоДополненияРазрешена(&УзелИнформационнойБазы, ОбъектРегистрации) <v8:item> <v8:lang>ru</v8:lang> diff --git a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ИнтерактивноеИзменениеВыгрузки.mdo b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ИнтерактивноеИзменениеВыгрузки.mdo index 076d1472d..23e8a6d67 100644 --- a/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ИнтерактивноеИзменениеВыгрузки.mdo +++ b/SSL/src/DataProcessors/ИнтерактивноеИзменениеВыгрузки/ИнтерактивноеИзменениеВыгрузки.mdo @@ -10,6 +10,7 @@ <value>Интерактивное изменение выгрузки</value> </synonym> <defaultForm>DataProcessor.ИнтерактивноеИзменениеВыгрузки.Form.Форма</defaultForm> + <includeHelpInContents>true</includeHelpInContents> <help> <pages> <lang>ru</lang> diff --git a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl index 19c3fdce9..4394cccc9 100644 --- a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Forms/Форма/Module.bsl @@ -73,10 +73,16 @@ Если Найти(ИмяОткрываемойСтраницы, СтандартныйПрефикс) > 0 Тогда ИмяОткрываемойСтраницы = СтрЗаменить(ИмяОткрываемойСтраницы, СтандартныйПрефикс, ""); + Если Лев(ИмяОткрываемойСтраницы, 1) = "#" Тогда + Возврат; + КонецЕсли; ПросмотрСтраницы("ПоВнутреннейСсылке", ИмяОткрываемойСтраницы); ИначеЕсли Найти(ИмяОткрываемойСтраницы, СтрЗаменить(СтандартныйПрефикс, " ", "%20")) > 0 Тогда ИмяОткрываемойСтраницы = СтрЗаменить(ИмяОткрываемойСтраницы, "%20", " "); ИмяОткрываемойСтраницы = СтрЗаменить(ИмяОткрываемойСтраницы, СтандартныйПрефикс, ""); + Если Лев(ИмяОткрываемойСтраницы, 1) = "#" Тогда + Возврат; + КонецЕсли; ПросмотрСтраницы("ПоВнутреннейСсылке", ИмяОткрываемойСтраницы); Иначе #Если ТолстыйКлиентОбычноеПриложение Тогда @@ -213,6 +219,14 @@ ДобавленныеКоманды.Сортировать("Раздел"); Для Каждого СтрокаТаблицы Из ДобавленныеКоманды Цикл + СтрокаТаблицы.ЗаголовокФормы = НСтр("ru = 'Информация'"); + + МинимальныйПриоритет = Мин(СтрокаТаблицы.Приоритет, МинимальныйПриоритет); + + Если Не ЗначениеЗаполнено(СтрокаТаблицы.НаименованиеСтартовойСтраницы) Тогда + Продолжить; + КонецЕсли; + НаименованиеРаздела = СокрЛП(СтрокаТаблицы.Раздел); Если НаименованиеТекущегоРаздела <> НаименованиеРаздела Тогда @@ -229,7 +243,6 @@ КонецЕсли; - СтрокаТаблицы.ЗаголовокФормы = НСтр("ru = 'Информация'"); Если ТекущееПодменю <> Элементы.БезПодменю Тогда СтрокаТаблицы.ЗаголовокФормы = СтрокаТаблицы.ЗаголовокФормы + ": " + СтрокаТаблицы.Раздел +" / "+ СтрокаТаблицы.НаименованиеСтартовойСтраницы; КонецЕсли; @@ -243,8 +256,6 @@ Кнопка = Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), ТекущееПодменю); Кнопка.ИмяКоманды = ИмяКоманды; - МинимальныйПриоритет = Мин(СтрокаТаблицы.Приоритет, МинимальныйПриоритет); - КонецЦикла; Если МинимальныйПриоритет = 100 Тогда diff --git a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Help/ru.html b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Help/ru.html index 500791f3e..6b2f122af 100644 --- a/SSL/src/DataProcessors/ИнформацияПриЗапуске/Help/ru.html +++ b/SSL/src/DataProcessors/ИнформацияПриЗапуске/Help/ru.html @@ -1,7 +1,7 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>В этой форме выводится справочная, нормативная и другая информация, поставляемая в составе программы.</p> -<p>Для открытия формы откройте <strong>Рабочий стол</strong> и вызовите команду "<strong>Информация при запуске</strong>" из группы "<strong>Информация</strong>" панели действий. При открытии сразу показывается одна из страниц дополнительной информации.</p> -<p>В командной панели формы размещены навигационные кнопки "<strong>Назад</strong>" и "<strong>Вперед</strong>", с помощью которых осуществляется переход по уже просмотренным страницам, а также пункты меню, соответствующие названиям разделов дополнительной информации. При выборе в командной панели раздела открывается список страниц дополнительной информации, относящихся к данному разделу. Страница показывается в форме при выборе пункта меню с названием страницы.</p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначена для просмотра справочной, нормативной и другой информации, поставляемой в составе программы.</p> +<p>Для базовых версий показ дополнительной информации при начале работы программы выполняется всегда.</p> +<p>Открывается по команде <strong>Информация при запуске</strong> из группы <strong>Информация</strong> на странице <strong>Главное</strong>. При открытии сразу показывается одна из страниц дополнительной информации.</p> +<p>В командной панели  размещены навигационные кнопки <img src="StdPicture.MoveLeft"></img> <strong>Назад</strong> и <img src="StdPicture.MoveRight"></img> <strong>Вперед</strong>, с помощью которых осуществляется переход по уже просмотренным страницам, а также пункты меню, соответствующие названиям разделов дополнительной информации. При выборе в командной панели раздела открывается список страниц дополнительной информации, относящихся к данному разделу. Страница показывается при выборе пункта меню с названием страницы.</p> <p>Текст страницы может содержать ссылки на другие страницы дополнительной информации (внутренние ссылки), а также ссылки на разделы сайтов, размещенных в сети Интернет (внешние ссылки). Для перехода по внешним ссылкам необходимо, чтобы компьютер имел доступ в сеть Интернет.</p> -<p>Для пользователей конфигураций ПРОФ-версий доступна настройка показа дополнительной информации при начале работы программы. Если дополнительная информация показывается в режиме рабочего стола, то в командной панели размещается флажок "<strong>Показывать при начале работы</strong>". Если снять его установку, то дополнительная информация не будет показываться при начале работы. Флажок "<strong>Показывать при начале работы</strong>" автоматически сбрасывается два раза в месяц и после обновления версии программы.</p> -<p>Для пользователей базовых версий конфигураций показ дополнительной информации при начале работы программы выполняется всегда.</p></body></html> \ No newline at end of file +<p>Для ПРОФ-версий доступна настройка показа дополнительной информации при начале работы программы. Если дополнительная информация показывается в режиме рабочего стола, то в командной панели размещается флажок <strong>Показывать при начале работы</strong>. Если снять флажок, то дополнительная информация не будет показываться при начале работы. Флажок <strong>Показывать при начале работы</strong> автоматически снимается два раза в месяц и после обновления версии программы.</p></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Form.form b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Form.form index a759fde3b..0fa392885 100644 --- a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Form.form @@ -183,46 +183,6 @@ <verticalStretch>false</verticalStretch> </extInfo> </items> - <items xsi:type="form:FormField"> - <name>Состояние</name> - <id>30</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>Состояние</segments> - </dataPath> - <titleLocation>None</titleLocation> - <extendedTooltip> - <name>СостояниеExtendedTooltip</name> - <id>41</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>СостояниеКонтекстноеМеню</name> - <id>31</id> - <autoFill>true</autoFill> - </contextMenu> - <type>LabelField</type> - <readOnly>true</readOnly> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:LabelFieldExtInfo"> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <horizontalStretch>false</horizontalStretch> - <verticalStretch>false</verticalStretch> - </extInfo> - </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -392,7 +352,7 @@ <extInfo xsi:type="form:UsualGroupExtInfo"> <group>Vertical</group> <behavior>Auto</behavior> - <representation>StrongSeparation</representation> + <representation>NormalSeparation</representation> <showLeftMargin>true</showLeftMargin> <united>true</united> <throughAlign>Auto</throughAlign> @@ -421,7 +381,7 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Command.Задачи</commandName> + <commandName>Form.Command.ПоказатьЗадачи</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> @@ -530,7 +490,7 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.Command.Задачи</commandName> + <commandName>Form.Command.ПоказатьЗадачи</commandName> <buttonImportance>Normal</buttonImportance> <representation>Auto</representation> <autoMaxWidth>true</autoMaxWidth> @@ -645,7 +605,7 @@ <valueType> <types>String</types> <stringQualifiers> - <length>12</length> + <length>20</length> </stringQualifiers> </valueType> <view> @@ -752,10 +712,10 @@ <selectedRowsUse>Auto</selectedRowsUse> </formCommands> <formCommands> - <name>Задачи</name> + <name>ПоказатьЗадачи</name> <title> <key>ru</key> - <value>Задачи в точке маршрута</value> + <value>Показать задачи для точки маршрута</value> 2 @@ -765,9 +725,6 @@ true - - StdPicture.Task - ЗадачиВыполнить diff --git a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Module.bsl index 205b7e27e..6cd01d6a1 100644 --- a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Forms/Форма/Module.bsl @@ -64,9 +64,10 @@ Возврат; КонецЕсли; + ЕстьСостояние = БизнесПроцесс.Метаданные().Реквизиты.Найти("Состояние") <> Неопределено; СвойстваБизнесПроцесса = ОбщегоНазначения.ЗначенияРеквизитовОбъекта( БизнесПроцесс, "Автор,Дата,ДатаЗавершения,Завершен,Стартован" + - ?(БизнесПроцесс.Метаданные().Реквизиты.Найти("Состояние") = Неопределено, "", ",Состояние")); + ?(ЕстьСостояние, ",Состояние", "")); ЗаполнитьЗначенияСвойств(ЭтотОбъект, СвойстваБизнесПроцесса); Если СвойстваБизнесПроцесса.Завершен Тогда Статус = НСтр("ru = 'Завершен'"); @@ -78,6 +79,9 @@ Статус = НСтр("ru = 'Не стартован'"); Элементы.ГруппаСтатус.ТекущаяСтраница = Элементы.ГруппаНеЗавершен; КонецЕсли; + Если ЕстьСостояние Тогда + Статус = Статус + ", " + НРег(Состояние); + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Help/ru.html b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Help/ru.html new file mode 100644 index 000000000..a8829d28b --- /dev/null +++ b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/Help/ru.html @@ -0,0 +1,47 @@ + +

                                    Открывается из списка Мои бизнес-процессы или из окна бизнес-процесса (например, Задания) по кнопке  Карта маршрута.

                                    +

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

                                    +

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

                                    +

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

                                    +

                                    +
                                  - Ошибка;
                                  + + + + + + + + + + + + + + + + + +
                                  ДействиеКто выполняетВыполнение команды
                                  Принять к исполнениюИсполнитель бизнес-процесса, указанный в качестве исполнителя для первой точки маршрута. +

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

                                  +

                                  Создать на основании

                                  +

                                  Сотрудник, имеющий доступ для работы с бизнес-процессом.

                                  +

                                  С помощью этой команды можно создать подчиненные бизнес-процессы.

                                  +

                                  Выполнено

                                  +

                                  Исполнитель задания, указанный в качестве исполнителя для первой точки маршрута Выполнить.

                                  +

                                  После нажатия кнопки Выполнено задача меняет свой статус, переходит в список выполненных задач и становится неактивной в списках.

                                  +

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

                                  +

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

                                  +

                                  Отменено

                                  +

                                  Исполнитель задания, указанный в качестве исполнителя для первой точки маршрута Выполнить.

                                  +

                                  Нажатие кнопки Отменено означает невыполнение задачи. Задача получает соответствующий статус.

                                  +

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

                                  +

                                  Проверяющий подтверждает невыполнение задачи.

                                  +

                                  Возвращено

                                  +

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

                                  +

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

                                  +

                                  Перенаправить

                                  +

                                  Исполнитель и проверяющий

                                  +

                                  С помощью кнопки Перенаправить задача появляется в списке задач другого исполнителя.

                                  Просмотр задач по точке маршрута бизнес-процесса

                                  +
                                  • +
                                    Для того чтобы просмотреть список задач по точке маршрута бизнес-процесса, нажмите кнопку Показать задачи для точки маршрута. Также для этого можно воспользоваться двойным щелчком мыши по точке маршрута.
                                  \ No newline at end of file diff --git a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/КартаМаршрутаБизнесПроцесса.mdo b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/КартаМаршрутаБизнесПроцесса.mdo index 60cf5fc37..71fbeba77 100644 --- a/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/КартаМаршрутаБизнесПроцесса.mdo +++ b/SSL/src/DataProcessors/КартаМаршрутаБизнесПроцесса/КартаМаршрутаБизнесПроцесса.mdo @@ -11,6 +11,12 @@ true DataProcessor.КартаМаршрутаБизнесПроцесса.Form.Форма + true + + + ru + + Форма diff --git a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl index a892a7542..8c7595c70 100644 --- a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl +++ b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/ObjectModule.bsl @@ -261,19 +261,21 @@ Колонки = ПолеТаблицаДанныхЗаголовкаПакета.Колонки; - Колонки.Добавить("ТипОбъектаСтрокой", одОписаниеТипа("Строка")); + одОписаниеТипаСтрока = одОписаниеТипа("Строка"); + одОписаниеТипаБулево = одОписаниеТипа("Булево"); + + Колонки.Добавить("ТипОбъектаСтрокой", одОписаниеТипаСтрока); Колонки.Добавить("КоличествоОбъектовВИсточнике", одОписаниеТипа("Число")); - Колонки.Добавить("ПоляПоиска", одОписаниеТипа("Строка")); - Колонки.Добавить("ПоляТаблицы", одОписаниеТипа("Строка")); + Колонки.Добавить("ПоляПоиска", одОписаниеТипаСтрока); + Колонки.Добавить("ПоляТаблицы", одОписаниеТипаСтрока); - Колонки.Добавить("ТипИсточникаСтрокой", одОписаниеТипа("Строка")); - Колонки.Добавить("ТипПриемникаСтрокой", одОписаниеТипа("Строка")); - - Колонки.Добавить("СинхронизироватьПоИдентификатору", одОписаниеТипа("Булево")); - Колонки.Добавить("ЭтоУдалениеОбъекта", одОписаниеТипа("Булево")); - Колонки.Добавить("ЭтоКлассификатор", одОписаниеТипа("Булево")); - Колонки.Добавить("ИспользоватьПредварительныйПросмотр", одОписаниеТипа("Булево")); + Колонки.Добавить("ТипИсточникаСтрокой", одОписаниеТипаСтрока); + Колонки.Добавить("ТипПриемникаСтрокой", одОписаниеТипаСтрока); + Колонки.Добавить("СинхронизироватьПоИдентификатору", одОписаниеТипаБулево); + Колонки.Добавить("ЭтоУдалениеОбъекта", одОписаниеТипаБулево); + Колонки.Добавить("ЭтоКлассификатор", одОписаниеТипаБулево); + Колонки.Добавить("ИспользоватьПредварительныйПросмотр", одОписаниеТипаБулево); КонецЕсли; Возврат ПолеТаблицаДанныхЗаголовкаПакета; @@ -1042,16 +1044,20 @@ КонецПроцедуры // Выполняет последовательное чтение файла сообщения обмена при этом: -// - удаляется регистрация изменений по номеру входящей квитанции -// - загружаются правила обмена -// - загружается информация о типах данных -// - зачитывается информация сопоставления данных и записывается и ИБ -// - собирается информация о типах объектов и их количестве +// - удаляется регистрация изменений по номеру входящей квитанции +// - загружаются правила обмена +// - загружается информация о типах данных +// - зачитывается информация сопоставления данных и записывается и ИБ +// - собирается информация о типах объектов и их количестве // // Параметры: -// Нет. +// ПараметрыАнализа - Структура. Необязательные дополнительные параметры анализа. Допустимые поля: +// * СобиратьСтатистикуКлассификаторов - Булево - Флаг того, что данные по классификаторам будут включены в статистику. +// Под классификаторами понимаются справочники, ПВХ, планы счетов, ПВР, +// у которых в ПКО установлены СинхронизироватьПоИдентификатору +// и ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли // -Процедура ВыполнитьАнализСообщенияОбмена() Экспорт +Процедура ВыполнитьАнализСообщенияОбмена(ПараметрыАнализа = Неопределено) Экспорт ЧтениеСообщения = Неопределено; Попытка @@ -1083,7 +1089,7 @@ Попытка // зачитываем данные из сообщения обмена - ПроизвестиЧтениеДанныхВРежимеАнализа(ЧтениеСообщения); + ПроизвестиЧтениеДанныхВРежимеАнализа(ЧтениеСообщения, ПараметрыАнализа); Если ФлагОшибки() Тогда ВызватьИсключение НСтр("ru = 'Возникли ошибки при анализе данных.'"); @@ -1100,18 +1106,15 @@ // ТаблицаДанныхЗаголовкаПакета().Колонки.Добавить("ПоляПоиска", одОписаниеТипа("Строка")); ТаблицаДанныхЗаголовкаПакета().Колонки.Добавить("ПоляТаблицы", одОписаниеТипа("Строка")); + ТаблицаДанныхЗаголовкаПакета().Индексы.Добавить("ТипИсточникаСтрокой, ТипПриемникаСтрокой"); Для Каждого СтрокаТаблицы Из ТаблицаДанныхЗаголовкаПакета() Цикл - Отбор = Новый Структура; - Отбор.Вставить("ТипИсточникаСтрокой", СтрокаТаблицы.ТипИсточникаСтрокой); - Отбор.Вставить("ТипПриемникаСтрокой", СтрокаТаблицы.ТипПриемникаСтрокой); - + Отбор = Новый Структура("ТипИсточникаСтрокой, ТипПриемникаСтрокой", СтрокаТаблицы.ТипИсточникаСтрокой, СтрокаТаблицы.ТипПриемникаСтрокой); СтрокиВременнойТаблицы = ТаблицаДанныхЗаголовкаПакетаВременная.НайтиСтроки(Отбор); СтрокаТаблицы.ПоляПоиска = СтрокиВременнойТаблицы[0].ПоляПоиска; СтрокаТаблицы.ПоляТаблицы = СтрокиВременнойТаблицы[0].ПоляТаблицы; - КонецЦикла; ЗакончитьЧтениеСообщения(ЧтениеСообщения); @@ -1536,6 +1539,10 @@ // Процедура ОтменитьПроведениеОбъектаВИБ(Объект, Тип, ЗаписатьОбъект = Ложь) Экспорт + Если ОбменДаннымиСобытия.ЗагрузкаЗапрещена(Объект, УзелОбменаЗагрузкаДанных) Тогда + Возврат; + КонецЕсли; + // устанавливаем режим загрузки данных для объекта УстановитьОбменДаннымиЗагрузка(Объект); @@ -1636,17 +1643,17 @@ ИсточникВСтроку = " "; КонецПопытки; - ПрОбъекта = ИсточникВСтроку + " (" + ТипЗнч(Источник) + ")"; + ИмяДействия = ?(ТолькоПолучитьУзелСсылки, Нстр("ru = 'Конвертация ссылки на объект'"), Нстр("ru = 'Конвертация объекта'")); - СтрокаНазванияПКО = " ПКО: " + СокрЛП(ИмяПКО) + " (" + СокрЛП(ПКО.Наименование) + ")"; + ТекстСообщения = Нстр("ru = '[ИмяДействия]: [Объект]([ТипОбъекта]), ПКО: [ПКО](НаименованиеПКО)'"); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ИмяДействия]", ИмяДействия); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "[Объект]", ИсточникВСтроку); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ТипОбъекта]", ТипЗнч(Источник)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "[ПКО]", СокрЛП(ИмяПКО)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "[НаименованиеПКО]", СокрЛП(ПКО.Наименование)); - Если ТолькоПолучитьУзелСсылки Тогда - СтрокаПользователю = НСтр("ru = 'Конвертация ссылки на объект: %1%2'"); - Иначе - СтрокаПользователю = НСтр("ru = 'Конвертация объекта: %1%2'"); - КонецЕсли; + ЗаписатьВПротоколВыполнения(ТекстСообщения, , Ложь, ТекущийУровеньВложенностиВыгрузитьПоПравилу + 1, 7); - ЗаписатьВПротоколВыполнения(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаПользователю, ПрОбъекта, СтрокаНазванияПКО), , Ложь, ТекущийУровеньВложенностиВыгрузитьПоПравилу + 1, 7); КонецЕсли; ЭтоПравилоСГлобальнойВыгрузкойОбъектов = Ложь; @@ -2470,7 +2477,7 @@ Процедура УстановитьПометкуУдаленияУОбъекта(Объект, ПометкаУдаления, ИмяТипаОбъекта) Экспорт Если (ПометкаУдаления = Неопределено И Объект.ПометкаУдаления <> Истина) - Или Объект.ДополнительныеСвойства.Свойство("НайденЗапретЗагрузкиДанных") Тогда + Или ОбменДаннымиСобытия.ЗагрузкаЗапрещена(Объект, УзелОбменаЗагрузкаДанных) Тогда Возврат; КонецЕсли; @@ -3362,11 +3369,12 @@ ВременныйЗаписьXML.ЗаписатьНачалоЭлемента("ФайлОбмена"); - УстановитьАтрибут(ВременныйЗаписьXML, "ВерсияФормата", ВерсияФорматаСообщенияОбмена()); - УстановитьАтрибут(ВременныйЗаписьXML, "ДатаВыгрузки", ТекущаяДатаСеанса()); - УстановитьАтрибут(ВременныйЗаписьXML, "ИмяКонфигурацииИсточника", Конвертация.Источник); - УстановитьАтрибут(ВременныйЗаписьXML, "ИмяКонфигурацииПриемника", Конвертация.Приемник); - УстановитьАтрибут(ВременныйЗаписьXML, "ИдПравилКонвертации", Конвертация.Ид); + УстановитьАтрибут(ВременныйЗаписьXML, "ВерсияФормата", ВерсияФорматаСообщенияОбмена()); + УстановитьАтрибут(ВременныйЗаписьXML, "ДатаВыгрузки", ТекущаяДатаСеанса()); + УстановитьАтрибут(ВременныйЗаписьXML, "ИмяКонфигурацииИсточника", Конвертация.Источник); + УстановитьАтрибут(ВременныйЗаписьXML, "ВерсияКонфигурацииИсточника", Конвертация.ВерсияКонфигурацииИсточника); + УстановитьАтрибут(ВременныйЗаписьXML, "ИмяКонфигурацииПриемника", Конвертация.Приемник); + УстановитьАтрибут(ВременныйЗаписьXML, "ИдПравилКонвертации", Конвертация.Ид); ВременныйЗаписьXML.ЗаписатьКонецЭлемента(); @@ -3918,7 +3926,7 @@ Процедура ДобавитьПолеКСтрокеПоиска(СтрокаПолейПоиска, ИмяПоля) - Если ПустаяСтрока(ИмяПоля) ТОгда + Если ПустаяСтрока(ИмяПоля) Тогда Возврат; КонецЕсли; @@ -5794,6 +5802,18 @@ ПолеВерсияФорматаВходящегоСообщенияОбмена = одАтрибут(ФайлОбмена, ТипСтрока, "ВерсияФормата"); + ВерсияКонфигурацииИсточника = ""; + Конвертация.Свойство("ВерсияКонфигурацииИсточника", ВерсияКонфигурацииИсточника); + ВерсияИсточникаИзПравил = одАтрибут(ФайлОбмена, ТипСтрока, "ВерсияКонфигурацииИсточника"); + ТекстСообщения = ""; + + Если ОбменДаннымиСервер.РазличаютсяВерсииКорреспондента(ИмяПланаОбмена(), КлючСообщенияЖурналаРегистрации(), + ВерсияКонфигурацииИсточника, ВерсияИсточникаИзПравил, ТекстСообщения) Тогда + + ВызватьИсключение ТекстСообщения; + + КонецЕсли; + ФайлОбмена.Прочитать(); // ПравилаОбмена Если ФайлОбмена.ТипУзла <> ТипУзлаXML.НачалоЭлемента Тогда @@ -6237,9 +6257,12 @@ КонецЕсли; - Если НЕ ПравоДоступа("Изменение", Набор.Метаданные()) Тогда + Если Не ПравоДоступа("Изменение", Набор.Метаданные()) Тогда // отсутствуют права на всю таблицу регистра - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Нарушение прав доступа: %1'"), СтрокаДвижения.Имя); + ТекстИсключения = Нстр("ru = 'Нарушение прав доступа: %1'"); + ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстИсключения, СтрокаДвижения.Имя); + ВызватьИсключение ТекстИсключения; + Возврат; КонецЕсли; Набор.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка); @@ -6257,11 +6280,11 @@ СтрокаДвижения.НаборЗаписей.Записать(); Исключение // возможно «сработал» RLS или подсистема даты запрета изменения - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Операция не выполнена: %1 - |%2'"), - СтрокаДвижения.Имя, КраткоеПредставлениеОшибки( ИнформацияОбОшибке() ) - ); + ТекстИсключения = Нстр("ru = 'Операция не выполнена: %1 + |%2'"); + ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстИсключения, + СтрокаДвижения.Имя, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); + ВызватьИсключение ТекстИсключения; КонецПопытки; КонецЦикла; @@ -7492,7 +7515,7 @@ Исключение ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(73, ОписаниеОшибки(), "", "", - ТипОбъекта, Неопределено, НСтр("ru = 'Последовательность полей поиска'") ); + ТипОбъекта, Неопределено, Нстр("ru = 'Последовательность полей поиска'")); КонецПопытки; @@ -8309,11 +8332,9 @@ Если ФлагКомментироватьОбработкуОбъектов Тогда - Если Нпп <> 0 Тогда - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Загрузка объекта № %1'"), Нпп ); - Иначе - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Загрузка объекта № %1'"), ГНпп ); - КонецЕсли; + СтрокаСообщения = Нстр("ru = 'Загрузка объекта № %1'"); + Номер = ?(Нпп <> 0, Нпп, ГНпп); + СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, Номер); ЗП = ПолучитьСтруктуруЗаписиПротокола(); @@ -9872,7 +9893,6 @@ Возврат; КонецЕсли; - // Получение коллекции подчиненных объектов @@ -9947,6 +9967,8 @@ Если ВыгружатьГруппуЧерезФайл Тогда + ПКГС.НуженУзелXMLПриВыгрузке = Ложь; + Если СписокВременныхФайлов = Неопределено Тогда СписокВременныхФайлов = Новый СписокЗначений(); КонецЕсли; @@ -9961,30 +9983,24 @@ Исключение - СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при создании временного файла для выгрузки данных. - |Имя файла ""%1"". - |Описание ошибки: - |%2'"), - Строка(ИмяФайлаЗаписей), ПодробноеПредставлениеОшибки( ИнформацияОбОшибке() ) - ); - + СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Ошибка при создании временного файла для выгрузки данных. + |Имя файла ""%1"". + |Описание ошибки: + |%2'"), + Строка(ИмяФайлаЗаписей), + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + ЗаписатьВПротоколВыполнения(СтрокаСообщенияОбОшибке); - ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(1000, ОписаниеОшибки(), - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = '%1: Ошибка при создании временного файла для выгрузки данных'"), ИмяФайлаЗаписей ) - ); - - КонецПопытки; + КонецПопытки; ИнформацияДляЗаписиВФайл = УзелКоллекцииОбъектов.Закрыть(); - ВременныйФайЗаписей.ЗаписатьСтроку(ИнформацияДляЗаписиВФайл); + ВременныйФайЗаписей.ЗаписатьСтроку(ИнформацияДляЗаписиВФайл); КонецЕсли; Для каждого ОбъектКоллекции Из КоллекцияОбъектов Цикл - // Обработчик ПередВыгрузкой Если ПКГС.ЕстьОбработчикПередВыгрузкой Тогда @@ -10014,14 +10030,13 @@ КонецПопытки; - Если Отказ Тогда // Отказ от выгрузки подчиненного объекта + Если Отказ Тогда // Отказ от выгрузки подчиненного объекта Продолжить; КонецЕсли; - КонецЕсли; - + КонецЕсли; // Обработчик ПриВыгрузке @@ -10062,9 +10077,8 @@ КонецПопытки; КонецЕсли; - - - // Выгрузка свойств объекта коллекции + + // Выгрузка свойств объекта коллекции Если СтандартнаяОбработка Тогда Если ПКГС.ПравилаГруппы.Количество() > 0 Тогда @@ -10075,7 +10089,6 @@ КонецЕсли; КонецЕсли; - // Обработчик ПослеВыгрузки Если ПКГС.ЕстьОбработчикПослеВыгрузки Тогда @@ -10105,9 +10118,9 @@ Прервать; - КонецПопытки; + КонецПопытки; - Если Отказ Тогда // Отказ от выгрузки подчиненного объекта + Если Отказ Тогда // Отказ от выгрузки подчиненного объекта Продолжить; @@ -10175,9 +10188,9 @@ ВызватьИсключение СтрокаСообщенияОбОшибке; КонецЕсли; - КонецПопытки; + КонецПопытки; - Если Отказ Тогда // Отказ от записи коллекции подчиненных объектов + Если Отказ Тогда // Отказ от записи коллекции подчиненных объектов Возврат; @@ -10187,7 +10200,7 @@ Если ВыгружатьГруппуЧерезФайл Тогда ВременныйФайЗаписей.ЗаписатьСтроку(""); // закрыть узел - ВременныйФайЗаписей.Закрыть(); // закрыть файл явно + ВременныйФайЗаписей.Закрыть(); // закрыть файл явно Иначе ПроизвестиЗаписьДанныхВГоловнойУзел(УзелКоллекцииСвойств, СтруктураУзлаСвойств, УзелКоллекцииОбъектов); КонецЕсли; @@ -10776,7 +10789,7 @@ Иначе - СтруктураДанных = Новый Структура("Имя", ИмяУзла); + СтруктураДанных = Новый Структура("Имя", ИмяУзла); КонецЕсли; @@ -11468,15 +11481,15 @@ Если ФлагКомментироватьОбработкуОбъектов Тогда Попытка - ПрОбъекта = Строка(Объект) + " (" + ТипЗнч(Объект) + ")"; + ПрОбъекта = Строка(Объект) + " (" + ТипЗнч(Объект) + ")"; Исключение - ПрОбъекта = ТипЗнч(Объект); + ПрОбъекта = ТипЗнч(Объект); КонецПопытки; - ЗаписатьВПротоколВыполнения( - СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'ВЫГРУЗКА ОБЪЕКТА: %1'"), ПрОбъекта), , Ложь, 1, 7 - ); + ИмяСобытия = Нстр("ru = 'ВыгрузкаОбъекта: %1'"); + ИмяСобытия = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ИмяСобытия, ПрОбъекта); + ЗаписатьВПротоколВыполнения(ИмяСобытия, , Ложь, 1, 7); КонецЕсли; @@ -12097,9 +12110,7 @@ КонецЕсли; Исключение - СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(76, ОписаниеОшибки(), - НСтр("ru = 'ПередОтправкойИнформацииОбУдалении (конвертация)'") - ); + СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(76, ОписаниеОшибки(), Нстр("ru = 'ПередОтправкойИнформацииОбУдалении (конвертация)'")); Если Не ПродолжитьПриОшибке Тогда ВызватьИсключение СтрокаСообщенияОбОшибке; @@ -12376,34 +12387,80 @@ КонецЦикла; - Иначе // реквизиты табличной части - - Если ОбъектМД.ТабличныеЧасти.Найти(СтрокаТаблицы.ИмяТабличнойЧасти) = Неопределено Тогда - СтрокаСообщения = НСтр("ru = 'Неправильно указана табличная часть ""%1"" объекта ""%2"". Табличная часть не существует.'"); - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаТаблицы.ИмяТабличнойЧасти, Строка(ОбъектМД)); - ЗаписатьВПротоколВыполнения(СтрокаСообщения); + Иначе + // Табличная часть, стандартная табличная часть, движения + МетаТаблица = МетаТабличнаяЧастьРеквизитовРегистрацииОбъектов(ОбъектМД, СтрокаТаблицы.ИмяТабличнойЧасти); + Если МетаТаблица = Неопределено Тогда + ЗаписатьВПротоколВыполнения(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Табличная часть (стандартная табличная часть, движения) ""%1"" объекта ""%2"" не существует.'"), + СтрокаТаблицы.ИмяТабличнойЧасти, ОбъектМД)); Продолжить; КонецЕсли; + // Пробуем найти каждый реквизит хоть где-нибудь Для Каждого Реквизит Из СтрокаТаблицы.СтруктураРеквизитовРегистрации Цикл - Если НЕ (ОбъектМД.ТабличныеЧасти[СтрокаТаблицы.ИмяТабличнойЧасти].Реквизиты.Найти(Реквизит.Ключ) <> Неопределено - ИЛИ ОбменДаннымиСервер.ЭтоСтандартныйРеквизит(ОбъектМД.ТабличныеЧасти[СтрокаТаблицы.ИмяТабличнойЧасти].СтандартныеРеквизиты, Реквизит.Ключ)) Тогда - - СтрокаСообщения = НСтр("ru = 'Неправильно указаны реквизиты табличной части ""%1"" объекта ""%2"". Реквизит ""%3"" не существует.'"); - СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаТаблицы.ИмяТабличнойЧасти, Строка(ОбъектМД), Реквизит.Ключ); - ЗаписатьВПротоколВыполнения(СтрокаСообщения); - + Если Не РеквизитНайденВТабличнойЧастиРеквизитовРегистрацииОбъектов(МетаТаблица, Реквизит.Ключ) Тогда + ЗаписатьВПротоколВыполнения(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Реквизит ""%3"" не существует в табличной части (стандартной табличной части, движениях) ""%1"" объекта ""%2"".'"), + СтрокаТаблицы.ИмяТабличнойЧасти, ОбъектМД, Реквизит.Ключ)); + Прервать; КонецЕсли; КонецЦикла; КонецЕсли; - КонецЦикла; КонецПроцедуры +Функция МетаТабличнаяЧастьРеквизитовРегистрацииОбъектов(МетаданныеТекущегоОбъекта, ИмяИскомойТабличнойЧасти) + + МетаТест = Новый Структура("ТабличныеЧасти, СтандартныеТабличныеЧасти, Движения"); + ЗаполнитьЗначенияСвойств(МетаТест, МетаданныеТекущегоОбъекта); + + ИмяКандидата = ВРег(ИмяИскомойТабличнойЧасти); + + Для Каждого КлючЗначение Из МетаТест Цикл + МетаКоллекцияТаблиц = КлючЗначение.Значение; + Если МетаКоллекцияТаблиц <> Неопределено Тогда + + Для Каждого МетаТаблица Из МетаКоллекцияТаблиц Цикл + Если ВРег(МетаТаблица.Имя) = ИмяКандидата Тогда + Возврат МетаТаблица; + КонецЕсли; + КонецЦикла; + + КонецЕсли; + КонецЦикла; + + Возврат Неопределено; +КонецФункции + +Функция РеквизитНайденВТабличнойЧастиРеквизитовРегистрацииОбъектов(МетаданныеТабличнойЧасти, ИмяИскомогоРеквизита) + + МетаТест = Новый Структура("Реквизиты, СтандартныеРеквизиты, Измерения, Ресурсы"); + ЗаполнитьЗначенияСвойств(МетаТест, МетаданныеТабличнойЧасти); + + ИмяКандидата = ВРег(ИмяИскомогоРеквизита); + + Для Каждого КлючЗначение Из МетаТест Цикл + МетаКоллекцияРеквизитов = КлючЗначение.Значение; + Если МетаКоллекцияРеквизитов <> Неопределено Тогда + + Для Каждого МетаРеквизит Из МетаКоллекцияРеквизитов Цикл + Если ВРег(МетаРеквизит.Имя) = ИмяКандидата Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + КонецЕсли; + КонецЦикла; + + Возврат Ложь; +КонецФункции + + Процедура ЗаполнитьТаблицуРеквизитовРегистрацииОбъектовПоПравилу(ПКО, ТаблицаРезультат) ИмяОбъекта = СтрЗаменить(ПКО.ТипИсточника, "Ссылка", ""); @@ -12576,18 +12633,18 @@ РежимСовместимости = (Конвертация.РежимСовместимости = "" Или Конвертация.РежимСовместимости = "РежимСовместимостиСБСП20"); - СтрокаИнформации = НСтр("ru = 'Правила конвертации %1 от %21: - |Конфигурация источник: %3 - |Конфигурация приемник: %4'"); + Если ЭтоПравилаКорреспондента Тогда + СтрокаИнформации = НСтр("ru = 'Правила конвертации корреспондента (%1) от %2'"); + Иначе + СтрокаИнформации = НСтр("ru = 'Правила конвертации этой информационной базы (%1) от %2'"); + КонецЕсли; ПредставлениеКонфигурацииИсточника = ПолучитьПредставлениеКонфигурацииИзПравилОбмена("Источника"); ПредставлениеКонфигурацииПриемника = ПолучитьПредставлениеКонфигурацииИзПравилОбмена("Приемника"); Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаИнформации, - ?(ЭтоПравилаКорреспондента, НСтр("ru = 'корреспондента'"), НСтр("ru = 'этой программы'")), - Конвертация.ДатаВремяСоздания, ПредставлениеКонфигурацииИсточника, - ПредставлениеКонфигурацииПриемника); + Формат(Конвертация.ДатаВремяСоздания, "ДЛФ =ДД")); КонецФункции Функция ПолучитьПредставлениеКонфигурацииИзПравилОбмена(ИмяОпределения) @@ -12606,7 +12663,7 @@ ТочнаяВерсия = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ТочнаяВерсия); - ИмяКонфигурации = ИмяКонфигурации + " (" + ТочнаяВерсия + ")"; + ИмяКонфигурации = ИмяКонфигурации + " версия " + ТочнаяВерсия; КонецЕсли; @@ -12651,7 +12708,7 @@ Для Каждого СтрокаПолей Из ПКС Цикл - Если СтрокаПолей.ЭтоГруппа ТОгда + Если СтрокаПолей.ЭтоГруппа Тогда Если СтрокаПолей.ВидПриемника = "ТабличнаяЧасть" ИЛИ Найти(СтрокаПолей.ВидПриемника, "НаборДвижений") > 0 Тогда @@ -12936,7 +12993,7 @@ // Источник - Объект, из которого осуществляется загрузка правил обмена; // ТипИсточника - Строка, указывающая тип источника: "XMLФайл", "ЧтениеXML", "Строка" // -Процедура ЗагрузитьПравилаОбмена( Источник="", +Процедура ЗагрузитьПравилаОбмена(Источник="", ТипИсточника="XMLФайл", СтрокаСообщенияОбОшибке = "", ЗагружатьТолькоЗаголовокПравил = Ложь @@ -13238,7 +13295,7 @@ // нужно вызвать событие после загрузки правил обмена ТекстСобытияПослеЗагрузкиПравилОбмена = ""; - Если Конвертация.Свойство("ПослеЗагрузкиПравилОбмена", ТекстСобытияПослеЗагрузкиПравилОбмена) + Если РежимОбмена <> "Загрузка" И Конвертация.Свойство("ПослеЗагрузкиПравилОбмена", ТекстСобытияПослеЗагрузкиПравилОбмена) И Не ПустаяСтрока(ТекстСобытияПослеЗагрузкиПравилОбмена) Тогда Попытка @@ -13657,7 +13714,7 @@ Если Колонка.ТипЗначения.СодержитТип(ТипСтрока) Тогда - СтрокаТаблицы[Колонка.Имя] = НСтр("ru = 'удаление объекта'"); + СтрокаТаблицы[Колонка.Имя] = НСтр("ru = 'Удаление объекта'"); КонецЕсли; @@ -13710,30 +13767,66 @@ КонецПроцедуры -Процедура ПроизвестиЧтениеДанныхВРежимеАнализа(ЧтениеСообщения) +// Под классификатором понимаем справочник, ПВХ, план счетов, ПВР, у которых +// в ПКО выставлены флаги СинхронизироватьПоИдентификатору И ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли +// +Функция ЭтоОбъектКлассификатор(ТипОбъектаСтрокой, ПКО) + + ВидОбъекта = ТипОбъектаСтрокой; + Позиция = Найти(ВидОбъекта, "."); + Если Позиция > 0 Тогда + ВидОбъекта = Лев(ВидОбъекта, Позиция - 1); + КонецЕсли; + + Если ВидОбъекта = "СправочникСсылка" + Или ВидОбъекта = "ПланВидовХарактеристикСсылка" + Или ВидОбъекта = "ПланСчетовСсылка" + Или ВидОбъекта = "ПланВидовРасчетаСсылка" + Тогда + Возврат ПКО.СинхронизироватьПоИдентификатору И ПКО.ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли + КонецЕсли; + + Возврат Ложь; +КонецФункции + +Процедура ПроизвестиЧтениеДанныхВРежимеАнализа(ЧтениеСообщения, ПараметрыАнализа = Неопределено) + + // Параметры по умолчанию + ПараметрыСбораСтатистики = Новый Структура("СобиратьСтатистикуКлассификаторов", Ложь); + Если ПараметрыАнализа <> Неопределено Тогда + ЗаполнитьЗначенияСвойств(ПараметрыСбораСтатистики, ПараметрыАнализа); + КонецЕсли; Пока ФайлОбмена.Прочитать() Цикл ИмяУзла = ФайлОбмена.ЛокальноеИмя; Если ИмяУзла = "Объект" Тогда - ТипОбъектаСтрокой = одАтрибут(ФайлОбмена, ТипСтрока, "Тип"); Если ТипОбъектаСтрокой <> "КонстантыНабор" Тогда - ИмяПравила = одАтрибут(ФайлОбмена, ТипСтрока, "ИмяПравила"); + ПКО = Правила[ИмяПравила]; - ПКО = Правила[ИмяПравила]; - - // Объекты, для которых выполняется автоматическое сопоставление в процессе обмена (классификаторы), - // не отображаются пользователю в таблице информации статистики. - // Поэтому сбор информации статистики для них не нужен. - // Также не отображаются объекты, которые идентифицируются по полям поиска, а не по уникальному идентификатору ссылки. - ЭтоКлассификатор = ПКО.СинхронизироватьПоИдентификатору И ПКО.ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли; - - Если Не ЭтоКлассификатор И ПКО.СинхронизироватьПоИдентификатору Тогда + Если ПараметрыСбораСтатистики.СобиратьСтатистикуКлассификаторов И ЭтоОбъектКлассификатор(ТипОбъектаСтрокой, ПКО) Тогда + // Новое поведение + СобиратьСтатистику = Истина; + ЭтоКлассификатор = Истина; + ИначеЕсли Не (ПКО.СинхронизироватьПоИдентификатору И ПКО.ПродолжитьПоискПоПолямПоискаЕслиПоИдентификаторуНеНашли) И ПКО.СинхронизироватьПоИдентификатору Тогда + // Ветка совместимости. + // Объекты, для которых выполняется автоматическое сопоставление в процессе обмена (классификаторы), + // не отображаются пользователю в таблице информации статистики. Поэтому сбор информации статистики для них не нужен. + // Также не отображаются объекты, которые идентифицируются по полям поиска, а не по уникальному идентификатору ссылки. + СобиратьСтатистику = Истина; + ЭтоКлассификатор = Ложь; + + Иначе + СобиратьСтатистику = Ложь; + + КонецЕсли; + + Если СобиратьСтатистику Тогда СтрокаТаблицы = ТаблицаДанныхЗаголовкаПакета().Добавить(); СтрокаТаблицы.ТипОбъектаСтрокой = ТипОбъектаСтрокой; @@ -13747,9 +13840,8 @@ СтрокаТаблицы.СинхронизироватьПоИдентификатору = ПКО.СинхронизироватьПоИдентификатору; СтрокаТаблицы.ИспользоватьПредварительныйПросмотр = ПКО.СинхронизироватьПоИдентификатору; - СтрокаТаблицы.ЭтоКлассификатор = Ложь; + СтрокаТаблицы.ЭтоКлассификатор = ЭтоКлассификатор; СтрокаТаблицы.ЭтоУдалениеОбъекта = Ложь; - КонецЕсли; КонецЕсли; @@ -14084,9 +14176,7 @@ КонецЕсли; Исключение - ВызватьИсключение ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(176, ОписаниеОшибки(), - НСтр("ru = 'ПослеПолученияИнформацииОбУзлахОбмена (конвертация)'") - ); + ВызватьИсключение ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(176, ОписаниеОшибки(), Нстр("ru = 'ПослеПолученияИнформацииОбУзлахОбмена (конвертация)'")); КонецПопытки; КонецЕсли; @@ -14915,9 +15005,7 @@ КонецЕсли; Исключение - ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(175, ОписаниеОшибки(), - НСтр("ru = 'ПередПолучениемИзмененныхОбъектов (конвертация)'") - ); + ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(175, ОписаниеОшибки(), Нстр("ru = 'ПередПолучениемИзмененныхОбъектов (конвертация)'")); Возврат; КонецПопытки; diff --git a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/КонвертацияОбъектовИнформационныхБаз.mdo b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/КонвертацияОбъектовИнформационныхБаз.mdo index 40361e489..5754bfa5c 100644 --- a/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/КонвертацияОбъектовИнформационныхБаз.mdo +++ b/SSL/src/DataProcessors/КонвертацияОбъектовИнформационныхБаз/КонвертацияОбъектовИнформационныхБаз.mdo @@ -70,6 +70,32 @@ + + ЗагрузкаДанныхВыполняетсяВоВнешнемСоединении + + ru + Загрузка данных выполняется во внешнем соединении + + Флаг определяет контекст выполнения загрузки данных. Истина – загрузка данных выполняется во внешнем соединении; Ложь – загрузка выполняется в контексте текущей ИБ. + + Boolean + + + + + + ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение + + ru + Загрузка данных выполняется через внешнее соединение + + Флаг определяет режим загрузки данных. Истина – загрузка данных выполняется через внешнее соединение. Ложь – загрузка данных выполняется как обычно, через файл. + + Boolean + + + + ИмяПланаОбменаВРО @@ -85,6 +111,36 @@ + + ИмяФайлаВнешнейОбработкиОтладкиВыгрузки + + ru + Имя файла внешней обработки отладки выгрузки + + + String + + 255 + + + + + + + ИмяФайлаВнешнейОбработкиОтладкиЗагрузки + + ru + Имя файла внешней обработки отладки загрузки + + + String + + 255 + + + + + ИмяФайлаОбмена @@ -244,6 +300,30 @@ + + ОтладкаОбработчиковВыгрузки + + ru + Отладка обработчиков выгрузки + + + Boolean + + + + + + ОтладкаОбработчиковЗагрузки + + ru + Отладка обработчиков загрузки + + + Boolean + + + + Параметры @@ -264,6 +344,18 @@ + + ПродолжитьПриОшибке + + ru + Продолжить при ошибке + + + Boolean + + + + РежимЗагрузкиДанных @@ -292,6 +384,18 @@ + + РежимПротоколированияОбменаДанными + + ru + Режим протоколирования обмена данными + + + Boolean + + + + СохраненныеНастройки @@ -410,110 +514,6 @@ - - ЗагрузкаДанныхВыполняетсяВоВнешнемСоединении - - ru - Загрузка данных выполняется во внешнем соединении - - Флаг определяет контекст выполнения загрузки данных. Истина – загрузка данных выполняется во внешнем соединении; Ложь – загрузка выполняется в контексте текущей ИБ. - - Boolean - - - - - - ЗагрузкаДанныхВыполняетсяЧерезВнешнееСоединение - - ru - Загрузка данных выполняется через внешнее соединение - - Флаг определяет режим загрузки данных. Истина – загрузка данных выполняется через внешнее соединение. Ложь – загрузка данных выполняется как обычно, через файл. - - Boolean - - - - - - ОтладкаОбработчиковВыгрузки - - ru - Отладка обработчиков выгрузки - - - Boolean - - - - - - ОтладкаОбработчиковЗагрузки - - ru - Отладка обработчиков загрузки - - - Boolean - - - - - - ИмяФайлаВнешнейОбработкиОтладкиВыгрузки - - ru - Имя файла внешней обработки отладки выгрузки - - - String - - 255 - - - - - - - ИмяФайлаВнешнейОбработкиОтладкиЗагрузки - - ru - Имя файла внешней обработки отладки загрузки - - - String - - 255 - - - - - - - ПродолжитьПриОшибке - - ru - Продолжить при ошибке - - - Boolean - - - - - - РежимПротоколированияОбменаДанными - - ru - Режим протоколирования обмена данными - - - Boolean - - - - Форма diff --git a/SSL/src/DataProcessors/КонвертацияОбъектовРаспределенныхИнформационныхБаз/ObjectModule.bsl b/SSL/src/DataProcessors/КонвертацияОбъектовРаспределенныхИнформационныхБаз/ObjectModule.bsl index ae68a7846..bbaba59e4 100644 --- a/SSL/src/DataProcessors/КонвертацияОбъектовРаспределенныхИнформационныхБаз/ObjectModule.bsl +++ b/SSL/src/DataProcessors/КонвертацияОбъектовРаспределенныхИнформационныхБаз/ObjectModule.bsl @@ -407,14 +407,23 @@ МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоСсылке(Данные.Ссылка); Если Данные.ЭтоНовый() Тогда - Если ОбщегоНазначения.ЭтоСправочник(МетаданныеОбъекта) - Или ОбщегоНазначения.ЭтоПланВидовХарактеристик(МетаданныеОбъекта) Тогда - - Объект = МенеджерОбъекта.СоздатьЭлемент(); - + Если ОбщегоНазначения.ЭтоСправочник(МетаданныеОбъекта) Тогда + Если МетаданныеОбъекта.Иерархический + И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов + И Данные.ЭтоГруппа Тогда + Объект = МенеджерОбъекта.СоздатьГруппу(); + Иначе + Объект = МенеджерОбъекта.СоздатьЭлемент(); + КонецЕсли; + ИначеЕсли ОбщегоНазначения.ЭтоПланВидовХарактеристик(МетаданныеОбъекта) Тогда + Если МетаданныеОбъекта.Иерархический + И Данные.ЭтоГруппа Тогда + Объект = МенеджерОбъекта.СоздатьГруппу(); + Иначе + Объект = МенеджерОбъекта.СоздатьЭлемент(); + КонецЕсли; ИначеЕсли ОбщегоНазначения.ЭтоПланСчетов(МетаданныеОбъекта) Тогда Объект = МенеджерОбъекта.СоздатьСчет(); - ИначеЕсли ОбщегоНазначения.ЭтоПланВидовРасчета(МетаданныеОбъекта) Тогда Объект = МенеджерОбъекта.СоздатьВидРасчета(); КонецЕсли; diff --git a/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Help/ru.html b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Help/ru.html new file mode 100644 index 000000000..fc0e5c5d0 --- /dev/null +++ b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Help/ru.html @@ -0,0 +1,6 @@ + +

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

                                  +

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

                                  +

                                  Выберите с помощью переключателя:

                                  +
                                  • Я подтверждаю легальность получения обновления в соответствии с вышеизложенными условиями - в этом случае будет проведено обновление программы. +
                                  • Я НЕ подтверждаю легальность получения обновления в соответствии с вышеизложенными условиями - в этом случае работа программы будет завершена.
                                  \ No newline at end of file diff --git a/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Templates/УсловияРаспространенияОбновлений/ru.html b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Templates/УсловияРаспространенияОбновлений/ru.html index 674b34d3d..4ebcdf671 100644 --- a/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Templates/УсловияРаспространенияОбновлений/ru.html +++ b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/Templates/УсловияРаспространенияОбновлений/ru.html @@ -1,4 +1,4 @@ - +

                                  УСЛОВИЯ РАСПРОСТРАНЕНИЯ ОБНОВЛЕНИЙ ПРОГРАММ "1С:ПРЕДПРИЯТИЕ"

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

                                  diff --git a/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/ЛегальностьПолученияОбновлений.mdo b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/ЛегальностьПолученияОбновлений.mdo index e3345489b..a380e65af 100644 --- a/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/ЛегальностьПолученияОбновлений.mdo +++ b/SSL/src/DataProcessors/ЛегальностьПолученияОбновлений/ЛегальностьПолученияОбновлений.mdo @@ -10,6 +10,12 @@ Легальность получения обновлений
                                  DataProcessor.ЛегальностьПолученияОбновлений.Form.ПроверкаЛегальностиПолученияОбновления + true + + + ru + + ПроверкаЛегальностиПолученияОбновления diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ЗавершениеЗапросаРазрешений/Form.form b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ЗавершениеЗапросаРазрешений/Form.form index 8ebc6e850..b0ce718f5 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ЗавершениеЗапросаРазрешений/Form.form +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ЗавершениеЗапросаРазрешений/Form.form @@ -47,8 +47,8 @@ 4 <key>ru</key> - <value>Выполняется ожидание применения изменений в -настройках профилей безопасности в кластере серверов. + <value>Применяются изменения в настройках профилей безопасности +в кластере серверов. Это может занять длительное время (в пределах минуты). Пожалуйста, подождите...</value> diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ИнициализацияЗапросаРазрешений/Form.form b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ИнициализацияЗапросаРазрешений/Form.form index 25951952a..38fa2349f 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ИнициализацияЗапросаРазрешений/Form.form +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/ИнициализацияЗапросаРазрешений/Form.form @@ -145,7 +145,6 @@ </extendedTooltip> <commandName>Form.StandardCommand.Close</commandName> <buttonImportance>Normal</buttonImportance> - <representation>PictureAndText</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Form.form b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Form.form index 31f5f722f..ac15bbf0e 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Form.form +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Form.form @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> <items xsi:type="form:FormGroup"> - <name>ГруппаСтраницыГлобальный</name> + <name>СтраницыГлобальный</name> <id>205</id> <items xsi:type="form:FormGroup"> <name>СтраницаДействия</name> @@ -15,62 +15,447 @@ <items xsi:type="form:FormGroup"> <name>ГруппаШапка</name> <id>161</id> - <items xsi:type="form:Decoration"> - <name>Предупреждение</name> - <id>69</id> - <title> - <key>ru</key> - <value>Предупреждение</value> - - true - true - - true - - - ПредупреждениеExtendedTooltip - 71 - Label - true - true - - Left + + СтраницыШапка + 244 + + СтраницаШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластере + 252 + + ИнформацияПриВключенииБудутУстановленыСледующиеНастройкиВКластере + 260 + + <key>ru</key> + <value>Информация при включении будут установлены следующие настройки в кластере</value> + + true + true + + true + + + ИнформацияПриВключенииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 262 + Label + true + true + + Left + + + + ИнформацияПриВключенииБудутУстановленыСледующиеНастройкиВКластереКонтекстноеМеню + 261 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластере + 254 + + <key>ru</key> + <value>При включении использования профилей безопасности в кластере серверов 1С:Предприятия для текущей информационной базы будут предоставлены следующие разрешения: </value> + + true + true + + true + + + ШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 256 + Label + true + true + + Left + + + + ШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластереКонтекстноеМеню + 255 + true + + Label + true + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница шапка при включении будут установлены следующие настройки в кластере</value> + + + ru + Страница шапка при включении будут установлены следующие настройки в кластере + + true + + СтраницаШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 253 + Label + true + true + + Left + + + Page + + auto - - - ПредупреждениеКонтекстноеМеню - 70 - true - - 5 - true - 2 - true - - - CommonPicture.Предупреждение32 - - - - - ШапкаТекст - 74 - - <key>ru</key> - <value>В кластере серверов 1С:Предприятия для данной информационной базы настроены профили безопасности, -ограничивающие доступ к внешним ресурсам. + </items> + <items xsi:type="form:FormGroup"> + <name>СтраницаШапкаТребуетсяВнестиИзмененияВКластере</name> + <id>246</id> + <items xsi:type="form:Decoration"> + <name>ПредупреждениеТребуетсяВнестиИзмененияВКластере</name> + <id>69</id> + <title> + <key>ru</key> + <value>Предупреждение требуется внести изменения в кластере</value> + + true + true + + true + + + ПредупреждениеТребуетсяВнестиИзмененияВКластереРасширеннаяПодсказка + 71 + Label + true + true + + Left + + + + ПредупреждениеТребуетсяВнестиИзмененияВКластереКонтекстноеМеню + 70 + true + + 5 + true + 2 + true + false + + + CommonPicture.Предупреждение32 + + + + + ШапкаТребуетсяВнестиИзмененияВКластере + 74 + + <key>ru</key> + <value>В кластере серверов 1С:Предприятия для данной информационной базы настроены профили безопасности, ограничивающие доступ к внешним ресурсам. -Для продолжения работы требуется внести изменения в состав разрешений в профиле безопасности: +Для продолжения выполняемого действия требуется внести изменения в состав разрешений в профиле безопасности: </value> - + + true + true + + true + + + ШапкаТребуетсяВнестиИзмененияВКластереРасширеннаяПодсказка + 76 + Label + true + true + + Left + + + + ШапкаТребуетсяВнестиИзмененияВКластереКонтекстноеМеню + 75 + true + + Label + true + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница шапка требуется внести изменения в кластере</value> + + + ru + Страница шапка требуется внести изменения в кластере + + + СтраницаШапкаТребуетсяВнестиИзмененияВКластереРасширеннаяПодсказка + 247 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластере + 248 + + ИнформацияПриВосстановленииБудутУстановленыСледующиеНастройкиВКластере + 263 + + <key>ru</key> + <value>Информация при включении будут установлены следующие настройки в кластере</value> + + true + true + + true + + + ИнформацияПриВосстановленииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 265 + Label + true + true + + Left + + + + ИнформацияПриВосстановленииБудутУстановленыСледующиеНастройкиВКластереКонтекстноеМеню + 264 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластере + 233 + + <key>ru</key> + <value>При восстановлении профилей безопасности в кластере серверов 1С:Предприятия для текущей информационной базы будут предоставлены следующие разрешения: </value> + + true + true + + true + + + ШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 235 + Label + true + true + + Left + + + + ШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластереКонтекстноеМеню + 234 + true + + Label + true + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница шапка при восстановлении будут установлены следующие настройки в кластере</value> + + + ru + Страница шапка при восстановлении будут установлены следующие настройки в кластере + + + СтраницаШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластереРасширеннаяПодсказка + 249 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластере + 250 + + ПредупреждениеТребуетсяОтменитьНеактуальныеРазрешенияВКластере + 257 + + <key>ru</key> + <value>Предупреждение требуется внести изменения в кластере</value> + + true + true + + true + + + ПредупреждениеТребуетсяОтменитьНеактуальныеРазрешенияВКластереРасширеннаяПодсказка + 259 + Label + true + true + + Left + + + + ПредупреждениеТребуетсяОтменитьНеактуальныеРазрешенияВКластереКонтекстноеМеню + 258 + true + + 5 + true + 2 + true + false + + + CommonPicture.Предупреждение32 + + + + + ШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластере + 241 + + <key>ru</key> + <value>В кластере серверов 1С:Предприятия для данной информационной базы настроены профили безопасности, ограничивающие доступ к внешним ресурсам. Ранее были предоставлены разрешения в профилях безопасности в кластере серверов, которые более не требуются для работы программы. Нужно удалить следующие разрешения из профилей безопасности в кластере серверов: +</value> + + true + true + + true + + + ШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластереРасширеннаяПодсказка + 243 + Label + true + true + + Left + + + + ШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластереКонтекстноеМеню + 242 + true + + Label + true + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница шапка требуется отменить неактуальные разрешения в кластере</value> + + + ru + Страница шапка требуется отменить неактуальные разрешения в кластере + + + СтраницаШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластереРасширеннаяПодсказка + 251 + Label + true + true + + Left + + + Page + + auto + + true true true + + <key>ru</key> + <value>Страницы шапка</value> + + + ru + Страницы шапка + + 4 + true + false - ШапкаТекстРасширеннаяПодсказка - 76 + СтраницыШапкаРасширеннаяПодсказка + 245 Label true true @@ -78,16 +463,9 @@ Left - - ШапкаТекстКонтекстноеМеню - 75 - true - - Label - true - true - - Left + Pages + + Auto true @@ -103,6 +481,7 @@ ru Группа шапка + true ГруппаШапкаРасширеннаяПодсказка 162 @@ -122,225 +501,6 @@ Auto - - ГруппаШапкаРежимВосстановления - 228 - - ПредупреждениеРежимВосстановления - 230 - - <key>ru</key> - <value>Предупреждение</value> - - true - true - - true - - - ПредупреждениеРежимВосстановленияРасширеннаяПодсказка - 232 - Label - true - true - - Left - - - - ПредупреждениеРежимВосстановленияКонтекстноеМеню - 231 - true - - 5 - true - 2 - true - - - CommonPicture.Предупреждение32 - - - - - ШапкаТекстРежимВосстановления - 233 - - <key>ru</key> - <value>При восстановлении профилей безопасности в кластере серверов 1С:Предприятия будут предоставлены -следующие разрешения: </value> - - true - true - - true - - - ШапкаТекстРежимВосстановленияРасширеннаяПодсказка - 235 - Label - true - true - - Left - - - - ШапкаТекстРежимВосстановленияКонтекстноеМеню - 234 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа шапка</value> - - - ru - Группа шапка - - - ГруппаШапкаРежимВосстановленияРасширеннаяПодсказка - 229 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешений - 236 - - ПредупреждениеРежимВосстановленияПослеПредоставленияРазрешений - 238 - - <key>ru</key> - <value>Предупреждение</value> - - true - true - - true - - - ПредупреждениеРежимВосстановленияПослеПредоставленияРазрешенийРасширеннаяПодсказка - 240 - Label - true - true - - Left - - - - ПредупреждениеРежимВосстановленияПослеПредоставленияРазрешенийКонтекстноеМеню - 239 - true - - 5 - true - 2 - true - - - CommonPicture.Предупреждение32 - - - - - ШапкаТекстРежимВосстановленияПослеПредоставленияРазрешений - 241 - - <key>ru</key> - <value>В кластере серверов 1С:Предприятия для данной информационной базы настроены профили безопасности, -ограничивающие доступ к внешним ресурсам. - -Ранее были предоставлены разрешения в профилях безопасности в кластере серверов, -которые более не требуются для работы программы. -Нужно удалить следующие разрешения из профилей безопасности в кластере серверов: -</value> - - true - true - - true - - - ШапкаТекстРежимВосстановленияПослеПредоставленияРазрешенийРасширеннаяПодсказка - 243 - Label - true - true - - Left - - - - ШапкаТекстРежимВосстановленияПослеПредоставленияРазрешенийКонтекстноеМеню - 242 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа шапка</value> - - - ru - Группа шапка - - - ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешенийРасширеннаяПодсказка - 237 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - ПредставлениеРазрешений 119 @@ -1568,37 +1728,6 @@ Auto - - ДекорацияОтступ - 217 - true - true - - true - - - ДекорацияОтступРасширеннаяПодсказка - 219 - Label - true - true - - Left - - - - ДекорацияОтступКонтекстноеМеню - 218 - true - - Label - true - true - true - - Left - - ГруппаПредупреждениеОНеобходимостиПерезапуска 197 @@ -1644,8 +1773,7 @@ 202 <key>ru</key> - <value>После внесения изменений в настройки профилей безопасности в кластере серверов -программа будет автоматически перезапущена.</value> + <value>После внесения изменений в настройки профилей безопасности в кластере серверов программа будет автоматически перезапущена.</value> true true @@ -1869,7 +1997,6 @@ Form.Command.Далее - Auto true true true @@ -2018,23 +2145,338 @@ - СтраницаОжиданиеЗавершения - 220 - - ДекорацияОжиданиеЗавершенияДлительнаяОперация - 222 - - <key>ru</key> - <value>Декорация ожидание длительная операция</value> - + СтраницаОперацияНеПоддерживаетсяВВебКлиенте + 266 + + ГруппаОперацияНеПоддерживаетсяВВебКлиенте + 288 + + ДекорацияОперацияНеПоддерживаетсяВВебКлиенте + 292 + + <key>ru</key> + <value>Декорация операция не поддерживается в веб клиенте</value> + + true + true + + true + + + ДекорацияОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 294 + Label + true + true + + Left + + + + ДекорацияОперацияНеПоддерживаетсяВВебКлиентеКонтекстноеМеню + 293 + true + + 5 + true + true + + + CommonPicture.Ошибка32 + + + + + ГруппаОперацияНеПоддерживаетсяВВебКлиентеПодробности + 290 + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиенте + 271 + + <key>ru</key> + <value>В кластере серверов 1С:Предприятия для данной информационной базы настроены профили безопасности, ограничивающие доступ к внешним ресурсам. + +Для продолжения выполняемого действия требуется внести следующие изменения в настройки профилей безопасности в кластере серверов:</value> + + true + true + + true + + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 273 + Label + true + true + + Left + + + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиентеКонтекстноеМеню + 272 + true + + Label + true + true + true + + Left + + + + ПредставлениеРазрешенийОперацияНеПоддерживаетсяВВебКлиенте + 276 + true + true + + true + + + ПредставлениеРазрешений + + None + + ПредставлениеРазрешенийОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 278 + Label + true + true + + Left + + + + ПредставлениеРазрешенийОперацияНеПоддерживаетсяВВебКлиентеКонтекстноеМеню + 277 + true + + SpreadsheetDocumentField + Enter + true + Left + true + + 50 + true + 10 + true + true + true + Special + ScrollAlways + ScrollAlways + Always + Auto + true + true + true + + + + Декорация1 + 295 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 297 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 296 + true + + Label + true + true + + Left + + + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиентеПродолжение + 279 + + <key>ru</key> + <value>Внесение изменений в настройки профилей безопасности в кластере серверов не может быть выполнено при подключении к программе с использованием веб-клиента. + +Для выполнения запрошенной операции требуется подключиться к программе с использованием тонкого клиента и повторить выполняемую операцию.</value> + + true + true + + true + + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиентеПродолжениеРасширеннаяПодсказка + 281 + Label + true + true + + Left + + + + ЗаголовокОперацияНеПоддерживаетсяВВебКлиентеПродолжениеКонтекстноеМеню + 280 + true + + Label + true + true + true + + Left + + + + КомандыОперацияНеПоддерживаетсяВВебКлиенте + 282 + + Закрыть + 284 + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 285 + Label + true + true + + Left + + + Form.StandardCommand.Close + Normal + PictureAndText + true + true + UserCmds + + StdPicture.Close + + Auto + + + СправкаОперацияНеПоддерживаетсяВВебКлиенте + 286 + true + true + + true + + + СправкаОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 287 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Команды операция не поддерживается в веб клиенте</value> + + + ru + Команды операция не поддерживается в веб клиенте + + + КомандыОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 283 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Группа операция не поддерживается в веб клиенте подробности</value> + + + ru + Группа операция не поддерживается в веб клиенте подробности + + + ГруппаОперацияНеПоддерживаетсяВВебКлиентеПодробностиРасширеннаяПодсказка + 291 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + true true true + + <key>ru</key> + <value>Группа операция не поддерживается в веб клиенте</value> + + + ru + Группа операция не поддерживается в веб клиенте + - ДекорацияОжиданиеЗавершенияДлительнаяОперацияРасширеннаяПодсказка - 224 + ГруппаОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 289 Label true true @@ -2042,59 +2484,13 @@ Left - - ДекорацияОжиданиеЗавершенияДлительнаяОперацияКонтекстноеМеню - 223 - true - - 7 - true - 3 - true - false - true - - - CommonPicture.ДлительнаяОперация48 - - - - - ДекорацияОжиданиеЗавершенияНадпись - 225 - - <key>ru</key> - <value>Выполняется применение изменений в настройки профилей безопасности в кластере серверов. -Пожалуйста, подождите...</value> - - true - true - - true - - - ДекорацияОжиданиеЗавершенияНадписьРасширеннаяПодсказка - 227 - Label - true - true - - Left - - - - ДекорацияОжиданиеЗавершенияНадписьКонтекстноеМеню - 226 - true - - Label - true - true - false - true - - Left - Center + UsualGroup + + Auto + true + true + Auto + Auto true @@ -2104,15 +2500,17 @@ <key>ru</key> - <value>Страница ожидание</value> + <value>Страница операция не поддерживается в веб клиенте</value> ru - Страница ожидание + Страница операция не поддерживается в веб клиенте + true + true - СтраницаОжиданиеЗавершенияРасширеннаяПодсказка - 221 + СтраницаОперацияНеПоддерживаетсяВВебКлиентеРасширеннаяПодсказка + 267 Label true true @@ -2132,14 +2530,14 @@ <key>ru</key> - <value>Группа страницы глобальный</value> + <value>Страницы глобальный</value> ru - Группа страницы глобальный + Страницы глобальный - ГруппаСтраницыГлобальныйРасширеннаяПодсказка + СтраницыГлобальныйРасширеннаяПодсказка 206 Label true @@ -2526,23 +2924,6 @@ true - - ВебКлиент - - <key>ru</key> - <value>Веб клиент</value> - - 20 - - Boolean - - - true - - - true - - АдресХранилищаНаСервере diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html index 7f3244ae5..1c04bbd73 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>В случае если в кластере серверов 1С:Предприятия для данной информационной базы используются <a href="DataProcessor.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help">профили безопасности</a>, ограничивающие доступ к внешним (относительно кластера серверов 1С:Предприятия) ресурсам, то для корректной работы программы требуется внести изменения в состав разрешений в профиле безопасности.</p> <p>В списке перечислены внешние ресурсы, возможность использования которых будет разрешена.</p> <p>Для подтверждения нажмите <strong>Применить изменения</strong>.</p> diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Module.bsl b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Module.bsl index acd607c04..65fc82010 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Module.bsl +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Module.bsl @@ -18,22 +18,14 @@ Если ПолучитьФункциональнуюОпцию("ИспользуютсяПрофилиБезопасности") И Константы.АвтоматическиНастраиватьРазрешенияВПрофиляхБезопасности.Получить() Тогда Если Параметры.РежимПроверки Тогда - Элементы.ГруппаШапка.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановления.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешений.Видимость = Истина; + Элементы.СтраницыШапка.ТекущаяСтраница = Элементы.СтраницаШапкаТребуетсяОтменитьНеактуальныеРазрешенияВКластере; ИначеЕсли Параметры.РежимВосстановления Тогда - Элементы.ГруппаШапка.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановления.Видимость = Истина; - Элементы.ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешений.Видимость = Ложь; + Элементы.СтраницыШапка.ТекущаяСтраница = Элементы.СтраницаШапкаПриВосстановленииБудутУстановленыСледующиеНастройкиВКластере; Иначе - Элементы.ГруппаШапка.Видимость = Истина; - Элементы.ГруппаШапкаРежимВосстановления.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешений.Видимость = Ложь; + Элементы.СтраницыШапка.ТекущаяСтраница = Элементы.СтраницаШапкаТребуетсяВнестиИзмененияВКластере; КонецЕсли; Иначе - Элементы.ГруппаШапка.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановления.Видимость = Ложь; - Элементы.ГруппаШапкаРежимВосстановленияПослеПредоставленияРазрешений.Видимость = Ложь; + Элементы.СтраницыШапка.ТекущаяСтраница = Элементы.СтраницаШапкаПриВключенииБудутУстановленыСледующиеНастройкиВКластере; КонецЕсли; СценарийПримененияЗапросов = РезультатОбработкиЗапросов.Сценарий; @@ -99,15 +91,13 @@ &НаКлиенте Процедура ПриОткрытии(Отказ) + #Если ВебКлиент Тогда + ПоказатьОшибкуОперацияНеПоддерживаетсяВВебКлиенте(); + Возврат; + #КонецЕсли + Если ТребуетсяВнесениеИзмененийВПрофиляхБезопасности Тогда - #Если ВебКлиент Тогда - ВебКлиент = Истина; - УправлениеВидимостью(); - #Иначе - ВебКлиент = Ложь; - #КонецЕсли - АдресХранилища = АдресХранилищаНаСервере; Иначе @@ -222,11 +212,14 @@ ВидимостьГруппыОшибкиВерсииCOMСоединителя = Ложь; КонецЕсли; - Если ВебКлиент Тогда - Элементы.ГруппаОшибкаВерсииCOMСоединителя.Видимость = Ложь; - Иначе - Элементы.ГруппаОшибкаВерсииCOMСоединителя.Видимость = ВидимостьГруппыОшибкиВерсииCOMСоединителя; - КонецЕсли; + Элементы.ГруппаОшибкаВерсииCOMСоединителя.Видимость = ВидимостьГруппыОшибкиВерсииCOMСоединителя; + +КонецПроцедуры + +&НаСервере +Процедура ПоказатьОшибкуОперацияНеПоддерживаетсяВВебКлиенте() + + Элементы.СтраницыГлобальный.ТекущаяСтраница = Элементы.СтраницаОперацияНеПоддерживаетсяВВебКлиенте; КонецПроцедуры diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Form.form b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Form.form index a5700c324..0dd39d579 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Form.form +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Form.form @@ -841,14 +841,6 @@ <userVisible> <common>true</common> </userVisible> - <title> - <key>ru</key> - <value>Группа восстановление резервной копии</value> - - - ru - Группа восстановление резервной копии - 86 false @@ -864,7 +856,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Help/ru.html b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Help/ru.html index 207146348..20de303c5 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Help/ru.html @@ -4,7 +4,7 @@ TD { VERTICAL-ALIGN: top } - +

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

                                  Находится в разделе Администрирование - Поддержка и обслуживание - Безопасность.

                                  Режим использования профилей безопасности

                                  diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Module.bsl b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Module.bsl index 1c0b17332..373210d47 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Module.bsl +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/НастройкиИспользованияПрофилейБезопасности/Module.bsl @@ -154,24 +154,6 @@ КонецПроцедуры -&НаСервере -Процедура УстановитьДоступность(РеквизитПутьКДанным = "") - - Если РежимРаботы.ЭтоАдминистраторСистемы Тогда - - Если РеквизитПутьКДанным = "РежимИспользованияПрофилейБезопасности" ИЛИ РеквизитПутьКДанным = "" Тогда - - Элементы.ГруппаПрофилиБезопасностиКолонкаПравая.Доступность = РежимИспользованияПрофилейБезопасности > 0; - - Элементы.ПрофильБезопасностиИнформационнойБазы.ТолькоПросмотр = (РежимИспользованияПрофилейБезопасности = 2); - Элементы.ГруппаВосстановлениеПрофилейБезопасности.Доступность = (РежимИспользованияПрофилейБезопасности = 2); - - КонецЕсли; - - КонецЕсли; - -КонецПроцедуры - &НаСервере Процедура ПрочитатьРежимИспользованияПрофилейБезопасности() @@ -243,18 +225,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ОбновитьИнтерфейсПрограммы() - - #Если НЕ ВебКлиент Тогда - Если ОбновитьИнтерфейс = Истина Тогда - ОбновитьИнтерфейс = Ложь; - ОбновитьИнтерфейс(); - КонецЕсли; - #КонецЕсли - -КонецПроцедуры - &НаКлиенте Процедура Подключаемый_ПриИзмененииРеквизита(Элемент, ОбновлятьИнтерфейс = Истина) @@ -273,6 +243,18 @@ КонецПроцедуры +&НаКлиенте +Процедура ОбновитьИнтерфейсПрограммы() + + #Если НЕ ВебКлиент Тогда + Если ОбновитьИнтерфейс = Истина Тогда + ОбновитьИнтерфейс = Ложь; + ОбновитьИнтерфейс(); + КонецЕсли; + #КонецЕсли + +КонецПроцедуры + &НаСервере Функция ПриИзмененииРеквизитаСервер(ИмяЭлемента) @@ -320,4 +302,22 @@ КонецПроцедуры +&НаСервере +Процедура УстановитьДоступность(РеквизитПутьКДанным = "") + + Если РежимРаботы.ЭтоАдминистраторСистемы Тогда + + Если РеквизитПутьКДанным = "РежимИспользованияПрофилейБезопасности" ИЛИ РеквизитПутьКДанным = "" Тогда + + Элементы.ГруппаПрофилиБезопасностиКолонкаПравая.Доступность = РежимИспользованияПрофилейБезопасности > 0; + + Элементы.ПрофильБезопасностиИнформационнойБазы.ТолькоПросмотр = (РежимИспользованияПрофилейБезопасности = 2); + Элементы.ГруппаВосстановлениеПрофилейБезопасности.Доступность = (РежимИспользованияПрофилейБезопасности = 2); + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/Форма/Module.bsl index 60eabfdab..edc8e6bab 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Forms/Форма/Module.bsl @@ -1,3 +1,4 @@ +#Область ОбработчикиСобытийФормы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -9,3 +10,5 @@ ВызватьИсключение НСтр("ru='Обработка не предназначена для непосредственного использования.'"); КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html index 238d2fe2b..0c7a537d8 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

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

                                  diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/ManagerModule.bsl b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/ManagerModule.bsl index 88c1a4375..4cd8a4f44 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/ManagerModule.bsl +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/ManagerModule.bsl @@ -37,27 +37,34 @@ Возврат Новый УникальныйИдентификатор(); КонецЕсли; - Менеджер = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьМенеджерЗаписи(); - Менеджер.Идентификатор = Новый УникальныйИдентификатор(); - Менеджер.МоментВремени = ТекущаяУниверсальнаяДата(); - - Если РаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда - Менеджер.БезопасныйРежим = БезопасныйРежим(); - Иначе - Менеджер.БезопасныйРежим = Ложь; - КонецЕсли; - Если Владелец = Неопределено Тогда - Владелец = СлужебныйИОМ(); + Владелец = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); КонецЕсли; - Менеджер.Владелец = Владелец; Если ВнешнийМодуль = Неопределено Тогда - ВнешнийМодуль = СлужебныйИОМ(); + ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); КонецЕсли; - Менеджер.ВнешнийМодуль = ВнешнийМодуль; + Если РаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда + БезопасныйРежим = БезопасныйРежим(); + Иначе + БезопасныйРежим = Ложь; + КонецЕсли; + + Менеджер = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьМенеджерЗаписи(); + Менеджер.ИдентификаторЗапроса = Новый УникальныйИдентификатор(); + Менеджер.МоментВремени = ТекущаяУниверсальнаяДата(); + Менеджер.БезопасныйРежим = БезопасныйРежим; Менеджер.РежимЗамещения = РежимЗамещения; + Менеджер.Состояние = Перечисления.СостоянияЗапросовНаИспользованиеВнешнихРесурсов.Новый; + + СвойстваВладельца = СвойстваДляРегистраРазрешений(Владелец); + Менеджер.ТипВладельца = СвойстваВладельца.Тип; + Менеджер.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; + + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Менеджер.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Менеджер.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; Если ДобавляемыеРазрешения <> Неопределено Тогда @@ -85,10 +92,9 @@ КонецЕсли; - Менеджер.Состояние = Перечисления.СостоянияЗапросовНаИспользованиеВнешнихРесурсов.Новый; Менеджер.Записать(); - Возврат Менеджер.Идентификатор; + Возврат Менеджер.ИдентификаторЗапроса; КонецФункции @@ -109,22 +115,26 @@ Возврат Новый УникальныйИдентификатор(); КонецЕсли; + Если Операция = Перечисления.ОперацииСНаборамиРазрешений.Создание Тогда + ИмяПрофиляБезопасности = НовоеИмяПрофиляБезопасности(ВнешнийМодуль); + Иначе + ИмяПрофиляБезопасности = ИмяПрофиляБезопасности(ВнешнийМодуль); + КонецЕсли; + Менеджер = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьМенеджерЗаписи(); - Менеджер.Идентификатор = Новый УникальныйИдентификатор(); - Менеджер.Владелец = ВнешнийМодуль; + Менеджер.ИдентификаторЗапроса = Новый УникальныйИдентификатор(); Менеджер.Операция = Операция; Менеджер.МоментВремени = ТекущаяУниверсальнаяДата(); Менеджер.Состояние = Перечисления.СостоянияЗапросовНаИспользованиеВнешнихРесурсов.Новый; + Менеджер.Имя = ИмяПрофиляБезопасности; - Если Операция = Перечисления.ОперацииСНаборамиРазрешений.Создание Тогда - Менеджер.Имя = НовоеИмяПрофиляБезопасности(ВнешнийМодуль); - Иначе - Менеджер.Имя = ИмяПрофиляБезопасности(ВнешнийМодуль); - КонецЕсли; + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Менеджер.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Менеджер.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; Менеджер.Записать(); - Возврат Менеджер.Идентификатор; + Возврат Менеджер.ИдентификаторЗапроса; КонецФункции @@ -145,18 +155,25 @@ Попытка Если ВключаяПрофильИБ Тогда - Результат.Добавить(РаботаВБезопасномРежимеСлужебный.ЗапросНаУдалениеНабораРазрешений(СлужебныйИОМ())); + + ИдентификаторЗапросаУдаленияПрофиляИБ = РаботаВБезопасномРежимеСлужебный.ЗапросНаУдалениеНабораРазрешений( + Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); + + Результат.Добавить(ИдентификаторЗапросаУдаленияПрофиляИБ); + КонецЕсли; ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РежимыПодключенияВнешнихМодулей.ВнешнийМодуль КАК ВнешнийМодуль + | РежимыПодключенияВнешнихМодулей.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | РежимыПодключенияВнешнихМодулей.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля |ИЗ | РегистрСведений.РежимыПодключенияВнешнихМодулей КАК РежимыПодключенияВнешнихМодулей"; Запрос = Новый Запрос(ТекстЗапроса); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - Результат.Добавить(РаботаВБезопасномРежимеСлужебный.ЗапросНаУдалениеНабораРазрешений(Выборка.ВнешнийМодуль)); + Результат.Добавить(РаботаВБезопасномРежимеСлужебный.ЗапросНаУдалениеНабораРазрешений( + СсылкаИзРегистраРазрешений(Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля))); КонецЦикла; ЗафиксироватьТранзакцию(); @@ -182,7 +199,7 @@ МенеджерыРегистров = МенеджерыРегистровРазрешений(); - ШаблонЗапросаКТаблицеРегистра = "ВЫБРАТЬ РАЗЛИЧНЫЕ ТаблицаРазрешений.ВнешнийМодуль КАК ВнешнийМодуль, ТаблицаРазрешений.Владелец КАК Владелец ИЗ %1 КАК ТаблицаРазрешений"; + ШаблонЗапросаКТаблицеРегистра = "ВЫБРАТЬ РАЗЛИЧНЫЕ ТаблицаРазрешений.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, ТаблицаРазрешений.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, ТаблицаРазрешений.ТипВладельца КАК ТипВладельца, ТаблицаРазрешений.ИдентификаторВладельца КАК ИдентификаторВладельца ИЗ %1 КАК ТаблицаРазрешений"; ТекстЗапросаКТаблицамРегистров = ""; Для Каждого МенеджерРегистра Из МенеджерыРегистров Цикл @@ -199,15 +216,23 @@ КонецЦикла; ТекстЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - "ВЫБРАТЬ РАЗЛИЧНЫЕ ВложенныйЗапрос.ВнешнийМодуль КАК ВнешнийМодуль, ВложенныйЗапрос.Владелец КАК Владелец ИЗ (%1) КАК ВложенныйЗапрос", + "ВЫБРАТЬ РАЗЛИЧНЫЕ ВложенныйЗапрос.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, ВложенныйЗапрос.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, ВложенныйЗапрос.ТипВладельца КАК ТипВладельца, ВложенныйЗапрос.ИдентификаторВладельца КАК ИдентификаторВладельца ИЗ (%1) КАК ВложенныйЗапрос", ТекстЗапросаКТаблицамРегистров); Запрос = Новый Запрос(ТекстЗапроса); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл + ПрограммныйМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, + Выборка.ИдентификаторПрограммногоМодуля); + + Владелец = СсылкаИзРегистраРазрешений( + Выборка.ТипВладельца, + Выборка.ИдентификаторВладельца); + ЗапросЗамещения = РаботаВБезопасномРежимеСлужебный.ЗапросНаИзменениеРазрешенийИспользованияВнешнихРесурсов( - Выборка.Владелец, Истина, Новый Массив(), , Выборка.ВнешнийМодуль); + Владелец, Истина, Новый Массив(), , ПрограммныйМодуль); Результат.Добавить(ЗапросЗамещения); @@ -231,96 +256,6 @@ КонецФункции -// Очищает просроченные запросы на использование внешних ресурсов. -// -Процедура ОчисткаНеактуальныхЗапросовНаИспользованиеВнешнихРесурсов() Экспорт - - ТекстЗапроса = - "ВЫБРАТЬ - | Запросы.Идентификатор КАК Идентификатор, - | Запросы.ВнешнийМодуль КАК ВнешнийМодуль, - | Запросы.Владелец КАК Владелец, - | Запросы.БезопасныйРежим - |ИЗ - | РегистрСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов КАК Запросы - |ГДЕ - | Запросы.МоментВремени <= &ДатаЗапроса"; - Запрос = Новый Запрос(ТекстЗапроса); - Запрос.УстановитьПараметр("ДатаЗапроса", ТекущаяУниверсальнаяДата() - 3600); // Время жизни запроса - час - Выборка = Запрос.Выполнить().Выбрать(); - Пока Выборка.Следующий() Цикл - - НачатьТранзакцию(); - - Попытка - - Ключ = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьКлючЗаписи( - Новый Структура("Идентификатор, ВнешнийМодуль, Владелец, БезопасныйРежим", Выборка.Идентификатор, Выборка.ВнешнийМодуль, Выборка.Владелец, Выборка.БезопасныйРежим)); - ЗаблокироватьДанныеДляРедактирования(Ключ); - - Исключение - - // Обработка исключения не требуется. - // Ожидаемое исключение - попытка удалить ту же запись регистра из другого сеанса. - ОтменитьТранзакцию(); - Продолжить; - - КонецПопытки; - - Менеджер = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьМенеджерЗаписи(); - Менеджер.Идентификатор = Выборка.Идентификатор; - Менеджер.Прочитать(); - Если Менеджер.Выбран() Тогда - Менеджер.Удалить(); - КонецЕсли; - - ЗафиксироватьТранзакцию(); - - КонецЦикла; - - ТекстЗапроса = - "ВЫБРАТЬ - | Запросы.Идентификатор КАК Идентификатор, - | Запросы.Владелец КАК Владелец - |ИЗ - | РегистрСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов КАК Запросы - |ГДЕ - | Запросы.МоментВремени <= &ДатаЗапроса"; - Запрос = Новый Запрос(ТекстЗапроса); - Запрос.УстановитьПараметр("ДатаЗапроса", ТекущаяУниверсальнаяДата() - 3600); // Время жизни запроса - час - Выборка = Запрос.Выполнить().Выбрать(); - Пока Выборка.Следующий() Цикл - - НачатьТранзакцию(); - - Попытка - - Ключ = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьКлючЗаписи( - Новый Структура("Идентификатор, Владелец", Выборка.Идентификатор, Выборка.Владелец)); - ЗаблокироватьДанныеДляРедактирования(Ключ); - - Исключение - - // Обработка исключения не требуется. - // Ожидаемое исключение - попытка удалить ту же запись регистра из другого сеанса. - ОтменитьТранзакцию(); - Продолжить; - - КонецПопытки; - - Менеджер = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьМенеджерЗаписи(); - Менеджер.Идентификатор = Выборка.Идентификатор; - Менеджер.Прочитать(); - Если Менеджер.Выбран() Тогда - Менеджер.Удалить(); - КонецЕсли; - - ЗафиксироватьТранзакцию(); - - КонецЦикла; - -КонецПроцедуры - // Проверяет возможность интерактивного запроса разрешений на использование внешних ресурсов. // // Возвращаемое значение: Булево. @@ -349,6 +284,100 @@ КонецФункции +// Очищает просроченные запросы на использование внешних ресурсов. +// +Процедура ОчисткаНеактуальныхЗапросовНаИспользованиеВнешнихРесурсов() Экспорт + + ТекстЗапроса = + "ВЫБРАТЬ + | Запросы.ИдентификаторЗапроса КАК ИдентификаторЗапроса, + | Запросы.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Запросы.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Запросы.ТипВладельца КАК ТипВладельца, + | Запросы.ИдентификаторВладельца КАК ИдентификаторВладельца, + | Запросы.БезопасныйРежим КАК БезопасныйРежим + |ИЗ + | РегистрСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов КАК Запросы + |ГДЕ + | Запросы.МоментВремени <= &ДатаЗапроса"; + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("ДатаЗапроса", ТекущаяУниверсальнаяДата() - 3600); // Время жизни запроса - час + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + НачатьТранзакцию(); + + Попытка + + Ключ = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьКлючЗаписи( + Новый Структура("ИдентификаторЗапроса, ТипПрограммногоМодуля, ИдентификаторПрограммногоМодуля, ТипВладельца, ИдентификаторВладельца, БезопасныйРежим", + Выборка.ИдентификаторЗапроса, + Выборка.ТипПрограммногоМодуля, + Выборка.ИдентификаторПрограммногоМодуля, + Выборка.ТипВладельца, + Выборка.ИдентификаторВладельца, + Выборка.БезопасныйРежим)); + ЗаблокироватьДанныеДляРедактирования(Ключ); + + Исключение + + // Обработка исключения не требуется. + // Ожидаемое исключение - попытка удалить ту же запись регистра из другого сеанса. + ОтменитьТранзакцию(); + Продолжить; + + КонецПопытки; + + Набор = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьНаборЗаписей(); + Набор.Отбор.ИдентификаторЗапроса.Установить(Выборка.ИдентификаторЗапроса); + Набор.Записать(); + + ЗафиксироватьТранзакцию(); + + КонецЦикла; + + ТекстЗапроса = + "ВЫБРАТЬ + | Запросы.ИдентификаторЗапроса КАК ИдентификаторЗапроса, + | Запросы.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Запросы.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля + |ИЗ + | РегистрСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов КАК Запросы + |ГДЕ + | Запросы.МоментВремени <= &ДатаЗапроса"; + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("ДатаЗапроса", ТекущаяУниверсальнаяДата() - 3600); // Время жизни запроса - час + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + НачатьТранзакцию(); + + Попытка + + Ключ = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьКлючЗаписи( + Новый Структура("ИдентификаторЗапроса, ТипПрограммногоМодуля, ИдентификаторПрограммногоМодуля", + Выборка.ИдентификаторЗапроса, Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля)); + ЗаблокироватьДанныеДляРедактирования(Ключ); + + Исключение + + // Обработка исключения не требуется. + // Ожидаемое исключение - попытка удалить ту же запись регистра из другого сеанса. + ОтменитьТранзакцию(); + Продолжить; + + КонецПопытки; + + Набор = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьНаборЗаписей(); + Набор.Отбор.ИдентификаторЗапроса.Установить(Выборка.ИдентификаторЗапроса); + Набор.Записать(); + + ЗафиксироватьТранзакцию(); + + КонецЦикла; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Работа с таблицами разрешений // @@ -490,7 +519,9 @@ Для Каждого Регистр Из Регистры Цикл БлокировкаРегистра = Блокировка.Добавить(Регистр.СоздатьНаборЗаписей().Метаданные().ПолноеИмя()); Если ВнешнийМодуль <> Неопределено Тогда - БлокировкаРегистра.УстановитьЗначение("ВнешнийМодуль", ВнешнийМодуль); + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ВнешнийМодуль); + БлокировкаРегистра.УстановитьЗначение("ТипПрограммногоМодуля", СвойстваПрограммногоМодуля.Тип); + БлокировкаРегистра.УстановитьЗначение("ИдентификаторПрограммногоМодуля", СвойстваПрограммногоМодуля.Идентификатор); КонецЕсли; КонецЦикла; @@ -524,7 +555,9 @@ Для Каждого Менеджер Из Менеджеры Цикл Набор = Менеджер.СоздатьНаборЗаписей(); Если ВнешнийМодуль <> Неопределено Тогда - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); КонецЕсли; Набор.Записать(Истина); КонецЦикла; @@ -661,7 +694,7 @@ КонецЦикла; Результат = Новый ТаблицаЗначений(); - Результат.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); + Результат.Колонки.Добавить("ВнешнийМодуль"); Результат.Колонки.Добавить("Изменения", Новый ОписаниеТипов("Структура")); Для Каждого КлючИЗначение Из Добавляемые Цикл @@ -671,7 +704,8 @@ Для Каждого Строка Из Таблица Цикл - ВнешнийМодуль = Строка.ВнешнийМодуль; + ВнешнийМодуль = СсылкаИзРегистраРазрешений( + Строка.ТипПрограммногоМодуля, Строка.ИдентификаторПрограммногоМодуля); ОтборПоМодулю = Новый Структура("ВнешнийМодуль", ВнешнийМодуль); СтрокиПоМодулю = Результат.НайтиСтроки(ОтборПоМодулю); @@ -705,7 +739,8 @@ Для Каждого Строка Из Таблица Цикл - ВнешнийМодуль = Строка.ВнешнийМодуль; + ВнешнийМодуль = СсылкаИзРегистраРазрешений( + Строка.ТипПрограммногоМодуля, Строка.ИдентификаторПрограммногоМодуля); ОтборПоМодулю = Новый Структура("ВнешнийМодуль", ВнешнийМодуль); СтрокиПоМодулю = Результат.НайтиСтроки(ОтборПоМодулю); @@ -734,7 +769,7 @@ Результат.Колонки.Добавить("Приоритет", Новый ОписаниеТипов("Число")); Для Каждого СтрокаРезультата Из Результат Цикл - Если СтрокаРезультата.ВнешнийМодуль = СлужебныйИОМ() Тогда + Если СтрокаРезультата.ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда СтрокаРезультата.Приоритет = 1; Иначе СтрокаРезультата.Приоритет = 2; @@ -759,7 +794,7 @@ // // Параметры: // ТекущаяТаблица - ТаблицаЗначений - см. ТаблицаРазрешений(), -// ПсевдонимТаблицы - Строка - пвседоним для таблицы (для текста запроса), +// ПсевдонимТаблицы - Строка - псевдоним для таблицы (для текста запроса), // ИмяВТ - Строка - имя временной таблицы (для текста запроса). // // Возвращаемое значение: Строка - текст запроса. @@ -835,35 +870,37 @@ Менеджеры = МенеджерыРегистровРазрешений(); ЗамещаемыеПоТипам = Новый ТаблицаЗначений(); - ЗамещаемыеПоТипам.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); - ЗамещаемыеПоТипам.Колонки.Добавить("Владелец", ОписаниеТипаЛюбаяСсылка()); + ЗамещаемыеПоТипам.Колонки.Добавить("ВнешнийМодуль"); + ЗамещаемыеПоТипам.Колонки.Добавить("Владелец"); ЗамещаемыеПоТипам.Колонки.Добавить("Тип", Новый ОписаниеТипов("Строка")); ДобавляемыеПоТипам = Новый ТаблицаЗначений(); - ДобавляемыеПоТипам.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); - ДобавляемыеПоТипам.Колонки.Добавить("Владелец", ОписаниеТипаЛюбаяСсылка()); + ДобавляемыеПоТипам.Колонки.Добавить("ВнешнийМодуль"); + ДобавляемыеПоТипам.Колонки.Добавить("Владелец"); ДобавляемыеПоТипам.Колонки.Добавить("Тип", Новый ОписаниеТипов("Строка")); ДобавляемыеПоТипам.Колонки.Добавить("Разрешения", Новый ОписаниеТипов("Массив")); УдаляемыеПоТипам = Новый ТаблицаЗначений(); - УдаляемыеПоТипам.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); - УдаляемыеПоТипам.Колонки.Добавить("Владелец", ОписаниеТипаЛюбаяСсылка()); + УдаляемыеПоТипам.Колонки.Добавить("ВнешнийМодуль"); + УдаляемыеПоТипам.Колонки.Добавить("Владелец",); УдаляемыеПоТипам.Колонки.Добавить("Тип", Новый ОписаниеТипов("Строка")); УдаляемыеПоТипам.Колонки.Добавить("Разрешения", Новый ОписаниеТипов("Массив")); ТекстЗапроса = "ВЫБРАТЬ - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Идентификатор, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.ВнешнийМодуль, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Владелец, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.РежимЗамещения, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.ДобавляемыеРазрешения, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.УдаляемыеРазрешения, - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.МоментВремени + | Запросы.ИдентификаторЗапроса, + | Запросы.ТипПрограммногоМодуля, + | Запросы.ИдентификаторПрограммногоМодуля, + | Запросы.ТипВладельца, + | Запросы.ИдентификаторВладельца, + | Запросы.РежимЗамещения, + | Запросы.ДобавляемыеРазрешения, + | Запросы.УдаляемыеРазрешения, + | Запросы.МоментВремени |ИЗ - | РегистрСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов КАК ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов + | РегистрСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов КАК Запросы |ГДЕ - | ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Идентификатор В(&Идентификаторы)"; + | Запросы.ИдентификаторЗапроса В(&Идентификаторы)"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Идентификаторы", ИдентификаторыЗапросов); @@ -880,8 +917,10 @@ ТипТаблицы = Менеджер.ТипXDTOПредставленияРазрешений().Имя; СтрокаЗамещения = ЗамещаемыеПоТипам.Добавить(); - СтрокаЗамещения.ВнешнийМодуль = Выборка.ВнешнийМодуль; - СтрокаЗамещения.Владелец = Выборка.Владелец; + СтрокаЗамещения.ВнешнийМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля); + СтрокаЗамещения.Владелец = СсылкаИзРегистраРазрешений( + Выборка.ТипВладельца, Выборка.ИдентификаторВладельца); СтрокаЗамещения.Тип = ТипТаблицы; КонецЦикла; @@ -895,13 +934,17 @@ Разрешение = ОбщегоНазначения.ОбъектXDTOИзСтрокиXML(ПредставлениеРазрешения); + ПрограммныйМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля); + Владелец = СсылкаИзРегистраРазрешений(Выборка.ТипВладельца, Выборка.ИдентификаторВладельца); + ТипРазрешения = Разрешение.Тип().Имя; - Отбор = Новый Структура("ВнешнийМодуль,Владелец,Тип", Выборка.ВнешнийМодуль, Выборка.Владелец, ТипРазрешения); + Отбор = Новый Структура("ВнешнийМодуль,Владелец,Тип", ПрограммныйМодуль, Владелец, ТипРазрешения); Строки = ДобавляемыеПоТипам.НайтиСтроки(Отбор); Если Строки.Количество() = 0 Тогда Строка = ДобавляемыеПоТипам.Добавить(); - Строка.ВнешнийМодуль = Выборка.ВнешнийМодуль; - Строка.Владелец = Выборка.Владелец; + Строка.ВнешнийМодуль = ПрограммныйМодуль; + Строка.Владелец = Владелец; Строка.Тип = ТипРазрешения; Иначе Строка = Строки.Получить(0); @@ -920,13 +963,17 @@ Разрешение = ОбщегоНазначения.ОбъектXDTOИзСтрокиXML(ПредставлениеРазрешения); + ПрограммныйМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля); + Владелец = СсылкаИзРегистраРазрешений(Выборка.ТипВладельца, Выборка.ИдентификаторВладельца); + ТипРазрешения = Разрешение.Тип().Имя; - Отбор = Новый Структура("ВнешнийМодуль,Владелец,Тип", Выборка.ВнешнийМодуль, Выборка.Владелец, ТипРазрешения); + Отбор = Новый Структура("ВнешнийМодуль,Владелец,Тип", ПрограммныйМодуль, Владелец, ТипРазрешения); Строки = УдаляемыеПоТипам.НайтиСтроки(Отбор); Если Строки.Количество() = 0 Тогда Строка = ДобавляемыеПоТипам.Добавить(); - Строка.ВнешнийМодуль = Выборка.ВнешнийМодуль; - Строка.Владелец = Выборка.Владелец; + Строка.ВнешнийМодуль = ПрограммныйМодуль; + Строка.Владелец = Владелец; Строка.Тип = ТипРазрешения; Иначе Строка = Строки.Получить(0); @@ -970,8 +1017,14 @@ Таблица = ТаблицыРазрешений[ИмяТипа]; ПараметрыОтбора = Новый Структура(); - ПараметрыОтбора.Вставить("ВнешнийМодуль", ЗамещаемыеПоТипу.ВнешнийМодуль); - ПараметрыОтбора.Вставить("Владелец", ЗамещаемыеПоТипу.Владелец); + + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ЗамещаемыеПоТипу.ВнешнийМодуль); + ПараметрыОтбора.Вставить("ТипПрограммногоМодуля", СвойстваПрограммногоМодуля.Тип); + ПараметрыОтбора.Вставить("ИдентификаторПрограммногоМодуля", СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = СвойстваДляРегистраРазрешений(ЗамещаемыеПоТипу.Владелец); + ПараметрыОтбора.Вставить("ТипВладельца", СвойстваВладельца.Тип); + ПараметрыОтбора.Вставить("ИдентификаторВладельца", СвойстваВладельца.Идентификатор); Строки = Таблица.НайтиСтроки(ПараметрыОтбора); Для Каждого Строка Из Строки Цикл @@ -1047,6 +1100,103 @@ КонецПроцедуры +// Применяет запросы на использование внешних ресурсов к регистрам разрешений. +// +// Параметры: +// ИдентификаторыЗапросов - Массив(УникальныйИдентификатор) - идентификаторы запросов на +// использование внешних ресурсов, для которых требуется получить изменения, которые должны +// быть внесены в настройки профилей безопасности при применении разрешений. +// +Процедура ПрименитьЗапросыКРегистрамРазрешений(Знач ИдентификаторыЗапросов) + + НачатьТранзакцию(); + + Попытка + + Менеджеры = МенеджерыРегистровРазрешений(); + + План = ПланПримененияЗапросовНаИспользованиеВнешнихРесурсов(ИдентификаторыЗапросов); + + Для Каждого ЗамещаемыеПоТипу Из План.ЗамещаемыеПоТипам Цикл + + ИмяТипа = ЗамещаемыеПоТипу.Тип; + ТекущийМенеджер = Неопределено; + Для Каждого Менеджер Из Менеджеры Цикл + Если Менеджер.ТипXDTOПредставленияРазрешений().Имя = ИмяТипа Тогда + ТекущийМенеджер = Менеджер; + КонецЕсли; + КонецЦикла; + Если ТекущийМенеджер = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при разборе запроса разрешений на использование внешних ресурсов: неизвестное имя типа %1!'"), + ИмяТипа); + КонецЕсли; + + Модуль = ЗамещаемыеПоТипу.ВнешнийМодуль; + Владелец = ЗамещаемыеПоТипу.Владелец; + + НаборЗаписей = ТекущийМенеджер.НаборЗаписейИзXDTOПредставления(Неопределено, Модуль, Владелец, Истина); + НаборЗаписей.Записать(Истина); + + КонецЦикла; + + Для Каждого ДобавляемыеПоТипу Из План.ДобавляемыеПоТипам Цикл + + ИмяТипа = ДобавляемыеПоТипу.Тип; + ТекущийМенеджер = Неопределено; + Для Каждого Менеджер Из Менеджеры Цикл + Если Менеджер.ТипXDTOПредставленияРазрешений().Имя = ИмяТипа Тогда + ТекущийМенеджер = Менеджер; + КонецЕсли; + КонецЦикла; + Если ТекущийМенеджер = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при разборе запроса разрешений на использование внешних ресурсов: неизвестное имя типа %1!'"), + ИмяТипа); + КонецЕсли; + + Модуль = ДобавляемыеПоТипу.ВнешнийМодуль; + Владелец = ДобавляемыеПоТипу.Владелец; + + НаборЗаписей = ТекущийМенеджер.НаборЗаписейИзXDTOПредставления(ДобавляемыеПоТипу.Разрешения, Модуль, Владелец, Ложь); + НаборЗаписей.Записать(Ложь); + + КонецЦикла; + + Для Каждого УдаляемыеПоТипу Из План.УдаляемыеПоТипам Цикл + + ИмяТипа = УдаляемыеПоТипу.Тип; + ТекущийМенеджер = Неопределено; + Для Каждого Менеджер Из Менеджеры Цикл + Если Менеджер.ТипXDTOПредставленияРазрешений().Имя = ИмяТипа Тогда + ТекущийМенеджер = Менеджер; + КонецЕсли; + КонецЦикла; + Если ТекущийМенеджер = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при разборе запроса разрешений на использование внешних ресурсов: неизвестное имя типа %1!'"), + ИмяТипа); + КонецЕсли; + + Модуль = УдаляемыеПоТипу.ВнешнийМодуль; + Владелец = УдаляемыеПоТипу.Владелец; + + НаборЗаписей = ТекущийМенеджер.НаборЗаписейИзXDTOПредставления(УдаляемыеПоТипу.Разрешения, Модуль, Владелец, Истина); + НаборЗаписей.Записать(Истина); + + КонецЦикла; + + ЗафиксироватьТранзакцию(); + + Исключение + + ОтменитьТранзакцию(); + ВызватьИсключение; + + КонецПопытки; + +КонецПроцедуры + // Применяет запросы на использование внешних ресурсов (должна вызываться после изменения настроек // профилей безопасности в кластере серверов). // @@ -1066,7 +1216,7 @@ ПараметрыЗадания = Новый Массив(); ПараметрыЗадания.Добавить("Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ОчисткаНеактуальныхЗапросовНаИспользованиеВнешнихРесурсов"); - ФоновыеЗадания.Выполнить("РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации", ,"f023cc5d-1846-4c49-b0ba-27aa65924879"); + ФоновыеЗадания.Выполнить("РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации", ПараметрыЗадания,"f023cc5d-1846-4c49-b0ba-27aa65924879"); Исключение // Обработка исключения не требуется. @@ -1079,41 +1229,8 @@ Попытка - МенеджерыРегистров = МенеджерыРегистровРазрешений(); - ЗаблокироватьРегистрыПредоставленныхРазрешений(); - - ТекущийСрез = ТекущийСрезРазрешений(); - ПрименитьЗапросыКТаблицамРазрешений(ИдентификаторыЗапросов, ТекущийСрез); - - Для Каждого ЭлементСреза Из ТекущийСрез Цикл - - ИмяТаблицы = ЭлементСреза.Ключ; - Таблица = ЭлементСреза.Значение; - МенеджерТекущегоРегистра = Неопределено; - - Для Каждого МенеджерРегистра Из МенеджерыРегистров Цикл - - Если МенеджерРегистра.ТипXDTOПредставленияРазрешений().Имя = ИмяТаблицы Тогда - - МенеджерТекущегоРегистра = МенеджерРегистра; - Прервать; - - КонецЕсли; - - КонецЦикла; - - Если МенеджерТекущегоРегистра = Неопределено Тогда - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Ошибка при разборе запроса разрешений на использование внешних ресурсов: неизвестное имя типа %1!'"), - ИмяТаблицы); - КонецЕсли; - - НаборЗаписей = МенеджерТекущегоРегистра.СоздатьНаборЗаписей(); - НаборЗаписей.Загрузить(Таблица); - НаборЗаписей.Записать(Истина); - - КонецЦикла; + ПрименитьЗапросыКРегистрамРазрешений(ИдентификаторыЗапросов); ЗафиксироватьТранзакцию(); @@ -1139,20 +1256,24 @@ ТекстЗапроса = "ВЫБРАТЬ - | ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Идентификатор, - | ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Владелец, - | ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Операция, - | ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Имя + | Запросы.ИдентификаторЗапроса КАК ИдентификаторЗапроса, + | Запросы.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Запросы.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Запросы.Операция, + | Запросы.Имя |ИЗ - | РегистрСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов КАК ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов + | РегистрСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов КАК Запросы |ГДЕ - | ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Идентификатор В(&Идентификаторы)"; + | Запросы.ИдентификаторЗапроса В(&Идентификаторы)"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Идентификаторы", ИдентификаторыЗапросов); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - ЭтоПрофильКонфигурации = (Выборка.Владелец = СлужебныйИОМ()); + ПрограммныйМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля); + + ЭтоПрофильКонфигурации = (ПрограммныйМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); Если Выборка.Операция = Перечисления.ОперацииСНаборамиРазрешений.Создание Тогда @@ -1163,9 +1284,11 @@ Иначе Набор = РегистрыСведений.РежимыПодключенияВнешнихМодулей.СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(Выборка.Владелец); + Набор.Отбор.ТипПрограммногоМодуля.Установить(Выборка.ТипПрограммногоМодуля); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(Выборка.ИдентификаторПрограммногоМодуля); Запись = Набор.Добавить(); - Запись.ВнешнийМодуль = Выборка.Владелец; + Запись.ТипПрограммногоМодуля = Выборка.ТипПрограммногоМодуля; + Запись.ИдентификаторПрограммногоМодуля = Выборка.ИдентификаторПрограммногоМодуля; Запись.БезопасныйРежим = Выборка.Имя; Набор.Записать(); @@ -1180,7 +1303,7 @@ Иначе - ОчиститьПредоставленныеРазрешения(Выборка.Владелец, Истина); + ОчиститьПредоставленныеРазрешения(ПрограммныйМодуль, Истина); КонецЕсли; @@ -1246,7 +1369,7 @@ Для Каждого Строка Из Таблица Цикл - ВнешнийМодуль = Строка.ВнешнийМодуль; + ВнешнийМодуль = СсылкаИзРегистраРазрешений(Строка.ТипПрограммногоМодуля, Строка.ИдентификаторПрограммногоМодуля); РезультатПоМодулю = Результат.Получить(ВнешнийМодуль); Если РезультатПоМодулю = Неопределено Тогда @@ -1299,7 +1422,7 @@ Для Каждого Описание Из ОперацииАдминистрирования Цикл - ЭтоПрофильКонфигурации = (Описание.ВнешнийМодуль = СлужебныйИОМ()); + ЭтоПрофильКонфигурации = (Описание.ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); ИмяПрофиля = Описание.Имя; ИменаПрофилей.Вставить(Описание.ВнешнийМодуль, ИмяПрофиля); @@ -1363,8 +1486,8 @@ ИмяПрофиля = ИменаПрофилей.Получить(Модуль); Если ИмяПрофиля = Неопределено Тогда - Если Модуль <> СлужебныйИОМ() Тогда - ИмяПрофиля = РаботаВБезопасномРежимеСлужебный.РежимПодключенияВнешнегоМодуля(Модуль); + Если Модуль <> Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда + ИмяПрофиля = РежимПодключенияВнешнегоМодуля(Модуль); Иначе ИмяПрофиля = Константы.ПрофильБезопасностиИнформационнойБазы.Получить(); КонецЕсли; @@ -1392,7 +1515,7 @@ Добавлять = Ложь; КонецЕсли; - Если Модуль <> СлужебныйИОМ() И ЭлементРезультата.Операция = Перечисления.ОперацииСНаборамиРазрешений.Обновление Тогда + Если Модуль <> Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() И ЭлементРезультата.Операция = Перечисления.ОперацииСНаборамиРазрешений.Обновление Тогда Если Не ПрофильБезопасностиНазначенВнешнемуМодулю(ЭлементРезультата.Профиль) Тогда ЭлементРезультата.Операция = Перечисления.ОперацииСНаборамиРазрешений.Создание; @@ -1400,7 +1523,7 @@ КонецЕсли; - ЭлементРезультата.Разрешения = ПрофильВНотацииКластера(ЭлементРезультата.Профиль, ОписаниеПрофиля, РезультатПримененияЗапросов.Получить(Модуль)); + ЭлементРезультата.Разрешения = ПрофильВНотацииИнтерфейсаАдминистрированияКластера(ЭлементРезультата.Профиль, ОписаниеПрофиля, РезультатПримененияЗапросов.Получить(Модуль)); Если Добавлять Тогда Результат.Добавить(ЭлементРезультата); @@ -1424,7 +1547,7 @@ // // Возвращаемое значение: Структура - см. АдминистрированиеКластераКлиентСервер.СвойстваПрофиляБезопасности(). // -Функция ПрофильВНотацииКластера(Знач ИмяПрофиля, Знач ОписаниеПрофиля, Знач Разрешения) +Функция ПрофильВНотацииИнтерфейсаАдминистрированияКластера(Знач ИмяПрофиля, Знач ОписаниеПрофиля, Знач Разрешения) Профиль = АдминистрированиеКластераКлиентСервер.СвойстваПрофиляБезопасности(); Профиль.Имя = ИмяПрофиля; @@ -1489,27 +1612,29 @@ Функция ОперацииАдминистрированияВЗапросах(Знач ИдентификаторыЗапросов) Экспорт Результат = Новый ТаблицаЗначений(); - Результат.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); + Результат.Колонки.Добавить("ВнешнийМодуль"); Результат.Колонки.Добавить("Операция", Новый ОписаниеТипов("ПеречислениеСсылка.ОперацииСНаборамиРазрешений")); Результат.Колонки.Добавить("Имя", Новый ОписаниеТипов("Строка")); ТекстЗапроса = "ВЫБРАТЬ - | Запросы.Идентификатор, - | Запросы.Владелец, - | Запросы.Операция, - | Запросы.Имя + | Запросы.ИдентификаторЗапроса КАК ИдентификаторЗапроса, + | Запросы.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Запросы.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Запросы.Операция КАК Операция, + | Запросы.Имя КАК Имя |ИЗ | РегистрСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов КАК Запросы |ГДЕ - | Запросы.Идентификатор В(&Идентификаторы)"; + | Запросы.ИдентификаторЗапроса В(&Идентификаторы)"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Идентификаторы", ИдентификаторыЗапросов); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Строка = Результат.Добавить(); - Строка.ВнешнийМодуль = Выборка.Владелец; + Строка.ВнешнийМодуль = СсылкаИзРегистраРазрешений( + Выборка.ТипПрограммногоМодуля, Выборка.ИдентификаторПрограммногоМодуля); Строка.Операция = Выборка.Операция; Строка.Имя = Выборка.Имя; @@ -1538,7 +1663,7 @@ Для Каждого Идентификатор Из Идентификаторы Цикл Набор = РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.СоздатьНаборЗаписей(); - Набор.Отбор.Идентификатор.Установить(Идентификатор); + Набор.Отбор.ИдентификаторЗапроса.Установить(Идентификатор); Набор.Прочитать(); Если Набор.Количество() > 0 Тогда @@ -1551,7 +1676,7 @@ КонецЕсли; Набор = РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.СоздатьНаборЗаписей(); - Набор.Отбор.Идентификатор.Установить(Идентификатор); + Набор.Отбор.ИдентификаторЗапроса.Установить(Идентификатор); Набор.Прочитать(); Если Набор.Количество() > 0 Тогда @@ -1742,6 +1867,7 @@ ОчиститьПредоставленныеРазрешения(, Ложь); ИдентификаторыЗапросов = РаботаВБезопасномРежимеСлужебный.ЗапросыНаОбновлениеРазрешенийКонфигурации(Ложь); + СериализацияЗапросов = СериализоватьЗапросыДляОбработкиСВосстановлением(ИдентификаторыЗапросов); ВыполнитьОбработкуЗапросов(ИдентификаторыЗапросов, АдресВременногоХранилища); @@ -1785,36 +1911,49 @@ КонецПроцедуры +//////////////////////////////////////////////////////////////////////////////// +// Внешние модули +// + +// Возвращает режим подключения внешнего модуля. +// +// Параметры: +// ВнешнийМодуль - ЛюбаяСсылка, ссылка, соответствующая внешнему модулю, для которого запрашиваются +// режим подключения. +// +// Возвращаемое значение: Строка - имя профиля безопасности, который должен использоваться для подключения +// внешнего модуля. Если для внешнего модуля не зарегистрирован режим подключения - возвращается Неопределено. +// +Функция РежимПодключенияВнешнегоМодуля(Знач ВнешнийМодуль) Экспорт + + Если РаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда + + Возврат БезопасныйРежим(); + + Иначе + + УстановитьПривилегированныйРежим(Истина); + + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(ВнешнийМодуль); + + Менеджер = РегистрыСведений.РежимыПодключенияВнешнихМодулей.СоздатьМенеджерЗаписи(); + Менеджер.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Менеджер.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Менеджер.Прочитать(); + Если Менеджер.Выбран() Тогда + Возврат Менеджер.БезопасныйРежим; + Иначе + Возврат Неопределено; + КонецЕсли; + + КонецЕсли; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Прочее // -// Возвращает служебный идентификатор объектов метаданных, который используется для хранения -// разрешений, связанных с конфигурацией (а не с объектами конфигурации). -// -// Возвращаемое значение: СправочникСсылка.ИдентификаторыОбъектовМетаданных. -// -Функция СлужебныйИОМ() - - Возврат РаботаВБезопасномРежимеСлужебныйПовтИсп.СлужебныйИОМ(); - -КонецФункции - -// Возвращает описание типов для набора ссылок вида ЛюбаяСсылка. -// -// Вовзращаемое значение: ОписаниеТипов. -// -Функция ОписаниеТипаЛюбаяСсылка() - - ОписаниеТипаЛюбаяСсылкаXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/core", "TypeDescription")); - ОписаниеТипаЛюбаяСсылкаXDTO.TypeSet.Добавить(СериализаторXDTO.ЗаписатьXDTO(Новый РасширенноеИмяXML( - "http://v8.1c.ru/8.1/data/enterprise/current-config", "AnyRef"))); - ОписаниеТипаЛюбаяСсылка = СериализаторXDTO.ПрочитатьXDTO(ОписаниеТипаЛюбаяСсылкаXDTO); - - Возврат ОписаниеТипаЛюбаяСсылка; - -КонецФункции - // Формирует имя профиля безопасности для информационной базы или внешнего модуля. // // Параметры: @@ -1823,14 +1962,16 @@ // // Вовзращаемое значение: Строка - имя профиля безопасности. // -Функция НовоеИмяПрофиляБезопасности(Знач ВнешнийМодуль) Экспорт +Функция НовоеИмяПрофиляБезопасности(Знач ВнешнийМодуль) - Если ВнешнийМодуль = СлужебныйИОМ() Тогда + Если ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда Результат = "Infobase_" + Строка(Новый УникальныйИдентификатор()); Иначе + ВнешнийМодуль = ВнешнийМодуль; + МенеджерМодуля = РаботаВБезопасномРежимеСлужебный.МенеджерВнешнегоМодуля(ВнешнийМодуль); Шаблон = МенеджерМодуля.ШаблонИмениПрофиляБезопасности(ВнешнийМодуль); Возврат СтрЗаменить(Шаблон, "%1", Строка(Новый УникальныйИдентификатор())); @@ -1865,7 +2006,7 @@ ВызватьИсключение НСтр("ru = 'Строка соединения информационной базы не содержит имени информационной базы!'"); КонецЕсли; - Если ВнешнийМодуль = СлужебныйИОМ() Тогда + Если ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, ИмяИБ, НСтр("ru = 'Основной профиль безопасности для информационной базы'"), СтрокаСоединенияИнформационнойБазы()); Иначе @@ -1886,13 +2027,13 @@ // Функция ИмяПрофиляБезопасности(Знач ВнешнийМодуль) Экспорт - Если ВнешнийМодуль = СлужебныйИОМ() Тогда + Если ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда Возврат Константы.ПрофильБезопасностиИнформационнойБазы.Получить(); Иначе - Возврат РаботаВБезопасномРежимеСлужебный.РежимПодключенияВнешнегоМодуля(ВнешнийМодуль); + Возврат РежимПодключенияВнешнегоМодуля(ВнешнийМодуль); КонецЕсли; @@ -1909,7 +2050,8 @@ ТекстЗапроса = "ВЫБРАТЬ - | РежимыПодключенияВнешнихМодулей.ВнешнийМодуль + | РежимыПодключенияВнешнихМодулей.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | РежимыПодключенияВнешнихМодулей.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля |ИЗ | РегистрСведений.РежимыПодключенияВнешнихМодулей КАК РежимыПодключенияВнешнихМодулей |ГДЕ @@ -1921,6 +2063,83 @@ КонецФункции +// Добавляет процедуры-обработчики обновления, необходимые данной подсистеме. +// +// Параметры: +// Обработчики - ТаблицаЗначений - См. ОбновлениеИнформационнойБазы.НоваяТаблицаОбработчиковОбновления(). +// +Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт + + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.2.31"; + Обработчик.Процедура = "Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ЗаполнитьВнешнийМодульДляПредоставленныхРазрешений"; + Обработчик.ОбщиеДанные = Истина; + + Обработчик = Обработчики.Добавить(); + Обработчик.Версия = "2.2.3.23"; + Обработчик.Процедура = "Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.ЗаполнитьТипыИИдентификаторыВРегистрахРазрешений"; + Обработчик.ОбщиеДанные = Истина; + +КонецПроцедуры + +// Формирует параметры для хранения ссылки в регистрах разрешений. +// +// Параметры: +// Ссылка - ЛюбаяСсылка. +// +// Возвращаемое значение: Структура: +// * Тип - СправочникСсылка.ИдентификаторыОбъектовМетаданных, +// * Идентификатор - Строка, в которой хранится приведенный к строке +// уникальный идентификатор ссылки. +// +Функция СвойстваДляРегистраРазрешений(Знач Ссылка) Экспорт + + Результат = Новый Структура("Тип,Идентификатор"); + + Если Ссылка = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда + + Результат.Тип = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); + Результат.Идентификатор = ""; + + Иначе + + Результат.Тип = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Ссылка.Метаданные()); + Результат.Идентификатор = Строка(Ссылка.УникальныйИдентификатор()); + + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Формирует ссылку из данных, хранящихся в регистрах разрешений. +// +// Параметры: +// Тип - СправочникСсылка.ИдентификаторОбъектаМетаданных, +// Идентификатор - Строка, в которой хранится приведенный к строке уникальный идентификатор ссылки. +// +// Возвращаемое значение: ЛюбаяСсылка. +// +Функция СсылкаИзРегистраРазрешений(Знач Тип, Знач Идентификатор) + + Если Тип = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда + Возврат Тип; + Иначе + + ОбъектМетаданных = ОбщегоНазначения.ОбъектМетаданныхПоИдентификатору(Тип); + Менеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ОбъектМетаданных.ПолноеИмя()); + + Если ПустаяСтрока(Идентификатор) Тогда + Возврат Менеджер.ПустаяСсылка(); + Иначе + УникальныйИдентификатор = Новый УникальныйИдентификатор(Идентификатор); + Возврат Менеджер.ПолучитьСсылку(УникальныйИдентификатор); + КонецЕсли; + + КонецЕсли; + +КонецФункции + //////////////////////////////////////////////////////////////////////////////// // Обработчики обновления // @@ -1947,16 +2166,20 @@ СоответствиеРежимовМодулям = Новый ТаблицаЗначений(); СоответствиеРежимовМодулям.Колонки.Добавить("БезопасныйРежим", Метаданные.ОпределяемыеТипы.БезопасныйРежим.Тип); - СоответствиеРежимовМодулям.Колонки.Добавить("ВнешнийМодуль", ОписаниеТипаЛюбаяСсылка()); + СоответствиеРежимовМодулям.Колонки.Добавить("ТипПрограммногоМодуля", Новый ОписаниеТипов("СправочникСсылка.ИдентификаторыОбъектовМетаданных")); + СоответствиеРежимовМодулям.Колонки.Добавить("ИдентификаторПрограммногоМодуля", Новый ОписаниеТипов("Строка")); - МодульКонфигурации = СлужебныйИОМ(); + МодульКонфигурации = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); СтрокаКонфигурации = СоответствиеРежимовМодулям.Добавить(); - СтрокаКонфигурации.ВнешнийМодуль = СлужебныйИОМ(); - СтрокаКонфигурации.БезопасныйРежим = ИмяПрофиляБезопасности(СлужебныйИОМ()); + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); + СтрокаКонфигурации.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + СтрокаКонфигурации.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + СтрокаКонфигурации.БезопасныйРежим = ИмяПрофиляБезопасности(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); ТекстЗапроса = "ВЫБРАТЬ - | РежимыПодключенияВнешнихМодулей.ВнешнийМодуль КАК ВнешнийМодуль, + | РежимыПодключенияВнешнихМодулей.ТипПрограммногоМодуля КАК ТипПрограмнмогоМодуля, + | РежимыПодключенияВнешнихМодулей.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, | РежимыПодключенияВнешнихМодулей.БезопасныйРежим КАК БезопасныйРежим |ИЗ | РегистрСведений.РежимыПодключенияВнешнихМодулей КАК РежимыПодключенияВнешнихМодулей"; @@ -1964,7 +2187,8 @@ Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл СтрокаМодуля = СоответствиеРежимовМодулям.Добавить(); - СтрокаМодуля.ВнешнийМодуль = Выборка.ВнешнийМодуль; + СтрокаМодуля.ТипПрограммногоМодуля = Выборка.ТипПрограммногоМодуля; + СтрокаМодуля.ИдентификаторПрограммногоМодуля = Выборка.ИдентификаторПрограммногоМодуля; СтрокаМодуля.БезопасныйРежим = Выборка.БезопасныйРежим; КонецЦикла; @@ -1973,7 +2197,8 @@ ТекстЗапросаСозданияВТ = "ВЫБРАТЬ | Соответствие.БезопасныйРежим КАК БезопасныйРежим, - | Соответствие.ВнешнийМодуль КАК ВнешнийМодуль + | Соответствие.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Соответствие.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля |ПОМЕСТИТЬ Соответствие |ИЗ | &Соответствие КАК Соответствие"; @@ -1985,7 +2210,7 @@ МетаданныеРегистра = Регистр.СоздатьНаборЗаписей().Метаданные(); - ТекстЗапросаРезультата = "Выбрать [ПоляРегистра], Соответствие.ВнешнийМодуль Из [ТаблицаРегистра] КАК ТаблицаРегистра ЛЕВОЕ СОЕДИНЕНИЕ Соответствие По ТаблицаРегистра.БезопасныйРежим = Соответствие.БезопасныйРежим"; + ТекстЗапросаРезультата = "Выбрать [ПоляРегистра], Соответствие.ТипПрограммногоМодуля, Соответствие.ИдентификаторПрограммногоМодуля Из [ТаблицаРегистра] КАК ТаблицаРегистра ЛЕВОЕ СОЕДИНЕНИЕ Соответствие По ТаблицаРегистра.БезопасныйРежим = Соответствие.БезопасныйРежим"; ИмяТаблицы = МетаданныеРегистра.ПолноеИмя(); ПсевдонимТаблицы = "ТаблицаРегистра"; @@ -2032,6 +2257,98 @@ КонецПроцедуры +// [2.2.3.23] Процедура заполняет типы и идентификаторы программных модулей и владельцев разрешений в +// регистрах разрешений. +// +Процедура ЗаполнитьТипыИИдентификаторыВРегистрахРазрешений() Экспорт + + НачатьТранзакцию(); + + Попытка + + СлужебныйИОМ = ОбщегоНазначения.ИдентификаторОбъектаМетаданных( + Метаданные.РегистрыСведений.РежимыПодключенияВнешнихМодулей); + + ОчисткаНеактуальныхЗапросовНаИспользованиеВнешнихРесурсов(); + + План = Новый Соответствие(); + + План.Вставить(РегистрыСведений.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов, "ВнешнийМодуль"); + План.Вставить(РегистрыСведений.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов, "ВнешнийМодуль,Владелец"); + План.Вставить(РегистрыСведений.РежимыПодключенияВнешнихМодулей, "ВнешнийМодуль"); + + Для Каждого МенеджерРегистра Из МенеджерыРегистровРазрешений() Цикл + План.Вставить(МенеджерРегистра, "ВнешнийМодуль,Владелец"); + КонецЦикла; + + Для Каждого СтрокаПлана Из План Цикл + + Регистр = СтрокаПлана.Ключ; + Поля = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(СтрокаПлана.Значение, ","); + + Выборка = Регистр.Выбрать(); + Пока Выборка.Следующий() Цикл + + МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи(); + МенеджерЗаписи.Прочитать(); + + Для Каждого Поле Из Поля Цикл + + Если Поле = "Владелец" Тогда + + Ссылка = МенеджерЗаписи.ТипВладельца; + + Если ЗначениеЗаполнено(Ссылка) И Не ЗначениеЗаполнено(МенеджерЗаписи.ИдентификаторВладельца) Тогда + + Если Ссылка <> СлужебныйИОМ Тогда + СвойстваВладельца = СвойстваДляРегистраРазрешений(Ссылка); + МенеджерЗаписи.ТипВладельца = СвойстваВладельца.Тип; + МенеджерЗаписи.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; + Иначе + МенеджерЗаписи.ТипВладельца = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); + МенеджерЗаписи.ИдентификаторВладельца = ""; + КонецЕсли; + + КонецЕсли; + + ИначеЕсли Поле = "ВнешнийМодуль" Тогда + + Ссылка = МенеджерЗаписи.ТипПрограммногоМодуля; + + Если ЗначениеЗаполнено(Ссылка) И Не ЗначениеЗаполнено(МенеджерЗаписи.ИдентификаторПрограммногоМодуля) Тогда + + Если Ссылка <> СлужебныйИОМ Тогда + СвойстваПрограммногоМодуля = СвойстваДляРегистраРазрешений(Ссылка); + МенеджерЗаписи.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + МенеджерЗаписи.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Иначе + МенеджерЗаписи.ТипПрограммногоМодуля = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(); + МенеджерЗаписи.ИдентификаторПрограммногоМодуля = ""; + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + МенеджерЗаписи.Записать(); + + КонецЦикла; + + КонецЦикла; + + КонецЦикла; + + ЗафиксироватьТранзакцию(); + + Исключение + + ОтменитьТранзакцию(); + ВызватьИсключение; + + КонецПопытки; + +КонецПроцедуры + #КонецОбласти #КонецЕсли diff --git a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.mdo b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.mdo index 1452b1ef2..73aaa6ea6 100644 --- a/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.mdo +++ b/SSL/src/DataProcessors/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.mdo @@ -10,6 +10,7 @@ Настройка разрешений на использование внешних ресурсов
                                  DataProcessor.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НапоминаниеКлиентСервер/Module.bsl b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НапоминаниеКлиентСервер/Module.bsl index 91d268af0..d10e84622 100644 --- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НапоминаниеКлиентСервер/Module.bsl +++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/НапоминаниеКлиентСервер/Module.bsl @@ -36,6 +36,7 @@ &НаКлиенте Процедура ОК(Команда) + ПараметрыРезервногоКопированияИБ.ПараметрОповещения = ?(ОтключитьНапоминания, "НеОповещать", "ЕщеНеНастроено"); ОКНаСервере(); Оповестить("ЗакрытаФормаНастройкиРезервногоКопирования"); Закрыть(); diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Form.form b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Form.form index 05f7bf051..2fd721c60 100644 --- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Form.form @@ -1304,7 +1304,7 @@ <key>ru</key> - <value>1. Если задан неправильный пароль администратора, введите его еще раз</value> + <value>Если задан неправильный пароль администратора, введите его еще раз</value> АвторизацияАдминистратораИнформационнойБазыExtendedTooltip @@ -1328,80 +1328,6 @@ Auto - - ГруппаComcntrФайловыйРежим - 212 - - НадписьОбновитьВерсиюКомпоненты - 213 - - <key>ru</key> - <value>2. При ошибке версии компоненты "comcntr", рекомендуется - выполнить ее <link ОбновитьВерсиюКомпоненты>перерегистрацию</> (потребуется перезапуск сеанса).</value> - - true - true - - true - - - ru - Возможно необходимо обновить версию компоненты "comcntr". При этом потребуется перезапустить сеанс 1С. Для этого нажмите здесь - - - НадписьОбновитьВерсиюКомпонентыРасширеннаяПодсказка - 341 - Label - true - true - - Left - - - - НадписьОбновитьВерсиюКомпонентыКонтекстноеМеню - 214 - true - - true - Label - true - true - false - - - URLProcessing - НадписьОбновитьВерсиюКомпонентыОбработкаНавигационнойСсылки - - Left - 2 - - - true - true - - true - - - ГруппаComcntrФайловыйРежимExtendedTooltip - 340 - Label - true - true - - Left - - - UsualGroup - - Auto - NormalSeparation - true - true - Auto - Auto - - true true diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Module.bsl index 683dbfd5b..f205f9ec0 100644 --- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Forms/Форма/Module.bsl @@ -76,10 +76,6 @@ Элементы.АвторизацияАдминистратораИнформационнойБазы.Видимость = Ложь; КонецЕсли; -#Если ВебКлиент Тогда - Элементы.ГруппаComcntrФайловыйРежим.Видимость = Ложь; -#КонецЕсли - КонецПроцедуры &НаКлиенте @@ -128,14 +124,6 @@ КонецПроцедуры -&НаКлиенте -Процедура НадписьОбновитьВерсиюКомпонентыОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) - - СтандартнаяОбработка = Ложь; - ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(); - -КонецПроцедуры - #КонецОбласти #Область ОбработчикиКомандФормы @@ -299,10 +287,11 @@ Если СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().ЭтоБазоваяВерсияКонфигурации Тогда Возврат Результат; КонецЕсли; - ПараметрыПодключения = ПолучитьПараметрыАутентификацииАдминистратораОбновления(); + ПараметрыПодключения = ПолучитьПараметрыАутентификацииАдминистратораОбновления(); + ОбщегоНазначенияКлиент.ЗарегистрироватьCOMСоединитель(Ложь); Попытка - ComConnector = Новый COMОбъект(СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().ИмяCOMСоединителя); + ComConnector = Новый COMОбъект(СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента().ИмяCOMСоединителя); СтрокаСоединенияИнформационнойБазы = ПараметрыПодключения.СтрокаСоединенияИнформационнойБазы + ПараметрыПодключения.СтрокаПодключения; Соединение = ComConnector.Connect(СтрокаСоединенияИнформационнойБазы); Исключение diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Help/ru.html b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Help/ru.html index 149a057f5..82922a6e0 100644 --- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/Help/ru.html @@ -1,10 +1,28 @@ - -

                                  Форма настройки системы резервного копирования информационной базы.

                                  -

                                  Предлагает следующие возможности:

                                  -

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

                                  -

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

                                  -

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

                                  -

                                  Если  резервное копирование завершилоcь неудачей, а во временном log-файле имеется запись: Исключение в createConnection: Error, Automation server can't create object то, скорее всего, используется 32-разрядная компонента comcntr.dll на компьютере под управлением 64-разрядной операционной системы. Для устранения данной проблемы необходимо взять 64-разрядную компоненту comcntr.dll из поставки 1С Предприятие x64 Сервер и зарегистрировать ее, запустив из командной строки:

                                  + +

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

                                  +

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

                                  +

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

                                  +

                                  Использование резервного копирования в режиме 1С:Предприятия предусмотрено только для файлового варианта работы. В клиент-серверном варианте работы программы для создания резервных копий рекомендуется использовать средства СУБД. Более подробную информацию об этом можно найти в книге "1С:Предприятие 8.2. Клиент-серверный вариант. Руководство администратора".

                                  +

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

                                  +

                                  Также можно воспользоваться командой Настройка резервного копирования в разделе Администрирование - Поддержка и обслуживание - Резервное копирование и восстановление. Под этой командой размещается информация о состоянии резервного копирования в программе. 

                                  +

                                  Настройка резервного копирования (файловый режим работы программы)

                                  +
                                  • +

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

                                    +
                                  • +

                                    Включите флажок Выполнять автоматическое резервное копирование.

                                    +
                                  • После этого с помощью переключателя можно выбрать следующие возможности: +
                                    • Регулярно по расписанию - выполнять резервное копирование автоматически. Перейдите по ссылке, для того чтобы настроить расписание резервного копирования. Ссылка отражает введенное расписание. +
                                      • При составлении расписания необходимо учитывать, что если к моменту запуска резервного копирования программа не будет работать, то резервное копирование не выполнится.
                                    • При завершении работы - при каждом выходе из программы администратору предлагается выполнить резервное копирование. При выходе из программы, для того чтобы началось резервное копирование, подтвердите свой выбор - нажмите кнопку Завершить. В окне Завершение работы флажок Выполнить резервное копирование по умолчанию включен. Для того чтобы при завершении работы больше не предлагалось резервное копирование, выключите флажок.
                                  • Выберите Каталог для сохранения резервных копий. Для этого нажмите  Выбрать, укажите путь к папке, в которую будут помещаться резервные копии, например, E:\Резервное копирование. Поле является обязательным. Рекомендуется выполнять резервное копирование на другой компьютер или внешний носитель. +
                                  • С помощью переключателя выберите срок, на протяжении которого программа будет Хранить резервные копии, или количество хранимых резервных копий:  +
                                    • Все - если объем жесткого диска, на котором будет находиться каталог для резервного копирования, позволяет, можно выбрать это значение. +
                                    • За последние 6 мес. (по умолчанию). Можно выбрать срок хранения резервных копий. +
                                    • Последние 10 шт. (по умолчанию). Можно ограничить количество хранимых копий.
                                  • Нажмите Готово, для того чтобы подтвердить свой выбор и вернуться в программу. После этого программа перейдет в режим автоматического резервного копирования.

                                  Выполнение резервного копирования сторонними средствами

                                  +
                                  • Можно отказаться от настройки автоматического резервного копирования, если резервное копирование будет осуществляться сторонними средствами, например, средствами СУБД при клиент-серверном варианте работы, или сторонними программами резервного копирования.  +
                                  • Для этого выключите флажок Выполнять автоматическое резервное копирование.

                                  Резервное копирование при хранении файлов в томах

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

                                  Ошибки при резервном копировании

                                  +

                                  Если  резервное копирование завершилось неудачей, а во временном log-файле имеется запись: "Исключение в createConnection: Error, Automation server can't create object", то, скорее всего, используется 32-разрядная компонента comcntr.dll на компьютере под управлением 64-разрядной операционной системы. Для устранения данной проблемы необходимо взять 64-разрядную компоненту comcntr.dll из поставки 1С Предприятие x64 Сервер и зарегистрировать ее, запустив из командной строки:

                                  regsvr32 <каталог 64-разрядного comcntr.dll>\comcntr.dll

                                  -

                                  Важно: для того, чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                  -

                                   

                                  \ No newline at end of file +

                                  Важно: для того чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                  +

                                  См. также:

                                  + \ No newline at end of file diff --git a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/НастройкаРезервногоКопированияИБ.mdo b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/НастройкаРезервногоКопированияИБ.mdo index 2c304b06c..5e9553f3a 100644 --- a/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/НастройкаРезервногоКопированияИБ.mdo +++ b/SSL/src/DataProcessors/НастройкаРезервногоКопированияИБ/НастройкаРезервногоКопированияИБ.mdo @@ -11,6 +11,7 @@
                                  true DataProcessor.НастройкаРезервногоКопированияИБ.Form.Форма + true ru @@ -172,7 +173,7 @@ Форма ru - Форма + Настройка резервного копирования PersonalComputer MobileDevice @@ -181,7 +182,7 @@ НапоминаниеКлиентСервер ru - Напоминание клиент сервер + Настройка резервного копирования PersonalComputer MobileDevice diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Form.form index b6b0005ec..e41532173 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Form.form +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Form.form @@ -20,7 +20,7 @@ Left ru - Введите имя или часть фразы для поиска настроек. Например: отчет + Введите слово или часть фразы для поиска настроек. Например: отчет OnChange @@ -56,6 +56,10 @@ true true Normal + + ru + слово или часть фразы + true @@ -67,10 +71,6 @@ ru Быстрый поиск - - ru - Быстрый поиск - БыстрыйПоискExtendedTooltip 105 @@ -613,7 +613,6 @@ true Tree - true true true true @@ -1050,7 +1049,6 @@ true Tree - true true true true @@ -1486,7 +1484,6 @@ true - true true true true diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Help/ru.html index ce44a829c..e9be2e1ac 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Help/ru.html @@ -1,4 +1,4 @@ - +

                                  Выбор пользовательских настроек, которые необходимо скопировать или очистить:

                                  Список состоит из трех вкладок:

                                  • Внешний вид - выводятся настройки внешнего вида рабочего стола, форм (например, различных списков программы) и командного интерфейса программы. diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Module.bsl index ec044bab5..bdf346147 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Module.bsl +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборНастроек/Module.bsl @@ -121,7 +121,7 @@ Процедура ДеревоНастроекВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - НастройкиПользователейКлиент.ОткрытьОтчетИлиФорму( + ПользователиСлужебныйКлиент.ОткрытьОтчетИлиФорму( ТекущийЭлемент, ПользовательИнформационнойБазы, ТекущийПользователь, ИмяФормыПерсональныхНастроек); КонецПроцедуры @@ -148,7 +148,7 @@ &НаКлиенте Процедура ОткрытьНастройку(Команда) - НастройкиПользователейКлиент.ОткрытьОтчетИлиФорму( + ПользователиСлужебныйКлиент.ОткрытьОтчетИлиФорму( ТекущийЭлемент, ПользовательИнформационнойБазы, ТекущийПользователь, ИмяФормыПерсональныхНастроек); КонецПроцедуры diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборПользователей/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборПользователей/Help/ru.html index 26a3ee18b..1c324eeb3 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ВыборПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Необходимо выбрать одного или нескольких пользователей, которым будут скопированы настройки (у которых будут очищены настройки).

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

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

                                    diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form index 5b6938c04..4ec3ca80f 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Form.form @@ -428,6 +428,7 @@ UsualGroup Auto + NormalSeparation true true auto diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Help/ru.html index 9ff829279..2f68be8f5 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                    Команда для копирования настроек пользователей находится в разделе Администрирование - Настройки пользователей и прав.

                                    diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl index 16afd73d6..cc126bc48 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/КопированиеНастроекПользователей/Module.bsl @@ -305,7 +305,7 @@ Если ПереключательКомуКопироватьНастройки = "ВыбраннымПользователям" Тогда - ПояснениеКомуСкопированыНастройки = НастройкиПользователейКлиент.ПояснениеПользователи( + ПояснениеКомуСкопированыНастройки = ПользователиСлужебныйКлиент.ПояснениеПользователи( КоличествоПользователей, ПользователиПолучателиНастроек.МассивПользователей[0]); Иначе @@ -330,7 +330,7 @@ Если Отчет = Неопределено Тогда - ТекстПояснения = НастройкиПользователейКлиент.ФормированиеПоясненияПриКопировании( + ТекстПояснения = ПользователиСлужебныйКлиент.ФормированиеПоясненияПриКопировании( ПредставлениеНастройки, КоличествоНастроек, ПояснениеКомуСкопированыНастройки); ПоказатьОповещениеПользователя(НСтр("ru = 'Копирование настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); @@ -356,29 +356,9 @@ НСтр("ru = 'Копирование настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); КонецЕсли; - // При копировании настроек внешнего вида или всех настроек от другого пользователь предлагаем - // перезапустить программу для их принятия. - Если РезультатПроверки = "ТекущийПользовательПолучатель" Или РезультатПроверки = "ТекущийПользовательСредиПолучателей" Тогда - - Если ПереключательКопируемыеНастройки = "СкопироватьВсе" Тогда - - ПредложениеПерезапускаПрограммы(ИмяКоманды); - - ИначеЕсли ПереключательКопируемыеНастройки = "СкопироватьОтдельные" Тогда - - Если ВыбранныеНастройки.ВнешнийВид.Количество() <> 0 - Или ПереключательКопируемыеНастройки = "СкопироватьВсе" Тогда - - ПредложениеПерезапускаПрограммы(ИмяКоманды); - - КонецЕсли; - - КонецЕсли; - - КонецЕсли; - // Если копирование настроек от другого пользователя, оповещаем об этом форму НастройкиПользователей. Если РежимОткрытияФормы = "СкопироватьОт" Тогда + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); Оповестить("СкопированыНастройки", Истина); КонецЕсли; @@ -405,40 +385,6 @@ КонецПроцедуры -&НаКлиенте -Функция ПредложениеПерезапускаПрограммы(ИмяКоманды) - - ТекстСообщения = НСтр("ru = 'Для того чтобы скопированные настройки внешнего вида вступили в силу, необходимо перезапустить программу. - |Перезапустить сейчас?'"); - КнопкиВопроса = Новый СписокЗначений; - КнопкиВопроса.Добавить("Перезапустить", НСтр("ru='Перезапустить сейчас'")); - КнопкиВопроса.Добавить("НеПерезапускать", НСтр("ru='Не перезапускать'")); - Оповещение = Новый ОписаниеОповещения("ПредложениеПерезапускаПрограммыЗавершение", ЭтотОбъект, ИмяКоманды); - ПоказатьВопрос(Оповещение, ТекстСообщения, КнопкиВопроса,, КнопкиВопроса[1].Значение); - -КонецФункции - -&НаКлиенте -Процедура ПредложениеПерезапускаПрограммыЗавершение(Ответ, ИмяКоманды) Экспорт - - Если Ответ = "Перезапустить" Тогда - ПодключитьОбработчикОжидания("Подключаемый_ПерезапуститьПрограмму", 0.01, Истина); - КонецЕсли; - - Если ИмяКоманды = "СкопироватьИЗакрыть" Тогда - Закрыть(); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ПерезапуститьПрограмму() - - СтандартныеПодсистемыКлиент.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы(); - ЗавершитьРаботуСистемы(Истина, Истина); - -КонецПроцедуры - &НаСервере Процедура СкопироватьВыбранныеНастройки(Отчет) diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Form.form index ef68ce14c..177b8aafe 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Form.form +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Form.form @@ -87,7 +87,7 @@ Left ru - Введите имя или часть фразы для поиска настроек. Например: отчет + Введите слово или часть фразы для поиска настроек. Например: отчет OnChange @@ -123,6 +123,10 @@ true true Normal + + ru + слово или часть фразы +
                                    true @@ -2132,63 +2136,6 @@ Auto - - ГруппаЗакрыть - 43 - - Закрыть - 42 - true - true - - true - - false - - ЗакрытьExtendedTooltip - 179 - Label - true - true - - Left - - - Form.StandardCommand.Close - true - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Закрыть</value> - - - ru - Группа закрыть - - - ГруппаЗакрытьExtendedTooltip - 178 - Label - true - true - - Left - - - CommandBar - - Right - - true true diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Help/ru.html index 039662905..7f508d829 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Предназначен для управления пользовательскими настройками.

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

                                    Список настроек можно открыть из раздела Администрирование - Настройки пользователей и прав по команде Настройки пользователей.

                                    diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Module.bsl index 67129ac75..23052a6ea 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Module.bsl +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/НастройкиПользователей/Module.bsl @@ -23,7 +23,6 @@ КонецЕсли; ПользовательСсылка = Параметры.Пользователь; - Элементы.ГруппаЗакрыть.Видимость = Ложь; Элементы.ПользовательСсылка.Видимость = Ложь; Заголовок = НСтр("ru = 'Настройки пользователя'"); ПользовательИнформационнойБазы = Обработки.НастройкиПользователей.ИмяПользователяИБ(ПользовательСсылка); @@ -166,7 +165,7 @@ Процедура НастройкиПередУдалением(Элемент, Отказ) Отказ = Истина; - ТекстВопроса = НСтр("ru = 'Удалить выбранные настройки?'"); + ТекстВопроса = НСтр("ru = 'Очистить выбранные настройки?'"); Оповещение = Новый ОписаниеОповещения("НастройкиПередУдалениемЗавершение", ЭтотОбъект, Элемент); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да); @@ -176,7 +175,7 @@ Процедура ДеревоНастроекВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - НастройкиПользователейКлиент.ОткрытьОтчетИлиФорму( + ПользователиСлужебныйКлиент.ОткрытьОтчетИлиФорму( ТекущийЭлемент, ПользовательИнформационнойБазы, ТекущийПользовательИнформационнойБазы, ИмяФормыПерсональныхНастроек); КонецПроцедуры @@ -273,7 +272,7 @@ КонецЕсли; Оповещение = Новый ОписаниеОповещения("ОчиститьЗавершение", ЭтотОбъект, ДеревоНастроек); - ТекстВопроса = НСтр("ru = 'Удалить выделенные настройки?'"); + ТекстВопроса = НСтр("ru = 'Очистить выделенные настройки?'"); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да); КонецПроцедуры @@ -290,7 +289,7 @@ КонецЕсли; - ТекстВопроса = НСтр("ru = 'Удалить выделенные настройки? + ТекстВопроса = НСтр("ru = 'Очистить выделенные настройки? |Откроется окно выбора пользователей, которым необходимо очистить настройки.'"); Оповещение = Новый ОписаниеОповещения("ОчиститьНастройкиВыбраннымПользователямЗавершение", ЭтотОбъект); ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да); @@ -328,7 +327,7 @@ &НаКлиенте Процедура ОткрытьНастройку(Команда) - НастройкиПользователейКлиент.ОткрытьОтчетИлиФорму( + ПользователиСлужебныйКлиент.ОткрытьОтчетИлиФорму( ТекущийЭлемент, ПользовательИнформационнойБазы, ТекущийПользовательИнформационнойБазы, ИмяФормыПерсональныхНастроек); КонецПроцедуры @@ -639,6 +638,7 @@ КоличествоНастроек = КоличествоСкопированныхИлиУдаленныхНастроек(ДеревоНастроек); ОчиститьНаСервере(); + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); Если КоличествоНастроек = 1 Тогда @@ -669,7 +669,7 @@ ПользователиПриемник = Параметр.ПользователиПриемник; КоличествоПользователей = ПользователиПриемник.Количество(); - ПояснениеКомуСкопированыНастройки = НастройкиПользователейКлиент.ПояснениеПользователи( + ПояснениеКомуСкопированыНастройки = ПользователиСлужебныйКлиент.ПояснениеПользователи( КоличествоПользователей, ПользователиПриемник[0]); Если Параметр.КопироватьВсе Тогда @@ -761,7 +761,7 @@ ПредставлениеНастройки = ДеревоНастроек.ТекущиеДанные.Настройка; КонецЕсли; - ТекстПояснения = НастройкиПользователейКлиент.ФормированиеПоясненияПриКопировании( + ТекстПояснения = ПользователиСлужебныйКлиент.ФормированиеПоясненияПриКопировании( ПредставлениеНастройки, КоличествоНастроек, ПояснениеКомуСкопированыНастройки); ПоказатьОповещениеПользователя( НСтр("ru = 'Копирование настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); @@ -784,7 +784,7 @@ ТипПользователя = ТипЗнч(ПользовательСсылка); ПараметрыФормы = Новый Структура("Пользователь, ТипПользователя, ТипДействия", - ПользовательСсылка, ТипПользователя, "Очистка"); + ПользовательСсылка, ТипПользователя, "Очистка"); ОткрытьФорму("Обработка.НастройкиПользователей.Форма.ВыборПользователей", ПараметрыФормы); КонецПроцедуры @@ -797,6 +797,7 @@ КонецЕсли; ОчиститьНастройкиВсехПользователейНаСервере(); + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); ПоказатьОповещениеПользователя(НСтр("ru = 'Очистка настроек'"), , НСтр("ru='Очищены все настройки всех пользователя'"), БиблиотекаКартинок.Информация32); @@ -810,13 +811,6 @@ Возврат; КонецЕсли; - ТекстПояснения = НСтр("ru = 'Очищены все настройки пользователя ""%1""'"); - ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПояснения, ПользовательСсылка); - ОчиститьВсе = Истина; - - ПоказатьОповещениеПользователя( - НСтр("ru = 'Очистка настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); - ОчищаемыеНастройки = Новый Массив; ОчищаемыеНастройки.Добавить("НастройкиОтчетов"); ОчищаемыеНастройки.Добавить("НастройкиВнешнегоВида"); @@ -827,6 +821,12 @@ ОчищаемыеНастройки.Добавить("ПрочиеПользовательскиеНастройки"); ОчиститьВсеНастройкиНаСервере(ОчищаемыеНастройки); + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); + + ТекстПояснения = НСтр("ru = 'Очищены все настройки пользователя ""%1""'"); + ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПояснения, ПользовательСсылка); + ПоказатьОповещениеПользователя( + НСтр("ru = 'Очистка настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); КонецПроцедуры @@ -837,19 +837,18 @@ Возврат; КонецЕсли; - ТекстПояснения = НСтр("ru = 'Очищены все настройки отчетов и внешнего вида у пользователя ""%1""'"); - ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПояснения, ПользовательСсылка); - ОчиститьВсе = Истина; - - ПоказатьОповещениеПользователя( - НСтр("ru = 'Очистка настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); - ОчищаемыеНастройки = Новый Массив; ОчищаемыеНастройки.Добавить("НастройкиОтчетов"); ОчищаемыеНастройки.Добавить("НастройкиВнешнегоВида"); ОчищаемыеНастройки.Добавить("ДанныеФорм"); ОчиститьВсеНастройкиНаСервере(ОчищаемыеНастройки); + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); + + ТекстПояснения = НСтр("ru = 'Очищены все настройки отчетов и внешнего вида у пользователя ""%1""'"); + ТекстПояснения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПояснения, ПользовательСсылка); + ПоказатьОповещениеПользователя( + НСтр("ru = 'Очистка настроек'"), , ТекстПояснения, БиблиотекаКартинок.Информация32); КонецПроцедуры @@ -861,6 +860,7 @@ КонецЕсли; ОчиститьНаСервере(); + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); ВыделенныеСтроки = Элемент.ВыделенныеСтроки; КоличествоНастроек = КоличествоСкопированныхИлиУдаленныхНастроек(Элемент); @@ -1000,7 +1000,7 @@ &НаКлиенте Процедура ОповеститьОбУдалении(КоличествоНастроек, НазваниеНастройки = Неопределено, КоличествоПользователей = Неопределено) - ПрописьПредмета = НастройкиПользователейКлиент.ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек); + ПрописьПредмета = ПользователиСлужебныйКлиент.ФормированиеСтрокиКоличестваНастроек(КоличествоНастроек); Если КоличествоНастроек = 1 И КоличествоПользователей = Неопределено Тогда ТекстПояснения = НСтр("ru = '""%1"" очищена пользователю ""%2""'"); @@ -1012,7 +1012,7 @@ ТекстПояснения, ПрописьПредмета, Строка(ПользовательСсылка)); КонецЕсли; - ПояснениеКомуОчищатьНастройки = НастройкиПользователейКлиент.ПояснениеПользователи( + ПояснениеКомуОчищатьНастройки = ПользователиСлужебныйКлиент.ПояснениеПользователи( КоличествоПользователей, Строка(ПользовательСсылка)); Если КоличествоПользователей <> Неопределено Тогда diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Form.form b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Form.form index 703db64a3..e1eedbf75 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Form.form +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Form.form @@ -122,10 +122,6 @@ true - - <key>ru</key> - <value>Группа выбрать пользователей</value> - ГруппаВыбратьПользователейExtendedTooltip 71 @@ -329,10 +325,6 @@ ru Или - - ru - Группа выбрать настройки - true ГруппаВыбратьНастройкиExtendedTooltip @@ -377,6 +369,7 @@ UsualGroup Auto + NormalSeparation true true auto diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Help/ru.html index 8a6a9cfea..1daa8395a 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Предназначена для удаления пользовательских настроек.

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

                                    Команда для очистки настроек пользователей находится в разделе Администрирование - Настройки пользователей и прав.

                                    diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Module.bsl b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Module.bsl index d935283f1..e3c549bfb 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Module.bsl +++ b/SSL/src/DataProcessors/НастройкиПользователей/Forms/ОчисткаНастроекПользователей/Module.bsl @@ -184,8 +184,8 @@ ОчиститьСообщения(); НастройкиОчищены = ОчисткаНастроек(); - Если НастройкиОчищены Тогда + ОбщегоНазначенияКлиент.ОбновитьИнтерфейсПрограммы(); Закрыть(); КонецЕсли; diff --git a/SSL/src/DataProcessors/НастройкиПользователей/Help/ru.html b/SSL/src/DataProcessors/НастройкиПользователей/Help/ru.html index b3884803b..9c4422842 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/Help/ru.html +++ b/SSL/src/DataProcessors/НастройкиПользователей/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Предназначена для управления настройками пользователей.

                                    Команды управления настройками пользователей можно найти на панели Настройка пользователей и прав раздела Администрирование.

                                    Управление пользовательскими настройками выполняет администратор.

                                    diff --git a/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl b/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl index 283e80783..5b9b8d991 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl +++ b/SSL/src/DataProcessors/НастройкиПользователей/ManagerModule.bsl @@ -335,19 +335,22 @@ КонецЕсли; НастройкиИзХранилища = СписокНастроек(Источник, МенеджерНастроек, ОчищаемаяНастройка); - УдалитьНастройки(МенеджерНастроек, НастройкиИзХранилища, Источник) + УдалитьНастройки(МенеджерНастроек, НастройкиИзХранилища, Источник); + + ПользователиСлужебный.УстановитьНачальныеНастройки(Источник); + КонецЦикла; КонецЦикла; КонецПроцедуры -Процедура УдалитьНастройки(МенеджерНастроек, НастройкиИзХранилища, Пользователь) +Процедура УдалитьНастройки(МенеджерНастроек, НастройкиИзХранилища, ИмяПользователя) Для Каждого Настройка Из НастройкиИзХранилища Цикл КлючОбъекта = Настройка.КлючОбъекта; КлючНастроек = Настройка.КлючНастроек; - МенеджерНастроек.Удалить(КлючОбъекта, КлючНастроек, Пользователь); + МенеджерНастроек.Удалить(КлючОбъекта, КлючНастроек, ИмяПользователя); КонецЦикла; КонецПроцедуры @@ -717,33 +720,44 @@ // МассивНастроекДляУдаления - Массив - элемент массива - СписокЗначений, в котором содержатся ключи выбранных настроек // НазваниеХранилища - Строка - название хранилища, из которого необходимо удалить настройки // -Процедура УдалитьВыбранныеНастройки(Пользователь, МассивНастроекДляУдаления, НазваниеХранилища) Экспорт +Процедура УдалитьВыбранныеНастройки(ИмяПользователя, МассивНастроекДляУдаления, ИмяХранилища) Экспорт - МенеджерНастроек = ХранилищеНастроекПоИмени(НазваниеХранилища); - Если НазваниеХранилища = "ХранилищеПользовательскихНастроекОтчетов" - Или НазваниеХранилища = "ХранилищеОбщихНастроек" Тогда + МенеджерНастроек = ХранилищеНастроекПоИмени(ИмяХранилища); + Если ИмяХранилища = "ХранилищеПользовательскихНастроекОтчетов" Или ИмяХранилища = "ХранилищеОбщихНастроек" Тогда Для Каждого Элемент Из МассивНастроекДляУдаления Цикл Для Каждого Настройка Из Элемент Цикл - МенеджерНастроек.Удалить(Настройка.Значение, Настройка.Представление, Пользователь); + МенеджерНастроек.Удалить(Настройка.Значение, Настройка.Представление, ИмяПользователя); КонецЦикла; КонецЦикла; - ИначеЕсли НазваниеХранилища = "ХранилищеСистемныхНастроек" Тогда + ИначеЕсли ИмяХранилища = "ХранилищеСистемныхНастроек" Тогда + + УстановитьНачальныеНастройки = Ложь; МассивНастроекФорм = ПредопределенныеНастройки(); + Для Каждого Элемент Из МассивНастроекДляУдаления Цикл Для Каждого Настройка Из Элемент Цикл - Если Настройка.Представление = "Интерфейс" - Или Настройка.Представление = "Прочие" Тогда - МенеджерНастроек.Удалить(Настройка.Значение, , Пользователь); + Если Настройка.Представление = "Интерфейс" Или Настройка.Представление = "Прочие" Тогда + + МенеджерНастроек.Удалить(Настройка.Значение, , ИмяПользователя); + + Если Настройка.Значение = "Общее/НастройкиКлиентскогоПриложения" + Или Настройка.Значение = "Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса" + Или Настройка.Значение = "Общее/НастройкиИнтерфейсаКлиентскогоПриложения" Тогда + + УстановитьНачальныеНастройки = Истина; + + КонецЕсли; + Иначе Для Каждого ЭлементФорм Из МассивНастроекФорм Цикл - МенеджерНастроек.Удалить(Настройка.Значение + ЭлементФорм, Настройка.Представление, Пользователь); + МенеджерНастроек.Удалить(Настройка.Значение + ЭлементФорм, Настройка.Представление, ИмяПользователя); КонецЦикла; КонецЕсли; @@ -752,6 +766,10 @@ КонецЦикла; + Если УстановитьНачальныеНастройки Тогда + ПользователиСлужебный.УстановитьНачальныеНастройки(ИмяПользователя); + КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -1070,6 +1088,7 @@ Функция ОтчетыДоступныеПользователю(ПользовательПриемник) Результат = Новый Массив; + УстановитьПривилегированныйРежим(Истина); ПользовательИнформационнойБазы = ПользователиИнформационнойБазы.НайтиПоИмени(ПользовательПриемник); Для Каждого ОтчетМетаданные Из Метаданные.Отчеты Цикл @@ -1108,10 +1127,17 @@ Функция ПредопределенныеНастройки() + ИнтерфейсТакси = (ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Такси); + МассивНастроекФорм = Новый Массив; МассивНастроекФорм.Добавить("/НастройкиФормы"); - МассивНастроекФорм.Добавить("/НастройкиОкна"); - МассивНастроекФорм.Добавить("/НастройкиОкнаВебКлиента"); + Если ИнтерфейсТакси Тогда + МассивНастроекФорм.Добавить("Такси/НастройкиОкна"); + МассивНастроекФорм.Добавить("Такси/НастройкиОкнаВебКлиента"); + Иначе + МассивНастроекФорм.Добавить("/НастройкиОкна"); + МассивНастроекФорм.Добавить("/НастройкиОкнаВебКлиента"); + КонецЕсли; МассивНастроекФорм.Добавить("/ТекущиеДанные"); МассивНастроекФорм.Добавить("/ТекущиеПользовательскиеНастройки"); @@ -1469,6 +1495,7 @@ НоваяСтрока.КлючОбъекта = ВыборкаНастроек.КлючОбъекта; НоваяСтрока.КлючНастроек = ВыборкаНастроек.КлючНастроек; НоваяСтрока.Представление = ВыборкаНастроек.Представление; + КонецЦикла; Возврат Настройки; @@ -1786,10 +1813,13 @@ ИначеЕсли ИмяНастройки[0] = "Общее" Тогда Если ИмяНастройки[1] = "ПанельРазделов" - Или ИмяНастройки[1] = "ПанельДействий" Тогда + Или ИмяНастройки[1] = "ПанельДействий" + Или ИмяНастройки[1] = "НастройкиКлиентскогоПриложения" + Или ИмяНастройки[1] = "НастройкиИнтерфейсаКлиентскогоПриложения" Тогда КлючиНастроекИнтерфейса.Добавить(Настройка.КлючОбъекта, "Интерфейс"); КлючиВсехНастроек.Добавить(Настройка.КлючОбъекта, "Интерфейс"); - ИначеЕсли ИмяНастройки[1] = "НастройкиРабочегоСтола" Тогда + ИначеЕсли ИмяНастройки[1] = "НастройкиРабочегоСтола" + Или ИмяНастройки[1] = "НастройкиНачальнойСтраницы" Тогда КлючиНастроекРабочегоСтола.Добавить(Настройка.КлючОбъекта, "Интерфейс"); КлючиВсехНастроек.Добавить(Настройка.КлючОбъекта, "Интерфейс"); КонецЕсли; diff --git a/SSL/src/DataProcessors/НастройкиПользователей/НастройкиПользователей.mdo b/SSL/src/DataProcessors/НастройкиПользователей/НастройкиПользователей.mdo index 02e471a48..e7ab69e84 100644 --- a/SSL/src/DataProcessors/НастройкиПользователей/НастройкиПользователей.mdo +++ b/SSL/src/DataProcessors/НастройкиПользователей/НастройкиПользователей.mdo @@ -11,6 +11,7 @@ true DataProcessor.НастройкиПользователей.Form.НастройкиПользователей + true ru diff --git a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Form.form b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Form.form index 1ed9295fe..b38dbd599 100644 --- a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Form.form +++ b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Form.form @@ -55,8 +55,8 @@ 19 <key>ru</key> - <value>Для работы с программой требуется версия платформы "1С:Предприятие 8" не ниже: -Используемая сейчас версия: %1</value> + <value>Для работы с программой %1 использовать версию платформы "1С:Предприятие 8" не ниже: +Используемая сейчас версия: %2</value> true true @@ -123,6 +123,7 @@ false System.DefaultGUIFont + 10.0 true false false @@ -398,7 +399,7 @@ OnClose ПриЗакрытии - 75 + 80 LockWholeInterface true true diff --git a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Module.bsl b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Module.bsl index f669b17b7..4476511ed 100644 --- a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Module.bsl +++ b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Forms/НерекомендуемаяВерсияПлатформы/Module.bsl @@ -18,12 +18,18 @@ Элементы.РекомендуемаяВерсияПлатформы.Заголовок = Параметры.РекомендуемаяВерсияПлатформы; СистемнаяИнформация = Новый СистемнаяИнформация; + ТекстУсловие = ?(Параметры.ЗавершитьРаботу, НСтр("ru = 'необходимо'"), НСтр("ru = 'рекомендуется'")); Элементы.Версия.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - Элементы.Версия.Заголовок, СистемнаяИнформация.ВерсияПриложения); + Элементы.Версия.Заголовок, ТекстУсловие, СистемнаяИнформация.ВерсияПриложения); Если Параметры.ЗавершитьРаботу Тогда Элементы.ТекстВопроса.Видимость = Ложь; Элементы.ФормаНет.Видимость = Ложь; + Заголовок = НСтр("ru = 'Необходимо обновить версию платформы'"); + КонецЕсли; + + Если (ТекущийВариантИнтерфейсаКлиентскогоПриложения() <> ВариантИнтерфейсаКлиентскогоПриложения.Такси) Тогда + Элементы.РекомендуемаяВерсияПлатформы.Шрифт = Новый Шрифт(,, Истина); КонецЕсли; КонецПроцедуры diff --git a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Templates/ПорядокОбновленияДляКлиентСервернойБазы/ru.html b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Templates/ПорядокОбновленияДляКлиентСервернойБазы/ru.html index 1244c2b57..0d688879b 100644 --- a/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Templates/ПорядокОбновленияДляКлиентСервернойБазы/ru.html +++ b/SSL/src/DataProcessors/НерекомендуемаяВерсияПлатформы/Templates/ПорядокОбновленияДляКлиентСервернойБазы/ru.html @@ -1,4 +1,4 @@ - -

                                    В данной панели осуществляется администрирование пользователей и настройка прав доступа.

                                    - - - - - -
                                    -
                                  • Пользователи
                                  • Администрирование пользователей, которые работают с программой.
                                    -
                                  • Группы пользователей
                                  • Флажок учета пользователей в разрезе групп. Один пользователь может быть участником нескольких групп. Права доступа, указанные для группы, назначаются всем ее участникам.
                                    -
                                  • Группы доступа
                                  • Настройка прав доступа и ограничений для списка пользователей и групп пользователей.
                                    -
                                  • Ограничивать доступ на уровне записей
                                  • Флажок гибкой настройки прав групп доступа к справочникам, документам и другим данным программы.
                                    -
                                  • Профили групп доступа
                                  • Настройка предустановленных шаблонов групп доступа пользователей. Профили групп доступа состоят из ролей, определенных в метаданных программы.

                                    - - -
                                    -
                                  • Копирование настроек
                                  • Копирование настроек контекста работы программы между пользователями. Это бывает полезно при вводе нового пользователя.
                                    -
                                  • Очистка настроек
                                  • Очистка настроек пользователя или группы пользователей. Это восстанавливает целостность настроек и в некоторых случаях помогает нормализовать работу сеансов этого пользователя в программе.
                                    -
                                  • Настройки пользователей
                                  • Просмотр и управление настройками выбранного пользователя.

                                    - -
                                    -
                                  • Разрешить доступ внешним пользователям
                                  • Флажок использования внешних пользователей в программе. Если включен, то можно настраивать доступ внешних пользователей и использовать их в программе.
                                    -
                                  • Внешние пользователи
                                  • Учет пользователей, которые работают с программой "извне", например Партнеров. Администрирование внешних пользователей выполняется аналогично пользователям программы.

                                    -

                                    - -
                                    -
                                  • Адрес публикации информационной базы в интернете
                                  • Адрес информационной базы на веб-сервере. Используется при формировании навигационных ссылок на объекты информационной базы в электронных письмах.

                                    См. также: Настройки программы.

                                    \ No newline at end of file + +

                                    В данной панели осуществляется администрирование пользователей и настройка прав доступа. Доступны команды:

                                    +
                                    • Пользователи - администрирование пользователей, которые работают с программой. +
                                    • Группы пользователей - включите флажок, для того чтобы можно было использовать группы для пользователей и внешних пользователей. Один пользователь может быть участником нескольких групп. Права доступа, указанные для группы, назначаются всем ее участникам. Использование групп имеет смысл, если пользователей программы много. +
                                    • Группы доступа - настройка прав доступа и ограничений для пользователей и групп пользователей. Группа доступа определяет совокупность действий с данными программы, которые могут выполнять участники этой группы. +
                                    • Ограничивать доступ на уровне записей - включите этот флажок, для того чтобы максимально гибко настраивать прав доступа пользователей к справочникам, документам и другим данным программы. +
                                    • Профили групп доступа - настройка предустановленных шаблонов групп доступа пользователей. Профили групп доступа, как правило, объединяют в себе несколько ролей. При включении пользователя в группу доступа ему назначаются все роли, заданные в профиле группы доступа. +
                                    • Копирование настроек - копирование настроек контекста работы программы от одного пользователя другим. Это бывает полезно при вводе нового пользователя. +
                                    • Очистка настроек - очистка настроек пользователя, группы пользователей или всех пользователей. Это восстанавливает целостность настроек и в некоторых случаях помогает нормализовать работу сеансов этого пользователя в программе. +
                                    • Настройки пользователей - просмотр и управление настройками выбранного пользователя. +
                                    • Разрешить доступ внешним пользователям - включите флажок, для того чтобы настраивать доступ внешних пользователей и использовать их в программе. +
                                    • Внешние пользователи - учет пользователей, которые работают с программой "извне". В качестве внешних пользователей программы могут выступать партнеры, респонденты различных опросов, клиенты интернет-магазина и др. Администрирование внешних пользователей выполняется аналогично пользователям программы. +
                                    • Адрес публикации информационной базы в интернете - адрес информационной базы на веб-сервере. Используется при формировании навигационных ссылок на объекты информационной базы в электронных письмах.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl index 53d5578ef..dc06ce6a9 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиПользователейИПрав/Module.bsl @@ -18,15 +18,19 @@ // СтандартныеПодсистемы.УправлениеДоступом УпрощенныйИнтерфейс = УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа(); Элементы.ГруппыДоступа.Видимость = НЕ УпрощенныйИнтерфейс; - Элементы.ПрофилиГруппДоступа.Видимость = НЕ УпрощенныйИнтерфейс; + Элементы.ГруппыПользователей.Видимость = НЕ УпрощенныйИнтерфейс; // Конец СтандартныеПодсистемы.УправлениеДоступом - // СтандартныеПодсистемы.Взаимодействия Если РежимРаботы.МодельСервиса Тогда + // СтандартныеПодсистемы.Взаимодействия Элементы.АдресПубликацииИнформационнойБазыВИнтернете.Видимость = Ложь; Элементы.ПояснениеАдресПубликацииИнформационнойБазыВИнтернете.Видимость = Ложь; + // Конец СтандартныеПодсистемы.Взаимодействия + + // СтандартныеПодсистемы.Пользователи + Элементы.НастройкаВнешнихПользователей.Видимость = Ложь; + // Конец СтандартныеПодсистемы.Пользователи КонецЕсли; - // Конец СтандартныеПодсистемы.Взаимодействия // Обновление состояния элементов УстановитьДоступность(); diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Help/ru.html index 77ef9c746..751eb17fc 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиРаботыСФайлами/Help/ru.html @@ -4,22 +4,13 @@ TD { VERTICAL-ALIGN: top } - -

                                    В данной панели осуществляется настройка параметров загрузки, хранения и обработки файлов.

                                    - - - - - - - - -
                                    -
                                  • Хранить файлы в томах на диске
                                  • Выбор между хранением файлов в информационной базе или в томах на диске.
                                    -
                                  • Тома хранения файлов
                                  • Настройка подключения к томам (папкам) хранения файлов на файловом сервере.
                                    -
                                  • Запретить загрузку файлов с расширениями
                                  • Включите флажок, чтобы запретить загрузку в программу файлов с указанными расширениями и укажите запрещенные к загрузке расширения файлов в поле ввода через пробел.
                                    -
                                  • Максимальный размер файла
                                  • Максимально допустимый размер файлов, загружаемых в программу. Файлы, превышающие указанный размер, не будут загружаться в программу.
                                    -
                                  • Расширения файлов ODF
                                  • Расширения файлов открытого формата документов для офисных приложений. Расширения указываются через пробел.
                                    -
                                  • Расширения текстовых файлов
                                  • Расширения файлов, содержащих текстовые данные. Расширения указываются через пробел.
                                    -
                                  • электронные подписи
                                  • Разрешить использовать электронные подписи и проверять отсутствие изменений файла с момента формирования электронной подписи.
                                    -
                                  • Настройки криптографии
                                  • Параметры подключения средств криптографии: электронной подписи и шифрования.

                                    См. также: Настройки программы.

                                    \ No newline at end of file + +

                                    В данной панели осуществляется настройка параметров загрузки, хранения и обработки файлов. Доступны команды:

                                    +
                                    • Хранить файлы в томах на диске - выбор между хранением файлов в информационной базе или в томах на диске. В последнем случае файлы не будут храниться в программе. +
                                      • Если флажок включен, становится доступной команда Тома хранения файлов - переход к настройке подключения к томам (папкам) хранения файлов на файловом сервере.
                                    • Запретить загрузку файлов с расширениями - включите флажок, для того чтобы запретить загрузку в программу файлов с указанными расширениями и укажите запрещенные к загрузке расширения файлов в поле ввода через пробел. +
                                    • Максимальный размер файла - введите ограничение загрузки в программу файлов, превышающих указанный размер. По умолчанию указан размер 50 Мб. Файлы большего размера не будут загружаться в программу. Если максимальный размер равен нулю, то объем файлов не ограничен. +
                                    • Расширения файлов ODF - можно указать расширения файлов открытого формата документов для офисных приложений, текст из которых также будет извлекаться для построения индекса полнотекстового поиска. Расширения указываются через пробел. По умолчанию список заполнен основными расширениями файлов. Указывать или уточнять список расширений файлов открытого формата документов нужно при использовании операционных систем фирмы Microsoft, если для программы OpenOffice не установлено расширение IFilter. +
                                    • Расширения текстовых файлов - введите расширения файлов, содержащих текстовые данные. Расширения указываются через пробел. +
                                    • Электронные подписи - включите флажок, для того чтобы разрешить использовать электронные подписи и проверять отсутствие изменений файла с момента формирования электронной подписи, а также получить доступ к команде: +
                                      • Настройки криптографии - переход к настройке параметров подключения средств криптографии: электронной подписи и шифрования. В случае организации совместной работы в распределенной информационной базе эти настройки могут быть созданы и изменены только в главном узле.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Help/ru.html index ba48fa57a..865188003 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/НастройкиСинхронизацииДанных/Help/ru.html @@ -1,32 +1,28 @@ +

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

                                    - - - - - -
                                    -
                                  • Синхронизация данных
                                  • Флажок синхронизации данных с другими программами, например с 1С:Бухгалтерия предприятия, редакция 3.0.
                                    -
                                  • Синхронизация данных
                                  • Настройка и выполнение синхронизации данных с другими программами.
                                    -
                                  • Предупреждения при синхронизации данных
                                  • Просмотр непроведенных документов, незаполненных реквизитов, конфликтов и непринятых по дате запрета.
                                    -
                                  • Префикс этой информационной базы
                                  • Префикс добавляется автоматически к кодам элементов справочников и номерам документов для того, чтобы различать программы, в которых они были введены, и избежать дублирования данных.
                                    -
                                  • Даты запрета загрузки данных
                                  • Установка запрета загрузки данных прошлых периодов из других программ. См. также: Даты запрета изменения данных в Поддержка и обслуживание.

                                    - -
                                    -
                                  • Каталог временных файлов Windows
                                  • Путь к единому каталогу временных файлов всех серверов кластера, который будет использоваться для серверов, работающих под управлением ОС Windows.
                                    -
                                  • Каталог временных файлов Linux
                                  • Путь к единому каталогу временных файлов всех серверов кластера, который будет использоваться для серверов, работающих под управлением ОС Linux.
                                    -

                                    Каталоги временных файлов можно не заполнять, когда в кластере 1С:Предприятия работает только один сервер или программа работает в файловом режиме.
                                    Если все сервера кластера работают под управлением операционных систем одного семейства (Windows/Linux), то второе поле заполнять не обязательно.

                                    -

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

                                    -

                                    В поле Каталог временных файлов Linux можно указать только локальный путь, например /home/path.

                                    -

                                    Чтобы использовать UNC путь, нужно сделать на него ссылку. Для этого под правами администратора (root) сделайте следующее:

                                    -

                                    mkdir folder
                                    --- вместо folder напишите имя каталога. например в каталоге /home делаем mkdir shared - создаст каталог shared с полным путем /home/shared.

                                    -

                                    mount -t cifs //server/share folder -o //domain/user, password=pwd
                                    - где //server/share - UNC путь к другому компьютеру , folder - путь каталога на Linux компьютере, например \home\shared, //domain/user - имя домена/пользователя, если нужно, pwd - пароль пользователя (если нужно).

                                    -

                                    Если имя и пароль не нужны, команда выглядит так:
                                    mount -t cifs //server/share folder

                                    -

                                    После этого в пути к тому указываем folder, например /home/shared

                                    -

                                    Подробнее об администрировании сервера 1С:Предприятия см. документацию к платформе 1С:Предприятие


                                    См. также: Настройки программы.

                                    \ No newline at end of file +
                                    • Синхронизация данных - включите флажок, для того чтобы стали доступными раздел программы Синхронизация данных и команды: +
                                      • Синхронизация данных - переход к настройке и выполнению синхронизации данных с другими программами (например, с 1С:Бухгалтерия предприятия, редакция 3.0), а также организации совместной работы в распределенной информационной базе. +
                                      • Предупреждения при синхронизации данных - переход к просмотру предупреждений, возникших при синхронизации данных (непроведенных документов, незаполненных реквизитов, конфликтов и непринятых по дате запрета данных). +
                                      • Префикс этой информационной базы - префикс добавляется автоматически к кодам элементов справочников и номерам документов для того, чтобы различать программы, в которых они были введены, и избежать дублирования данных. +
                                      • Изменить  - с помощью этой команды можно назначить префикс информационной базы или при необходимости изменить его. +
                                      • Даты запрета загрузки данных - переход к установке запрета загрузки данных прошлых периодов из других программ. См. также: Даты запрета изменения данных в подразделе Поддержка и обслуживание.

                                    Каталог временных файлов кластера серверов 1С:Предприятие

                                    +
                                    • Путь к единому сетевому каталогу для общих временных файлов серверов 1С:Предприятие, работающих в одном кластере: +
                                      • Под управлением ОС Windows - укажите путь к единому каталогу временных файлов всех серверов кластера, который будет использоваться для серверов, работающих под управлением ОС Windows. +
                                      • Под управлением ОС Linux - укажите путь к единому каталогу временных файлов всех серверов кластера, который будет использоваться для серверов, работающих под управлением ОС Linux.
                                    • Каталоги временных файлов можно не заполнять, когда в кластере 1С:Предприятия работает только один сервер или программа работает в файловом режиме. +
                                    • Если все сервера кластера работают под управлением операционных систем одного семейства (Windows/Linux), то второе поле заполнять не обязательно. +
                                    • Каталог должен быть доступен на чтение и запись для всех серверов кластера. В том числе - для всех пользователей операционных систем, от имени которых запускаются сервера 1С:Предприятия.  +
                                    • UNC путь к каталогу должен быть одинаковым для всех серверов одного семейства - для этого каталог необходимо подключать к серверам под одним именем. +
                                    • В поле Каталог временных файлов Linux можно указать только локальный путь, например, /home/path. +
                                    • Для того чтобы использовать UNC путь, нужно сделать на него ссылку. Для этого под правами администратора (root) сделайте следующее: +
                                      • mkdir folder
                                        --- вместо folder напишите имя каталога. например, в каталоге /home делаем mkdir shared - эта команда создаст каталог shared с полным путем /home/shared. +
                                      • mount -t cifs //server/share folder -o //domain/user, password=pwd
                                        - где //server/share - UNC путь к другому компьютеру , folder - путь каталога на Linux компьютере, например \home\shared, //domain/user - имя домена/пользователя, если нужно, pwd - пароль пользователя (если нужно). +
                                      • Если имя и пароль не нужны, команда выглядит так:
                                        mount -t cifs //server/share folder +
                                      • После этого в пути к каталогу указываем folder, например /home/shared.

                                    Подробнее об администрировании сервера 1С:Предприятия см. документацию к платформе 1С:Предприятие.

                                    +

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Form.form index b25e8c152..5c85ffca4 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Form.form +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Form.form @@ -8,8 +8,7 @@ 1763 <key>ru</key> - <value>Изменение заголовка программы, настройка версионирования объектов, дополнительных реквизитов -и других общих настроек.</value> + <value>Изменение заголовка программы, дополнительных реквизитов и других общих настроек.</value> true true @@ -487,269 +486,6 @@ Auto
                                    - - ГруппаВерсионирование - 877 - - ГруппаИспользоватьВерсионированиеОбъектов - 883 - - ИспользоватьВерсионированиеОбъектов - 1779 - - <key>ru</key> - <value>Версионирование объектов</value> - - true - true - - true - - - НаборКонстант.ИспользоватьВерсионированиеОбъектов - - Right - - OnChange - ИспользоватьВерсионированиеОбъектовПриИзменении - - - ИспользоватьВерсионированиеОбъектовExtendedTooltip - 1841 - Label - true - true - - Left - - - - ИспользоватьВерсионированиеОбъектовКонтекстноеМеню - 1780 - true - - CheckBoxField - Enter - true - Left - true - - - - ПояснениеИспользоватьВерсионирование - 875 - - <key>ru</key> - <value>Хранение и просмотр версий документов и справочников программы.</value> - - true - true - - true - - - ПояснениеИспользоватьВерсионированиеExtendedTooltip - 1842 - Label - true - true - - Left - - - - ПояснениеИспользоватьВерсионированиеКонтекстноеМеню - 876 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа использовать версионирование объектов</value> - - - ru - Группа использовать версионирование объектов - - - ГруппаИспользоватьВерсионированиеОбъектовExtendedTooltip - 1840 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаРегистрСведенийНастройкиВерсионированияОбъектов - 884 - - РегистрСведенийНастройкиВерсионированияОбъектов - 1800 - true - true - - true - - - РегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip - 1844 - Label - true - true - - Left - - - Hyperlink - Form.Command.РегистрСведенийНастройкиВерсионированияОбъектов - Normal - Auto - true - true - UserCmds - Auto - - - ПояснениеРегистрСведенийНастройкиВерсионированияОбъектов - 885 - - <key>ru</key> - <value>Настройка вариантов версионирования для документов и справочников.</value> - - true - true - - true - - - ПояснениеРегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip - 1845 - Label - true - true - - Left - - - - ПояснениеРегистрСведенийНастройкиВерсионированияОбъектовКонтекстноеМеню - 886 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа регистр сведений настройки версионирования объектов</value> - - - ru - Группа регистр сведений настройки версионирования объектов - - - ГруппаРегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip - 1843 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Версионирование объектов</value> - - - System.DefaultGUIFont - 11.0 - true - false - false - false - - - ru - Версионирование объектов - - 86 - false - - ГруппаВерсионированиеРасширеннаяПодсказка - 1839 - Label - true - true - - Left - - - UsualGroup - - Auto - NormalSeparation - true - true - Equal - auto - Auto - Auto - - ГруппаДополнительныеРеквизитыИСведения 1801 @@ -1779,10 +1515,6 @@ ru Группа настройка прокси сервера на сервере недоступна при использовании профилей безопасности - - ru - Группа восстановление резервной копии - 86 false @@ -1798,7 +1530,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -1912,28 +1644,6 @@ Auto Auto - - РегистрСведенийНастройкиВерсионированияОбъектов - - <key>ru</key> - <value>Версионируемые объекты</value> - - 2 - - ru - Регистр сведений "Настройки версионирования объектов" - - - true - - - - РегистрСведенийНастройкиВерсионированияОбъектов - - - Auto - Auto - ДополнительныеСведения diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Help/ru.html index 14b377081..f2015e34f 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Help/ru.html @@ -1,29 +1,21 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><style>TABLE { - BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; WIDTH: 98%; BORDER-TOP: 0px; BORDER-RIGHT: 0px; cellSpacing: 4; cellPadding: 0 + BORDER-TOP: 0px; BORDER-RIGHT: 0px; WIDTH: 98%; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; cellSpacing: 4; cellPadding: 0 } TD { VERTICAL-ALIGN: top } -</style><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +</style><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>В данной панели осуществляется настройка основных параметров программы.</p> -<table><tbody><tr><td width="25%"> -<li><strong>Заголовок программы</strong></li></td> -<td>Текст, который будет отображаться в заголовке окна программы.</td></tr><tr><td> -<li><strong>Часовой пояс</strong></li></td> -<td>Часовой пояс, по которому ведется учет в программе. Все даты документов и регистров программы хранятся в этом часовом поясе.</td></tr><tr><td> -<li><strong>Время текущего сеанса</strong></li></td> -<td>С помощью этой команды можно узнать, насколько время клиента отличается от времени сервера с поправкой на часовой пояс.</td></tr></tbody></table><br><table><tbody><tr><td width="30%"> -<li><strong>Версионирование объектов</strong></li></td> -<td>Флажок ведения истории изменения (версий) для справочников и документов.</td></tr><tr><td> -<li><a href="InformationRegister.НастройкиВерсионированияОбъектов/Help">Версионируемые объекты</a></li></td> -<td>Настройка вариантов версионирования для справочников и документов.</td></tr></tbody></table><br><table><tbody><tr><td width="30%"> -<li><strong>Дополнительные реквизиты и сведения</strong></li></td> -<td>Флажок ведения дополнительных свойств для справочников и документов. </td></tr><tr><td> -<li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Наборы дополнительных реквизитов и сведений</a></li></td> -<td>Настройка состава дополнительных реквизитов и сведений для справочников и документов.</td></tr></tbody></table><br><table><tbody><tr><td> -<li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a></li></td> -<td>Добавление и настройка видов контактной информации различных объектов системы, например, партнеров, контрагентов, сотрудников и т.д.</td></tr><tr><td> -<li><a href="CommonForm.ПараметрыПроксиСервера/Help">Параметры доступа в Интернет</a></li></td> -<td>Настройки параметров прокси-сервера на сервере 1С:Предприятие.</td></tr><tr><td> -<li><a href="CommonForm.ПараметрыАдминистрированияПрограммы/Help">Параметры администрирования ИБ</a></li></td> -<td>Настройки доступа к кластеру серверов для выполнения различных административных действий с клиент-серверной информационной базой.</td></tr></tbody></table><br><p>См. также: <a href="DataProcessor.ПанельАдминистрированияБСП/Help">Настройки программы</a>.</p></body></html> \ No newline at end of file +<ul><li><strong>Заголовок программы</strong> - введите текст, который будет отображаться в заголовке окна программы. +</li><li><strong>Часовой пояс</strong> - часовой пояс, по которому ведется учет в программе. Все даты документов и регистров программы хранятся в этом часовом поясе. +</li><li><strong>Время текущего сеанса</strong> - с помощью этой команды можно узнать, насколько время клиента отличается от времени сервера с поправкой на часовой пояс.</li></ul><h3>Виды контактной информации</h3> +<ul><li><a href="Catalog.ВидыКонтактнойИнформации/Help">Виды контактной информации</a> - добавление и настройка видов контактной информации различных объектов программы, например, партнеров, контрагентов, сотрудников и т.д.</li></ul><p></p> +<h3>Дополнительные реквизиты и сведения</h3> +<ul><li><strong>Дополнительные реквизиты и сведения</strong> - включите флажок, для того чтобы использовать дополнительные свойства для справочников и документов. +</li><li><strong>Реквизиты и сведения с общим списком значений</strong> - включите флажок, для того чтобы разрешить добавление реквизитов, у которых общий список значений с другими реквизитами (команда <strong>Добавить - По образцу</strong>). +</li><li><strong>Общие реквизиты и сведения</strong> - включите флажок, для того чтобы разрешить добавление реквизитов сразу к нескольким объектам программы одновременно (команда <strong>Добавить - Общий</strong>). +</li><li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Дополнительные реквизиты</a> - настройка состава дополнительных реквизитов для справочников и документов. +</li><li><a href="Catalog.НаборыДополнительныхРеквизитовИСведений/Help">Дополнительные сведения</a> - настройка состава дополнительных сведений для справочников и документов.</li></ul><h3>Параметры серверной информационной базы</h3> +<ul><li><a href="CommonForm.ПараметрыПроксиСервера/Help">Параметры доступа в Интернет</a> - настройки параметров прокси-сервера на сервере 1С:Предприятие. +</li><li><a href="DataProcessor.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов/Help">Использование профилей безопасности</a> - использование профилей безопасности для контроля за использованием программой внешних (относительно кластера серверов 1С:Предприятия) ресурсов.</li></ul><h3>См. также: </h3> +<ul><li><a href="DataProcessor.ПанельАдминистрированияБСП/Help">Настройки программы</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Module.bsl index f48163b6f..6afb99f09 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Module.bsl +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ОбщиеНастройки/Module.bsl @@ -60,13 +60,6 @@ КонецЕсли; КонецПроцедуры -// СтандартныеПодсистемы.ВерсионированиеОбъектов -&НаКлиенте -Процедура ИспользоватьВерсионированиеОбъектовПриИзменении(Элемент) - Подключаемый_ПриИзмененииРеквизита(Элемент); -КонецПроцедуры -// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов - // СтандартныеПодсистемы.Свойства &НаКлиенте Процедура ИспользоватьДополнительныеРеквизитыИСведенияПриИзменении(Элемент) @@ -78,15 +71,6 @@ #Область ОбработчикиКомандФормы -// СтандартныеПодсистемы.ВерсионированиеОбъектов -&НаКлиенте -Процедура РегистрСведенийНастройкиВерсионированияОбъектов(Команда) - - ОткрытьФорму("РегистрСведений.НастройкиВерсионированияОбъектов.ФормаСписка", , ЭтотОбъект); - -КонецПроцедуры -// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов - // СтандартныеПодсистемы.Свойства &НаКлиенте Процедура ДополнительныеРеквизиты(Команда) @@ -262,18 +246,6 @@ &НаСервере Процедура УстановитьДоступность(РеквизитПутьКДанным = "") - // СтандартныеПодсистемы.ВерсионированиеОбъектов - Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьВерсионированиеОбъектов" - ИЛИ РеквизитПутьКДанным = "" Тогда - - ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( - Элементы, - "РегистрСведенийНастройкиВерсионированияОбъектов", - "Доступность", - НаборКонстант.ИспользоватьВерсионированиеОбъектов); - КонецЕсли; - // Конец СтандартныеПодсистемы.ВерсионированиеОбъектов - // СтандартныеПодсистемы.Свойства Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьДополнительныеРеквизитыИСведения" ИЛИ РеквизитПутьКДанным = "" Тогда diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Form.form index 7700ca4b4..aade88244 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Form.form +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Form.form @@ -1542,10 +1542,6 @@ <key>ru</key> <value>Группа использовать бизнес процессы и задачи</value> - - ru - Группа использовать бизнес процессы и задачи - ГруппаИспользоватьБизнесПроцессыИЗадачиExtendedTooltip 1678 @@ -1588,7 +1584,7 @@ Hyperlink - Form.Command.ОткрытьРолиИИсполнителиБизнесПроцессов + Form.Command.РолиИИсполнителиЗадач Normal Auto true @@ -1601,7 +1597,7 @@ 1358 <key>ru</key> - <value>Настройка ролей для адресации задач группам исполнителей.</value> + <value>Настройка ролей для назначения задач группам исполнителей.</value> true true @@ -1702,65 +1698,19 @@ - ГруппаИспользоватьПодчиненныеБизнесПроцессы - 1603 - - ИспользоватьПодчиненныеБизнесПроцессы - 1601 - - <key>ru</key> - <value>Подчиненные бизнес-процессы и задачи</value> - - true - true - - true - - - НаборКонстант.ИспользоватьПодчиненныеБизнесПроцессы - - Right - - OnChange - ИспользоватьПодчиненныеБизнесПроцессыПриИзменении - - - ИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip - 1685 - Label - true - true - - Left - - - - ИспользоватьПодчиненныеБизнесПроцессыКонтекстноеМеню - 1602 - true - - CheckBoxField - Enter - true - Left - true - - + ГруппаБизнесПроцессыИЗадачи + 1697 - ПояснениеИспользоватьПодчиненныеБизнесПроцессы - 1606 - - <key>ru</key> - <value>Запуск подчиненных бизнес-процессов для учета иерархических работ.</value> - + Отступ + 1699 true true true - ПояснениеИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip - 1686 + ОтступРасширеннаяПодсказка + 1701 Label true true @@ -1769,195 +1719,112 @@ - ПояснениеИспользоватьПодчиненныеБизнесПроцессыКонтекстноеМеню - 1607 + ОтступКонтекстноеМеню + 1700 true Label true true - - Style.ПоясняющийТекст - Left - true - true - - true - - 43 - false - - ГруппаИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip - 1684 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаИзменятьЗаданияЗаднимЧислом - 1353 - - ИзменятьЗаданияЗаднимЧислом - 766 - - <key>ru</key> - <value>Изменять запущенные бизнес-процессы</value> - - true - true - - true - - - НаборКонстант.ИзменятьЗаданияЗаднимЧислом - - Right - - ru - - - - OnChange - ИзменятьЗаданияЗаднимЧисломПриИзменении - - - ИзменятьЗаданияЗаднимЧисломExtendedTooltip - 1688 - Label - true - true - - Left - - - - ИзменятьЗаданияЗаднимЧисломКонтекстноеМеню - 767 - true - - CheckBoxField - Auto - true - Left - true - - - - ПояснениеИзменятьЗаданияЗаднимЧислом - 1354 - - <key>ru</key> - <value>Внесение изменений в задачи запущенных бизнес-процессов.</value> - - true - true - - true - - - ПояснениеИзменятьЗаданияЗаднимЧисломExtendedTooltip - 1689 - Label - true - true - - Left - - - - ПояснениеИзменятьЗаданияЗаднимЧисломКонтекстноеМеню - 1355 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа изменять задания задним числом</value> - - - ru - Группа изменять задания задним числом - - - ГруппаИзменятьЗаданияЗаднимЧисломExtendedTooltip - 1687 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - Группа4 - 1598 - ГруппаИспользоватьДатуНачалаЗадач - 1350 - - ИспользоватьДатуНачалаЗадач - 761 - - <key>ru</key> - <value>Дата начала задач</value> - + ГруппаБизнесПроцессыИЗадачиНастройки + 1702 + + ГруппаИспользоватьПодчиненныеБизнесПроцессы + 1603 + + ИспользоватьПодчиненныеБизнесПроцессы + 1601 + + <key>ru</key> + <value>Подчиненные бизнес-процессы и задачи</value> + + true + true + + true + + + НаборКонстант.ИспользоватьПодчиненныеБизнесПроцессы + + Right + + OnChange + ИспользоватьПодчиненныеБизнесПроцессыПриИзменении + + + ИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip + 1685 + Label + true + true + + Left + + + + ИспользоватьПодчиненныеБизнесПроцессыКонтекстноеМеню + 1602 + true + + CheckBoxField + Enter + true + Left + true + + + + ПояснениеИспользоватьПодчиненныеБизнесПроцессы + 1606 + + <key>ru</key> + <value>Запуск подчиненных бизнес-процессов для учета иерархических работ.</value> + + true + true + + true + + + ПояснениеИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip + 1686 + Label + true + true + + Left + + + + ПояснениеИспользоватьПодчиненныеБизнесПроцессыКонтекстноеМеню + 1607 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + true true true - - НаборКонстант.ИспользоватьДатуНачалаЗадач - - Right - - OnChange - ИспользоватьДатуНачалаЗадачПриИзменении - + 40 + false - ИспользоватьДатуНачалаЗадачExtendedTooltip - 1692 + ГруппаИспользоватьПодчиненныеБизнесПроцессыExtendedTooltip + 1684 Label true true @@ -1965,120 +1832,395 @@ Left - - ИспользоватьДатуНачалаЗадачКонтекстноеМеню - 762 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - ПояснениеИспользоватьДатуНачалаЗадач - 1351 + + ГруппаИзменятьЗаданияЗаднимЧислом + 1353 + + ИзменятьЗаданияЗаднимЧислом + 766 + + <key>ru</key> + <value>Изменять запущенные бизнес-процессы</value> + + true + true + + true + + + НаборКонстант.ИзменятьЗаданияЗаднимЧислом + + Right + + ru + + + + OnChange + ИзменятьЗаданияЗаднимЧисломПриИзменении + + + ИзменятьЗаданияЗаднимЧисломExtendedTooltip + 1688 + Label + true + true + + Left + + + + ИзменятьЗаданияЗаднимЧисломКонтекстноеМеню + 767 + true + + CheckBoxField + Auto + true + Left + true + + + + ПояснениеИзменятьЗаданияЗаднимЧислом + 1354 + + <key>ru</key> + <value>Внесение изменений в задачи запущенных бизнес-процессов.</value> + + true + true + + true + + + ПояснениеИзменятьЗаданияЗаднимЧисломExtendedTooltip + 1689 + Label + true + true + + Left + + + + ПояснениеИзменятьЗаданияЗаднимЧисломКонтекстноеМеню + 1355 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + <key>ru</key> - <value>Разрешить исполнителям заполнять поле "Дата начала" + <value>Группа изменять задания задним числом</value> + + + ru + Группа изменять задания задним числом + + 40 + false + + ГруппаИзменятьЗаданияЗаднимЧисломExtendedTooltip + 1687 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + Группа4 + 1598 + + ГруппаИспользоватьДатуНачалаЗадач + 1350 + + ИспользоватьДатуНачалаЗадач + 761 + + <key>ru</key> + <value>Дата начала задач</value> + + true + true + + true + + + НаборКонстант.ИспользоватьДатуНачалаЗадач + + Right + + OnChange + ИспользоватьДатуНачалаЗадачПриИзменении + + + ИспользоватьДатуНачалаЗадачExtendedTooltip + 1692 + Label + true + true + + Left + + + + ИспользоватьДатуНачалаЗадачКонтекстноеМеню + 762 + true + + CheckBoxField + Enter + true + Left + true + + + + ПояснениеИспользоватьДатуНачалаЗадач + 1351 + + <key>ru</key> + <value>Разрешить исполнителям заполнять поле "Дата начала" и сортировать по нему список своих задач.</value> - + + true + true + + true + + + ПояснениеИспользоватьДатуНачалаЗадачExtendedTooltip + 1693 + Label + true + true + + Left + + + + ПояснениеИспользоватьДатуНачалаЗадачКонтекстноеМеню + 1352 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Группа использовать дату начала задач</value> + + + ru + Группа использовать дату начала задач + + 40 + false + + ГруппаИспользоватьДатуНачалаЗадачExtendedTooltip + 1691 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаИспользоватьДатуИВремяВСрокахЗадач + 1347 + + ИспользоватьДатуИВремяВСрокахЗадач + 757 + + <key>ru</key> + <value>Дата и время в сроках задач</value> + + true + true + + true + + + НаборКонстант.ИспользоватьДатуИВремяВСрокахЗадач + + Right + + ru + + + + OnChange + ИспользоватьДатуИВремяВСрокахЗадачПриИзменении + + + ИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip + 1695 + Label + true + true + + Left + + + + ИспользоватьДатуИВремяВСрокахЗадачКонтекстноеМеню + 758 + true + + CheckBoxField + Enter + true + Left + true + + + + ПояснениеИспользоватьДатуИВремяВСрокахЗадач + 1348 + + <key>ru</key> + <value>Ввод сроков задач с точностью до минут.</value> + + true + true + + true + + + ПояснениеИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip + 1696 + Label + true + true + + Left + + + + ПояснениеИспользоватьДатуИВремяВСрокахЗадачКонтекстноеМеню + 1349 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Группа использовать дату и время в сроках задач</value> + + + ru + Группа использовать дату и время в сроках задач + + + ГруппаИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip + 1694 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + true true true - - ПояснениеИспользоватьДатуНачалаЗадачExtendedTooltip - 1693 - Label - true - true - - Left - - - - ПояснениеИспользоватьДатуНачалаЗадачКонтекстноеМеню - 1352 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - Top - - - true - true - - true - - - <key>ru</key> - <value>Группа использовать дату начала задач</value> - - - ru - Группа использовать дату начала задач - - - ГруппаИспользоватьДатуНачалаЗадачExtendedTooltip - 1691 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаИспользоватьДатуИВремяВСрокахЗадач - 1347 - - ИспользоватьДатуИВремяВСрокахЗадач - 757 <key>ru</key> - <value>Дата и время в сроках задач</value> + <value> </value> - true - true - - true - - - НаборКонстант.ИспользоватьДатуИВремяВСрокахЗадач - - Right ru - - OnChange - ИспользоватьДатуИВремяВСрокахЗадачПриИзменении - - ИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip - 1695 + Группа4ExtendedTooltip + 1690 Label true true @@ -2086,54 +2228,14 @@ Left - - ИспользоватьДатуИВремяВСрокахЗадачКонтекстноеМеню - 758 - true - - CheckBoxField - Enter - true - Left - true - - - - ПояснениеИспользоватьДатуИВремяВСрокахЗадач - 1348 - - <key>ru</key> - <value>Ввод сроков задач с точностью до минут.</value> - - true - true - - true - - - ПояснениеИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip - 1696 - Label - true - true - - Left - - - - ПояснениеИспользоватьДатуИВремяВСрокахЗадачКонтекстноеМеню - 1349 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - Top + UsualGroup + + Auto + true + true + Equal + Auto + Auto true @@ -2143,15 +2245,15 @@
                                    <key>ru</key> - <value>Группа использовать дату и время в сроках задач</value> + <value>Группа бизнес процессы и задачи настройки</value> ru - Группа использовать дату и время в сроках задач + Группа бизнес процессы и задачи настройки - ГруппаИспользоватьДатуИВремяВСрокахЗадачExtendedTooltip - 1694 + ГруппаБизнесПроцессыИЗадачиНастройкиРасширеннаяПодсказка + 1703 Label true true @@ -2176,17 +2278,15 @@ <key>ru</key> - <value> </value> + <value>Группа бизнес процессы и задачи</value> ru - + Группа бизнес процессы и задачи - 86 - false - Группа4ExtendedTooltip - 1690 + ГруппаБизнесПроцессыИЗадачиРасширеннаяПодсказка + 1698 Label true true @@ -2197,9 +2297,9 @@ UsualGroup Auto + NormalSeparation true true - Equal Auto Auto @@ -2312,15 +2412,15 @@ - ОткрытьРолиИИсполнителиБизнесПроцессов + РолиИИсполнителиЗадач <key>ru</key> - <value>Роли и исполнители бизнес-процессов</value> + <value>Роли и исполнители задач</value> 41 ru - Открыть список ролей и исполнителей бизнес процессов + Список ролей и исполнителей задач true diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Help/ru.html index 8f41fcff2..611d247e9 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/Органайзер/Help/ru.html @@ -1,41 +1,25 @@ -

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

                                    - - - - -
                                    -
                                  • Почтовый клиент
                                  • Флажок использования возможностей встроенного в программу почтового клиента для взаимодействий с помощью электронных писем (e-mail).
                                    -
                                  • Исходящие письма в формате HTML
                                  • Флажок редактирования исходящих писем в формате HTML.
                                    -
                                  • Звонки, встречи и запланированные взаимодействия
                                  • Флажок регистрирации в программе звонков, встреч и запланированных взаимодействий.
                                    -
                                  • Признаки "Рассмотрено" и "На контроле"
                                  • Возможность устанавливать признаки "Рассмотрено" и "На контроле" для входящих писем, встреч, телефонных звонков и запланированных взаимодействий. Этот флажок полезно использовать для организации совместной работы в программе.

                                    - - -
                                    -
                                  • Настройка системной учетной записи электронной почты
                                  • Настройка основной учетной записи электронной почты для отправки уведомлений из программы.
                                    -
                                  • Учетные записи электронной почты
                                  • Администрирование всех учетных записей электронной почты.
                                    -
                                  • Настройка отправки SMS
                                  • Эта настройка используется для отправки SMS сообщений из программы.

                                    - - -
                                    -
                                  • Заметки
                                  • Флажок добавления заметок к справочникам и документам.
                                    -
                                  • Напоминания
                                  • Флажок добавления напоминаний, которые срабатывают в назначенное время. Напоминания могут быть произвольными, или по предмету, ссылаясь, например на элемент справочника, документ, или другой объект программы.
                                    -
                                  • Анкетирование
                                  • Флажок составления анкет, проведения опросов и анализа результатов опросов.

                                    - - - - - -
                                    -
                                  • Бизнес-процессы и задачи
                                  • Включает использование запускаемых бизнес-процессов и позволяет работу с задачами.
                                    -
                                  • Роли и исполнители бизнес процессов
                                  • Настройка ролей для адресации задач группам исполнителей.
                                    -
                                  • Подчиненные бизнес-процессы и задачи
                                  • Флажок учета бизнес-процессов, которые можно создавать в рамках задач других бизнес-процессов.
                                    -
                                  • Изменять запущенные бизнес-процессы
                                  • Разрешает внесение изменений в задачи запущенных бизнес-процессов.
                                    -
                                  • Дата начала задач
                                  • Разрешает исполнителям заполнять поле "Дата начала" и сортировать по нему список своих задач.
                                    -
                                  • Дата и время в сроках задач
                                  • Разрешает ввод сроков задач с точностью до минут.

                                    См. также: Настройки программы.

                                    \ No newline at end of file + +

                                    В данной панели осуществляется настройка электронной почты, заметок, напоминаний и бизнес-процессов. Доступны команды:

                                    +
                                    • Почтовый клиент - включите флажок, для того чтобы использовать возможности встроенного в программу почтового клиента для взаимодействий с помощью электронных писем (e-mail). +
                                    • Исходящие письма в формате HTML - включите флажок, для того чтобы редактировать исходящие письма в формате HTML. +
                                    • Звонки, SMS, встречи и запланированные взаимодействия - включите флажок, для того чтобы регистрировать в программе звонки, встречи, сообщения SMS и запланированные взаимодействия. +
                                    • Признаки "Рассмотрено" и "На контроле" - включите флажок, для того чтобы можно было ставить отметки о рассмотрении входящих писем, встреч, телефонных звонков и запланированных взаимодействий, а также  для постановки на контроль исходящего письма. Этот флажок полезно использовать для организации совместной работы в программе. +
                                    • Настройка системной учетной записи электронной почты - переход к настройке основной учетной записи электронной почты для отправки уведомлений из программы. +
                                    • Учетные записи электронной почты - администрирование всех учетных записей электронной почты. +
                                    • Настройка отправки SMS - переход к настройке параметров отправки SMS-сообщений из программы.  +
                                    • Заметки - включите этот флажок, для того чтобы можно было использовать заметки - произвольную текстовую информацию, для которой не получается подобрать какого-либо более подходящего справочника или документа, и которая больше никому не должна быть доступна. Заметки могут быть произвольными или по предмету, ссылаясь, например, на элемент справочника, документ, или другой объект программы. +
                                    • Напоминания - включите этот флажок, для того чтобы можно было вводить напоминания, которые срабатывают в назначенное время. Укажите время и предмет, по поводу которого в программе в указанное время будет выведен список напоминаний. Напоминания могут быть произвольными или по предмету, ссылаясь, например, на элемент справочника, документ, или другой объект программы. +
                                    • Анкетирование - включите этот флажок, для того чтобы стал доступным соответствующий раздел программы, в котором можно готовить опросы, составлять анкеты, проводить опросы среди респондентов, а также и анализировать результаты опросов. +
                                    • Бизнес-процессы и задачи - включите флажок, для того чтобы стал доступным раздел программы Бизнес-процессы и задачи, который предполагает использование запускаемых бизнес-процессов и позволяет работу с задачами. Также становится доступным ряд других команд, с помощью которых можно запустить бизнес-процессы и использовать задачи: +
                                      • Роли и исполнители бизнес процессов - настройка ролей для адресации задач группам исполнителей. +
                                      • Подчиненные бизнес-процессы и задачи - включите флажок для учета бизнес-процессов, которые можно создавать в рамках задач других бизнес-процессов. +
                                      • Изменять запущенные бизнес-процессы - включите флажок, для того чтобы можно было вносить изменения в задачи запущенных бизнес-процессов. +
                                      • Дата начала задач - включите флажок, для того чтобы разрешить исполнителям заполнять поле Дата начала и сортировать по нему список своих задач. +
                                      • Дата и время в сроках задач - включите флажок, для того чтобы можно было вводить сроки задач с точностью до минут.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Help/ru.html index 0e4591b60..b5ae64cd2 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПечатныеФормыОтчетыИОбработки/Help/ru.html @@ -1,17 +1,13 @@ -

                                    В данной панели осуществляется настройка печатных форм, вариантов отчетов, рассылок отчетов, дополнительных отчетов и обработок.

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

                                    См. также: Настройки программы.

                                    \ No newline at end of file + +

                                    В данной панели осуществляется настройка печатных форм, вариантов отчетов, рассылок отчетов, дополнительных отчетов и обработок. Доступны команды:

                                    +
                                    • Макеты печатных форм - переход к списку макетов для настройки печатных форм, формируемых из программы. +
                                    • Отчеты - переход к списку вариантов отчетов для настройки их доступности и размещения в разделах программы. +
                                    • Дополнительные отчеты и обработки - включите флажок, для того чтобы подключать к программе внешние печатные формы, отчеты и обработки в дополнение к предусмотренным в программе. После включения становится доступной команда: +
                                    • Рассылки отчетов - переход к списку рассылок отчетов для автоматического формирования отчетов и доставки сформированных отчетов получателям.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Form.form index b1983f6f3..8e9348ec8 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Form.form +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Form.form @@ -8,7 +8,7 @@ 1575 <key>ru</key> - <value>Контроль за состоянием программы, резервное копирование и восстановление, обновление версии, оптимизация быстродействия.</value> + <value>Контроль за состоянием программы, резервное копирование и восстановление, обновление версии, оптимизация быстродействия, настройка хранения и очистка версий объектов.</value> true true @@ -397,7 +397,11 @@ 1732 ДополнительныеОтчетыПоАдминистрированию - 1734 + 1818 + + <key>ru</key> + <value>Дополнительные отчеты по администрированию</value> + true true @@ -405,7 +409,7 @@ ДополнительныеОтчетыПоАдминистрированиюРасширеннаяПодсказка - 1735 + 1819 Label true true @@ -414,7 +418,7 @@ Hyperlink - Form.Command.ДополнительныеОтчетыПоАдминистрированию + CommonCommand.ДополнительныеОтчетыАдминистрирование Normal Auto true @@ -499,7 +503,11 @@ 1739 ДополнительныеОбработкиПоАдминистрированию - 1741 + 1820 + + <key>ru</key> + <value>Дополнительные обработки по администрированию</value> + true true @@ -507,7 +515,7 @@ ДополнительныеОбработкиПоАдминистрированиюРасширеннаяПодсказка - 1742 + 1821 Label true true @@ -516,7 +524,7 @@ Hyperlink - Form.Command.ДополнительныеОбработкиПоАдминистрированию + CommonCommand.ДополнительныеОбработкиАдминистрирование Normal Auto true @@ -1164,29 +1172,61 @@ Группа8 1768 - - УдалениеПомеченныхИспользование - 1770 - - <key>ru</key> - <value>Автоматически удалять помеченные объекты по расписанию:</value> - + + Группа2 + 1797 + + УдалениеПомеченныхИспользование + 1770 + + <key>ru</key> + <value>Автоматически удалять помеченные объекты по расписанию:</value> + + true + true + + true + + + УдалениеПомеченныхИспользование + + Right + + OnChange + УдалениеПомеченныхИспользованиеПриИзменении + + + УдалениеПомеченныхИспользованиеРасширеннаяПодсказка + 1772 + Label + true + true + + Left + + + + УдалениеПомеченныхИспользованиеКонтекстноеМеню + 1771 + true + + CheckBoxField + Enter + true + Left + true + + true true true - - УдалениеПомеченныхИспользование - - Right - - OnChange - УдалениеПомеченныхИспользованиеПриИзменении - + 43 + false - УдалениеПомеченныхИспользованиеРасширеннаяПодсказка - 1772 + Группа2РасширеннаяПодсказка + 1798 Label true true @@ -1194,17 +1234,42 @@ Left - - УдалениеПомеченныхИспользованиеКонтекстноеМеню - 1771 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа9 + 1799 + true + true + + true + + + Группа9РасширеннаяПодсказка + 1800 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + УдалениеПомеченныхНастроитьРасписание @@ -1299,10 +1364,6 @@ ru - - ru - Группа частотный сервис - 86 false @@ -1389,7 +1450,7 @@ 1570 <key>ru</key> - <value>Резервное копирование</value> + <value>Создание резервной копии</value> true true @@ -1822,7 +1883,7 @@ 1616 <key>ru</key> - <value>Для восстановления приложения из ранее созданной резервной копии необходимо перейти в Менеджер сервиса и выполнить комады Настройка -> Резервные копии приложений</value> + <value>Для восстановления приложения из ранее созданной резервной копии необходимо перейти в личный кабинет и выполнить комады "Настройка -> Архивные копии приложений"</value> true true @@ -1882,7 +1943,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -1935,6 +1996,275 @@ Auto + + ГруппаВерсионирование + 1801 + + ГруппаИспользоватьВерсионированиеОбъектов + 1803 + + ИспользоватьВерсионированиеОбъектов + 1805 + + <key>ru</key> + <value>Версионирование объектов</value> + + true + true + + true + + + НаборКонстант.ИспользоватьВерсионированиеОбъектов + + Right + None + + OnChange + ИспользоватьВерсионированиеОбъектовПриИзменении + + + ИспользоватьВерсионированиеОбъектовExtendedTooltip + 1807 + Label + true + true + + Left + + + + ИспользоватьВерсионированиеОбъектовКонтекстноеМеню + 1806 + true + + CheckBoxField + Enter + true + Left + true + + + + ПояснениеИспользоватьВерсионирование + 1808 + + <key>ru</key> + <value>Хранение и просмотр версий документов и справочников программы.</value> + + true + true + + true + + + ПояснениеИспользоватьВерсионированиеExtendedTooltip + 1810 + Label + true + true + + Left + + + + ПояснениеИспользоватьВерсионированиеКонтекстноеМеню + 1809 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа использовать версионирование объектов</value> + + + ru + Группа использовать версионирование объектов + + + ГруппаИспользоватьВерсионированиеОбъектовExtendedTooltip + 1804 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаРегистрСведенийНастройкиВерсионированияОбъектов + 1811 + + РегистрСведенийНастройкиВерсионированияОбъектов + 1813 + + <key>ru</key> + <value>Настройки хранения</value> + + true + true + + true + + + РегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip + 1814 + Label + true + true + + Left + + + Hyperlink + Form.Command.РегистрСведенийНастройкиВерсионированияОбъектов + Normal + Auto + true + true + UserCmds + None + Auto + + + ПояснениеРегистрСведенийНастройкиВерсионированияОбъектов + 1815 + + <key>ru</key> + <value>Настройка хранения и очистка версий документов и справочников.</value> + + true + true + + true + + + ПояснениеРегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip + 1817 + Label + true + true + + Left + + + + ПояснениеРегистрСведенийНастройкиВерсионированияОбъектовКонтекстноеМеню + 1816 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа регистр сведений настройки версионирования объектов</value> + + + ru + Группа регистр сведений настройки версионирования объектов + + + ГруппаРегистрСведенийНастройкиВерсионированияОбъектовExtendedTooltip + 1812 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Версионирование объектов</value> + + + System.DefaultGUIFont + 11.0 + true + false + false + false + + + ru + Версионирование объектов + + 86 + false + + ГруппаВерсионированиеРасширеннаяПодсказка + 1802 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Equal + auto + Auto + Auto + + ГруппаОценкаПроизводительности 1598 @@ -2839,7 +3169,7 @@ ГруппаОбновлениеИОписаниеИзменений 1537 - Колонки1 + ГруппаОбновлениеИОписаниеИзмененийПерваяСтрока 1614 ГруппаОбработкаОбновлениеКонфигурации @@ -3012,12 +3342,14 @@ Label true + 3 true Style.ПоясняющийТекст Left + Top true @@ -3025,6 +3357,7 @@ true + 43 ГруппаНастройкиОбновленияПрограммыРасширеннаяПодсказка 1747 @@ -3059,7 +3392,7 @@ - Колонки1ExtendedTooltip + ГруппаОбновлениеИОписаниеИзмененийПерваяСтрокаРасширеннаяПодсказка 1698 Label true @@ -3078,7 +3411,7 @@ - Колонки2 + ГруппаОбновлениеИОписаниеИзмененийВтораяСтрока 1627 ГруппаОткрытьОписаниеИзмененийСистемы @@ -3280,8 +3613,16 @@ true + + <key>ru</key> + <value>Группа обновление и описание изменений вторая строка</value> + + + ru + Группа обновление и описание изменений вторая строка + - Колонки2ExtendedTooltip + ГруппаОбновлениеИОписаниеИзмененийВтораяСтрокаРасширеннаяПодсказка 1705 Label true @@ -3300,7 +3641,7 @@ - Колонки3 + ГруппаОбновлениеИОписаниеИзмененийТретьяСтрока 1753 ГруппаДетализироватьОбновлениеИБВЖурналеРегистрации @@ -3424,8 +3765,16 @@ true + + <key>ru</key> + <value>Группа обновление и описание изменений третья строка</value> + + + ru + Группа обновление и описание изменений третья строка + - Колонки3РасширеннаяПодсказка + ГруппаОбновлениеИОписаниеИзмененийТретьяСтрокаРасширеннаяПодсказка 1754 Label true @@ -3973,52 +4322,6 @@ Auto Auto
                                    - - ДополнительныеОтчетыПоАдминистрированию - - <key>ru</key> - <value>Дополнительные отчеты по администрированию</value> - - 7 - - ru - Дополнительные отчеты по администрированию - - - true - - - - ДополнительныеОтчетыПоАдминистрированию - - - FunctionalOption.ИспользоватьДополнительныеОтчетыИОбработки - Auto - Auto - - - ДополнительныеОбработкиПоАдминистрированию - - <key>ru</key> - <value>Дополнительные обработки по администрированию</value> - - 8 - - ru - Дополнительные обработки по администрированию - - - true - - - - ДополнительныеОбработкиПоАдминистрированию - - - FunctionalOption.ИспользоватьДополнительныеОтчетыИОбработки - Auto - Auto - НастройкаОбновленияПрограммы @@ -4085,6 +4388,28 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> + <formCommands> + <name>РегистрСведенийНастройкиВерсионированияОбъектов</name> + <title> + <key>ru</key> + <value>Версионируемые объекты</value> + + 6 + + ru + Регистр сведений "Настройки версионирования объектов" + + + true + + + + РегистрСведенийНастройкиВерсионированияОбъектов + + + Auto + Auto + diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Help/ru.html index 62d708d6e..f1a847990 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Help/ru.html @@ -1,56 +1,72 @@ В данной панели осуществляется контроль за состоянием программы, резервное копирование и восстановление, обновление версии, оптимизация быстродействия.

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

                                    Регламентные операции

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

                                    Резервное копирование и восстановление

                                    - - - -
                                    -

                                    С целью уменьшения риска потери данных необходимо регулярно выполнять резервное копирование программы.
                                    Частота создания резервных копий зависит от интенсивности ввода новых данных.

                                    -
                                  • Резервное копирование программы
                                  • Выполнение резервного копирования программы: прямо сейчас, через некоторое время или при завершении работы.
                                    -
                                  • Настройка резервного копирования
                                  • Настройка автоматического резервного копирования по расписанию, или отключение контроля за резервным копированием, если оно выполняется сторонними средствами.
                                    -
                                  • Восстановление из резервной копии
                                  • Восстановление программы из резервной копии.

                                    Оценка производительности

                                    - - -
                                    -
                                  • Оценка производительности
                                  • Флажок замеров интегральной производительности программы по методике APDEX.
                                    -
                                  • Показатели производительности
                                  • Просмотр и оценка результатов замеров производительности.

                                    Классификаторы

                                    - - - -
                                    -
                                  • Загрузить классификатор банков
                                  • Загрузка и обновление классификатора банков РФ из сети Интернет или диска 1С:ИТС.
                                    -
                                  • Загрузить курсы валют
                                  • Загрузка курсов валют из сети Интернет.
                                    -
                                  • Загрузить адресный классификатор
                                  • Загрузка и обновление классификатора адресов РФ из сети Интернет, диска 1С:ИТС или локального каталога.

                                    Защита персональных данных

                                    - - -
                                    -
                                  • Регистрация событий доступа к персональным данным
                                  • Регистрация событий доступа в соответствии с требованиями Федерального закона от 27.07.2006 N152-ФЗ "О персональных данных"
                                    -
                                  • Защита персональных данных
                                  • Просмотр обращений к персональным данным выбранных объектов программы.

                                    Обновление версии программы

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

                                    См. также: Настройки программы.

                                    \ No newline at end of file + +

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

                                    +

                                    Отчеты и обработки

                                    +
                                    • +
                                      Отчеты администратора - отчеты по журналу регистрации и другие отчеты для администрирования программы.
                                      +
                                    • +
                                      Дополнительные отчеты по администрированию - команды дополнительных отчетов, подключенных к программе.
                                      +
                                    • +
                                      Дополнительные обработки по администрированию - команды дополнительных обработок, подключенных к программе.

                                    Регламентные операции

                                    +
                                    • +
                                      Регламентные и фоновые задания - переход к списку регламентных и фоновых заданий. Настройка, выполнение и отслеживание состояний регламентных и фоновых заданий. Регламентные задания автоматически выполняют регламентные операции по расписанию.
                                      +
                                    • +
                                      Даты запрета изменения данных - установка запрета изменения данных прошлых периодов для пользователей этой программы. Также предусмотрена команда Даты запрета загрузки данных в подразделе Синхронизация данных.
                                      +
                                    • +
                                      Управление итогами и агрегатами - управление итогами регистров накопления и бухгалтерии и агрегатами оборотных регистров накопления. Правильная настройка итогов и агрегатов может повысить производительность программы.
                                      +
                                    • +
                                      +

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

                                      +
                                    • +
                                      +

                                      Автоматически удалять помеченные объекты по расписанию - включите флажок, для того чтобы настроить регламентное задание по автоматическому удалению помеченных объектов

                                      +
                                    • +
                                      +

                                      Настроить расписание - переход к настройке расписания регламентного задания "Удаление помеченных объектов программы".

                                    Резервное копирование и восстановление

                                    +

                                    С целью уменьшения риска потери данных необходимо регулярно выполнять резервное копирование программы.
                                    Частота создания резервных копий зависит от интенсивности ввода новых данных в программу.

                                    +

                                    Версионирование объектов

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

                                    +

                                    Оценка производительности

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

                                    Классификаторы

                                    +
                                    • Загрузить классификатор банков - загрузка и обновление классификатора банков РФ из сети Интернет или диска 1С:ИТС. +
                                    • Загрузить курсы валют - загрузка курсов валют из сети Интернет. +
                                    • Адресный классификатор - загрузка и обновление классификатора адресов РФ с сайта поддержки пользователей 1С:Предприятия, диска 1С:ИТС или файлов ГНИВЦ ФНС РФ. Проверка обновлений и очистка данных классификатора.

                                    Защита персональных данных

                                    +
                                    • +
                                      Регистрация событий доступа к персональным данным - настройка регистрация событий доступа к персональным данным физических лиц в соответствии с требованиями Федерального закона от 27.07.2006 N152-ФЗ "О персональных данных".
                                      +
                                    • +
                                      Защита персональных данных - просмотр обращений к персональным данным выбранных объектов программы. События, связанные с защитой персональных данных, фиксируются в программе автоматически.

                                    Обновление версии программы

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

                                    Корректировка данных

                                    +

                                    +

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Module.bsl index b3d65a6d7..e7b5d4f17 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Module.bsl +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/ПоддержкаИОбслуживание/Module.bsl @@ -32,7 +32,7 @@ // Конец СтандартныеПодсистемы.РегламентныеЗадания // СтандартныеПодсистемы.УправлениеИтогамиИАгрегатами - Элементы.ГруппаОбработкаУправлениеИтогамиИАгрегатамиОткрыть.Видимость = РежимРаботы.ЭтоАдминистраторПрограммы; + Элементы.ГруппаОбработкаУправлениеИтогамиИАгрегатамиОткрыть.Видимость = РежимРаботы.ЭтоАдминистраторПрограммы И (РежимРаботы.Локальный Или РежимРаботы.Автономный); // Конец СтандартныеПодсистемы.УправлениеИтогамиИАгрегатами // СтандартныеПодсистемы.ПолнотекстовыйПоиск @@ -88,10 +88,10 @@ Элементы.ГруппаОбработкаГрупповоеИзменениеОбъектов.Видимость = РежимРаботы.ЭтоАдминистраторПрограммы; // Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов - // СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов + // СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки Элементы.ГруппаДополнительныеОтчетыПоАдминистрированию.Видимость = НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки; Элементы.ГруппаДополнительныеОбработкиПоАдминистрированию.Видимость = НаборКонстант.ИспользоватьДополнительныеОтчетыИОбработки; - // Конец СтандартныеПодсистемы.ГрупповоеИзменениеОбъектов + // Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки // Обновление состояния элементов УстановитьДоступность(); @@ -130,6 +130,13 @@ КонецПроцедуры // Конец СтандартныеПодсистемы.БазоваяФункциональность +// СтандартныеПодсистемы.ВерсионированиеОбъектов +&НаКлиенте +Процедура ИспользоватьВерсионированиеОбъектовПриИзменении(Элемент) + Подключаемый_ПриИзмененииРеквизита(Элемент); +КонецПроцедуры +// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов + // СтандартныеПодсистемы.РезервноеКопированиеИБ &НаКлиенте Процедура РезервноеКопированиеПрограммыНажатие(Элемент) @@ -201,31 +208,14 @@ КонецПроцедуры // Конец СтандартныеПодсистемы.БазоваяФункциональность -// СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки +// СтандартныеПодсистемы.ВерсионированиеОбъектов &НаКлиенте -Процедура ДополнительныеОтчетыПоАдминистрированию(Команда) - ФормаПараметры = Новый Структура; - ФормаПараметры.Вставить("ИмяРаздела", "Администрирование"); - ФормаПараметры.Вставить("ОбъектыНазначения", Новый СписокЗначений); - ФормаПараметры.Вставить("Вид", ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет()); - ФормаПараметры.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); - ФормаПараметры.Вставить("Заголовок", НСтр("ru = 'Дополнительные отчеты по администрированию'")); - ОткрытьФорму("ОбщаяФорма.ДополнительныеОтчетыИОбработки", ФормаПараметры, ЭтотОбъект); +Процедура РегистрСведенийНастройкиВерсионированияОбъектов(Команда) + + ОткрытьФорму("РегистрСведений.НастройкиВерсионированияОбъектов.ФормаСписка", , ЭтотОбъект); + КонецПроцедуры -// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки - -// СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки -&НаКлиенте -Процедура ДополнительныеОбработкиПоАдминистрированию(Команда) - ФормаПараметры = Новый Структура; - ФормаПараметры.Вставить("ИмяРаздела", "Администрирование"); - ФормаПараметры.Вставить("ОбъектыНазначения", Новый СписокЗначений); - ФормаПараметры.Вставить("Вид", ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка()); - ФормаПараметры.Вставить("РежимОткрытияОкна", РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); - ФормаПараметры.Вставить("Заголовок", НСтр("ru = 'Дополнительные обработки по администрированию'")); - ОткрытьФорму("ОбщаяФорма.ДополнительныеОтчетыИОбработки", ФормаПараметры, ЭтотОбъект); -КонецПроцедуры -// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки +// Конец СтандартныеПодсистемы.ВерсионированиеОбъектов // СтандартныеПодсистемы.Валюты &НаКлиенте @@ -465,6 +455,17 @@ КонецЕсли; // Конец СтандартныеПодсистемы.БазоваяФункциональность + // СтандартныеПодсистемы.ВерсионированиеОбъектов + Если РеквизитПутьКДанным = "НаборКонстант.ИспользоватьВерсионированиеОбъектов" + ИЛИ РеквизитПутьКДанным = "" Тогда + + ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы( + Элементы, + "РегистрСведенийНастройкиВерсионированияОбъектов", + "Доступность", + НаборКонстант.ИспользоватьВерсионированиеОбъектов); + КонецЕсли; + // Конец СтандартныеПодсистемы.ВерсионированиеОбъектов КонецЕсли; КонецПроцедуры diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Form.form b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Form.form index 97f54d5ab..0eb569131 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Form.form +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Form.form @@ -1,7 +1,178 @@ - Группа1 + ГруппаЗаголовок + 134 + + ОписаниеРаздела + 136 + + <key>ru</key> + <value>Включение и отключение полнотекстового поиска, обновление индекса полнотекстового поиска, а также настройка извлечения текстов из файлов для использования при поиске.</value> + + true + true + + true + + + ОписаниеРазделаРасширеннаяПодсказка + 138 + Label + true + true + + Left + + + + ОписаниеРазделаКонтекстноеМеню + 137 + true + + Label + 78 + true + true + false + false + + Left + Top + + + + Декорация + 139 + + <key>ru</key> + <value> </value> + + true + true + + true + + + ru + + + + ДекорацияРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + + ДекорацияКонтекстноеМеню + 140 + true + + Label + true + true + true + + Left + + + + ГруппаСправка + 142 + + Справка + 144 + true + true + + true + + + СправкаExtendedTooltip + 145 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + false + false + + ГруппаСправкаExtendedTooltip + 143 + Label + true + true + + Left + + + CommandBar + + Left + + + true + true + + true + + + <key>ru</key> + <value> </value> + + + ru + + + + ГруппаЗаголовокExtendedTooltip + 135 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаИспользоватьПолнотекстовыйПоиск 101 ИспользоватьПолнотекстовыйПоиск @@ -78,8 +249,12 @@ true + + <key>ru</key> + <value>Группа использовать полнотекстовый поиск</value> + - Группа1ExtendedTooltip + ГруппаИспользоватьПолнотекстовыйПоискРасширеннаяПодсказка 114 Label true @@ -339,8 +514,6 @@ Label true true - true - true true Style.ПоясняющийТекст @@ -699,13 +872,6 @@ ru Автоматическое извлечение текстов - - System.DefaultGUIFont - true - false - false - false - ru @@ -732,39 +898,12 @@ Auto - Bottom + Top true ФормаКоманднаяПанель -1 - - Закрыть - 96 - true - true - - true - - false - - ЗакрытьExtendedTooltip - 113 - Label - true - true - - Left - - - Form.StandardCommand.Close - true - true - true - UserCmds - Auto - - Right - true + Left OnCreateAtServer @@ -785,7 +924,7 @@ Write WriteAndClose Yes - LockOwner + DontBlock true true true diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Help/ru.html index 2b089dd2c..ac9e21249 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Help/ru.html @@ -1,22 +1,25 @@ -

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

                                    -

                                    Команды управления полнотекстовым поиском:

                                    - - -
                                    -
                                  • Обновить индекс
                                  • Выполняет обновление полнотекстового индекса, добавляя к нему новые или измененные объекты.
                                    -
                                  • Очистить индекс
                                  • Удаляет все файлы полнотекстового индекса.

                                    Автоматическое извлечение текстов

                                    Извлечение текстов из файлов необходимо для полнотекстового поиска в программе.
                                    В клиент-среверном варианте если один или несколько рабочих процессов сервера работают под Linux, а часть или все клиенты подключаются с помощью веб-клиента, то в информационной базе могут быть добавлены файлы, текст из которых не извлечен, и соответственно эти файлы не могут быть найдены полнотекстовым поиском по содержимому.
                                    В этом случае на одном из клиентских компьютеров, работающих под управлением ОС Microsoft Windows нужно запустить тонкий или толстый клиент, и на нем открыть обработку «Автоматическое извлечение текстов». Эта обработка в автоматическом режиме будет извлекать текст из файлов.
                                    По умолчанию интервал времени выполнения равен 60 секундам.
                                    В файловом варианте работы тексты извлекаются автоматически при загрузке файла в программу.
                                    - -
                                    -
                                  • Редактировать регламентное задание
                                  • Расписание и другие параметры регламентного задания по извлечению текстов из файлов.
                                    -
                                  • Извлечение текстов
                                  • Запуск автоматического извлечения текстов из файлов на рабочей станции под управлением ОС Windows.

                                    См. также:

                                    -
                                  • Общие настройки -
                                  • Настройки программы -
                                  • Полнотекстовый поиск -
                                  • Общая информация о формах
                                  • \ No newline at end of file + +

                                    Предназначена для включения и отключения полнотекстового поиска, обновления индекса полнотекстового поиска, а также настройки извлечения текстов из файлов для использования при поиске.

                                    +

                                    Открывается по команде Управление полнотекстовым поиском раздела Администрирование - Поддержка и обслуживание - Регламентные операции.

                                    +

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

                                    +

                                    Также полнотекстовый поиск предоставляет такие возможности как: поддержка транслитерации (написание русских слов символами латиницы в соответствии с ГОСТ); поддержка замещения (написание части символов в русских словах одноклавишными латинскими символами); нечеткий поиск (буквы в найденных словах могут отличаться).

                                    +

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

                                    +

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

                                    +

                                    Обновление индекса полнотекстового поиска

                                    +
                                    • Для того чтобы можно было осуществлять поиск по всем введенным в программу данным, необходимо регулярно актуализировать индекс полнотекстового поиска. Для регулярного автоматического обновления индекса предназначены регламентные задания Обновление индекса ППД и Слияние индекса ППД (выполняется раз в сутки). +
                                    • Если индекс уже был обновлен, то отображается Дата актуальности индекса - дата последнего обновления индекса. +
                                    • Если в программе есть данные, которые не прошли индексирование, то становится доступна кнопка Обновить индекс и выводится Статус индекса "Требуется обновление".

                                    Очистка индекса полнотекстового поиска

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

                                    В клиент-серверном режиме доступны команды по настройке автоматического извлечения текстов.

                                    +

                                    Автоматическое извлечение текстов

                                    +

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

                                    +

                                    Для настройки необходимо с помощью переключателя выбрать:

                                    +
                                    • Все сервера в кластере 1С:Предприятие работают под управлением ОС Windows - в этом случае становится доступной команда Настроить регламентное задание. Укажите расписание и другие параметры регламентного задания по извлечению текстов из файлов. +
                                    • Один или несколько серверов работают под управлением ОС Linux - в этом случае с помощью команды Извлечение текстов можно начать извлечение текстов в тонком клиенте на рабочей станции под управлением ОС Windows.
                                      • Если в клиент-серверном варианте один или несколько рабочих процессов сервера работают под Linux, а часть или все клиенты подключаются с помощью веб-клиента, то в информационной базе могут быть добавлены файлы, текст из которых не извлечен, и соответственно эти файлы не могут быть найдены полнотекстовым поиском по содержимому. В этом случае на одном из клиентских компьютеров, работающих под управлением ОС Microsoft Windows, нужно запустить тонкий или толстый клиент, и на нем выполнить команду Извлечение текстов, для того чтобы в автоматическом режиме извлекать текст из файлов. По умолчанию интервал времени выполнения равен 60 секундам.

                                    См. также:

                                    +
                                  • Настройки программы; +
                                  • Работа с формами.
                                  • \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Module.bsl b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Module.bsl index 07f8afd5a..b184d92b3 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Module.bsl +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Forms/УправлениеПолнотекстовымПоискомИИзвлечениемТекстов/Module.bsl @@ -5,7 +5,9 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; @@ -22,11 +24,16 @@ Элементы.ГруппаАвтоматическоеИзвлечениеТекстов.Видимость = Ложь; АвтоЗаголовок = Ложь; Заголовок = НСтр("ru = 'Управление полнотекстовым поиском'"); - Ширина = 40; + Элементы.ОписаниеРаздела.Заголовок = + НСтр("ru = 'Включение и отключение полнотекстового поиска, обновление индекса полнотекстового поиска.'"); КонецЕсли; // Обновление состояния элементов УстановитьДоступность(); + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп( + ЭтотОбъект, "ГруппаАвтоматическоеИзвлечениеТекстов"); + КонецПроцедуры &НаКлиенте @@ -276,6 +283,7 @@ КонецПопытки; КонстантаИмя = "ИспользоватьПолнотекстовыйПоиск"; НаборКонстант.ИспользоватьПолнотекстовыйПоиск = ИспользоватьПолнотекстовыйПоиск; + ОбновитьРегламентныеЗадания(ИспользоватьПолнотекстовыйПоиск); КонецЕсли; КонецЕсли; @@ -345,4 +353,25 @@ КонецПроцедуры +&НаСервере +Процедура ОбновитьРегламентныеЗадания(Использование) + + Задание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОбновлениеИндексаППД); + Задание.Использование = Использование; + Задание.Записать(); + + Задание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.СлияниеИндексаППД); + Задание.Использование = Использование; + Задание.Записать(); + + Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ФайловыеФункции") Тогда + МодульФайловыеФункции = ОбщегоНазначения.ОбщийМодуль("ФайловыеФункции"); + Задание = РегламентныеЗадания.НайтиПредопределенное("ИзвлечениеТекста"); + Задание.Использование = Использование; + Задание.Записать(); + КонецЕсли; + +КонецПроцедуры + + #КонецОбласти diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Help/ru.html index 5657c8926..ac656509c 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/Help/ru.html @@ -1,12 +1,13 @@ - -

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

                                    -

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

                                    -

                                    См. также:

                                    -
                                  • Поддержка и обслуживание -
                                  • Общие настройки -
                                  • Настройки пользователей и прав -
                                  • Органайзер -
                                  • Настройки синхронизации данных -
                                  • Настройки работы с файлами -
                                  • Печатные формы, отчеты и обработки + +

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

                                    +

                                    Для эффективной работы программы ее необходимо правильно настроить.

                                    +

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

                                    +

                                    См. также:

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

                                  • \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/ПанельАдминистрированияБСП.mdo b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/ПанельАдминистрированияБСП.mdo index 6b33a22ad..d0e67ece3 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСП/ПанельАдминистрированияБСП.mdo +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСП/ПанельАдминистрированияБСП.mdo @@ -7,9 +7,10 @@ ПанельАдминистрированияБСП ru - Панель администрирования (стандартные функции) + Панель администрирования БСП DataProcessor.ПанельАдминистрированияБСП.Form.Форма + true ru @@ -144,6 +145,10 @@ NavigationPanelImportant Auto + + ru + Контроль за состоянием программы, резервное копирование и восстановление, обновление версии, оптимизация быстродействия. + ОбщиеНастройки @@ -153,6 +158,10 @@ NavigationPanelOrdinary Auto + + ru + Изменение заголовка программы, настройка версионирования объектов, дополнительных реквизитов и других общих настроек. + НастройкиПользователейИПрав @@ -162,6 +171,10 @@ NavigationPanelOrdinary Auto + + ru + Администрирование пользователей, настройка групп доступа, предоставление доступа для внешних пользователей, управление пользовательскими настройками. + Органайзер @@ -171,6 +184,10 @@ NavigationPanelOrdinary Auto + + ru + Настройка электронной почты, заметок, напоминаний и бизнес-процессов. + НастройкиСинхронизацииДанных @@ -180,6 +197,11 @@ NavigationPanelOrdinary Auto + + ru + Настройка синхронизации данных с другими программами +и организация совместной работы в распределенной информационной базе. + НастройкиРаботыСФайлами @@ -189,6 +211,10 @@ NavigationPanelOrdinary Auto + + ru + Настройка параметров загрузки, хранения и обработки файлов. + ПечатныеФормыОтчетыИОбработки @@ -198,5 +224,9 @@ NavigationPanelOrdinary Auto + + ru + Настройка печатных форм, вариантов отчетов, рассылок отчетов, дополнительных отчетов и обработок. + diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораАбонента/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораАбонента/Help/ru.html index e0576cfcc..73d48b734 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораАбонента/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораАбонента/Help/ru.html @@ -4,7 +4,7 @@ TD { VERTICAL-ALIGN: top } - +

                                    В данной панели осуществляется настройка синхронизации данных с моими приложениями.

                                    diff --git a/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораСервиса/Help/ru.html b/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораСервиса/Help/ru.html index a5a55add3..96a2be28f 100644 --- a/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораСервиса/Help/ru.html +++ b/SSL/src/DataProcessors/ПанельАдминистрированияБСПВМоделиСервиса/Forms/СинхронизацияДанныхДляАдминистратораСервиса/Help/ru.html @@ -4,7 +4,7 @@ TD { VERTICAL-ALIGN: top } - +

                                    В данной панели осуществляется настройка синхронизации данных с моими приложениями.

                                  • Синхронизация данных
                                  • diff --git a/SSL/src/DataProcessors/ПереносФайловВТома/Help/ru.html b/SSL/src/DataProcessors/ПереносФайловВТома/Help/ru.html index 9818c4100..3741db89c 100644 --- a/SSL/src/DataProcessors/ПереносФайловВТома/Help/ru.html +++ b/SSL/src/DataProcessors/ПереносФайловВТома/Help/ru.html @@ -1 +1,12 @@ -Обработка предназначена для переноса файлов, хранящихся в информационной базе в тома хранения файлов. При этом в настройках программы должна быть включена настройка "Хранить файлы в томах на диске". \ No newline at end of file + +

                                    Предназначена для переноса файлов, хранящихся в информационной базе, в тома хранения файлов. 

                                    +

                                    Для успешного переноса файлов необходимо:

                                    +
                                    • В настройках программы в разделе Администрирование - Настройки работы с файлами включить флажок Хранить файлы в томах на диске. +
                                    • В списке Тома хранения файлов добавить необходимое количество томов для хранения файлов информационной базы.

                                    Для контроля выводится информация:

                                    +
                                    • +
                                      Количество файлов в информационной базе;
                                      +
                                    • +
                                      Размер файлов в информационной базе (Мб).

                                    На основе этих данных можно рассчитать необходимое количество томов хранения файлов.

                                    +

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПереносФайловВТома/ПереносФайловВТома.mdo b/SSL/src/DataProcessors/ПереносФайловВТома/ПереносФайловВТома.mdo index 5c35a7594..5ed5cec11 100644 --- a/SSL/src/DataProcessors/ПереносФайловВТома/ПереносФайловВТома.mdo +++ b/SSL/src/DataProcessors/ПереносФайловВТома/ПереносФайловВТома.mdo @@ -10,6 +10,7 @@ Перенос файлов в томаDataProcessor.ПереносФайловВТома.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl index 3a2e801fc..307efb7dd 100644 --- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl +++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПоискДублей/Module.bsl @@ -928,29 +928,28 @@ КонецЕсли; КонецЦикла; - Если ВсегоОсновных = 1 Тогда - // Много дублей в один элемент - Если ПоследнийКандидат = Неопределено Тогда - ОписаниеСостоянияНайденныхДублей = Новый ФорматированнаяСтрока(Элементы.Информация16.Картинка, " ", ФорматСтроки( - НСтр("ru = 'Все найденные дубли (%1) успешно объединены'"), - ВсегоОбработано) - ); + Если ВсегоОсновных = 1 Тогда + // Много дублей в один элемент + Если ПоследнийКандидат = Неопределено Тогда + ОписаниеСостоянияНайденныхДублей = ФорматСтроки( + НСтр("ru = 'Все найденные дубли (%1) успешно объединены'"), ВсегоОбработано + ); + Иначе + ПоследнийКандидатСтрокой = ОбщегоНазначения.ПредметСтрокой(ПоследнийКандидат); + ОписаниеСостоянияНайденныхДублей = ФорматСтроки( + НСтр("ru = 'Все найденные дубли (%1) успешно объединены + |в ""%2""'"), + ВсегоОбработано, ПоследнийКандидатСтрокой + ); + КонецЕсли; Иначе - ПоследнийКандидатСтрокой = ОбщегоНазначения.ПредметСтрокой(ПоследнийКандидат); - ОписаниеСостоянияНайденныхДублей = Новый ФорматированнаяСтрока(Элементы.Информация16.Картинка, " ", ФорматСтроки( - НСтр("ru = 'Все найденные дубли (%1) успешно объединены - |в ""%2""'"), - ВсегоОбработано, ПоследнийКандидатСтрокой) + // Много дублей во много групп + ОписаниеСостоянияНайденныхДублей = ФорматСтроки( + НСтр("ru = 'Все найденные дубли (%1) успешно объединены. + |Оставлено элементов (%2).'"), + ВсегоОбработано, ВсегоОсновных ); КонецЕсли; - Иначе - // Много дублей во много групп - ОписаниеСостоянияНайденныхДублей = Новый ФорматированнаяСтрока(Элементы.Информация16.Картинка, " ", ФорматСтроки( - НСтр("ru = 'Все найденные дубли (%1) успешно объединены. - |Оставлено элементов (%2).'"), - ВсегоОбработано, ВсегоОсновных) - ); - КонецЕсли; КонецЕсли; НеобработанныеДубли.ПолучитьЭлементы().Очистить(); @@ -2159,6 +2158,16 @@ // Переключаем на новую страницу Элементы[НастройкиМастера.ГруппаСтраниц].ТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + // Обход особенности платформы + ГруппаСтраницМастера = Элементы[НастройкиМастера.ГруппаСтраниц]; + НоваяТекущаяСтраница = Элементы[ОписаниеШага.Страница]; + ВидГруппыСтраница = ВидГруппыФормы.Страница; + ТипГруппаФормы = Тип("ГруппаФормы"); + Для Каждого Страница Из ГруппаСтраницМастера.ПодчиненныеЭлементы Цикл + Если ТипЗнч(Страница) = ТипГруппаФормы И Страница.Вид = ВидГруппыСтраница Тогда + Страница.Видимость = (Страница = НоваяТекущаяСтраница); + КонецЕсли; + КонецЦикла; // Обновляем кнопки ОбновитьСвойстваКнопкиМастера(НастройкиМастера.КнопкаДалее, ОписаниеШага.КнопкаДалее); diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПравилаОтбора/Help/ru.html b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПравилаОтбора/Help/ru.html index a51e0d406..7cbfe5d7f 100644 --- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПравилаОтбора/Help/ru.html +++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Forms/ПравилаОтбора/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Предназначена для отбора элементов списков.

                                    Ввод условий отбора

                                    • Нажмите Добавить новый элемент.  diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Help/ru.html b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Help/ru.html index a85b37064..2b3447368 100644 --- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/Help/ru.html +++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/Help/ru.html @@ -1,4 +1,4 @@ - +

                                      Предназначена для поиска и устранения дублирования элементов во всех списках программы (для администраторов программы).

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

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

                                      diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl index 5c43de852..68230aa82 100644 --- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl +++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ObjectModule.bsl @@ -124,6 +124,7 @@ ПараметрыЗамены = Новый Структура; ПараметрыЗамены.Вставить("СпособУдаления", Параметры.СпособУдаления); ПараметрыЗамены.Вставить("ВключатьБизнесЛогику", Истина); + ПараметрыЗамены.Вставить("ЗаменаПарыВТранзакции", Ложь); ЗаменитьСсылки(Параметры.ПарыЗамен, ПараметрыЗамены, АдресРезультата); diff --git a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ПоискИУдалениеДублей.mdo b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ПоискИУдалениеДублей.mdo index 38031d253..c9146053f 100644 --- a/SSL/src/DataProcessors/ПоискИУдалениеДублей/ПоискИУдалениеДублей.mdo +++ b/SSL/src/DataProcessors/ПоискИУдалениеДублей/ПоискИУдалениеДублей.mdo @@ -11,6 +11,7 @@ true DataProcessor.ПоискИУдалениеДублей.Form.ПоискДублей + true ru diff --git a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/УпрощеннаяФорма/Form.form b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/УпрощеннаяФорма/Form.form index 0d792ebfc..3878bf802 100644 --- a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/УпрощеннаяФорма/Form.form +++ b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/УпрощеннаяФорма/Form.form @@ -47,6 +47,10 @@ Style.BorderColor Normal + + ru + Найти документ или файл + @@ -70,7 +74,7 @@ UsualButton Form.Command.ВыполнитьПоиск - PictureAndText + Auto true true 1 @@ -148,12 +152,12 @@ ВыполнитьПоиск <key>ru</key> - <value>Найти...</value> + <value>Найти</value> 2 ru - Найти текст + Найти документ по наименованию или части фразы true diff --git a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Form.form b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Form.form index 22ea7bea7..da5912257 100644 --- a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Form.form @@ -62,6 +62,10 @@ Style.BorderColor Normal + + ru + Введите искомый текст или часть фразы + @@ -142,10 +146,6 @@ true - - ru - Группа поиска - ГруппаПоискаExtendedTooltip 52 @@ -401,6 +401,7 @@ true true UserCmds + None Auto @@ -449,14 +450,6 @@ true - - <key>ru</key> - <value>Группа обновление индекса</value> - - - ru - Группа обновление индекса - ГруппаОбновлениеИндексаExtendedTooltip 62 diff --git a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Module.bsl index 45b180df5..2e24c73e7 100644 --- a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Forms/Форма/Module.bsl @@ -110,8 +110,16 @@ ЧастьURL = ЭлементHTML.outerHTML; Позиция = Найти(ЧастьURL, "sel_num="); + ЧастьURLОбрезанная = Сред(ЧастьURL, Позиция + 9); + ПозицияОкончание = Найти(ЧастьURLОбрезанная, """"); + Если ПозицияОкончание = 0 Тогда + ПозицияОкончание = Найти(ЧастьURLОбрезанная, "'"); + Если ПозицияОкончание = 0 Тогда + ПозицияОкончание = 2; + КонецЕсли; + КонецЕсли; Если Позиция <> 0 Тогда - ЧастьURL = Сред(ЧастьURL, Позиция+9, 1); + ЧастьURL = Сред(ЧастьURLОбрезанная, 1, ПозицияОкончание - 1); КонецЕсли; НомерВСписке = Число(ЧастьURL); diff --git a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Help/ru.html b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Help/ru.html index 34483a7f7..8e4bff58d 100644 --- a/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Help/ru.html +++ b/SSL/src/DataProcessors/ПолнотекстовыйПоискВДанных/Help/ru.html @@ -1,7 +1,14 @@ - +

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

                                      +

                                      Полнотекстовый поиск можно выполнять прямо с Рабочего стола программы.

                                      +

                                      Полнотекстовый поиск предоставляет такие возможности как:

                                      +
                                      • Поддержка транслитерации (написание русских слов символами латиницы в соответствии с ГОСТ); +
                                      • Поддержка замещения (написание части символов в русских словах одноклавишными латинскими символами); +
                                      • Нечеткий поиск (буквы в найденных словах могут отличаться).

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

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

                                      -

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

                                      +

                                      Обновление индекса

                                      +

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

                                      +

                                      Примеры

                                  • Синхронизация данных
                                  • @@ -11,16 +18,16 @@
                                    Пример поиска Результат
                                    «Реализация 00016422»Найдет все документы «реализация товаров и услуг» по контрагенту ООО «Акация»
                                    «Акация 05.07» Найдет все документы по контрагенту ООО «Акация», оформленные 5-го июля
                                    «Кроссовки» Найдет все упоминания товаров типа «кроссовки» по порядку:
                                    • Кроссовки белые (Товар)
                                    • Кроссовки черные (Товар)
                                    • Поступление товаров и услуг № 00086822
                                    • Реализация товаров и услуг № 00016422

                                     

                                    -

                                    Советы:

                                    +

                                    Советы

                                    -
                                    • Если нашлось много данных, то уточните поисковый запрос, добавив к нему какое-либо уточнение (дату, сумму, название контрагента)  -
                                    • Если нашлось мало данных, то упростите запрос, исключив из него какое-либо слово +
                                      • Если нашлось много данных, то уточните поисковый запрос, добавив к нему какое-либо уточнение (дату, сумму, название контрагента).  +
                                      • Если нашлось мало данных, то упростите запрос, исключив из него какое-либо слово.
                                      • Для точного поиска используйте:
                                      -
                                      • Кавычки - для поиска точной фразы, например: «"мини пылесос"» +
                                        • Кавычки - для поиска точной фразы, например: «"мини пылесос"».
                                        • ИЛИ - для поиска одного из двух слов, например «Акация ИЛИ Стройпромвсе» - найдет все упоминания контрагентов ООО "Акация" и ЗАО "Стройпромвсе".
                                        • Скобки - для группировки выражений, например поиск «Иванов (Акация ИЛИ Стройпромвсе)» найдет все документы, выписанные Ивановым по контрагентам ООО "Акация" и ЗАО "Стройпромвсе".
                                      -
                                      • Для поиска с учетом синонимов используйте "!", например, поиск "!номер" найдет все документы в которых встречается слово "номер" или "число" -
                                      • Для "нечеткого" поиска используйте "#" например "Стройпромвсе#2" найдет все документы, содержащие такие слова, которые отличаются от слова "Стройпромвсе" на одну или две буквы. +
                                        • Для поиска с учетом синонимов используйте "!", например, поиск "!номер" найдет все документы в которых встречается слово "номер" или "число". +
                                        • Для "нечеткого" поиска используйте "#", например поиск "Стройпромвсе#2" найдет все документы, содержащие такие слова, которые отличаются от слова "Стройпромвсе" на одну или две буквы.
                                        • Для поиска по началу слова используйте "*", например, поиск "Строй*" найдет все документы, которые содержат слова, начинающиеся на "Строй" - "Стройка", "Стройпромвсе"  и т.д.
                                    -

                                    См. также: Полное описание формата поисковых выражений.

                                    -

                                     

                                    \ No newline at end of file +

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Form.form b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Form.form index 3aa022cc3..345450a8c 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Form.form @@ -10,52 +10,8 @@ СтраницаНачала 250 - - ЗаголовокСтраницы - 284 - - <key>ru</key> - <value>Выбор варианта подключения</value> - - true - true - - true - - - ЗаголовокСтраницыExtendedTooltip - 730 - Label - true - true - - Left - - - - ЗаголовокСтраницыКонтекстноеМеню - 285 - true - - Label - true - 2 - true - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - Отступ + ЗаголовокСтраницы 725 ГруппаВыборВидаТранспортаИзДоступных @@ -88,10 +44,11 @@ true Label + 24 true true - Left + Right @@ -237,37 +194,6 @@ Auto - - Декорация25 - 611 - true - true - - true - - - Декорация25ExtendedTooltip - 738 - Label - true - true - - Left - - - - Декорация25КонтекстноеМеню - 612 - true - - Label - true - true - true - - Left - - true true @@ -305,15 +231,19 @@ Группа2 537 - Декорация3 + НадписьWSПароль 538 + + <key>ru</key> + <value>Пароль:</value> + true true true - Декорация3ExtendedTooltip + НадписьWSПарольРасширеннаяПодсказка 740 Label true @@ -323,16 +253,16 @@ - Декорация3КонтекстноеМеню + НадписьWSПарольКонтекстноеМеню 539 true Label - 18 + 24 true true - Left + Right @@ -349,6 +279,7 @@ WSПароль + None WSПарольExtendedTooltip 742 @@ -389,37 +320,6 @@ Группа4 531 - - Декорация1 - 532 - true - true - - true - - - Декорация1ExtendedTooltip - 744 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 533 - true - - Label - 5 - true - true - - Left - - Группа5 534 @@ -615,14 +515,14 @@ <key>ru</key> - <value>Отступ</value> + <value>Выбор варианта подключения</value> ru - Отступ + Заголовок страницы - ОтступExtendedTooltip + ЗаголовокСтраницыРасширеннаяПодсказка 731 Label true @@ -638,6 +538,7 @@ NormalSeparation true true + auto Auto Auto @@ -711,246 +612,232 @@ СтраницаИнформацииСтатистики 169 - + ЗаголовокСтраницыИнформацииСтатистики - 286 + 909 + + СтраницыСтатусаСопоставленияДанных + 716 + + СтатусСопоставленияЕстьНесопоставленныеДанные + 717 + + ПояснениеОНаличииНесопоставленныхОбъектов1 + 718 + + <key>ru</key> + <value>Учет ведется в обеих программах, поэтому следует выполнить сопоставление данных. +Это позволит избежать появления дублирующихся элементов справочников, которые независимо друг от друга +были введены в обеих программах, например, с одинаковыми наименованиями. +С помощью сопоставления можно указать, какие данные являются одинаковыми в двух программах.</value> + + true + true + + true + + + ПояснениеОНаличииНесопоставленныхОбъектов1ExtendedTooltip + 753 + Label + true + true + + Left + + + + ПояснениеОНаличииНесопоставленныхОбъектов1КонтекстноеМеню + 719 + true + + Label + true + true + false + + Style.ПоясняющийТекст + + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Статус сопоставления есть несопоставленные данные</value> + + + ru + Статус сопоставления есть несопоставленные данные + + + СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip + 752 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтатусСопоставленияВсеДанныеСопоставлены + 720 + + Декорация4 + 721 + true + true + + true + + + Декорация4ExtendedTooltip + 755 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 722 + true + + 5 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ПояснениеПриСопоставленииВсехДанных + 723 + + <key>ru</key> + <value>Все данные сопоставлены. +Убедитесь, что автоматическое сопоставление данных выполнено правильно.</value> + + true + true + + true + + + ПояснениеПриСопоставленииВсехДанныхExtendedTooltip + 756 + Label + true + true + + Left + + + + ПояснениеПриСопоставленииВсехДанныхКонтекстноеМеню + 724 + true + + Label + true + 2 + true + false + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Статус сопоставления все данные сопоставлены</value> + + + ru + Статус сопоставления все данные сопоставлены + + + СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip + 754 + Label + true + true + + Left + + + Page + + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы статуса сопоставления данных</value> + + + ru + Страницы статуса сопоставления данных + + + СтраницыСтатусаСопоставленияДанныхРасширеннаяПодсказка + 751 + Label + true + true + + Left + + + Pages + + Auto + + + true + true + + true + <key>ru</key> <value>Сопоставление данных</value> - true - true - - true - - - ЗаголовокСтраницыИнформацииСтатистикиExtendedTooltip - 750 - Label - true - true - - Left - - - - ЗаголовокСтраницыИнформацииСтатистикиКонтекстноеМеню - 287 - true - - Label - true - 2 - true - true - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - - СтраницыСтатусаСопоставленияДанных - 716 - - СтатусСопоставленияЕстьНесопоставленныеДанные - 717 - - ПояснениеОНаличииНесопоставленныхОбъектов1 - 718 - - <key>ru</key> - <value>Учет ведется в обеих программах, поэтому следует выполнить сопоставление данных. -Это позволит избежать появления дублирующихся элементов справочников, которые независимо друг от друга -были введены в обеих программах, например, с одинаковыми наименованиями. -С помощью сопоставления можно указать, какие данные являются одинаковыми в двух программах.</value> - - true - true - - true - - - ПояснениеОНаличииНесопоставленныхОбъектов1ExtendedTooltip - 753 - Label - true - true - - Left - - - - ПояснениеОНаличииНесопоставленныхОбъектов1КонтекстноеМеню - 719 - true - - Label - true - true - false - - Style.ПоясняющийТекст - - - Left - Top - - - true - true - - true - - - <key>ru</key> - <value>Статус сопоставления есть несопоставленные данные</value> - - - ru - Статус сопоставления есть несопоставленные данные - - - СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip - 752 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтатусСопоставленияВсеДанныеСопоставлены - 720 - - Декорация4 - 721 - true - true - - true - - - Декорация4ExtendedTooltip - 755 - Label - true - true - - Left - - - - Декорация4КонтекстноеМеню - 722 - true - - 5 - true - 2 - true - - - CommonPicture.Информация32 - - - - - ПояснениеПриСопоставленииВсехДанных - 723 - - <key>ru</key> - <value>Все данные сопоставлены. -Убедитесь, что автоматическое сопоставление данных выполнено правильно.</value> - - true - true - - true - - - ПояснениеПриСопоставленииВсехДанныхExtendedTooltip - 756 - Label - true - true - - Left - - - - ПояснениеПриСопоставленииВсехДанныхКонтекстноеМеню - 724 - true - - Label - true - 2 - true - false - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Статус сопоставления все данные сопоставлены</value> - - - ru - Статус сопоставления все данные сопоставлены - - - СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip - 754 - Label - true - true - - Left - - - Page - - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы статуса сопоставления данных</value> - ru - Страницы статуса сопоставления данных + Заголовок страницы информации статистики - СтраницыСтатусаСопоставленияДанныхExtendedTooltip - 751 + ЗаголовокСтраницыИнформацииСтатистикиРасширеннаяПодсказка + 910 Label true true @@ -958,8 +845,15 @@ Left - Pages - + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto Auto @@ -1412,6 +1306,7 @@ Left true + 2 true true true @@ -1426,11 +1321,15 @@ - ДеревоИнформацииСтатистикиГруппа1 - 424 + ДеревоИнформацииСтатистикиГруппаЧислоСопоставленных + 911 ДеревоИнформацииСтатистикиКоличествоОбъектовВПриемнике 420 + + <key>ru</key> + <value>В этой программе</value> + true true @@ -1460,8 +1359,10 @@ Left true + 13 true true + false true true true @@ -1469,14 +1370,121 @@ Normal + + ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленных + 422 + + <key>ru</key> + <value>Осталось</value> + + true + true + + true + + + ДеревоИнформацииСтатистики.КоличествоОбъектовНесопоставленных + + + ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленныхExtendedTooltip + 780 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленныхКонтекстноеМеню + 423 + true + + InputField + Auto + true + Left + true + + 8 + true + true + false + true + true + true + true + Normal + + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектов + 410 + + <key>ru</key> + <value>%</value> + + true + true + + true + + + ДеревоИнформацииСтатистики.ПроцентСопоставленияОбъектов + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовExtendedTooltip + 781 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовКонтекстноеМеню + 411 + true + + InputField + Auto + true + Left + true + + 4 + true + true + false + true + + ru + ЧН= + + + ru + ЧН= + + true + true + true + Normal + + true true true + + ru + Число сопоставленных + + false - ДеревоИнформацииСтатистикиГруппа1ExtendedTooltip - 778 + ДеревоИнформацииСтатистикиГруппаЧислоСопоставленныхРасширеннаяПодсказка + 912 Label true true @@ -1490,96 +1498,6 @@ true - - ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленных - 422 - true - true - - true - - - ДеревоИнформацииСтатистики.КоличествоОбъектовНесопоставленных - - - ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленныхExtendedTooltip - 780 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиКоличествоОбъектовНесопоставленныхКонтекстноеМеню - 423 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектов - 410 - true - true - - true - - - ДеревоИнформацииСтатистики.ПроцентСопоставленияОбъектов - - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовExtendedTooltip - 781 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовКонтекстноеМеню - 411 - true - - InputField - Auto - true - Left - true - - true - true - true - - ru - ЧН= - - - ru - ЧН= - - true - true - true - Normal - - None ДеревоИнформацииСтатистикиКоманднаяПанель @@ -1593,10 +1511,10 @@ ДеревоИнформацииСтатистикиСтрокаПоиска - 912 + 936 ДеревоИнформацииСтатистикиСтрокаПоискаРасширеннаяПодсказка - 914 + 938 Label true true @@ -1606,7 +1524,7 @@ ДеревоИнформацииСтатистикиСтрокаПоискаКонтекстноеМеню - 913 + 937 true ДеревоИнформацииСтатистики @@ -1616,10 +1534,10 @@ ДеревоИнформацииСтатистикиСостояниеПросмотра - 915 + 939 ДеревоИнформацииСтатистикиСостояниеПросмотраРасширеннаяПодсказка - 917 + 941 Label true true @@ -1629,7 +1547,7 @@ ДеревоИнформацииСтатистикиСостояниеПросмотраКонтекстноеМеню - 916 + 940 true ViewStatusAddition @@ -1640,10 +1558,10 @@ ДеревоИнформацииСтатистикиУправлениеПоиском - 918 + 942 ДеревоИнформацииСтатистикиУправлениеПоискомРасширеннаяПодсказка - 920 + 944 Label true true @@ -1653,7 +1571,7 @@ ДеревоИнформацииСтатистикиУправлениеПоискомКонтекстноеМеню - 919 + 943 true SearchControlAddition @@ -1878,8 +1796,8 @@ Label true - 3 true + true false Left @@ -1918,53 +1836,8 @@ СтраницаОкончанияСопоставления 289 - - ЗаголовокСтраницыОкончанияСопоставления - 294 - - <key>ru</key> - <value>Синхронизация завершена</value> - - true - true - - true - - - ЗаголовокСтраницыОкончанияСопоставленияExtendedTooltip - 784 - Label - true - true - - Left - - - - ЗаголовокСтраницыОкончанияСопоставленияКонтекстноеМеню - 295 - true - - Label - true - 2 - true - true - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - Группа3 + ЗаголовокСтраницыОкончанияСопоставления 579 ГруппаРезультатаВыполненияОбменаДанными @@ -2843,8 +2716,16 @@ true + + <key>ru</key> + <value>Синхронизация завершена</value> + + + ru + Заголовок страницы окончания сопоставления + - Группа3ExtendedTooltip + ЗаголовокСтраницыОкончанияСопоставленияРасширеннаяПодсказка 785 Label true @@ -2856,8 +2737,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -2868,17 +2751,51 @@ Группировка 370 - - Декорация14 - 339 + + Группа3 + 913 + + Декорация14 + 339 + true + true + + true + + + Декорация14ExtendedTooltip + 814 + Label + true + true + + Left + + + + Декорация14КонтекстноеМеню + 340 + true + + 5 + true + 2 + true + false + + + CommonPicture.Информация32 + + + true true true - Декорация14ExtendedTooltip - 814 + Группа3РасширеннаяПодсказка + 914 Label true true @@ -2886,20 +2803,14 @@ Left - - Декорация14КонтекстноеМеню - 340 - true - - 5 - true - 3 - true - false - - - CommonPicture.Информация32 - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto @@ -3067,38 +2978,6 @@ Auto - - Декорация12 - 325 - true - true - - true - - - Декорация12ExtendedTooltip - 818 - Label - true - true - - Left - - - - Декорация12КонтекстноеМеню - 326 - true - - Label - true - true - true - false - - Left - - Декорация10 321 @@ -3130,6 +3009,7 @@ true 3 true + true false Left @@ -3168,122 +3048,34 @@ СтраницаВопросОСоставеВыгрузки 540 - - ЗаголовокСтраницыДополненияВыгрузки - 542 - - <key>ru</key> - <value>Данные для отправки</value> - - true - true - - true - - - ЗаголовокСтраницыДополненияВыгрузкиExtendedTooltip - 821 - Label - true - true - - Left - - - - ЗаголовокСтраницыДополненияВыгрузкиКонтекстноеМеню - 543 - true - - Label - true - 2 - true - true - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - ВариантыДополненияВыгрузки - 544 + ЗаголовокСтраницыДополненияВыгрузки + 915 - ТиповойВариантДополненияНет - 628 - - ДополнениеВыгрузкиВариантВыгрузки0 - 545 - true - true - - true - - - ДополнениеВыгрузки.ВариантВыгрузки - - None - - OnChange - ДополнениеВыгрузкиВариантВыгрузкиПриИзменении - - - ДополнениеВыгрузкиВариантВыгрузки0ExtendedTooltip - 824 - Label - true - true - - Left - - - - ДополнениеВыгрузкиВариантВыгрузки0КонтекстноеМеню - 546 - true - - RadioButtonField - Top - Enter - true - Left - true - - 1 - - - ru - Не добавлять - - - 0 - - - Vertical - - + ВариантыДополненияВыгрузки + 544 - Группа12 - 662 - - Декорация20 - 663 + ТиповойВариантДополненияНет + 628 + + ДополнениеВыгрузкиВариантВыгрузки0 + 545 true true true + + ДополнениеВыгрузки.ВариантВыгрузки + + None + + OnChange + ДополнениеВыгрузкиВариантВыгрузкиПриИзменении + - Декорация20ExtendedTooltip - 826 + ДополнениеВыгрузкиВариантВыгрузки0ExtendedTooltip + 824 Label true true @@ -3292,219 +3084,44 @@ - Декорация20КонтекстноеМеню - 664 + ДополнениеВыгрузкиВариантВыгрузки0КонтекстноеМеню + 546 true - Label - 3 - true - true - - Left - - - - ТиповойВариантДополненияНетПояснение - 660 - - <key>ru</key> - <value>Типовой вариант дополнения нет пояснение</value> - - true - true - - true - - - ТиповойВариантДополненияНетПояснениеExtendedTooltip - 827 - Label - true - true - - Left - - - - ТиповойВариантДополненияНетПояснениеКонтекстноеМеню - 661 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - Группа12ExtendedTooltip - 825 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Типовой вариант дополнения "Не добавлять"</value> - - - ru - Типовой вариант дополнения "Не добавлять" - - - ТиповойВариантДополненияНетExtendedTooltip - 823 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - - - - ТиповойВариантДополненияДокументы - 629 - - ДополнениеВыгрузкиВариантВыгрузки1 - 584 - true - true - - true - - - ДополнениеВыгрузки.ВариантВыгрузки - - None - - OnChange - ДополнениеВыгрузкиВариантВыгрузкиПриИзменении - - - ДополнениеВыгрузкиВариантВыгрузки1ExtendedTooltip - 829 - Label - true - true - - Left - - - - ДополнениеВыгрузкиВариантВыгрузки1КонтекстноеМеню - 585 - true - - RadioButtonField - Top - Enter - true - Left - true - - 1 - - - ru - Добавить документы: - - - 1 - - - Vertical - - - - ГруппаОтборВсеДокументы - 590 - - Декорация21 - 591 - true - true - - true - - - Декорация21ExtendedTooltip - 831 - Label - true - true - - Left - - - - Декорация21КонтекстноеМеню - 592 - true - - Label - 3 - true - true - - Left + RadioButtonField + Top + Enter + true + Left + true + + 1 + + + ru + Не добавлять + + + 0 + + + Vertical - Группа9 - 589 + Группа12 + 662 - ТиповойВариантДополненияДокументыПояснение - 665 - - <key>ru</key> - <value>Типовой вариант дополнения документы пояснение</value> - + Декорация20 + 663 true true true - ТиповойВариантДополненияДокументыПояснениеExtendedTooltip - 833 + Декорация20ExtendedTooltip + 826 Label true true @@ -3513,8 +3130,43 @@ - ТиповойВариантДополненияДокументыПояснениеКонтекстноеМеню - 666 + Декорация20КонтекстноеМеню + 664 + true + + Label + 3 + true + true + + Left + + + + ТиповойВариантДополненияНетПояснение + 660 + + <key>ru</key> + <value>Типовой вариант дополнения нет пояснение</value> + + true + true + + true + + + ТиповойВариантДополненияНетПояснениеExtendedTooltip + 827 + Label + true + true + + Left + + + + ТиповойВариантДополненияНетПояснениеКонтекстноеМеню + 661 true Label @@ -3527,615 +3179,14 @@ Left - - Группа7 - 600 - - Декорация11 - 598 - - <key>ru</key> - <value>За период:</value> - - true - true - - true - - - Декорация11ExtendedTooltip - 835 - Label - true - true - - Left - - - - Декорация11КонтекстноеМеню - 599 - true - - Label - true - true - - Left - - - - ДополнениеВыгрузкиОбщийПериодДокументов - 550 - true - true - - true - - - ДополнениеВыгрузки.ПериодОтбораВсехДокументов - - None - - ДополнениеВыгрузкиОбщийПериодДокументовExtendedTooltip - 836 - Label - true - true - - Left - - - - ДополнениеВыгрузкиОбщийПериодДокументовКонтекстноеМеню - 551 - true - - InputField - Enter - true - Left - true - - - Clearing - ДополнениеВыгрузкиОбщийПериодДокументовОчистка - - 29 - true - true - false - true - false - true - true - true - Normal - - - true - true - - true - - - Группа7ExtendedTooltip - 834 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Группа8 - 552 - - Декорация13 - 553 - - <key>ru</key> - <value>С отбором:</value> - - true - true - - true - - - Декорация13ExtendedTooltip - 838 - Label - true - true - - Left - - - - Декорация13КонтекстноеМеню - 554 - true - - Label - true - true - - Left - - - - ДополнениеВыгрузкиОбщийОтборДокументов - 647 - - <key>ru</key> - <value>Все документы</value> - - true - true - - true - - - ДополнениеВыгрузкиОбщийОтборДокументовExtendedTooltip - 839 - Label - true - true - - Left - - - Hyperlink - Form.Command.ДополнениеВыгрузкиОбщийОтборДокументов - Normal - Auto - true - true - UserCmds - Auto - - - ДополнениеВыгрузкиОчисткаОбщегоОтбора - 557 - true - true - - true - - - ДополнениеВыгрузкиОчисткаОбщегоОтбораExtendedTooltip - 840 - Label - true - true - - Left - - - UsualButton - Form.Command.ДополнениеВыгрузкиОчисткаОбщегоОтбора - Normal - Picture - 2 - true - 1 - true - UserCmds - Auto - - true - true - - true - - true - - Группа8ExtendedTooltip - 837 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - false - - Группа9ExtendedTooltip - 832 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа отбор все документы</value> - - - ru - Группа отбор все документы - - - ГруппаОтборВсеДокументыExtendedTooltip - 830 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Типовой вариант дополнения "Документы"</value> - - - ru - Типовой вариант дополнения документы - - - ТиповойВариантДополненияДокументыExtendedTooltip - 828 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - - - - ТиповойВариантДополненияПроизвольный - 630 - - ДополнениеВыгрузкиВариантВыгрузки2 - 586 - true - true - - true - - - ДополнениеВыгрузки.ВариантВыгрузки - - None - - OnChange - ДополнениеВыгрузкиВариантВыгрузкиПриИзменении - - - ДополнениеВыгрузкиВариантВыгрузки2ExtendedTooltip - 842 - Label - true - true - - Left - - - - ДополнениеВыгрузкиВариантВыгрузки2КонтекстноеМеню - 587 - true - - RadioButtonField - Top - Enter - true - Left - true - - 1 - - - ru - Добавить данные: - - - 2 - - - Vertical - - - - Группа13 - 669 - - Декорация26 - 670 true true true - Декорация26ExtendedTooltip - 844 - Label - true - true - - Left - - - - Декорация26КонтекстноеМеню - 671 - true - - Label - 3 - true - true - - Left - - - - ТиповойВариантДополненияПроизвольныйПояснение - 667 - - <key>ru</key> - <value>Типовой вариант дополнения произвольный пояснение</value> - - true - true - - true - - - ТиповойВариантДополненияПроизвольныйПояснениеExtendedTooltip - 845 - Label - true - true - - Left - - - - ТиповойВариантДополненияПроизвольныйПояснениеКонтекстноеМеню - 668 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - Группа13ExtendedTooltip - 843 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаОтборДетальный - 593 - - Декорация22 - 594 - true - true - - true - - - Декорация22ExtendedTooltip - 847 - Label - true - true - - Left - - - - Декорация22КонтекстноеМеню - 595 - true - - Label - 3 - true - true - - Left - - - - Декорация23 - 596 - - <key>ru</key> - <value>С отбором:</value> - - true - true - - true - - - Декорация23ExtendedTooltip - 848 - Label - true - true - - Left - - - - Декорация23КонтекстноеМеню - 597 - true - - Label - true - true - - Left - - - - Группа10 - 558 - - ДополнениеВыгрузкиДетальныйОтбор - 650 - true - true - - true - - - ДополнениеВыгрузкиДетальныйОтборExtendedTooltip - 850 - Label - true - true - - Left - - - Hyperlink - Form.Command.ДополнениеВыгрузкиДетальныйОтбор - Normal - Auto - true - true - UserCmds - Auto - - - ДополнениеВыгрузкиОчисткаДетальногоОтбора - 561 - true - true - - true - - - ДополнениеВыгрузкиОчисткаДетальногоОтбораExtendedTooltip - 851 - Label - true - true - - Left - - - UsualButton - Form.Command.ДополнениеВыгрузкиОчисткаДетальногоОтбора - Normal - Picture - 2 - true - 1 - true - UserCmds - Auto - - true - true - - true - - true - - Группа10ExtendedTooltip - 849 + Группа12ExtendedTooltip + 825 Label true true @@ -4159,15 +3210,15 @@ <key>ru</key> - <value>Группа отбор детальный</value> + <value>Типовой вариант дополнения "Не добавлять"</value> ru - Группа отбор детальный + Типовой вариант дополнения "Не добавлять" - ГруппаОтборДетальныйExtendedTooltip - 846 + ТиповойВариантДополненияНетExtendedTooltip + 823 Label true true @@ -4177,6 +3228,7 @@ UsualGroup + Vertical Auto true true @@ -4184,141 +3236,28 @@ Auto - true - true - - true - - - <key>ru</key> - <value>Типовой вариант дополнения произвольный</value> - - - ru - Типовой вариант дополнения произвольный - - - ТиповойВариантДополненияПроизвольныйExtendedTooltip - 841 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - - - - НастраиваемыйВариантДополнения - 631 - - ДополнениеВыгрузкиВариантВыгрузкиУзел - 632 - true - true - - true - - - ДополнениеВыгрузки.ВариантВыгрузки - - None - - OnChange - ДополнениеВыгрузкиВариантВыгрузкиПриИзменении - - - ДополнениеВыгрузкиВариантВыгрузкиУзелExtendedTooltip - 853 - Label - true - true - - Left - - - - ДополнениеВыгрузкиВариантВыгрузкиУзелКонтекстноеМеню - 633 - true - - RadioButtonField - Top - Enter - true - Left - true - - 1 - - - ru - Данные по настройкам узла: - - - 3 - - - Vertical - - - - ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокой - 653 - - <key>ru</key> - <value>Дополнение выгрузки вариант выгрузки узел строкой</value> - - true - - true - - - ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокойExtendedTooltip - 854 - Label - true - true - - Left - - - - ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокойКонтекстноеМеню - 654 - true - - Label - true - true - - Left - - - ГруппаОтборНастраиваемый - 639 - - ДекорацияОтступГруппыНастраиваемый - 640 + ТиповойВариантДополненияДокументы + 629 + + ДополнениеВыгрузкиВариантВыгрузки1 + 584 true true true + + ДополнениеВыгрузки.ВариантВыгрузки + + None + + OnChange + ДополнениеВыгрузкиВариантВыгрузкиПриИзменении + - ДекорацияОтступГруппыНастраиваемыйExtendedTooltip - 856 + ДополнениеВыгрузкиВариантВыгрузки1ExtendedTooltip + 829 Label true true @@ -4327,36 +3266,44 @@ - ДекорацияОтступГруппыНастраиваемыйКонтекстноеМеню - 641 + ДополнениеВыгрузкиВариантВыгрузки1КонтекстноеМеню + 585 true - Label - 3 - true - true - - Left + RadioButtonField + Top + Enter + true + Left + true + + 1 + + + ru + Добавить документы: + + + 1 + + + Vertical - Группа15 - 643 + ГруппаОтборВсеДокументы + 590 - НастраиваемыйВариантДополненияПояснение - 675 - - <key>ru</key> - <value>Настраиваемый вариант дополнения пояснение</value> - + Декорация21 + 591 true true true - НастраиваемыйВариантДополненияПояснениеExtendedTooltip - 858 + Декорация21ExtendedTooltip + 831 Label true true @@ -4365,29 +3312,64 @@ - НастраиваемыйВариантДополненияПояснениеКонтекстноеМеню - 676 + Декорация21КонтекстноеМеню + 592 true Label + 3 true true - - Style.ПоясняющийТекст - Left - Группа6 - 646 + Группа9 + 589 + + ТиповойВариантДополненияДокументыПояснение + 665 + + <key>ru</key> + <value>Типовой вариант дополнения документы пояснение</value> + + true + true + + true + + + ТиповойВариантДополненияДокументыПояснениеExtendedTooltip + 833 + Label + true + true + + Left + + + + ТиповойВариантДополненияДокументыПояснениеКонтекстноеМеню + 666 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + - ГруппаПериодВыгрузкиСценарийУзла - 634 + Группа7 + 600 - Декорация16 - 635 + Декорация11 + 598 <key>ru</key> <value>За период:</value> @@ -4398,8 +3380,8 @@ <common>true</common> </userVisible> <extendedTooltip> - <name>Декорация16ExtendedTooltip</name> - <id>861</id> + <name>Декорация11ExtendedTooltip</name> + <id>835</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -4408,8 +3390,8 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>Декорация16КонтекстноеМеню</name> - <id>636</id> + <name>Декорация11КонтекстноеМеню</name> + <id>599</id> <autoFill>true</autoFill> </contextMenu> <type>Label</type> @@ -4420,24 +3402,20 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ДополнениеВыгрузкиПериодОтбораСценарияУзла</name> - <id>648</id> + <name>ДополнениеВыгрузкиОбщийПериодДокументов</name> + <id>550</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>ДополнениеВыгрузки.ПериодОтбораСценарияУзла</segments> + <segments>ДополнениеВыгрузки.ПериодОтбораВсехДокументов</segments> </dataPath> <titleLocation>None</titleLocation> - <handlers> - <event>OnChange</event> - <name>ДополнениеВыгрузкиПериодОтбораСценарияУзлаПриИзменении</name> - </handlers> <extendedTooltip> - <name>ДополнениеВыгрузкиПериодОтбораСценарияУзлаExtendedTooltip</name> - <id>862</id> + <name>ДополнениеВыгрузкиОбщийПериодДокументовExtendedTooltip</name> + <id>836</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -4446,8 +3424,8 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ДополнениеВыгрузкиПериодОтбораСценарияУзлаКонтекстноеМеню</name> - <id>649</id> + <name>ДополнениеВыгрузкиОбщийПериодДокументовКонтекстноеМеню</name> + <id>551</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> @@ -4458,7 +3436,7 @@ <extInfo xsi:type="form:InputFieldExtInfo"> <handlers> <event>Clearing</event> - <name>ДополнениеВыгрузкиПериодОтбораСценарияУзлаОчистка</name> + <name>ДополнениеВыгрузкиОбщийПериодДокументовОчистка</name> </handlers> <width>29</width> <autoMaxWidth>true</autoMaxWidth> @@ -4477,18 +3455,131 @@ <userVisible> <common>true</common> </userVisible> - <title> - <key>ru</key> - <value>Группа период выгрузки сценарий узла</value> - - - ru - Группа период выгрузки сценарий узла - - false - ГруппаПериодВыгрузкиСценарийУзлаExtendedTooltip - 860 + Группа7ExtendedTooltip + 834 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа8 + 552 + + Декорация13 + 553 + + <key>ru</key> + <value>С отбором:</value> + + true + true + + true + + + Декорация13ExtendedTooltip + 838 + Label + true + true + + Left + + + + Декорация13КонтекстноеМеню + 554 + true + + Label + true + true + + Left + + + + ДополнениеВыгрузкиОбщийОтборДокументов + 647 + + <key>ru</key> + <value>Все документы</value> + + true + true + + true + + + ДополнениеВыгрузкиОбщийОтборДокументовExtendedTooltip + 839 + Label + true + true + + Left + + + Hyperlink + Form.Command.ДополнениеВыгрузкиОбщийОтборДокументов + Normal + Auto + true + true + UserCmds + Auto + + + ДополнениеВыгрузкиОчисткаОбщегоОтбора + 557 + true + true + + true + + + ДополнениеВыгрузкиОчисткаОбщегоОтбораExtendedTooltip + 840 + Label + true + true + + Left + + + Hyperlink + Form.Command.ДополнениеВыгрузкиОчисткаОбщегоОтбора + Normal + Picture + 2 + true + 1 + true + UserCmds + Auto + + true + true + + true + + true + + Группа8ExtendedTooltip + 837 Label true true @@ -4510,9 +3601,377 @@ true + false - Группа6ExtendedTooltip - 859 + Группа9ExtendedTooltip + 832 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа отбор все документы</value> + + + ru + Группа отбор все документы + + + ГруппаОтборВсеДокументыExtendedTooltip + 830 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Типовой вариант дополнения "Документы"</value> + + + ru + Типовой вариант дополнения документы + + + ТиповойВариантДополненияДокументыExtendedTooltip + 828 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ТиповойВариантДополненияПроизвольный + 630 + + ДополнениеВыгрузкиВариантВыгрузки2 + 586 + true + true + + true + + + ДополнениеВыгрузки.ВариантВыгрузки + + None + + OnChange + ДополнениеВыгрузкиВариантВыгрузкиПриИзменении + + + ДополнениеВыгрузкиВариантВыгрузки2ExtendedTooltip + 842 + Label + true + true + + Left + + + + ДополнениеВыгрузкиВариантВыгрузки2КонтекстноеМеню + 587 + true + + RadioButtonField + Top + Enter + true + Left + true + + 1 + + + ru + Добавить данные: + + + 2 + + + Vertical + + + + Группа13 + 669 + + Декорация26 + 670 + true + true + + true + + + Декорация26ExtendedTooltip + 844 + Label + true + true + + Left + + + + Декорация26КонтекстноеМеню + 671 + true + + Label + 3 + true + true + + Left + + + + ТиповойВариантДополненияПроизвольныйПояснение + 667 + + <key>ru</key> + <value>Типовой вариант дополнения произвольный пояснение</value> + + true + true + + true + + + ТиповойВариантДополненияПроизвольныйПояснениеExtendedTooltip + 845 + Label + true + true + + Left + + + + ТиповойВариантДополненияПроизвольныйПояснениеКонтекстноеМеню + 668 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + Группа13ExtendedTooltip + 843 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаОтборДетальный + 593 + + Декорация22 + 594 + true + true + + true + + + Декорация22ExtendedTooltip + 847 + Label + true + true + + Left + + + + Декорация22КонтекстноеМеню + 595 + true + + Label + 3 + true + true + + Left + + + + Декорация23 + 596 + + <key>ru</key> + <value>С отбором:</value> + + true + true + + true + + + Декорация23ExtendedTooltip + 848 + Label + true + true + + Left + + + + Декорация23КонтекстноеМеню + 597 + true + + Label + true + true + + Left + + + + Группа10 + 558 + + ДополнениеВыгрузкиДетальныйОтбор + 650 + true + true + + true + + + ДополнениеВыгрузкиДетальныйОтборExtendedTooltip + 850 + Label + true + true + + Left + + + Hyperlink + Form.Command.ДополнениеВыгрузкиДетальныйОтбор + Normal + Auto + true + true + UserCmds + Auto + + + ДополнениеВыгрузкиОчисткаДетальногоОтбора + 561 + true + true + + true + + + ДополнениеВыгрузкиОчисткаДетальногоОтбораExtendedTooltip + 851 + Label + true + true + + Left + + + Hyperlink + Form.Command.ДополнениеВыгрузкиОчисткаДетальногоОтбора + Normal + Picture + 2 + true + 1 + true + UserCmds + Auto + + true + true + + true + + true + + Группа10ExtendedTooltip + 849 Label true true @@ -4529,89 +3988,22 @@ Auto - - ДополнениеВыгрузкиОтборПоСценариюУзла - 642 - true - true - - true - - - ДополнениеВыгрузкиОтборПоСценариюУзлаExtendedTooltip - 863 - Label - true - true - - Left - - - Hyperlink - Form.Command.ДополнениеВыгрузкиОтборПоСценариюУзла - Normal - Auto - true - true - UserCmds - Auto - - - ДополнениеВыгрузкиПредставлениеОтбораСценарияУзла - 655 - true - true - - true - - - ДополнениеВыгрузки.ПредставлениеОтбораСценарияУзла - - None - - ДополнениеВыгрузкиПредставлениеОтбораСценарияУзлаExtendedTooltip - 864 - Label - true - true - - Left - - - - ДополнениеВыгрузкиПредставлениеОтбораСценарияУзлаКонтекстноеМеню - 656 - true - - InputField - Enter - true - Left - true - - 50 - true - 5 - true - false - true - true - true - true - - Style.FormBackColor - - Normal - - true true true + + <key>ru</key> + <value>Группа отбор детальный</value> + + + ru + Группа отбор детальный + - Группа15ExtendedTooltip - 857 + ГруппаОтборДетальныйExtendedTooltip + 846 Label true true @@ -4621,7 +4013,6 @@ UsualGroup - Vertical Auto true true @@ -4636,15 +4027,15 @@ <key>ru</key> - <value>Группа отбор настраиваемый</value> + <value>Типовой вариант дополнения произвольный</value> ru - Группа отбор настраиваемый + Типовой вариант дополнения произвольный - ГруппаОтборНастраиваемыйExtendedTooltip - 855 + ТиповойВариантДополненияПроизвольныйExtendedTooltip + 841 Label true true @@ -4654,6 +4045,7 @@ UsualGroup + Vertical Auto true true @@ -4661,6 +4053,482 @@ Auto + + НастраиваемыйВариантДополнения + 631 + + ДополнениеВыгрузкиВариантВыгрузкиУзел + 632 + true + true + + true + + + ДополнениеВыгрузки.ВариантВыгрузки + + None + + OnChange + ДополнениеВыгрузкиВариантВыгрузкиПриИзменении + + + ДополнениеВыгрузкиВариантВыгрузкиУзелExtendedTooltip + 853 + Label + true + true + + Left + + + + ДополнениеВыгрузкиВариантВыгрузкиУзелКонтекстноеМеню + 633 + true + + RadioButtonField + Top + Enter + true + Left + true + + 1 + + + ru + Данные по настройкам узла: + + + 3 + + + Vertical + + + + ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокой + 653 + + <key>ru</key> + <value>Дополнение выгрузки вариант выгрузки узел строкой</value> + + true + + true + + + ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокойExtendedTooltip + 854 + Label + true + true + + Left + + + + ДополнениеВыгрузкиВариантВыгрузкиУзелСтрокойКонтекстноеМеню + 654 + true + + Label + true + true + + Left + + + + ГруппаОтборНастраиваемый + 639 + + ДекорацияОтступГруппыНастраиваемый + 640 + true + true + + true + + + ДекорацияОтступГруппыНастраиваемыйExtendedTooltip + 856 + Label + true + true + + Left + + + + ДекорацияОтступГруппыНастраиваемыйКонтекстноеМеню + 641 + true + + Label + 3 + true + true + + Left + + + + Группа15 + 643 + + НастраиваемыйВариантДополненияПояснение + 675 + + <key>ru</key> + <value>Настраиваемый вариант дополнения пояснение</value> + + true + true + + true + + + НастраиваемыйВариантДополненияПояснениеExtendedTooltip + 858 + Label + true + true + + Left + + + + НастраиваемыйВариантДополненияПояснениеКонтекстноеМеню + 676 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + + Группа6 + 646 + + ГруппаПериодВыгрузкиСценарийУзла + 634 + + Декорация16 + 635 + + <key>ru</key> + <value>За период:</value> + + true + true + + true + + + Декорация16ExtendedTooltip + 861 + Label + true + true + + Left + + + + Декорация16КонтекстноеМеню + 636 + true + + Label + true + true + + Left + + + + ДополнениеВыгрузкиПериодОтбораСценарияУзла + 648 + true + true + + true + + + ДополнениеВыгрузки.ПериодОтбораСценарияУзла + + None + + OnChange + ДополнениеВыгрузкиПериодОтбораСценарияУзлаПриИзменении + + + ДополнениеВыгрузкиПериодОтбораСценарияУзлаExtendedTooltip + 862 + Label + true + true + + Left + + + + ДополнениеВыгрузкиПериодОтбораСценарияУзлаКонтекстноеМеню + 649 + true + + InputField + Enter + true + Left + true + + + Clearing + ДополнениеВыгрузкиПериодОтбораСценарияУзлаОчистка + + 29 + true + true + false + true + false + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа период выгрузки сценарий узла</value> + + + ru + Группа период выгрузки сценарий узла + + false + + ГруппаПериодВыгрузкиСценарийУзлаExtendedTooltip + 860 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + Группа6ExtendedTooltip + 859 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ДополнениеВыгрузкиОтборПоСценариюУзла + 642 + true + true + + true + + + ДополнениеВыгрузкиОтборПоСценариюУзлаExtendedTooltip + 863 + Label + true + true + + Left + + + Hyperlink + Form.Command.ДополнениеВыгрузкиОтборПоСценариюУзла + Normal + Auto + true + true + UserCmds + Auto + + + ДополнениеВыгрузкиПредставлениеОтбораСценарияУзла + 655 + true + true + + true + + + ДополнениеВыгрузки.ПредставлениеОтбораСценарияУзла + + None + + ДополнениеВыгрузкиПредставлениеОтбораСценарияУзлаExtendedTooltip + 864 + Label + true + true + + Left + + + + ДополнениеВыгрузкиПредставлениеОтбораСценарияУзлаКонтекстноеМеню + 656 + true + + InputField + Enter + true + Left + true + + 50 + true + 5 + true + false + true + true + true + true + + Style.FormBackColor + + Normal + + + true + true + + true + + + Группа15ExtendedTooltip + 857 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа отбор настраиваемый</value> + + + ru + Группа отбор настраиваемый + + + ГруппаОтборНастраиваемыйExtendedTooltip + 855 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + + true + + + <key>ru</key> + <value>Настраиваемый вариант дополнения</value> + + + ru + Настраиваемый вариант дополнения + + + НастраиваемыйВариантДополненияExtendedTooltip + 852 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + true true @@ -4668,15 +4536,15 @@ <key>ru</key> - <value>Настраиваемый вариант дополнения</value> + <value>Варианты дополнения выгрузки</value> ru - Настраиваемый вариант дополнения + Варианты дополнения выгрузки - НастраиваемыйВариантДополненияExtendedTooltip - 852 + ВариантыДополненияВыгрузкиExtendedTooltip + 822 Label true true @@ -4688,7 +4556,6 @@ Vertical Auto - NormalSeparation true true Auto @@ -4702,15 +4569,15 @@ <key>ru</key> - <value>Варианты дополнения выгрузки</value> + <value>Данные для отправки</value> ru - Варианты дополнения выгрузки + Заголовок страницы дополнения выгрузки - ВариантыДополненияВыгрузкиExtendedTooltip - 822 + ЗаголовокСтраницыДополненияВыгрузкиРасширеннаяПодсказка + 916 Label true true @@ -4722,43 +4589,14 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto - - Декорация19 - 658 - true - true - - true - - - Декорация19ExtendedTooltip - 865 - Label - true - true - - Left - - - - Декорация19КонтекстноеМеню - 659 - true - - Label - true - true - true - - Left - - ГруппаЗагрузкаТиповыхВариантовНастроек 563 @@ -4908,6 +4746,7 @@ Vertical Auto + NormalSeparation true true Auto @@ -4943,9 +4782,9 @@ Label true - 3 + 1 true - true + false Left Bottom @@ -4964,6 +4803,7 @@ ru Страница вопрос о составе выгрузки + true СтраницаВопросОСоставеВыгрузкиExtendedTooltip 820 @@ -4983,51 +4823,8 @@ СтраницаОжиданияАнализаДанных 454 - - Заголовок4 - 696 - - <key>ru</key> - <value>Анализ данных</value> - - true - true - - true - - - Заголовок4ExtendedTooltip - 873 - Label - true - true - - Left - - - - Заголовок4КонтекстноеМеню - 697 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - ГруппировкаСообщения2 + ЗаголовокСтраницыОжиданияАнализаДанных 698 ГруппаКартинки2 @@ -5182,12 +4979,16 @@ true + + <key>ru</key> + <value>Анализ данных</value> + ru Группировка сообщения - ГруппировкаСообщения2ExtendedTooltip + ЗаголовокСтраницыОжиданияАнализаДанныхРасширеннаяПодсказка 874 Label true @@ -5202,6 +5003,7 @@ NormalSeparation true true + auto Auto Auto @@ -5238,51 +5040,8 @@ СтраницаОжиданияСинхронизацииДанных 677 - - Заголовок5 - 687 - - <key>ru</key> - <value>Синхронизация данных</value> - - true - true - - true - - - Заголовок5ExtendedTooltip - 880 - Label - true - true - - Left - - - - Заголовок5КонтекстноеМеню - 688 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - - - ГруппировкаСообщения3 + ЗаголовокСтраницыОжиданияСинхронизацииДанных 689 ГруппаКартинки3 @@ -5437,12 +5196,16 @@ true + + <key>ru</key> + <value>Синхронизация данных</value> + ru Группировка сообщения - ГруппировкаСообщения3ExtendedTooltip + ЗаголовокСтраницыОжиданияСинхронизацииДанныхРасширеннаяПодсказка 881 Label true @@ -5457,6 +5220,7 @@ NormalSeparation true true + auto Auto Auto @@ -5490,6 +5254,92 @@ auto + + СтраницаОшибкаРасхожденияВерсий + 917 + + КартинкаОшибкаРасхожденияВерсий + 919 + true + true + + true + + + КартинкаОшибкаРасхожденияВерсийРасширеннаяПодсказка + 921 + Label + true + true + + Left + + + + КартинкаОшибкаРасхожденияВерсийКонтекстноеМеню + 920 + true + + 4 + true + 2 + true + + + CommonPicture.Предупреждение32 + + + + + ДекорацияОшибкаРасхожденияВерсий + 922 + true + true + + true + + + ДекорацияОшибкаРасхожденияВерсийРасширеннаяПодсказка + 924 + Label + true + true + + Left + + + + ДекорацияОшибкаРасхожденияВерсийКонтекстноеМеню + 923 + true + + Label + true + true + + Left + + + true + true + + true + + + СтраницаОшибкаРасхожденияВерсийРасширеннаяПодсказка + 918 + Label + true + true + + Left + + + Page + + auto + + true true @@ -5994,6 +5844,113 @@ auto + + СтраницаНавигацииОшибкаРасхожденияВерсий + 925 + + КоманднаяПанель5 + 927 + + ПродолжитьСинхронизацию + 929 + true + true + + true + + + ПродолжитьСинхронизациюРасширеннаяПодсказка + 930 + Label + true + true + + Left + + + Form.Command.ПродолжитьСинхронизацию + Normal + Auto + true + true + UserCmds + Auto + + + КомандаОтмена + 931 + true + true + + true + + + КомандаОтменаРасширеннаяПодсказка + 932 + Label + true + true + + Left + + + Form.Command.КомандаОтмена + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + КоманднаяПанель5РасширеннаяПодсказка + 928 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Страница навигации ошибка расхождения версий</value> + + + ru + Страница навигации ошибка расхождения версий + + + СтраницаНавигацииОшибкаРасхожденияВерсийРасширеннаяПодсказка + 926 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -6094,6 +6051,7 @@ Retry SaveValues Yes + 70 LockOwner true true @@ -7307,6 +7265,34 @@ true + + ПроверятьРасхождениеВерсий + + <key>ru</key> + <value>Проверять расхождение версий</value> + + 42 + + Boolean + + + true + + + true + + + + ОшибкаРасхожденияВерсийПриПолученииДанных + 43 + + + true + + + true + + ОбновитьИнформациюСопоставленияПолностью @@ -7337,7 +7323,7 @@ <name>ОткрытьФормуСопоставления</name> <title> <key>ru</key> - <value>Выполнить сопоставление</value> + <value>Сопоставить</value> 1 @@ -7347,6 +7333,7 @@ true + F2 StdPicture.ChooseValue @@ -7718,6 +7705,28 @@ Auto Auto + + ПродолжитьСинхронизацию + + <key>ru</key> + <value>Продолжить</value> + + 2 + + ru + Продолжить синхронизацию + + + true + + + + ПродолжитьСинхронизацию + + + Auto + Auto + diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl index c0e954a35..a69dbd331 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Forms/Форма/Module.bsl @@ -20,9 +20,10 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Перем КодУзлаИнформационнойБазы; + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -91,6 +92,7 @@ ПолучитьДанные = Истина; ОтправитьДанные = Истина; + ПроверятьРасхождениеВерсий = Истина; Если Параметры.Свойство("ПолучитьДанные") Тогда ПолучитьДанные = Параметры.ПолучитьДанные; @@ -115,6 +117,17 @@ ПропускатьСтраницуТранспорта = ДополнениеВыгрузкиРасширенныйРежим Или ОбщегоНазначенияКлиентСервер.ЭтоВебКлиент(); ОбновитьСтраницыНастроекТранспорта(); + + // Различие интерфейсов + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницы); + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницыИнформацииСтатистики); + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницыОкончанияСопоставления); + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницыДополненияВыгрузки); + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницыОжиданияАнализаДанных); + УстановитьШрифтЗаголовкаГруппы(Элементы.ЗаголовокСтраницыОжиданияСинхронизацииДанных); + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -309,6 +322,14 @@ ОткрытьФорму("Справочник.СценарииОбменовДанными.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект); КонецПроцедуры +&НаКлиенте +Процедура ПродолжитьСинхронизацию(Команда) + + ПорядковыйНомерПерехода = ПорядковыйНомерПерехода - 1; + УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода + 1); + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Страница СтраницаНачала @@ -444,12 +465,12 @@ ПараметрыФормы.Вставить("ЭтоУдалениеОбъекта", ТекущиеДанные.ЭтоУдалениеОбъекта); ПараметрыФормы.Вставить("ДанныеУспешноЗагружены", ТекущиеДанные.ДанныеУспешноЗагружены); ПараметрыФормы.Вставить("Ключ", ТекущиеДанные.Ключ); + ПараметрыФормы.Вставить("Синоним", ТекущиеДанные.Синоним); - ПараметрыФормы.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); - ПараметрыФормы.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена); + ПараметрыФормы.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); + ПараметрыФормы.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена); ОткрытьФорму("Обработка.СопоставлениеОбъектовИнформационныхБаз.Форма", ПараметрыФормы, ЭтотОбъект); - КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// @@ -528,6 +549,13 @@ #Область СлужебныеПроцедурыИФункции +&НаСервере +Процедура УстановитьШрифтЗаголовкаГруппы(Знач ЭлементГруппы) + + ЭлементГруппы.ШрифтЗаголовка = Новый Шрифт(ШрифтыСтиля.КрупныйШрифтТекста, , , Истина); + +КонецПроцедуры + &НаКлиенте Процедура НастроитьПараметрыТранспортаСообщенийОбменаЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт @@ -649,10 +677,16 @@ Файл = Новый Файл(ИмяКаталога); Если Не Файл.Существует() Тогда - ТекстПредупреждения = НСтр("ru = 'Каталог ""%1"" не существует или к нему нет доступа.'"); + ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Каталог ""%1"" не существует или к нему нет доступа.'"), + ИмяКаталога + ); ИначеЕсли Не Файл.ЭтоКаталог() Тогда - ТекстПредупреждения = НСтр("ru = '""%1"" является файлом, а не каталогом.'"); + ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = '""%1"" является файлом, а не каталогом.'"), + ИмяКаталога + ); КонецЕсли; @@ -826,9 +860,10 @@ УстановитьВидимостьКнопкиОткрытияКаталогаОбмена(); - Элементы.WSПароль.Видимость = Ложь; - Элементы.WSЗапомнитьПароль.Видимость = Ложь; - + Элементы.WSПароль.Видимость = Ложь; + Элементы.НадписьWSПароль.Заголовок = ""; + Элементы.WSЗапомнитьПароль.Видимость = Ложь; + Если ОбменЧерезВебСервис Тогда // Получаем настройки подключения к веб-сервису корреспондента. @@ -1031,6 +1066,18 @@ КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура ОбработатьОшибкуРасхожденияВерсий() + + Элементы.ПанельОсновная.ТекущаяСтраница = Элементы.СтраницаОшибкаРасхожденияВерсий; + Элементы.ПанельНавигации.ТекущаяСтраница = Элементы.СтраницаНавигацииОшибкаРасхожденияВерсий; + Элементы.ПродолжитьСинхронизацию.КнопкаПоУмолчанию = Истина; + Элементы.ДекорацияОшибкаРасхожденияВерсий.Заголовок = ОшибкаРасхожденияВерсийПриПолученииДанных.ТекстОшибки; + ОшибкаРасхожденияВерсийПриПолученииДанных = Неопределено; + ПроверятьРасхождениеВерсий = Ложь; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Обработчики ожидания @@ -1119,6 +1166,14 @@ Если Отказ Тогда + Если ОшибкаРасхожденияВерсийПриПолученииДанных <> Неопределено + И ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + + ОбработатьОшибкуРасхожденияВерсий(); + Возврат; + + КонецЕсли; + УстановитьПорядковыйНомерПерехода(ПорядковыйНомерПерехода - 1); Возврат; @@ -1234,6 +1289,26 @@ //////////////////////////////////////////////////////////////////////////////// // Внутренние процедуры и функции +&НаСервере +Процедура УстановитьУсловноеОформление() + + УсловноеОформление.Элементы.Очистить(); + + // Пустое значение для групп элементов сравнения + Элемент = УсловноеОформление.Элементы.Добавить(); + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектов.Имя); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДеревоИнформацииСтатистики.ТипОбъектаСтрокой"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + ОтборЭлемента.ПравоеЗначение = Истина; + + Элемент.Оформление.УстановитьЗначениеПараметра("Текст", ""); + +КонецПроцедуры + &НаКлиенте Процедура ИзменитьПорядковыйНомерПерехода(Итератор) @@ -1699,6 +1774,11 @@ АнализДанных(); + Если ОшибкаРасхожденияВерсийПриПолученииДанных <> Неопределено + И ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + Отказ = Истина; + КонецЕсли; + КонецФункции &НаСервере @@ -1716,8 +1796,8 @@ РезультатАнализа = Обработки.ПомощникИнтерактивногоОбменаДанными.РезультатАвтоматическогоСопоставленияДанных( Объект.УзелИнформационнойБазы, Объект.ИмяФайлаСообщенияОбмена, - Объект.ИмяВременногоКаталогаСообщенийОбмена - ); + Объект.ИмяВременногоКаталогаСообщенийОбмена, + ПроверятьРасхождениеВерсий); ПослеАнализаДанных(РезультатАнализа); @@ -1727,6 +1807,7 @@ ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); ПараметрыМетода.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена); ПараметрыМетода.Вставить("ИмяВременногоКаталогаСообщенийОбмена", Объект.ИмяВременногоКаталогаСообщенийОбмена); + ПараметрыМетода.Вставить("ПроверятьРасхождениеВерсий", ПроверятьРасхождениеВерсий); Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне( УникальныйИдентификатор, @@ -1750,11 +1831,11 @@ КонецЕсли; Исключение + ПропуститьПолучениеДанных = Истина; ЗаписатьОшибкуВЖурналРегистрации(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), - НСтр("ru = 'Помощник интерактивного обмена данными.Анализ данных'") - ); - Возврат; + НСтр("ru = 'Помощник интерактивного обмена данными.Анализ данных'")); + КонецПопытки; КонецПроцедуры @@ -1823,14 +1904,20 @@ &НаСервере Процедура ПослеАнализаДанных(Знач РезультатАнализа) - ВсеДанныеСопоставлены = РезультатАнализа.ВсеДанныеСопоставлены; - СтатистикаПустая = РезультатАнализа.СтатистикаПустая; - Объект.ИнформацияСтатистики.Загрузить(РезультатАнализа.ИнформацияСтатистики); - Объект.ИнформацияСтатистики.Сортировать("Представление"); - - ПолучитьДеревоИнформацииСтатистики(Объект.ИнформацияСтатистики.Выгрузить()); - - УстановитьВидимостьГруппыДополнительнойИнформации(); + Если РезультатАнализа.Свойство("ТекстОшибки") Тогда + ОшибкаРасхожденияВерсийПриПолученииДанных = РезультатАнализа; + Иначе + + ВсеДанныеСопоставлены = РезультатАнализа.ВсеДанныеСопоставлены; + СтатистикаПустая = РезультатАнализа.СтатистикаПустая; + Объект.ИнформацияСтатистики.Загрузить(РезультатАнализа.ИнформацияСтатистики); + Объект.ИнформацияСтатистики.Сортировать("Представление"); + + ПолучитьДеревоИнформацииСтатистики(Объект.ИнформацияСтатистики.Выгрузить()); + + УстановитьВидимостьГруппыДополнительнойИнформации(); + + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Help/ru.html b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Help/ru.html index df7e7d5d8..9ae8ac2d3 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Help/ru.html +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

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

                                    diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ManagerModule.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ManagerModule.bsl index 44e5df28d..ce1134d6c 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ManagerModule.bsl +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ManagerModule.bsl @@ -1,20 +1,29 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +#Область СлужебныйПрограммныйИнтерфейс + +// Для внутреннего использования +// Процедура ВыполнитьАвтоматическоеСопоставлениеДанных(Параметры, АдресВременногоХранилища) Экспорт ПоместитьВоВременноеХранилище( - РезультатАвтоматическогоСопоставленияДанных(Параметры.УзелИнформационнойБазы, Параметры.ИмяФайлаСообщенияОбмена, Параметры.ИмяВременногоКаталогаСообщенийОбмена), - АдресВременногоХранилища - ); + РезультатАвтоматическогоСопоставленияДанных(Параметры.УзелИнформационнойБазы, Параметры.ИмяФайлаСообщенияОбмена, Параметры.ИмяВременногоКаталогаСообщенийОбмена, + Параметры.ПроверятьРасхождениеВерсий), АдресВременногоХранилища); + КонецПроцедуры -Функция РезультатАвтоматическогоСопоставленияДанных(Знач Корреспондент, Знач ИмяФайлаСообщенияОбмена, Знач ИмяВременногоКаталогаСообщенийОбмена) Экспорт +// Для внутреннего использования +// +Функция РезультатАвтоматическогоСопоставленияДанных(Знач Корреспондент, Знач ИмяФайлаСообщенияОбмена, + Знач ИмяВременногоКаталогаСообщенийОбмена, ПроверятьРасхождениеВерсий) Экспорт // Выполняем автоматическое сопоставление данных, полученных от корреспондента // Получаем статистику сопоставления УстановитьПривилегированныйРежим(Истина); + ОбменДаннымиСервер.ИнициализироватьПараметрыПроверкиРасхожденияВерсий(ПроверятьРасхождениеВерсий); + ПомощникИнтерактивногоОбменаДанными = Обработки.ПомощникИнтерактивногоОбменаДанными.Создать(); ПомощникИнтерактивногоОбменаДанными.УзелИнформационнойБазы = Корреспондент; ПомощникИнтерактивногоОбменаДанными.ИмяФайлаСообщенияОбмена = ИмяФайлаСообщенияОбмена; @@ -26,9 +35,13 @@ Отказ = Ложь; ПомощникИнтерактивногоОбменаДанными.ВыполнитьАнализСообщенияОбмена(Отказ); Если Отказ Тогда - ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Возникли ошибки при анализе сообщения обмена для корреспондента ""%1"".'"), - Строка(Корреспондент)); + Если ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных.ЕстьОшибка Тогда + Возврат ПараметрыСеанса.ОшибкаРасхожденияВерсийПриПолученииДанных; + Иначе + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Возникли ошибки при анализе сообщения обмена для корреспондента ""%1"".'"), + Строка(Корреспондент)); + КонецЕсли; КонецЕсли; // Выполняем автоматическое сопоставление и получаем статистику сопоставления @@ -50,6 +63,8 @@ Возврат Результат; КонецФункции +// Для внутреннего использования +// Процедура ВыполнитьЗагрузкуДанных(Параметры, АдресВременногоХранилища) Экспорт ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСтроку( @@ -59,10 +74,14 @@ ); КонецПроцедуры +// Для внутреннего использования +// Функция ВсеДанныеСопоставлены(ИнформацияСтатистики) Экспорт Возврат (ИнформацияСтатистики.НайтиСтроки(Новый Структура("ИндексКартинки", 1)).Количество() = 0); КонецФункции +#КонецОбласти + #КонецЕсли diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl index 7575b486d..cf6208ee1 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ObjectModule.bsl @@ -8,10 +8,10 @@ // Получает статистику сопоставления объектов для строк таблицы ИнформацияСтатистики // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры -// ИндексыСтрок (необязательный) - Массив - индексы строк таблицы ИнформацияСтатистики -// для которых необходимо получить информацию статистики сопоставления. -// Если не указан, то операция будет выполнена для всех строк таблицы. +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// ИндексыСтрок - Массив - индексы строк таблицы ИнформацияСтатистики +// для которых необходимо получить информацию статистики сопоставления. +// Если не указан, то операция будет выполнена для всех строк таблицы. // Процедура ПолучитьСтатистикуСопоставленияОбъектовПоСтроке(Отказ, ИндексыСтрок = Неопределено) Экспорт @@ -79,10 +79,10 @@ // после автоматического сопоставления // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры -// ИндексыСтрок (необязательный) - Массив - индексы строк таблицы ИнформацияСтатистики -// для которых необходимо выполнить автоматическое сопоставление и получить информацию статистики. -// Если не указан, то операция будет выполнена для всех строк таблицы. +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// ИндексыСтрок - Массив - индексы строк таблицы ИнформацияСтатистики +// для которых необходимо выполнить автоматическое сопоставление и получить информацию статистики. +// Если не указан, то операция будет выполнена для всех строк таблицы. // Процедура ВыполнитьАвтоматическоеСопоставлениеПоУмолчаниюИПолучитьСтатистикуСопоставления(Отказ, ИндексыСтрок = Неопределено) Экспорт @@ -158,10 +158,10 @@ // Повторная загрузка этого сообщения будет отменена. // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры -// ИндексыСтрок (необязательный) - Массив - индексы строк таблицы ИнформацияСтатистики -// для которых необходимо выполнить загрузку данных. -// Если не указан, то операция будет выполнена для всех строк таблицы. +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// ИндексыСтрок - Массив - индексы строк таблицы ИнформацияСтатистики +// для которых необходимо выполнить загрузку данных. +// Если не указан, то операция будет выполнена для всех строк таблицы. // Процедура ВыполнитьЗагрузкуДанных(Отказ, ИндексыСтрок = Неопределено) Экспорт @@ -216,9 +216,9 @@ // (ftp, e-mail, сетевой каталог) во временный каталог пользователя операционной системы // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры -// ИдентификаторФайлаПакетаДанных - ДатаВремя - дата изменения сообщения обмена; -// выступает в качестве идентификатора файла для подсистемы обмена данными +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// ИдентификаторФайлаПакетаДанных - Дата - дата изменения сообщения обмена; +// выступает в качестве идентификатора файла для подсистемы обмена данными // Процедура ПолучитьСообщениеОбменаВоВременныйКаталог( Отказ, @@ -290,7 +290,7 @@ // Выполняет анализ входящего сообщения обмена. Заполняет данными таблицу ИнформацияСтатистики // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры. +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры. // Процедура ВыполнитьАнализСообщенияОбмена(Отказ) Экспорт @@ -308,7 +308,8 @@ Возврат; КонецЕсли; - ОбработкаОбменаДанными.ВыполнитьАнализСообщенияОбмена(); + ПараметрыАнализа = Новый Структура("СобиратьСтатистикуКлассификаторов", Истина); + ОбработкаОбменаДанными.ВыполнитьАнализСообщенияОбмена(ПараметрыАнализа); Если ОбработкаОбменаДанными.ФлагОшибки() Тогда Отказ = Истина; @@ -317,7 +318,7 @@ ИнформацияСтатистики.Загрузить(ОбработкаОбменаДанными.ТаблицаДанныхЗаголовкаПакета()); - // дополняем таблицу статистики служебными данными + // Формирует таблицу статистики со служебными данными ДополнитьТаблицуСтатистики(Отказ); // определяем строки таблицы с признаком "ОдинКоМногим" @@ -354,7 +355,10 @@ // Переменная ОбработкаОбменаДанными содержит (кэширует) ранее загруженные таблицы // // Параметры: -// Нет. +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// ИндексыСтрок - Массив - индексы строк таблицы ИнформацияСтатистики +// для которых необходимо выполнить загрузку данных. +// Если не указан, то операция будет выполнена для всех строк таблицы. // Процедура ВыполнитьЗагрузкуДанныхИзСообщенияОбменаВКэш(Отказ, ИндексыСтрок) @@ -426,21 +430,17 @@ Попытка Тип = Тип(СтрокаТаблицы.ТипОбъектаСтрокой); Исключение - СтрокаСообщения = НСтр("ru = 'Ошибка: тип ""%1"" не определен.'"); СтрокаСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщения, СтрокаТаблицы.ТипОбъектаСтрокой); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения,,,, Отказ); Продолжить; - КонецПопытки; МетаданныеОбъекта = Метаданные.НайтиПоТипу(Тип); + СтрокаТаблицы.Представление = МетаданныеОбъекта.Представление(); СтрокаТаблицы.ИмяТаблицыПриемника = МетаданныеОбъекта.ПолноеИмя(); - СтрокаТаблицы.Представление = МетаданныеОбъекта.Представление(); - - СтрокаТаблицы.Ключ = Строка(Новый УникальныйИдентификатор()); - + СтрокаТаблицы.Ключ = Строка(Новый УникальныйИдентификатор()); КонецЦикла; КонецПроцедуры diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ПомощникИнтерактивногоОбменаДанными.mdo b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ПомощникИнтерактивногоОбменаДанными.mdo index 2a081f3ce..a374def84 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ПомощникИнтерактивногоОбменаДанными.mdo +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДанными/ПомощникИнтерактивногоОбменаДанными.mdo @@ -10,6 +10,7 @@ Помощник интерактивной синхронизации данных DataProcessor.ПомощникИнтерактивногоОбменаДанными.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса/ManagerModule.bsl b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса/ManagerModule.bsl index 9a42c2750..871676a75 100644 --- a/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса/ManagerModule.bsl +++ b/SSL/src/DataProcessors/ПомощникИнтерактивногоОбменаДаннымиВМоделиСервиса/ManagerModule.bsl @@ -79,7 +79,7 @@ Исключение ОтменитьТранзакцию(); - ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииСинхронизацииДанных(),,,, + ЗаписьЖурналаРегистрации(ОбменДаннымиВМоделиСервиса.СобытиеЖурналаРегистрацииСинхронизацииДанных(), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) ); diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Form.form b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Form.form index f3d41fe9b..e7503f13c 100644 --- a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Form.form @@ -2,7 +2,7 @@ <key>ru</key> - <value>Настройка синхронизации данных с "<НаименованиеКорреспондента>"</value> + <value>Настройка синхронизации данных с приложением в Интернете</value> ПанельОсновная @@ -10,180 +10,24 @@ Начало 95 - - Заголовок1 - 96 - - <key>ru</key> - <value>Настройка синхронизации данных (шаг 1 из 4)</value> - - true - true - - true - - - Заголовок1ExtendedTooltip - 279 - Label - true - true - - Left - - - - Заголовок1КонтекстноеМеню - 97 - true - - Label - true - 2 - true - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - Картинка - 98 - - <key>ru</key> - <value>Картинка</value> - - true - true - - true - - - КартинкаExtendedTooltip - 280 - Label - true - true - - Left - - - - КартинкаКонтекстноеМеню - 99 - true - - 65 - true - 9 - true - - - - - - ОписаниеСинхронизацииДанных - 267 - - <key>ru</key> - <value>Информация о синхронизации данных с <Наименование корреспондента></value> - - true - true - - true - - - ОписаниеСинхронизацииДанныхExtendedTooltip - 281 - Label - true - true - - Left - - - Hyperlink - Form.Command.ОписаниеСинхронизацииДанных - Normal - Auto - true - true - UserCmds - Auto - - ГруппаОписаниеНастроекВыгрузкиДанных - 276 - - ОписаниеНастроекВыгрузкиДанных - 159 + ГруппаНачало + 437 + + ОписаниеСинхронизацииДанных + 267 <key>ru</key> - <value>Правила синхронизации данных</value> + <value>Информация о синхронизации данных с <Наименование корреспондента></value> true true true - - ОписаниеНастроекВыгрузкиДанных - - ОписаниеНастроекВыгрузкиДанныхExtendedTooltip - 283 - Label - true - true - - Left - - - - ОписаниеНастроекВыгрузкиДанныхКонтекстноеМеню - 160 - true - - InputField - true - Enter - true - Left - true - - true - 5 - true - true - true - true - true - true - true - Normal - - - - ВыполнитьНастройкуВыгрузкиДанных - 158 - true - true - - true - - - ВыполнитьНастройкуВыгрузкиДанныхExtendedTooltip - 284 + ОписаниеСинхронизацииДанныхExtendedTooltip + 281 Label true true @@ -192,7 +36,7 @@ Hyperlink - Form.Command.ВыполнитьНастройкуВыгрузкиДанных + Form.Command.ОписаниеСинхронизацииДанных Normal Auto true @@ -200,6 +44,257 @@ UserCmds Auto + + ГруппаОписаниеНастроекВыгрузкиДанных + 276 + + ОписаниеНастроекВыгрузкиДанных + 159 + + <key>ru</key> + <value>Правила синхронизации данных</value> + + true + true + + true + + + ОписаниеНастроекВыгрузкиДанных + + + ОписаниеНастроекВыгрузкиДанныхExtendedTooltip + 283 + Label + true + true + + Left + + + + ОписаниеНастроекВыгрузкиДанныхКонтекстноеМеню + 160 + true + + InputField + true + Enter + true + Left + true + + true + 5 + true + true + true + true + true + true + true + Normal + + + + ВыполнитьНастройкуВыгрузкиДанных + 158 + true + true + + true + + + ВыполнитьНастройкуВыгрузкиДанныхExtendedTooltip + 284 + Label + true + true + + Left + + + Hyperlink + Form.Command.ВыполнитьНастройкуВыгрузкиДанных + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа описание настроек выгрузки данных</value> + + + ГруппаОписаниеНастроекВыгрузкиДанныхExtendedTooltip + 282 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаРезервноеКопирование + 432 + + Декорация1 + 434 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 436 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 435 + true + + 2 + true + 1 + true + + + CommonPicture.Предупреждение + + + + + НадписьРезервноеКопирование + 429 + + <key>ru</key> + <value>Перед настройкой синхронизации рекомендуется создать резервную копию данных.</value> + + true + true + + true + + + НадписьРезервноеКопированиеРасширеннаяПодсказка + 431 + Label + true + true + + Left + + + + НадписьРезервноеКопированиеКонтекстноеМеню + 430 + true + + Label + true + true + + + URLProcessing + НадписьРезервноеКопированиеОбработкаНавигационнойСсылки + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа резервное копирование</value> + + + ru + Группа резервное копирование + + + ГруппаРезервноеКопированиеРасширеннаяПодсказка + 433 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + + НадписьДалее1 + 109 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для выполнения анализа данных.</value> + + true + true + + true + + + НадписьДалее1ExtendedTooltip + 285 + Label + true + true + + Left + + + + НадписьДалее1КонтекстноеМеню + 110 + true + + Label + true + true + true + + Left + Bottom + + true true @@ -207,11 +302,11 @@ <key>ru</key> - <value>Группа описание настроек выгрузки данных</value> + <value>Настройка синхронизации данных (шаг 1 из 4)</value> - ГруппаОписаниеНастроекВыгрузкиДанныхExtendedTooltip - 282 + ГруппаНачалоРасширеннаяПодсказка + 438 Label true true @@ -222,156 +317,15 @@ UsualGroup Vertical - Auto - true - true - Auto - Auto - - - - ГруппаРезервноеКопирование - 432 - - Декорация1 - 434 - true - true - - true - - - Декорация1РасширеннаяПодсказка - 436 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 435 - true - - 2 - true - 1 - true - - - CommonPicture.Предупреждение - - - - - НадписьРезервноеКопирование - 429 - - <key>ru</key> - <value>Перед настройкой синхронизации рекомендуется создать резервную копию данных.</value> - - true - true - - true - - - НадписьРезервноеКопированиеРасширеннаяПодсказка - 431 - Label - true - true - - Left - - - - НадписьРезервноеКопированиеКонтекстноеМеню - 430 - true - - Label - true - true - - - URLProcessing - НадписьРезервноеКопированиеОбработкаНавигационнойСсылки - - Left - - - true - true - - true - - - <key>ru</key> - <value>Группа резервное копирование</value> - - - ru - Группа резервное копирование - - - ГруппаРезервноеКопированиеРасширеннаяПодсказка - 433 - Label - true - true - - Left - - - UsualGroup - Auto NormalSeparation true true + auto Auto Auto - - НадписьДалее1 - 109 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для выполнения анализа данных.</value> - - true - true - - true - - - НадписьДалее1ExtendedTooltip - 285 - Label - true - true - - Left - - - - НадписьДалее1КонтекстноеМеню - 110 - true - - Label - true - true - true - - Left - Bottom - - true true @@ -400,50 +354,6 @@ ОжиданиеАнализаДанных 111 - - Заголовок4 - 112 - - <key>ru</key> - <value>Анализ данных</value> - - true - true - - true - - - Заголовок4ExtendedTooltip - 287 - Label - true - true - - Left - - - - Заголовок4КонтекстноеМеню - 113 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения 114 @@ -600,6 +510,10 @@ true + + <key>ru</key> + <value>Анализ данных</value> + ru Группировка сообщения @@ -620,6 +534,7 @@ NormalSeparation true true + auto Auto Auto @@ -652,21 +567,918 @@ СопоставлениеДанных 138 - - Заголовок3 - 139 + + ГруппаСопоставлениеДанных + 439 + + СтраницыСтатусаСопоставленияДанных + 219 + + СтатусСопоставленияЕстьНесопоставленныеДанные + 220 + + ПояснениеОНаличииНесопоставленныхОбъектов + 217 + + <key>ru</key> + <value>Учет ведется в обоих приложениях, поэтому следует выполнить сопоставление данных. +Это позволит избежать появления дублирующихся элементов справочников, которые независимо друг от друга +были введены в обоих приложениях, например, с одинаковыми наименованиями. +С помощью сопоставления можно указать, какие данные являются одинаковыми в двух приложениях.</value> + + true + true + + true + + + ПояснениеОНаличииНесопоставленныхОбъектовExtendedTooltip + 297 + Label + true + true + + Left + + + + ПояснениеОНаличииНесопоставленныхОбъектовКонтекстноеМеню + 218 + true + + Label + true + true + false + + Style.ПоясняющийТекст + + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Статус сопоставления есть несопоставленные данные</value> + + + ru + Статус сопоставления есть несопоставленные данные + + + СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip + 296 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтатусСопоставленияВсеДанныеСопоставлены + 235 + + Декорация3 + 238 + true + true + + true + + + Декорация3ExtendedTooltip + 299 + Label + true + true + + Left + + + + Декорация3КонтекстноеМеню + 239 + true + + 5 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ПояснениеПриСопоставленииВсехДанных + 236 + + <key>ru</key> + <value>Все данные сопоставлены. +Убедитесь, что автоматическое сопоставление данных выполнено правильно.</value> + + true + true + + true + + + ПояснениеПриСопоставленииВсехДанныхExtendedTooltip + 300 + Label + true + true + + Left + + + + ПояснениеПриСопоставленииВсехДанныхКонтекстноеМеню + 237 + true + + Label + true + 2 + true + false + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Статус сопоставления все данные сопоставлены</value> + + + ru + Статус сопоставления все данные сопоставлены + + + СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip + 298 + Label + true + true + + Left + + + Page + + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы статуса сопоставления данных</value> + + + ru + Страницы статуса сопоставления данных + + + СтраницыСтатусаСопоставленияДанныхExtendedTooltip + 295 + Label + true + true + + Left + + + Pages + + Auto + + + + ИнформацияСтатистики + 246 + true + true + + true + + + Объект.ИнформацияСтатистики + + None + + ИнформацияСтатистикиИндексКартинки + 272 + true + true + + true + + + Объект.ИнформацияСтатистики.ИндексКартинки + + None + + ru + Признак наличия несопоставленных данных + + + ИнформацияСтатистикиИндексКартинкиExtendedTooltip + 316 + Label + true + true + + Left + + + + ИнформацияСтатистикиИндексКартинкиКонтекстноеМеню + 273 + true + + PictureField + Auto + true + + CommonPicture.Информация + + Left + true + + true + true + true + true + + CommonPicture.СтатусыСопоставленияОбъектов + + + + 1 + + + + + ИнформацияСтатистикиПредставление + 249 + + <key>ru</key> + <value>Данные</value> + + true + true + + true + + + Объект.ИнформацияСтатистики.Представление + + + ИнформацияСтатистикиПредставлениеExtendedTooltip + 317 + Label + true + true + + Left + + + + ИнформацияСтатистикиПредставлениеКонтекстноеМеню + 250 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ИнформацияСтатистикиКоличествоОбъектовСопоставленных + 268 + true + true + + true + + + Объект.ИнформацияСтатистики.КоличествоОбъектовСопоставленных + + + ИнформацияСтатистикиКоличествоОбъектовСопоставленныхExtendedTooltip + 318 + Label + true + true + + Left + + + + ИнформацияСтатистикиКоличествоОбъектовСопоставленныхКонтекстноеМеню + 269 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ИнформацияСтатистикиКоличествоОбъектовНесопоставленных + 270 + true + true + + true + + + Объект.ИнформацияСтатистики.КоличествоОбъектовНесопоставленных + + + ИнформацияСтатистикиКоличествоОбъектовНесопоставленныхExtendedTooltip + 319 + Label + true + true + + Left + + + + ИнформацияСтатистикиКоличествоОбъектовНесопоставленныхКонтекстноеМеню + 271 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ИнформацияСтатистикиКоманднаяПанель + 248 + + ИнформацияСтатистикиВыполнитьСопоставлениеДанных + 253 + true + true + + true + + + ИнформацияСтатистикиВыполнитьСопоставлениеДанныхExtendedTooltip + 308 + Label + true + true + + Left + + + Form.Command.ВыполнитьСопоставлениеДанных + Normal + Auto + true + true + UserCmds + Auto + + + ИнформацияСтатистикиГруппа1 + 255 + + ИнформацияСтатистикиНайти + 256 + true + true + + true + + + ИнформацияСтатистикиНайтиExtendedTooltip + 310 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИнформацияСтатистикиОтменитьПоиск + 257 + true + true + + true + + + ИнформацияСтатистикиОтменитьПоискExtendedTooltip + 311 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + ИнформацияСтатистикиГруппа1ExtendedTooltip + 309 + Label + true + true + + Left + + + + + + ИнформацияСтатистикиГруппа2 + 258 + + ИнформацияСтатистикиВывестиСписок + 259 + true + true + + true + + + ИнформацияСтатистикиВывестиСписокExtendedTooltip + 313 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ИнформацияСтатистикиКопироватьВБуферОбмена + 260 + true + true + + true + + + ИнформацияСтатистикиКопироватьВБуферОбменаExtendedTooltip + 314 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + ИнформацияСтатистикиГруппа2ExtendedTooltip + 312 + Label + true + true + + Left + + + + + Left + + + Selection + ИнформацияСтатистикиВыбор + + + ИнформацияСтатистикиСтрокаПоиска + 446 + + ИнформацияСтатистикиСтрокаПоискаРасширеннаяПодсказка + 448 + Label + true + true + + Left + + + + ИнформацияСтатистикиСтрокаПоискаКонтекстноеМеню + 447 + true + + ИнформацияСтатистики + + true + + + + ИнформацияСтатистикиСостояниеПросмотра + 449 + + ИнформацияСтатистикиСостояниеПросмотраРасширеннаяПодсказка + 451 + Label + true + true + + Left + + + + ИнформацияСтатистикиСостояниеПросмотраКонтекстноеМеню + 450 + true + + ViewStatusAddition + ИнформацияСтатистики + + true + + + + ИнформацияСтатистикиУправлениеПоиском + 452 + + ИнформацияСтатистикиУправлениеПоискомРасширеннаяПодсказка + 454 + Label + true + true + + Left + + + + ИнформацияСтатистикиУправлениеПоискомКонтекстноеМеню + 453 + true + + SearchControlAddition + ИнформацияСтатистики + + true + + + + ИнформацияСтатистикиExtendedTooltip + 315 + Label + true + true + + Left + + + + ИнформацияСтатистикиКонтекстноеМеню + 247 + + ИнформацияСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанных + 254 + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанныхExtendedTooltip + 301 + Label + true + true + + Left + + + Form.Command.ВыполнитьСопоставлениеДанных + Normal + Auto + true + true + UserCmds + Auto + + + ИнформацияСтатистикиКонтекстноеМенюГруппа2 + 262 + + ИнформацияСтатистикиКонтекстноеМенюНайти + 263 + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюНайтиExtendedTooltip + 303 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ИнформацияСтатистикиКонтекстноеМенюОтменитьПоиск + 264 + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюОтменитьПоискExtendedTooltip + 304 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюГруппа2ExtendedTooltip + 302 + Label + true + true + + Left + + + + + + ИнформацияСтатистикиКонтекстноеМенюГруппа1 + 261 + + ИнформацияСтатистикиКонтекстноеМенюВывестиСписок + 265 + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюВывестиСписокExtendedTooltip + 306 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + ИнформацияСтатистикиКонтекстноеМенюКопироватьВБуферОбмена + 266 + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip + 307 + Label + true + true + + Left + + + Form.Item.ИнформацияСтатистики.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ИнформацияСтатистикиКонтекстноеМенюГруппа1ExtendedTooltip + 305 + Label + true + true + + Left + + + + + + HierarchicalList + true + true + true + true + Row +
                                    true
                                    + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + None + None + None + true + +
                                    + + НадписьДалее3 + 141 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для синхронизации данных.</value> + + true + true + + true + + + НадписьДалее3ExtendedTooltip + 320 + Label + true + true + + Left + + + + НадписьДалее3КонтекстноеМеню + 142 + true + + Label + true + 3 + true + + Left + Bottom + + + true + true + + true + <key>ru</key> <value>Сопоставление одинаковых данных (шаг 2 из 4)</value> - true - true - - true - - Заголовок3ExtendedTooltip - 294 + ГруппаСопоставлениеДанныхРасширеннаяПодсказка + 440 Label true true @@ -674,926 +1486,18 @@ Left - - Заголовок3КонтекстноеМеню - 140 - true - - Label - true - 2 - true - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - -
                                    - - СтраницыСтатусаСопоставленияДанных - 219 - - СтатусСопоставленияЕстьНесопоставленныеДанные - 220 - - ПояснениеОНаличииНесопоставленныхОбъектов - 217 - - <key>ru</key> - <value>Учет ведется в обоих приложениях, поэтому следует выполнить сопоставление данных. -Это позволит избежать появления дублирующихся элементов справочников, которые независимо друг от друга -были введены в обоих приложениях, например, с одинаковыми наименованиями. -С помощью сопоставления можно указать, какие данные являются одинаковыми в двух приложениях.</value> - - true - true - - true - - - ПояснениеОНаличииНесопоставленныхОбъектовExtendedTooltip - 297 - Label - true - true - - Left - - - - ПояснениеОНаличииНесопоставленныхОбъектовКонтекстноеМеню - 218 - true - - Label - true - true - false - - Style.ПоясняющийТекст - - - Left - Top - - - true - true - - true - - - <key>ru</key> - <value>Статус сопоставления есть несопоставленные данные</value> - - - ru - Статус сопоставления есть несопоставленные данные - - - СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip - 296 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтатусСопоставленияВсеДанныеСопоставлены - 235 - - Декорация3 - 238 - true - true - - true - - - Декорация3ExtendedTooltip - 299 - Label - true - true - - Left - - - - Декорация3КонтекстноеМеню - 239 - true - - 5 - true - 2 - true - - - CommonPicture.Информация32 - - - - - ПояснениеПриСопоставленииВсехДанных - 236 - - <key>ru</key> - <value>Все данные сопоставлены. -Убедитесь, что автоматическое сопоставление данных выполнено правильно.</value> - - true - true - - true - - - ПояснениеПриСопоставленииВсехДанныхExtendedTooltip - 300 - Label - true - true - - Left - - - - ПояснениеПриСопоставленииВсехДанныхКонтекстноеМеню - 237 - true - - Label - true - 2 - true - false - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Статус сопоставления все данные сопоставлены</value> - - - ru - Статус сопоставления все данные сопоставлены - - - СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip - 298 - Label - true - true - - Left - - - Page - - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы статуса сопоставления данных</value> - - - ru - Страницы статуса сопоставления данных - - - СтраницыСтатусаСопоставленияДанныхExtendedTooltip - 295 - Label - true - true - - Left - - - Pages - + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto Auto - - ИнформацияСтатистики - 246 - true - true - - true - - - Объект.ИнформацияСтатистики - - None - - ИнформацияСтатистикиИндексКартинки - 272 - true - true - - true - - - Объект.ИнформацияСтатистики.ИндексКартинки - - None - - ru - Признак наличия несопоставленных данных - - - ИнформацияСтатистикиИндексКартинкиExtendedTooltip - 316 - Label - true - true - - Left - - - - ИнформацияСтатистикиИндексКартинкиКонтекстноеМеню - 273 - true - - PictureField - Auto - true - - CommonPicture.Информация - - Left - true - - true - true - true - true - - CommonPicture.СтатусыСопоставленияОбъектов - - - - 1 - - - - - ИнформацияСтатистикиПредставление - 249 - - <key>ru</key> - <value>Данные</value> - - true - true - - true - - - Объект.ИнформацияСтатистики.Представление - - - ИнформацияСтатистикиПредставлениеExtendedTooltip - 317 - Label - true - true - - Left - - - - ИнформацияСтатистикиПредставлениеКонтекстноеМеню - 250 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ИнформацияСтатистикиКоличествоОбъектовСопоставленных - 268 - true - true - - true - - - Объект.ИнформацияСтатистики.КоличествоОбъектовСопоставленных - - - ИнформацияСтатистикиКоличествоОбъектовСопоставленныхExtendedTooltip - 318 - Label - true - true - - Left - - - - ИнформацияСтатистикиКоличествоОбъектовСопоставленныхКонтекстноеМеню - 269 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ИнформацияСтатистикиКоличествоОбъектовНесопоставленных - 270 - true - true - - true - - - Объект.ИнформацияСтатистики.КоличествоОбъектовНесопоставленных - - - ИнформацияСтатистикиКоличествоОбъектовНесопоставленныхExtendedTooltip - 319 - Label - true - true - - Left - - - - ИнформацияСтатистикиКоличествоОбъектовНесопоставленныхКонтекстноеМеню - 271 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ИнформацияСтатистикиКоманднаяПанель - 248 - - ИнформацияСтатистикиВыполнитьСопоставлениеДанных - 253 - true - true - - true - - - ИнформацияСтатистикиВыполнитьСопоставлениеДанныхExtendedTooltip - 308 - Label - true - true - - Left - - - Form.Command.ВыполнитьСопоставлениеДанных - Normal - Auto - true - true - UserCmds - Auto - - - ИнформацияСтатистикиГруппа1 - 255 - - ИнформацияСтатистикиНайти - 256 - true - true - - true - - - ИнформацияСтатистикиНайтиExtendedTooltip - 310 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ИнформацияСтатистикиОтменитьПоиск - 257 - true - true - - true - - - ИнформацияСтатистикиОтменитьПоискExtendedTooltip - 311 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - ИнформацияСтатистикиГруппа1ExtendedTooltip - 309 - Label - true - true - - Left - - - - - - ИнформацияСтатистикиГруппа2 - 258 - - ИнформацияСтатистикиВывестиСписок - 259 - true - true - - true - - - ИнформацияСтатистикиВывестиСписокExtendedTooltip - 313 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ИнформацияСтатистикиКопироватьВБуферОбмена - 260 - true - true - - true - - - ИнформацияСтатистикиКопироватьВБуферОбменаExtendedTooltip - 314 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - ИнформацияСтатистикиГруппа2ExtendedTooltip - 312 - Label - true - true - - Left - - - - - Left - - - Selection - ИнформацияСтатистикиВыбор - - - ИнформацияСтатистикиСтрокаПоиска - 438 - - ИнформацияСтатистикиСтрокаПоискаРасширеннаяПодсказка - 440 - Label - true - true - - Left - - - - ИнформацияСтатистикиСтрокаПоискаКонтекстноеМеню - 439 - true - - ИнформацияСтатистики - - true - - - - ИнформацияСтатистикиСостояниеПросмотра - 441 - - ИнформацияСтатистикиСостояниеПросмотраРасширеннаяПодсказка - 443 - Label - true - true - - Left - - - - ИнформацияСтатистикиСостояниеПросмотраКонтекстноеМеню - 442 - true - - ViewStatusAddition - ИнформацияСтатистики - - true - - - - ИнформацияСтатистикиУправлениеПоиском - 444 - - ИнформацияСтатистикиУправлениеПоискомРасширеннаяПодсказка - 446 - Label - true - true - - Left - - - - ИнформацияСтатистикиУправлениеПоискомКонтекстноеМеню - 445 - true - - SearchControlAddition - ИнформацияСтатистики - - true - - - - ИнформацияСтатистикиExtendedTooltip - 315 - Label - true - true - - Left - - - - ИнформацияСтатистикиКонтекстноеМеню - 247 - - ИнформацияСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанных - 254 - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанныхExtendedTooltip - 301 - Label - true - true - - Left - - - Form.Command.ВыполнитьСопоставлениеДанных - Normal - Auto - true - true - UserCmds - Auto - - - ИнформацияСтатистикиКонтекстноеМенюГруппа2 - 262 - - ИнформацияСтатистикиКонтекстноеМенюНайти - 263 - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюНайтиExtendedTooltip - 303 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ИнформацияСтатистикиКонтекстноеМенюОтменитьПоиск - 264 - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюОтменитьПоискExtendedTooltip - 304 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюГруппа2ExtendedTooltip - 302 - Label - true - true - - Left - - - - - - ИнформацияСтатистикиКонтекстноеМенюГруппа1 - 261 - - ИнформацияСтатистикиКонтекстноеМенюВывестиСписок - 265 - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюВывестиСписокExtendedTooltip - 306 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - ИнформацияСтатистикиКонтекстноеМенюКопироватьВБуферОбмена - 266 - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 307 - Label - true - true - - Left - - - Form.Item.ИнформацияСтатистики.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - ИнформацияСтатистикиКонтекстноеМенюГруппа1ExtendedTooltip - 305 - Label - true - true - - Left - - - - - - HierarchicalList - true - true - true - true - Row -
                                    true
                                    - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - true - true - None - None - None - true - -
                                    - - НадписьДалее3 - 141 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для синхронизации данных.</value> - - true - true - - true - - - НадписьДалее3ExtendedTooltip - 320 - Label - true - true - - Left - - - - НадписьДалее3КонтекстноеМеню - 142 - true - - Label - true - 3 - true - - Left - Bottom - - true true @@ -1622,50 +1526,6 @@ ОжиданиеСинхронизацииДанных 128 - - Заголовок5 - 129 - - <key>ru</key> - <value>Синхронизация данных</value> - - true - true - - true - - - Заголовок5ExtendedTooltip - 322 - Label - true - true - - Left - - - - Заголовок5КонтекстноеМеню - 130 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения1 131 @@ -1822,10 +1682,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Синхронизация данных</value> + ГруппировкаСообщения1ExtendedTooltip 323 @@ -1842,6 +1702,7 @@ NormalSeparation true true + auto Auto Auto @@ -1874,220 +1735,430 @@ ПравилаПолученияДанных 405 - - Заголовок8 - 407 + + ГруппаПравилаПолученияДанных + 441 + + ПравилаПолученияЭтогоПриложения + 410 + + НаименованиеЭтогоПриложенияПравила + 414 + true + true + + true + + + НаименованиеЭтогоПриложения + + None + + НаименованиеЭтогоПриложенияПравилаРасширеннаяПодсказка + 416 + Label + true + true + + Left + + + + НаименованиеЭтогоПриложенияПравилаКонтекстноеМеню + 415 + true + + LabelField + Enter + true + Left + true + + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ГруппаОписаниеЗначенийПоУмолчанию + 274 + + ОписаниеЗначенийПоУмолчанию + 164 + + <key>ru</key> + <value>Значения для автоматического заполнения реквизитов при получении данных в этом приложении</value> + + true + true + + true + + + ОписаниеЗначенийПоУмолчанию + + + ОписаниеЗначенийПоУмолчаниюExtendedTooltip + 336 + Label + true + true + + Left + + + + ОписаниеЗначенийПоУмолчаниюКонтекстноеМеню + 165 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + ВыполнитьНастройкуЗначенийПоУмолчанию + 166 + true + true + + true + + + ВыполнитьНастройкуЗначенийПоУмолчаниюExtendedTooltip + 337 + Label + true + true + + Left + + + Hyperlink + Form.Command.ВыполнитьНастройкуЗначенийПоУмолчанию + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа описание значений по умолчанию</value> + + + ГруппаОписаниеЗначенийПоУмолчаниюExtendedTooltip + 335 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Правила получения этого приложения</value> + + + ru + Правила получения этого приложения + + + ПравилаПолученияЭтогоПриложенияРасширеннаяПодсказка + 411 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ПравилаПолученияКорреспондента + 412 + + НаименованиеКорреспондентаПравила + 417 + true + true + + true + + + НаименованиеКорреспондента + + None + + НаименованиеКорреспондентаПравилаРасширеннаяПодсказка + 419 + Label + true + true + + Left + + + + НаименованиеКорреспондентаПравилаКонтекстноеМеню + 418 + true + + LabelField + Enter + true + Left + true + + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ГруппаОписаниеЗначенийПоУмолчаниюКорреспондента + 275 + + ОписаниеЗначенийПоУмолчаниюКорреспондента + 167 + + <key>ru</key> + <value>Значения для автоматического заполнения реквизитов при получении данных во втором приложении</value> + + true + true + + true + + + ОписаниеЗначенийПоУмолчаниюКорреспондента + + + ОписаниеЗначенийПоУмолчаниюКорреспондентаExtendedTooltip + 344 + Label + true + true + + Left + + + + ОписаниеЗначенийПоУмолчаниюКорреспондентаКонтекстноеМеню + 168 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондента + 169 + true + true + + true + + + ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондентаExtendedTooltip + 345 + Label + true + true + + Left + + + Hyperlink + Form.Command.ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондента + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа описание значений по умолчанию корреспондента</value> + + + ГруппаОписаниеЗначенийПоУмолчаниюКорреспондентаExtendedTooltip + 343 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Правила получения корреспондента</value> + + + ru + Правила получения корреспондента + + + ПравилаПолученияКорреспондентаРасширеннаяПодсказка + 413 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + НадписьДалее5 + 420 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для сохранения настроек.</value> + + true + true + + true + + + НадписьДалее5РасширеннаяПодсказка + 422 + Label + true + true + + Left + + + + НадписьДалее5КонтекстноеМеню + 421 + true + + Label + true + 3 + true + true + + Left + Bottom + + + true + true + + true + <key>ru</key> <value>Правила получения данных (шаг 3 из 4)</value> - true - true - - true - - Заголовок8РасширеннаяПодсказка - 409 - Label - true - true - - Left - - - - Заголовок8КонтекстноеМеню - 408 - true - - Label - true - 2 - true - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ПравилаПолученияЭтогоПриложения - 410 - - НаименованиеЭтогоПриложенияПравила - 414 - true - true - - true - - - НаименованиеЭтогоПриложения - - None - - НаименованиеЭтогоПриложенияПравилаРасширеннаяПодсказка - 416 - Label - true - true - - Left - - - - НаименованиеЭтогоПриложенияПравилаКонтекстноеМеню - 415 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - ГруппаОписаниеЗначенийПоУмолчанию - 274 - - ОписаниеЗначенийПоУмолчанию - 164 - - <key>ru</key> - <value>Значения для автоматического заполнения реквизитов при получении данных в этом приложении</value> - - true - true - - true - - - ОписаниеЗначенийПоУмолчанию - - - ОписаниеЗначенийПоУмолчаниюExtendedTooltip - 336 - Label - true - true - - Left - - - - ОписаниеЗначенийПоУмолчаниюКонтекстноеМеню - 165 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ВыполнитьНастройкуЗначенийПоУмолчанию - 166 - true - true - - true - - - ВыполнитьНастройкуЗначенийПоУмолчаниюExtendedTooltip - 337 - Label - true - true - - Left - - - Hyperlink - Form.Command.ВыполнитьНастройкуЗначенийПоУмолчанию - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа описание значений по умолчанию</value> - - - ГруппаОписаниеЗначенийПоУмолчаниюExtendedTooltip - 335 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Правила получения этого приложения</value> - - - ru - Правила получения этого приложения - - - ПравилаПолученияЭтогоПриложенияРасширеннаяПодсказка - 411 + ГруппаПравилаПолученияДанныхРасширеннаяПодсказка + 442 Label true true @@ -2099,235 +2170,14 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto - - ПравилаПолученияКорреспондента - 412 - - НаименованиеКорреспондентаПравила - 417 - true - true - - true - - - НаименованиеКорреспондента - - None - - НаименованиеКорреспондентаПравилаРасширеннаяПодсказка - 419 - Label - true - true - - Left - - - - НаименованиеКорреспондентаПравилаКонтекстноеМеню - 418 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - ГруппаОписаниеЗначенийПоУмолчаниюКорреспондента - 275 - - ОписаниеЗначенийПоУмолчаниюКорреспондента - 167 - - <key>ru</key> - <value>Значения для автоматического заполнения реквизитов при получении данных во втором приложении</value> - - true - true - - true - - - ОписаниеЗначенийПоУмолчаниюКорреспондента - - - ОписаниеЗначенийПоУмолчаниюКорреспондентаExtendedTooltip - 344 - Label - true - true - - Left - - - - ОписаниеЗначенийПоУмолчаниюКорреспондентаКонтекстноеМеню - 168 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондента - 169 - true - true - - true - - - ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондентаExtendedTooltip - 345 - Label - true - true - - Left - - - Hyperlink - Form.Command.ВыполнитьНастройкуЗначенийПоУмолчаниюКорреспондента - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа описание значений по умолчанию корреспондента</value> - - - ГруппаОписаниеЗначенийПоУмолчаниюКорреспондентаExtendedTooltip - 343 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Правила получения корреспондента</value> - - - ru - Правила получения корреспондента - - - ПравилаПолученияКорреспондентаРасширеннаяПодсказка - 413 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - НадписьДалее5 - 420 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для сохранения настроек.</value> - - true - true - - true - - - НадписьДалее5РасширеннаяПодсказка - 422 - Label - true - true - - Left - - - - НадписьДалее5КонтекстноеМеню - 421 - true - - Label - true - 3 - true - true - - Left - Bottom - - true true @@ -2360,269 +2210,528 @@ НастройкаПараметровУчета 143 - - Заголовок6 - 144 + + ГруппаНастройкаПараметровУчета + 443 + + ПараметрыУчета + 184 + + НаименованиеЭтогоПриложения + 186 + true + true + + true + + + НаименованиеЭтогоПриложения + + None + + НаименованиеЭтогоПриложенияExtendedTooltip + 331 + Label + true + true + + Left + + + + НаименованиеЭтогоПриложенияКонтекстноеМеню + 187 + true + + LabelField + Enter + true + Left + true + + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + НастройкиЭтогоПриложения + 179 + + Декорация99 + 180 + true + true + + true + + + Декорация99ExtendedTooltip + 333 + Label + true + true + + Left + + + + Декорация99КонтекстноеМеню + 181 + true + + 4 + true + 2 + true + + + CommonPicture.Предупреждение32 + + + + + ПараметрыУчетаПоясняющаяНадпись + 182 + true + true + + true + + + ПараметрыУчетаПоясняющаяНадпись + + None + + ПараметрыУчетаПоясняющаяНадписьExtendedTooltip + 334 + Label + true + true + + Left + + + + ПараметрыУчетаПоясняющаяНадписьКонтекстноеМеню + 183 + true + + LabelField + Center + Enter + true + Left + true + + true + 2 + true + false + + Style.ПоясняющийТекст + + + + true + true + + true + + + <key>ru</key> + <value>Настройки этого приложения</value> + + + ru + Настройки этого приложения + + + НастройкиЭтогоПриложенияРасширеннаяПодсказка + 332 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + НадписьНастройкиПараметровУчета + 423 + true + true + + true + + + НадписьНастройкиПараметровУчета + + None + + НадписьНастройкиПараметровУчетаРасширеннаяПодсказка + 425 + Label + true + true + + Left + + + + НадписьНастройкиПараметровУчетаКонтекстноеМеню + 424 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Параметры учета</value> + + + ru + Параметры учета + + + ПараметрыУчетаРасширеннаяПодсказка + 330 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ПараметрыУчетаКорреспондента + 185 + + НаименованиеКорреспондента + 188 + true + true + + true + + + НаименованиеКорреспондента + + None + + НаименованиеКорреспондентаExtendedTooltip + 339 + Label + true + true + + Left + + + + НаименованиеКорреспондентаКонтекстноеМеню + 189 + true + + LabelField + Enter + true + Left + true + + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + НастройкиКорреспондента + 170 + + Декорация98 + 171 + true + true + + true + + + Декорация98ExtendedTooltip + 341 + Label + true + true + + Left + + + + Декорация98КонтекстноеМеню + 172 + true + + 4 + true + 2 + true + + + CommonPicture.Предупреждение32 + + + + + ПараметрыУчетаКорреспондентаПоясняющаяНадпись + 177 + true + true + + true + + + ПараметрыУчетаКорреспондентаПоясняющаяНадпись + + None + + ПараметрыУчетаКорреспондентаПоясняющаяНадписьExtendedTooltip + 342 + Label + true + true + + Left + + + + ПараметрыУчетаКорреспондентаПоясняющаяНадписьКонтекстноеМеню + 178 + true + + LabelField + Center + Enter + true + Left + true + + true + 2 + true + false + + Style.ПоясняющийТекст + + + + true + true + + true + + + <key>ru</key> + <value>Настройки корреспондента</value> + + + ru + Настройки корреспондента + + + НастройкиКорреспондентаРасширеннаяПодсказка + 340 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + НадписьНастройкиПараметровУчетаКорреспондента + 426 + true + true + + true + + + НадписьНастройкиПараметровУчетаКорреспондента + + None + + НадписьНастройкиПараметровУчетаКорреспондентаРасширеннаяПодсказка + 428 + Label + true + true + + Left + + + + НадписьНастройкиПараметровУчетаКорреспондентаКонтекстноеМеню + 427 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Параметры учета корреспондента</value> + + + ru + Параметры учета корреспондента + + + ПараметрыУчетаКорреспондентаРасширеннаяПодсказка + 338 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + НадписьДалее4 + 146 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для сохранения настроек.</value> + + true + true + + true + + + НадписьДалее4ExtendedTooltip + 346 + Label + true + true + + Left + + + + НадписьДалее4КонтекстноеМеню + 147 + true + + Label + true + 3 + true + true + + Left + Bottom + + + true + true + + true + <key>ru</key> <value>Настройки для правильного отражения документов в учете (шаг 4 из 4)</value> - true - true - - true - - Заголовок6ExtendedTooltip - 329 - Label - true - true - - Left - - - - Заголовок6КонтекстноеМеню - 145 - true - - Label - true - 2 - true - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ПараметрыУчета - 184 - - НаименованиеЭтогоПриложения - 186 - true - true - - true - - - НаименованиеЭтогоПриложения - - None - - НаименованиеЭтогоПриложенияExtendedTooltip - 331 - Label - true - true - - Left - - - - НаименованиеЭтогоПриложенияКонтекстноеМеню - 187 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - НастройкиЭтогоПриложения - 179 - - Декорация99 - 180 - true - true - - true - - - Декорация99ExtendedTooltip - 333 - Label - true - true - - Left - - - - Декорация99КонтекстноеМеню - 181 - true - - 4 - true - 2 - true - - - CommonPicture.Предупреждение32 - - - - - ПараметрыУчетаПоясняющаяНадпись - 182 - true - true - - true - - - ПараметрыУчетаПоясняющаяНадпись - - None - - ПараметрыУчетаПоясняющаяНадписьExtendedTooltip - 334 - Label - true - true - - Left - - - - ПараметрыУчетаПоясняющаяНадписьКонтекстноеМеню - 183 - true - - LabelField - Center - Enter - true - Left - true - - true - 2 - true - false - - Style.ПоясняющийТекст - - - - true - true - - true - - - <key>ru</key> - <value>Настройки этого приложения</value> - - - ru - Настройки этого приложения - - - НастройкиЭтогоПриложенияРасширеннаяПодсказка - 332 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - НадписьНастройкиПараметровУчета - 423 - true - true - - true - - - НадписьНастройкиПараметровУчета - - None - - НадписьНастройкиПараметровУчетаРасширеннаяПодсказка - 425 - Label - true - true - - Left - - - - НадписьНастройкиПараметровУчетаКонтекстноеМеню - 424 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Параметры учета</value> - - - ru - Параметры учета - - - ПараметрыУчетаРасширеннаяПодсказка - 330 + ГруппаНастройкаПараметровУчетаРасширеннаяПодсказка + 444 Label true true @@ -2634,284 +2743,14 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto - - ПараметрыУчетаКорреспондента - 185 - - НаименованиеКорреспондента - 188 - true - true - - true - - - НаименованиеКорреспондента - - None - - НаименованиеКорреспондентаExtendedTooltip - 339 - Label - true - true - - Left - - - - НаименованиеКорреспондентаКонтекстноеМеню - 189 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - - - НастройкиКорреспондента - 170 - - Декорация98 - 171 - true - true - - true - - - Декорация98ExtendedTooltip - 341 - Label - true - true - - Left - - - - Декорация98КонтекстноеМеню - 172 - true - - 4 - true - 2 - true - - - CommonPicture.Предупреждение32 - - - - - ПараметрыУчетаКорреспондентаПоясняющаяНадпись - 177 - true - true - - true - - - ПараметрыУчетаКорреспондентаПоясняющаяНадпись - - None - - ПараметрыУчетаКорреспондентаПоясняющаяНадписьExtendedTooltip - 342 - Label - true - true - - Left - - - - ПараметрыУчетаКорреспондентаПоясняющаяНадписьКонтекстноеМеню - 178 - true - - LabelField - Center - Enter - true - Left - true - - true - 2 - true - false - - Style.ПоясняющийТекст - - - - true - true - - true - - - <key>ru</key> - <value>Настройки корреспондента</value> - - - ru - Настройки корреспондента - - - НастройкиКорреспондентаРасширеннаяПодсказка - 340 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - НадписьНастройкиПараметровУчетаКорреспондента - 426 - true - true - - true - - - НадписьНастройкиПараметровУчетаКорреспондента - - None - - НадписьНастройкиПараметровУчетаКорреспондентаРасширеннаяПодсказка - 428 - Label - true - true - - Left - - - - НадписьНастройкиПараметровУчетаКорреспондентаКонтекстноеМеню - 427 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Параметры учета корреспондента</value> - - - ru - Параметры учета корреспондента - - - ПараметрыУчетаКорреспондентаРасширеннаяПодсказка - 338 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - НадписьДалее4 - 146 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для сохранения настроек.</value> - - true - true - - true - - - НадписьДалее4ExtendedTooltip - 346 - Label - true - true - - Left - - - - НадписьДалее4КонтекстноеМеню - 147 - true - - Label - true - 3 - true - true - - Left - Bottom - - true true @@ -2940,50 +2779,6 @@ ОжиданиеСохраненияНастроек 148 - - Заголовок7 - 149 - - <key>ru</key> - <value>Сохранение настроек</value> - - true - true - - true - - - Заголовок7ExtendedTooltip - 348 - Label - true - true - - Left - - - - Заголовок7КонтекстноеМеню - 150 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения2 151 @@ -3140,10 +2935,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Сохранение настроек</value> + ГруппировкаСообщения2ExtendedTooltip 349 @@ -3160,6 +2955,7 @@ NormalSeparation true true + auto Auto Auto @@ -3192,117 +2988,6 @@ Окончание 121 - - Заголовок2 - 122 - - <key>ru</key> - <value>Настройка синхронизации данных успешно завершена</value> - - true - true - - true - - - Заголовок2ExtendedTooltip - 355 - Label - true - true - - Left - - - - Заголовок2КонтекстноеМеню - 123 - true - - Label - true - 2 - true - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - Картинка1 - 190 - - <key>ru</key> - <value>Картинка</value> - - true - true - - true - - - Картинка1ExtendedTooltip - 356 - Label - true - true - - Left - - - - Картинка1КонтекстноеМеню - 191 - true - - 64 - true - 9 - true - - - - - - Декорация2 - 197 - true - true - - true - - - Декорация2ExtendedTooltip - 357 - Label - true - true - - Left - - - - Декорация2КонтекстноеМеню - 198 - true - - Label - true - true - true - - Left - - Группа6 192 @@ -3383,6 +3068,10 @@ true + + <key>ru</key> + <value>Настройка синхронизации данных успешно завершена</value> + Группа6ExtendedTooltip 358 @@ -3396,8 +3085,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -3431,8 +3122,8 @@ Label true - 3 true + true Left Bottom @@ -3662,6 +3353,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -3872,6 +3564,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -4050,6 +3743,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -4264,6 +3958,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка/Picture.png b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка/Picture.png deleted file mode 100644 index da2c1369b..000000000 Binary files a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка1/Picture.png b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка1/Picture.png deleted file mode 100644 index 19c986f59..000000000 Binary files a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Items/Картинка1/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Module.bsl index 81c2be2ff..05f82bba6 100644 --- a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/Forms/Форма/Module.bsl @@ -86,6 +86,8 @@ Модифицированность = Истина; УстановитьТекстРезервногоКопирования(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + КонецПроцедуры &НаКлиенте @@ -832,6 +834,7 @@ ПараметрыФормы.Вставить("ЭтоУдалениеОбъекта", ТекущиеДанные.ЭтоУдалениеОбъекта); ПараметрыФормы.Вставить("ДанныеУспешноЗагружены", ТекущиеДанные.ДанныеУспешноЗагружены); ПараметрыФормы.Вставить("Ключ", ТекущиеДанные.Ключ); + ПараметрыФормы.Вставить("Синоним", ТекущиеДанные.Синоним); ПараметрыФормы.Вставить("УзелИнформационнойБазы", Корреспондент); ПараметрыФормы.Вставить("ИмяФайлаСообщенияОбмена", ИмяФайлаСообщенияОбмена); @@ -881,14 +884,14 @@ СтандартнаяОбработка = Ложь; Если НавигационнаяСсылка = "МодельСервиса" Тогда - МодульРезервноеКопированиеОбластейДанныхКлиент = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("РезервноеКопированиеОбластейДанныхКлиент"); + МодульРезервноеКопированиеОбластейДанныхКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РезервноеКопированиеОбластейДанныхКлиент"); МодульРезервноеКопированиеОбластейДанныхКлиент.ОткрытьФормуРезервногоКопирования(ЭтотОбъект); ИначеЕсли НавигационнаяСсылка = "МодельСервисаТолькоИнструкция" Тогда ПерейтиПоНавигационнойСсылке(АдресИнструкцииПоВыполнениюРезервногоКопирования); ИначеЕсли НавигационнаяСсылка = "РезервноеКопирование" Тогда - МодульРезервноеКопированиеИБКлиент = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("РезервноеКопированиеИБКлиент"); + МодульРезервноеКопированиеИБКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РезервноеКопированиеИБКлиент"); МодульРезервноеКопированиеИБКлиент.ОткрытьФормуРезервногоКопирования(ЭтотОбъект); КонецЕсли; diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ManagerModule.bsl b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ManagerModule.bsl index d0cfcce8d..d92b75129 100644 --- a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ManagerModule.bsl +++ b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ManagerModule.bsl @@ -1,5 +1,6 @@ -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +#Область СлужебныеПроцедурыИФункции +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда Процедура НастроитьОбменШаг1(Параметры, АдресВременногоХранилища) Экспорт @@ -276,3 +277,5 @@ КонецПроцедуры #КонецЕсли + +#КонецОбласти diff --git a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете.mdo b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете.mdo index eac0678d3..8e06c5958 100644 --- a/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете.mdo +++ b/SSL/src/DataProcessors/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете/ПомощникНастройкиСинхронизацииДанныхМеждуПриложениямиВИнтернете.mdo @@ -233,6 +233,20 @@ + + Синоним + + ru + Синоним + + + String + + + + + + СинхронизироватьПоИдентификатору diff --git a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Form.form b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Form.form index de053530f..f3f92bb00 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Form.form +++ b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Form.form @@ -10,95 +10,20 @@ Начало 30 - - Заголовок1 - 31 - - <key>ru</key> - <value>Создание автономного рабочего места</value> - - true - true - - true - - - Заголовок1ExtendedTooltip - 228 - Label - true - true - - Left - - - - Заголовок1КонтекстноеМеню - 32 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - КартинкаСозданиеЛокальногоРабочегоМеста - 91 - true - true - - true - - - КартинкаСозданиеЛокальногоРабочегоМестаExtendedTooltip - 229 - Label - true - true - - Left - - - - КартинкаСозданиеЛокальногоРабочегоМестаКонтекстноеМеню - 92 - true - - 64 - true - 9 - true - - - - - Группа3 - 153 + ГруппаНачало + 314 - Декорация5 - 154 + КартинкаСозданиеЛокальногоРабочегоМеста + 91 true true true - Декорация5ExtendedTooltip - 231 + КартинкаСозданиеЛокальногоРабочегоМестаExtendedTooltip + 229 Label true true @@ -107,27 +32,209 @@ - Декорация5КонтекстноеМеню - 155 + КартинкаСозданиеЛокальногоРабочегоМестаКонтекстноеМеню + 92 true - 2 + 64 true - 2 + 9 true - - CommonPicture.Информация - + + + + + Группа3 + 153 + + Декорация5 + 154 + true + true + + true + + + Декорация5ExtendedTooltip + 231 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 155 + true + + 2 + true + 2 + true + + + CommonPicture.Информация + + + + + ПоясняющаяНадписьОВерсииПлатформы + 151 + + <key>ru</key> + <value>Для автономной работы на Вашем компьютере должна быть установлена +платформа "1С:Предприятие" версии <ВерсияПриложения></value> + + true + true + + true + + + ПоясняющаяНадписьОВерсииПлатформыExtendedTooltip + 232 + Label + true + true + + Left + + + + ПоясняющаяНадписьОВерсииПлатформыКонтекстноеМеню + 152 + true + + Label + true + 2 + true + + Style.ПоясняющийТекст + + + Left + Center + + + true + true + + true + + + Группа3ExtendedTooltip + 230 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа5 + 173 + + Декорация8 + 174 + true + true + + true + + + Декорация8ExtendedTooltip + 234 + Label + true + true + + Left + + + + Декорация8КонтекстноеМеню + 175 + true + + Label + true + true + + Left + + + + КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятие + 194 + true + true + + true + + true + + КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятиеExtendedTooltip + 235 + Label + true + true + + Left + + + Hyperlink + Form.Command.КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятие + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа5ExtendedTooltip + 233 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto - ПоясняющаяНадписьОВерсииПлатформы - 151 + НадписьДалее1 + 93 <key>ru</key> - <value>Для автономной работы на Вашем компьютере должна быть установлена -платформа "1С:Предприятие" версии <ВерсияПриложения></value> + <value>Нажмите кнопку "Далее" для настройки параметров автономной работы.</value> true true @@ -135,8 +242,8 @@ true - ПоясняющаяНадписьОВерсииПлатформыExtendedTooltip - 232 + НадписьДалее1ExtendedTooltip + 236 Label true true @@ -145,20 +252,18 @@ - ПоясняющаяНадписьОВерсииПлатформыКонтекстноеМеню - 152 + НадписьДалее1КонтекстноеМеню + 94 true Label true - 2 + 3 true - - Style.ПоясняющийТекст - + true Left - Center + Bottom true @@ -166,125 +271,13 @@ true - - Группа3ExtendedTooltip - 230 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Группа5 - 173 - - Декорация8 - 174 - true - true - - true - - - Декорация8ExtendedTooltip - 234 - Label - true - true - - Left - - - - Декорация8КонтекстноеМеню - 175 - true - - Label - true - true - - Left - - - - КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятие - 194 - true - true - - true - - true - - КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятиеExtendedTooltip - 235 - Label - true - true - - Left - - - Hyperlink - Form.Command.КакУстановитьИлиОбновитьВерсиюПлатформы1СПредприятие - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - Группа5ExtendedTooltip - 233 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - НадписьДалее1 - 93 <key>ru</key> - <value>Нажмите кнопку "Далее" для настройки параметров автономной работы.</value> + <value>Создание автономного рабочего места</value> - true - true - - true - - НадписьДалее1ExtendedTooltip - 236 + ГруппаНачалоРасширеннаяПодсказка + 315 Label true true @@ -292,19 +285,16 @@ Left - - НадписьДалее1КонтекстноеМеню - 94 - true - - Label - true - 3 - true - true - - Left - Bottom + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto + Auto true @@ -335,233 +325,15 @@ НастройкаВыгрузки 33 - - Заголовок2 - 81 - - <key>ru</key> - <value>Настройка параметров</value> - - true - true - - true - - - Заголовок2ExtendedTooltip - 238 - Label - true - true - - Left - - - - Заголовок2КонтекстноеМеню - 82 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - НаименованиеАвтономногоРабочегоМеста - 139 - - <key>ru</key> - <value>Наименование автономного рабочего места</value> - - true - true - - true - - - Объект.НаименованиеАвтономногоРабочегоМеста - - Top - - НаименованиеАвтономногоРабочегоМестаExtendedTooltip - 239 - Label - true - true - - Left - - - - НаименованиеАвтономногоРабочегоМестаКонтекстноеМеню - 140 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - Декорация4 - 195 - - <key>ru</key> - <value>Например, "Для работы дома" или "Командировка к партнеру".</value> - - true - true - - true - - - Декорация4ExtendedTooltip - 240 - Label - true - true - - Left - - - - Декорация4КонтекстноеМеню - 196 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - Группа2 - 143 - - НастроитьОграниченияПередачиДанных - 105 - true - true - - true - - - НастроитьОграниченияПередачиДанныхExtendedTooltip - 242 - Label - true - true - - Left - - - UsualButton - Form.Command.НастроитьОграниченияПередачиДанных - Normal - Auto - true - true - UserCmds - Auto - - - ОписаниеОграниченийПередачиДанных - 206 + ГруппаНастройкаВыгрузки + 316 + + НаименованиеАвтономногоРабочегоМеста + 139 <key>ru</key> - <value><В автономном рабочем месте доступны все данные.></value> - - true - true - - true - - - ОписаниеОграниченийПередачиДанныхExtendedTooltip - 243 - Label - true - true - - Left - - - - ОписаниеОграниченийПередачиДанныхКонтекстноеМеню - 207 - true - - Label - true - true - - Left - - - true - true - - true - - - Группа2ExtendedTooltip - 241 - Label - true - true - - Left - - - UsualGroup - - Auto - NormalSeparation - true - true - Auto - Auto - - - - НастройкаПравПользователей - 212 - - ПользователиСинхронизации - 213 - - <key>ru</key> - <value>Разрешить выполнять синхронизацию данных пользователям</value> + <value>Наименование автономного рабочего места</value> true true @@ -569,165 +341,17 @@ true - ПользователиСинхронизации + Объект.НаименованиеАвтономногоРабочегоМеста Top - - ПользователиРазрешитьСинхронизациюДанных - 224 - true - true - - true - - - ПользователиСинхронизации.РазрешитьСинхронизациюДанных - - - ПользователиРазрешитьСинхронизациюДанныхExtendedTooltip - 246 - Label - true - true - - Left - - - - ПользователиРазрешитьСинхронизациюДанныхКонтекстноеМеню - 225 - true - - CheckBoxField - Auto - true - Left - true - - - - ПользователиПользователь - 216 - true - true - - true - - - ПользователиСинхронизации.Пользователь - - - ПользователиПользовательExtendedTooltip - 247 - Label - true - true - - Left - - - - ПользователиПользовательКонтекстноеМеню - 217 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - None - - ПользователиСинхронизацииКоманднаяПанель - 215 - Left - true - - - ПользователиСинхронизацииСтрокаПоиска - 315 - - ПользователиСинхронизацииСтрокаПоискаРасширеннаяПодсказка - 317 - Label - true - true - - Left - - - - ПользователиСинхронизацииСтрокаПоискаКонтекстноеМеню - 316 - true - - ПользователиСинхронизации - - true - - - - ПользователиСинхронизацииСостояниеПросмотра - 318 - - ПользователиСинхронизацииСостояниеПросмотраРасширеннаяПодсказка - 320 - Label - true - true - - Left - - - - ПользователиСинхронизацииСостояниеПросмотраКонтекстноеМеню - 319 - true - - ViewStatusAddition - ПользователиСинхронизации - - true - - - - ПользователиСинхронизацииУправлениеПоиском - 321 - - ПользователиСинхронизацииУправлениеПоискомРасширеннаяПодсказка - 323 - Label - true - true - - Left - - - - ПользователиСинхронизацииУправлениеПоискомКонтекстноеМеню - 322 - true - - SearchControlAddition - ПользователиСинхронизации - - true - - + Button - ПользователиСинхронизацииExtendedTooltip - 245 + НаименованиеАвтономногоРабочегоМестаExtendedTooltip + 239 + + <key>ru</key> + <value>Например, "Для работы дома" или "Командировка к партнеру".</value> + Label true true @@ -736,38 +360,401 @@ - ПользователиСинхронизацииКонтекстноеМеню - 214 + НаименованиеАвтономногоРабочегоМестаКонтекстноеМеню + 140 true - 42 - true - 6 - true - true - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - None - None - None - true - + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + - - Декорация6 - 222 + + Группа2 + 143 + + НастроитьОграниченияПередачиДанных + 105 + true + true + + true + + + НастроитьОграниченияПередачиДанныхExtendedTooltip + 242 + Label + true + true + + Left + + + UsualButton + Form.Command.НастроитьОграниченияПередачиДанных + Normal + Auto + true + true + UserCmds + Auto + + + ОписаниеОграниченийПередачиДанных + 206 + + <key>ru</key> + <value><В автономном рабочем месте доступны все данные.></value> + + true + true + + true + + + ОписаниеОграниченийПередачиДанныхExtendedTooltip + 243 + Label + true + true + + Left + + + + ОписаниеОграниченийПередачиДанныхКонтекстноеМеню + 207 + true + + Label + true + true + + Left + + + true + true + + true + + + Группа2ExtendedTooltip + 241 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + + НастройкаПравПользователей + 212 + + ПользователиСинхронизации + 213 + + <key>ru</key> + <value>Разрешить выполнять синхронизацию данных пользователям</value> + + true + true + + true + + + ПользователиСинхронизации + + Top + + ПользователиРазрешитьСинхронизациюДанных + 224 + true + true + + true + + + ПользователиСинхронизации.РазрешитьСинхронизациюДанных + + + ПользователиРазрешитьСинхронизациюДанныхExtendedTooltip + 246 + Label + true + true + + Left + + + + ПользователиРазрешитьСинхронизациюДанныхКонтекстноеМеню + 225 + true + + CheckBoxField + Auto + true + Left + true + + + + ПользователиПользователь + 216 + true + true + + true + + + ПользователиСинхронизации.Пользователь + + + ПользователиПользовательExtendedTooltip + 247 + Label + true + true + + Left + + + + ПользователиПользовательКонтекстноеМеню + 217 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + None + + ПользователиСинхронизацииКоманднаяПанель + 215 + Left + true + + + ПользователиСинхронизацииСтрокаПоиска + 319 + + ПользователиСинхронизацииСтрокаПоискаРасширеннаяПодсказка + 321 + Label + true + true + + Left + + + + ПользователиСинхронизацииСтрокаПоискаКонтекстноеМеню + 320 + true + + ПользователиСинхронизации + + true + + + + ПользователиСинхронизацииСостояниеПросмотра + 322 + + ПользователиСинхронизацииСостояниеПросмотраРасширеннаяПодсказка + 324 + Label + true + true + + Left + + + + ПользователиСинхронизацииСостояниеПросмотраКонтекстноеМеню + 323 + true + + ViewStatusAddition + ПользователиСинхронизации + + true + + + + ПользователиСинхронизацииУправлениеПоиском + 325 + + ПользователиСинхронизацииУправлениеПоискомРасширеннаяПодсказка + 327 + Label + true + true + + Left + + + + ПользователиСинхронизацииУправлениеПоискомКонтекстноеМеню + 326 + true + + SearchControlAddition + ПользователиСинхронизации + + true + + + + ПользователиСинхронизацииExtendedTooltip + 245 + Label + true + true + + Left + + + + ПользователиСинхронизацииКонтекстноеМеню + 214 + true + + 42 + true + 5 + true + true + Row + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + None + None + None + true + + + + Декорация6 + 222 + + <key>ru</key> + <value>Указанные пользователи могут выполнять синхронизацию данных +с любыми автономными рабочими местами и другими программами.</value> + + true + true + + true + + + Декорация6ExtendedTooltip + 248 + Label + true + true + + Left + + + + Декорация6КонтекстноеМеню + 223 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + <key>ru</key> - <value>Указанные пользователи могут выполнять синхронизацию данных -с любыми автономными рабочими местами и другими программами.</value> + <value>Настройка прав пользователей</value> + + + ru + Настройка прав пользователей + + + НастройкаПравПользователейExtendedTooltip + 244 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + НадписьДалее2 + 95 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для подготовки данных для загрузки.</value> true true @@ -775,8 +762,8 @@ true - Декорация6ExtendedTooltip - 248 + НадписьДалее2ExtendedTooltip + 249 Label true true @@ -785,18 +772,18 @@ - Декорация6КонтекстноеМеню - 223 + НадписьДалее2КонтекстноеМеню + 96 true Label true + 3 true - - Style.ПоясняющийТекст - + true Left + Bottom
                                    true @@ -806,15 +793,11 @@
                                    <key>ru</key> - <value>Настройка прав пользователей</value> + <value>Настройка параметров</value> - - ru - Настройка прав пользователей - - НастройкаПравПользователейExtendedTooltip - 244 + ГруппаНастройкаВыгрузкиРасширеннаяПодсказка + 317 Label true true @@ -826,49 +809,14 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto
                                    - - НадписьДалее2 - 95 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для подготовки данных для загрузки.</value> - - true - true - - true - - - НадписьДалее2ExtendedTooltip - 249 - Label - true - true - - Left - - - - НадписьДалее2КонтекстноеМеню - 96 - true - - Label - true - 3 - true - true - - Left - Bottom - - true true @@ -897,50 +845,6 @@ ОжиданиеСозданияНачальногоОбраза 45 - - Заголовок4 - 85 - - <key>ru</key> - <value>Подготовка данных для загрузки</value> - - true - true - - true - - - Заголовок4ExtendedTooltip - 251 - Label - true - true - - Left - - - - Заголовок4КонтекстноеМеню - 86 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения 48 @@ -1099,10 +1003,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Подготовка данных для загрузки</value> + ГруппировкаСообщенияExtendedTooltip 252 @@ -1119,6 +1023,7 @@ NormalSeparation true true + auto Auto Auto @@ -1155,50 +1060,6 @@ Окончание 42 - - Заголовок6 - 89 - - <key>ru</key> - <value>Создание автономного рабочего места успешно завершено</value> - - true - true - - true - - - Заголовок6ExtendedTooltip - 258 - Label - true - true - - Left - - - - Заголовок6КонтекстноеМеню - 90 - true - - Label - true - 2 - true - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа4 167 @@ -1283,6 +1144,10 @@ true + + <key>ru</key> + <value>Создание автономного рабочего места успешно завершено</value> + Группа4ExtendedTooltip 259 @@ -1296,8 +1161,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -1711,6 +1578,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -1925,6 +1793,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -2134,6 +2003,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true true @@ -2347,6 +2217,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu true false diff --git a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Module.bsl b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Module.bsl index b0662564f..ce611c742 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Module.bsl +++ b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Forms/НастройкаНаСторонеСервиса/Module.bsl @@ -65,7 +65,9 @@ Если ПустаяСтрока(АдресИнструкцииПоНастройкеТонкогоКлиента) Тогда Элементы.ЗагрузитьНачальныйОбразНаКомпьютерПользователя.ОтображениеПодсказки = ОтображениеПодсказки.Нет; КонецЕсли; - + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + КонецПроцедуры &НаКлиенте @@ -113,7 +115,7 @@ Исключение ДлительнаяОперация = Ложь; ПерейтиНазад(); - ПОказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'")); + ПоказатьПредупреждение(, НСтр("ru = 'Не удалось выполнить операцию.'")); ЗаписатьОшибкуВЖурналРегистрации( ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), СобытиеЖурналаРегистрацииСозданиеАвтономногоРабочегоМеста); @@ -586,7 +588,9 @@ &НаКлиенте Процедура ОтменитьСозданиеАвтономногоРабочегоМеста(Результат, ДополнительныеПараметры) Экспорт - ОбменДаннымиВызовСервера.УдалитьНастройкуСинхронизации(Объект.АвтономноеРабочееМесто); + Если Объект.АвтономноеРабочееМесто <> Неопределено Тогда + ОбменДаннымиВызовСервера.УдалитьНастройкуСинхронизации(Объект.АвтономноеРабочееМесто); + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/ManagerModule.bsl b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/ManagerModule.bsl index dc862d04c..8b1378917 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/ManagerModule.bsl +++ b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/ManagerModule.bsl @@ -1,5 +1 @@ -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - - -#КонецЕсли \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Templates/ИнструкцияПоНастройкеАвтономногоРабочегоМеста/ru.html b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Templates/ИнструкцияПоНастройкеАвтономногоРабочегоМеста/ru.html index 774280feb..68a7cd620 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Templates/ИнструкцияПоНастройкеАвтономногоРабочегоМеста/ru.html +++ b/SSL/src/DataProcessors/ПомощникСозданияАвтономногоРабочегоМеста/Templates/ИнструкцияПоНастройкеАвтономногоРабочегоМеста/ru.html @@ -1,4 +1,4 @@ - - 1 - - -
                                    - - ДеревоИнформацииСтатистикиСиноним - 1654 - true - true - - true - - - ДеревоИнформацииСтатистики.Синоним - - - ДеревоИнформацииСтатистикиСинонимExtendedTooltip - 2001 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиСинонимКонтекстноеМеню - 1655 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - true - - ДеревоИнформацииСтатистикиГруппаExtendedTooltip - 1999 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - -
                                    - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектов - 1656 - true - true - - true - - - ДеревоИнформацииСтатистики.ПроцентСопоставленияОбъектов - - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовExtendedTooltip - 2002 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовКонтекстноеМеню - 1657 - true - - InputField - true - Auto - true - Right - true - - 10 - true - true - false - true - - ru - ЧН= - - - ru - ЧН= - - true - true - true - Normal - - - - ДеревоИнформацииСтатистикиКоманднаяПанель - 1653 - - ДеревоИнформацииСтатистикиВыполнитьСопоставлениеДанных - 1681 - true - true - - true - - - ДеревоИнформацииСтатистикиВыполнитьСопоставлениеДанныхExtendedTooltip - 1997 - Label - true - true - - Left - - - Form.Command.ВыполнитьСопоставлениеДанных - Normal - Auto - true - true - UserCmds - Auto - - Left - - - Selection - ДеревоИнформацииСтатистикиВыбор - - - ДеревоИнформацииСтатистикиСтрокаПоиска - 2478 - - ДеревоИнформацииСтатистикиСтрокаПоискаРасширеннаяПодсказка - 2480 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиСтрокаПоискаКонтекстноеМеню - 2479 - true - - ДеревоИнформацииСтатистики - - true - - - - ДеревоИнформацииСтатистикиСостояниеПросмотра - 2481 - - ДеревоИнформацииСтатистикиСостояниеПросмотраРасширеннаяПодсказка - 2483 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиСостояниеПросмотраКонтекстноеМеню - 2482 - true - - ViewStatusAddition - ДеревоИнформацииСтатистики - - true - - - - ДеревоИнформацииСтатистикиУправлениеПоиском - 2484 - - ДеревоИнформацииСтатистикиУправлениеПоискомРасширеннаяПодсказка - 2486 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиУправлениеПоискомКонтекстноеМеню - 2485 - true - - SearchControlAddition - ДеревоИнформацииСтатистики - - true - - - - ДеревоИнформацииСтатистикиExtendedTooltip - 1998 - Label - true - true - - Left - - - - ДеревоИнформацииСтатистикиКонтекстноеМеню - 1652 - - ДеревоИнформацииСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанных - 1682 - true - true - - true - - - ДеревоИнформацииСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанныхExtendedTooltip - 1996 - Label - true - true - - Left - - - Form.Command.ВыполнитьСопоставлениеДанных - Normal - Auto - true - true - UserCmds - Auto - - - Tree - true - true - true - true - Row -
                                    true
                                    - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - ExpandAllLevels - true - true - None - None - None - true -
                                    - true - true - - true - - - <key>ru</key> - <value>Статус сопоставления есть несопоставленные данные</value> - - - ru - Статус сопоставления есть несопоставленные данные - - - СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip - 1994 - Label - true - true - - Left - - - Page - - Vertical - auto - -
                                    - - СтатусСопоставленияВсеДанныеСопоставлены - 1676 - - ГруппировкаСообщения8 - 1743 - - Декорация35 - 1745 - true - true - - true - - - Декорация35ExtendedTooltip - 2005 - Label - true - true - - Left - - - - Декорация35КонтекстноеМеню - 1746 - true - - 8 - true - 3 - true - false - - - CommonPicture.Информация32 - - - - - Декорация36 - 1748 - - <key>ru</key> - <value>Все данные сопоставлены. -Перейдите далее для продолжения настройки.</value> true true @@ -3000,8 +2052,8 @@ true - Декорация36ExtendedTooltip - 2006 + ПояснениеОНаличииНесопоставленныхОбъектов1ExtendedTooltip + 1995 Label true true @@ -3010,37 +2062,393 @@ - Декорация36КонтекстноеМеню - 1749 + ПояснениеОНаличииНесопоставленныхОбъектов1КонтекстноеМеню + 1718 true Label true - 3 true - true false - - System.DefaultGUIFont - 10.0 - + + Style.ПоясняющийТекст + Left - Center + Top + + ДеревоИнформацииСтатистики + 1651 + true + true + + true + + + ДеревоИнформацииСтатистики + + None + Add + Change + Copy + Delete + EndEdit + MoveDown + MoveUp + SortListAsc + SortListDesc + + ДеревоИнформацииСтатистикиГруппа + 1668 + + ДеревоИнформацииСтатистикиКартинка + 1658 + true + true + + true + + + ДеревоИнформацииСтатистики.Картинка + + None + + ДеревоИнформацииСтатистикиКартинкаExtendedTooltip + 2000 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиКартинкаКонтекстноеМеню + 1659 + true + + PictureField + true + Auto + true + Left + true + + true + true + true + + + 1 + + + + + ДеревоИнформацииСтатистикиСиноним + 1654 + true + true + + true + + + ДеревоИнформацииСтатистики.Синоним + + + ДеревоИнформацииСтатистикиСинонимExtendedTooltip + 2001 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиСинонимКонтекстноеМеню + 1655 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + true + + ДеревоИнформацииСтатистикиГруппаExtendedTooltip + 1999 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектов + 1656 + true + true + + true + + + ДеревоИнформацииСтатистики.ПроцентСопоставленияОбъектов + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовExtendedTooltip + 2002 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиПроцентСопоставленияОбъектовКонтекстноеМеню + 1657 + true + + InputField + true + Auto + true + Right + true + + 10 + true + true + false + true + + ru + ЧН= + + + ru + ЧН= + + true + true + true + Normal + + + + ДеревоИнформацииСтатистикиКоманднаяПанель + 1653 + + ДеревоИнформацииСтатистикиВыполнитьСопоставлениеДанных + 1681 + true + true + + true + + + ДеревоИнформацииСтатистикиВыполнитьСопоставлениеДанныхExtendedTooltip + 1997 + Label + true + true + + Left + + + Form.Command.ВыполнитьСопоставлениеДанных + Normal + Auto + true + true + UserCmds + Auto + + Left + + + Selection + ДеревоИнформацииСтатистикиВыбор + + + ДеревоИнформацииСтатистикиСтрокаПоиска + 2512 + + ДеревоИнформацииСтатистикиСтрокаПоискаРасширеннаяПодсказка + 2514 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиСтрокаПоискаКонтекстноеМеню + 2513 + true + + ДеревоИнформацииСтатистики + + true + + + + ДеревоИнформацииСтатистикиСостояниеПросмотра + 2515 + + ДеревоИнформацииСтатистикиСостояниеПросмотраРасширеннаяПодсказка + 2517 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиСостояниеПросмотраКонтекстноеМеню + 2516 + true + + ViewStatusAddition + ДеревоИнформацииСтатистики + + true + + + + ДеревоИнформацииСтатистикиУправлениеПоиском + 2518 + + ДеревоИнформацииСтатистикиУправлениеПоискомРасширеннаяПодсказка + 2520 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиУправлениеПоискомКонтекстноеМеню + 2519 + true + + SearchControlAddition + ДеревоИнформацииСтатистики + + true + + + + ДеревоИнформацииСтатистикиExtendedTooltip + 1998 + Label + true + true + + Left + + + + ДеревоИнформацииСтатистикиКонтекстноеМеню + 1652 + + ДеревоИнформацииСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанных + 1682 + true + true + + true + + + ДеревоИнформацииСтатистикиКонтекстноеМенюВыполнитьСопоставлениеДанныхExtendedTooltip + 1996 + Label + true + true + + Left + + + Form.Command.ВыполнитьСопоставлениеДанных + Normal + Auto + true + true + UserCmds + Auto + + + Tree + true + true + true + true + Row +
                                    true
                                    + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + ExpandAllLevels + true + true + None + None + None + true +
                                    true true true + + <key>ru</key> + <value>Статус сопоставления есть несопоставленные данные</value> + ru - Группировка сообщения + Статус сопоставления есть несопоставленные данные - ГруппировкаСообщения8ExtendedTooltip - 2004 + СтатусСопоставленияЕстьНесопоставленныеДанныеExtendedTooltip + 1994 Label true true @@ -3048,14 +2456,150 @@ Left - UsualGroup - - Auto - true - true + Page + + Vertical + auto + +
                                    + + СтатусСопоставленияВсеДанныеСопоставлены + 1676 + + ГруппировкаСообщения8 + 1743 + + Декорация35 + 1745 + true + true + + true + + + Декорация35ExtendedTooltip + 2005 + Label + true + true + + Left + + + + Декорация35КонтекстноеМеню + 1746 + true + + 8 + true + 3 + true + false + + + CommonPicture.Информация32 + + + + + Декорация36 + 1748 + + <key>ru</key> + <value>Все данные сопоставлены. +Перейдите далее для продолжения настройки.</value> + + true + true + + true + + + Декорация36ExtendedTooltip + 2006 + Label + true + true + + Left + + + + Декорация36КонтекстноеМеню + 1749 + true + + Label + true + 3 + true + true + false + + System.DefaultGUIFont + 10.0 + + + Left + Center + + + true + true + + true + + + ru + Группировка сообщения + + + ГруппировкаСообщения8ExtendedTooltip + 2004 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + auto + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Статус сопоставления все данные сопоставлены</value> + + + ru + Статус сопоставления все данные сопоставлены + + + СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip + 2003 + Label + true + true + + Left + + + Page + auto - Auto - Auto true @@ -3065,15 +2609,11 @@ <key>ru</key> - <value>Статус сопоставления все данные сопоставлены</value> + <value>Сопоставление одинаковых данных</value> - - ru - Статус сопоставления все данные сопоставлены - - СтатусСопоставленияВсеДанныеСопоставленыExtendedTooltip - 2003 + СтраницыСтатусаСопоставленияДанныхExtendedTooltip + 1993 Label true true @@ -3081,9 +2621,46 @@ Left - Page - - auto + Pages + + Auto + +
                                    + + НадписьДалееНаСтраницеСопоставленияДанных + 1334 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для синхронизации данных.</value> + + true + true + + true + + + НадписьДалееНаСтраницеСопоставленияДанныхExtendedTooltip + 2007 + Label + true + true + + Left + + + + НадписьДалееНаСтраницеСопоставленияДанныхКонтекстноеМеню + 1335 + true + + Label + true + 3 + true + false + + Left + Bottom true @@ -3093,15 +2670,15 @@ <key>ru</key> - <value>Страницы статуса сопоставления данных</value> + <value>Сопоставление одинаковых данных</value> ru - Страницы статуса сопоставления данных + Группа страница мастера сопоставление данных - СтраницыСтатусаСопоставленияДанныхExtendedTooltip - 1993 + ГруппаСтраницаМастераСопоставлениеДанныхРасширеннаяПодсказка + 2480 Label true true @@ -3109,48 +2686,18 @@ Left - Pages - + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + auto + Auto Auto
                                    - - НадписьДалееНаСтраницеСопоставленияДанных - 1334 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для синхронизации данных.</value> - - true - true - - true - - - НадписьДалееНаСтраницеСопоставленияДанныхExtendedTooltip - 2007 - Label - true - true - - Left - - - - НадписьДалееНаСтраницеСопоставленияДанныхКонтекстноеМеню - 1335 - true - - Label - true - 3 - true - false - - Left - Bottom - - true true @@ -3183,53 +2730,6 @@ СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено 1345 - - ЗаголовокСтраницыМастера15 - 1346 - - <key>ru</key> - <value>Настройка синхронизации данных успешно завершена</value> - - true - true - - true - - - ЗаголовокСтраницыМастера15ExtendedTooltip - 2009 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера15КонтекстноеМеню - 1347 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппаРасписания 1685 @@ -3808,10 +3308,10 @@ true - + <key>ru</key> - <value>Группа расписания</value> - </toolTip> + <value>Настройка синхронизации данных успешно завершена</value> + ГруппаРасписанияExtendedTooltip 2010 @@ -3828,6 +3328,7 @@ NormalSeparation true true + auto Auto Auto @@ -3928,53 +3429,6 @@ СтраницаМастераНастройкиОтраженияДокументовВУчете 1338 - - ЗаголовокСтраницыМастера4 - 1339 - - <key>ru</key> - <value>Настройки для отражения документов в учете</value> - - true - true - - true - - - ЗаголовокСтраницыМастера4ExtendedTooltip - 2032 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера4КонтекстноеМеню - 1340 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа40 1618 @@ -4452,7 +3906,7 @@ <key>ru</key> - <value>Значения для заполнения реквизитов документов</value> + <value>Настройки для отражения документов в учете</value> Группа40ExtendedTooltip @@ -4468,8 +3922,10 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto @@ -4539,53 +3995,6 @@ СтраницаМастераПараметрыПолученияДанных 2407 - - ЗаголовокСтраницыМастера12 - 2409 - - <key>ru</key> - <value>Правила получения данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастера12РасширеннаяПодсказка - 2411 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера12КонтекстноеМеню - 2410 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа12 2412 @@ -4954,6 +4363,10 @@ true + + <key>ru</key> + <value>Правила получения данных</value> + Группа12РасширеннаяПодсказка 2413 @@ -4968,8 +4381,10 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto @@ -5043,52 +4458,6 @@ СтраницаМастераВыборРежимаРаботыПомощника 774 - - ЗаголовокСтраницыМастера2 - 775 - - <key>ru</key> - <value>Выбор варианта подключения к другой программе</value> - - true - true - - true - - - ЗаголовокСтраницыМастера2ExtendedTooltip - 2052 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера2КонтекстноеМеню - 776 - true - - Label - true - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа4 842 @@ -5132,12 +4501,10 @@ Left true - 1 ru - Прямое подключение к программе -на этом компьютере или в локальной сети + Прямое подключение к программе на этом компьютере или в локальной сети ОбменЧерезВнешнееСоединение @@ -5146,8 +4513,7 @@ ru - Прямое подключение к программе -через Интернет + Прямое подключение к программе через Интернет ОбменЧерезВебСервис @@ -5156,8 +4522,7 @@ ru - Другие каналы связи -(сетевой каталог, FTP, электронная почта) + Другие каналы связи (сетевой каталог, FTP, электронная почта) ОбменЧерезОбычныеКаналыСвязи @@ -5192,262 +4557,15 @@ Auto - - КартинкиВыбораРежимаРаботыПомощника - 1158 - - КартинкаДляОбменаЧерезВнешнееСоединение - 1159 - - Декорация42 - 1830 - true - true - - true - - - Декорация42ExtendedTooltip - 2058 - Label - true - true - - Left - - - - Декорация42КонтекстноеМеню - 1831 - true - - Label - 10 - true - true - - Left - - - - КартинкаОбменЧерезВнешнееСоединение - 1161 - - <key>ru</key> - <value>Картинка обмен через внешнее соединение</value> - - true - true - - true - - - КартинкаОбменЧерезВнешнееСоединениеExtendedTooltip - 2059 - Label - true - true - - Left - - - - КартинкаОбменЧерезВнешнееСоединениеКонтекстноеМеню - 1162 - true - - 20 - true - 7 - true - - - Proportionally - - - true - true - - true - - - ru - Картинка для обмена через внешнее соединение - - - КартинкаДляОбменаЧерезВнешнееСоединениеExtendedTooltip - 2057 - Label - true - true - - Left - - - Page - - auto - - - - КартинкаДляОбменаЧерезВебСервис - 1165 - - КартинкаОбменЧерезВебСервис - 1166 - - <key>ru</key> - <value>Картинка обмен через веб сервис</value> - - true - true - - true - - - КартинкаОбменЧерезВебСервисExtendedTooltip - 2061 - Label - true - true - - Left - - - - КартинкаОбменЧерезВебСервисКонтекстноеМеню - 1167 - true - - 45 - true - 7 - true - - - - - true - true - - true - - - ru - Картинка для обмена через обычные каналы связи - - - КартинкаДляОбменаЧерезВебСервисExtendedTooltip - 2060 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - КартинкаДляОбменаЧерезОбычныеКаналыСвязи - 1160 - - КартинкаОбменЧерезОбычныеКаналыСвязи - 1163 - - <key>ru</key> - <value>Картинка обмен через обычные каналы связи</value> - - true - true - - true - - - КартинкаОбменЧерезОбычныеКаналыСвязиExtendedTooltip - 2063 - Label - true - true - - Left - - - - КартинкаОбменЧерезОбычныеКаналыСвязиКонтекстноеМеню - 1164 - true - - 45 - true - 7 - true - - - - - true - true - - true - - - <key>ru</key> - <value>Картинка для обмена через обычные каналы связи</value> - - - ru - Картинка для обмена через обычные каналы связи - - - КартинкаДляОбменаЧерезОбычныеКаналыСвязиExtendedTooltip - 2062 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - ru - Картинки выбора режима работы помощника - - - КартинкиВыбораРежимаРаботыПомощникаExtendedTooltip - 2056 - Label - true - true - - Left - - - Pages - - Auto - - true true true + + <key>ru</key> + <value>Выбор варианта подключения к другой программе</value> + Группа4ExtendedTooltip 2053 @@ -5461,8 +4579,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -5481,7 +4601,8 @@ 1904 <key>ru</key> - <value>Данный вариант подключения рекомендуется в том случае, если другая программа находится на том же компьютере, что и эта программа, или обе программы расположены в одной локальной сети (в одном офисе).</value> + <value>Данный вариант подключения рекомендуется в том случае, если другая программа находится на том же +компьютере, что и эта программа, или обе программы расположены в одной локальной сети (в одном офисе).</value> true true @@ -5582,72 +4703,25 @@ Vertical - - Декорация41 - 1828 - true - true - - true - - - Декорация41ExtendedTooltip - 2071 - Label - true - true - - Left - - - - Декорация41КонтекстноеМеню - 1829 - true - - Label - true - true - true - - Left - - - - ГиперСсылкаКакОпределитьПараметрыПодключения - 939 - true - true - - true - - - ГиперСсылкаКакОпределитьПараметрыПодключенияExtendedTooltip - 2072 - Label - true - true - - Left - - - Hyperlink - Form.Command.КакОпределитьПараметрыПодключения - Normal - Auto - true - true - UserCmds - Auto - true true true + Button Группа26ExtendedTooltip 2069 + + <key>ru</key> + <value>Для настройки синхронизации данных необходимо знать где находится программа, с которой нужно настроить синхронизацию (другая программа). Для этого достаточно открыть программу. В главном меню выбрать пункт "Справка\О программе...". +Обратите внимание на следующие параметры (все они могут быть скопированы из формы "О программе..."): +• Режим - либо файловый либо серверный. Если режим файловый, то информационная база находится в каталоге на данном компьютере или в локальной сети. Если режим серверный, то для подключения нужно знать имя сервера и имя информационной базы на сервере. +• Каталог - для файлового режима указывается каталог, в котором располагается информационная база. +• Сервер - для серверного режима указывается имя сервера 1С:Предприятия, на котором расположена информационная база. +• База - для серверного режима указывается имя информационной базы на сервере 1С:Предприятия. +• Пользователь - имя пользователя, который вошел в информационную базу. Если в имени пользователя присутствует ";", то в качестве имени пользователя для подключения нужно использовать имя от начала строки до ";".</value> + Label true true @@ -5745,10 +4819,8 @@ Opening COMКаталогИнформационнойБазыОткрытие - 56 true true - false true true true @@ -6256,7 +5328,6 @@ Vertical Auto - StrongSeparation true true Auto @@ -6337,7 +5408,8 @@ 1908 <key>ru</key> - <value>Этот вариант подключения рекомендуется выбрать, если программа находится в другой сети (офисе) и при этом доступна для подключения через Интернет.</value> + <value>Этот вариант подключения рекомендуется выбрать, если программа находится +в другой сети (офисе) и при этом доступна для подключения через Интернет.</value> true true @@ -6375,81 +5447,30 @@ Группа29 1823 - - Группа30 - 1826 - - Декорация40 - 1824 - - <key>ru</key> - <value>Укажите параметры подключения к другой программе</value> - - true - true - - true - - - Декорация40ExtendedTooltip - 2097 - Label - true - true - - Left - - - - Декорация40КонтекстноеМеню - 1825 - true - - Label - true - 2 - true - true - - Left - Top - - - - КакОпределитьПараметрыПодключенияКВебСервису - 1084 - true - true - - true - - - КакОпределитьПараметрыПодключенияКВебСервисуExtendedTooltip - 2098 - Label - true - true - - Left - - - Hyperlink - Form.Command.КакОпределитьПараметрыПодключенияКВебСервису - Normal - Auto - true - true - UserCmds - Auto - + + ДекорацияПараметрыПодключенияWS + 1824 + + <key>ru</key> + <value>Укажите параметры подключения к другой программе:</value> + true true true + Button - Группа30ExtendedTooltip - 2096 + ДекорацияПараметрыПодключенияWSРасширеннаяПодсказка + 2097 + + <key>ru</key> + <value>Для настройки синхронизации данных нужно знать где находится программа, с которой нужно настроить синхронизацию (другая программа). Для этого достаточно открыть программу в режиме веб-клиента. В главном меню выбрать пункт "Справка\О программе...". +Обратите внимание на следующие параметры (все они могут быть скопированы из формы "О программе..."): +• Адрес - адрес информационной базы в Интернете. +• Пользователь - имя пользователя, который вошел в информационную базу. Если в имени пользователя присутствует ";", то в качестве имени пользователя для подключения нужно использовать имя от начала строки до ";". +Важно! Имя пользователя не должно содержать служебных символов "[НедопустимыеСимволы]". В противном случае во второй информационной базе необходимо создать пользователя, в имени которого не будут содержаться служебные символы. Этот пользователь должен быть администратором.</value> + Label true true @@ -6457,13 +5478,18 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ДекорацияПараметрыПодключенияWSКонтекстноеМеню + 1825 + true + + Label + true + 1 + true + + Left + Top @@ -6827,10 +5853,8 @@ Vertical Auto - StrongSeparation true true - auto Auto Auto @@ -6909,9 +5933,13 @@ 1910 <key>ru</key> - <value>В случае если к другой программе нет возможности прямого подключения по локальной сети или через Интернет (веб-сервисы), рекомендуется использовать другие каналы связи: сетевой каталог, FTP-ресурс или электронную почту. При этом программы, между которыми настроена синхронизация данных, могут работать полностью автономно друг от друга и в разное время. + <value>В случае если к другой программе нет возможности прямого подключения по локальной сети +или через Интернет (веб-сервисы), рекомендуется использовать другие каналы связи: сетевой +каталог, FTP-ресурс или электронную почту. При этом программы, между которыми настроена +синхронизация данных, могут работать полностью автономно друг от друга и в разное время. -Такой вариант подключения подходит не только для синхронизации данных с программами, расположенными в других сетях (офисах), но и для программ в одной сети.</value> +Такой вариант подключения подходит не только для синхронизации данных с программами, +расположенными в других сетях (офисах), но и для программ в одной сети.</value> true true @@ -7101,145 +6129,28 @@ СтраницаМастераЗаданиеПараметровТранспортаFILE 694 - - ЗаголовокСтраницыМастера7 - 695 - - <key>ru</key> - <value>Настройка параметров подключения через локальный или сетевой каталог</value> - - true - true - - true - - - ЗаголовокСтраницыМастера7ExtendedTooltip - 2113 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера7КонтекстноеМеню - 696 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ИспользоватьПараметрыТранспортаFILE - 717 - true - true - - true - - - Объект.ИспользоватьПараметрыТранспортаFILE - - Right - - OnChange - ИспользоватьПараметрыТранспортаFILEПриИзменении - - - ИспользоватьПараметрыТранспортаFILEExtendedTooltip - 2114 - Label - true - true - - Left - - - - ИспользоватьПараметрыТранспортаFILEКонтекстноеМеню - 718 - true - - CheckBoxField - Enter - true - Left - true - - - НастройкиТранспортаFILE - 620 - - ПояснениеВыбораКаталогаОбменаИнформациейНаСервере - 755 - - <key>ru</key> - <value>Укажите каталог на сервере 1С:Предприятия или сетевой каталог, доступный с сервера.</value> - - true - true - - true - - - ПояснениеВыбораКаталогаОбменаИнформациейНаСервереExtendedTooltip - 2116 - Label - true - true - - Left - - - - ПояснениеВыбораКаталогаОбменаИнформациейНаСервереКонтекстноеМеню - 756 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - + ГруппаСтраницаМастераЗаданиеПараметровТранспортаFILE + 2477 - FILEКаталогОбменаИнформацией - 621 + ИспользоватьПараметрыТранспортаFILE + 717 true true true - Объект.FILEКаталогОбменаИнформацией + Объект.ИспользоватьПараметрыТранспортаFILE + Right + + OnChange + ИспользоватьПараметрыТранспортаFILEПриИзменении + - FILEКаталогОбменаИнформациейExtendedTooltip - 2117 + ИспользоватьПараметрыТранспортаFILEExtendedTooltip + 2114 Label true true @@ -7248,53 +6159,35 @@ - FILEКаталогОбменаИнформациейКонтекстноеМеню - 622 + ИспользоватьПараметрыТранспортаFILEКонтекстноеМеню + 718 true - InputField - true + CheckBoxField Enter true Left true - - - StartChoice - FILEКаталогОбменаИнформациейНачалоВыбора - - - Opening - FILEКаталогОбменаИнформациейОткрытие - - true - true - true - true - true - true - true - Normal - + - Группа32 - 1836 - - FILEСжиматьФайлИсходящегоСообщения - 623 + НастройкиТранспортаFILE + 620 + + ПояснениеВыбораКаталогаОбменаИнформациейНаСервере + 755 + + <key>ru</key> + <value>Укажите каталог на сервере 1С:Предприятия или сетевой каталог, доступный с сервера.</value> + true true true - - Объект.FILEСжиматьФайлИсходящегоСообщения - - Right - FILEСжиматьФайлИсходящегоСообщенияExtendedTooltip - 2119 + ПояснениеВыбораКаталогаОбменаИнформациейНаСервереExtendedTooltip + 2116 Label true true @@ -7303,31 +6196,34 @@ - FILEСжиматьФайлИсходящегоСообщенияКонтекстноеМеню - 624 + ПояснениеВыбораКаталогаОбменаИнформациейНаСервереКонтекстноеМеню + 756 true - CheckBoxField - Enter - true - Left - true - + Label + true + true + + Style.ПоясняющийТекст + + + Left + - ПарольАрхиваСообщенияОбмена - 639 + FILEКаталогОбменаИнформацией + 621 true true true - Объект.ПарольАрхиваСообщенияОбмена + Объект.FILEКаталогОбменаИнформацией - ПарольАрхиваСообщенияОбменаExtendedTooltip - 2120 + FILEКаталогОбменаИнформациейExtendedTooltip + 2117 Label true true @@ -7336,67 +6232,124 @@ - ПарольАрхиваСообщенияОбменаКонтекстноеМеню - 640 + FILEКаталогОбменаИнформациейКонтекстноеМеню + 622 true InputField + true Enter true Left true - 20 + + StartChoice + FILEКаталогОбменаИнформациейНачалоВыбора + + + Opening + FILEКаталогОбменаИнформациейОткрытие + true true - false + true true - true - true + true true true Normal - true - true - - true - - - Группа32ExtendedTooltip - 2118 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ОтступКнопкиПроверкиПодключенияFILE - 664 - - ПроверитьПодключениеFILE - 654 + + Группа32 + 1836 + + FILEСжиматьФайлИсходящегоСообщения + 623 + true + true + + true + + + Объект.FILEСжиматьФайлИсходящегоСообщения + + Right + + FILEСжиматьФайлИсходящегоСообщенияExtendedTooltip + 2119 + Label + true + true + + Left + + + + FILEСжиматьФайлИсходящегоСообщенияКонтекстноеМеню + 624 + true + + CheckBoxField + Enter + true + Left + true + + + + ПарольАрхиваСообщенияОбмена + 639 + true + true + + true + + + Объект.ПарольАрхиваСообщенияОбмена + + + ПарольАрхиваСообщенияОбменаExtendedTooltip + 2120 + Label + true + true + + Left + + + + ПарольАрхиваСообщенияОбменаКонтекстноеМеню + 640 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + true + true + Normal + + true true true - false - ПроверитьПодключениеFILEExtendedTooltip - 2122 + Группа32ExtendedTooltip + 2118 Label true true @@ -7404,23 +6357,88 @@ Left - UsualButton - Form.Command.ПроверитьПодключениеFILE - Normal - Auto - true - true - UserCmds - Auto + UsualGroup + + Auto + true + true + Auto + Auto + + + + ОтступКнопкиПроверкиПодключенияFILE + 664 + + ПроверитьПодключениеFILE + 654 + true + true + + true + + false + + ПроверитьПодключениеFILEExtendedTooltip + 2122 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеFILE + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ОтступКнопкиПроверкиПодключенияFILEExtendedTooltip + 2121 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + true true true + + <key>ru</key> + <value>Настройки транспорта FILE</value> + + + ru + Настройки транспорта FILE + - ОтступКнопкиПроверкиПодключенияFILEExtendedTooltip - 2121 + НастройкиТранспортаFILEExtendedTooltip + 2115 Label true true @@ -7439,6 +6457,73 @@ Auto + + Декорация4 + 697 + true + true + + true + + + Декорация4ExtendedTooltip + 2123 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 698 + true + + Label + true + true + true + false + + Left + + + + НадписьДалееFILE + 699 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для настройки подключения через FTP-ресурс.</value> + + true + true + + true + + + НадписьДалееFILEExtendedTooltip + 2124 + Label + true + true + + Left + + + + НадписьДалееFILEКонтекстноеМеню + 700 + true + + Label + true + true + false + + Left + + true true @@ -7446,15 +6531,11 @@ <key>ru</key> - <value>Настройки транспорта FILE</value> + <value>Настройка параметров подключения через локальный или сетевой каталог</value> - - ru - Настройки транспорта FILE - - НастройкиТранспортаFILEExtendedTooltip - 2115 + ГруппаСтраницаМастераЗаданиеПараметровТранспортаFILEРасширеннаяПодсказка + 2478 Label true true @@ -7469,77 +6550,11 @@ NormalSeparation true true + auto Auto Auto - - Декорация4 - 697 - true - true - - true - - - Декорация4ExtendedTooltip - 2123 - Label - true - true - - Left - - - - Декорация4КонтекстноеМеню - 698 - true - - Label - true - true - true - false - - Left - - - - НадписьДалееFILE - 699 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для настройки подключения через FTP-ресурс.</value> - - true - true - - true - - - НадписьДалееFILEExtendedTooltip - 2124 - Label - true - true - - Left - - - - НадписьДалееFILEКонтекстноеМеню - 700 - true - - Label - true - true - false - - Left - - true true @@ -7572,494 +6587,28 @@ СтраницаМастераЗаданиеПараметровТранспортаFTP 708 - - ЗаголовокСтраницыМастера9 - 709 - - <key>ru</key> - <value>Настройка параметров подключения через FTP-ресурс</value> - - true - true - - true - - - ЗаголовокСтраницыМастера9ExtendedTooltip - 2126 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера9КонтекстноеМеню - 710 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ИспользоватьПараметрыТранспортаFTP - 719 - true - true - - true - - - Объект.ИспользоватьПараметрыТранспортаFTP - - Right - - OnChange - ИспользоватьПараметрыТранспортаFTPПриИзменении - - - ИспользоватьПараметрыТранспортаFTPExtendedTooltip - 2127 - Label - true - true - - Left - - - - ИспользоватьПараметрыТранспортаFTPКонтекстноеМеню - 720 - true - - CheckBoxField - Enter - true - Left - true - - - НастройкиТранспортаFTP - 617 - - Декорация54 - 1858 - - <key>ru</key> - <value>Укажите путь к FTP каталогу, например, "ftp://SyncServer/Accounting/"</value> - - true - true - - true - - - Декорация54ExtendedTooltip - 2129 - Label - true - true - - Left - - - - Декорация54КонтекстноеМеню - 1859 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - - ГруппаСерверПорт - 650 - - FTPСоединениеПуть - 637 - true - true - - true - - - Объект.FTPСоединениеПуть - - - FTPСоединениеПутьExtendedTooltip - 2131 - Label - true - true - - Left - - - - FTPСоединениеПутьКонтекстноеМеню - 638 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - FTPСоединениеПорт - 635 - true - true - - true - - - Объект.FTPСоединениеПорт - - - FTPСоединениеПортExtendedTooltip - 2132 - Label - true - true - - Left - - - - FTPСоединениеПортКонтекстноеМеню - 636 - true - - InputField - true - Enter - true - Left - true - - true - true - true - - ru - ЧГ=0 - - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа сервер порт</value> - - - ru - Группа сервер порт - - - ГруппаСерверПортExtendedTooltip - 2130 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаПользовательПароль - 651 - - FTPСоединениеПользователь - 633 - true - true - - true - - - Объект.FTPСоединениеПользователь - - - FTPСоединениеПользовательExtendedTooltip - 2134 - Label - true - true - - Left - - - - FTPСоединениеПользовательКонтекстноеМеню - 634 - true - - InputField - Enter - true - Left - true - - true - true - false - true - true - true - true - Normal - - - - FTPСоединениеПароль - 629 - true - true - - true - - - Объект.FTPСоединениеПароль - - - FTPСоединениеПарольExtendedTooltip - 2135 - Label - true - true - - Left - - - - FTPСоединениеПарольКонтекстноеМеню - 630 - true - - InputField - Enter - true - Left - true - - 20 - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа пользователь пароль</value> - - - ru - Группа пользователь пароль - - - ГруппаПользовательПарольExtendedTooltip - 2133 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Группа34 - 1850 - - FTPСоединениеМаксимальныйДопустимыйРазмерСообщения - 627 - true - true - - true - - - Объект.FTPСоединениеМаксимальныйДопустимыйРазмерСообщения - - - FTPСоединениеМаксимальныйДопустимыйРазмерСообщенияExtendedTooltip - 2137 - Label - true - true - - Left - - - - FTPСоединениеМаксимальныйДопустимыйРазмерСообщенияКонтекстноеМеню - 628 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - Декорация51 - 1851 - - <key>ru</key> - <value>КБ (0 – нет ограничений)</value> - - true - true - - true - - - Декорация51ExtendedTooltip - 2138 - Label - true - true - - Left - - - - Декорация51КонтекстноеМеню - 1852 - true - - Label - true - true - - Left - - - true - true - - true - - - Группа34ExtendedTooltip - 2136 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - + ГруппаСтраницаМастераЗаданиеПараметровТранспортаFTP + 2475 - FTPСоединениеПассивноеСоединение - 631 + ИспользоватьПараметрыТранспортаFTP + 719 true true true - Объект.FTPСоединениеПассивноеСоединение + Объект.ИспользоватьПараметрыТранспортаFTP Right + + OnChange + ИспользоватьПараметрыТранспортаFTPПриИзменении + - FTPСоединениеПассивноеСоединениеExtendedTooltip - 2139 + ИспользоватьПараметрыТранспортаFTPExtendedTooltip + 2127 Label true true @@ -8068,8 +6617,8 @@ - FTPСоединениеПассивноеСоединениеКонтекстноеМеню - 632 + ИспользоватьПараметрыТранспортаFTPКонтекстноеМеню + 720 true CheckBoxField @@ -8080,23 +6629,23 @@ - ГруппаЗаданияПароляСообщенияОбменаFTP - 661 - - FTPСжиматьФайлИсходящегоСообщения - 625 + НастройкиТранспортаFTP + 617 + + Декорация54 + 1858 + + <key>ru</key> + <value>Укажите путь к FTP каталогу, например, "ftp://SyncServer/Accounting/"</value> + true true true - - Объект.FTPСжиматьФайлИсходящегоСообщения - - Right - FTPСжиматьФайлИсходящегоСообщенияExtendedTooltip - 2141 + Декорация54ExtendedTooltip + 2129 Label true true @@ -8105,8 +6654,393 @@ - FTPСжиматьФайлИсходящегоСообщенияКонтекстноеМеню - 626 + Декорация54КонтекстноеМеню + 1859 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + + ГруппаСерверПорт + 650 + + FTPСоединениеПуть + 637 + true + true + + true + + + Объект.FTPСоединениеПуть + + + FTPСоединениеПутьExtendedTooltip + 2131 + Label + true + true + + Left + + + + FTPСоединениеПутьКонтекстноеМеню + 638 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + FTPСоединениеПорт + 635 + true + true + + true + + + Объект.FTPСоединениеПорт + + + FTPСоединениеПортExtendedTooltip + 2132 + Label + true + true + + Left + + + + FTPСоединениеПортКонтекстноеМеню + 636 + true + + InputField + true + Enter + true + Left + true + + true + true + true + + ru + ЧГ=0 + + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа сервер порт</value> + + + ru + Группа сервер порт + + + ГруппаСерверПортExtendedTooltip + 2130 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаПользовательПароль + 651 + + FTPСоединениеПользователь + 633 + true + true + + true + + + Объект.FTPСоединениеПользователь + + + FTPСоединениеПользовательExtendedTooltip + 2134 + Label + true + true + + Left + + + + FTPСоединениеПользовательКонтекстноеМеню + 634 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + true + Normal + + + + FTPСоединениеПароль + 629 + true + true + + true + + + Объект.FTPСоединениеПароль + + + FTPСоединениеПарольExtendedTooltip + 2135 + Label + true + true + + Left + + + + FTPСоединениеПарольКонтекстноеМеню + 630 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа пользователь пароль</value> + + + ru + Группа пользователь пароль + + + ГруппаПользовательПарольExtendedTooltip + 2133 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа34 + 1850 + + FTPСоединениеМаксимальныйДопустимыйРазмерСообщения + 627 + true + true + + true + + + Объект.FTPСоединениеМаксимальныйДопустимыйРазмерСообщения + + + FTPСоединениеМаксимальныйДопустимыйРазмерСообщенияExtendedTooltip + 2137 + Label + true + true + + Left + + + + FTPСоединениеМаксимальныйДопустимыйРазмерСообщенияКонтекстноеМеню + 628 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + Декорация51 + 1851 + + <key>ru</key> + <value>КБ (0 – нет ограничений)</value> + + true + true + + true + + + Декорация51ExtendedTooltip + 2138 + Label + true + true + + Left + + + + Декорация51КонтекстноеМеню + 1852 + true + + Label + true + true + + Left + + + true + true + + true + + + Группа34ExtendedTooltip + 2136 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + FTPСоединениеПассивноеСоединение + 631 + true + true + + true + + + Объект.FTPСоединениеПассивноеСоединение + + Right + + FTPСоединениеПассивноеСоединениеExtendedTooltip + 2139 + Label + true + true + + Left + + + + FTPСоединениеПассивноеСоединениеКонтекстноеМеню + 632 true CheckBoxField @@ -8116,20 +7050,103 @@ true - - ПарольАрхиваСообщенияОбмена1 - 657 + + ГруппаЗаданияПароляСообщенияОбменаFTP + 661 + + FTPСжиматьФайлИсходящегоСообщения + 625 + true + true + + true + + + Объект.FTPСжиматьФайлИсходящегоСообщения + + Right + + FTPСжиматьФайлИсходящегоСообщенияExtendedTooltip + 2141 + Label + true + true + + Left + + + + FTPСжиматьФайлИсходящегоСообщенияКонтекстноеМеню + 626 + true + + CheckBoxField + Enter + true + Left + true + + + + ПарольАрхиваСообщенияОбмена1 + 657 + true + true + + true + + + Объект.ПарольАрхиваСообщенияОбмена + + + ПарольАрхиваСообщенияОбмена1ExtendedTooltip + 2142 + Label + true + true + + Left + + + + ПарольАрхиваСообщенияОбмена1КонтекстноеМеню + 658 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + true + true + Normal + + true true true - - Объект.ПарольАрхиваСообщенияОбмена - + + <key>ru</key> + <value>Группа задания пароля сообщения обмена FTP</value> + + + ru + Группа задания пароля сообщения обмена FTP + - ПарольАрхиваСообщенияОбмена1ExtendedTooltip - 2142 + ГруппаЗаданияПароляСообщенияОбменаFTPExtendedTooltip + 2140 Label true true @@ -8137,27 +7154,101 @@ Left - - ПарольАрхиваСообщенияОбмена1КонтекстноеМеню - 658 - true - - InputField - Enter - true - Left - true - - 20 + UsualGroup + + Auto + true + true + Auto + Auto + + + + ПараметрыДоступаВИнтернет2 + 1927 + true + true + + true + + + ПараметрыДоступаВИнтернет2ExtendedTooltip + 2143 + Label true true - false - true - true - true - true - true - Normal + + Left + + + Hyperlink + Form.Command.ПараметрыДоступаВИнтернет + Normal + Auto + true + true + UserCmds + Auto + + + ОтступКнопкиПроверкиПодключенияFTP + 665 + + ПроверитьПодключениеFTP + 655 + true + true + + true + + false + + ПроверитьПодключениеFTPExtendedTooltip + 2145 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеFTP + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ru + Отступ кнопки проверки подключения FTP + + + ОтступКнопкиПроверкиПодключенияFTPExtendedTooltip + 2144 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto true @@ -8167,101 +7258,15 @@ <key>ru</key> - <value>Группа задания пароля сообщения обмена FTP</value> + <value>Настройки транспорта FTP</value> ru - Группа задания пароля сообщения обмена FTP + Настройки транспорта FTP - ГруппаЗаданияПароляСообщенияОбменаFTPExtendedTooltip - 2140 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ПараметрыДоступаВИнтернет2 - 1927 - true - true - - true - - - ПараметрыДоступаВИнтернет2ExtendedTooltip - 2143 - Label - true - true - - Left - - - Hyperlink - Form.Command.ПараметрыДоступаВИнтернет - Normal - Auto - true - true - UserCmds - Auto - - - ОтступКнопкиПроверкиПодключенияFTP - 665 - - ПроверитьПодключениеFTP - 655 - true - true - - true - - false - - ПроверитьПодключениеFTPExtendedTooltip - 2145 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеFTP - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - ru - Отступ кнопки проверки подключения FTP - - - ОтступКнопкиПроверкиПодключенияFTPExtendedTooltip - 2144 + НастройкиТранспортаFTPExtendedTooltip + 2128 Label true true @@ -8280,6 +7285,73 @@ Auto + + Декорация8 + 711 + true + true + + true + + + Декорация8ExtendedTooltip + 2146 + Label + true + true + + Left + + + + Декорация8КонтекстноеМеню + 712 + true + + Label + true + true + true + false + + Left + + + + НадписьДалееFTP + 713 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для настройки подключения по почте.</value> + + true + true + + true + + + НадписьДалееFTPExtendedTooltip + 2147 + Label + true + true + + Left + + + + НадписьДалееFTPКонтекстноеМеню + 714 + true + + Label + true + true + false + + Left + + true true @@ -8287,15 +7359,11 @@ <key>ru</key> - <value>Настройки транспорта FTP</value> + <value>Настройка параметров подключения через FTP-ресурс</value> - - ru - Настройки транспорта FTP - - НастройкиТранспортаFTPExtendedTooltip - 2128 + ГруппаСтраницаМастераЗаданиеПараметровТранспортаFTPРасширеннаяПодсказка + 2476 Label true true @@ -8310,77 +7378,11 @@ NormalSeparation true true + auto Auto Auto - - Декорация8 - 711 - true - true - - true - - - Декорация8ExtendedTooltip - 2146 - Label - true - true - - Left - - - - Декорация8КонтекстноеМеню - 712 - true - - Label - true - true - true - false - - Left - - - - НадписьДалееFTP - 713 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для настройки подключения по почте.</value> - - true - true - - true - - - НадписьДалееFTPExtendedTooltip - 2147 - Label - true - true - - Left - - - - НадписьДалееFTPКонтекстноеМеню - 714 - true - - Label - true - true - false - - Left - - true true @@ -8413,108 +7415,28 @@ СтраницаМастераЗаданиеПараметровТранспортаEMAIL 701 - - ЗаголовокСтраницыМастера8 - 702 - - <key>ru</key> - <value>Настройка параметров подключения по электронной почте</value> - - true - true - - true - - - ЗаголовокСтраницыМастера8ExtendedTooltip - 2149 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера8КонтекстноеМеню - 703 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ИспользоватьПараметрыТранспортаEMAIL - 721 - true - true - - true - - - Объект.ИспользоватьПараметрыТранспортаEMAIL - - Right - - OnChange - ИспользоватьПараметрыТранспортаEMAILПриИзменении - - - ИспользоватьПараметрыТранспортаEMAILExtendedTooltip - 2150 - Label - true - true - - Left - - - - ИспользоватьПараметрыТранспортаEMAILКонтекстноеМеню - 722 - true - - CheckBoxField - Enter - true - Left - true - - - НастройкиТранспортаEMAIL - 619 + ГруппаСтраницаМастераЗаданиеПараметровТранспортаEMAIL + 2473 - EMAILУчетнаяЗапись - 652 + ИспользоватьПараметрыТранспортаEMAIL + 721 true true true - Объект.EMAILУчетнаяЗапись + Объект.ИспользоватьПараметрыТранспортаEMAIL + Right + + OnChange + ИспользоватьПараметрыТранспортаEMAILПриИзменении + - EMAILУчетнаяЗаписьExtendedTooltip - 2152 + ИспользоватьПараметрыТранспортаEMAILExtendedTooltip + 2150 Label true true @@ -8523,44 +7445,34 @@ - EMAILУчетнаяЗаписьКонтекстноеМеню - 653 + ИспользоватьПараметрыТранспортаEMAILКонтекстноеМеню + 722 true - InputField - true + CheckBoxField Enter true Left true - - true - true - true - true - true - true - true - Normal - + - Группа35 - 1853 + НастройкиТранспортаEMAIL + 619 - EMAILМаксимальныйДопустимыйРазмерСообщения - 643 + EMAILУчетнаяЗапись + 652 true true true - Объект.EMAILМаксимальныйДопустимыйРазмерСообщения + Объект.EMAILУчетнаяЗапись - EMAILМаксимальныйДопустимыйРазмерСообщенияExtendedTooltip - 2154 + EMAILУчетнаяЗаписьExtendedTooltip + 2152 Label true true @@ -8569,11 +7481,12 @@ - EMAILМаксимальныйДопустимыйРазмерСообщенияКонтекстноеМеню - 644 + EMAILУчетнаяЗаписьКонтекстноеМеню + 653 true InputField + true Enter true Left @@ -8582,28 +7495,100 @@ true true true - true + true true true true Normal - - Декорация52 - 1854 - - <key>ru</key> - <value>КБ (0 – нет ограничений)</value> - + + Группа35 + 1853 + + EMAILМаксимальныйДопустимыйРазмерСообщения + 643 + true + true + + true + + + Объект.EMAILМаксимальныйДопустимыйРазмерСообщения + + + EMAILМаксимальныйДопустимыйРазмерСообщенияExtendedTooltip + 2154 + Label + true + true + + Left + + + + EMAILМаксимальныйДопустимыйРазмерСообщенияКонтекстноеМеню + 644 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + Декорация52 + 1854 + + <key>ru</key> + <value>КБ (0 – нет ограничений)</value> + + true + true + + true + + + Декорация52ExtendedTooltip + 2155 + Label + true + true + + Left + + + + Декорация52КонтекстноеМеню + 1855 + true + + Label + true + true + + Left + + true true true - Декорация52ExtendedTooltip - 2155 + Группа35ExtendedTooltip + 2153 Label true true @@ -8611,16 +7596,175 @@ Left - - Декорация52КонтекстноеМеню - 1855 - true - - Label - true - true - - Left + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа33 + 1849 + + EMAILСжиматьФайлИсходящегоСообщения + 645 + true + true + + true + + + Объект.EMAILСжиматьФайлИсходящегоСообщения + + Right + + EMAILСжиматьФайлИсходящегоСообщенияExtendedTooltip + 2157 + Label + true + true + + Left + + + + EMAILСжиматьФайлИсходящегоСообщенияКонтекстноеМеню + 646 + true + + CheckBoxField + Enter + true + Left + true + + + + ПарольАрхиваСообщенияОбмена2 + 659 + true + true + + true + + + Объект.ПарольАрхиваСообщенияОбмена + + + ПарольАрхиваСообщенияОбмена2ExtendedTooltip + 2158 + Label + true + true + + Left + + + + ПарольАрхиваСообщенияОбмена2КонтекстноеМеню + 660 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + true + true + Normal + + + true + true + + true + + + Группа33ExtendedTooltip + 2156 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ОтступКнопкиПроверкиПодключенияEMAIL + 666 + + ПроверитьПодключениеEMAIL + 656 + true + true + + true + + false + + ПроверитьПодключениеEMAILExtendedTooltip + 2160 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеEMAIL + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ОтступКнопкиПроверкиПодключенияEMAILExtendedTooltip + 2159 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto true @@ -8628,169 +7772,17 @@ true + + <key>ru</key> + <value>Настройки транспорта EMAIL</value> + + + ru + Настройки транспорта EMAIL + - Группа35ExtendedTooltip - 2153 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Группа33 - 1849 - - EMAILСжиматьФайлИсходящегоСообщения - 645 - true - true - - true - - - Объект.EMAILСжиматьФайлИсходящегоСообщения - - Right - - EMAILСжиматьФайлИсходящегоСообщенияExtendedTooltip - 2157 - Label - true - true - - Left - - - - EMAILСжиматьФайлИсходящегоСообщенияКонтекстноеМеню - 646 - true - - CheckBoxField - Enter - true - Left - true - - - - ПарольАрхиваСообщенияОбмена2 - 659 - true - true - - true - - - Объект.ПарольАрхиваСообщенияОбмена - - - ПарольАрхиваСообщенияОбмена2ExtendedTooltip - 2158 - Label - true - true - - Left - - - - ПарольАрхиваСообщенияОбмена2КонтекстноеМеню - 660 - true - - InputField - Enter - true - Left - true - - 20 - true - true - false - true - true - true - true - true - Normal - - - true - true - - true - - - Группа33ExtendedTooltip - 2156 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ОтступКнопкиПроверкиПодключенияEMAIL - 666 - - ПроверитьПодключениеEMAIL - 656 - true - true - - true - - false - - ПроверитьПодключениеEMAILExtendedTooltip - 2160 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеEMAIL - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - ОтступКнопкиПроверкиПодключенияEMAILExtendedTooltip - 2159 + НастройкиТранспортаEMAILExtendedTooltip + 2151 Label true true @@ -8809,6 +7801,73 @@ Auto + + Декорация7 + 704 + true + true + + true + + + Декорация7ExtendedTooltip + 2161 + Label + true + true + + Left + + + + Декорация7КонтекстноеМеню + 705 + true + + Label + true + true + true + false + + Left + + + + НадписьДалееEMAIL + 706 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для настройки дополнительных параметров обмена данными.</value> + + true + true + + true + + + НадписьДалееEMAILExtendedTooltip + 2162 + Label + true + true + + Left + + + + НадписьДалееEMAILКонтекстноеМеню + 707 + true + + Label + true + true + false + + Left + + true true @@ -8816,15 +7875,15 @@ <key>ru</key> - <value>Настройки транспорта EMAIL</value> + <value>Настройка параметров подключения по электронной почте</value> ru - Настройки транспорта EMAIL + Группа страница мастера задание параметров транспорта EMAIL - НастройкиТранспортаEMAILExtendedTooltip - 2151 + ГруппаСтраницаМастераЗаданиеПараметровТранспортаEMAILРасширеннаяПодсказка + 2474 Label true true @@ -8839,77 +7898,11 @@ NormalSeparation true true + auto Auto Auto - - Декорация7 - 704 - true - true - - true - - - Декорация7ExtendedTooltip - 2161 - Label - true - true - - Left - - - - Декорация7КонтекстноеМеню - 705 - true - - Label - true - true - true - false - - Left - - - - НадписьДалееEMAIL - 706 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для настройки дополнительных параметров обмена данными.</value> - - true - true - - true - - - НадписьДалееEMAILExtendedTooltip - 2162 - Label - true - true - - Left - - - - НадписьДалееEMAILКонтекстноеМеню - 707 - true - - Label - true - true - false - - Left - - true true @@ -8942,165 +7935,31 @@ СтраницаМастераНастройкаПараметров 6 - - ЗаголовокСтраницыМастера5 - 174 - - <key>ru</key> - <value>Настройка параметров синхронизации данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастера5ExtendedTooltip - 2164 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера5КонтекстноеМеню - 175 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа6 1800 - Группа18 - 1801 - - Группа19 - 1802 - - НаименованиеЭтойБазы - 67 - - <key>ru</key> - <value>Наименование этой информационной базы</value> - - true - true - - true - - - Объект.НаименованиеЭтойБазы - - Left - - НаименованиеЭтойБазыExtendedTooltip - 2168 - Label - true - true - - Left - - - - НаименованиеЭтойБазыКонтекстноеМеню - 68 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - НаименованиеВторойБазы - 978 - - <key>ru</key> - <value>Наименование другой информационной базы</value> - - true - true - - true - - - Объект.НаименованиеВторойБазы - - - НаименованиеВторойБазыExtendedTooltip - 2169 - Label - true - true - - Left - - - - НаименованиеВторойБазыКонтекстноеМеню - 979 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - + Группа19 + 1802 + + НаименованиеЭтойБазы + 67 + + <key>ru</key> + <value>Наименование этой информационной базы</value> + true true true + + Объект.НаименованиеЭтойБазы + + Top - Группа19ExtendedTooltip - 2167 + НаименованиеЭтойБазыExtendedTooltip + 2168 Label true true @@ -9108,242 +7967,47 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + НаименованиеЭтойБазыКонтекстноеМеню + 68 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal - - Группа22 - 1806 - - Группа21 - 1878 - - ПрефиксИнформационнойБазыИсточника - 117 - - <key>ru</key> - <value>Префикс</value> - - true - true - - true - - - Объект.ПрефиксИнформационнойБазыИсточника - - - ПрефиксИнформационнойБазыИсточникаExtendedTooltip - 2172 - Label - true - true - - Left - - - - ПрефиксИнформационнойБазыИсточникаКонтекстноеМеню - 118 - true - - InputField - true - Enter - true - Left - true - - 3 - true - true - true - true - true - true - true - Normal - - - - Декорация1 - 1880 - true - true - - true - - - Декорация1ExtendedTooltip - 2173 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 1881 - true - - Label - 1 - true - true - false - - Left - - - true - true - - true - - - Группа21ExtendedTooltip - 2171 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Группа41 - 1879 - - ПрефиксИнформационнойБазыПриемника1 - 1033 - - <key>ru</key> - <value>Префикс</value> - - true - true - - true - - - Объект.ПрефиксИнформационнойБазыПриемника - - - ПрефиксИнформационнойБазыПриемника1ExtendedTooltip - 2175 - Label - true - true - - Left - - - - ПрефиксИнформационнойБазыПриемника1КонтекстноеМеню - 1034 - true - - InputField - true - Enter - true - Left - true - - 3 - true - true - false - true - true - true - true - true - Normal - - - - Декорация6 - 1882 - true - true - - true - - - Декорация6ExtendedTooltip - 2176 - Label - true - true - - Left - - - - Декорация6КонтекстноеМеню - 1883 - true - - Label - 1 - true - true - false - - Left - - - true - true - - true - - - Группа41ExtendedTooltip - 2174 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - + + ПрефиксИнформационнойБазыИсточника + 117 + + <key>ru</key> + <value>Префикс</value> + true true true + + Объект.ПрефиксИнформационнойБазыИсточника + + Top - Группа22ExtendedTooltip - 2170 + ПрефиксИнформационнойБазыИсточникаExtendedTooltip + 2172 Label true true @@ -9351,14 +8015,57 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + ПрефиксИнформационнойБазыИсточникаКонтекстноеМеню + 118 + true + + InputField + true + Enter + true + Left + true + + 3 + true + true + true + true + true + true + true + Normal + + + + ЗаглушкаПрефикс + 2470 + true + true + + true + + + ЗаглушкаПрефиксРасширеннаяПодсказка + 2472 + Label + true + true + + Left + + + + ЗаглушкаПрефиксКонтекстноеМеню + 2471 + true + + Label + true + true + + Left true @@ -9367,8 +8074,138 @@ true - Группа18ExtendedTooltip - 2166 + Группа19ExtendedTooltip + 2167 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа41 + 1879 + + НаименованиеВторойБазы + 978 + + <key>ru</key> + <value>Наименование другой информационной базы</value> + + true + true + + true + + + Объект.НаименованиеВторойБазы + + Top + + НаименованиеВторойБазыExtendedTooltip + 2169 + Label + true + true + + Left + + + + НаименованиеВторойБазыКонтекстноеМеню + 979 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + ПрефиксИнформационнойБазыПриемника1 + 1033 + + <key>ru</key> + <value>Префикс</value> + + true + true + + true + + + Объект.ПрефиксИнформационнойБазыПриемника + + Top + Button + + ПрефиксИнформационнойБазыПриемника1ExtendedTooltip + 2175 + + <key>ru</key> + <value>Для того чтобы узнать префикс второй информационной базы следует выполнить запуск программы и перейти в форму синхронизации данных. Если во второй информационной базе префикс не задан, то следует указать любой желаемый префикс. Этот префикс будет установлен во второй базе при настройке синхронизации данных.</value> + + Label + true + true + + Left + + + + ПрефиксИнформационнойБазыПриемника1КонтекстноеМеню + 1034 + true + + InputField + true + Enter + true + Left + true + + 3 + true + true + false + true + true + true + true + true + Normal + + + true + true + + true + + + Группа41ExtendedTooltip + 2174 Label true true @@ -9399,6 +8236,7 @@ Объект.ВидТранспортаСообщенийОбмена + Top ВидТранспортаСообщенийОбменаExtendedTooltip 2178 @@ -9423,7 +8261,6 @@ true true - false true true true @@ -9491,33 +8328,6 @@ Left - - КакОпределитьПрефиксВторойИнформационнойБазы - 1070 - true - true - - true - - - КакОпределитьПрефиксВторойИнформационнойБазыExtendedTooltip - 2180 - Label - true - true - - Left - - - Hyperlink - Form.Command.КакОпределитьПрефиксВторойИнформационнойБазы - Normal - Auto - true - true - UserCmds - Auto - true true @@ -9547,6 +8357,10 @@ true + + <key>ru</key> + <value>Настройка параметров синхронизации данных</value> + Группа6ExtendedTooltip 2165 @@ -9561,8 +8375,10 @@ Vertical Auto + NormalSeparation true true + auto Auto Auto @@ -9573,49 +8389,13 @@ РамкаГруппыОграничений 111 - - НадписьОписаниеОграниченийПередачиДанных - 1887 - - <key>ru</key> - <value>Правила отправки данных в -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеОграниченийПередачиДанныхExtendedTooltip - 2183 - Label - true - true - - Left - - - - НадписьОписаниеОграниченийПередачиДанныхКонтекстноеМеню - 1888 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеОграниченийПередачиДанных 387 <key>ru</key> - <value>Правила выгрузки данных в %Программа%</value> + <value>Правила отправки данных в +%Программа%</value> true true @@ -9625,8 +8405,7 @@ ОписаниеОграниченийПередачиДанных - None - 2 + Top ОписаниеОграниченийПередачиДанныхExtendedTooltip 2184 @@ -9650,9 +8429,8 @@ true true - 9 + 8 true - true true true true @@ -9727,49 +8505,13 @@ РамкаГруппыЗначенийПоУмолчанию 532 - - НадписьОписаниеЗначенийПоУмолчанию - 1889 - - <key>ru</key> - <value>Правила получения данных из -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеЗначенийПоУмолчаниюExtendedTooltip - 2187 - Label - true - true - - Left - - - - НадписьОписаниеЗначенийПоУмолчаниюКонтекстноеМеню - 1890 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеЗначенийПоУмолчанию 533 <key>ru</key> - <value>Правила заполнения реквизитов документов при загрузке из %Программа%</value> + <value>Правила получения данных из +%Программа%</value> true true @@ -9779,8 +8521,7 @@ ОписаниеЗначенийПоУмолчанию - None - 2 + Top ОписаниеЗначенийПоУмолчаниюExtendedTooltip 2188 @@ -9804,9 +8545,8 @@ true true - 9 + 8 true - true true true true @@ -10007,448 +8747,427 @@ СтраницаМастераНастройкаПараметровВторогоЭтапаНастройки 1038 - - ЗаголовокСтраницыМастера11 - 1039 + + ГруппаСтраницаМастераНастройкаПараметровВторогоЭтапаНастройки + 2468 + + ВидТранспортаСообщенийОбмена1 + 1045 + true + true + + true + + + Объект.ВидТранспортаСообщенийОбмена + + Top + + ВидТранспортаСообщенийОбмена1ExtendedTooltip + 2194 + Label + true + true + + Left + + + + ВидТранспортаСообщенийОбмена1КонтекстноеМеню + 1046 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + false + true + true + true + true + true + + + ru + Локальный или сетевой каталог + + + Enum.ВидыТранспортаСообщенийОбмена.EnumValue.FILE + + + + + ru + FTP-ресурс + + + Enum.ВидыТранспортаСообщенийОбмена.EnumValue.FTP + + + + + ru + Почтовые сообщения + + + Enum.ВидыТранспортаСообщенийОбмена.EnumValue.EMAIL + + + Normal + + + + НастройкиУзла2 + 1054 + + РамкаГруппыОграничений2 + 1055 + + ОписаниеОграниченийПередачиДанных2 + 1056 + + <key>ru</key> + <value>Правила отправки данных в +%Программа%</value> + + true + true + + true + + + ОписаниеОграниченийПередачиДанных + + Top + + ОписаниеОграниченийПередачиДанных2ExtendedTooltip + 2198 + Label + true + true + + Left + + + + ОписаниеОграниченийПередачиДанных2КонтекстноеМеню + 1057 + true + + InputField + true + Enter + true + Left + true + + true + 8 + true + true + true + true + true + true + Normal + + + + НастройкаОграниченийРегистрацииДанных2 + 1059 + true + true + + true + + false + + НастройкаОграниченийРегистрацииДанных2ExtendedTooltip + 2199 + Label + true + true + + Left + + + Hyperlink + Form.Command.НастройкаОграниченийРегистрацииДанных + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Ограничения передачи данных:</value> + + + ru + Рамка группы ограничений + + true + false + + РамкаГруппыОграничений2ExtendedTooltip + 2196 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + РамкаГруппыЗначенийПоУмолчанию2 + 1060 + + ОписаниеЗначенийПоУмолчанию2 + 1061 + + <key>ru</key> + <value>Правила получения данных из +%Программа%</value> + + true + true + + true + + + ОписаниеЗначенийПоУмолчанию + + Top + + ОписаниеЗначенийПоУмолчанию2ExtendedTooltip + 2202 + Label + true + true + + Left + + + + ОписаниеЗначенийПоУмолчанию2КонтекстноеМеню + 1062 + true + + InputField + true + Enter + true + Left + true + + true + 8 + true + true + true + true + true + true + Normal + + + + НастройкаЗначенийПоУмолчанию2 + 1064 + true + true + + true + + false + + НастройкаЗначенийПоУмолчанию2ExtendedTooltip + 2203 + Label + true + true + + Left + + + Hyperlink + Form.Command.НастройкаЗначенийПоУмолчанию + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Значения по умолчанию:</value> + + true + false + + РамкаГруппыЗначенийПоУмолчанию2ExtendedTooltip + 2200 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Настройки узла</value> + + + ru + Настройки узла + + + НастройкиУзла2ExtendedTooltip + 2195 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Equal + Auto + Auto + + + + Декорация23 + 1065 + true + true + + true + + + Декорация23ExtendedTooltip + 2204 + Label + true + true + + Left + + + + Декорация23КонтекстноеМеню + 1066 + true + + Label + true + true + true + false + + Left + + + + НадписьДалееПодтверждениеНастроек3 + 1067 + + <key>ru</key> + <value>Нажмите кнопку "Далее" для проверки параметров и завершения настройки синхронизации данных.</value> + + true + true + + true + + + НадписьДалееПодтверждениеНастроек3ExtendedTooltip + 2205 + Label + true + true + + Left + + + + НадписьДалееПодтверждениеНастроек3КонтекстноеМеню + 1068 + true + + Label + true + true + false + + Left + + + true + true + + true + <key>ru</key> <value>Настройка параметров синхронизации данных</value> - true - true - - true - - ЗаголовокСтраницыМастера11ExtendedTooltip - 2193 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера11КонтекстноеМеню - 1040 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ВидТранспортаСообщенийОбмена1 - 1045 - true - true - - true - - - Объект.ВидТранспортаСообщенийОбмена - - - ВидТранспортаСообщенийОбмена1ExtendedTooltip - 2194 - Label - true - true - - Left - - - - ВидТранспортаСообщенийОбмена1КонтекстноеМеню - 1046 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - false - true - true - true - true - true - - - ru - Локальный или сетевой каталог - - - Enum.ВидыТранспортаСообщенийОбмена.EnumValue.FILE - - - - - ru - FTP-ресурс - - - Enum.ВидыТранспортаСообщенийОбмена.EnumValue.FTP - - - - - ru - Почтовые сообщения - - - Enum.ВидыТранспортаСообщенийОбмена.EnumValue.EMAIL - - - Normal - - - - НастройкиУзла2 - 1054 - - РамкаГруппыОграничений2 - 1055 - - НадписьОписаниеОграниченийПередачиДанных2 - 1899 - - <key>ru</key> - <value>Правила отправки данных в -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеОграниченийПередачиДанных2ExtendedTooltip - 2197 - Label - true - true - - Left - - - - НадписьОписаниеОграниченийПередачиДанных2КонтекстноеМеню - 1900 - true - - Label - true - 3 - true - - Left - Bottom - - - - ОписаниеОграниченийПередачиДанных2 - 1056 - - <key>ru</key> - <value>Правила выгрузки данных в %Программа%</value> - - true - true - - true - - - ОписаниеОграниченийПередачиДанных - - None - 2 - - ОписаниеОграниченийПередачиДанных2ExtendedTooltip - 2198 - Label - true - true - - Left - - - - ОписаниеОграниченийПередачиДанных2КонтекстноеМеню - 1057 - true - - InputField - true - Enter - true - Left - true - - true - 9 - true - true - true - true - true - true - true - Normal - - - - НастройкаОграниченийРегистрацииДанных2 - 1059 - true - true - - true - - false - - НастройкаОграниченийРегистрацииДанных2ExtendedTooltip - 2199 - Label - true - true - - Left - - - Hyperlink - Form.Command.НастройкаОграниченийРегистрацииДанных - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Ограничения передачи данных:</value> - - - ru - Рамка группы ограничений - - true - false - - РамкаГруппыОграничений2ExtendedTooltip - 2196 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - РамкаГруппыЗначенийПоУмолчанию2 - 1060 - - НадписьОписаниеЗначенийПоУмолчанию2 - 1901 - - <key>ru</key> - <value>Правила получения данных из -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеЗначенийПоУмолчанию2ExtendedTooltip - 2201 - Label - true - true - - Left - - - - НадписьОписаниеЗначенийПоУмолчанию2КонтекстноеМеню - 1902 - true - - Label - true - 3 - true - - Left - Bottom - - - - ОписаниеЗначенийПоУмолчанию2 - 1061 - - <key>ru</key> - <value>Правила заполнения реквизитов документов при загрузке из %Программа%</value> - - true - true - - true - - - ОписаниеЗначенийПоУмолчанию - - None - - ОписаниеЗначенийПоУмолчанию2ExtendedTooltip - 2202 - Label - true - true - - Left - - - - ОписаниеЗначенийПоУмолчанию2КонтекстноеМеню - 1062 - true - - InputField - true - Enter - true - Left - true - - true - 9 - true - true - true - true - true - true - true - Normal - - - - НастройкаЗначенийПоУмолчанию2 - 1064 - true - true - - true - - false - - НастройкаЗначенийПоУмолчанию2ExtendedTooltip - 2203 - Label - true - true - - Left - - - Hyperlink - Form.Command.НастройкаЗначенийПоУмолчанию - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Значения по умолчанию:</value> - - true - false - - РамкаГруппыЗначенийПоУмолчанию2ExtendedTooltip - 2200 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Настройки узла</value> - - - ru - Настройки узла - - - НастройкиУзла2ExtendedTooltip - 2195 + ГруппаСтраницаМастераНастройкаПараметровВторогоЭтапаНастройкиРасширеннаяПодсказка + 2469 Label true true @@ -10458,82 +9177,16 @@ UsualGroup + Vertical Auto NormalSeparation true true - Equal + auto Auto Auto - - Декорация23 - 1065 - true - true - - true - - - Декорация23ExtendedTooltip - 2204 - Label - true - true - - Left - - - - Декорация23КонтекстноеМеню - 1066 - true - - Label - true - true - true - false - - Left - - - - НадписьДалееПодтверждениеНастроек3 - 1067 - - <key>ru</key> - <value>Нажмите кнопку "Далее" для проверки параметров и завершения настройки синхронизации данных.</value> - - true - true - - true - - - НадписьДалееПодтверждениеНастроек3ExtendedTooltip - 2205 - Label - true - true - - Left - - - - НадписьДалееПодтверждениеНастроек3КонтекстноеМеню - 1068 - true - - Label - true - true - false - - Left - - true true @@ -10566,53 +9219,6 @@ СтраницаМастераНастройкаПараметровДляВнешнегоСоединенияПервойБазы 910 - - ЗаголовокСтраницыМастера6 - 911 - - <key>ru</key> - <value>Настройка параметров синхронизации данных для этой программы</value> - - true - true - - true - - - ЗаголовокСтраницыМастера6ExtendedTooltip - 2207 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера6КонтекстноеМеню - 912 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Отступ 938 @@ -10631,7 +9237,7 @@ Объект.НаименованиеЭтойБазы - Left + Top НаименованиеЭтойБазы1ExtendedTooltip 2209 @@ -10675,6 +9281,7 @@ Объект.ПрефиксИнформационнойБазыИсточника + Top ПрефиксИнформационнойБазыИсточника1ExtendedTooltip 2210 @@ -10714,7 +9321,7 @@ <key>ru</key> - <value>Отступ</value> + <value>Настройка параметров синхронизации данных для этой программы</value> ОтступExtendedTooltip @@ -10729,8 +9336,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -10741,49 +9350,13 @@ РамкаГруппыОграничений1 921 - - НадписьОписаниеОграниченийПередачиДанных1 - 1895 - - <key>ru</key> - <value>Правила отправки данных в -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеОграниченийПередачиДанных1ExtendedTooltip - 2213 - Label - true - true - - Left - - - - НадписьОписаниеОграниченийПередачиДанных1КонтекстноеМеню - 1896 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеОграниченийПередачиДанных1 922 <key>ru</key> - <value>Правила выгрузки данных в %Программа%</value> + <value>Правила отправки данных в +%Программа%</value> true true @@ -10793,8 +9366,7 @@ ОписаниеОграниченийПередачиДанных - None - 2 + Top ОписаниеОграниченийПередачиДанных1ExtendedTooltip 2214 @@ -10818,9 +9390,8 @@ true true - 9 + 8 true - true true true true @@ -10895,49 +9466,13 @@ РамкаГруппыЗначенийПоУмолчанию1 926 - - НадписьОписаниеЗначенийПоУмолчанию1 - 1897 - - <key>ru</key> - <value>Правила получения данных из -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеЗначенийПоУмолчанию1ExtendedTooltip - 2217 - Label - true - true - - Left - - - - НадписьОписаниеЗначенийПоУмолчанию1КонтекстноеМеню - 1898 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеЗначенийПоУмолчанию1 927 <key>ru</key> - <value>Правила заполнения реквизитов документов при загрузке из %Программа%</value> + <value>Правила получения данных из +%Программа%</value> true true @@ -10947,8 +9482,7 @@ ОписаниеЗначенийПоУмолчанию - None - 2 + Top ОписаниеЗначенийПоУмолчанию1ExtendedTooltip 2218 @@ -10972,9 +9506,8 @@ true true - 9 + 8 true - true true true true @@ -11175,53 +9708,6 @@ СтраницаМастераНастройкаПараметровДляВнешнегоСоединенияВторойБазы 995 - - ЗаголовокСтраницыМастера10 - 996 - - <key>ru</key> - <value>Настройка параметров синхронизации данных для другой программы</value> - - true - true - - true - - - ЗаголовокСтраницыМастера10ExtendedTooltip - 2223 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастера10КонтекстноеМеню - 997 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Отступ1 1002 @@ -11240,6 +9726,7 @@ Объект.НаименованиеВторойБазы + Top НаименованиеВторойБазы2ExtendedTooltip 2225 @@ -11283,6 +9770,7 @@ Объект.ПрефиксИнформационнойБазыПриемника + Top ПрефиксИнформационнойБазыПриемникаExtendedTooltip 2226 @@ -11320,7 +9808,7 @@ <key>ru</key> - <value>Отступ</value> + <value>Настройка параметров синхронизации данных для другой программы</value> Отступ1ExtendedTooltip @@ -11335,8 +9823,10 @@ UsualGroup Auto + NormalSeparation true true + auto Auto Auto @@ -11347,49 +9837,13 @@ РамкаГруппыОграничений4 1019 - - НадписьОписаниеОграниченийПередачиДанных4 - 1891 - - <key>ru</key> - <value>Правила отправки данных в -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеОграниченийПередачиДанных4ExtendedTooltip - 2229 - Label - true - true - - Left - - - - НадписьОписаниеОграниченийПередачиДанных4КонтекстноеМеню - 1892 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеОграниченийПередачиДанных4 1020 <key>ru</key> - <value>Правила выгрузки данных в %Программа%</value> + <value>Правила отправки данных в +%Программа%</value> true true @@ -11399,8 +9853,7 @@ ОписаниеОграниченийПередачиДанныхБазыКорреспондента - None - 2 + Top ОписаниеОграниченийПередачиДанных4ExtendedTooltip 2230 @@ -11424,9 +9877,8 @@ true true - 9 + 8 true - true true true true @@ -11501,49 +9953,13 @@ РамкаГруппыЗначенийПоУмолчанию4 1024 - - НадписьОписаниеЗначенийПоУмолчанию4 - 1893 - - <key>ru</key> - <value>Правила получения данных из -%Программа%:</value> - - true - true - - true - - - НадписьОписаниеЗначенийПоУмолчанию4ExtendedTooltip - 2233 - Label - true - true - - Left - - - - НадписьОписаниеЗначенийПоУмолчанию4КонтекстноеМеню - 1894 - true - - Label - true - 3 - true - - Left - Bottom - - ОписаниеЗначенийПоУмолчанию4 1025 <key>ru</key> - <value>Правила заполнения реквизитов документов при загрузке из %Программа%</value> + <value>Правила получения данных из +%Программа%</value> true true @@ -11553,8 +9969,7 @@ ОписаниеЗначенийПоУмолчаниюБазыКорреспондента - None - 2 + Top ОписаниеЗначенийПоУмолчанию4ExtendedTooltip 2234 @@ -11578,9 +9993,8 @@ true true - 9 + 8 true - true true true true @@ -11781,122 +10195,29 @@ СтраницаМастераИтогНастройкиОбмена 7 - - ЗаголовокСтраницыМастераГотово - 176 - - <key>ru</key> - <value>Все готово для начала синхронизации данных.</value> - - true - true - - true - - - ЗаголовокСтраницыМастераГотовоExtendedTooltip - 2239 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераГотовоКонтекстноеМеню - 177 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - - ПредставлениеРезультатаНастройкиОбмена - 119 - - <key>ru</key> - <value>Данные будут синхронизироваться со следующими параметрами</value> - - true - true - - true - - - ПредставлениеРезультатаНастройкиОбмена - - true - Top - - ПредставлениеРезультатаНастройкиОбменаExtendedTooltip - 2240 - Label - true - true - - Left - - - - ПредставлениеРезультатаНастройкиОбменаКонтекстноеМеню - 120 - true - - InputField - true - Left - Enter - true - Left - true - - true - true - true - true - true - true - true - true - Normal - - - ГруппаНадписиИнформацииОбОткрытииПомощникаСопоставления - 1251 - - ДекорацияИнформация - 726 + ГруппаСтраницаМастераИтогНастройкиОбмена + 2466 + + ПредставлениеРезультатаНастройкиОбмена + 119 <key>ru</key> - <value>Декорация информация</value> + <value>Данные будут синхронизироваться со следующими параметрами</value> true true true + + ПредставлениеРезультатаНастройкиОбмена + + true + Top - ДекорацияИнформацияExtendedTooltip - 2242 + ПредставлениеРезультатаНастройкиОбменаExtendedTooltip + 2240 Label true true @@ -11905,35 +10226,122 @@ - ДекорацияИнформацияКонтекстноеМеню - 727 + ПредставлениеРезультатаНастройкиОбменаКонтекстноеМеню + 120 true - 2 - true - 1 - true - - - CommonPicture.Информация - + InputField + true + Left + Enter + true + Left + true + + true + true + true + true + true + true + true + true + Normal - - НадписьИнформацияОбОткрытииПомощникаСопоставления - 723 - - <key>ru</key> - <value>После завершения создания настройки синхронизации данных будет открыто окно интерактивной синхронизации данных.</value> - + + ГруппаНадписиИнформацииОбОткрытииПомощникаСопоставления + 1251 + + ДекорацияИнформация + 726 + + <key>ru</key> + <value>Декорация информация</value> + + true + true + + true + + + ДекорацияИнформацияExtendedTooltip + 2242 + Label + true + true + + Left + + + + ДекорацияИнформацияКонтекстноеМеню + 727 + true + + 2 + true + 1 + true + + + CommonPicture.Информация + + + + + НадписьИнформацияОбОткрытииПомощникаСопоставления + 723 + + <key>ru</key> + <value>После завершения создания настройки синхронизации данных будет открыто окно интерактивной синхронизации данных.</value> + + true + true + + true + + + НадписьИнформацияОбОткрытииПомощникаСопоставленияExtendedTooltip + 2243 + Label + true + true + + Left + + + + НадписьИнформацияОбОткрытииПомощникаСопоставленияКонтекстноеМеню + 724 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + true true true + + <key>ru</key> + <value>Группа надписи информации об открытии помощника сопоставления</value> + + + ru + Группа надписи информации об открытии помощника сопоставления + - НадписьИнформацияОбОткрытииПомощникаСопоставленияExtendedTooltip - 2243 + ГруппаНадписиИнформацииОбОткрытииПомощникаСопоставленияExtendedTooltip + 2241 Label true true @@ -11941,19 +10349,13 @@ Left - - НадписьИнформацияОбОткрытииПомощникаСопоставленияКонтекстноеМеню - 724 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left + UsualGroup + + Auto + true + true + Auto + Auto true @@ -11963,15 +10365,11 @@ <key>ru</key> - <value>Группа надписи информации об открытии помощника сопоставления</value> + <value>Все готово для начала синхронизации данных</value> - - ru - Группа надписи информации об открытии помощника сопоставления - - ГруппаНадписиИнформацииОбОткрытииПомощникаСопоставленияExtendedTooltip - 2241 + ГруппаСтраницаМастераИтогНастройкиОбменаРасширеннаяПодсказка + 2467 Label true true @@ -11981,9 +10379,12 @@ UsualGroup + Vertical Auto + NormalSeparation true true + auto Auto Auto @@ -12020,387 +10421,63 @@ СтраницаМастераОкончаниеСВыгрузкойНастройки 330 - - ЗаголовокСтраницыМастераЗакрыть - 331 - - <key>ru</key> - <value>Первый этап настройки успешно завершен</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрытьExtendedTooltip - 2245 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрытьКонтекстноеМеню - 332 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - - ГруппаФайлаНастроекОбмена1 - 338 - - Группа91 - 339 - - Декорация111 - 340 - true - true - - true - - - Декорация111ExtendedTooltip - 2248 - Label - true - true - - Left - - - - Декорация111КонтекстноеМеню - 341 - true - - 5 - true - 3 - true - false - - - CommonPicture.Предупреждение32 - - - - true - true - - true - - - Группа91ExtendedTooltip - 2247 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - Группа101 - 342 - - Декорация141 - 412 - - <key>ru</key> - <value>Для завершения настройки синхронизации данных необходимо сохранить файл настроек для другой программы. В помощнике в другой программе укажите этот файл:</value> - - true - true - - true - - - Декорация141ExtendedTooltip - 2250 - Label - true - true - - Left - - - - Декорация141КонтекстноеМеню - 413 - true - - Label - true - true - false - - Left - Bottom - 2 - - - - Группа11 - 414 - - ИмяФайлаНастроекОбменаДанными - 378 - true - true - - true - - - Объект.ИмяФайлаНастроекОбменаДанными - - None - - ИмяФайлаНастроекОбменаДаннымиExtendedTooltip - 2252 - Label - true - true - - Left - - - - ИмяФайлаНастроекОбменаДаннымиКонтекстноеМеню - 379 - true - - InputField - true - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - СохранитьФайлНастроекОбменаДанными - 363 - true - true - - true - - false - - СохранитьФайлНастроекОбменаДаннымиExtendedTooltip - 2253 - Label - true - true - - Left - - - UsualButton - Form.Command.СохранитьФайлНастроекОбменаДанными - Normal - Auto - true - true - UserCmds - - System.DefaultGUIFont - - Auto - - true - true - - true - - - Группа11ExtendedTooltip - 2251 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - Группа101ExtendedTooltip - 2249 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа файла настроек обмена</value> - - - ru - Группа файла настроек обмена - - - ГруппаФайлаНастроекОбмена1ExtendedTooltip - 2246 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаДляСтраницФинальногоДействия - 592 + ГруппаСтраницаМастераОкончаниеСВыгрузкойНастройки + 2462 СтраницыОтображенияФинальногоДействия 587 СтраницаВыполнитьВыгрузкуДанныхДляСопоставления 588 - - Декорация181 - 444 - true - true - - true - - - Декорация181ExtendedTooltip - 2257 - Label - true - true - - Left - - - - Декорация181КонтекстноеМеню - 445 - true - - 6 - true - 3 - true - false - - - CommonPicture.СинхронизацияДанныхПодсистема - - - - Группа261 - 446 - - ВыполнитьОбменДаннымиСейчас21 - 449 - - <key>ru</key> - <value>Выполнить отправку данных в -%Программа% сейчас (рекомендуется)</value> - - - System.DefaultGUIFont - + ГруппаФайлаНастроекОбмена1 + 338 + + Группа91 + 339 + + Декорация111 + 340 + true + true + + true + + + Декорация111ExtendedTooltip + 2248 + Label + true + true + + Left + + + + Декорация111КонтекстноеМеню + 341 + true + + 5 + true + 3 + true + false + + + CommonPicture.Предупреждение32 + + + true true true - - ВыполнитьОбменДаннымиСейчас - - Right - ВыполнитьОбменДаннымиСейчас21ExtendedTooltip - 2259 + Группа91ExtendedTooltip + 2247 Label true true @@ -12408,36 +10485,167 @@ Left - - ВыполнитьОбменДаннымиСейчас21КонтекстноеМеню - 450 - true - - CheckBoxField - Center - Enter - true - Left - true - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + - - ПоясняющаяНадписьКФлагуСопоставления - 596 - - <key>ru</key> - <value>При нажатии на кнопку готово будет произведена выгрузка данных из этой программы в файл. Сразу после завершения настройки синхронизации возможно будет выполнить загрузку данных из этого файла в другой программе и указать, какие данные являются одинаковыми для двух синхронизирующихся программ. - -Также отправку данных можно выполнить позднее из списка синхронизации данных.</value> - + + Группа101 + 342 + + Декорация141 + 412 + + <key>ru</key> + <value>Для завершения настройки синхронизации данных необходимо сохранить файл настроек для другой программы. В помощнике в другой программе укажите этот файл:</value> + + true + true + + true + + + Декорация141ExtendedTooltip + 2250 + Label + true + true + + Left + + + + Декорация141КонтекстноеМеню + 413 + true + + Label + true + true + false + + Left + Bottom + 2 + + + + Группа11 + 414 + + ИмяФайлаНастроекОбменаДанными + 378 + true + true + + true + + + Объект.ИмяФайлаНастроекОбменаДанными + + None + + ИмяФайлаНастроекОбменаДаннымиExtendedTooltip + 2252 + Label + true + true + + Left + + + + ИмяФайлаНастроекОбменаДаннымиКонтекстноеМеню + 379 + true + + InputField + true + true + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + + СохранитьФайлНастроекОбменаДанными + 363 + true + true + + true + + false + + СохранитьФайлНастроекОбменаДаннымиExtendedTooltip + 2253 + Label + true + true + + Left + + + UsualButton + Form.Command.СохранитьФайлНастроекОбменаДанными + Normal + Auto + true + true + UserCmds + + System.DefaultGUIFont + + Auto + + true + true + + true + + + Группа11ExtendedTooltip + 2251 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + true true true - ПоясняющаяНадписьКФлагуСопоставленияExtendedTooltip - 2260 + Группа101ExtendedTooltip + 2249 Label true true @@ -12445,21 +10653,14 @@ Left - - ПоясняющаяНадписьКФлагуСопоставленияКонтекстноеМеню - 597 - true - - Label - true - true - false - - Style.ПоясняющийТекст - - - Left - 2 + UsualGroup + + Vertical + Auto + true + true + Auto + Auto true @@ -12467,9 +10668,191 @@ true + + <key>ru</key> + <value>Группа файла настроек обмена</value> + + + ru + Группа файла настроек обмена + - Группа261ExtendedTooltip - 2258 + ГруппаФайлаНастроекОбмена1ExtendedTooltip + 2246 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Группа17 + 2464 + + Декорация181 + 444 + true + true + + true + + + Декорация181ExtendedTooltip + 2257 + Label + true + true + + Left + + + + Декорация181КонтекстноеМеню + 445 + true + + 6 + true + 4 + true + false + + + CommonPicture.СинхронизацияДанныхПодсистема + + + + + Группа261 + 446 + + ВыполнитьОбменДаннымиСейчас21 + 449 + + <key>ru</key> + <value>Выполнить отправку данных в +%Программа% сейчас (рекомендуется)</value> + + + System.DefaultGUIFont + + true + true + + true + + + ВыполнитьОбменДаннымиСейчас + + Right + + ВыполнитьОбменДаннымиСейчас21ExtendedTooltip + 2259 + Label + true + true + + Left + + + + ВыполнитьОбменДаннымиСейчас21КонтекстноеМеню + 450 + true + + CheckBoxField + Center + Enter + true + Left + true + + + + ПоясняющаяНадписьКФлагуСопоставления + 596 + + <key>ru</key> + <value>При нажатии на кнопку готово будет произведена выгрузка данных из этой программы в файл. +Сразу после завершения настройки синхронизации возможно будет выполнить загрузку данных из этого +файла в другой программе и указать, какие данные являются одинаковыми для двух синхронизирующихся +программ. Также отправку данных можно выполнить позднее из списка синхронизации данных.</value> + + true + true + + true + + + ПоясняющаяНадписьКФлагуСопоставленияExtendedTooltip + 2260 + Label + true + true + + Left + + + + ПоясняющаяНадписьКФлагуСопоставленияКонтекстноеМеню + 597 + true + + Label + true + true + false + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + Группа261ExtendedTooltip + 2258 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + + true + true + + true + + + Группа17РасширеннаяПодсказка + 2465 Label true true @@ -12479,11 +10862,9 @@ UsualGroup - Vertical Auto true true - auto Auto Auto @@ -12501,7 +10882,6 @@ ru Страница выполнить выгрузку данных для сопоставления - true СтраницаВыполнитьВыгрузкуДанныхДляСопоставленияExtendedTooltip 2256 @@ -12514,46 +10894,13 @@ Page + Vertical auto СтраницаВыполнитьСозданиеНачальногоОбразаПодчиненногоУзла 589 - - Декорация182 - 590 - true - true - - true - - - Декорация182ExtendedTooltip - 2262 - Label - true - true - - Left - - - - Декорация182КонтекстноеМеню - 591 - true - - 6 - true - 3 - true - false - - - CommonPicture.СинхронизацияДанныхПодсистема - - - Группа1 595 @@ -12597,8 +10944,10 @@ <key>ru</key> <value>Создание начального образа может занять длительное время. -После создания необходимо развернуть информационную базу из созданного образа и выполнить первоначальный запуск программы для завершения настройки. -Возможно создать начальный образ позднее. Для этого необходимо открыть параметры настроенной синхронизации и выполнить команду «Создание начального образа подчиненного узла распределенной информационной базы». +После создания необходимо развернуть информационную базу из созданного образа и выполнить +первоначальный запуск программы для завершения настройки. Возможно создать начальный образ +позднее. Для этого необходимо открыть параметры настроенной синхронизации и выполнить +команду «Создание начального образа подчиненного узла распределенной информационной базы». </value> true @@ -12630,7 +10979,6 @@ Left - 2 true @@ -12652,6 +11000,7 @@ Vertical Auto + NormalSeparation true true auto @@ -12715,18 +11064,85 @@ Auto + + Декорация103 + 347 + true + true + + true + + + Декорация103ExtendedTooltip + 2266 + Label + true + true + + Left + + + + Декорация103КонтекстноеМеню + 348 + true + + Label + true + true + true + false + + Left + + + + НадписьГотово + 349 + + <key>ru</key> + <value>Нажмите кнопку "Готово" для выхода из помощника.</value> + + true + true + + true + + + НадписьГотовоExtendedTooltip + 2270 + Label + true + true + + Left + + + + НадписьГотовоКонтекстноеМеню + 350 + true + + Label + true + true + false + + Left + + true true true - + <key>ru</key> - <value>Группа для страниц финального действия</value> - </toolTip> + <value>Первый этап настройки успешно завершен</value> + - ГруппаДляСтраницФинальногоДействияExtendedTooltip - 2254 + ГруппаСтраницаМастераОкончаниеСВыгрузкойНастройкиРасширеннаяПодсказка + 2463 Label true true @@ -12738,6 +11154,7 @@ Vertical Auto + NormalSeparation true true auto @@ -12745,73 +11162,6 @@ Auto - - Декорация103 - 347 - true - true - - true - - - Декорация103ExtendedTooltip - 2266 - Label - true - true - - Left - - - - Декорация103КонтекстноеМеню - 348 - true - - Label - true - true - true - false - - Left - - - - НадписьГотово - 349 - - <key>ru</key> - <value>Нажмите кнопку "Готово" для выхода из помощника.</value> - - true - true - - true - - - НадписьГотовоExtendedTooltip - 2270 - Label - true - true - - Left - - - - НадписьГотовоКонтекстноеМеню - 350 - true - - Label - true - true - false - - Left - - true true @@ -12844,53 +11194,6 @@ СтраницаМастераОкончаниеСОбменомПоВнешнемуСоединению 865 - - ЗаголовокСтраницыМастераЗакрыть2 - 866 - - <key>ru</key> - <value>Настройка синхронизации данных успешно завершена</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть2ExtendedTooltip - 2272 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть2КонтекстноеМеню - 867 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - Группа5 901 @@ -13048,6 +11351,10 @@ true + + <key>ru</key> + <value>Настройка синхронизации данных успешно завершена</value> + Группа5ExtendedTooltip 2273 @@ -13064,6 +11371,7 @@ NormalSeparation true true + auto Auto Auto @@ -13167,53 +11475,6 @@ СтраницаМастераОжиданиеСозданияНастройкиОбменаДанными 757 - - ЗаголовокСтраницыМастераЗакрыть1 - 758 - - <key>ru</key> - <value>Создание настройки синхронизации данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть1ExtendedTooltip - 2284 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть1КонтекстноеМеню - 759 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения 760 @@ -13371,10 +11632,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Создание настройки синхронизации данных</value> + ГруппировкаСообщенияExtendedTooltip 2285 @@ -13388,6 +11649,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -13427,53 +11689,6 @@ СтраницаМастераОжиданиеАнализаДанныхСозданиеНастройкиОбмена 1380 - - ЗаголовокСтраницыМастераЗакрыть6 - 1381 - - <key>ru</key> - <value>Анализ данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть6ExtendedTooltip - 2291 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть6КонтекстноеМеню - 1382 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения4 1383 @@ -13631,10 +11846,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Анализ данных</value> + ГруппировкаСообщения4ExtendedTooltip 2292 @@ -13648,6 +11863,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -13687,53 +11903,6 @@ СтраницаМастераОжиданиеАнализаДанныхПолучениеСообщения 1291 - - ЗаголовокСтраницыМастераЗакрыть5 - 1292 - - <key>ru</key> - <value>Анализ данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть5ExtendedTooltip - 2298 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть5КонтекстноеМеню - 1293 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения3 1294 @@ -13891,10 +12060,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Анализ данных</value> + ГруппировкаСообщения3ExtendedTooltip 2299 @@ -13908,6 +12077,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -13947,53 +12117,6 @@ СтраницаМастераОжиданиеАнализаДанныхАвтоматическоеСопоставление 1528 - - ЗаголовокСтраницыМастераЗакрыть18 - 1529 - - <key>ru</key> - <value>Анализ данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть18ExtendedTooltip - 2305 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть18КонтекстноеМеню - 1530 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения16 1531 @@ -14151,10 +12274,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Анализ данных</value> + ГруппировкаСообщения16ExtendedTooltip 2306 @@ -14168,6 +12291,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -14207,53 +12331,6 @@ ОжиданиеСинхронизацииДанных 1486 - - ЗаголовокСтраницыМастераЗакрыть15 - 1487 - - <key>ru</key> - <value>Синхронизация данных</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть15ExtendedTooltip - 2312 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть15КонтекстноеМеню - 1488 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения13 1489 @@ -14411,10 +12488,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Синхронизация данных</value> + ГруппировкаСообщения13ExtendedTooltip 2313 @@ -14428,6 +12505,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -14467,53 +12545,6 @@ СтраницаМастераОжиданиеСохраненияНастроек 1321 - - ЗаголовокСтраницыМастераЗакрыть8 - 1322 - - <key>ru</key> - <value>Сохранение настроек</value> - - true - true - - true - - - ЗаголовокСтраницыМастераЗакрыть8ExtendedTooltip - 2319 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераЗакрыть8КонтекстноеМеню - 1323 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения6 1324 @@ -14671,10 +12702,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Сохранение настроек</value> + ГруппировкаСообщения6ExtendedTooltip 2320 @@ -14688,6 +12719,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -14723,53 +12755,6 @@ СтраницаМастераОжиданиеПроверкиПодключенияКСервису 1733 - - ЗаголовокСтраницыМастераОжидание1 - 1734 - - <key>ru</key> - <value>Проверка подключения</value> - - true - true - - true - - - ЗаголовокСтраницыМастераОжидание1ExtendedTooltip - 2326 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераОжидание1КонтекстноеМеню - 1735 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения7 1736 @@ -14927,10 +12912,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Проверка подключения</value> + ГруппировкаСообщения7ExtendedTooltip 2327 @@ -14944,6 +12929,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -14979,53 +12965,6 @@ СтраницаМастераОжиданиеПроверкиПодключенияВнешнегоСоединения 855 - - ЗаголовокСтраницыМастераОжидание - 856 - - <key>ru</key> - <value>Проверка подключения</value> - - true - true - - true - - - ЗаголовокСтраницыМастераОжиданиеExtendedTooltip - 2333 - Label - true - true - - Left - - - - ЗаголовокСтраницыМастераОжиданиеКонтекстноеМеню - 857 - true - - Label - true - 2 - true - true - false - false - - System.DefaultGUIFont - 10.0 - true - false - false - false - - - Left - Top - - ГруппировкаСообщения1 858 @@ -15183,10 +13122,10 @@ true - + <key>ru</key> - <value>Группировка сообщения</value> - </toolTip> + <value>Проверка подключения</value> + ГруппировкаСообщения1ExtendedTooltip 2334 @@ -15200,6 +13139,7 @@ UsualGroup Auto + NormalSeparation true true auto @@ -16616,8 +14556,6 @@ Retry SaveValues Yes - 85 - 28 DontBlock true true @@ -17469,10 +15407,7 @@ ИдентификаторДлительнойОперации 41 - - String - - + true @@ -18174,24 +16109,6 @@ true - - ИмяЭтойБазы - - <key>ru</key> - <value>Имя этой базы</value> - - 63 - - String - - - - true - - - true - - ФормаНастройкиУзлов @@ -18422,6 +16339,24 @@ <common>true</common> </edit> </attributes> + <attributes> + <name>КраткоеОписание</name> + <title> + <key>ru</key> + <value>Краткое описание</value> + + 63 + + String + + + + true + + + true + + КомандаДалее @@ -18674,32 +16609,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>КакОпределитьПараметрыПодключения</name> - <title> - <key>ru</key> - <value>Как определить параметры подключения</value> - - 15 - - ru - Как определить параметры подключения к другой программе - - - true - - - CommonPicture.Информация - - - - КакОпределитьПараметрыПодключения - - - TextPicture - Auto - Auto - НастройкаОграниченийРегистрацииДанныхБазыКорреспондентаЧерезВнешнееСоединение @@ -18738,50 +16647,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>КакОпределитьПрефиксВторойИнформационнойБазы</name> - <title> - <key>ru</key> - <value>Как определить префикс</value> - - 19 - - true - - - CommonPicture.Информация - - - - КакОпределитьПрефиксВторойИнформационнойБазы - - - TextPicture - Auto - Auto - - - КакСформироватьФайлСНастройкамиОбменаДанными - - <key>ru</key> - <value>Утерян файл с настройками синхронизации данных?</value> - - 21 - - ru - Как сформировать файл с настройками синхронизации данных - - - true - - - - КакСформироватьФайлСНастройкамиОбменаДанными - - - Auto - Auto - ПроверитьПодключениеWS @@ -18804,32 +16669,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>КакОпределитьПараметрыПодключенияКВебСервису</name> - <title> - <key>ru</key> - <value>Как определить параметры подключения</value> - - 24 - - ru - Как определить параметры подключения к веб сервису - - - true - - - CommonPicture.Информация - - - - КакОпределитьПараметрыПодключенияКВебСервису - - - TextPicture - Auto - Auto - НастройкаЗначенийПоУмолчаниюБазыКорреспондентаЧерезВебСервис @@ -18901,32 +16740,6 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> - <formCommands> - <name>КакОпределитьПараметрыПодключенияКСервису</name> - <title> - <key>ru</key> - <value>Как определить параметры подключения</value> - - 6 - - ru - Как определить параметры подключения к приложению в Интернете - - - true - - - CommonPicture.Информация - - - - КакОпределитьПараметрыПодключенияКСервису - - - TextPicture - Auto - Auto - ВыполнитьНастройкуВыгрузкиДанных @@ -19004,6 +16817,9 @@ <use> <common>true</common> </use> + <picture xsi:type="core:PictureRef"> + <picture>CommonPicture.Информация</picture> + </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>ПодробноеОписание</name> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/Декорация53/Picture.png b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/Декорация53/Picture.png deleted file mode 100644 index 8559ae7ca..000000000 Binary files a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/Декорация53/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаНастройкаОбменаССервисом/Picture.png b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаНастройкаОбменаССервисом/Picture.png deleted file mode 100644 index f02445597..000000000 Binary files a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаНастройкаОбменаССервисом/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВебСервис/Picture.png b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВебСервис/Picture.png deleted file mode 100644 index 41d68e873..000000000 Binary files a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВебСервис/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВнешнееСоединение/Picture.png b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВнешнееСоединение/Picture.png deleted file mode 100644 index 01995d908..000000000 Binary files a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезВнешнееСоединение/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезОбычныеКаналыСвязи/Picture.png b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезОбычныеКаналыСвязи/Picture.png deleted file mode 100644 index 94c5003ac..000000000 Binary files a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Items/КартинкаОбменЧерезОбычныеКаналыСвязи/Picture.png and /dev/null differ diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl index cdc899b20..731e1c4a5 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/Форма/Module.bsl @@ -19,6 +19,8 @@ ОбменДаннымиСервер.ПроверитьВозможностьАдминистрированияОбменов(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + НастройкаОбменаССервисом = Параметры.Свойство("НастройкаОбменаССервисом"); Если ПолучитьФункциональнуюОпцию("ИспользуютсяПрофилиБезопасности") Тогда @@ -47,7 +49,7 @@ // получаем значения по умолчанию для плана обмена МенеджерПланаОбмена = ПланыОбмена[Объект.ИмяПланаОбмена]; - Элементы.КраткоеОписаниеНадпись.Заголовок = МенеджерПланаОбмена.КраткаяИнформацияПоОбмену(); + КраткоеОписание = МенеджерПланаОбмена.КраткаяИнформацияПоОбмену(); СсылкаНаПодробноеОписание = МенеджерПланаОбмена.ПодробнаяИнформацияПоОбмену(); ИмяФайлаНастроекДляПриемника = МенеджерПланаОбмена.ИмяФайлаНастроекДляПриемника() + ".xml"; @@ -96,6 +98,7 @@ И Не НастройкаОбменаССервисом Тогда Объект.ПрефиксИнформационнойБазыИсточника = ОбменДаннымиПереопределяемый.ПрефиксИнформационнойБазыПоУмолчанию(); + ОбменДаннымиПереопределяемый.ПриОпределенииПрефиксаИнформационнойБазыПоУмолчанию(Объект.ПрефиксИнформационнойБазыИсточника); КонецЕсли; @@ -109,6 +112,10 @@ РежимРаботыМастера = "ОбменЧерезВнешнееСоединение"; + ИначеЕсли ИспользоватьТранспортСообщенийОбменаWS Тогда + + РежимРаботыМастера = "ОбменЧерезВебСервис"; + Иначе РежимРаботыМастера = "ОбменЧерезОбычныеКаналыСвязи"; @@ -118,9 +125,16 @@ МетаданныеПланаОбмена = Метаданные.ПланыОбмена[Объект.ИмяПланаОбмена]; СинонимПланаОбмена = МетаданныеПланаОбмена.Синоним; - ЗаголовокФормы = НСтр("ru='Синхронизация данных с %Программа% (настройка)'"); - ЗаголовокФормы = СтрЗаменить(ЗаголовокФормы, "%Программа%", СинонимПланаОбмена); - Заголовок = ЗаголовокФормы; + Если ОбщегоНазначения.ПодсистемаСуществует("ОбменДаннымиXDTO") + И ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиXDTOПовтИсп").ЭтоПланОбменаXDTO(Объект.ИмяПланаОбмена) Тогда + Заголовок = СинонимПланаОбмена; + Иначе + + ЗаголовокФормы = НСтр("ru='Синхронизация данных с %Программа% (настройка)'"); + ЗаголовокФормы = СтрЗаменить(ЗаголовокФормы, "%Программа%", СинонимПланаОбмена); + Заголовок = ЗаголовокФормы; + + КонецЕсли; Объект.ЭтоНастройкаРаспределеннойИнформационнойБазы = ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(Объект.ИмяПланаОбмена); Объект.ЭтоНастройкаСтандартногоОбмена = ОбменДаннымиПовтИсп.ЭтоУзелСтандартногоОбменаДанными(ЭтотУзел); @@ -147,7 +161,13 @@ КонецЕсли; - ИмяЭтойБазы = Объект.НаименованиеЭтойБазы; + Элементы.ДекорацияПараметрыПодключенияWS.РасширеннаяПодсказка.Заголовок = СтрЗаменить( + Элементы.ДекорацияПараметрыПодключенияWS.РасширеннаяПодсказка.Заголовок, "[НедопустимыеСимволы]", + ОбменДаннымиКлиентСервер.НедопустимыеСимволыВИмениПользователяWSПрокси()); + + Элементы.ДекорацияПараметрыПодключенияКСервису.РасширеннаяПодсказка.Заголовок = СтрЗаменить( + Элементы.ДекорацияПараметрыПодключенияКСервису.РасширеннаяПодсказка.Заголовок, "[НедопустимыеСимволы]", + ОбменДаннымиКлиентСервер.НедопустимыеСимволыВИмениПользователяWSПрокси()); УстановитьВидимостьНаСервере(); @@ -215,25 +235,21 @@ Если ЭтоПродолжениеНастройкиВПодчиненномУзлеРИБ Тогда - Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда - МодульРаботаСПочтовымиСообщениямиСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениямиСлужебный"); - МодульРаботаСПочтовымиСообщениямиСлужебный.ОтключитьИспользованиеУчетныхЗаписей(); - КонецЕсли; + ОбменДаннымиСервер.ПриПродолженииНастройкиПодчиненногоУзлаРИБ(); ВариантРаботыМастера = "ПродолжитьНастройкуОбменаДанными"; ОбработкаОбъект = РеквизитФормыВЗначение("Объект"); - ОбработкаОбъект.ВыполнитьЗагрузкуПараметровМастераИзКонстанты(Ложь); - ЗначениеВРеквизитФормы(ОбработкаОбъект, "Объект"); Элементы.НастройкиТранспортаFILE.Доступность = Объект.ИспользоватьПараметрыТранспортаFILE; Элементы.НастройкиТранспортаFTP.Доступность = Объект.ИспользоватьПараметрыТранспортаFTP; Элементы.НастройкиТранспортаEMAIL.Доступность = Объект.ИспользоватьПараметрыТранспортаEMAIL; - Элементы.ЗаголовокСтраницыМастера1.Заголовок = НСтр("ru = 'Продолжение настройки синхронизации данных с главным узлом'"); + Элементы.ГруппаПереключателяВыбораРежимаРаботыПомощника.Заголовок = НСтр("ru = 'Продолжение настройки синхронизации данных с главным узлом'"); + Элементы.ГруппаРезервноеКопирование.Видимость = Ложь; КонецЕсли; ВариантРаботыМастераПриИзмененииНаСервере(); @@ -769,61 +785,6 @@ КонецПроцедуры -&НаКлиенте -Процедура КакОпределитьПараметрыПодключенияКВебСервису(Команда) - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ИмяМакета", "КакОпределитьПараметрыПодключенияКВебСервису"); - ПараметрыФормы.Вставить("Заголовок", НСтр("ru = 'Как определить параметры подключения другой программе'")); - - ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ДополнительноеОписание", ПараметрыФормы, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура КакОпределитьПараметрыПодключенияКСервису(Команда) - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ИмяМакета", "КакОпределитьПараметрыПодключенияКСервису"); - ПараметрыФормы.Вставить("Заголовок", НСтр("ru = 'Как определить параметры подключения к приложению, расположенному в сервисе'")); - - ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ДополнительноеОписание", ПараметрыФормы, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура КакОпределитьПараметрыПодключения(Команда) - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ИмяМакета", "КакОпределитьПараметрыПодключения"); - ПараметрыФормы.Вставить("Заголовок", НСтр("ru = 'Как определить параметры подключения к другой программе'")); - - ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ДополнительноеОписание", ПараметрыФормы, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура КакОпределитьПрефиксВторойИнформационнойБазы(Команда) - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ИмяМакета", "КакОпределитьПрефиксВторойИнформационнойБазы"); - ПараметрыФормы.Вставить("Заголовок", НСтр("ru = 'Как определить префикс второй информационной базы'")); - - ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ДополнительноеОписание", ПараметрыФормы, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура КакСформироватьФайлСНастройкамиОбменаДанными(Команда) - - ПараметрыФормы = Новый Структура; - ПараметрыФормы.Вставить("ИмяМакета", "КакСформироватьФайлСНастройкамиОбменаДанными"); - ПараметрыФормы.Вставить("Заголовок", НСтр("ru = 'Как сформировать файл с настройками синхронизации данных'")); - - ОткрытьФорму("Обработка.ПомощникСозданияОбменаДанными.Форма.ДополнительноеОписание", ПараметрыФормы, ЭтотОбъект); - -КонецПроцедуры - &НаКлиенте Процедура ИзменитьПользовательскоеРасписание(Команда) @@ -903,7 +864,7 @@ СтандартнаяОбработка = Ложь; Если НавигационнаяСсылка = "РезервноеКопирование" Тогда - МодульРезервноеКопированиеИБКлиент = ОбщегоНазначенияКлиентСервер.ОбщийМодуль("РезервноеКопированиеИБКлиент"); + МодульРезервноеКопированиеИБКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("РезервноеКопированиеИБКлиент"); МодульРезервноеКопированиеИБКлиент.ОткрытьФормуРезервногоКопирования(ЭтотОбъект); КонецЕсли; @@ -1247,58 +1208,6 @@ КонецФункции -&НаСервере -Процедура ОбновитьНадписиЗаголовковИнформационныхБаз() - - Если ВариантРаботыМастера = "ПродолжитьНастройкуОбменаДанными" Тогда - - Если НастройкиЗачитаны Тогда - - ИмяПервойБазы = СинонимПланаОбмена; - ИмяВторойБазы = Объект.НаименованиеЭтойБазы; - - Иначе - - ИмяПервойБазы = СинонимПланаОбмена; - ИмяВторойБазы = Объект.НаименованиеЭтойБазы; - - КонецЕсли; - - Если Объект.ЭтоНастройкаРаспределеннойИнформационнойБазы Тогда - - ИмяПервойБазы = ИмяПервойБазы + НСтр("ru = ' (Главный узел)'"); - ИмяВторойБазы = ИмяВторойБазы + НСтр("ru = ' (Подчиненный узел)'"); - - КонецЕсли; - - Иначе - - Если НастройкиЗачитаны Тогда - - ИмяПервойБазы = ИмяЭтойБазы; - ИмяВторойБазы = СинонимПланаОбмена; - - Иначе - - ИмяПервойБазы = Объект.НаименованиеЭтойБазы; - ИмяВторойБазы = СинонимПланаОбмена; - - КонецЕсли; - - Если Объект.ЭтоНастройкаРаспределеннойИнформационнойБазы Тогда - - ИмяПервойБазы = ИмяПервойБазы + НСтр("ru = ' (Главный узел)'"); - ИмяВторойБазы = НСтр("ru = 'Подчиненный узел'"); - - КонецЕсли; - - КонецЕсли; - - Элементы.ДекорацияИмяПервойБазы.Заголовок = ИмяПервойБазы; - Элементы.ДекорацияИмяВторойБазы.Заголовок = ИмяВторойБазы; - -КонецПроцедуры - &НаСервере Функция ПроверитьПодключениеCOMНаСервере() @@ -1454,6 +1363,37 @@ КонецПроцедуры +&НаКлиенте +Процедура ОбработчикОжиданияФоновогоЗадания() + + Состояние = ОбменДаннымиВызовСервера.СостояниеЗадания(ИдентификаторДлительнойОперации); + + Если Состояние = "Активно" Тогда + + ПодключитьОбработчикОжидания("ОбработчикОжиданияФоновогоЗадания", 5, Истина); + + ИначеЕсли Состояние = "Завершено" Тогда + + ДлительнаяОперация = Ложь; + ДлительнаяОперацияЗавершена = Истина; + + КомандаДалее(Неопределено); + + Иначе + + ДлительнаяОперация = Ложь; + + КомандаНазад(Неопределено); + + ТекстВопроса = НСтр("ru = 'При создании синхронизации данных возникли ошибки. + |Перейти в журнал регистрации?'"); + + ПредложитьПерейтиВЖурналРегистрации(ТекстВопроса, СобытиеЖурналаРегистрацииСозданиеОбменаДанными); + + КонецЕсли; + +КонецПроцедуры + //////////////////////////////////////////////////////////////////////////////// // Прикладные служебные процедуры и функции @@ -1540,12 +1480,10 @@ Элементы.ВариантРаботыМастера.Видимость = Ложь; - // для узла РИБ файл настроек не формируем; настройки для второй базы передаем через константу - Элементы.ГруппаФайлаНастроекОбмена1.Видимость = Ложь; + Элементы.ЗаглушкаПрефикс.Видимость = Ложь; + Элементы.ПрефиксИнформационнойБазыПриемника1.ОтображениеПодсказки = ОтображениеПодсказки.Нет; - Элементы.КакОпределитьПрефиксВторойИнформационнойБазы.Видимость = Ложь; - - Элементы.ЗаголовокСтраницыМастера1.Заголовок = НСтр("ru = 'Создание начального образа подчиненного узла РИБ'"); + Элементы.ГруппаПереключателяВыбораРежимаРаботыПомощника.Заголовок = НСтр("ru = 'Создание начального образа подчиненного узла РИБ'"); КонецЕсли; @@ -1625,7 +1563,6 @@ Если Не Отказ Тогда НастройкиЗачитаны = Истина; - ОбновитьНадписиЗаголовковИнформационныхБаз(); КонецЕсли; КонецПроцедуры @@ -2073,6 +2010,10 @@ РежимРаботыМастера = "ОбменЧерезВнешнееСоединение"; + ИначеЕсли ИспользоватьТранспортСообщенийОбменаWS Тогда + + РежимРаботыМастера = "ОбменЧерезВебСервис"; + Иначе РежимРаботыМастера = "ОбменЧерезОбычныеКаналыСвязи"; @@ -2082,7 +2023,6 @@ КонецЕсли; ЗаполнитьТаблицуПереходов(); - ОбновитьНадписиЗаголовковИнформационныхБаз(); КонецПроцедуры @@ -2094,7 +2034,6 @@ ВариантНастроек = "ОбменЧерезВнешнееСоединение"; ЗначенияНастроек = Новый Структура; - ЗначенияНастроек.Вставить("Картинки", Элементы.КартинкаДляОбменаЧерезВнешнееСоединение); ЗначенияНастроек.Вставить("Транспорт", Элементы.СтраницаПараметровТранспортаCOM); ЗначенияНастроек.Вставить("Сообщения", Перечисления.ВидыТранспортаСообщенийОбмена.COM); ЗначенияНастроек.Вставить("Использование", РежимРаботыМастера = ВариантНастроек Или ИспользоватьТранспортСообщенийОбменаCOM); @@ -2102,7 +2041,6 @@ ВариантНастроек = "ОбменЧерезОбычныеКаналыСвязи"; ЗначенияНастроек = Новый Структура; - ЗначенияНастроек.Вставить("Картинки", Элементы.КартинкаДляОбменаЧерезОбычныеКаналыСвязи); ЗначенияНастроек.Вставить("Транспорт", Элементы.СтраницаПараметровТранспорта); ЗначенияНастроек.Вставить("Сообщения", Перечисления.ВидыТранспортаСообщенийОбмена.FILE); ЗначенияНастроек.Вставить("Использование", РежимРаботыМастера = ВариантНастроек Или ИспользоватьТранспортСообщенийОбменаFILE @@ -2111,7 +2049,6 @@ ВариантНастроек = "ОбменЧерезВебСервис"; ЗначенияНастроек = Новый Структура; - ЗначенияНастроек.Вставить("Картинки", Элементы.КартинкаДляОбменаЧерезВебСервис); ЗначенияНастроек.Вставить("Транспорт", Элементы.СтраницаПараметровТранспортаWS); ЗначенияНастроек.Вставить("Сообщения", Перечисления.ВидыТранспортаСообщенийОбмена.WS); ЗначенияНастроек.Вставить("Использование", РежимРаботыМастера = ВариантНастроек Или ИспользоватьТранспортСообщенийОбменаWS); @@ -2127,7 +2064,6 @@ Если ЗначенияНастроек.Использование Тогда Если ВариантНастроек = РежимРаботыМастера Тогда - Элементы.КартинкиВыбораРежимаРаботыПомощника.ТекущаяСтраница = ЗначенияНастроек.Картинки; Элементы.СтраницыПараметровТранспорта.ТекущаяСтраница = ЗначенияНастроек.Транспорт; Объект.ВидТранспортаСообщенийОбмена = ЗначенияНастроек.Сообщения; КонецЕсли; @@ -2464,6 +2400,7 @@ ПараметрыФормы.Вставить("ЭтоУдалениеОбъекта", ТекущиеДанные.ЭтоУдалениеОбъекта); ПараметрыФормы.Вставить("ДанныеУспешноЗагружены", ТекущиеДанные.ДанныеУспешноЗагружены); ПараметрыФормы.Вставить("Ключ", ТекущиеДанные.Ключ); + ПараметрыФормы.Вставить("Синоним", ТекущиеДанные.Синоним); ПараметрыФормы.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); ПараметрыФормы.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена); @@ -2842,7 +2779,7 @@ &НаКлиенте Функция Подключаемый_СтраницаМастераВыборРежимаРаботыПомощника_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее) - Если Не ИспользоватьТранспортСообщенийОбменаCOM Тогда + Если Не ИспользоватьТранспортСообщенийОбменаCOM Или Не ИспользоватьТранспортСообщенийОбменаWS Тогда Объект.ИспользоватьПараметрыТранспортаCOM = Ложь; @@ -3104,7 +3041,7 @@ КонецЕсли; Оповещение = Новый ОписаниеОповещения("СтраницаМастераНачало_ПриПереходеДалее_Завершение", ЭтотОбъект, Новый Структура); - ТекстПредупреждения = НСтр("ru = 'Для передачи файла настроек синхронизации данных необходимо установить расширение работы с файлами.'"); + ТекстПредупреждения = НСтр("ru = 'Для передачи файла настроек синхронизации данных необходимо установить расширение для веб-клиента 1С:Предприятие.'"); ИменаФайлов = Новый Массив; ИменаФайлов.Добавить(Объект.ИмяФайлаНастроекОбменаДаннымиДляЗагрузки); @@ -3184,10 +3121,10 @@ &НаКлиенте Функция Подключаемый_СтраницаМастераНастройкаПараметровДляВнешнегоСоединенияПервойБазы_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее) - Элементы.НадписьОписаниеОграниченийПередачиДанных1.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеОграниченийПередачиДанных1.Заголовок, + Элементы.ОписаниеОграниченийПередачиДанных1.Заголовок = СтрЗаменить(Элементы.ОписаниеОграниченийПередачиДанных1.Заголовок, "%Программа%", СинонимПланаОбмена); - Элементы.НадписьОписаниеЗначенийПоУмолчанию1.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеЗначенийПоУмолчанию1.Заголовок, + Элементы.ОписаниеЗначенийПоУмолчанию1.Заголовок = СтрЗаменить(Элементы.ОписаниеЗначенийПоУмолчанию1.Заголовок, "%Программа%", СинонимПланаОбмена); КонецФункции @@ -3195,10 +3132,10 @@ &НаКлиенте Функция Подключаемый_СтраницаМастераНастройкаПараметровДляВнешнегоСоединенияВторойБазы_ПриОткрытии(Отказ, ПропуститьСтраницу, ЭтоПереходДалее) - Элементы.НадписьОписаниеОграниченийПередачиДанных4.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеОграниченийПередачиДанных4.Заголовок, + Элементы.ОписаниеОграниченийПередачиДанных4.Заголовок = СтрЗаменить(Элементы.ОписаниеОграниченийПередачиДанных4.Заголовок, "%Программа%", Объект.НаименованиеЭтойБазы); - Элементы.НадписьОписаниеЗначенийПоУмолчанию4.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеЗначенийПоУмолчанию4.Заголовок, + Элементы.ОписаниеЗначенийПоУмолчанию4.Заголовок = СтрЗаменить(Элементы.ОписаниеЗначенийПоУмолчанию4.Заголовок, "%Программа%", Объект.НаименованиеЭтойБазы); КонецФункции @@ -3542,12 +3479,44 @@ &НаКлиенте Функция Подключаемый_СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузка_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) - ОбменДаннымиВызовСервера.ВыполнитьЗагрузкуДляУзлаИнформационнойБазыЧерезФайл(Отказ, Объект.УзелИнформационнойБазы, Объект.ИмяФайлаСообщенияОбмена); + СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузка_ОбработкаДлительнойОперации(); - Если Отказ Тогда +КонецФункции + +&НаСервере +Процедура СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузка_ОбработкаДлительнойОперации() + + ДлительнаяОперация = Ложь; + ДлительнаяОперацияЗавершена = Ложь; + ИдентификаторДлительнойОперации = ""; + + ПараметрыМетода = Новый Структура; + ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); + ПараметрыМетода.Вставить("ИмяФайлаСообщенияОбмена", Объект.ИмяФайлаСообщенияОбмена); + + Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне( + УникальныйИдентификатор, + "Обработки.ПомощникСозданияОбменаДанными.ВыполнитьЗагрузкуСправочников", + ПараметрыМетода, + НСтр("ru = 'Загрузка справочников из сообщения обмена'")); + + Если Не Результат.ЗаданиеВыполнено Тогда - ПоказатьПредупреждение(, НСтр("ru = 'Возникли ошибки на этапе синхронизации справочников. - |Для решения проблем воспользуйтесь журналом регистрации.'")); + ДлительнаяОперация = Истина; + ИдентификаторДлительнойОперации = Результат.ИдентификаторЗадания; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция Подключаемый_СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) + + Если ДлительнаяОперация Тогда + + ПерейтиДалее = Ложь; + + ПодключитьОбработчикОжидания("ОбработчикОжиданияФоновогоЗадания", 5, Истина); КонецЕсли; @@ -3733,24 +3702,49 @@ КонецФункции +&НаСервере +Процедура СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации() + + ДлительнаяОперация = Ложь; + ДлительнаяОперацияЗавершена = Ложь; + ИдентификаторДлительнойОперации = ""; + + ПараметрыМетода = Новый Структура; + ПараметрыМетода.Вставить("УзелИнформационнойБазы", Объект.УзелИнформационнойБазы); + ПараметрыМетода.Вставить("ИдентификаторФайла", ИдентификаторФайлаСообщенияВСервисе); + ПараметрыМетода.Вставить("ДатаНачалаОперации", ДатаНачалаОперации); + ПараметрыМетода.Вставить("ПараметрыАутентификации", Объект.WSПароль); + + Результат = ДлительныеОперации.ЗапуститьВыполнениеВФоне( + УникальныйИдентификатор, + "Обработки.ПомощникСозданияОбменаДанными.ВыполнитьЗагрузкуДанных", + ПараметрыМетода, + НСтр("ru = 'Загрузка справочников из сообщения обмена'")); + + Если Не Результат.ЗаданиеВыполнено Тогда + + ДлительнаяОперация = Истина; + ИдентификаторДлительнойОперации = Результат.ИдентификаторЗадания; + + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Функция Подключаемый_СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) - Если ДлительнаяОперацияЗавершена Тогда + СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации(); + +КонецФункции + +&НаКлиенте +Функция Подключаемый_СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДанных_ОбработкаДлительнойОперации(Отказ, ПерейтиДалее) + + Если ДлительнаяОперация Тогда - ОбменДаннымиВызовСервера.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЗавершениеДлительнойОперации( - Отказ, - Объект.УзелИнформационнойБазы, - ИдентификаторФайлаСообщенияВСервисе, - ДатаНачалаОперации, - Объект.WSПароль); + ПерейтиДалее = Ложь; - Если Отказ Тогда - - ПоказатьПредупреждение(, НСтр("ru = 'Возникли ошибки на этапе синхронизации данных. - |Для решения проблем воспользуйтесь журналом регистрации.'")); - - КонецЕсли; + ПодключитьОбработчикОжидания("ОбработчикОжиданияФоновогоЗадания", 5, Истина); КонецЕсли; @@ -4229,13 +4223,13 @@ КонецЕсли; - Элементы.НадписьОписаниеОграниченийПередачиДанных.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеОграниченийПередачиДанных.Заголовок, + Элементы.ОписаниеОграниченийПередачиДанных.Заголовок = СтрЗаменить(Элементы.ОписаниеОграниченийПередачиДанных.Заголовок, "%Программа%", СинонимПланаОбмена); - Элементы.НадписьОписаниеОграниченийПередачиДанных2.Заголовок = Элементы.НадписьОписаниеОграниченийПередачиДанных.Заголовок; + Элементы.ОписаниеОграниченийПередачиДанных2.Заголовок = Элементы.ОписаниеОграниченийПередачиДанных.Заголовок; - Элементы.НадписьОписаниеЗначенийПоУмолчанию.Заголовок = СтрЗаменить(Элементы.НадписьОписаниеЗначенийПоУмолчанию.Заголовок, + Элементы.ОписаниеЗначенийПоУмолчанию.Заголовок = СтрЗаменить(Элементы.ОписаниеЗначенийПоУмолчанию.Заголовок, "%Программа%", СинонимПланаОбмена); - Элементы.НадписьОписаниеЗначенийПоУмолчанию2.Заголовок = Элементы.НадписьОписаниеЗначенийПоУмолчанию.Заголовок; + Элементы.ОписаниеЗначенийПоУмолчанию2.Заголовок = Элементы.ОписаниеЗначенийПоУмолчанию.Заголовок; КонецПроцедуры @@ -4515,26 +4509,31 @@ // Синхронизация справочников ТаблицаПереходовНоваяСтрока(13, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(14, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(15, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(16, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(14, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(15, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(16, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(17, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); // Настройки параметров учета - ТаблицаПереходовНоваяСтрока(17, "СтраницаМастераНастройкиОтраженияДокументовВУчете",, "СтраницаНавигацииПродолжениеТолькоДалее", "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриПереходеДалее",, "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриОткрытии"); + ТаблицаПереходовНоваяСтрока(18, "СтраницаМастераНастройкиОтраженияДокументовВУчете",, "СтраницаНавигацииПродолжениеТолькоДалее", "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриПереходеДалее",, "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриОткрытии"); // Сохранение настроек; Регистрация всех данных к выгрузке, кроме справочников - ТаблицаПереходовНоваяСтрока(18, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроек_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(19, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроекДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(19, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроек_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(20, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроекДлительнаяОперация_ОбработкаДлительнойОперации"); // Синхронизация всех данных, кроме справочников - ТаблицаПереходовНоваяСтрока(20, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(21, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(22, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(23, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(24, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(25, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(21, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(22, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(23, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(26, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено",, "СтраницаНавигацииОкончание",,, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено_ПриОткрытии"); + ТаблицаПереходовНоваяСтрока(24, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДанных_ОбработкаДлительнойОперации"); + + + ТаблицаПереходовНоваяСтрока(25, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(26, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(27, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + + ТаблицаПереходовНоваяСтрока(28, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено",, "СтраницаНавигацииОкончание",,, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено_ПриОткрытии"); КонецПроцедуры @@ -4570,26 +4569,28 @@ // Синхронизация справочников ТаблицаПереходовНоваяСтрока(12, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(13, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(14, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(15, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(13, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(14, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(15, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(16, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииСправочниковВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); // Настройки параметров учета - ТаблицаПереходовНоваяСтрока(16, "СтраницаМастераНастройкиОтраженияДокументовВУчете",, "СтраницаНавигацииПродолжениеТолькоДалее", "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриПереходеДалее",, "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриОткрытии"); + ТаблицаПереходовНоваяСтрока(17, "СтраницаМастераНастройкиОтраженияДокументовВУчете",, "СтраницаНавигацииПродолжениеТолькоДалее", "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриПереходеДалее",, "СтраницаМастераНастройкиОтраженияДокументовВУчете_ПриОткрытии"); // Сохранение настроек; Регистрация всех данных к выгрузке, кроме справочников - ТаблицаПереходовНоваяСтрока(17, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроек_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(18, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроекДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(18, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроек_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(19, "СтраницаМастераОжиданиеСохраненияНастроек",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСохраненияНастроекДлительнаяОперация_ОбработкаДлительнойОперации"); // Синхронизация всех данных, кроме справочников - ТаблицаПереходовНоваяСтрока(19, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(20, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(21, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(22, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузка_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(23, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(24, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(20, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(21, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(22, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(23, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхЗагрузкаДанных_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(24, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузка_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(25, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперация_ОбработкаДлительнойОперации"); + ТаблицаПереходовНоваяСтрока(26, "ОжиданиеСинхронизацииДанных",, "СтраницаНавигацииОжидание",,,, Истина, "СтраницаМастераОжиданиеСинхронизацииДанныхВыгрузкаДлительнаяОперацияОкончание_ОбработкаДлительнойОперации"); - ТаблицаПереходовНоваяСтрока(25, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено",, "СтраницаНавигацииОкончание",,, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено_ПриОткрытии"); + ТаблицаПереходовНоваяСтрока(27, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено",, "СтраницаНавигацииОкончание",,, "СтраницаМастераСозданиеОбменаДаннымиУспешноЗавершено_ПриОткрытии"); КонецПроцедуры diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Help/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Help/ru.html index 5ea46beeb..20d181e4a 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Help/ru.html +++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <p>Предназначен для настройки <a href="CommonForm.ОбменыДанными/Help">синхронизации данных</a> между двумя программами. Возможна настройка синхронизации данных по правилам обмена, без использования правил обмена и организация совместной работы в распределенной информационной базе (РИБ).</p> <h3>Этапы настройки параметров синхронизации данных</h3> <p>Настройка синхронизации данных при выборе варианта подключения через другие каналы связи выполняется в два этапа. Первый шаг настройки синхронизации данных выполняется в текущей программе, затем необходимо перейти в другую программу и закончить в ней настройку синхронизации данных. Для передачи информации между этапами настройки синхронизации данных используется временный файл с настройками. При настройке синхронизации данных через прямое соединение с базой или через веб-сервисы вся настройка для обеих программ выполняется в текущей программе.</p> @@ -74,7 +74,7 @@ <p>При настройке синхронизации данных в клиент-серверном варианте работы информационной базы необходимо иметь в виду, что данные синхронизируются на компьютере, на котором установлен сервер 1С:Предприятия. Для сервера 1С:Предприятия под управлением операционной системы Microsoft Windows это путь вида:<br><strong>\\servername\resource</strong><br>а для сервера под управлением Linux: <br><strong>//servername/resource</strong>.</p> <p>Необходимо убедиться в том, что каталог синхронизации доступен для чтения и записи пользователю операционной системы, от имени которого запущен сервер 1С:Предприятия. Если это не так, то необходимо дать этому пользователю необходимые права, или выбрать другого пользователя для запуска сервера 1С:Предприятия с необходимыми правами на каталог, используемый для синхронизации данных. Эти же рекомендации актуальны и для доступа к ресурсам FTP и электронной почты. Подробнее об администрировании сервера 1С:Предприятия см. документацию к платформе 1С:Предприятие.</p> <h3>Особенности создания узла РИБ. </h3> -<p>На первом этапе создается начальный образ РИБ. Все страницы помощника остаются без изменений. На странице <strong>Первый этап настройки успешно завершен</strong> по умолчанию включен флажок <strong>Создать начальный образ подчиненного узла РИБ</strong> (рекомендуется это сделать сразу). Этот шаг можно сделать и позже, из настройки синхронизации в любой момент.</p> +<p>На первом этапе создается начальный образ РИБ. Все страницы помощника остаются без изменений. На странице <strong>Первый этап настройки успешно завершен</strong> по умолчанию включен флажок <strong>Создать начальный образ подчиненного узла РИБ</strong> (рекомендуется это сделать сразу). Этот шаг можно сделать и позже, из настройки синхронизации в любой момент. </p> <ul><li> <div>После нажатия на кнопку <strong>Готово</strong> с включенным флажком предлагается создать начальный образ РИБ. Для этого перейдите по гиперссылке <strong>Создать начальный образ</strong>. </div> </li><li> @@ -101,7 +101,7 @@ <div>Нажмите <strong>Создать начальный образ</strong>.</div> </li><li> <div>Созданный файл с начальным образом подчиненного узла распределенной информационной базы сохраните на компьютере филиала в новую папку, которая будет рабочим каталогом новой базы.</div> +</li><li>Создайте новую базу, выбрав <strong>Добавление в список существующей информационной базы</strong>, укажите путь к файлу с начальным образом. Указанная информационная база будет добавлена в список баз. </li><li> -<div>Создайте новую базу, выбрав <strong>Добавление в список существующей информационной базы</strong>, укажите путь к файлу с начальным образом. Указанная информационная база будет добавлена в список баз.</div> -</li><li> -<div>После входа в программу автоматически запустится <strong>Помощник</strong> на странице <strong>Продолжение настройки синхронизации данных с главным узлом</strong>, продолжите настройку синхронизации, нажмите кнопку <strong>Далее</strong>, чтобы продолжить настройку и задать вариант подключения к главному узлу.</div></li></ul></body></html> \ No newline at end of file +<div>После входа в программу автоматически запустится <strong>Помощник</strong> на странице <strong>Продолжение настройки синхронизации данных с главным узлом</strong>, продолжите настройку синхронизации, нажмите кнопку <strong>Далее</strong>, чтобы продолжить настройку и задать вариант подключения к главному узлу.</div></li></ul><h3>Создание узла РИБ (внешние файлы)</h3> +<p>Если у вас есть файлы в томах, то при <a href="CommonForm.СозданиеНачальногоОбразаСФайлами/Help">создании начального образа</a> вам также потребуется указать путь к файлу, в который будет записан архив (zip) со всеми файлами в томах. При первом запуске в базе филиала вам нужно будет выполнить команду <strong>Разместить файлы начального образа</strong>, указав в ней путь к файлу архива.</p></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ManagerModule.bsl b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ManagerModule.bsl new file mode 100644 index 000000000..3b1d1acd1 --- /dev/null +++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ManagerModule.bsl @@ -0,0 +1,32 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область СлужебныйПрограммныйИнтерфейс + +// Для внутреннего использования +// +Процедура ВыполнитьЗагрузкуСправочников(Параметры, АдресВременногоХранилища) Экспорт + + ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСтроку( + Параметры.УзелИнформационнойБазы, + Параметры.ИмяФайлаСообщенияОбмена, + Перечисления.ДействияПриОбмене.ЗагрузкаДанных); + +КонецПроцедуры + +// Для внутреннего использования +// +Процедура ВыполнитьЗагрузкуДанных(Параметры, АдресВременногоХранилища) Экспорт + + ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЗавершениеДлительнойОперации( + Ложь, + Параметры.УзелИнформационнойБазы, + Параметры.ИдентификаторФайла, + Параметры.ДатаНачалаОперации, + Параметры.ПараметрыАутентификации, + Истина); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/Template.htmldoc b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/Template.htmldoc deleted file mode 100644 index 1621f1d23..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/Template.htmldoc +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<htmldoc:HtmlDocument xmlns:htmldoc="http://g5.1c.ru/v8/dt/html-document"> - <pages lang="ru"/> -</htmldoc:HtmlDocument> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/ru.html deleted file mode 100644 index 80b6322e3..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключения/ru.html +++ /dev/null @@ -1,10 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1><font color="#00008b">Параметры подключения -<hr></hr></font></h1> -<p>Для настройки синхронизации данных необходимо знать где находится программа, с которой нужно настроить синхронизацию (другая программа). Для этого достаточно открыть программу. В главном меню выбрать пункт "Справка\О программе...". </p> -<p>Обратите внимание на следующие параметры (все они могут быть скопированы из формы "О программе..."): </p> -<ul><li><strong>Режим</strong> - либо файловый либо серверный. Если режим файловый, то информационная база находится в каталоге на данном компьютере или в локальной сети. Если режим серверный, то для подключения нужно знать имя сервера и имя информационной базы на сервере. -</li><li><strong>Каталог</strong> - для файлового режима указывается каталог, в котором располагается информационная база. -</li><li><strong>Сервер</strong> - для серверного режима указывается имя сервера 1С:Предприятия, на котором расположена информационная база. -</li><li><strong>База</strong> - для серверного режима указывается имя информационной базы на сервере 1С:Предприятия. -</li><li><strong>Пользователь</strong> - имя пользователя, который вошел в информационную базу. Если в имени пользователя присутствует ";", то в качестве имени пользователя для подключения нужно использовать имя от начала строки до ";".</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/Template.htmldoc b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/Template.htmldoc deleted file mode 100644 index 1621f1d23..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/Template.htmldoc +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<htmldoc:HtmlDocument xmlns:htmldoc="http://g5.1c.ru/v8/dt/html-document"> - <pages lang="ru"/> -</htmldoc:HtmlDocument> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/ru.html deleted file mode 100644 index c9e696016..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКВебСервису/ru.html +++ /dev/null @@ -1,7 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1><font color="#00008b">Параметры подключения -<hr></hr></font></h1> -<p>Для настройки синхронизации данных нужно знать где находится программа, с которой нужно настроить синхронизацию (другая программа). Для этого достаточно открыть программу в режиме веб-клиента. В главном меню выбрать пункт "Справка\О программе...". </p> -<p>Обратите внимание на следующие параметры (все они могут быть скопированы из формы "О программе..."): </p> -<ul><li><strong>Адрес</strong> - адрес информационной базы в Интернете. -</li><li><strong>Пользователь</strong> - имя пользователя, который вошел в информационную базу. Если в имени пользователя присутствует ";", то в качестве имени пользователя для подключения нужно использовать имя от начала строки до ";".</li></ul><p><strong>Важно! </strong>Имя пользователя не должно содержать служебных символов [НедопустимыеСимволы]. В противном случае во второй информационной базе необходимо создать пользователя, в имени которого не будут содержаться служебные символы. Этот пользователь должен быть администратором.<br></p></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/Template.htmldoc b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/Template.htmldoc deleted file mode 100644 index 1621f1d23..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/Template.htmldoc +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<htmldoc:HtmlDocument xmlns:htmldoc="http://g5.1c.ru/v8/dt/html-document"> - <pages lang="ru"/> -</htmldoc:HtmlDocument> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/ru.html deleted file mode 100644 index d98f74f09..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПараметрыПодключенияКСервису/ru.html +++ /dev/null @@ -1,5 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1><font color="#00008b">Параметры подключения -<hr></hr></font></h1> -<p>Для настройки синхронизации данных с приложением, расположенным в Интернете, необходимо указать в поле <strong>Адрес</strong> веб-ссылку к этому приложению (точно такую же, как при открытии этого приложения в браузере).<br>Например: <a>http://www.1cfresh.com/ea_demo/123/</a><br>В полях <strong>Пользователь</strong> и <strong>Пароль</strong> необходимо указать имя и пароль администратора приложения.</p> -<p><strong>Важно! </strong>Имя пользователя не должно содержать служебных символов [НедопустимыеСимволы]. В противном случае в приложении, расположенном в Интернете, необходимо создать пользователя, в имени которого не будут содержаться служебные символы. Этот пользователь должен быть администратором приложения.<br></p></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/Template.htmldoc b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/Template.htmldoc deleted file mode 100644 index 1621f1d23..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/Template.htmldoc +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<htmldoc:HtmlDocument xmlns:htmldoc="http://g5.1c.ru/v8/dt/html-document"> - <pages lang="ru"/> -</htmldoc:HtmlDocument> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/ru.html deleted file mode 100644 index b104fa918..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакОпределитьПрефиксВторойИнформационнойБазы/ru.html +++ /dev/null @@ -1,4 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1><font color="#00008b">Префикс второй информационной базы -<hr></hr></font></h1> -<p>Для того чтобы узнать префикс второй информационной базы следует выполнить запуск программы и перейти в форму синхронизации данных.<br>Если во второй информационной базе префикс не задан, то следует указать любой желаемый префикс. Этот префикс будет установлен во второй базе при настройке синхронизации данных.</p></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/Template.htmldoc b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/Template.htmldoc deleted file mode 100644 index 1621f1d23..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/Template.htmldoc +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<htmldoc:HtmlDocument xmlns:htmldoc="http://g5.1c.ru/v8/dt/html-document"> - <pages lang="ru"/> -</htmldoc:HtmlDocument> diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/ru.html b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/ru.html deleted file mode 100644 index b3fa25420..000000000 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Templates/КакСформироватьФайлСНастройкамиОбменаДанными/ru.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1><font color="#00008b">Файл с настройками синхронизации данных -<hr></hr></font></h1> -<p>Если файл настроек синхронизации данных утерян, то для формирования нового файла необходимо:</p> -<ul><li>перейти в первую программу -</li><li>перейти в форму синхронизации данных -</li><li>выбрать требуемую синхронизацию данных и открыть ее параметры -</li><li>в командной панели формы следует выбрать пункт меню: "Все действия" –> "Получить настройки синхронизации данных для другой программы..."</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ПомощникСозданияОбменаДанными.mdo b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ПомощникСозданияОбменаДанными.mdo index dce18e27f..fe94ddedf 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ПомощникСозданияОбменаДанными.mdo +++ b/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/ПомощникСозданияОбменаДанными.mdo @@ -10,6 +10,7 @@ <value>Помощник настройки синхронизации данных</value> </synonym> <defaultForm>DataProcessor.ПомощникСозданияОбменаДанными.Form.Форма</defaultForm> + <includeHelpInContents>true</includeHelpInContents> <help> <pages> <lang>ru</lang> @@ -1021,53 +1022,4 @@ <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> - <forms uuid="7dc10935-69aa-4f2b-8b01-798dbbaa6cc6"> - <name>ДополнительноеОписание</name> - <synonym> - <key>ru</key> - <value>Дополнительное описание</value> - </synonym> - <usePurposes>PersonalComputer</usePurposes> - <usePurposes>MobileDevice</usePurposes> - </forms> - <templates uuid="d5fdac2a-e3aa-4859-8485-0cf114748c87"> - <name>КакОпределитьПараметрыПодключения</name> - <synonym> - <key>ru</key> - <value>Как определить параметры подключения</value> - </synonym> - <templateType>HTMLDocument</templateType> - </templates> - <templates uuid="eb3d278b-e8fe-4d43-90a8-dd361009196f"> - <name>КакОпределитьПараметрыПодключенияКВебСервису</name> - <synonym> - <key>ru</key> - <value>Как определить параметры подключения</value> - </synonym> - <templateType>HTMLDocument</templateType> - </templates> - <templates uuid="d30fbeae-e97f-422d-b5c4-289aaeaa2ae4"> - <name>КакОпределитьПараметрыПодключенияКСервису</name> - <synonym> - <key>ru</key> - <value>Как определить параметры подключения</value> - </synonym> - <templateType>HTMLDocument</templateType> - </templates> - <templates uuid="a3582d0c-6a63-442e-8422-83f251df0ed9"> - <name>КакОпределитьПрефиксВторойИнформационнойБазы</name> - <synonym> - <key>ru</key> - <value>Как определить префикс второй информационной базы</value> - </synonym> - <templateType>HTMLDocument</templateType> - </templates> - <templates uuid="9aae5d2a-81b7-4f1c-8b65-b3e4a8a9bc4d"> - <name>КакСформироватьФайлСНастройкамиОбменаДанными</name> - <synonym> - <key>ru</key> - <value>Как сформировать файл с настройками обмена данными</value> - </synonym> - <templateType>HTMLDocument</templateType> - </templates> </mdclass:DataProcessor> diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборКонстанты/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборКонстанты/Module.bsl index 0e57bbe3e..97b786fb3 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборКонстанты/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборКонстанты/Module.bsl @@ -5,8 +5,6 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Attributes/СписокДанных/ExtInfo/ListSettings.dcss b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Attributes/СписокДанных/ExtInfo/ListSettings.dcss index 61e6fb4bb..ee86bfc1a 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Attributes/СписокДанных/ExtInfo/ListSettings.dcss +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Attributes/СписокДанных/ExtInfo/ListSettings.dcss @@ -2,7 +2,6 @@ <Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core"> <filter> <viewMode>Normal</viewMode> - <userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</userSettingID> </filter> <order> <viewMode>Normal</viewMode> diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Form.form b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Form.form index 52180fa5c..67591c04d 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Form.form +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Form.form @@ -16,9 +16,12 @@ <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>СписокДанных.Filter</segments> + <segments>СписокДанных.SettingsComposer.Settings.Filter</segments> </dataPath> <titleLocation>None</titleLocation> + <excludedCommands>HierarchicalList</excludedCommands> + <excludedCommands>List</excludedCommands> + <excludedCommands>Tree</excludedCommands> <autoCommandBar> <name>ОтборКоманднаяПанель</name> <id>17</id> @@ -212,10 +215,10 @@ </handlers> <searchStringAddition> <name>ОтборСтрокаПоиска</name> - <id>63</id> + <id>65</id> <extendedTooltip> <name>ОтборСтрокаПоискаРасширеннаяПодсказка</name> - <id>65</id> + <id>67</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -225,7 +228,7 @@ </extendedTooltip> <contextMenu> <name>ОтборСтрокаПоискаКонтекстноеМеню</name> - <id>64</id> + <id>66</id> <autoFill>true</autoFill> </contextMenu> <source>Отбор</source> @@ -235,10 +238,10 @@ </searchStringAddition> <viewStatusAddition> <name>ОтборСостояниеПросмотра</name> - <id>66</id> + <id>68</id> <extendedTooltip> <name>ОтборСостояниеПросмотраРасширеннаяПодсказка</name> - <id>68</id> + <id>70</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -248,7 +251,7 @@ </extendedTooltip> <contextMenu> <name>ОтборСостояниеПросмотраКонтекстноеМеню</name> - <id>67</id> + <id>69</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -259,10 +262,10 @@ </viewStatusAddition> <searchControlAddition> <name>ОтборУправлениеПоиском</name> - <id>69</id> + <id>71</id> <extendedTooltip> <name>ОтборУправлениеПоискомРасширеннаяПодсказка</name> - <id>71</id> + <id>73</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -272,7 +275,7 @@ </extendedTooltip> <contextMenu> <name>ОтборУправлениеПоискомКонтекстноеМеню</name> - <id>70</id> + <id>72</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -301,6 +304,7 @@ <changeRowSet>true</changeRowSet> <changeRowOrder>true</changeRowOrder> <autoMaxWidth>true</autoMaxWidth> + <height>6</height> <autoMaxHeight>true</autoMaxHeight> <autoMaxRowsCount>true</autoMaxRowsCount> <selectionMode>MultiRow</selectionMode> @@ -349,7 +353,7 @@ <extInfo xsi:type="form:UsualGroupExtInfo"> <group>Vertical</group> <behavior>Auto</behavior> - <representation>StrongSeparation</representation> + <representation>NormalSeparation</representation> <showLeftMargin>true</showLeftMargin> <united>true</united> <showTitle>auto</showTitle> @@ -357,6 +361,42 @@ <currentRowUse>Auto</currentRowUse> </extInfo> </items> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>63</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + СписокДанных 10 @@ -475,10 +515,10 @@ СписокДанныхСтрокаПоиска - 80 + 82 СписокДанныхСтрокаПоискаРасширеннаяПодсказка - 82 + 84 Label true true @@ -488,7 +528,7 @@ СписокДанныхСтрокаПоискаКонтекстноеМеню - 81 + 83 true СписокДанных @@ -498,10 +538,10 @@ СписокДанныхСостояниеПросмотра - 83 + 85 СписокДанныхСостояниеПросмотраРасширеннаяПодсказка - 85 + 87 Label true true @@ -511,7 +551,7 @@ СписокДанныхСостояниеПросмотраКонтекстноеМеню - 84 + 86 true ViewStatusAddition @@ -522,10 +562,10 @@ СписокДанныхУправлениеПоиском - 86 + 88 СписокДанныхУправлениеПоискомРасширеннаяПодсказка - 88 + 90 Label true true @@ -535,7 +575,7 @@ СписокДанныхУправлениеПоискомКонтекстноеМеню - 87 + 89 true SearchControlAddition @@ -824,6 +864,7 @@ true + 5 true true MultiRow @@ -855,6 +896,7 @@ true true + ГруппаПользовательскихНастроек None diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Module.bsl index 761d07736..e57e00715 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборОбъектовОтбором/Module.bsl @@ -5,8 +5,6 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -43,7 +41,7 @@ Колонки = ТекущийОбъект.ИзмеренияНабораЗаписей(МетаИнфо); Для Каждого ТекЭл Из Колонки Цикл СтруктураДанных = СтруктураДанных + "," + ТекЭл.Имя; - КонецЦикла; + КонецЦикла; СтруктураДанных = Сред(СтруктураДанных, 2); СписокДанных.ПроизвольныйЗапрос = Истина; @@ -74,7 +72,9 @@ &НаКлиенте Процедура ОтборПриИзменении(Элемент) + Элементы.СписокДанных.Обновить(); + КонецПроцедуры #КонецОбласти @@ -111,7 +111,6 @@ #КонецОбласти #Область СлужебныеПроцедурыИФункции -// &НаКлиенте Процедура ОткрытьФормуТекущегоОбъекта() diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl index 0f758954f..834e82514 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/ВыборУзлаПланаОбмена/Module.bsl @@ -7,8 +7,6 @@ УстановитьУсловноеОформление(); - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Настройки/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Настройки/Module.bsl index f11ee1c6c..eec377a1f 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Настройки/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Настройки/Module.bsl @@ -5,8 +5,6 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Form.form b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Form.form index 60c13ef73..2512b2eb6 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Form.form +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Form.form @@ -91,6 +91,18 @@ true true true + false + false + + + 81 + 106 + + + false + false + false + false true true true @@ -121,7 +133,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true auto @@ -335,6 +347,21 @@ true + + ПредупреждениеПриОткрытии + + <key>ru</key> + <value>Предупреждение при открытии</value> + + 6 + + + true + + + true + + ЗаписатьИзмененияУзла diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Items/НомерПринятого/ChoiceButtonPicture.bmp b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Items/НомерПринятого/ChoiceButtonPicture.bmp new file mode 100644 index 000000000..7956c5ea5 Binary files /dev/null and b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Items/НомерПринятого/ChoiceButtonPicture.bmp differ diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Module.bsl index 6324e6539..9ba3d0432 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/НомераСообщенийУзлаПланаОбмена/Module.bsl @@ -1,57 +1,74 @@ - #Область ОбработчикиСобытийФормы -// &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; - УзелОбменаСсылка = Параметры.УзелОбменаСсылка; + Параметры.Свойство("УзелОбменаСсылка", УзелОбменаСсылка); + Если Параметры.Свойство("Имя", ПредупреждениеПриОткрытии) Тогда + Если ПредупреждениеПриОткрытии = "ФормаРедактироватьНомераСообщений" Тогда + ПредупреждениеПриОткрытии = Неопределено; + ИначеЕсли ПредупреждениеПриОткрытии = "ДеревоМетаданных" Тогда + ПредупреждениеПриОткрытии = Истина; + Иначе + Отказ = Истина; + КонецЕсли + Иначе + Отказ = Истина; + КонецЕсли; + ПрочитатьНомераСообщений(); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) - ПрочитатьНомераСообщений(); + + Если ЗначениеЗаполнено(ПредупреждениеПриОткрытии) Тогда + ПоказатьЗначение(, ПредупреждениеПриОткрытии); + Отказ = Истина; + КонецЕсли; + Заголовок = УзелОбменаСсылка; КонецПроцедуры #КонецОбласти #Область ОбработчикиКомандФормы -// // Производит запись измененных данных и закрывает форму. +// &НаКлиенте Процедура ЗаписатьИзмененияУзла(Команда) + ЗаписатьНомераСообщений(); Оповестить("ИзменениеДанныхУзлаОбмена", УзелОбменаСсылка, ЭтотОбъект); Закрыть(); + КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -// &НаСервере Функция ЭтотОбъект(ТекущийОбъект = Неопределено) + Если ТекущийОбъект = Неопределено Тогда Возврат РеквизитФормыВЗначение("Объект"); КонецЕсли; + ЗначениеВРеквизитФормы(ТекущийОбъект, "Объект"); Возврат Неопределено; КонецФункции &НаСервере Процедура ПрочитатьНомераСообщений() - Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, "НомерОтправленного, НомерПринятого, ВерсияДанных"); - Если Данные=Неопределено Тогда + + Данные = ЭтотОбъект().ПолучитьПараметрыУзлаОбмена(УзелОбменаСсылка, "НомерОтправленного, НомерПринятого, ВерсияДанных", Элементы.НомерПринятого, ПредупреждениеПриОткрытии); + Если Данные = Неопределено Тогда НомерОтправленного = Неопределено; НомерПринятого = Неопределено; ВерсияДанных = Неопределено; @@ -60,10 +77,12 @@ НомерПринятого = Данные.НомерПринятого; ВерсияДанных = Данные.ВерсияДанных; КонецЕсли; -КонецПроцедуры + +КонецПроцедуры &НаСервере Процедура ЗаписатьНомераСообщений() + Данные = Новый Структура("НомерОтправленного, НомерПринятого", НомерОтправленного, НомерПринятого); ЭтотОбъект().УстановитьПараметрыУзлаОбмена(УзелОбменаСсылка, Данные); КонецПроцедуры diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/СообщениеОбОбычномИнтерфейсе/Form.oform b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/СообщениеОбОбычномИнтерфейсе/Form.oform index 1db2eeecb..052e12e70 100644 Binary files a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/СообщениеОбОбычномИнтерфейсе/Form.oform and b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/СообщениеОбОбычномИнтерфейсе/Form.oform differ diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/УзлыРегистрацииОбъекта/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/УзлыРегистрацииОбъекта/Module.bsl index c25f8c05d..1f410c496 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/УзлыРегистрацииОбъекта/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/УзлыРегистрацииОбъекта/Module.bsl @@ -7,8 +7,6 @@ УстановитьУсловноеОформление(); - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Form.form b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Form.form index 63900dcbf..ad736e4ea 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Form.form @@ -59,7 +59,13 @@ <autoMaxHeight>true</autoMaxHeight> <horizontalStretch>false</horizontalStretch> <wrap>true</wrap> + <dropListButton>false</dropListButton> + <choiceButton>true</choiceButton> + <choiceButtonRepresentation>ShowInInputField</choiceButtonRepresentation> <clearButton>false</clearButton> + <spinButton>false</spinButton> + <openButton>false</openButton> + <createButton>false</createButton> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> @@ -71,7 +77,7 @@ <id>85</id> <title> <key>ru</key> - <value>№ сообщений: отпр. <нет>, прин. <нет></value> + <value>№ отправленного 0, № принятого 0</value> true true @@ -102,7 +108,7 @@ 172 <key>ru</key> - <value>Отображать изменения</value> + <value>Отображать</value> true true @@ -216,7 +222,7 @@ 40 <key>ru</key> - <value>Всех объектов выбранных типов</value> + <value>Все объекты выбранных типов</value> true true @@ -246,7 +252,7 @@ 41 <key>ru</key> - <value>Объектов выбранных типов с авторегистрацией</value> + <value>Объекты выбранных типов с авторегистрацией</value> true true @@ -279,7 +285,7 @@ 184 <key>ru</key> - <value>Одиночного объекта</value> + <value>Одиночный объект</value> true true @@ -312,7 +318,7 @@ 185 <key>ru</key> - <value>Объектов при помощи отбора</value> + <value>Объекты при помощи отбора</value> true true @@ -370,7 +376,7 @@ 59 <key>ru</key> - <value>Результатов запроса</value> + <value>Результаты запроса</value> true true @@ -424,7 +430,7 @@ <key>ru</key> - <value>Зарегистрировать изменения</value> + <value>Зарегистрировать</value> ru @@ -665,7 +671,7 @@ <key>ru</key> - <value>Отменить регистрацию изменений</value> + <value>Отменить регистрацию</value> ru @@ -749,6 +755,7 @@ true UserCmds Auto + InAdditionalSubmenu ФормаОткрытьФормуРегистрацииНаУзлах @@ -782,6 +789,7 @@ StdPicture.ExchangePlan Auto + InAdditionalSubmenu ФормаГруппаКнопокРИБ @@ -851,7 +859,7 @@ ru - Форма группа кнопок РИБ + Группа кнопок РИБ ФормаГруппаКнопокРИБРасширеннаяПодсказка @@ -962,7 +970,6 @@ CheckBoxField true Left - true true @@ -1004,10 +1011,9 @@ Left true - 28 + 17 true true - true true @@ -1092,7 +1098,7 @@ 29 <key>ru</key> - <value>Зарегистрировано/не выгружено</value> + <value>Количество</value> true true @@ -1102,6 +1108,10 @@ ДеревоМетаданных.КоличествоИзмененийСтрокой + + ru + Зарегистрировано / не выгружено + ДеревоМетаданныхКоличествоИзмененийСтрокойExtendedTooltip 248 @@ -1125,7 +1135,9 @@ Left true + 10 true + 1 true false @@ -1168,10 +1180,10 @@ ДеревоМетаданныхСтрокаПоиска - 320 + 328 ДеревоМетаданныхСтрокаПоискаРасширеннаяПодсказка - 322 + 330 Label true true @@ -1181,7 +1193,7 @@ ДеревоМетаданныхСтрокаПоискаКонтекстноеМеню - 321 + 329 true ДеревоМетаданных @@ -1191,10 +1203,10 @@ ДеревоМетаданныхСостояниеПросмотра - 323 + 331 ДеревоМетаданныхСостояниеПросмотраРасширеннаяПодсказка - 325 + 333 Label true true @@ -1204,7 +1216,7 @@ ДеревоМетаданныхСостояниеПросмотраКонтекстноеМеню - 324 + 332 true ViewStatusAddition @@ -1215,10 +1227,10 @@ ДеревоМетаданныхУправлениеПоиском - 326 + 334 ДеревоМетаданныхУправлениеПоискомРасширеннаяПодсказка - 328 + 336 Label true true @@ -1228,7 +1240,7 @@ ДеревоМетаданныхУправлениеПоискомКонтекстноеМеню - 327 + 335 true SearchControlAddition @@ -1682,10 +1694,44 @@ + + ФормаОткрытьФормуРегистрацииНаУзлахКонтекст + 324 + + <key>ru</key> + <value>Регистрация объекта на всех узлах</value> + + true + true + + true + + + ФормаОткрытьФормуРегистрацииНаУзлахКонтекстРасширеннаяПодсказка + 325 + Label + true + true + + Left + + + Form.Command.ОткрытьФормуРегистрацииНаУзлах + Normal + Picture + true + true + UserCmds + + StdPicture.ExchangePlan + + Auto + InAdditionalSubmenu + true Tree - 50 + 32 true true true @@ -1719,6 +1765,42 @@ СтраницаКонстанты 49 + + ГруппаПользовательскихНастроекКонстанты + 318 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек константы</value> + + + ru + Группа пользовательских настроек константы + + + ГруппаПользовательскихНастроекКонстантыРасширеннаяПодсказка + 319 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + СписокКонстант 63 @@ -1831,7 +1913,7 @@ 68 <key>ru</key> - <value>Номер отправленного</value> + <value>№ отпр.</value> true true @@ -1862,9 +1944,10 @@ Left true + 7 true true - true + false true @@ -1904,10 +1987,10 @@ СписокКонстантСтрокаПоиска - 341 + 349 СписокКонстантСтрокаПоискаРасширеннаяПодсказка - 343 + 351 Label true true @@ -1917,7 +2000,7 @@ СписокКонстантСтрокаПоискаКонтекстноеМеню - 342 + 350 true СписокКонстант @@ -1927,10 +2010,10 @@ СписокКонстантСостояниеПросмотра - 344 + 352 СписокКонстантСостояниеПросмотраРасширеннаяПодсказка - 346 + 354 Label true true @@ -1940,7 +2023,7 @@ СписокКонстантСостояниеПросмотраКонтекстноеМеню - 345 + 353 true ViewStatusAddition @@ -1951,10 +2034,10 @@ СписокКонстантУправлениеПоиском - 347 + 355 СписокКонстантУправлениеПоискомРасширеннаяПодсказка - 349 + 357 Label true true @@ -1964,7 +2047,7 @@ СписокКонстантУправлениеПоискомКонтекстноеМеню - 348 + 356 true SearchControlAddition @@ -2364,6 +2447,7 @@ true true + ГруппаПользовательскихНастроекКонстанты true @@ -2398,6 +2482,42 @@ СтраницаСписокСсылок 48 + + ГруппаПользовательскихНастроекСсылки + 320 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек ссылки</value> + + + ru + Группа пользовательских настроек константы + + + ГруппаПользовательскихНастроекСсылкиРасширеннаяПодсказка + 321 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + СписокСсылок 18 @@ -2456,7 +2576,7 @@ 52 <key>ru</key> - <value>Номер отправленного</value> + <value>№ отпр.</value> true true @@ -2487,9 +2607,10 @@ Left true + 7 true true - true + false @@ -2503,10 +2624,10 @@ СписокСсылокСтрокаПоиска - 361 + 369 СписокСсылокСтрокаПоискаРасширеннаяПодсказка - 363 + 371 Label true true @@ -2516,7 +2637,7 @@ СписокСсылокСтрокаПоискаКонтекстноеМеню - 362 + 370 true СписокСсылок @@ -2526,10 +2647,10 @@ СписокСсылокСостояниеПросмотра - 364 + 372 СписокСсылокСостояниеПросмотраРасширеннаяПодсказка - 366 + 374 Label true true @@ -2539,7 +2660,7 @@ СписокСсылокСостояниеПросмотраКонтекстноеМеню - 365 + 373 true ViewStatusAddition @@ -2550,10 +2671,10 @@ СписокСсылокУправлениеПоиском - 367 + 375 СписокСсылокУправлениеПоискомРасширеннаяПодсказка - 369 + 377 Label true true @@ -2563,7 +2684,7 @@ СписокСсылокУправлениеПоискомКонтекстноеМеню - 368 + 376 true SearchControlAddition @@ -3077,6 +3198,7 @@ true true + ГруппаПользовательскихНастроекСсылки true @@ -3111,6 +3233,42 @@ СтраницаНаборЗаписей 50 + + ГруппаПользовательскихНастроекНаборЗаписей + 322 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек набор записей</value> + + + ru + Группа пользовательских настроек константы + + + ГруппаПользовательскихНастроекНаборЗаписейРасширеннаяПодсказка + 323 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + СписокНаборовЗаписей 78 @@ -3166,7 +3324,7 @@ 83 <key>ru</key> - <value>Номер отправленного</value> + <value>№ отпр.</value> true true @@ -3197,8 +3355,10 @@ Left true + 7 true true + false @@ -3216,10 +3376,10 @@ СписокНаборовЗаписейСтрокаПоиска - 380 + 388 СписокНаборовЗаписейСтрокаПоискаРасширеннаяПодсказка - 382 + 390 Label true true @@ -3229,7 +3389,7 @@ СписокНаборовЗаписейСтрокаПоискаКонтекстноеМеню - 381 + 389 true СписокНаборовЗаписей @@ -3239,10 +3399,10 @@ СписокНаборовЗаписейСостояниеПросмотра - 383 + 391 СписокНаборовЗаписейСостояниеПросмотраРасширеннаяПодсказка - 385 + 393 Label true true @@ -3252,7 +3412,7 @@ СписокНаборовЗаписейСостояниеПросмотраКонтекстноеМеню - 384 + 392 true ViewStatusAddition @@ -3263,10 +3423,10 @@ СписокНаборовЗаписейУправлениеПоиском - 386 + 394 СписокНаборовЗаписейУправлениеПоискомРасширеннаяПодсказка - 388 + 396 Label true true @@ -3276,7 +3436,7 @@ СписокНаборовЗаписейУправлениеПоискомКонтекстноеМеню - 387 + 395 true SearchControlAddition @@ -3725,6 +3885,7 @@ true true + ГруппаПользовательскихНастроекНаборЗаписей true @@ -3819,7 +3980,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto @@ -3898,6 +4059,7 @@ ru Регистрируемые объекты + 10 Группа5ExtendedTooltip 226 @@ -4850,6 +5012,7 @@ true + Alt+Shift+B РедактироватьНомераСообщений diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Items/ДеревоМетаданных/RowsPicture.png b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Items/ДеревоМетаданных/RowsPicture.png index d36e47e45..e97da27ee 100644 Binary files a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Items/ДеревоМетаданных/RowsPicture.png and b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Items/ДеревоМетаданных/RowsPicture.png differ diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl index 3ee3c31e9..9fedf6e86 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Forms/Форма/Module.bsl @@ -25,8 +25,6 @@ УстановитьУсловноеОформление(); - ВыполнитьПроверкуПравДоступа("Администрирование", Метаданные); - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -151,12 +149,13 @@ КонецПроцедуры +&НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ИзменениеРегистрацииОбменаДаннымиОбъекта" Тогда ЗаполнитьКоличествоРегистрацийВДереве(); ОбновитьСодержимоеСтраницы(); - + ИначеЕсли ИмяСобытия = "ИзменениеДанныхУзлаОбмена" И УзелОбменаСсылка = Параметр Тогда УстановитьЗаголовокНомеровСообщений(); @@ -462,11 +461,16 @@ &НаКлиенте Процедура РедактироватьНомераСообщений(Команда) + Если ЗначениеЗаполнено(УзелОбменаСсылка) Тогда + ТекИмяФормы = ПолучитьИмяФормы() + "Форма.НомераСообщенийУзлаПланаОбмена"; - ТекПараметры = Новый Структура("УзелОбменаСсылка", УзелОбменаСсылка); - ОткрытьФорму(ТекИмяФормы, ТекПараметры); + ТекПараметры = Новый Структура("УзелОбменаСсылка, Имя", УзелОбменаСсылка); + ЗаполнитьЗначенияСвойств(ТекПараметры, ТекущийЭлемент); + + ОткрытьФорму(ТекИмяФормы, ТекПараметры, ЭтотОбъект, , , , ,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -704,7 +708,7 @@ // Экспортный обработчик команд для подсистемы дополнительных отчетов и обработок // -// Ожидаются параметры: +// Параметры: // ИдентификаторКоманды - Строка - Идентификатор команды для выполнения. // ОбъектыНазначения - Массив - Ссылки для обработки. Здесь не используется, ожидается, что аналогичный параметр // был передан и обработан при создании формы. @@ -874,7 +878,7 @@ &НаСервере Процедура УстановитьЗаголовокНомеровСообщений() - Текст = НСтр("ru = '№ сообщений: отпр. %1, прин. %2'"); + Текст = НСтр("ru = '№ отправленного %1, № принятого %2'"); Данные = ПрочитатьНомераСообщений(); Текст = СтрЗаменить(Текст, "%1", Формат(Данные.НомерОтправленного, "ЧДЦ=0; ЧН=")); @@ -1838,7 +1842,7 @@ КонецЦикла; СписокНаборовЗаписей.ТекстЗапроса = " - |ВЫБРАТЬ + |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТаблицаИзменений.НомерСообщения КАК НомерСообщения, | ВЫБОР | КОГДА ТаблицаИзменений.НомерСообщения ЕСТЬ NULL ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Help/ru.html b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Help/ru.html index b049a87ad..1153c815e 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Help/ru.html +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                    Список можно открыть по команде Все действия - Состав отправляемых данных из списка Синхронизации данных.

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

                                    diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl index abe564c3d..da6f6a773 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/ObjectModule.bsl @@ -6,26 +6,26 @@ // план обмена -> узлы обмена. Служебные узлы выброшены. // // Параметры: -// ОбъектДанных - Ссылка или структура со значениями измерений набор записей. Для этих данных -// которых анализируются узлы обмена. Если не указано, то для всех -// ИмяТаблицы - Если ОбъектДанных - структура, то имя таблицы для набора записей +// ОбъектДанных - ЛюбаяСсылка, Структура - Ссылка или структура со значениями измерений набор записей. Для этих данных +// которых анализируются узлы обмена. Если не указано, то для всех +// ИмяТаблицы - Строка - Если ОбъектДанных - структура, то имя таблицы для набора записей // -// Колонки в результате: -// - Наименование - Представление плана обмена или узла обмена -// - ИндексКартинки - 1 = план обмена, 2 = узел , 3 = помеченный для удаления узел -// - ИндексКартинкиАвторегистрация - Если не указан параметр ОбъектДанных, то Неопределено -// Иначе: 0 = нет, 1 = запрещена, 2 = разрешена. -// Неопределено для плана обмена -// - ПланОбменаИмя - Имя плана обмена узла -// - Ссылка - Ссылка узла, Неопределено для плана обмена -// - Код - Код узла, Неопределено для плана обмена -// - НомерОтправленного - Данные узла -// - НомерПринятого - Данные узла -// - НомерСообщения - Если указан объект, то номер сообщения для него, иначе NULL -// - НеВыгружалось - Если указан объект, то флаг выгрузки, иначе NULL -// - Пометка - Если указан объект, то 0 = нет регистрации, 1 - есть, иначе всегда 0 -// - ИсходнаяПометка - Копия "Пометка" -// - ИдентификаторСтроки - Индекс добавленной строки (обход дерева сверху вниз слева направо) +// Возвращаемое значение: +// ДеревоЗначений - данные с колонками: +// * Наименование - Строка - Представление плана обмена или узла обмена +// * ИндексКартинки - Число - 1 = план обмена, 2 = узел , 3 = помеченный для удаления узел +// * ИндексКартинкиАвторегистрация - Число - Если не указан параметр ОбъектДанных, то Неопределено +// Иначе: 0 = нет, 1 = запрещена, 2 = разрешена, Неопределено для плана обмена +// * ПланОбменаИмя - Строка - Имя плана обмена узла +// * Ссылка - ПланОбменаСсылка - Ссылка узла, Неопределено для плана обмена +// * Код - Число, Строка - Код узла, Неопределено для плана обмена +// * НомерОтправленного - Число - Данные узла +// * НомерПринятого - Число - Данные узла +// * НомерСообщения - Число, NULL - Если указан объект, то номер сообщения для него, иначе NULL +// * НеВыгружалось - Булево, NULL - Если указан объект, то флаг выгрузки, иначе NULL +// * Пометка - Булево - Если указан объект, то 0 = нет регистрации, 1 - есть, иначе всегда 0 +// * ИсходнаяПометка - Булево - аналогично колонке "Пометка" +// * ИдентификаторСтроки - Число - Индекс добавленной строки (обход дерева сверху вниз слева направо) // Функция СформироватьДеревоУзлов(ОбъектДанных = Неопределено, ИмяТаблицы = Неопределено) Экспорт @@ -134,7 +134,12 @@ ТекНомерСтроки = 0; Для Каждого Мета Из Метаданные.ПланыОбмена Цикл + Если Не ПравоДоступа("Чтение", Мета) Тогда + Продолжить; + КонецЕсли; + ИмяПлана = Мета.Имя; + Попытка ЭтотУзелПланаОбмена = ПланыОбмена[ИмяПлана].ЭтотУзел(); Исключение @@ -189,40 +194,29 @@ КонецФункции // Возвращает структуру, описывающую метаданные для плана обмена. +// Объекты, не входящие в состав плана обмена, выбрасываются. // // Параметры: -// ИмяПланаОбмена - Если передана строка, то она интерпретируется как имя метаданных -// плана обмена, для которого строится дерево конфигурации. -// - Если передан узел обмена, то дерево конфигурации строится для его плана обмена. -// - Если параметр неопределен, то строится дерево всей конфигурации. +// ИмяПланаОбмена - Строка - имя метаданных плана обмена, для которого строится дерево конфигурации. +// - ПланОбменаСсылка - дерево конфигурации строится для его плана обмена. +// - Неопределено - строится дерево всей конфигурации. // -// Возвращает структуру с полями "СтруктураИмен", "СтруктураПредставлений", "Дерево", -// описывающую метаданные. Объекты, не входящие в состав плана обмена, выбрасываются. -// -// "СтруктураИмен" - структура, где имя - группа метаданных (константы, справочники и т.п.), -// значение - массив полных имен. -// -// "СтруктураПредставлений" - структура, где имя - группа метаданных (константы, справочники -// и т.п.), значение - массив представлений. Порядок представлений в массиве совпадает с массивом -// полных имен. -// -// "СтруктураАвторегистрации" - структура, где имя - группа метаданных (константы, справочники -// и т.п.), значение - массив флагов авторегистрации на узле. Порядок данных в массиве совпадает -// с массивом полных имен. Входят только те группы, которые не входят в дерево. -// -// "Дерево" - дерево значений, 3 уровня: конфигурация -> вид объекта -> объект. -// Колонки дерева: -// - Наименование - Представление вида объекта метаданных -// - МетаПолноеИмя - Полное имя объекта метаданных -// - ИндексКартинки - Зависит от метаданных -// - Пометка - Неопределено -// - ИдентификаторСтроки - Индекс добавленной строки (обход дерева сверху вниз слева направо) -// - Авторегистрация - Если указан ИмяПланаОбмена, то для листьев: 1-разрешена, 2-запрещена. Иначе Неопределено -// -// - КоличествоИзменений - Неопределено, нужно для дальнейшего расчета -// - КоличествоВыгруженных - Неопределено, нужно для дальнейшего расчета -// - КоличествоНевыгруженных - Неопределено, нужно для дальнейшего расчета -// - КоличествоИзмененийСтрокой - Неопределено, нужно для дальнейшего расчета +// Возвращаемое значение: +// Структура - описание метаданных. Поля: +// * СтруктураИмен - Структура - Ключ - группа метаданных (константы, справочники и т.п.), значение - массив полных имен. +// * СтруктураПредставлений - Структура - Ключ - группа метаданных (константы, справочники и т.п.), значение - массив полных имен. +// * СтруктураАвторегистрации - Структура - Ключ - группа метаданных (константы, справочники и т.п.), значение - массив флагов авторегистрации на узле. +// * КоличествоИзменений - Неопределено - нужно для дальнейшего расчета +// * КоличествоВыгруженных - Неопределено - нужно для дальнейшего расчета +// * КоличествоНевыгруженных - Неопределено - нужно для дальнейшего расчета +// * КоличествоИзмененийСтрокой - Неопределено - нужно для дальнейшего расчета +// * Дерево - ДеревоЗначений - содержит колонки: +// ** Наименование - Строка - Представление вида объекта метаданных +// ** МетаПолноеИмя - Строка - Полное имя объекта метаданных +// ** ИндексКартинки - Число - Зависит от метаданных +// ** Пометка - Неопределено +// ** ИдентификаторСтроки - Число - Индекс добавленной строки (обход дерева сверху вниз слева направо) +// ** Авторегистрация - Булево - Если указан ИмяПланаОбмена, то для листьев: 1-разрешена, 2-запрещена. Иначе Неопределено // Функция СформироватьСтруктуруМетаданных(ИмяПланаОбмена = Неопределено) Экспорт @@ -280,18 +274,19 @@ Возврат Результат; КонецФункции -// Вычисляет количества изменений для объектов метаданных для узлов обмена. +// Вычисляет количества изменений для объектов метаданных для узлов обмена. // // Параметры: -// - СписокТаблиц - Или массив или коллекция "ключ/значение" где "значение" - массивы имен -// - СписокУзлов - Узел или массив списков узлов +// СписокТаблиц - Массив - имена. Может быть коллекцией"ключ/значение" где "значение" - массивы имен +// СписокУзлов - ПланОбменаСсылка, Массив - узлы // -// Возвращает таблицу значений. Колонки: -// - МетаПолноеИмя - Полное имя метаданных, для которых рассчитываем количество -// - УзелОбмена - Ссылка на узел обмена, для которого рассчитываем количество -// - КоличествоИзменений - Число -// - КоличествоВыгруженных - Число -// - КоличествоНеВыгруженных - Число +// Возвращаемое значение: +// ТаблицаЗначений - колонки: +// * МетаПолноеИмя - Строка - Полное имя метаданных, для которых рассчитываем количество +// * УзелОбмена - ПланОбменаСсылка - Ссылка на узел обмена, для которого рассчитываем количество +// * КоличествоИзменений - Число +// * КоличествоВыгруженных - Число +// * КоличествоНеВыгруженных - Число // Функция ПолучитьКоличествоИзменений(СписокТаблиц, СписокУзлов) Экспорт @@ -331,6 +326,10 @@ Продолжить; КонецЕсли; + Если Не ПравоДоступа("Чтение", Метаданные.НайтиПоПолномуИмени(Элемент)) Тогда + Продолжить; + КонецЕсли; + Текст = Текст + ?(Текст = "", "", "ОБЪЕДИНИТЬ ВСЕ") + " |ВЫБРАТЬ | """ + Элемент + """ КАК МетаПолноеИмя, @@ -375,7 +374,10 @@ // Возвращает объект метаданных по его полному имени. Пустая строка обозначает конфигурацию. // // Параметры: -// - ИмяМетаданных - Строка - Имя объекта метаданных, например "Справочник.Валюты" или "Константы" +// ИмяМетаданных - Строка - Имя объекта метаданных, например "Справочник.Валюты" или "Константы" +// +// Возвращаемое значение: +// ОБъектМетаданных - // Функция МетаданныеПоПолномуИмени(ИмяМетаданных) Экспорт @@ -395,11 +397,13 @@ // Возвращает флаг регистрации объекта на узле // // Параметры: -// - Узел - Узел плана обмена для которого получаем информацию, -// - ОбъектРегистрации - Объект, для которого получаем информацию. Может быть строкой - -// обрабатываем метаданные, ссылкой или структурой со значениями -// изменений набора записей -// - ИмяТаблицы - Если ОбъектРегистрации - структура, то содержит имя таблицы для набора измерений +// Узел - ПланОбменаСсылка - Узел плана обмена для которого получаем информацию, +// ОбъектРегистрации - Строка, ЛюбаяСсылка, Структура - объект, для которого получаем информацию. +// Структура хранит значения изменений набора записей +// ИмяТаблицы - Строка - Если ОбъектРегистрации - структура, то содержит имя таблицы для набора измерений +// +// Возвращаемое значение: +// Булево - результат регистрации // Функция ОбъектЗарегистрированНаУзле(Узел, ОбъектРегистрации, ИмяТаблицы = Неопределено) Экспорт ТипПараметра = ТипЗнч(ОбъектРегистрации); @@ -426,14 +430,16 @@ // Изменяет регистрацию переданного. // // Параметры: -// - Команда - Истина, если надо добавлять, Ложь, если удалять -// - БезУчетаАвторегистрации - Истина, если не надо анализировать флаг авторегистрации -// - Узел - Ссылка на узел плана обмена -// - Данные - Ссылка, строка (полное имя метаданных), структура (измерения набора) -// или массив таких данных. -// - ИмяТаблицы - Если Данные является структурой, то содержит имя таблицы +// Команда - Булево - Истина, если надо добавлять, Ложь, если удалять +// БезУчетаАвторегистрации - Булево - Истина, если не надо анализировать флаг авторегистрации +// Узел - ПланОбменаСсылка - Ссылка на узел плана обмена +// Данные - ЛюбаяСсылка, Строка, Структура - данные или массив таких данных. +// ИмяТаблицы - Строка - Если Данные является структурой, то содержит имя таблицы // -// Возвращает структуру с общим числом объектов и числом успешно обработанных объектов +// Возвращаемое значение: +// Структура - результат операции: +// * Всего - Число - общее число объектов +// * Успешно - Число - числом успешно обработанных объектов // Функция ИзменитьРегистрациюНаСервере(Команда, БезУчетаАвторегистрации, Узел, Данные, ИмяТаблицы = Неопределено) Экспорт @@ -594,7 +600,7 @@ // Рекурсивное обслуживание иерархических пометок с тремя состояниями в дереве. // // Параметры: -// - ДанныеСтроки - ДанныеФормыЭлементДерева. Пометка хранится в числовой колонке "Пометка" +// ДанныеСтроки - ДанныеФормыЭлементДерева - Пометка хранится в числовой колонке "Пометка" // Процедура ИзменениеПометки(ДанныеСтроки) Экспорт ДанныеСтроки.Пометка = ДанныеСтроки.Пометка % 2; @@ -605,7 +611,7 @@ // Рекурсивное обслуживание иерархических пометок с тремя состояниями в дереве. // // Параметры: -// - ДанныеСтроки - ДанныеФормыЭлементДерева. Пометка хранится в числовой колонке "Пометка" +// ДанныеСтроки - ДанныеФормыЭлементДерева - Пометка хранится в числовой колонке "Пометка" // Процедура ПроставитьПометкиВниз(ДанныеСтроки) Экспорт Значение = ДанныеСтроки.Пометка; @@ -618,7 +624,7 @@ // Рекурсивное обслуживание иерархических пометок с тремя состояниями в дереве. // // Параметры: -// - ДанныеСтроки - ДанныеФормыЭлементДерева. Пометка хранится в числовой колонке "Пометка" +// ДанныеСтроки - ДанныеФормыЭлементДерева - Пометка хранится в числовой колонке "Пометка" // Процедура ПроставитьПометкиВверх(ДанныеСтроки) Экспорт РодительСтроки = ДанныеСтроки.ПолучитьРодителя(); @@ -643,17 +649,21 @@ // Чтение реквизитов узла обмена. // // Параметры: -// - Ссылка - Ссылка на узел обмена -// - Данные - Список имен реквизитов для чтения через запятую +// Ссылка - ПланОбменаСсылка - Ссылка на узел обмена +// Данные - Строка - Список имен реквизитов для чтения через запятую // -// Возвращает структуру с данными или Неопределено, если нет данных по переданной ссылке +// Возвращаемое значение: +// Структура - считанные данные +// Неопределено - если нет данных по переданной ссылке // -Функция ПолучитьПараметрыУзлаОбмена(Ссылка, Данные) Экспорт +Функция ПолучитьПараметрыУзлаОбмена(Ссылка, Данные, Поле = Неопределено, Значение = Неопределено) Экспорт + Запрос = Новый Запрос(" |ВЫБРАТЬ " + Данные + " ИЗ " + Ссылка.Метаданные().ПолноеИмя() + " |ГДЕ Ссылка = &Ссылка |"); Запрос.УстановитьПараметр("Ссылка", Ссылка); + Времянка = Запрос.Выполнить().Выгрузить(); Если Времянка.Количество() = 0 Тогда Возврат Неопределено; @@ -661,14 +671,19 @@ Результат = Новый Структура(Данные); ЗаполнитьЗначенияСвойств(Результат, Времянка[0]); + + Если Поле <> Неопределено И Значение = Истина Тогда + Значение = Поле["КартинкаКнопкиВыбора"]; + КонецЕсли; + Возврат Результат; КонецФункции // Запись реквизитов узла обмена. // // Параметры: -// - Ссылка - Ссылка на узел обмена -// - Данные - Список имен реквизитов для чтения через запятую +// Ссылка - ПланОбменаСсылка - Ссылка на узел обмена +// Данные - Строка - Список имен реквизитов для чтения через запятую // Процедура УстановитьПараметрыУзлаОбмена(Ссылка, Данные) Экспорт @@ -695,7 +710,7 @@ // Возвращает описание данных по имени таблицы/полному имени метаданных или метаданным // // Параметры: -// - ИмяТаблицы - Имя таблицы, например "Справочник.Валюты" +// - ИмяТаблицы - Строка - Имя таблицы, например "Справочник.Валюты" // Функция ХарактеристикиПоМетаданным(ИмяТаблицыМетаданных) Экспорт @@ -865,14 +880,15 @@ // Возвращает таблицу, описывающую измерения для регистрации изменений набора данных // // Параметры: -// - ИмяТаблицы - Имя таблицы, например "РегистрСведений.КурсыВалют" -// - ВсеИзмерения - Флаг того, что для регистра сведений получаем все измерения, а не -// только основные и ведущие +// ИмяТаблицы - Строка - Имя таблицы, например "РегистрСведений.КурсыВалют" +// ВсеИзмерения - Булево - Флаг того, что для регистра сведений получаем все измерения, а не +// только основные и ведущие // -// Возвращает таблицу с колонками: -// - Имя - Строка имени измерения -// - ТипЗначения - ОписаниеТипов -// - Заголовок - Представление для измерения +// Возвращаемое значение: +// ТаблицаЗначений - колонки: +// * Имя - Строка - имя измерения +// * ТипЗначения - ОписаниеТипов - типы +// * Заголовок - Строка - Представление для измерения // Функция ИзмеренияНабораЗаписей(ИмяТаблицы, ВсеИзмерения = Ложь) Экспорт @@ -891,7 +907,10 @@ Если Не ВсеИзмерения Тогда // Что-то регистрируемое - НеУчитывать = "НомерСообщения, Узел,"; + НеУчитывать = "НомерСообщения,Узел,"; + Для Каждого МетаОбщий Из Метаданные.ОбщиеРеквизиты Цикл + НеУчитывать = НеУчитывать + МетаОбщий.Имя + "," ; + КонецЦикла; Запрос = Новый Запрос("ВЫБРАТЬ * ИЗ " + Мета.ПолноеИмя() + ".Изменения ГДЕ ЛОЖЬ"); ПустойРезультат = Запрос.Выполнить(); @@ -959,10 +978,10 @@ // Модифицирует таблицу формы, добавляя туда колонки // // Параметры: -// - ТаблицаФормы - Элемент, связанный с данными, в который будут добавлены колонки данных -// - СохранятьИмена - Список имен колонок, которые будут сохранены, через запятую. -// - Добавлять - Коллекция добавляемых колонок или перечислимое с атрибутами Имя, ТипЗначения, Заголовок -// - ГруппаКолонок - Группа колонок, в которую происходит добавление +// ТаблицаФормы - ЭлементФормы - Элемент, связанный с данными, в который будут добавлены колонки данных +// СохранятьИмена - Строка - Список имен колонок, которые будут сохранены, через запятую. +// Добавлять - Массив - Структуры с описанием добавляемых колонок с атрибутами Имя, ТипЗначения, Заголовок +// ГруппаКолонок - ЭлементФормы - Группа колонок, в которую происходит добавление // Процедура ДобавитьКолонкиВТаблицуФормы(ТаблицаФормы, СохранятьИмена, Добавлять, ГруппаКолонок = Неопределено) Экспорт @@ -1035,7 +1054,7 @@ // Возвращает подробное представление объекта. // // Параметры: -// - ОбъектПредставления - Объект, представление которого получаем +// - ОбъектПредставления - ЛюбаяСсылка - представление которого получаем // Функция ПредставлениеСсылки(ОбъектПредставления) Экспорт @@ -1092,7 +1111,7 @@ // Читает текущие данные из динамического списка по его настройкам и возвращает в виде таблицы значений // // Параметры: -// - ИсточникДанных - ДинамическийСписок, реквизит формы +// - ИсточникДанных - ДинамическийСписок - реквизит формы // Функция ТекущиеДанныеДинамическогоСписка(ИсточникДанных) Экспорт @@ -1127,6 +1146,7 @@ // Отбор СкопироватьОтборКомпоновкиДанных(ТекНастройки.Отбор, ИсточникДанных.Отбор); + СкопироватьОтборКомпоновкиДанных(ТекНастройки.Отбор, ИсточникДанных.КомпоновщикНастроек.ПолучитьНастройки().Отбор); // Выводим КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; @@ -1200,8 +1220,10 @@ КонецПроцедуры // Проверяем настройки на корректность, сбрасываем в случае нарушения. -// Возвращает структуру с ключом - именем настройки, значением содержит описанием ошибки или Неопределено -// при отсутствии ошибки для данного параметра +// +// Возвращаемое значение: +// Структура - ключ - имя настройки, значением содержит описанием ошибки или Неопределено +// при отсутствии ошибки для данного параметра // Функция ПроверитьКорректностьНастроек(КлючНастройки = "") Экспорт @@ -1307,7 +1329,7 @@ // // -// Копирует отбор компоновки данных +// Копирует отбор компоновки данных добавлением к существующим // Процедура СкопироватьОтборКомпоновкиДанных(ГруппаПриемник, ГруппаИсточник) @@ -1445,7 +1467,7 @@ Иначе Элемент = МетаПлан.Состав.Найти(Мета); - Если Элемент <> Неопределено Тогда + Если Элемент <> Неопределено И ПравоДоступа("Чтение", Мета) Тогда БылиПодчиненные = Истина; МетаПолноеИмя = Мета.ПолноеИмя(); Наименование = Мета.Представление(); @@ -1700,20 +1722,11 @@ // Функция БСП_КонтрольВыгрузкиОбъекта(Узел, ОбъектРегистрации) - МодульОбменДаннымиПовтИсп = ОбщегоНазначенияОбщийМодуль("ОбменДаннымиПовтИсп"); - Если МодульОбменДаннымиПовтИсп <> Неопределено Тогда - РежимВыгрузкиОбъекта = МодульОбменДаннымиПовтИсп.РежимВыгрузкиОбъекта(ОбъектРегистрации.Метаданные().ПолноеИмя(), Узел); - Если РежимВыгрузкиОбъекта = Перечисления.РежимыВыгрузкиОбъектовОбмена.ВыгружатьПриНеобходимости Тогда - // Выгружаемые по ссылке можно всегда - Возврат Истина; - КонецЕсли; - КонецЕсли; - Отправка = ОтправкаЭлементаДанных.Авто; МодульОбменДаннымиСобытия = ОбщегоНазначенияОбщийМодуль("ОбменДаннымиСобытия"); Если МодульОбменДаннымиСобытия <> Неопределено Тогда МодульОбменДаннымиСобытия.ПриОтправкеДанныхКорреспонденту(ОбъектРегистрации, Отправка, , Узел); - Возврат Отправка <> ОтправкаЭлементаДанных.Удалить; + Возврат Отправка = ОтправкаЭлементаДанных.Авто; КонецЕсли; // Неизвестная версия БСП diff --git a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/РегистрацияИзмененийДляОбменаДанными.mdo b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/РегистрацияИзмененийДляОбменаДанными.mdo index 098431a23..00c40c703 100644 --- a/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/РегистрацияИзмененийДляОбменаДанными.mdo +++ b/SSL/src/DataProcessors/РегистрацияИзмененийДляОбменаДанными/РегистрацияИзмененийДляОбменаДанными.mdo @@ -12,6 +12,7 @@ true DataProcessor.РегистрацияИзмененийДляОбменаДанными.Form.Форма DataProcessor.РегистрацияИзмененийДляОбменаДанными.Form.СообщениеОбОбычномИнтерфейсе + true ru @@ -28,7 +29,7 @@ ru - Авторегистрация последовательностей + Автоматически регистрировать изменения последовательностей вместе с документами. @@ -44,7 +45,7 @@ ru - Авторегистрация движений + Автоматически регистрировать изменения движений вместе с документами. @@ -61,7 +62,7 @@ ru - Адрес внешней обработки запросов + Путь к внешней обработке - консоли запросов diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Form.form b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Form.form index ca843b384..030dd36f1 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Form.form +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Form.form @@ -7,25 +7,90 @@ Основное 30 - - Использование - 9 + + ГруппаВключениеИРасписание + 71 + + Использование + 9 + true + true + + true + + + Использование + + Right + + ru + Включено - выполнять задание. + + + ИспользованиеExtendedTooltip + 51 + Label + true + true + + Left + + + + ИспользованиеКонтекстноеМеню + 10 + true + + CheckBoxField + Enter + true + Left + true + + + + НастроитьРасписание + 73 + true + true + + true + + + НастроитьРасписаниеРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + Hyperlink + Form.Command.НастроитьРасписание + Normal + Auto + true + true + UserCmds + Auto + true true true - - Использование - - Right + + <key>ru</key> + <value>Группа включение и расписание</value> + ru - Включено - выполнять задание. + Группа включение и расписание - ИспользованиеExtendedTooltip - 51 + ГруппаВключениеИРасписаниеРасширеннаяПодсказка + 72 Label true true @@ -33,17 +98,14 @@ Left
                                    - - ИспользованиеКонтекстноеМеню - 10 - true - - CheckBoxField - Enter - true - Left - true - + UsualGroup + + Auto + true + true + Auto + Auto +
                                    Наименование @@ -102,13 +164,7 @@ ru 1. Основное - - System.DefaultGUIFont - true - false - false - false - + ОсновноеExtendedTooltip 50 @@ -133,92 +189,20 @@ ДействияПриОшибках 40 - - Группа1 - 41 - - КоличествоПовторовПриАварийномЗавершении - 13 - true - true - - true - - - КоличествоПовторовПриАварийномЗавершении - - - КоличествоПовторовПриАварийномЗавершенииExtendedTooltip - 55 - Label - true - true - - Left - - - - КоличествоПовторовПриАварийномЗавершенииКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - Декорация1 - 43 - - <key>ru</key> - <value>раз</value> - - true - true - - true - - - Декорация1ExtendedTooltip - 56 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 44 - true - - Label - true - true - - Left - - + + КоличествоПовторовПриАварийномЗавершении + 13 true true true + + КоличествоПовторовПриАварийномЗавершении + - Группа1ExtendedTooltip - 54 + КоличествоПовторовПриАварийномЗавершенииExtendedTooltip + 55 Label true true @@ -226,101 +210,41 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + КоличествоПовторовПриАварийномЗавершенииКонтекстноеМеню + 14 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal - - Группа2 - 42 - - ИнтервалПовтораПриАварийномЗавершении - 11 - true - true - - true - - - ИнтервалПовтораПриАварийномЗавершении - - - ИнтервалПовтораПриАварийномЗавершенииExtendedTooltip - 58 - Label - true - true - - Left - - - - ИнтервалПовтораПриАварийномЗавершенииКонтекстноеМеню - 12 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - - Декорация2 - 45 - - <key>ru</key> - <value>секунд</value> - - true - true - - true - - - Декорация2ExtendedTooltip - 59 - Label - true - true - - Left - - - - Декорация2КонтекстноеМеню - 46 - true - - Label - true - true - - Left - - + + ДекорацияРаз + 43 + + <key>ru</key> + <value>раз</value> + true true true - Группа2ExtendedTooltip - 57 + ДекорацияРазРасширеннаяПодсказка + 56 Label true true @@ -328,13 +252,95 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + ДекорацияРазКонтекстноеМеню + 44 + true + + Label + true + true + + Left + + + + ИнтервалПовтораПриАварийномЗавершении + 11 + + <key>ru</key> + <value>через</value> + + true + true + + true + + + ИнтервалПовтораПриАварийномЗавершении + + + ИнтервалПовтораПриАварийномЗавершенииExtendedTooltip + 58 + Label + true + true + + Left + + + + ИнтервалПовтораПриАварийномЗавершенииКонтекстноеМеню + 12 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + + ДекорацияСекунд + 45 + + <key>ru</key> + <value>секунд</value> + + true + true + + true + + + ДекорацияСекундРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + + ДекорацияСекундКонтекстноеМеню + 46 + true + + Label + true + true + + Left true @@ -346,13 +352,7 @@ ru 2. Действия при ошибках - - System.DefaultGUIFont - true - false - false - false - + ru Действия при ошибках @@ -369,7 +369,6 @@ UsualGroup - Vertical Auto true true @@ -573,13 +572,7 @@ ru 3. Дополнительно - - System.DefaultGUIFont - true - false - false - false - + ДополнительноExtendedTooltip 60 @@ -737,13 +730,7 @@ ru 4. Метаданные - - System.DefaultGUIFont - true - false - false - false - + МетаданныеExtendedTooltip 65 @@ -805,8 +792,8 @@ true true - 4 true + true true true true @@ -824,13 +811,7 @@ ru 5. Сообщения пользователю и описание информации об ошибке - - System.DefaultGUIFont - true - false - false - false - + СообщенияПользователюИОписаниеИнформацииОбОшибкеExtendedTooltip 69 @@ -908,33 +889,6 @@ UserCmds Auto - - ОткрытьРасписание - 29 - true - true - - true - - false - - ОткрытьРасписаниеExtendedTooltip - 49 - Label - true - true - - Left - - - Form.Command.ОткрытьРасписание - Normal - Auto - true - true - UserCmds - Auto - Left true @@ -1017,7 +971,9 @@ 6 String - + + 128 + true @@ -1281,20 +1237,20 @@ ЗаписатьИЗакрытьВыполнить - TextPicture + Text Auto Auto - ОткрытьРасписание + НастроитьРасписание <key>ru</key> - <value>Открыть расписание...</value> + <value>Расписание</value> 1 ru - Открыть расписание + Настроить расписание true @@ -1304,7 +1260,7 @@ - ОткрытьРасписаниеВыполнить + НастроитьРасписаниеВыполнить TextPicture @@ -1333,7 +1289,7 @@ Записать - Picture + Text Auto Auto diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Help/ru.html b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Help/ru.html index ac16beeb8..12c5b4b8f 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Help/ru.html +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Help/ru.html @@ -1,29 +1,21 @@ - -

                                    В этой форме можно посмотреть и изменить различные свойства регламентного задания.

                                    -

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

                                    -

                                    1. Группа свойств "Основное".

                                    + +

                                    Описание свойств регламентного задания.

                                    +

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

                                    +

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

                                    +

                                    Основное

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

                                    -

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

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

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

                                    2. Группа свойств "Дополнительно".

                                    - - - - -
                                    Наименование свойстваНазначение свойства
                                    Идентификатор -

                                    Нужен только для продвинутого администратора, знающего встроенный язык. Требуется для исследования нестандартных проблем в работе регламентных заданий, если таковые есть.

                                    Ключ -

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

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

                                     

                                    -

                                    3. Группа свойств "Метаданные".

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

                                     

                                    -

                                    4. Сообщения пользователю и описание информации об ошибке.

                                    -

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

                                    -

                                     

                                    \ No newline at end of file +
                                    • Наименование - наименование регламентного задания. Обычно пустое, и в качестве него применяется синоним, указанный в шаблоне регламентного задания, заданного в конфигураторе. Если синоним шаблона не задан, используется его имя. +
                                    • Включено - флажок позволяет включить или отключить выполнение регламентного задания.
                                      Полезно, когда нужно ненадолго отключить регламентное задание, не меняя расписание. +
                                    • С помощью гиперссылки Расписание можно настроить расписание регламентного задания.

                                    Действия при ошибках

                                    +
                                    • Повторять, раз - число попыток выполнения регламентного задания, при возникновении ошибки. +
                                    • Повторять через, сек - пауза (в секундах) между попытками выполнения регламентного задания, при возникновении ошибки.

                                    +

                                    Дополнительно

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

                                    Метаданные

                                    +
                                    • Имя - имя шаблона регламентного задания, определенного в конфигураторе. +
                                    • Синоним - синоним шаблона регламентного задания, определенного в конфигураторе. +
                                    • Имя метода - имя процедуры в конфигурации, которая будет выполняться в фоновом задании, созданным по расписанию регламентного задания.

                                    Сообщения пользователю и описание информации об ошибке

                                    +
                                    • Поле содержит текст сообщений и текст сведений об ошибке, если сообщения и/или ошибки произошли при выполнении последнего фонового задания созданного по этому регламентному заданию. То же содержание доступно, если открыть последнее фоновое задание этого регламентного задания.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Module.bsl b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Module.bsl index ba9c842c6..53ab187ad 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Module.bsl +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентноеЗадание/Module.bsl @@ -83,6 +83,7 @@ Элементы.ИмяПользователя.СписокВыбора.Добавить(Пользователь.Имя); КонецЦикла; + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); КонецПроцедуры &НаКлиенте @@ -134,7 +135,7 @@ КонецПроцедуры &НаКлиенте -Процедура ОткрытьРасписаниеВыполнить() +Процедура НастроитьРасписаниеВыполнить() Диалог = Новый ДиалогРасписанияРегламентногоЗадания(Расписание); Диалог.Показать(Новый ОписаниеОповещения("ОткрытьРасписаниеЗавершение", ЭтотОбъект)); diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Form.form b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Form.form index 74369fc27..a5a8f13bb 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Form.form +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Form.form @@ -24,50 +24,6 @@ MoveUp SortListAsc SortListDesc - - Предопределенное - 34 - - <key>ru</key> - <value>Пред.</value> - - true - true - - true - - - ТаблицаРегламентныеЗадания.Предопределенное - - - ru - Предопределенное задание, -созданное в конфигураторе, -которое нельзя удалить. - - - ПредопределенноеExtendedTooltip - 196 - Label - true - true - - Left - - - - ПредопределенноеКонтекстноеМеню - 35 - true - - CheckBoxField - true - Enter - true - Left - true - - Использование 42 @@ -83,6 +39,7 @@ ТаблицаРегламентныеЗадания.Использование + None ru Включено - выполнять задание. @@ -106,6 +63,9 @@ true Enter true + + StdPicture.ScheduledJob + Left true @@ -115,7 +75,7 @@ 40 <key>ru</key> - <value>Представление</value> + <value>Наименование</value> true true @@ -154,50 +114,6 @@ Normal - - ИмяПользователя - 141 - true - true - - true - - - ТаблицаРегламентныеЗадания.ИмяПользователя - - - ru - Имя пользователя для запуска фонового задания - - - ИмяПользователяExtendedTooltip - 199 - Label - true - true - - Left - - - - ИмяПользователяКонтекстноеМеню - 142 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - СостояниеВыполнения 61 @@ -291,6 +207,88 @@ Normal + + ИмяПользователя + 141 + true + true + + + ТаблицаРегламентныеЗадания.ИмяПользователя + + + ru + Имя пользователя для запуска фонового задания + + + ИмяПользователяExtendedTooltip + 199 + Label + true + true + + Left + + + + ИмяПользователяКонтекстноеМеню + 142 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + Предопределенное + 34 + + <key>ru</key> + <value>Предопределенное</value> + + true + true + + + ТаблицаРегламентныеЗадания.Предопределенное + + + ru + Предопределенное задание поставляется в составе программы, и его нельзя удалить + + + ПредопределенноеExtendedTooltip + 196 + Label + true + true + + Left + + + + ПредопределенноеКонтекстноеМеню + 35 + true + + CheckBoxField + true + Enter + true + Left + true + + ТаблицаРегламентныеЗаданияКоманднаяПанель 31 @@ -313,7 +311,7 @@ Left - Form.Command.ОбновитьДанные + Form.Command.ОбновитьРегламентныеЗадания Normal Auto true @@ -321,32 +319,6 @@ UserCmds Auto - - ТаблицаРегламентныеЗаданияДобавить - 157 - true - true - - true - - - ТаблицаРегламентныеЗаданияДобавитьExtendedTooltip - 186 - Label - true - true - - Left - - - Form.Item.ТаблицаРегламентныеЗадания.StandardCommand.Add - Normal - Picture - true - true - UserCmds - Auto - ТаблицаРегламентныеЗаданияИзменить 172 @@ -372,6 +344,7 @@ true UserCmds Auto + InAdditionalSubmenu ТаблицаРегламентныеЗаданияСкопировать @@ -398,6 +371,7 @@ true UserCmds Auto + InAdditionalSubmenu ТаблицаРегламентныеЗаданияУдалить @@ -424,9 +398,10 @@ true UserCmds Auto + InAdditionalSubmenu - ТаблицаРегламентныеЗаданияОткрытьРасписание + ТаблицаРегламентныеЗаданияНастроитьРасписание 135 true true @@ -435,7 +410,7 @@ false - ТаблицаРегламентныеЗаданияОткрытьРасписаниеExtendedTooltip + ТаблицаРегламентныеЗаданияНастроитьРасписаниеРасширеннаяПодсказка 190 Label true @@ -444,9 +419,9 @@ Left - Form.Command.ОткрытьРасписание + Form.Command.НастроитьРасписание Normal - PictureAndText + Auto true true UserCmds @@ -479,6 +454,57 @@ UserCmds Auto + + ТаблицаРегламентныеЗаданияДобавить + 157 + true + true + + true + + + ТаблицаРегламентныеЗаданияДобавитьExtendedTooltip + 186 + Label + true + true + + Left + + + Form.Item.ТаблицаРегламентныеЗадания.StandardCommand.Add + Normal + true + true + UserCmds + Auto + + + ТаблицаРегламентныеЗаданияИзменитьФорму + 244 + true + true + + true + + + ТаблицаРегламентныеЗаданияИзменитьФормуРасширеннаяПодсказка + 245 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + ТаблицаРегламентныеЗаданияСправка 153 @@ -527,10 +553,10 @@ ТаблицаРегламентныеЗаданияСтрокаПоиска - 238 + 246 ТаблицаРегламентныеЗаданияСтрокаПоискаРасширеннаяПодсказка - 240 + 248 Label true true @@ -540,7 +566,7 @@ ТаблицаРегламентныеЗаданияСтрокаПоискаКонтекстноеМеню - 239 + 247 true ТаблицаРегламентныеЗадания @@ -550,10 +576,10 @@ ТаблицаРегламентныеЗаданияСостояниеПросмотра - 241 + 249 ТаблицаРегламентныеЗаданияСостояниеПросмотраРасширеннаяПодсказка - 243 + 251 Label true true @@ -563,7 +589,7 @@ ТаблицаРегламентныеЗаданияСостояниеПросмотраКонтекстноеМеню - 242 + 250 true ViewStatusAddition @@ -574,10 +600,10 @@ ТаблицаРегламентныеЗаданияУправлениеПоиском - 244 + 252 ТаблицаРегламентныеЗаданияУправлениеПоискомРасширеннаяПодсказка - 246 + 254 Label true true @@ -587,7 +613,7 @@ ТаблицаРегламентныеЗаданияУправлениеПоискомКонтекстноеМеню - 245 + 253 true SearchControlAddition @@ -627,7 +653,7 @@ Left - Form.Command.ОбновитьДанные + Form.Command.ОбновитьФоновыеЗадания Normal Auto true @@ -898,709 +924,447 @@ ФоновыеЗадания 28 - ОтборНадпись - 149 - - ОтборЛиния - 93 - - ГоризонтальнаяГруппа - 151 - - ПоСостоянию - 97 - - ОтборПоСостояниюЗавершено - 100 - true - true - - true - - - ОтборПоСостояниюЗавершено - - Right - - ru - Показывать выполненные фоновые задания - - - ОтборПоСостояниюЗавершеноExtendedTooltip - 207 - Label - true - true - - Left - - - - ОтборПоСостояниюЗавершеноКонтекстноеМеню - 101 - true - - CheckBoxField - Enter - true - Left - true - - - - ОтборПоСостояниюЗавершеноАварийно - 102 - true - true - - true - - - ОтборПоСостояниюЗавершеноАварийно - - Right - - ru - Показывать фоновые задания завершенные с ошибкой - - - ОтборПоСостояниюЗавершеноАварийноExtendedTooltip - 208 - Label - true - true - - Left - - - - ОтборПоСостояниюЗавершеноАварийноКонтекстноеМеню - 103 - true - - CheckBoxField - Enter - true - Left - true - - - - ОтборПоСостояниюОтменено - 104 - true - true - - true - - - ОтборПоСостояниюОтменено - - Right - - ru - Показывать фоновые задания отмененные пользователем - - - ОтборПоСостояниюОтмененоExtendedTooltip - 209 - Label - true - true - - Left - - - - ОтборПоСостояниюОтмененоКонтекстноеМеню - 105 - true - - CheckBoxField - Enter - true - Left - true - - - - ОтборПоСостояниюАктивно - 98 - true - true - - true - - - ОтборПоСостояниюАктивно - - Right - - ru - Показывать фоновые задания, которые сейчас выполняются - - - ОтборПоСостояниюАктивноExtendedTooltip - 210 - Label - true - true - - Left - - - - ОтборПоСостояниюАктивноКонтекстноеМеню - 99 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>По состоянию</value> - - - System.DefaultGUIFont - true - false - false - false - - - ПоСостояниюExtendedTooltip - 206 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - auto - Auto - Auto - - - - ПоПериоду - 150 - - ВидПериода - 106 - - ВидОтбораПоПериоду - 110 - true - true - - true - - - ВидОтбораПоПериоду - - None - - OnChange - ВидОтбораПоПериодуПриИзменении - - - ВидОтбораПоПериодуExtendedTooltip - 213 - Label - true - true - - Left - - - - ВидОтбораПоПериодуКонтекстноеМеню - 111 - true - - RadioButtonField - Enter - true - Left - true - - 1 - - - ru - Все время - - - 0 - - - - - ru - Прошлая ночь - - - 1 - - - - - ru - Вчера - - - 2 - - - - - ru - Сегодня - - - 3 - - - - - ru - Произвольный - - - 4 - - - Vertical - - - true - true - - true - - - ВидПериодаExtendedTooltip - 212 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - КолонкаПериод - 173 - - Декорация1 - 174 - true - true - - true - - - Декорация1ExtendedTooltip - 215 - Label - true - true - - Left - - - - Декорация1КонтекстноеМеню - 175 - true - - 1 - true - 4 - true - - - - Период - 112 - - ОтборПериодС - 113 - true - true - - true - - - ОтборПериодС - - - ОтборПериодСExtendedTooltip - 217 - Label - true - true - - Left - - - - ОтборПериодСКонтекстноеМеню - 114 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ОтборПериодПо - 115 - true - true - - true - - - ОтборПериодПо - - - ОтборПериодПоExtendedTooltip - 218 - Label - true - true - - Left - - - - ОтборПериодПоКонтекстноеМеню - 116 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - 35 - false - - ПериодExtendedTooltip - 216 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - ru - Колонка период - - - КолонкаПериодExtendedTooltip - 214 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>По периоду</value> - - - System.DefaultGUIFont - true - false - false - false - - - ПоПериодуExtendedTooltip - 211 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - auto - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Горизонтальная группа</value> - - - ГоризонтальнаяГруппаExtendedTooltip - 205 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ПоРегламентномуЗаданию - 96 - - ОтбиратьПоРегламентномуЗаданию - 94 - true - true - - true - - - ОтбиратьПоРегламентномуЗаданию - - None - - ru - Включить отбор по регламентному заданию - - - OnChange - ОтбиратьПоРегламентномуЗаданиюПриИзменении - - - ОтбиратьПоРегламентномуЗаданиюExtendedTooltip - 220 - Label - true - true - - Left - - - - ОтбиратьПоРегламентномуЗаданиюКонтекстноеМеню - 95 - true - - CheckBoxField - Enter - true - Left - true - - - - РегламентноеЗаданиеДляОтбора - 56 - true - false - - true - - - РегламентноеЗаданиеДляОтбораИдентификатор - - None - - ru - Регламентное задание для отбора - - - РегламентноеЗаданиеДляОтбораExtendedTooltip - 221 - Label - true - true - - Left - - - - РегламентноеЗаданиеДляОтбораКонтекстноеМеню - 57 - true - - InputField - Enter - true - Left - true - - - Clearing - РегламентноеЗаданиеДляОтбораОчистка - - true - true - true - false - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>По регламентному заданию</value> - - - System.DefaultGUIFont - true - false - false - false - - - ПоРегламентномуЗаданиюExtendedTooltip - 219 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - auto - Auto - Auto - - + ПоСостоянию + 97 + + ДекорацияСостояние + 238 + + <key>ru</key> + <value>Состояние:</value> + true true true + + ДекорацияСостояниеРасширеннаяПодсказка + 240 + Label + true + true + + Left + + + + ДекорацияСостояниеКонтекстноеМеню + 239 + true + + Label + true + true + + Left + + + + ОтборПоСостояниюЗавершено + 100 + true + true + + true + + + ОтборПоСостояниюЗавершено + + Right + + ru + Показывать выполненные фоновые задания + + + ОтборПоСостояниюЗавершеноExtendedTooltip + 207 + Label + true + true + + Left + + + + ОтборПоСостояниюЗавершеноКонтекстноеМеню + 101 + true + + CheckBoxField + Enter + true + Left + true + + + + ОтборПоСостояниюЗавершеноАварийно + 102 + true + true + + true + + + ОтборПоСостояниюЗавершеноАварийно + + Right + + ru + Показывать фоновые задания завершенные с ошибкой + + + ОтборПоСостояниюЗавершеноАварийноExtendedTooltip + 208 + Label + true + true + + Left + + + + ОтборПоСостояниюЗавершеноАварийноКонтекстноеМеню + 103 + true + + CheckBoxField + Enter + true + Left + true + + + + ОтборПоСостояниюОтменено + 104 + true + true + + true + + + ОтборПоСостояниюОтменено + + Right + + ru + Показывать фоновые задания отмененные пользователем + + + ОтборПоСостояниюОтмененоExtendedTooltip + 209 + Label + true + true + + Left + + + + ОтборПоСостояниюОтмененоКонтекстноеМеню + 105 + true + + CheckBoxField + Enter + true + Left + true + + + + ОтборПоСостояниюАктивно + 98 + true + true + + true + + + ОтборПоСостояниюАктивно + + Right + + ru + Показывать фоновые задания, которые сейчас выполняются + + + ОтборПоСостояниюАктивноExtendedTooltip + 210 + Label + true + true + + Left + + + + ОтборПоСостояниюАктивноКонтекстноеМеню + 99 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>По состоянию</value> + + + ПоСостояниюExtendedTooltip + 206 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ПоПериоду + 150 + + ДекорацияЗаПериод + 241 <key>ru</key> - <value>Отбор линия</value> + <value>За период:</value> - - System.DefaultGUIFont - true - false - false - false - + true + true + + true + - ОтборЛинияExtendedTooltip - 204 + ДекорацияЗаПериодРасширеннаяПодсказка + 243 + Label + true + true + + Left + + + + ДекорацияЗаПериодКонтекстноеМеню + 242 + true + + Label + true + true + + Left + + + + ВидОтбораПоПериоду + 110 + true + true + + true + + + ВидОтбораПоПериоду + + None + + OnChange + ВидОтбораПоПериодуПриИзменении + + + ВидОтбораПоПериодуExtendedTooltip + 213 + Label + true + true + + Left + + + + ВидОтбораПоПериодуКонтекстноеМеню + 111 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + + ru + Все время + + + 0 + + + + + ru + Прошлая ночь + + + 1 + + + + + ru + Вчера + + + 2 + + + + + ru + Сегодня + + + 3 + + + + + ru + Произвольный + + + 4 + + + Normal + + + + УстановкаПроизвольногоПериода + 112 + + ОтборПериодС + 113 + true + true + + true + + + ОтборПериодС + + + ОтборПериодСExtendedTooltip + 217 + Label + true + true + + Left + + + + ОтборПериодСКонтекстноеМеню + 114 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ОтборПериодПо + 115 + true + true + + true + + + ОтборПериодПо + + + ОтборПериодПоExtendedTooltip + 218 + Label + true + true + + Left + + + + ОтборПериодПоКонтекстноеМеню + 116 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + true + + true + + + ru + Укажите период для отбора информации о фоновых заданий + + 35 + false + + УстановкаПроизвольногоПериодаРасширеннаяПодсказка + 216 Label true true @@ -1610,9 +1374,7 @@ UsualGroup - Vertical Auto - WeakSeparation true true Auto @@ -1626,18 +1388,135 @@ <key>ru</key> - <value>Отбор</value> + <value>По периоду</value> - - System.DefaultGUIFont - true - false - false - false - - ОтборНадписьExtendedTooltip - 203 + ПоПериодуExtendedTooltip + 211 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ПоРегламентномуЗаданию + 96 + + ОтбиратьПоРегламентномуЗаданию + 94 + true + true + + true + + + ОтбиратьПоРегламентномуЗаданию + + Right + + ru + Включить отбор по регламентному заданию + + + OnChange + ОтбиратьПоРегламентномуЗаданиюПриИзменении + + + ОтбиратьПоРегламентномуЗаданиюExtendedTooltip + 220 + Label + true + true + + Left + + + + ОтбиратьПоРегламентномуЗаданиюКонтекстноеМеню + 95 + true + + CheckBoxField + Enter + true + Left + true + + + + РегламентноеЗаданиеДляОтбора + 56 + true + false + + true + + + РегламентноеЗаданиеДляОтбораИдентификатор + + None + + ru + Регламентное задание для отбора + + + РегламентноеЗаданиеДляОтбораExtendedTooltip + 221 + Label + true + true + + Left + + + + РегламентноеЗаданиеДляОтбораКонтекстноеМеню + 57 + true + + InputField + Enter + true + Left + true + + + Clearing + РегламентноеЗаданиеДляОтбораОчистка + + true + true + true + false + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>По регламентному заданию</value> + + + ПоРегламентномуЗаданиюExtendedTooltip + 219 Label true true @@ -1647,11 +1526,9 @@ UsualGroup - Vertical Auto true true - auto Auto Auto @@ -1678,46 +1555,6 @@ MoveUp SortListAsc SortListDesc - - НаименованиеФоновогоЗадания - 139 - true - true - - true - - - ТаблицаФоновыеЗадания.Наименование - - - НаименованиеФоновогоЗаданияExtendedTooltip - 227 - Label - true - true - - Left - - - - НаименованиеФоновогоЗаданияКонтекстноеМеню - 140 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - Состояние 76 @@ -1760,6 +1597,46 @@ Normal + + НаименованиеФоновогоЗадания + 139 + true + true + + true + + + ТаблицаФоновыеЗадания.Наименование + + + НаименованиеФоновогоЗаданияExtendedTooltip + 227 + Label + true + true + + Left + + + + НаименованиеФоновогоЗаданияКонтекстноеМеню + 140 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + Начало 78 @@ -1914,7 +1791,7 @@ Left - Form.Command.ОбновитьДанные + Form.Command.ОбновитьФоновыеЗадания Normal Auto true @@ -1930,6 +1807,7 @@ true + true false ТаблицаФоновыеЗаданияОткрытьExtendedTooltip @@ -1943,7 +1821,7 @@ Form.Command.ОткрытьФоновоеЗадание Normal - PictureAndText + Auto true true UserCmds @@ -1974,7 +1852,7 @@ Form.Command.ОтменитьФоновоеЗадание Normal - PictureAndText + Auto true true UserCmds @@ -2016,10 +1894,10 @@ ТаблицаФоновыеЗаданияСтрокаПоиска - 270 + 278 ТаблицаФоновыеЗаданияСтрокаПоискаРасширеннаяПодсказка - 272 + 280 Label true true @@ -2029,7 +1907,7 @@ ТаблицаФоновыеЗаданияСтрокаПоискаКонтекстноеМеню - 271 + 279 true ТаблицаФоновыеЗадания @@ -2039,10 +1917,10 @@ ТаблицаФоновыеЗаданияСостояниеПросмотра - 273 + 281 ТаблицаФоновыеЗаданияСостояниеПросмотраРасширеннаяПодсказка - 275 + 283 Label true true @@ -2052,7 +1930,7 @@ ТаблицаФоновыеЗаданияСостояниеПросмотраКонтекстноеМеню - 274 + 282 true ViewStatusAddition @@ -2063,10 +1941,10 @@ ТаблицаФоновыеЗаданияУправлениеПоиском - 276 + 284 ТаблицаФоновыеЗаданияУправлениеПоискомРасширеннаяПодсказка - 278 + 286 Label true true @@ -2076,7 +1954,7 @@ ТаблицаФоновыеЗаданияУправлениеПоискомКонтекстноеМеню - 277 + 285 true SearchControlAddition @@ -2125,56 +2003,6 @@ true - - КоличествоФоновыхЗаданийВТаблице - 130 - - <key>ru</key> - <value>Количество отобранных заданий</value> - - true - true - - true - - - КоличествоФоновыхЗаданийВТаблице - - true - - ru - Количество заданий, выбранных из доступной истории выполнения фоновых заданий, которые получены согласно настройкам отбора (количество также отображается в заголовке страницы). - - - КоличествоФоновыхЗаданийВТаблицеExtendedTooltip - 233 - Label - true - true - - Left - - - - КоличествоФоновыхЗаданийВТаблицеКонтекстноеМеню - 131 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - Normal - - true true @@ -2217,6 +2045,10 @@ Pages + + OnCurrentPageChange + ЗаданияПриСменеСтраницы + TabsOnTop Auto @@ -2801,7 +2633,7 @@ ОтборПоСостояниюОтменено <key>ru</key> - <value>Отменено пользователем</value> + <value>Отменено</value> 10 @@ -3018,8 +2850,25 @@ + + СтраницаФоновыеЗаданияОткрывалась + + <key>ru</key> + <value>Страница фоновые задания открывалась</value> + + 15 + + Boolean + + + true + + + true + + - ОбновитьДанные + ОбновитьФоновыеЗадания <key>ru</key> <value>Обновить</value> @@ -3027,7 +2876,7 @@ <id>1</id> <toolTip> <key>ru</key> - <value>Обновить список регламентных и фоновых заданий (с учетом отбора)</value> + <value>Обновить список фоновых заданий (с учетом отбора)</value> </toolTip> <use> <common>true</common> @@ -3038,10 +2887,10 @@ </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> - <name>ОбновитьДанные</name> + <name>ОбновитьФоновыеЗадания</name> </handler> </action> - <representation>TextPicture</representation> + <representation>Text</representation> <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> @@ -3067,6 +2916,7 @@ <name>ОткрытьФоновоеЗаданиеНаКлиенте</name> </handler> </action> + <representation>Text</representation> <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> @@ -3089,19 +2939,20 @@ <name>ОтменитьФоновоеЗадание</name> </handler> </action> + <representation>Text</representation> <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> <formCommands> - <name>ОткрытьРасписание</name> + <name>НастроитьРасписание</name> <title> <key>ru</key> - <value>Открыть расписание...</value> + <value>Настроить расписание...</value> 4 ru - Открыть расписание + Настроить расписание true @@ -3111,9 +2962,10 @@ - ОткрытьРасписание + НастроитьРасписание + Text Auto Auto @@ -3139,7 +2991,7 @@ ВыполнитьРегламентноеЗаданиеВручную - TextPicture + Text Auto Auto @@ -3187,6 +3039,28 @@ Auto Auto + + ОбновитьРегламентныеЗадания + + <key>ru</key> + <value>Обновить</value> + + 8 + + ru + Обновить список регламентных заданий + + + true + + + + ОбновитьРегламентныеЗадания + + + Auto + Auto + diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Module.bsl b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Module.bsl index 019a8bd19..78f5c95a5 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Module.bsl +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/РегламентныеИФоновыеЗадания/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -29,8 +28,6 @@ ЗаполнитьНастройкиФормы(Новый Соответствие); КонецЕсли; - ОбновитьСписокВыбораРегламентногоЗадания(); - КонецПроцедуры &НаКлиенте @@ -41,7 +38,7 @@ Если ЗначениеЗаполнено(Параметр) Тогда ОбновитьТаблицуРегламентныхЗаданий(Параметр); Иначе - ПодключитьОбработчикОжидания("ОтложенноеОбновленияДанных", 0.1, Истина); + ПодключитьОбработчикОжидания("ОтложенноеОбновлениеРегламентныхЗаданий", 0.1, Истина); КонецЕсли; КонецЕсли; @@ -60,6 +57,18 @@ #Область ОбработчикиСобытийЭлементовШапкиФормы +&НаКлиенте +Процедура ЗаданияПриСменеСтраницы(Элемент, ТекущаяСтраница) + + Если ТекущаяСтраница = Элементы.ФоновыеЗадания + И Не СтраницаФоновыеЗаданияОткрывалась Тогда + + СтраницаФоновыеЗаданияОткрывалась = Истина; + ОбновитьТаблицуФоновыхЗаданий(); + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Процедура ВидОтбораПоПериодуПриИзменении(Элемент) @@ -71,12 +80,14 @@ Если ВидОтбораПоПериоду = 0 Тогда ОтборПериодС = '00010101'; ОтборПериодПо = '00010101'; - + Элементы.УстановкаПроизвольногоПериода.Видимость = Ложь; ИначеЕсли ВидОтбораПоПериоду = 4 Тогда ОтборПериодС = НачалоДня(ТекущаяДатаСеанса); ОтборПериодПо = ОтборПериодС; + Элементы.УстановкаПроизвольногоПериода.Видимость = Истина; Иначе ОбновитьАвтоматическийПериод(ЭтотОбъект, ТекущаяДатаСеанса); + Элементы.УстановкаПроизвольногоПериода.Видимость = Ложь; КонецЕсли; КонецПроцедуры @@ -162,6 +173,13 @@ #Область ОбработчикиКомандФормы +&НаКлиенте +Процедура ОбновитьРегламентныеЗадания(Команда) + + ОбновитьТаблицуРегламентныхЗаданий(); + +КонецПроцедуры + &НаКлиенте Процедура ВыполнитьРегламентноеЗаданиеВручную(Команда) @@ -262,14 +280,14 @@ КонецПроцедуры &НаКлиенте -Процедура ОбновитьДанные(Команда) +Процедура ОбновитьФоновыеЗадания(Команда) - ОбновитьДанныеНаСервере(); + ОбновитьТаблицуФоновыхЗаданий(); КонецПроцедуры &НаКлиенте -Процедура ОткрытьРасписание(Команда) +Процедура НастроитьРасписание(Команда) ТекущиеДанные = Элементы.ТаблицаРегламентныеЗадания.ТекущиеДанные; @@ -345,6 +363,31 @@ ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаФоновыеЗадания.Конец"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<>'")); + + // + Элемент = УсловноеОформление.Элементы.Добавить(); + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СостояниеВыполнения.Имя); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаРегламентныеЗадания.СостояниеВыполнения"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = НСтр("ru = '<не определено>'"); + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет); + + // + Элемент = УсловноеОформление.Элементы.Добавить(); + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ДатаОкончания.Имя); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаРегламентныеЗадания.ДатаОкончания"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = НСтр("ru = '<не определено>'"); + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет); + КонецПроцедуры @@ -532,7 +575,7 @@ УстановитьПривилегированныйРежим(Ложь); КонецЕсли; - ОбновитьДанныеНаСервере(); + ОбновитьТаблицуРегламентныхЗаданий(); Возврат ОповещенияОбОкончанииВыполнения; @@ -621,7 +664,7 @@ ПроцедураУжеВыполняется); Если ОбновитьВсе Тогда - ОбновитьДанныеНаСервере(); + ОбновитьТаблицуРегламентныхЗаданий(); Иначе ОбновитьТаблицуРегламентныхЗаданий(ИдентификаторРегламентногоЗадания); КонецЕсли; @@ -635,7 +678,8 @@ РегламентныеЗаданияСлужебный.ОтменитьФоновоеЗадание(Идентификатор); - ОбновитьДанныеНаСервере(); + ОбновитьТаблицуРегламентныхЗаданий(); + ОбновитьТаблицуФоновыхЗаданий(); КонецПроцедуры @@ -665,18 +709,9 @@ КонецПроцедуры &НаКлиенте -Процедура ОтложенноеОбновленияДанных() - - ОбновитьДанныеНаСервере(); - -КонецПроцедуры - -&НаСервере -Процедура ОбновитьДанныеНаСервере() +Процедура ОтложенноеОбновлениеРегламентныхЗаданий() ОбновитьТаблицуРегламентныхЗаданий(); - ОбновитьТаблицуФоновыхЗаданий(); - ОбновитьСписокВыбораРегламентногоЗадания(); КонецПроцедуры @@ -760,6 +795,8 @@ Элементы.РегламентныеЗадания.Заголовок = Элементы.РегламентныеЗадания.Заголовок + " (" + Формат(ЭлементовВСписке, "ЧГ=") + ")"; КонецЕсли; + ОбновитьСписокВыбораРегламентногоЗадания(); + КонецПроцедуры &НаСервере @@ -790,6 +827,10 @@ &НаСервере Процедура ОбновитьТаблицуФоновыхЗаданий() + Если Не СтраницаФоновыеЗаданияОткрывалась Тогда + Возврат; + КонецЕсли; + // 1. Подготовка отбора. Отбор = Новый Структура; @@ -885,7 +926,6 @@ Пока Индекс < Таблица.Количество() Цикл Таблица.Удалить(Таблица.Количество()-1); КонецЦикла; - КоличествоФоновыхЗаданийВТаблице = Таблица.Количество(); Элементы.ТаблицаФоновыеЗадания.Обновить(); diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Form.form b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Form.form index b5457d11f..32c501c75 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Form.form +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Form.form @@ -216,13 +216,7 @@ ru 1. Основное - - System.DefaultGUIFont - true - false - false - false - + true ОсновноеExtendedTooltip @@ -377,13 +371,7 @@ ru 2. Дополнительно - - System.DefaultGUIFont - true - false - false - false - + true ДополнительноExtendedTooltip @@ -502,13 +490,7 @@ ru 3. Регламентное задание - - System.DefaultGUIFont - true - false - false - false - + true РегламентноеЗаданиеExtendedTooltip @@ -569,8 +551,8 @@ true true - 4 true + true true true true @@ -589,13 +571,7 @@ ru 4. Сообщения пользователю и описание информации об ошибке - - System.DefaultGUIFont - true - false - false - false - + СообщенияПользователюИОписаниеИнформацииОбОшибкеExtendedTooltip 44 diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Help/ru.html b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Help/ru.html index 91c1ea3c0..869f07ef2 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Help/ru.html +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Help/ru.html @@ -1,28 +1,18 @@ - -

                                    В этой форме можно посмотреть различные свойства фонового задания.

                                    -

                                    1. Группа свойств "Основное".

                                    -

                                    - - - - - - -
                                    Наименование свойстваНазначение свойства
                                    НаименованиеОбычно пустое, копия свойства "наименование" регламентного задания. При применении кнопки "Выполнить сейчас" на командной панели регламентного задания, наименованию фонового задания устанавливается текст "Запуск вручную: <Представление регламентного задания>".
                                    Состояние -

                                    Возможны значения: "Выполнено", "Завершено с ошибками", "Отменено пользователем", "Выполняется".

                                    Дата началаДата и время начала выполнения фонового задания.
                                    Дата окончанияДата и время окончания выполнения фонового задания (если задание еще выполняется, тогда пустая дата и время: <>.
                                    Место выполненияИмя компьютера сети без домена, на котором выполнялось фоновое задание. Это либо имя сервера, либо имя компьютера пользователя, если регламентные задания обрабатывались в файловой информационной базе.

                                    2. Группа свойств "Дополнительно".

                                    - - - - -
                                    Наименование свойстваНазначение свойства
                                    Идентификатор -

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

                                    Ключ -

                                    Значение свойства Ключ, указанного в регламентном задании (на момент создания фонового задания) или другое, указанное явно, если фоновое задание создано программно, а не планировщиком сервера.

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

                                     

                                    -

                                    3. Группа свойств "Регламентное задание".

                                    - - - -
                                    Наименование свойстваНазначение свойства
                                    Наименование -

                                    Одно из значений свойств (по порядку поиска заполненного):
                                    1. Наименование.
                                    2. Синоним.
                                    3. Имя.

                                    ИдентификаторИдентификатор регламентного задания, соответствующий фоновому заданию.

                                     

                                    -

                                    4. Сообщения пользователю и описание информации об ошибке.

                                    -

                                    Поле содержит текс сообщений и текст сведений об ошибке, если сообщения и/или ошибки произошли при выполнении фонового задания.

                                    -

                                     

                                    \ No newline at end of file + +

                                    Описание свойств фонового задания.

                                    +

                                    Основное

                                    +
                                    • Наименование - копия поля Наименование регламентного задания. При применении кнопки Выполнить сейчас на командной панели регламентного задания, наименованию фонового задания присваивается значение "Запуск вручную: <Представление регламентного задания>". +
                                    • Состояние - возможны значения: "Задание выполнено", "Задание завершено с ошибками", "Задание отменено пользователем", "Задание выполняется". +
                                    • Дата начала - дата и время начала выполнения фонового задания. +
                                    • Дата окончания - дата и время окончания выполнения фонового задания (если задание еще выполняется, тогда пустая дата и время: <>). +
                                    • Место выполнения - имя компьютера сети без домена, на котором выполнялось фоновое задание. Это либо имя сервера, либо имя компьютера пользователя, если регламентные задания обрабатывались в файловой информационной базе.

                                    Дополнительно

                                    +
                                    • Идентификатор - нужен только для продвинутого администратора, знающего внутренний язык 1С. Требуется для исследования нестандартных проблем в работе фоновых заданий, если таковые есть. +
                                    • Ключ - значение поля Ключ, указанного в регламентном задании (на момент создания фонового задания) или другое, указанное явно, если фоновое задание создано программно, а не планировщиком сервера. +
                                    • Имя метода метаданных - имя процедуры в конфигурации, которая выполняется или выполнялась в фоновом задании. Обычно соответствует значению поля Имя метода соответствующего регламентного задания.

                                    Регламентное задание

                                    +
                                    • Наименование - выбирается одно из значений полей (по порядку поиска заполненного): +
                                      • Наименование; +
                                      • Синоним; +
                                      • Имя.
                                    • Идентификатор - идентификатор регламентного задания, соответствующий фоновому заданию.

                                    Сообщения пользователю и описание информации об ошибке

                                    +
                                    • Поле содержит текст сообщений и текст сведений об ошибке, если сообщения и/или ошибки произошли при выполнении фонового задания.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Module.bsl b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Module.bsl index 851895e86..cb3f88975 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Module.bsl +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Forms/ФоновоеЗадание/Module.bsl @@ -53,6 +53,8 @@ |Расположение, |Состояние, |ИмяМетода"); + + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); КонецПроцедуры diff --git a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html index 0be9b6826..0d96087e2 100644 --- a/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html +++ b/SSL/src/DataProcessors/РегламентныеИФоновыеЗадания/Help/ru.html @@ -1,42 +1,70 @@ - -

                                    В целях администрирования регламентных и фоновых заданий система предоставляет следующие возможности:

                                    -
                                    1. Контроль выполнения регламентных заданий. -
                                    2. Регламентные задания. -
                                    3. Фоновые задания.

                                     

                                    -

                                    1. Контроль выполнения регламентных заданий.

                                    -

                                    Контроль может быть либо простым, либо детальным.

                                    -

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

                                    -

                                    Детальный контроль - это анализ списка фоновых заданий (на странице "Фоновые задания"), которые были созданы и выполнены для выполнения регламентного задания.

                                    -
                                    -

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

                                    -

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

                                    -

                                    2. Регламентные задания

                                    - - - - - - - - -
                                    КомандаОписание
                                    ОбновитьОбновляет список регламентных заданий (и список фоновых с учетом заданного отбора, т.к. списки связаны).
                                    ДобавитьОткрывает форму редактирования нового регламентного задания.
                                    ИзменитьОткрывает форму редактирования регламентного задания.
                                    -

                                    Скопировать

                                    Открывает форму редактирования нового регламентного задания, предварительно заполненную значениями копируемого задания.
                                    -

                                    Удалить

                                    Удаляет регламентное задание, выбранное в списке (кроме предопределенных).
                                    РасписаниеОткрывает форму редактирования расписания регламентного задания.
                                    Выполнить сейчас -

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

                                     

                                    -

                                    3. Фоновые задания

                                    + +

                                    Предназначен для администрирования регламентных и фоновых заданий.

                                    +

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

                                    +

                                    Открывается по команде Регламентные и фоновые задания в разделе Администрирование - Поддержка и обслуживание.

                                    +

                                    Список предоставляет следующие возможности: 

                                    +

                                    Регламентные задания

                                    +

                                    В списке можно включить (или отключить) то или иное регламентное задание и поменять расписание.

                                    +

                                    В списке выводится:

                                    +
                                    •  - флажок в колонке означает, что регламентное задание Включено и выполняется в соответствии с заданным расписанием; +
                                    • Наименование - полное наименование регламентного задания; +
                                    • Состояние - информация о выполнении регламентного задания; +
                                    • Дата окончания - дата и время завершения регламентного задания.

                                    Обновление списка

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

                                    Настройка расписания

                                    +
                                    • +
                                      Для каждого регламентного задания может быть задано расписание, в соответствии с которым регламентное задание будет автоматически запущено на исполнение. В программе поддерживаются однократные и периодические расписания.
                                      +
                                    • +
                                      Нажмите Настроить расписание.

                                    Выполнение регламентного задания

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

                                    Ввод нового регламентного задания

                                    +
                                    • +
                                      В некоторых случаях бывает необходимо задать два разных расписания для одного регламентного задания. Тогда в список можно добавить новое регламентное задание по одному из предопределенных шаблонов, предусмотренных в программе.
                                      +
                                    • +
                                      Нажмите Добавить, выберите из списка шаблон, нажмите кнопку ОК. Заполните необходимые поля.

                                    Фоновые задания

                                    +

                                    Технически, в соответствии с заданным расписанием для выполнения регламентного задания создается фоновое задание, которое выполняет регламентные действия. Например, если задано ежедневное расписание на 9:15, то каждый день в 9:15 будет запускаться новый сеанс фонового задания. После завершения регламентной операции фоновое задание автоматически завершается.

                                    +

                                    В списке выводится:

                                    +
                                    • Состояние - выполнение задания; +
                                    • Наименование - наименование фонового задания; +
                                    • Начало - дата и время начала выполнения фонового задания; +
                                    • Окончание - дата и время окончания выполнения фонового задания; +
                                    • Регламентное задание - наименование регламентного задания.

                                    Для контроля выполнения регламентных заданий можно воспользоваться отбором фоновых заданий по различным признакам:

                                    - + +
                                    • Позволяет выполнить отбор по состоянию (дополнительно к отбору по периоду и по регламентному заданию): +
                                      • Выполнено; +
                                      • Завершено с ошибками; +
                                      • Отменено; +
                                      • Выполняется.
                                    • Включите нужные отборы с помощью флажков.
                                    -
                                    ОтборОписание
                                    По состояниюОписание
                                    По состоянию -

                                    Позволяет выполнить отбор по состоянию (дополнительно к отбору по периоду и по регламентному заданию):
                                    1) выполнено,
                                    2) завершено с ошибками,
                                    3) отменено пользователем,
                                    4) выполняется.

                                    По периоду
                                    По периоду -

                                    Позволяет выполнить отбор по периоду (дополнительно к отбору по состоянию и по регламентному заданию):
                                    1) произвольный - можно установить нестандартный период,
                                    2) без отбора - отбор по периоду не выполняется,
                                    3) ночь - стандартный период 12 часов с 21:00-09:00,
                                    4) вчера - стандартный период 24 часа с 00:00-23:59 вчерашнего дня,
                                    5) сегодня - стандартный период 24 часа с 00:00-23:59 сегодняшнего дня.

                                    По регламентному заданиюПозволяет выполнить отбор по регламентному заданию (дополнительно к отбору по состоянию и по периоду):
                                    1) флажок обозначает необходимость отбора,
                                    2) наименование регламентного задания "<не определено>" используется для отбора фоновых заданий,
                                    запущенных для выполнения прочих (не регламентных) задний.
                                    - - - -
                                    КомандаОписание
                                    ОбновитьОбновляет список фоновых заданий с учетом заданного отбора (и список регламентных, т.к. списки связаны).
                                    ОткрытьОткрывает детальную форму свойств фонового задания.
                                    ОтменитьОтменяет выполнение фонового задание (если выполняется).

                                     

                                    -

                                    См. также

                                    -

                                     

                                    -

                                     

                                    \ No newline at end of file +
                                    • +
                                      Позволяет выполнить отбор по периоду (дополнительно к отбору по состоянию и по регламентному заданию):
                                      +
                                      • произвольный - можно установить нестандартный период; +
                                      • все время - отбор по периоду не выполняется; +
                                      • прошлая ночь - стандартный период 12 часов с 21:00-09:00; +
                                      • вчера - стандартный период 24 часа с 00:00-23:59 вчерашнего дня; +
                                      • сегодня - стандартный период 24 часа с 00:00-23:59 сегодняшнего дня.
                                    По регламентному заданию + +
                                    • Позволяет выполнить отбор по регламентному заданию (дополнительно к отбору по состоянию и по периоду). +
                                    • Включите флажок Отбирать по регламентному заданию. +
                                    • Выберите наименование регламентного задания из списка. +
                                    • Наименование регламентного задания "<не определено>" используется для отбора фоновых заданий,
                                      запущенных для выполнения прочих (не регламентных) заданий.

                                    Внимание! Для того чтобы отобрать фоновые задания в соответствии с выбранными настройками, нажмите Обновить.

                                    +

                                    Просмотр информации о фоновом задании

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

                                    Контроль выполнения регламентных заданий

                                    +
                                    • Контроль может быть либо простым, либо детальным. +
                                    • Простой контроль - это анализ колонок Состояние и Дата окончания на вкладке Регламентные задания, а также анализ текста поля Сообщения пользователю и описание информации об ошибке в окне редактирования регламентного задания. +
                                    • Детальный контроль - это анализ списка фоновых заданий (на вкладке Фоновые задания), которые были созданы и выполнены для выполнения регламентного задания. +
                                    • Детальный контроль производится отбором фоновых заданий по интересующему регламентному заданию, и анализом реквизитов фоновых заданий. Следует учитывать, что сведения о выполнении регламентного задания получаются выборкой части сведений о выполнении последнего фонового задания. +
                                    • Отбор фоновых заданий производится только по команде Обновить, поэтому после изменения настройки отбора нужно выполнить эту команду. +
                                    • Для детального анализа хода выполнения регламентных заданий в клиент-серверном режиме см. отчет Продолжительность работы регламентных заданий из группы отчетов Анализ журнала регистрации, который открывается по соответствующей команде в разделе Администрирование - Поддержка и обслуживание - Отчеты администратора.

                                    См. также

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Form.form b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Form.form index f01c5f4a2..d510df1c8 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Form.form +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Form.form @@ -1175,6 +1175,230 @@ auto
                                    + + СтраницаОшибокПриКопировании + 171 + + ГруппаНеуспешногоКопирования + 173 + + НадписьНеуспешногоКопирования + 175 + + <key>ru</key> + <value>Восстановление данных из резервной копии не выполнено</value> + + true + true + + true + + + НадписьНеуспешногоКопированияРасширеннаяПодсказка + 177 + Label + true + true + + Left + + + + НадписьНеуспешногоКопированияКонтекстноеМеню + 176 + true + + Label + true + 2 + true + + System.DefaultGUIFont + 10.0 + true + false + false + false + + + Left + + + true + true + + true + + + ГруппаНеуспешногоКопированияРасширеннаяПодсказка + 174 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаНеУдалось + 178 + + ДекорацияПредупреждение + 180 + true + true + + true + + + ДекорацияПредупреждениеРасширеннаяПодсказка + 182 + Label + true + true + + Left + + + + ДекорацияПредупреждениеКонтекстноеМеню + 181 + true + + 4 + true + 2 + true + + + CommonPicture.Предупреждение32 + + + + + Группа2 + 183 + + НадписьНеУдалось + 185 + + <key>ru</key> + <value>Текст ошибки</value> + + true + true + + true + + + НадписьНеУдалосьРасширеннаяПодсказка + 187 + Label + true + true + + Left + + + + НадписьНеУдалосьКонтекстноеМеню + 186 + true + + Label + true + true + + Left + + + true + true + + true + + + Группа2РасширеннаяПодсказка + 184 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + ГруппаНеУдалосьРасширеннаяПодсказка + 179 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Страница ошибок при копировании</value> + + + ru + Страница ошибок при копировании + + + СтраницаОшибокПриКопированииExtendedTooltip + 172 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true @@ -1318,6 +1542,10 @@ -1 Right
                                    + + NotificationProcessing + ОбработкаОповещения + OnOpen ПриОткрытии diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Help/ru.html b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Help/ru.html index 21523a86e..b29fa6925 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Help/ru.html +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Help/ru.html @@ -1,6 +1,12 @@ - -

                                    Выполняет восстановление данных из резервной копии.

                                    -

                                    Обязательное заполнение: Путь к файлу с резервной копией. В данном поле необходимо выбрать файл, из которого будет восстановлена информационная база. Примечание: в данном помощнике при восстановлении данных можно использовать только архивы формата .zip, содержащие один файл - файл информационной базы 1cv8.cd. Лучше всего использовать архивы, созданные помощником создания резервной копии.

                                    -

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

                                    -

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

                                    -

                                    Важно: для того, чтобы войти в информационную базу, если восстановление данных не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                    \ No newline at end of file + +

                                    Предназначена для восстановления данных из резервной копии.

                                    +

                                    Открывается командой Восстановление из резервной копии раздела Администрирование - Поддержка и обслуживание - Резервное копирование и восстановление.

                                    +

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

                                    +

                                    Восстановление данных

                                    +
                                    • С помощью кнопки  Выбрать укажите путь к файлу с резервной копией, из которого будет восстановлена информационная база (поле обязательно для заполнения).  +
                                    • В данном помощнике при восстановлении данных можно использовать только архивы формата .zip, содержащие один файл - файл информационной базы 1cv8.cd. Лучше всего использовать архивы, созданные помощником создания резервной копии. +
                                    • Программа выводит предупреждение о том, что имеются другие пользователи, которые кроме вас работают с информационной базой в текущий момент. Перейдите по ссылке, для того чтобы Посмотреть список активных сеансов. +
                                    • Нажмите Восстановить данные. Если присутствуют активные сеансы, будет запущен механизм отключения их от информационной базы. Затем программа выполнит восстановление данных.

                                    Вход в базу в случае сбоя восстановления данных

                                    +
                                    • Важно: Для того чтобы войти в информационную базу, если восстановление данных не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Module.bsl b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Module.bsl index 2a3e807c0..a771e239f 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Module.bsl +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/ВосстановлениеДанныхИзРезервнойКопии/Module.bsl @@ -88,6 +88,14 @@ КонецПроцедуры +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + Если ИмяСобытия = "ЗавершениеРаботыПользователей" И Параметр.КоличествоСеансов <= 1 + И Элементы.СтраницыЗагрузкиДанных.ТекущаяСтраница = Элементы.СтраницаИнформацииИВыполненияРезервногоКопирования Тогда + НачатьРезервноеКопирование(); + КонецЕсли; +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы @@ -145,6 +153,8 @@ Элементы.Готово.Доступность = Ложь; УстановитьБлокировкуСоединений = Истина; + СоединенияИБВызовСервера.УстановитьБлокировкуСоединений(Нстр("ru = 'Выполняется восстановление информационной базы.'"), "РезервноеКопирование"); + Если РезервноеКопированиеИБВызовСервера.КоличествоАктивныхПользователей() = 1 Тогда СоединенияИБКлиент.УстановитьПризнакРаботаПользователейЗавершается(УстановитьБлокировкуСоединений); СоединенияИБКлиент.ЗавершитьРаботуЭтогоСеанса(Ложь); @@ -187,7 +197,7 @@ &НаКлиенте Процедура УстановитьОбработчикОжиданияНачалаРезервногоКопирования() - ПодключитьОбработчикОжидания("ПроверкаНаЕдинственностьПодключения", 120); + ПодключитьОбработчикОжидания("ПроверкаНаЕдинственностьПодключения", 60); КонецПроцедуры @@ -316,11 +326,39 @@ Процедура ИстечениеВремениОжидания() ОтключитьОбработчикОжидания("ПроверкаНаЕдинственностьПодключения"); - ТекстПредупреждения = НСтр("ru = 'Не удалось отключить все активные сеансы работы с программой. - |Резервное копирование будет отменено.'"); - ПоказатьПредупреждение(,ТекстПредупреждения, 30, НСтр("ru = 'Резервное копирование'")); + ОтменитьПодготовку(); -КонецПроцедуры +КонецПроцедуры + +&НаСервере +Процедура ОтменитьПодготовку() + + ИменаАктивныхСеансов = ""; + НомерТекущегоСеанса = НомерСеансаИнформационнойБазы(); + Для Каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл + Если Сеанс.НомерСеанса <> НомерТекущегоСеанса Тогда + ИменаАктивныхСеансов = ИменаАктивныхСеансов + "• " + Сеанс + Символы.ПС; + КонецЕсли; + КонецЦикла; + СтроковыеФункцииКлиентСервер.УдалитьПоследнийСимволВСтроке(ИменаАктивныхСеансов); + + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не удалось принудительно отключить сеансы: + | + |%1. + | + |Подготовка к восстановлению данных из резервной копии отменена. + |Информационная база разблокирована.'"), ИменаАктивныхСеансов); + + Элементы.НадписьНеУдалось.Заголовок = ТекстСообщения; + Элементы.СтраницыЗагрузкиДанных.ТекущаяСтраница = Элементы.СтраницаОшибокПриКопировании; + Элементы.Готово.Видимость = Ложь; + Элементы.Закрыть.Заголовок = НСтр("ru = 'Закрыть'"); + Элементы.Закрыть.КнопкаПоУмолчанию = Истина; + + СоединенияИБ.РазрешитьРаботуПользователей(); + +КонецПроцедуры &НаКлиенте Процедура ПроверкаНаЕдинственностьПодключения() @@ -339,6 +377,9 @@ "Информация", НСтр("ru = 'Выполняется восстановление данных информационной базы:'") + " " + ИмяГлавногоФайлаСкрипта); + ЗакрытьФормуБезусловно = Истина; + Закрыть(); + ПропуститьПредупреждениеПередЗавершениемРаботыСистемы = Истина; ЗавершитьРаботуСистемы(Ложь); ЗапуститьПриложение("""" + ИмяГлавногоФайлаСкрипта + """", РезервноеКопированиеИБКлиент.ПолучитьКаталогФайла(ИмяГлавногоФайлаСкрипта)); diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Form.form b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Form.form index 77e40d334..9362d52d1 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Form.form +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Form.form @@ -2,7 +2,7 @@ <key>ru</key> - <value>Резервное копирование данных</value> + <value>Создание резервной копии</value> СтраницыПомощника @@ -829,19 +829,60 @@ ГруппаАктивныхПользователей 81 - ГруппаКартинкиАктивныхПользователей - 82 - - Декорация5 - 83 + Группа5 + 433 + + ГруппаКартинкиАктивныхПользователей + 82 + + Декорация5 + 83 + true + true + + true + + + Декорация5ExtendedTooltip + 336 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 84 + true + + 7 + true + 3 + true + + + CommonPicture.ДлительнаяОперация48 + + + true true true + + <key>ru</key> + <value>Группа картинки активных пользователей</value> + + + ru + Группа картинки активных пользователей + - Декорация5ExtendedTooltip - 336 + ГруппаКартинкиАктивныхПользователейExtendedTooltip + 335 Label true true @@ -849,19 +890,271 @@ Left - - Декорация5КонтекстноеМеню - 84 - true - - 7 - true - 3 - true - - - CommonPicture.ДлительнаяОперация48 - + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаОжидание + 373 + + СтраницаОжиданияАктивныхПользователей + 85 + + НадписьОтключениеПользователей + 190 + + <key>ru</key> + <value>Производится отключение сеансов других пользователей, +работающих в программе...</value> + + true + true + + true + + + НадписьОтключениеПользователейExtendedTooltip + 340 + Label + true + true + + Left + + + + НадписьОтключениеПользователейКонтекстноеМеню + 191 + true + + Label + true + 2 + true + + Left + Bottom + + + + ГруппаОжиданияАктивныхПользователей + 375 + + СписокПользователей + 91 + + <key>ru</key> + <value>Активные сеансы:</value> + + true + true + + true + + + СписокПользователейExtendedTooltip + 338 + Label + true + true + + Left + + + + СписокПользователейКонтекстноеМеню + 92 + true + + Label + true + true + + + Click + СписокПользователейНажатие + + true + Left + Center + + + + КоличествоАктивныхПользователей + 89 + true + true + + true + + + КоличествоАктивныхПользователейExtendedTooltip + 339 + Label + true + true + + Left + + + + КоличествоАктивныхПользователейКонтекстноеМеню + 90 + true + + Label + true + true + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Группа ожидания активных пользователей</value> + + + ГруппаОжиданияАктивныхПользователейРасширеннаяПодсказка + 376 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Страница ожидания активных пользователей</value> + + + СтраницаОжиданияАктивныхПользователейРасширеннаяПодсказка + 337 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаОжиданияВремениЗапуска + 377 + + НадписьВремяОжиданияРезервногоКопирования + 117 + + <key>ru</key> + <value>Резервное копирование начнется в запланированное время <дата время>...</value> + + true + true + + true + + + НадписьВремяОжиданияРезервногоКопированияExtendedTooltip + 341 + Label + true + true + + Left + + + + НадписьВремяОжиданияРезервногоКопированияКонтекстноеМеню + 118 + true + + Label + true + 4 + true + + Left + Center + + + true + true + + true + + + <key>ru</key> + <value>Страница ожидания времени запуска</value> + + + СтраницаОжиданияВремениЗапускаРасширеннаяПодсказка + 378 + Label + true + true + + Left + + + Page + + Vertical + + + true + true + + true + + + <key>ru</key> + <value>Группа ожидание</value> + + + ГруппаОжиданиеРасширеннаяПодсказка + 374 + Label + true + true + + Left + + + Pages + + Auto true @@ -869,17 +1162,9 @@ true - - <key>ru</key> - <value>Группа картинки активных пользователей</value> - - - ru - Группа картинки активных пользователей - - ГруппаКартинкиАктивныхПользователейExtendedTooltip - 335 + Группа5РасширеннаяПодсказка + 434 Label true true @@ -889,7 +1174,6 @@ UsualGroup - Vertical Auto true true @@ -898,162 +1182,19 @@ - ГруппаОжидание - 373 - - СтраницаОжиданияАктивныхПользователей - 85 - - НадписьОтключениеПользователей - 190 - - <key>ru</key> - <value>Производится отключение сеансов других пользователей, -работающих в программе...</value> - - true - true - - true - - - НадписьОтключениеПользователейExtendedTooltip - 340 - Label - true - true - - Left - - - - НадписьОтключениеПользователейКонтекстноеМеню - 191 - true - - Label - true - 2 - true - - Left - Bottom - - - - ГруппаОжиданияАктивныхПользователей - 375 - - СписокПользователей - 91 - - <key>ru</key> - <value>Активные сеансы:</value> - - true - true - - true - - - СписокПользователейExtendedTooltip - 338 - Label - true - true - - Left - - - - СписокПользователейКонтекстноеМеню - 92 - true - - Label - true - true - - - Click - СписокПользователейНажатие - - true - Left - Center - - - - КоличествоАктивныхПользователей - 89 - true - true - - true - - - КоличествоАктивныхПользователейExtendedTooltip - 339 - Label - true - true - - Left - - - - КоличествоАктивныхПользователейКонтекстноеМеню - 90 - true - - Label - true - true - - Left - Center - - - true - true - - true - - - <key>ru</key> - <value>Группа ожидания активных пользователей</value> - - - ГруппаОжиданияАктивныхПользователейРасширеннаяПодсказка - 376 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - + ГруппаАктивныеСеансы + 420 + + Декорация4 + 427 true true true - - <key>ru</key> - <value>Страница ожидания активных пользователей</value> - - СтраницаОжиданияАктивныхПользователейРасширеннаяПодсказка - 337 + Декорация4РасширеннаяПодсказка + 429 Label true true @@ -1061,63 +1202,33 @@ Left - Page - - Vertical - auto - + + Декорация4КонтекстноеМеню + 428 + true + + 7 + true + 2 + true + - - СтраницаОжиданияВремениЗапуска - 377 - - НадписьВремяОжиданияРезервногоКопирования - 117 - - <key>ru</key> - <value>Резервное копирование начнется в запланированное время <дата время>...</value> - - true - true - - true - - - НадписьВремяОжиданияРезервногоКопированияExtendedTooltip - 341 - Label - true - true - - Left - - - - НадписьВремяОжиданияРезервногоКопированияКонтекстноеМеню - 118 - true - - Label - true - 4 - true - - Left - Center - - + + ДекорацияАктивныеСеансы + 430 + + <key>ru</key> + <value>Имеются активные сеансы работы с программой, +которые не могут быть завершены принудительно:</value> + true true true - - <key>ru</key> - <value>Страница ожидания времени запуска</value> - - СтраницаОжиданияВремениЗапускаРасширеннаяПодсказка - 378 + ДекорацияАктивныеСеансыРасширеннаяПодсказка + 432 Label true true @@ -1125,9 +1236,16 @@ Left - Page - - Vertical + + ДекорацияАктивныеСеансыКонтекстноеМеню + 431 + true + + Label + true + true + + Left true @@ -1137,11 +1255,15 @@ <key>ru</key> - <value>Группа ожидание</value> + <value>Группа активные сеансы</value> + + ru + Группа активные сеансы + - ГруппаОжиданиеРасширеннаяПодсказка - 374 + ГруппаАктивныеСеансыРасширеннаяПодсказка + 421 Label true true @@ -1149,8 +1271,12 @@ Left - Pages - + UsualGroup + + Auto + true + true + Auto Auto @@ -1175,6 +1301,7 @@ UsualGroup + Vertical Auto NormalSeparation true @@ -1947,6 +2074,10 @@ -1 Right + + NotificationProcessing + ОбработкаОповещения + OnOpen ПриОткрытии diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Help/ru.html b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Help/ru.html index 4de176c53..ba2edc450 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Help/ru.html +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Help/ru.html @@ -1,11 +1,18 @@ - -

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

                                    -

                                    Предоставляет следующие возможности:

                                    -

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

                                    -

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

                                    -

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

                                    -

                                    Обязательные поля для заполнения : Каталог резервной копии. Папка, в которую будет помещена сформированная резервная копия базы.

                                    -

                                    -

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

                                    -

                                    -

                                    Важно: для того, чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                    \ No newline at end of file + +

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

                                    +

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

                                    +

                                    Открывается по команде Создание резервной копии из раздела Администрирование - Поддержка и обслуживание - Резервное копирование.

                                    +

                                    Создание резервной копии

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

                                    Процедура резервного копирования

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

                                    +

                                    Запуск программы в случае ошибок во время резервного копирования

                                    +
                                    • Перед началом резервного копирования программа выводит сообщение с рекомендациями по немедленному запуску. +
                                    • Для того, чтобы войти в информационную базу, если резервное копирование не выполнилось, необходимо запустить 1С:Предприятие с параметрами: ENTERPRISE /F <путь к информационной базе> /CРазрешитьРаботуПользователей /UC РезервноеКопирование.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Module.bsl b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Module.bsl index dd2ec86a9..d84f7471e 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Module.bsl +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Forms/РезервноеКопированиеДанных/Module.bsl @@ -38,7 +38,16 @@ Элементы.СтраницыПомощника.ТекущаяСтраница = Элементы.СтраницаОшибокПриКопировании; КонецЕсли; - Объект.КаталогСРезервнымиКопиями = НастройкиРезервногоКопирования.КаталогХраненияРезервныхКопий; + АвтоматическоеВыполнение = (Параметры.РежимРаботы = "ВыполнитьСейчас" Или Параметры.РежимРаботы = "ВыполнитьПриЗавершенииРаботы"); + + Если НастройкиРезервногоКопирования.Свойство("КаталогХраненияРезервныхКопийПриРучномЗапуске") + И Не ПустаяСтрока(НастройкиРезервногоКопирования.КаталогХраненияРезервныхКопийПриРучномЗапуске) + И Не АвтоматическоеВыполнение Тогда + Объект.КаталогСРезервнымиКопиями = НастройкиРезервногоКопирования.КаталогХраненияРезервныхКопийПриРучномЗапуске; + Иначе + Объект.КаталогСРезервнымиКопиями = НастройкиРезервногоКопирования.КаталогХраненияРезервныхКопий; + КонецЕсли; + Если НастройкиРезервногоКопирования.ДатаПоследнегоРезервногоКопирования = Дата(1, 1, 1) Тогда ТекстЗаголовка = НСтр("ru = 'Резервное копирование еще ни разу не проводилось'"); Иначе @@ -126,8 +135,17 @@ КонецПроцедуры -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + Если ИмяСобытия = "ЗавершениеРаботыПользователей" И Параметр.КоличествоСеансов <= 1 + И ПараметрыРезервногоКопированияИБ.ПроцессВыполняется Тогда + НачатьРезервноеКопирование(); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы &НаКлиенте Процедура СписокПользователейНажатие(Элемент) @@ -282,14 +300,7 @@ ОчиститьСообщения(); - НазванияСоединенийИБ = ""; - Если НЕ АктивныТолькоКлиентскиеПриложения(НазванияСоединенийИБ) Тогда - ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Имеются активные сеансы работы с программой, которые не могут быть завершены принудительно. - |%1'"), - НазванияСоединенийИБ); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения); - КонецЕсли; + ПроверитьНаличиеБлокирующихСеансов(); СоединенияИБВызовСервера.УстановитьБлокировкуСоединений(Нстр("ru = 'Для выполнения резервного копирования.'"), "РезервноеКопирование"); СоединенияИБКлиент.УстановитьОбработчикиОжиданияЗавершенияРаботыПользователей(УстановитьБлокировкуСоединений); @@ -300,6 +311,28 @@ КонецПроцедуры +&НаКлиенте +Процедура ПроверитьНаличиеБлокирующихСеансов() + + НазванияСоединенийИБ = ""; + + Если АктивныТолькоКлиентскиеПриложения(НазванияСоединенийИБ) Тогда + Видимость = Ложь; + Иначе + ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Имеются активные сеансы работы с программой, + |которые не могут быть завершены принудительно: + |%1'"), НазванияСоединенийИБ); + Видимость = Истина; + Элементы.ДекорацияАктивныеСеансы.Заголовок = ТекстСообщения; + КонецЕсли; + + Если Элементы.ДекорацияАктивныеСеансы.Видимость <> Видимость Тогда + Элементы.ДекорацияАктивныеСеансы.Видимость = Видимость; + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Процедура ПерейтиНаСтраницуРезультатовРезервногоКопирования() @@ -325,7 +358,7 @@ Результат = Истина; НазванияСоединенийИБ = ""; НомерТекущегоСеанса = НомерСеансаИнформационнойБазы(); - Для каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл + Для Каждого Сеанс Из ПолучитьСеансыИнформационнойБазы() Цикл Если Сеанс.НомерСеанса = НомерТекущегоСеанса Тогда Продолжить; КонецЕсли; @@ -555,6 +588,8 @@ Элементы.КоличествоАктивныхПользователей.Заголовок = Строка(КоличествоПользователей); Если КоличествоПользователей = 1 Тогда НачатьРезервноеКопирование(); + Иначе + ПроверитьНаличиеБлокирующихСеансов(); КонецЕсли; КонецПроцедуры @@ -605,8 +640,10 @@ Если Параметры.РежимРаботы = "ВыполнитьПриЗавершенииРаботы" Тогда РезервноеКопированиеИБКлиент.УдалитьРезервныеКопииПоНастройке(); КонецЕсли; - + + ЗакрытьФормуБезусловно = Истина; Закрыть(); + ПропуститьПредупреждениеПередЗавершениемРаботыСистемы = Истина; ЗавершитьРаботуСистемы(Ложь); @@ -621,7 +658,7 @@ Процедура УстановитьПутьАрхиваСКопиями(Путь) НастройкиПути = РезервноеКопированиеИБСервер.НастройкиРезервногоКопирования(); - НастройкиПути.КаталогХраненияРезервныхКопий = Путь; + НастройкиПути.Вставить("КаталогХраненияРезервныхКопийПриРучномЗапуске", Путь); РезервноеКопированиеИБСервер.УстановитьПараметрыРезервногоКопирования(НастройкиПути); КонецПроцедуры @@ -776,8 +813,7 @@ Результат = СтрЗаменить(Результат, "[ИмяИсполняемогоФайлаПрограммы]" , ПодготовитьТекст(ИмяИсполняемогоФайлаПрограммы)); Результат = СтрЗаменить(Результат, "[ИмяФайлаЗапускаПриложенияВРежимеПредприятия]", ПодготовитьТекст(ИмяФайлаЗапускаПриложенияВРежимеПредприятия)); Результат = СтрЗаменить(Результат, "[ПараметрПутиКИнформационнойБазе]" , ПодготовитьТекст(ПараметрПутиКИнформационнойБазе)); - Результат = СтрЗаменить(Результат, "[СтрокаПутиКФайлуИнформационнойБазы]" , ПодготовитьТекст(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СтрЗаменить(СтрокаПутиКИнформационнойБазе, """", "")) + - "1Cv8.1CD")); + Результат = СтрЗаменить(Результат, "[СтрокаПутиКФайлуИнформационнойБазы]" , ПодготовитьТекст(ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СтрЗаменить(СтрокаПутиКИнформационнойБазе, """", "")))); Результат = СтрЗаменить(Результат, "[СтрокаСоединенияИнформационнойБазы]" , ПодготовитьТекст(СтрокаСоединенияИнформационнойБазы)); Результат = СтрЗаменить(Результат, "[ПараметрыАутентификацииПользователя]" , ПодготовитьТекст(СтруктураПараметров.ПараметрыСкрипта.ПараметрыАутентификации)); Результат = СтрЗаменить(Результат, "[СобытиеЖурналаРегистрации]" , ПодготовитьТекст(СтруктураПараметров.СобытиеЖурналаРегистрации)); diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаЗагрузкаИБ/Template.txt b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаЗагрузкаИБ/Template.txt index 9f605d800..bdd00a81c 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаЗагрузкаИБ/Template.txt +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаЗагрузкаИБ/Template.txt @@ -9,7 +9,7 @@ var v8exeEnterprise = [ИмяФайлаЗапускаПриложенияВРе var infoBasePath = [ПараметрПутиКИнформационнойБазе]; var BaseFileName = [СтрокаПутиКФайлуИнформационнойБазы]; var BaseFileName2 = [СтрокаПутиКФайлуИнформационнойБазы2]; -var connectionString = [СтрокаСоединенияИнформационнойБазы] + 'С=РазрешитьРаботуПользователей'+ 'UC=РезервноеКопированиеИБ'; +var connectionString = [СтрокаСоединенияИнформационнойБазы] + 'С="РазрешитьРаботуПользователей";'+ 'UC=РезервноеКопирование'; var infoBaseAuthorization = [ПараметрыАутентификацииПользователя]; var backupFileCopyName = [КаталогРезервнойКопии2] + '1Cv8' + now.valueOf() + '.zip'; // Файл резервной копии var backupFileName = [КаталогРезервнойКопии]; // Файл резервной копии @@ -21,6 +21,7 @@ var doBlockUsers = [БлокироватьСоединенияИБ]; // уст var comConnectorName = [ИмяCOMСоединителя]; // имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение var useComConnector = [ИспользоватьCOMСоединитель]; // флаг использования COM-соединения для работы с 1С:Предприятием 8 var tempLogFileName = "templog.txt"; +var retryCount = 0; #КонецОбласти #Область ОбластьРезервногоКопирования @@ -50,7 +51,6 @@ var successMarker = "{OK }"; // Переменные состояния var backupCreated = false; -var connectionsDenied = false; var logging1C = false; var ComConnection = null; @@ -224,7 +224,7 @@ function finalize(success) if (!success) { - allowConnections(false); // Разрешение подключений + allowConnections(); // Разрешение подключений } write1CEventLog(); // Запись всей информации из log-файла в журнал регистрации @@ -370,7 +370,7 @@ function writeEventLog(success) catch(e) { CollectGarbage(); // предотвращает исключение out of memory - log(format("Исключение при создании резервной копии базы", e.name, e.message), true); + log(format("Исключение при создании резервной копии базы: {0}, {1}.", e.name, e.message), true); ret = -1; } @@ -378,7 +378,6 @@ function writeEventLog(success) } // Восстановление БД function backupDB() - { var oShellApplication = new ActiveXObject("Shell.Application"); var ZIPFile = oFileSystemObject.GetAbsolutePathName(backupFileName); @@ -388,14 +387,32 @@ function backupDB() var FileObject = oFileSystemObject.GetFile(BaseFileName + BaseFileName2); var FileObject2 = new ActiveXObject("Scripting.FileSystemObject"); - // сначала переместим наш cd-файл в стороннюю директорию + // сначала переместим cd-файл базы во временный каталог if (FileObject2.FileExists(TempCatalog + BaseFileName2)) { FileObject2.DeleteFile(TempCatalog + BaseFileName2); } - FileObject.Move(TempCatalog); + try + { + FileObject.Move(TempCatalog); + } + catch(e) + { + retryCount++; + CollectGarbage(); // предотвращает исключение out of memory + if (retryCount > 5) + { + log(format("Ошибка переноса файла базы во временный каталог (возможно есть активные сеансы к файлу базы): {0}, {1}.", e.name, e.message), true); + return 1; + } + else + { + log(format("Попытка переноса файла базы во временный каталог ({0} из 5): {1}, {2}.", retryCount, e.name, e.message)); + return -1; + } + } if (!createBackup) - return 0; + return 0; try { @@ -403,13 +420,13 @@ function backupDB() ret = 0; - log(format("Восстановление базы данных проведено", ret), ret != 0); + log(format("Восстановление базы данных проведено: {0}", ret), ret != 0); } catch(e) { CollectGarbage(); // предотвращает исключение out of memory - log(format("Исключение при восстановлении базы из резервной копии", e.name, e.message), true); - ret = -1; + log(format("Исключение при восстановлении базы из резервной копии: {0}, {1}.", e.name, e.message), true); + ret = 1; } if (ret == 0) backupCreated = true; @@ -453,34 +470,29 @@ function restoreDB() return ret; } -function doAllowConnections(updateAndFillDB) +function doAllowConnections() { - if (updateAndFillDB == undefined) - updateAndFillDB = true; - - var connection = createConnection(); - if (connection == null) - return (useComConnector ? 1 : 0); - - try - { - connection.СоединенияИБ.РазрешитьРаботуПользователей(); - connectionsDenied = false; - } - catch(e) - { - CollectGarbage(); // предотвращает исключение out of memory - log(format("Исключение при вызове СоединенияИБ.РазрешитьРаботуПользователей: {0}, {1}.", e.name, e.message), true); - return 3; - } - return 0; + var BlockFilePath = BaseFileName + '1Cv8.cdn'; + if (oFileSystemObject.FileExists(BlockFilePath)) + { + try + { + oFileSystemObject.DeleteFile(BaseFileName + '1Cv8.cdn'); + } + catch(e) + { + log(format("Ошибка при удалении файла блокировок 1Cv8.cdn: {0}, {1}.", e.name, e.message), true); + return 3; + } + } + return 0; } // Первоначальное заполнение информационной базы, разрешение подключений новых соединений, // и оповещение о результате обновления -function allowConnections(updateAndFillDB) +function allowConnections() { - var result = doAllowConnections(updateAndFillDB); + var result = doAllowConnections(); CollectGarbage(); // освобождает соединения с COM-объектом return result; } @@ -499,7 +511,7 @@ function doDisconnectAndBlockUsersHTA(connection) case 0: { connection.СоединенияИБ.УстановитьБлокировкуСоединений("в связи с необходимостью восстановления информационной базы.", - "РезервноеКопированиеИБ"); + "РезервноеКопирование"); disconnectionInterval = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().ИнтервалОжиданияЗавершенияРаботыПользователей * 1000; disconnectionStartDateTime = connection.СоединенияИБ.ПараметрыБлокировкиСеансов().Начало; if (connection.ЗначениеЗаполнено(disconnectionStartDateTime)) @@ -603,7 +615,7 @@ function doDisconnectAndBlockUsers() try { connection.СоединенияИБ.УстановитьБлокировкуСоединений("в связи с необходимостью восстановления данных информационной базы.", - "РезервноеКопированиеИБ"); + "РезервноеКопирование"); var interval = 0; var startDateTime = connection.ПолучитьБлокировкуУстановкиСоединений().Начало; diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаРезервногоКопирования/Template.txt b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаРезервногоКопирования/Template.txt index a48d4f2e3..4590c79f5 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаРезервногоКопирования/Template.txt +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/Templates/МакетФайлаРезервногоКопирования/Template.txt @@ -45,7 +45,6 @@ var successMarker = "{OK }"; // Переменные состояния var backupCreated = false; -var connectionsDenied = false; var logging1C = false; var ComConnection = null; @@ -220,7 +219,7 @@ function finalize(success) if (!(oFileSystemObject.FileExists(backupFileName))) - log("Внимание!!! Произошла ошибка при создании резервной копии ИБ. Для диагностики запустите резервное копирование вручную"); + log("Произошла ошибка при создании резервной копии ИБ. Для диагностики запустите резервное копирование вручную"); @@ -228,7 +227,7 @@ function finalize(success) log("Резервная копия успешно создана"); if (TestFolder== null) { - log("Внимание!!! Произошла ошибка при создании резервной копии ИБ. Для диагностики запустите резервное копирование вручную"); + log("Произошла ошибка при создании резервной копии ИБ. Для диагностики запустите резервное копирование вручную"); success = false; } @@ -238,7 +237,7 @@ function finalize(success) if (!success) { - allowConnections(false); // Разрешение подключений + allowConnections(); // Разрешение подключений } @@ -367,7 +366,7 @@ function backupDB() var ZIPFile = oFileSystemObject.GetAbsolutePathName(backupFileName); var dFolder = oShellApplication.NameSpace(ZIPFile); - var file = oFileSystemObject.GetAbsolutePathName(BaseFileName); + var file = oFileSystemObject.GetAbsolutePathName(BaseFileName + '1Cv8.1CD'); var FolderNameSpace = oFileSystemObject.GetParentFolderName(file); var Folder = oShellApplication.Namespace(FolderNameSpace); var FolderItemNameSpace = oFileSystemObject.GetFileName(file); @@ -416,34 +415,29 @@ function WaitUntilFinish() return 0; } -function doAllowConnections(updateAndFillDB) +function doAllowConnections() { - if (updateAndFillDB == undefined) - updateAndFillDB = false; - - var connection = createConnection(); - if (connection == null) - return (useComConnector ? 1 : 0); - - try - { - connection.СоединенияИБ.РазрешитьРаботуПользователей(); - connectionsDenied = false; - } - catch(e) - { - CollectGarbage(); // предотвращает исключение out of memory - log(format("Исключение при вызове СоединенияИБ.РазрешитьРаботуПользователей: {0}, {1}.", e.name, e.message), true); - return 3; - } - return 0; + var BlockFilePath = BaseFileName + '1Cv8.cdn'; + if (oFileSystemObject.FileExists(BlockFilePath)) + { + try + { + oFileSystemObject.DeleteFile(BaseFileName + '1Cv8.cdn'); + } + catch(e) + { + log(format("Ошибка при удалении файла блокировок 1Cv8.cdn: {0}, {1}.", e.name, e.message), true); + return 3; + } + } + return 0; } // Первоначальное заполнение информационной базы, разрешение подключений новых соединений, // и оповещение о результате обновления -function allowConnections(updateAndFillDB) +function allowConnections() { - var result = doAllowConnections(updateAndFillDB); + var result = doAllowConnections(); CollectGarbage(); // освобождает соединения с COM-объектом return result; } diff --git a/SSL/src/DataProcessors/РезервноеКопированиеИБ/РезервноеКопированиеИБ.mdo b/SSL/src/DataProcessors/РезервноеКопированиеИБ/РезервноеКопированиеИБ.mdo index ca8456a6d..be028d7cf 100644 --- a/SSL/src/DataProcessors/РезервноеКопированиеИБ/РезервноеКопированиеИБ.mdo +++ b/SSL/src/DataProcessors/РезервноеКопированиеИБ/РезервноеКопированиеИБ.mdo @@ -11,6 +11,7 @@ true DataProcessor.РезервноеКопированиеИБ.Form.РезервноеКопированиеДанных + true ВариантРасписанияРезервногоКопирования @@ -188,8 +189,9 @@ ПоказатьРезультат ru - Показать результат + Показать результат резервного копирования + Служебная команда. Не для размещения в командном интерфейсе NavigationPanelSeeAlso Auto diff --git a/SSL/src/DataProcessors/СдвигГраницыИтоговПриЗавершенииРаботы/Help/ru.html b/SSL/src/DataProcessors/СдвигГраницыИтоговПриЗавершенииРаботы/Help/ru.html index 75e5d2eb8..68b05307c 100644 --- a/SSL/src/DataProcessors/СдвигГраницыИтоговПриЗавершенииРаботы/Help/ru.html +++ b/SSL/src/DataProcessors/СдвигГраницыИтоговПриЗавершенииРаботы/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                    Для переключения режимов служит гиперссылка в правом нижнем углу формы. Форма запоминает режим открытия.

                                    diff --git a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Form.form b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Form.form index abc0e078d..3ef173dfa 100644 --- a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Form.form @@ -201,7 +201,7 @@ Vertical Auto - StrongSeparation + WeakSeparation true true auto diff --git a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Module.bsl index c12657421..84265efd4 100644 --- a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Forms/Форма/Module.bsl @@ -113,7 +113,7 @@ Если Отказ Тогда Возврат; КонецЕсли; - + ПечатьСогласияНаОбработкуПерсональныхДанных("Обработка.СогласиеНаОбработкуПерсональныхДанных", "СогласиеНаОбработкуПерсональныхДанных(ODT)", ДанныеПечатиСогласия(), ЭтотОбъект); КонецПроцедуры @@ -133,14 +133,14 @@ Функция ДанныеПечатиСогласия() ОбщиеДанные = Новый Структура; - ОбщиеДанные.Вставить("ДатаСогласия", ?(ЗначениеЗаполнено(ДатаСогласия), Формат(ДатаСогласия, "ДЛФ=DD"), "«____»_______________20___г.")); - ОбщиеДанные.Вставить("Организация", ?(ЗначениеЗаполнено(Организация), Организация, "<Организация>")); - ОбщиеДанные.Вставить("АдресОрганизации", ?(ЗначениеЗаполнено(АдресОрганизации), АдресОрганизации, "<Адрес организации>")); - ОбщиеДанные.Вставить("ОтветственныйЗаОбработкуПерсональныхДанных", ?(ЗначениеЗаполнено(ОтветственныйЗаОбработкуПерсональныхДанных), ОтветственныйЗаОбработкуПерсональныхДанных, "<ФИО ответственного лица>")); + ОбщиеДанные.Вставить("ДатаСогласия", ?(ЗначениеЗаполнено(ДатаСогласия), Формат(ДатаСогласия, "ДЛФ=DD"), НСтр("ru = '«____»_______________20___г.'"))); + ОбщиеДанные.Вставить("Организация", ?(ЗначениеЗаполнено(Организация), Организация, НСтр("ru = '<Организация>'"))); + ОбщиеДанные.Вставить("АдресОрганизации", ?(ЗначениеЗаполнено(АдресОрганизации), АдресОрганизации, НСтр("ru = '<Адрес организации>'"))); + ОбщиеДанные.Вставить("ОтветственныйЗаОбработкуПерсональныхДанных", ?(ЗначениеЗаполнено(ОтветственныйЗаОбработкуПерсональныхДанных), ОтветственныйЗаОбработкуПерсональныхДанных, НСтр("ru = '<ФИО ответственного лица>'"))); Субъекты = Новый Массив; Если ВариантПечатиСогласия = "ВыводитьБланк" Тогда - Субъекты.Добавить(Новый Структура("ФИО, Адрес, ПаспортныеДанные", "<ФИО субъекта>", "<Адрес субъекта>", "<Паспортные данные субъекта>")); + Субъекты.Добавить(Новый Структура("ФИО, Адрес, ПаспортныеДанные", НСтр("ru = '<ФИО субъекта>'"), НСтр("ru = '<Адрес субъекта>'"), НСтр("ru = '<Паспортные данные субъекта>'"))); Иначе Для Каждого Субъект Из СубъектыПерсональныхДанных Цикл ДанныеСубъекта = Новый Структура("ФИО, Адрес, ПаспортныеДанные"); diff --git a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Help/ru.html b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Help/ru.html new file mode 100644 index 000000000..a75411af7 --- /dev/null +++ b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/Help/ru.html @@ -0,0 +1,22 @@ + +

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

                                    +

                                    Федеральный закон от 27.06.2006 № 152-Ф3 "О персональных данных" предписывает со всех субъектов, чьи персональные данные в программе обрабатываются, получить согласие на такую обработку.

                                    +

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

                                    +

                                    Оператор персональных данных

                                    +
                                    • Заполните Дату согласия. +
                                    • В поле Организация выберите из списка наименование организации - оператора персональных данных. +
                                    • Поле Адрес заполняется автоматически, если оно заполнено в списке Организации. Если оно не заполнено, можно заполнить его вручную или (при наличии соответствующих прав) заполнить адрес в карточке Организации и выбрать ее из списка повторно, для того чтобы поле Адрес заполнилось автоматически. +
                                    • В поле Ответственный за обработку ПДн напишите ФИО сотрудника, который вводит личные данные.

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

                                    +

                                    Печать формы для новых сотрудников

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

                                    Печать формы с использованием данных программы

                                    +
                                    • В случае если персональные данные субъектов уже существуют в программе, кадровик выбирает из списка тех субъектов персональных данных, от которых нужно получить согласие, выводит печатные формы согласия. При этом в форме будут заполнены все данные, как организации, так и субъектов персональных данных. +
                                    • Для печати формы Согласие на обработку персональных данных на каждого субъекта персональных данных необходимо в соответствующей строке списка или в одном из элементов списка воспользоваться командой Еще - Согласие на обработку персональных данных. +
                                    • Для того чтобы распечатать форму согласия для физических лиц, данные о которых есть в программе, переключатель Персональные данные субъекта переключите в положение будут использованы из информационной базы, при этом имеющиеся в программе данные по выделенным в списке субъектам будут помещены в табличную часть. +
                                    • Для печати формы на несколько элементов списка (например, сотрудников одной организации) выделите несколько записей с помощью левой кнопки мыши и клавиш Ctrl или Shift. +
                                    • Если было выделено несколько записей списка, то их данными заполняется табличная часть документа. Можно уточнить недостающие в таблице данные по каждому субъекту (Адрес и Паспортные данные). +
                                    • При необходимости внесите в список недостающие записи с помощью кнопки Добавить, напишите данные вручную. +
                                    • Если список в табличной части содержит несколько человек, то в этом случае количество сформированных печатных форм будет равно количеству строк в табличной части (для каждого элемента списка будет сформирована своя форма).

                                    Печать формы согласия

                                    +
                                    • Для печати формы в виде табличных документов формата .mxl нажмите кнопку Печать, далее укажите нужное количество копий, нажмите кнопку Печать. +
                                    • Для печати в формате Microcoft Word или OpenOffice.org Writer используйте соответствующие кнопки. Необходимо иметь в виду, что на компьютере должно быть установлено соответствующее приложение.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/ManagerModule.bsl b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/ManagerModule.bsl index a700e246d..283b82ae1 100644 --- a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/ManagerModule.bsl +++ b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/ManagerModule.bsl @@ -20,7 +20,7 @@ Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СогласиеНаОбработкуПерсональныхДанных") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, - "СогласиеНаОбработкуПерсональныхДанных", "Согласие на обработку персональных данных", + "СогласиеНаОбработкуПерсональныхДанных", НСтр("ru = 'Согласие на обработку персональных данных'"), ПечатьСогласияНаОбработкуПДн(ПараметрыПечати.ДанныеПечатиСогласия, ОбъектыПечати), , "Обработка.СогласиеНаОбработкуПерсональныхДанных.ПФ_MXL_СогласиеНаОбработкуПерсональныхДанных"); КонецЕсли; @@ -71,7 +71,7 @@ ОбластиМакета.Вставить(ИмяОбласти, ОбластьМакета); КонецЦикла; - // Вывод согласий субъектов + // Вывод форм для субъектов ПервыйДокумент = Истина; Для Каждого Субъект Из Субъекты Цикл Если Не ПервыйДокумент Тогда diff --git a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/СогласиеНаОбработкуПерсональныхДанных.mdo b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/СогласиеНаОбработкуПерсональныхДанных.mdo index 713a6b31d..c4beda2ca 100644 --- a/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/СогласиеНаОбработкуПерсональныхДанных.mdo +++ b/SSL/src/DataProcessors/СогласиеНаОбработкуПерсональныхДанных/СогласиеНаОбработкуПерсональныхДанных.mdo @@ -10,6 +10,12 @@ Согласие на обработку персональных данных (в соответствии с требованиями 152-ФЗ)
                                    DataProcessor.СогласиеНаОбработкуПерсональныхДанных.Form.Форма + true + + + ru + + Форма diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/НастройкаСортировки/Form.form b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/НастройкаСортировки/Form.form index d04b7139e..c7ee52974 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/НастройкаСортировки/Form.form +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/НастройкаСортировки/Form.form @@ -36,6 +36,7 @@ ТаблицаСортировки.Использование + None ТаблицаСортировкиИспользованиеExtendedTooltip 17 @@ -103,6 +104,10 @@ ТаблицаСортировкиНаправлениеСортировки 8 + + <key>ru</key> + <value>Сортировка</value> + true true diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/РезультатАвтоматическогоСопоставления/Form.form b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/РезультатАвтоматическогоСопоставления/Form.form index 69b60addf..1872e5ee8 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/РезультатАвтоматическогоСопоставления/Form.form +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/РезультатАвтоматическогоСопоставления/Form.form @@ -129,6 +129,7 @@ Объект.ТаблицаАвтоматическиСопоставленныхОбъектов.Пометка + None ТаблицаАвтоматическиСопоставленныхОбъектовПометкаExtendedTooltip 157 @@ -727,10 +728,10 @@ ТаблицаАвтоматическиСопоставленныхОбъектовСтрокаПоиска - 200 + 206 ТаблицаАвтоматическиСопоставленныхОбъектовСтрокаПоискаРасширеннаяПодсказка - 202 + 208 Label true true @@ -740,7 +741,7 @@ ТаблицаАвтоматическиСопоставленныхОбъектовСтрокаПоискаКонтекстноеМеню - 201 + 207 true ТаблицаАвтоматическиСопоставленныхОбъектов @@ -750,10 +751,10 @@ ТаблицаАвтоматическиСопоставленныхОбъектовСостояниеПросмотра - 203 + 209 ТаблицаАвтоматическиСопоставленныхОбъектовСостояниеПросмотраРасширеннаяПодсказка - 205 + 211 Label true true @@ -763,7 +764,7 @@ ТаблицаАвтоматическиСопоставленныхОбъектовСостояниеПросмотраКонтекстноеМеню - 204 + 210 true ViewStatusAddition @@ -774,10 +775,10 @@ ТаблицаАвтоматическиСопоставленныхОбъектовУправлениеПоиском - 206 + 212 ТаблицаАвтоматическиСопоставленныхОбъектовУправлениеПоискомРасширеннаяПодсказка - 208 + 214 Label true true @@ -787,7 +788,7 @@ ТаблицаАвтоматическиСопоставленныхОбъектовУправлениеПоискомКонтекстноеМеню - 207 + 213 true SearchControlAddition @@ -1152,7 +1153,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -1370,6 +1371,37 @@ Auto + + Декорация1 + 200 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 202 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 201 + true + + Label + true + true + true + + Left + + true true @@ -1396,7 +1428,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -1665,6 +1697,37 @@ Auto
                                    + + Декорация2 + 203 + true + true + + true + + + Декорация2РасширеннаяПодсказка + 205 + Label + true + true + + Left + + + + Декорация2КонтекстноеМеню + 204 + true + + Label + true + true + true + + Left + + true true @@ -1691,7 +1754,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -1822,6 +1885,7 @@ OnCreateAtServer ПриСозданииНаСервере
                                    + 70 LockOwner true true diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Form.form b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Form.form index 5d4bc704f..a7d86f199 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Form.form +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Form.form @@ -722,14 +722,13 @@ true PictureField - true DontShow Auto Left + 2 true true - true true CommonPicture.КоллекцияКартинокСопоставлениеОбъектов @@ -1050,9 +1049,9 @@ Auto Left + 2 true true - true true CommonPicture.КоллекцияКартинокСопоставлениеОбъектов @@ -1347,6 +1346,10 @@ Selection ТаблицаСопоставленияВыбор + + BeforeRowChange + ТаблицаСопоставленияПередНачаломИзменения + ТаблицаСопоставленияСтрокаПоиска 411 @@ -1965,7 +1968,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -2209,7 +2212,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -2581,6 +2584,7 @@ Retry SaveValues Yes + 70 LockOwner true true diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Module.bsl index ea3fbfa0d..9af2b6b37 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Module.bsl +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Forms/Форма/Module.bsl @@ -77,9 +77,15 @@ // Умолчания ОтборПоСтатусуСопоставления = "НесопоставленныеОбъекты"; - + // Установка заголовка формы - ПредставлениеДанных = Строка(Метаданные.НайтиПоТипу(Тип(Объект.ТипПриемникаСтрокой))); + Синоним = Неопределено; + Параметры.Свойство("Синоним", Синоним); + Если ПустаяСтрока(Синоним) Тогда + ПредставлениеДанных = Строка(Метаданные.НайтиПоТипу(Тип(Объект.ТипПриемникаСтрокой))); + Иначе + ПредставлениеДанных = Синоним; + КонецЕсли; Заголовок = НСтр("ru = 'Сопоставление данных ""[ПредставлениеДанных]""'"); Заголовок = СтрЗаменить(Заголовок, "[ПредставлениеДанных]", ПредставлениеДанных); @@ -314,11 +320,16 @@ Процедура ТаблицаСопоставленияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) УстановитьСвязьИнтерактивно(); - СтандартнаяОбработка = Ложь; КонецПроцедуры +&НаКлиенте +Процедура ТаблицаСопоставленияПередНачаломИзменения(Элемент, Отказ) + Отказ = Истина; + УстановитьСвязьИнтерактивно(); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Help/ru.html b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Help/ru.html index 86b327a5f..3fde122f5 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Help/ru.html +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/Help/ru.html @@ -1,4 +1,4 @@ - +

                                    Предназначена для сопоставления данных двух программ.

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

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

                                    diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ManagerModule.bsl b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ManagerModule.bsl index b54447cd0..1add678d5 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ManagerModule.bsl +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ManagerModule.bsl @@ -1,11 +1,17 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +#Область СлужебныйПрограммныйИнтерфейс + +// Для внутреннего использования. +// Процедура ВыполнитьСопоставлениеОбъектов(Параметры, АдресВременногоХранилища) Экспорт ПоместитьВоВременноеХранилище(РезультатСопоставленияОбъектов(Параметры), АдресВременногоХранилища); КонецПроцедуры +// Для внутреннего использования. +// Функция РезультатСопоставленияОбъектов(Параметры) Экспорт СопоставлениеОбъектов = Обработки.СопоставлениеОбъектовИнформационныхБаз.Создать(); @@ -68,14 +74,16 @@ Возврат Результат; КонецФункции +// Для внутреннего использования. // - Процедура ВыполнитьАвтоматическоеСопоставлениеОбъектов(Параметры, АдресВременногоХранилища) Экспорт ПоместитьВоВременноеХранилище(РезультатАвтоматическогоСопоставленияОбъектов(Параметры), АдресВременногоХранилища); КонецПроцедуры +// Для внутреннего использования. +// Функция РезультатАвтоматическогоСопоставленияОбъектов(Параметры) Экспорт СопоставлениеОбъектов = Обработки.СопоставлениеОбъектовИнформационныхБаз.Создать(); @@ -108,4 +116,6 @@ Возврат Результат; КонецФункции +#КонецОбласти + #КонецЕсли diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ObjectModule.bsl b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ObjectModule.bsl index 0836a0453..6f1d10915 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ObjectModule.bsl +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/ObjectModule.bsl @@ -20,7 +20,7 @@ // - несопоставленные объекты приемника (этой базы) // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры // Процедура ВыполнитьСопоставлениеОбъектов(Отказ) Экспорт @@ -36,9 +36,9 @@ // Формирует таблицу автоматического сопоставления для вывода пользователю. // // Параметры: -// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры -// СписокПолейСопоставления - СписокЗначений - список значений с полями, -// по которым необходимо выполнить сопоставление объектов +// Отказ - Булево - флаг отказа; поднимается в случае возникновения ошибок при работе процедуры +// СписокПолейСопоставления - СписокЗначений - список значений с полями, +// по которым необходимо выполнить сопоставление объектов // Процедура ВыполнитьАвтоматическоеСопоставлениеОбъектов(Отказ, СписокПолейСопоставления) Экспорт @@ -52,7 +52,7 @@ // Список полей сопоставления равен списку используемых полей // // Параметры: -// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки +// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки // Процедура ВыполнитьАвтоматическоеСопоставлениеПоУмолчанию(Отказ) Экспорт @@ -73,7 +73,7 @@ // Записи хранятся в РС СоответствияОбъектовИнформационныхБаз. // // Параметры: -// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки +// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки // Процедура ПрименитьТаблицуНеутвержденныхЗаписей(Отказ) Экспорт @@ -113,7 +113,7 @@ // Инициализируется свойство ДайджестСопоставления() // // Параметры: -// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки +// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки // Процедура ПолучитьИнформациюДайджестаСопоставленияОбъектов(Отказ) Экспорт @@ -143,8 +143,8 @@ // Выполняет загрузку данных из файла сообщения обмена в Информационную Базу только заданных типов объектов // // Параметры: -// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки -// ТаблицыДляЗагрузки - Массив - массив типов, которые необходимо загрузить из сообщения обмена; элемент массива - Строка +// Отказ - Булево - флаг отказа от обработки; поднимается в случае возникновения ошибки +// ТаблицыДляЗагрузки - Массив - массив типов, которые необходимо загрузить из сообщения обмена; элемент массива - Строка // Процедура ВыполнитьЗагрузкуДанныхВИнформационнуюБазу(Отказ, ТаблицыДляЗагрузки) Экспорт @@ -178,9 +178,6 @@ // Конструктор обработки // -// Параметры: -// Нет. -// Процедура Конструктор() Экспорт // заполняем список полей таблицы; из этих полей можно выбирать поля для сопоставления и отображения (поля поиска) @@ -248,7 +245,7 @@ // Таблица сопоставления объектов // // Возвращаемое значение: -// ТаблицаЗначений - Таблица сопоставления объектов. +// ТаблицаЗначений - Таблица сопоставления объектов. // Функция ТаблицаСопоставления() Экспорт @@ -268,7 +265,7 @@ // Количество объектов текущего типа данных в файле сообщения обмена // // Возвращаемое значение: -// Число - количество объектов текущего типа данных в файле сообщения обмена. +// Число - количество объектов текущего типа данных в файле сообщения обмена. // Функция КоличествоОбъектовВИсточнике() Экспорт @@ -279,7 +276,7 @@ // Количество объектов текущего типа данных в этой информационной базе // // Возвращаемое значение: -// Число - Количество объектов текущего типа данных в этой информационной базе. +// Число - Количество объектов текущего типа данных в этой информационной базе. // Функция КоличествоОбъектовВПриемнике() Экспорт @@ -290,7 +287,7 @@ // Количество объектов, которые сопоставлены для текущего типа данных // // Возвращаемое значение: -// Число - Количество объектов, которые сопоставлены для текущего типа данных. +// Число - Количество объектов, которые сопоставлены для текущего типа данных. // Функция КоличествоОбъектовСопоставленных() Экспорт @@ -301,7 +298,7 @@ // Количество объектов, которые не сопоставлены для текущего типа данных // // Возвращаемое значение: -// Число - Количество объектов, которые не сопоставлены для текущего типа данных. +// Число - Количество объектов, которые не сопоставлены для текущего типа данных. // Функция КоличествоОбъектовНесопоставленных() Экспорт @@ -312,7 +309,7 @@ // Процент сопоставления объектов для текущего типа данных // // Возвращаемое значение: -// Число - процент сопоставления объектов для текущего типа данных. +// Число - процент сопоставления объектов для текущего типа данных. // Функция ПроцентСопоставленияОбъектов() Экспорт @@ -1482,39 +1479,25 @@ Функция ОбъединитьТаблицыНеутвержденныхСвязейИАвтоматическогоСопоставления(МенеджерВременныхТаблиц) ТекстЗапроса = " - |ВЫБРАТЬ - | + |ВЫБРАТЬ РАЗЛИЧНЫЕ | // {ДАННЫЕ РЕГИСТРА СОПОСТАВЛЕНИЯ} | УникальныйИдентификаторИсточника, | УникальныйИдентификаторПриемника, | ТипИсточника, | ТипПриемника |ИЗ - | ( - | ВЫБРАТЬ + | ТаблицаНеутвержденныхСвязей | - | // {ДАННЫЕ РЕГИСТРА СОПОСТАВЛЕНИЯ} - | УникальныйИдентификаторИсточника, - | УникальныйИдентификаторПриемника, - | ТипИсточника, - | ТипПриемника - | ИЗ - | ТаблицаНеутвержденныхСвязей - | - | ОБЪЕДИНИТЬ - | - | ВЫБРАТЬ - | - | // {ДАННЫЕ РЕГИСТРА СОПОСТАВЛЕНИЯ} - | УникальныйИдентификаторПриемника КАК УникальныйИдентификаторИсточника, - | УникальныйИдентификаторИсточника КАК УникальныйИдентификаторПриемника, - | ТипПриемника КАК ТипИсточника, - | ТипИсточника КАК ТипПриемника - | ИЗ - | ТаблицаАвтоматическиСопоставленныхОбъектов - | - | ) КАК ВложенныйЗапрос + |ОБЪЕДИНИТЬ | + |ВЫБРАТЬ + | // {ДАННЫЕ РЕГИСТРА СОПОСТАВЛЕНИЯ} + | УникальныйИдентификаторПриемника КАК УникальныйИдентификаторИсточника, + | УникальныйИдентификаторИсточника КАК УникальныйИдентификаторПриемника, + | ТипПриемника КАК ТипИсточника, + | ТипИсточника КАК ТипПриемника + |ИЗ + | ТаблицаАвтоматическиСопоставленныхОбъектов |"; Запрос = Новый Запрос; diff --git a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/СопоставлениеОбъектовИнформационныхБаз.mdo b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/СопоставлениеОбъектовИнформационныхБаз.mdo index c5162d50f..ca24c93ba 100644 --- a/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/СопоставлениеОбъектовИнформационныхБаз.mdo +++ b/SSL/src/DataProcessors/СопоставлениеОбъектовИнформационныхБаз/СопоставлениеОбъектовИнформационныхБаз.mdo @@ -11,6 +11,7 @@ true DataProcessor.СопоставлениеОбъектовИнформационныхБаз.Form.Форма + true ru diff --git a/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Form.form b/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Form.form index 0d04fe22e..4bbf768a1 100644 --- a/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Form.form +++ b/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Form.form @@ -4,6 +4,41 @@ ru Архив анкет + + ГруппаПользовательскихНастроек + 21 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + ОтвеченныеАнкеты 1 @@ -217,10 +252,10 @@ ОтвеченныеАнкетыСтрокаПоиска - 21 + 23 ОтвеченныеАнкетыСтрокаПоискаРасширеннаяПодсказка - 23 + 25 Label true true @@ -230,7 +265,7 @@ ОтвеченныеАнкетыСтрокаПоискаКонтекстноеМеню - 22 + 24 true ОтвеченныеАнкеты @@ -240,10 +275,10 @@ ОтвеченныеАнкетыСостояниеПросмотра - 24 + 26 ОтвеченныеАнкетыСостояниеПросмотраРасширеннаяПодсказка - 26 + 28 Label true true @@ -253,7 +288,7 @@ ОтвеченныеАнкетыСостояниеПросмотраКонтекстноеМеню - 25 + 27 true ViewStatusAddition @@ -264,10 +299,10 @@ ОтвеченныеАнкетыУправлениеПоиском - 27 + 29 ОтвеченныеАнкетыУправлениеПоискомРасширеннаяПодсказка - 29 + 31 Label true true @@ -277,7 +312,7 @@ ОтвеченныеАнкетыУправлениеПоискомКонтекстноеМеню - 28 + 30 true SearchControlAddition @@ -342,6 +377,7 @@ true true + ГруппаПользовательскихНастроек
                                    @@ -365,7 +401,7 @@ Retry SaveValues Yes - LockOwner + DontBlock true true Vertical diff --git a/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Help/ru.html b/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Help/ru.html new file mode 100644 index 000000000..4a56a0a12 --- /dev/null +++ b/SSL/src/DataProcessors/СписокРеспондента/Forms/АрхивАнкет/Help/ru.html @@ -0,0 +1,10 @@ + +

                                    Предназначен для просмотра анкет, работа над которыми была завершена.

                                    +

                                    Открывается с рабочего стола респондента по команде Архив анкет.

                                    +

                                    В списке отображаются анкеты, у которых составитель установил флажок Показывать в архиве анкет.

                                    +

                                    В списке выводится:

                                    +
                                    • Анкета - наименование анкеты; +
                                    • Дата заполнения - дата и время окончания работы над анкетой.

                                    Просмотр анкеты

                                    +
                                    • Для просмотра анкеты выделите ее в списке, нажмите Выбрать. +
                                    • Также можно воспользоваться двойным щелчком мыши.

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/СписокРеспондента/Help/ru.html b/SSL/src/DataProcessors/СписокРеспондента/Help/ru.html new file mode 100644 index 000000000..4ba6c2b41 --- /dev/null +++ b/SSL/src/DataProcessors/СписокРеспондента/Help/ru.html @@ -0,0 +1,7 @@ + +

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

                                    +

                                    После входа в программу респондента для него открывается список Доступные анкеты. В списке выводятся наименования анкет.

                                    +

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

                                    +

                                    Ранее заполненные анкеты респондент может посмотреть по команде Архив анкет.

                                    +

                                    См. также:

                                    + \ No newline at end of file diff --git a/SSL/src/DataProcessors/СписокРеспондента/СписокРеспондента.mdo b/SSL/src/DataProcessors/СписокРеспондента/СписокРеспондента.mdo index fbe0b28ec..0822e1ab2 100644 --- a/SSL/src/DataProcessors/СписокРеспондента/СписокРеспондента.mdo +++ b/SSL/src/DataProcessors/СписокРеспондента/СписокРеспондента.mdo @@ -11,6 +11,11 @@ true DataProcessor.СписокРеспондента.Form.Форма + + + ru + + Респондент @@ -41,6 +46,11 @@ ru Архив анкет + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Form.form b/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Form.form new file mode 100644 index 000000000..13f41b5af --- /dev/null +++ b/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Form.form @@ -0,0 +1,1034 @@ + + + + СтраницыНастроек + 1 + + СтраницаОтображаемыеДела + 3 + + ДеревоОтображаемыхДел + 7 + true + true + + true + + + ДеревоОтображаемыхДел + + None + + ГруппаПометкаНазвание + 17 + + ДеревоОтображаемыхДелПометка + 14 + true + true + + true + + + ДеревоОтображаемыхДел.Пометка + + None + + ДеревоОтображаемыхДелПометкаРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелПометкаКонтекстноеМеню + 15 + true + + CheckBoxField + Auto + true + Left + true + + + + ДеревоОтображаемыхДелПредставление + 34 + true + true + + true + + + ДеревоОтображаемыхДел.Представление + + + ДеревоОтображаемыхДелПредставлениеРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелПредставлениеКонтекстноеМеню + 35 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + None + + ГруппаПометкаНазваниеРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + ДеревоОтображаемыхДелКоманднаяПанель + 9 + + ДеревоОтображаемыхДелУстановитьФлажки + 19 + true + true + + true + + + ДеревоОтображаемыхДелУстановитьФлажкиРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + Form.Command.УстановитьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + ДеревоОтображаемыхДелСнятьФлажки + 21 + true + true + + true + + + ДеревоОтображаемыхДелСнятьФлажкиРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + Form.Command.СнятьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + ДеревоОтображаемыхДелПереместитьВверх + 23 + true + true + + true + + + ДеревоОтображаемыхДелПереместитьВверхРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + Form.Command.ПереместитьВверх + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ДеревоОтображаемыхДелПереместитьВниз + 25 + true + true + + true + + + ДеревоОтображаемыхДелПереместитьВнизРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + Form.Command.ПереместитьВниз + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + Left + + + OnChange + ДеревоОтображаемыхДелПриИзменении + + + ДеревоОтображаемыхДелСтрокаПоиска + 51 + + ДеревоОтображаемыхДелСтрокаПоискаРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелСтрокаПоискаКонтекстноеМеню + 52 + true + + ДеревоОтображаемыхДел + + true + + + + ДеревоОтображаемыхДелСостояниеПросмотра + 54 + + ДеревоОтображаемыхДелСостояниеПросмотраРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелСостояниеПросмотраКонтекстноеМеню + 55 + true + + ViewStatusAddition + ДеревоОтображаемыхДел + + true + + + + ДеревоОтображаемыхДелУправлениеПоиском + 57 + + ДеревоОтображаемыхДелУправлениеПоискомРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелУправлениеПоискомКонтекстноеМеню + 58 + true + + SearchControlAddition + ДеревоОтображаемыхДел + + true + + + + ДеревоОтображаемыхДелРасширеннаяПодсказка + 10 + Label + true + true + + Left + + + + ДеревоОтображаемыхДелКонтекстноеМеню + 8 + true + + Tree + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + ExpandAllLevels + true + true + None + None + None + true + + + ТолькоВажныеДела + 31 + true + + true + + + ТолькоВажныеДела + + Right + + ТолькоВажныеДелаРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + ТолькоВажныеДелаКонтекстноеМеню + 32 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Отображаемые дела</value> + + + СтраницаОтображаемыеДелаРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаДругое + 5 + + ГруппаАвтообновление + 40 + + ИспользоватьАвтообновление + 45 + true + true + + true + + + ИспользоватьАвтообновление + + Right + + ИспользоватьАвтообновлениеРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + + ИспользоватьАвтообновлениеКонтекстноеМеню + 46 + true + + CheckBoxField + Enter + true + Left + true + + + + ПериодОбновления + 42 + true + true + + true + + + ПериодОбновления + + None + + ПериодОбновленияРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + + ПериодОбновленияКонтекстноеМеню + 43 + true + + InputField + Enter + true + Left + true + + 4 + true + true + true + true + true + true + true + + + ru + 5 + + + 5 + + + + + ru + 10 + + + 10 + + + + + ru + 30 + + + 30 + + + Normal + + + + Надпись + 48 + + <key>ru</key> + <value>минут</value> + + true + true + + true + + + НадписьРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + + НадписьКонтекстноеМеню + 49 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа автообновление</value> + + + ru + Группа автообновление + + false + + ГруппаАвтообновлениеРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Другое</value> + + + СтраницаДругоеРасширеннаяПодсказка + 6 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + СтраницыНастроекРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Pages + + TabsOnTop + Auto + + + Bottom + true + + ФормаКоманднаяПанель + -1 + + ФормаКнопкаОК + 27 + true + true + + true + + + ФормаКнопкаОКРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + Form.Command.КнопкаОК + Auto + true + true + true + UserCmds + Auto + + + ФормаКнопкаОтмена + 29 + true + true + + true + + + ФормаКнопкаОтменаРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + Form.Command.КнопкаОтмена + Normal + Auto + true + true + UserCmds + Auto + + Right + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + ДеревоОтображаемыхДел + + <key>ru</key> + <value>Дерево отображаемых дел</value> + + 1 + + ValueTree + + + true + + + true + + + Представление + + <key>ru</key> + <value>Представление</value> + + 1 + + String + + + + true + + + true + + + + ЭтоРаздел + + <key>ru</key> + <value>Это раздел</value> + + 2 + + Boolean + + + true + + + true + + + + Пометка + + <key>ru</key> + <value>Пометка</value> + + 3 + + Boolean + + + true + + + true + + + + Идентификатор + + <key>ru</key> + <value>Идентификатор</value> + + 4 + + String + + + + true + + + true + + + + Индекс + + <key>ru</key> + <value>Индекс</value> + + 5 + + Number + + 10 + + + + true + + + true + + + + + ТолькоВажныеДела + + <key>ru</key> + <value>Только важные дела</value> + + 2 + + Boolean + + + true + + + true + + + + ПериодОбновления + 3 + + Number + + 10 + + + + true + + + true + + + + ИспользоватьАвтообновление + + <key>ru</key> + <value>Обновлять автоматически каждые:</value> + + 4 + + Boolean + + + true + + + true + + + + АвтообновлениеВключено + + <key>ru</key> + <value>Автообновление включено</value> + + 5 + + Boolean + + + true + + + true + + + + АвтообновлениеВыключено + + <key>ru</key> + <value>Автообновление выключено</value> + + 6 + + Boolean + + + true + + + true + + + + УстановитьФлажки + + <key>ru</key> + <value>Установить флажки</value> + + 1 + + true + + + StdPicture.CheckAll + + + + УстановитьФлажки + + + Auto + Auto + + + СнятьФлажки + + <key>ru</key> + <value>Снять флажки</value> + + 2 + + true + + + StdPicture.UncheckAll + + + + СнятьФлажки + + + Auto + Auto + + + КнопкаОК + + <key>ru</key> + <value>ОК</value> + + 3 + + ru + Кнопка ОК + + + true + + + + КнопкаОК + + + Auto + Auto + + + КнопкаОтмена + + <key>ru</key> + <value>Отмена</value> + + 4 + + ru + Кнопка отмена + + + true + + + + КнопкаОтмена + + + Auto + Auto + + + ПереместитьВверх + + <key>ru</key> + <value>Переместить вверх</value> + + 5 + + true + + + StdPicture.MoveUp + + + + ПереместитьВверх + + + Auto + Auto + + + ПереместитьВниз + + <key>ru</key> + <value>Переместить вниз</value> + + 6 + + true + + + StdPicture.MoveDown + + + + ПереместитьВниз + + + Auto + Auto + + + ТекущиеДела + + String + + + + + + + + diff --git a/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Module.bsl b/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Module.bsl new file mode 100644 index 000000000..4483cd137 --- /dev/null +++ b/SSL/src/DataProcessors/ТекущиеДела/Forms/НастройкаПанели/Module.bsl @@ -0,0 +1,270 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + НастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения(); + ЗаполнитьДеревоДел(НастройкиОтображения); + УстановитьПорядокРазделов(НастройкиОтображения); + + НастройкиАвтообновления = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиАвтообновления"); + Если ТипЗнч(НастройкиАвтообновления) = Тип("Структура") Тогда + НастройкиАвтообновления.Свойство("АвтообновлениеВключено", ИспользоватьАвтообновление); + НастройкиАвтообновления.Свойство("ПериодАвтообновления", ПериодОбновления); + Иначе + ПериодОбновления = 5; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовУправленияФормы + +&НаКлиенте +Процедура ДеревоОтображаемыхДелПриИзменении(Элемент) + + Модифицированность = Истина; + Если Элемент.ТекущиеДанные.ЭтоРаздел Тогда + Для Каждого Дело Из Элемент.ТекущиеДанные.ПолучитьЭлементы() Цикл + Дело.Пометка = Элемент.ТекущиеДанные.Пометка; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура КнопкаОК(Команда) + + СохранитьНастройки(); + + Если АвтообновлениеВключено Тогда + Оповестить("ТекущиеДела_ВключеноАвтообновление"); + ИначеЕсли АвтообновлениеВыключено Тогда + Оповестить("ТекущиеДела_ВыключеноАвтообновление"); + КонецЕсли; + + Закрыть(Модифицированность); + +КонецПроцедуры + +&НаКлиенте +Процедура КнопкаОтмена(Команда) + Закрыть(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВверх(Команда) + + Модифицированность = Истина; + // Перемещение текущей строки на 1 позицию вверх. + ТекущаяСтрокаДерева = Элементы.ДеревоОтображаемыхДел.ТекущиеДанные; + + Если Не ТекущаяСтрокаДерева.ЭтоРаздел Тогда + Возврат; + КонецЕсли; + + ИндексТекущейСтроки = ТекущаяСтрокаДерева.Индекс; + Если ИндексТекущейСтроки = 0 Тогда + Возврат; // Текущая строка вверху списка, не перемещаем. + КонецЕсли; + РазделыДерева = ДеревоОтображаемыхДел.ПолучитьЭлементы(); + РазделыДерева.Сдвинуть(ТекущаяСтрокаДерева.Индекс, -1); + ТекущаяСтрокаДерева.Индекс = ИндексТекущейСтроки - 1; + // Изменение индекса предыдущей строки. + ПредыдущаяСтрока = РазделыДерева.Получить(ИндексТекущейСтроки); + ПредыдущаяСтрока.Индекс = ИндексТекущейСтроки; + +КонецПроцедуры + +&НаКлиенте +Процедура ПереместитьВниз(Команда) + + Модифицированность = Истина; + // Перемещение текущей строки на 1 позицию вниз. + ТекущаяСтрокаДерева = Элементы.ДеревоОтображаемыхДел.ТекущиеДанные; + + Если Не ТекущаяСтрокаДерева.ЭтоРаздел Тогда + Возврат; + КонецЕсли; + + ИндексТекущейСтроки = ТекущаяСтрокаДерева.Индекс; + РазделыДерева = ДеревоОтображаемыхДел.ПолучитьЭлементы(); + Если ИндексТекущейСтроки = (РазделыДерева.Количество() -1) Тогда + Возврат; // Текущая строка внизу списка, не перемещаем. + КонецЕсли; + РазделыДерева.Сдвинуть(ТекущаяСтрокаДерева.Индекс, 1); + ТекущаяСтрокаДерева.Индекс = ИндексТекущейСтроки + 1; + // Изменение индекса следующей строки. + СледующаяСтрока = РазделыДерева.Получить(ИндексТекущейСтроки); + СледующаяСтрока.Индекс = ИндексТекущейСтроки; + +КонецПроцедуры + +&НаКлиенте +Процедура СнятьФлажки(Команда) + + Модифицированность = Истина; + Для Каждого СтрокаРаздела Из ДеревоОтображаемыхДел.ПолучитьЭлементы() Цикл + СтрокаРаздела.Пометка = Ложь; + Для Каждого СтрокаДела Из СтрокаРаздела.ПолучитьЭлементы() Цикл + СтрокаДела.Пометка = Ложь; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьФлажки(Команда) + + Модифицированность = Истина; + Для Каждого СтрокаРаздела Из ДеревоОтображаемыхДел.ПолучитьЭлементы() Цикл + СтрокаРаздела.Пометка = Истина; + Для Каждого СтрокаДела Из СтрокаРаздела.ПолучитьЭлементы() Цикл + СтрокаДела.Пометка = Истина; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ЗаполнитьДеревоДел(НастройкиОтображения) + + ТекущиеДела = ПолучитьИзВременногоХранилища(Параметры.ТекущиеДела); + ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел"); + ТекущийРаздел = ""; + Индекс = 0; + + Для Каждого Дело Из ТекущиеДела Цикл + + Если Дело.ЭтоРаздел + И ТекущийРаздел <> Дело.ИдентификаторВладельца Тогда + СтрокаДерева = ДеревоДел.Строки.Добавить(); + СтрокаДерева.Представление = Дело.ПредставлениеРаздела; + СтрокаДерева.Идентификатор = Дело.ИдентификаторВладельца; + СтрокаДерева.ЭтоРаздел = Истина; + СтрокаДерева.Пометка = Истина; + СтрокаДерева.Индекс = Индекс; + + Если НастройкиОтображения <> Неопределено Тогда + ВидимостьРаздела = НастройкиОтображения.ВидимостьРазделов[СтрокаДерева.Идентификатор]; + Если ВидимостьРаздела <> Неопределено Тогда + СтрокаДерева.Пометка = ВидимостьРаздела; + КонецЕсли; + КонецЕсли; + Индекс = Индекс + 1; + + ИначеЕсли Не Дело.ЭтоРаздел Тогда + Продолжить; + КонецЕсли; + + СтрокаДела = СтрокаДерева.Строки.Добавить(); + СтрокаДела.Представление = Дело.Представление; + СтрокаДела.Идентификатор = Дело.Идентификатор; + СтрокаДела.ЭтоРаздел = Ложь; + СтрокаДела.Пометка = Истина; + + Если НастройкиОтображения <> Неопределено Тогда + ВидимостьДела = НастройкиОтображения.ВидимостьДел[СтрокаДела.Идентификатор]; + Если ВидимостьДела <> Неопределено Тогда + СтрокаДела.Пометка = ВидимостьДела; + КонецЕсли; + КонецЕсли; + + ТекущийРаздел = Дело.ИдентификаторВладельца; + + КонецЦикла; + + ЗначениеВРеквизитФормы(ДеревоДел, "ДеревоОтображаемыхДел"); + +КонецПроцедуры + +&НаСервере +Процедура СохранитьНастройки() + + СтарыеНастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); + СвернутыеРазделы = Неопределено; + Если ТипЗнч(СтарыеНастройкиОтображения) = Тип("Структура") Тогда + СтарыеНастройкиОтображения.Свойство("СвернутыеРазделы", СвернутыеРазделы); + КонецЕсли; + + Если СвернутыеРазделы = Неопределено Тогда + СвернутыеРазделы = Новый Соответствие; + КонецЕсли; + + // Сохранение положения и видимости разделов. + ВидимостьРазделов = Новый Соответствие; + ВидимостьДел = Новый Соответствие; + + ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел"); + Для Каждого Раздел Из ДеревоДел.Строки Цикл + ВидимостьРазделов.Вставить(Раздел.Идентификатор, Раздел.Пометка); + Для Каждого Дело Из Раздел.Строки Цикл + ВидимостьДел.Вставить(Дело.Идентификатор, Дело.Пометка); + КонецЦикла; + КонецЦикла; + + Результат = Новый Структура; + Результат.Вставить("ДеревоДел", ДеревоДел); + Результат.Вставить("ВидимостьРазделов", ВидимостьРазделов); + Результат.Вставить("ВидимостьДел", ВидимостьДел); + Результат.Вставить("СвернутыеРазделы", СвернутыеРазделы); + + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "НастройкиОтображения", Результат); + + // Сохранение настроек автообновления. + НастройкиАвтообновления = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиАвтообновления"); + + Если НастройкиАвтообновления = Неопределено Тогда + НастройкиАвтообновления = Новый Структура; + Иначе + Если ИспользоватьАвтообновление Тогда + АвтообновлениеВключено = НастройкиАвтообновления.АвтообновлениеВключено <> ИспользоватьАвтообновление; + Иначе + АвтообновлениеВыключено = НастройкиАвтообновления.АвтообновлениеВключено <> ИспользоватьАвтообновление; + КонецЕсли; + КонецЕсли; + + НастройкиАвтообновления.Вставить("АвтообновлениеВключено", ИспользоватьАвтообновление); + НастройкиАвтообновления.Вставить("ПериодАвтообновления", ПериодОбновления); + + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "НастройкиАвтообновления", НастройкиАвтообновления); + +КонецПроцедуры + +&НаСервере +Процедура УстановитьПорядокРазделов(НастройкиОтображения) + + Если НастройкиОтображения = Неопределено Тогда + Возврат; + КонецЕсли; + + ДеревоДел = РеквизитФормыВЗначение("ДеревоОтображаемыхДел"); + Разделы = ДеревоДел.Строки; + СохраненноеДеревоДел = НастройкиОтображения.ДеревоДел; + Для Каждого СтрокаРаздела Из Разделы Цикл + СохраненныйРаздел = СохраненноеДеревоДел.Строки.Найти(СтрокаРаздела.Идентификатор, "Идентификатор"); + Если СохраненныйРаздел = Неопределено Тогда + Продолжить; + КонецЕсли; + СтрокаРаздела.Индекс = СохраненныйРаздел.Индекс; + КонецЦикла; + + Разделы.Сортировать("Индекс возр"); + ЗначениеВРеквизитФормы(ДеревоДел, "ДеревоОтображаемыхДел"); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Form.form b/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Form.form new file mode 100644 index 000000000..dea2756ec --- /dev/null +++ b/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Form.form @@ -0,0 +1,478 @@ + + + + <key>ru</key> + <value>Текущие дела</value> + + + СтраницаДела + 14 + true + + true + + + СтраницаДелаРасширеннаяПодсказка + 15 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + СтраницаДлительнаяОперация + 9 + + КартинкаДлительнаяОперация + 11 + true + true + + true + + + КартинкаДлительнаяОперацияРасширеннаяПодсказка + 13 + Label + true + true + + Left + + + + КартинкаДлительнаяОперацияКонтекстноеМеню + 12 + true + + 6 + true + 3 + true + + + CommonPicture.ДлительнаяОперация48 + + + + true + true + + true + + + СтраницаДлительнаяОперацияРасширеннаяПодсказка + 10 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + СтраницаТекущихДелНет + 16 + + КартинкаИнформация + 18 + true + true + + true + + + КартинкаИнформацияРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + + КартинкаИнформацияКонтекстноеМеню + 19 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ТекстИнформация + 21 + + <key>ru</key> + <value>Текущих дел нет.</value> + + true + true + + true + + + ТекстИнформацияРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + + ТекстИнформацияКонтекстноеМеню + 22 + true + + Label + true + 2 + true + + Left + + + true + + true + + + СтраницаТекущихДелНетРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + Bottom + true + + ФормаКоманднаяПанель + -1 + + ФормаНастроить + 1 + true + true + + true + + + ФормаНастроитьРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Form.Command.Настроить + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОбновить + 3 + true + true + + true + + + ФормаОбновитьРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + + Right + + + NotificationProcessing + ОбработкаОповещения + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + + OnClose + ПриЗакрытии + + DontBlock + true + true + Vertical + true + true + true + auto + true + + ПараметрыДел + + <key>ru</key> + <value>Параметры дел</value> + + 2 + + ValueTable + + + true + + + true + + + Идентификатор + + <key>ru</key> + <value>Идентификатор</value> + + 1 + + String + + + + true + + + true + + + + Форма + + <key>ru</key> + <value>Форма</value> + + 2 + + String + + + + true + + + true + + + + ПараметрыФормы + + <key>ru</key> + <value>Параметры формы</value> + + 3 + + + true + + + true + + + + + ТекущиеДелаВХранилище + + <key>ru</key> + <value>Текущие дела в хранилище</value> + + 1 + + String + + + + true + + + true + + + + НастройкиАвтообновления + + <key>ru</key> + <value>Настройки автообновления</value> + + 3 + + + true + + + true + + + + ИнтерфейсТакси + + <key>ru</key> + <value>Интерфейс такси</value> + + 4 + + Boolean + + + true + + + true + + + + ИдентификаторЗадания + + <key>ru</key> + <value>Идентификатор задания</value> + + 5 + + + true + + + true + + + + ТолькоОбновлениеДел + + <key>ru</key> + <value>Только обновление дел</value> + + 6 + + Boolean + + + true + + + true + + + + Настроить + + <key>ru</key> + <value>Настроить</value> + + 1 + + ru + Настроить список дел + + + true + + + CommonPicture.ПрочиеПользовательскиеНастройки + + + + Настроить + + + Text + Auto + Auto + + + Обновить + + <key>ru</key> + <value>Обновить</value> + + 2 + + ru + Обновить список дел + + + true + + + StdPicture.Refresh + + + + Обновить + + + Auto + Auto + + + + + + diff --git a/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Module.bsl b/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Module.bsl new file mode 100644 index 000000000..f0d1d8fe7 --- /dev/null +++ b/SSL/src/DataProcessors/ТекущиеДела/Forms/Форма/Module.bsl @@ -0,0 +1,760 @@ +&НаСервере +Перем ВыводимыеДелаИРазделы; + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Не ОбщегоНазначения.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка) Тогда + Возврат; + КонецЕсли; + + ИнтерфейсТакси = (ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Такси); + + ЗапуститьФоновоеЗаданиеНаСервере(); + + ЗагрузитьНастройкиАвтообновления(); + + Элементы.ФормаНастроить.Доступность = Ложь; + Элементы.ФормаОбновить.Доступность = Ложь; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", 2); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ТекущиеДела_ВключеноАвтообновление" Тогда + ЗагрузитьНастройкиАвтообновления(); + ПериодОбновления = НастройкиАвтообновления.ПериодАвтообновления * 60; + ПодключитьОбработчикОжидания("ОбновитьТекущиеДелаАвтоматически", ПериодОбновления); + ИначеЕсли ИмяСобытия = "ТекущиеДела_ВыключеноАвтообновление" Тогда + ОтключитьОбработчикОжидания("ОбновитьТекущиеДелаАвтоматически"); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии() + ДействияПриЗакрытииПанелиТекущихДел(); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовУправленияФормы + +&НаКлиенте +Процедура Подключаемый_ОбработатьНажатиеНаГиперссылку(Элемент, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ПараметрыОтбора = Новый Структура(); + ПараметрыОтбора.Вставить("Идентификатор", Элемент.Имя); + ПараметрыДела = ПараметрыДел.НайтиСтроки(ПараметрыОтбора)[0]; + + ОткрытьФорму(ПараметрыДела.Форма, ПараметрыДела.ПараметрыФормы); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ОбработкаНажатияНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ПараметрыОтбора = Новый Структура(); + ПараметрыОтбора.Вставить("Идентификатор", НавигационнаяСсылка); + ПараметрыДела = ПараметрыДел.НайтиСтроки(ПараметрыОтбора)[0]; + + ОткрытьФорму(ПараметрыДела.Форма, ПараметрыДела.ПараметрыФормы); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ОбработатьНажатиеНаКартинку(Элемент) + +#Если ВебКлиент Тогда + ПереключитьКартинкуВВебКлиенте(Элемент.Имя); + Возврат; +#КонецЕсли + + ИмяГруппыРаздела = СтрЗаменить(Элемент.Имя, "Картинка", "Группа"); + + Если Элемент.Картинка = БиблиотекаКартинок.СтрелкаВниз Тогда + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВправо; + Элементы[ИмяГруппыРаздела].Видимость = Ложь; + Иначе + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВниз; + Элементы[ИмяГруппыРаздела].Видимость = Истина; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Настроить(Команда) + + ОбработчикРезультата = Новый ОписаниеОповещения("ПрименитьНастройкиПанелиДел", ЭтотОбъект); + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ТекущиеДела", ТекущиеДелаВХранилище); + ОткрытьФорму("Обработка.ТекущиеДела.Форма.НастройкаПанели", ПараметрыФормы,,,,,ОбработчикРезультата); + +КонецПроцедуры + +&НаКлиенте +Процедура Обновить(Команда) + ЗапуститьОбновлениеСпискаТекущихДел(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +//////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции формирования списка дел пользователя + +&НаКлиенте +Процедура ОбновитьТекущиеДелаАвтоматически() + ЗапуститьОбновлениеСпискаТекущихДел(Истина); +КонецПроцедуры + +&НаСервере +Процедура ОбновитьСписокТекущихДел(ТекущиеДела) + + ТекущиеДела.Сортировать("ЭтоРаздел Убыв, ПредставлениеРаздела Возр, Важное Убыв"); + + СохраненныеНастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения(); + Если СохраненныеНастройкиОтображения = Неопределено Тогда + ЗаданнаяВидимостьРазделов = Новый Соответствие; + ЗаданнаяВидимостьДел = Новый Соответствие; + Иначе + ЗаданнаяВидимостьРазделов = СохраненныеНастройкиОтображения.ВидимостьРазделов; + ЗаданнаяВидимостьДел = СохраненныеНастройкиОтображения.ВидимостьДел; + КонецЕсли; + + ТекущийРаздел = ""; + Для Каждого Дело Из ТекущиеДела Цикл + + Если Дело.ЭтоРаздел Тогда + // Сбрасываем видимость раздела. Ее установку выполняем из самого дела. + ИмяРаздела = "ОбщаяГруппа" + Дело.ИдентификаторВладельца; + Если ИмяРаздела <> ТекущийРаздел Тогда + ЭлементРодитель = Элементы.Найти(ИмяРаздела); + Если ЭлементРодитель = Неопределено Тогда + Продолжить; + КонецЕсли; + ЭлементРодитель.Видимость = Ложь; + КонецЕсли; + // Обновление дела. + ОбновитьДело(Дело, ЭлементРодитель, ЗаданнаяВидимостьРазделов, ЗаданнаяВидимостьДел); + ТекущийРаздел = ИмяРаздела; + Иначе + // Дочерние дела создаем заново. + СоздатьДочернееДело(Дело); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ОбновитьДело(Дело, РодительДела, ЗаданнаяВидимостьРазделов, ЗаданнаяВидимостьДел) + + ВключенаВидимостьРаздела = ЗаданнаяВидимостьРазделов[Дело.ИдентификаторВладельца]; + Если ВключенаВидимостьРаздела = Неопределено Тогда + ВключенаВидимостьРаздела = Истина; + КонецЕсли; + ВключенаВидимостьДела = ЗаданнаяВидимостьДел[Дело.Идентификатор]; + Если ВключенаВидимостьДела = Неопределено Тогда + ВключенаВидимостьДела = Истина; + КонецЕсли; + + Элемент = Элементы.Найти(Дело.Идентификатор); + Если Элемент = Неопределено Тогда + // Дела нету в списке, вероятно оно появилось после включения функциональной опции, + // в таком случае добавим его. + СоздатьДело(Дело, РодительДела, ВключенаВидимостьДела); + ЗаполнитьПараметрыДела(Дело); + Возврат; + КонецЕсли; + + ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", ""); + Элемент.Заголовок = ЗаголовокДела; + Если Дело.Важное Тогда + Элемент.ЦветТекста = ЦветаСтиля.ПросроченныеДанныеЦвет; + КонецЕсли; + Элемент.Видимость = Дело.ЕстьДела И ВключенаВидимостьДела; + // Сброс дочерних дел, если они есть. Их обновление будет дальше. + Элемент.РасширеннаяПодсказка.Заголовок = ""; + + // Установка подсказки, если задана + Если ЗначениеЗаполнено(Дело.Подсказка) Тогда + Отступ = Символы.НПП+Символы.НПП+Символы.НПП; + Подсказка = Новый ФорматированнаяСтрока(Отступ + Дело.Подсказка); + Элемент.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу; + Элемент.РасширеннаяПодсказка.Шрифт = Новый Шрифт(, 8); + Элемент.РасширеннаяПодсказка.РастягиватьПоГоризонтали = Истина; + Элемент.РасширеннаяПодсказка.Заголовок = Подсказка; + КонецЕсли; + + // Установка видимости раздела. + Если Элемент.Видимость И ВключенаВидимостьРаздела Тогда + ЗаголовокРаздела = СтрЗаменить(РодительДела.Имя, "ОбщаяГруппа", "ЗаголовокРаздела"); + РодительДела.Видимость = Истина; + ВыводимыеДелаИРазделы.Вставить(ЗаголовокРаздела); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СформироватьСписокТекущихДел(ТекущиеДела) + + СохраненныеНастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения(); + Если СохраненныеНастройкиОтображения = Неопределено Тогда + ЗаданнаяВидимостьРазделов = Новый Соответствие; + ЗаданнаяВидимостьДел = Новый Соответствие; + Иначе + СохраненныеНастройкиОтображения.Свойство("ВидимостьРазделов", ЗаданнаяВидимостьРазделов); + СохраненныеНастройкиОтображения.Свойство("ВидимостьДел", ЗаданнаяВидимостьДел); + КонецЕсли; + + СвернутыеРазделы = СвернутыеРазделы(); + + ТекущиеДела.Сортировать("ЭтоРаздел Убыв, ПредставлениеРаздела Возр, Важное Убыв"); + + // Если пользователь не настраивал положение разделов в списке дел, то + // они сортируются согласно порядку, определенному в процедуре ПриОпределенииПорядкаРазделовКомандногоИнтерфейса. + Если СохраненныеНастройкиОтображения = Неопределено Тогда + УстановитьНачальныйПорядокРазделов(ТекущиеДела); + КонецЕсли; + + ТекущаяГруппа = ""; + ТекущаяОбщаяГруппа = ""; + Для Каждого Дело Из ТекущиеДела Цикл + + Если Дело.ЭтоРаздел Тогда + + // Создание общей группы раздела. + ИмяОбщейГруппы = "ОбщаяГруппа" + Дело.ИдентификаторВладельца; + Если ТекущаяОбщаяГруппа <> ИмяОбщейГруппы Тогда + ТекущаяОбщаяГруппа = ИмяОбщейГруппы; + + РазделСвернут = СвернутыеРазделы[Дело.ИдентификаторВладельца]; + Если РазделСвернут = Неопределено Тогда + СвернутыеРазделы.Вставить(Дело.ИдентификаторВладельца, Ложь); + КонецЕсли; + + ВключенаВидимостьРаздела = ЗаданнаяВидимостьРазделов[Дело.ИдентификаторВладельца]; + Если ВключенаВидимостьРаздела = Неопределено Тогда + ВключенаВидимостьРаздела = Истина; + КонецЕсли; + + ОбщаяГруппа = Группа(ИмяОбщейГруппы,, "ОбщаяГруппа"); + ОбщаяГруппа.Видимость = Ложь; + // Создание группы заголовка раздела. + ИмяГруппыЗаголовка = "ЗаголовокРаздела" + Дело.ИдентификаторВладельца; + ГруппаЗаголовка = Группа(ИмяГруппыЗаголовка, ОбщаяГруппа, "ЗаголовокРаздела"); + // Создание заголовка раздела. + СоздатьЗаголовок(Дело, ГруппаЗаголовка, РазделСвернут); + КонецЕсли; + + // Создание группы дел. + ИмяГруппы = "Группа" + Дело.ИдентификаторВладельца; + Если ТекущаяГруппа <> ИмяГруппы Тогда + ТекущаяГруппа = ИмяГруппы; + Группа = Группа(ИмяГруппы, ОбщаяГруппа); + Если РазделСвернут = Истина Тогда + Группа.Видимость = Ложь; + КонецЕсли; + КонецЕсли; + + ВключенаВидимостьДела = ЗаданнаяВидимостьДел[Дело.Идентификатор]; + Если ВключенаВидимостьДела = Неопределено Тогда + ВключенаВидимостьДела = Истина; + КонецЕсли; + + Если ВключенаВидимостьРаздела И ВключенаВидимостьДела И Дело.ЕстьДела Тогда + ВыводимыеДелаИРазделы.Вставить(ИмяГруппыЗаголовка); + ОбщаяГруппа.Видимость = Истина; + КонецЕсли; + + СоздатьДело(Дело, Группа, ВключенаВидимостьДела); + + Иначе + СоздатьДочернееДело(Дело); + КонецЕсли; + + ЗаполнитьПараметрыДела(Дело); + + КонецЦикла; + + СохранитьСвернутыеРазделы(СвернутыеРазделы); + +КонецПроцедуры + +&НаСервере +Процедура УпорядочитьСписокТекущихДел() + + СохраненныеНастройкиОтображения = ТекущиеДелаСлужебный.СохраненныеНастройкиОтображения(); + Если СохраненныеНастройкиОтображения = Неопределено Тогда + Возврат; + КонецЕсли; + + СохраненноеДеревоДел = СохраненныеНастройкиОтображения.ДеревоДел; + ЭтоПервыйРаздел = Истина; + Для Каждого СтрокаРаздел Из СохраненноеДеревоДел.Строки Цикл + Если Не ЭтоПервыйРаздел Тогда + ПереместитьРаздел(СтрокаРаздел); + КонецЕсли; + ЭтоПервыйРаздел = Ложь; + КонецЦикла; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Фоновое обновление + +&НаСервере +Процедура ЗапуститьФоновоеЗаданиеНаСервере(ВыполнениеПрервано = Ложь) + + Если МонопольныйРежим() Тогда + ВыполнениеПрервано = Истина; + Возврат; + КонецЕсли; + + ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания); + ИдентификаторЗадания = Неопределено; + + ТекущиеДелаВХранилище = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор); + + ПараметрыПроцедуры = Новый Массив; + ПараметрыПроцедуры.Добавить(ТекущиеДелаВХранилище); + + ПараметрыЗадания = Новый Массив; + ПараметрыЗадания.Добавить("ТекущиеДелаСлужебный.СписокТекущихДелПользователя"); + ПараметрыЗадания.Добавить(ПараметрыПроцедуры); + + НаименованиеЗадания = НСтр("ru = 'Обновление списка текущих дел'"); + + Задание = ФоновыеЗадания.Выполнить("РаботаВБезопасномРежиме.ВыполнитьМетодКонфигурации", ПараметрыЗадания,, НаименованиеЗадания); + + ИдентификаторЗадания = Задание.УникальныйИдентификатор; + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьТекущиеДела() + + ТекущиеДела = ПолучитьИзВременногоХранилища(ТекущиеДелаВХранилище); + ВыводимыеДелаИРазделы = Новый Структура; + Если ТолькоОбновлениеДел Тогда + ОбновитьСписокТекущихДел(ТекущиеДела); + Иначе + СформироватьСписокТекущихДел(ТекущиеДела); + КонецЕсли; + + Если ВыводимыеДелаИРазделы.Количество() = 0 Тогда + Элементы.СтраницаДела.Видимость = Ложь; + Элементы.СтраницаТекущихДелНет.Видимость = Истина; + Иначе + Элементы.СтраницаДела.Видимость = Истина; + Элементы.СтраницаТекущихДелНет.Видимость = Ложь; + // Если выводятся дела только из одного раздела - скрываем его заголовок. + Если ВыводимыеДелаИРазделы.Количество() = 1 Тогда + ОтображатьРаздел = Ложь; + Иначе + ОтображатьРаздел = Истина; + КонецЕсли; + Для Каждого ЭлементЗаголовокРаздела Из ВыводимыеДелаИРазделы Цикл + ЗаголовокРаздела = ЭлементЗаголовокРаздела.Ключ; + Элементы[ЗаголовокРаздела].Видимость = ОтображатьРаздел; + КонецЦикла; + КонецЕсли; + + УпорядочитьСписокТекущихДел(); + +КонецПроцедуры + +&НаСервере +Функция ЗаданиеВыполнено(ИдентификаторЗадания) + + ЗаданиеВыполненоУспешно = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания); + Если ЗаданиеВыполненоУспешно = Истина Тогда + ЗагрузитьТекущиеДела(); + КонецЕсли; + Возврат ЗаданиеВыполненоУспешно; + +КонецФункции + +&НаКлиенте +Процедура Подключаемый_ПроверитьВыполнениеЗадания() + + ЗаданиеВыполненоУспешно = Ложь; + Попытка + Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда + ЗаданиеВыполненоУспешно = Истина; + Элементы.СтраницаДела.Видимость = Истина; + Элементы.СтраницаДлительнаяОперация.Видимость = Ложь; + ОтключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания"); + КонецЕсли; + Исключение + ОтключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания"); + Элементы.СтраницаДела.Видимость = Истина; + Элементы.СтраницаДлительнаяОперация.Видимость = Ложь; + КонецПопытки; + + Если ЗаданиеВыполненоУспешно Тогда + Элементы.ФормаНастроить.Доступность = Истина; + Элементы.ФормаОбновить.Доступность = Истина; + Если НастройкиАвтообновления.Свойство("АвтообновлениеВключено") + И НастройкиАвтообновления.АвтообновлениеВключено Тогда + ПериодОбновления = НастройкиАвтообновления.ПериодАвтообновления * 60; + ПодключитьОбработчикОжидания("ОбновитьТекущиеДелаАвтоматически", ПериодОбновления); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры и функции + +&НаКлиенте +Процедура ЗапуститьОбновлениеСпискаТекущихДел(АвтоматическоеОбновление = Ложь) + + // Если обновление инициировано вручную - отключаем обработчик автоматического обновления дел. + // Он будет подключен заново после завершения "ручного" обновления. + Если Не АвтоматическоеОбновление Тогда + ОтключитьОбработчикОжидания("ОбновитьТекущиеДелаАвтоматически"); + КонецЕсли; + + ВыполнениеПрервано = Ложь; + ТолькоОбновлениеДел = Истина; + ЗапуститьФоновоеЗаданиеНаСервере(ВыполнениеПрервано); + Если ВыполнениеПрервано Тогда + Возврат; + КонецЕсли; + + Элементы.СтраницаДела.Видимость = Ложь; + Элементы.СтраницаДлительнаяОперация.Видимость = Истина; + Элементы.СтраницаТекущихДелНет.Видимость = Ложь; + Элементы.ФормаНастроить.Доступность = Ложь; + Элементы.ФормаОбновить.Доступность = Ложь; + + ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", 2); + +КонецПроцедуры + +&НаСервере +Функция Группа(ИмяГруппы, Родитель = Неопределено, ТипГруппы = "") + + Если Родитель = Неопределено Тогда + Родитель = Элементы.СтраницаДела; + КонецЕсли; + + Группа = Элементы.Добавить(ИмяГруппы, Тип("ГруппаФормы"), Родитель); + Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа; + Группа.Отображение = ОтображениеОбычнойГруппы.Нет; + + Если ТипГруппы = "ЗаголовокРаздела" Тогда + Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; + Иначе + Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Вертикальная; + КонецЕсли; + + Группа.ОтображатьЗаголовок = Ложь; + + Возврат Группа; + +КонецФункции + +&НаСервере +Процедура СоздатьДело(Дело, Группа, ВключенаВидимостьДела) + + ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", ""); + + Элемент = Элементы.Добавить(Дело.Идентификатор, Тип("ДекорацияФормы"), Группа); + Элемент.Вид = ВидДекорацииФормы.Надпись; + Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево; + Элемент.Заголовок = ЗаголовокДела; + Элемент.Видимость = (ВключенаВидимостьДела И Дело.ЕстьДела); + Элемент.Гиперссылка = ЗначениеЗаполнено(Дело.Форма); + Элемент.УстановитьДействие("Нажатие", "Подключаемый_ОбработатьНажатиеНаГиперссылку"); + + Если Дело.Важное Тогда + Элемент.ЦветТекста = ЦветаСтиля.ПросроченныеДанныеЦвет; + КонецЕсли; + + Если ЗначениеЗаполнено(Дело.Подсказка) Тогда + Отступ = Символы.НПП+Символы.НПП+Символы.НПП; + Подсказка = Новый ФорматированнаяСтрока(Отступ + Дело.Подсказка); + Элемент.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу; + Элемент.РасширеннаяПодсказка.Шрифт = Новый Шрифт(, 8); + Элемент.РасширеннаяПодсказка.РастягиватьПоГоризонтали = Истина; + Элемент.РасширеннаяПодсказка.ЦветТекста= ЦветаСтиля.ЗаголовокДелаЦвет; + Элемент.РасширеннаяПодсказка.Заголовок = Подсказка; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СоздатьЗаголовок(Дело, Группа, РазделСвернут) + + // Создание картинки сворачивания/разворачивания раздела. + Элемент = Элементы.Добавить("Картинка" + Дело.ИдентификаторВладельца, Тип("ДекорацияФормы"), Группа); + Элемент.Вид = ВидДекорацииФормы.Картинка; + Элемент.Гиперссылка = Истина; + + Если РазделСвернут = Истина Тогда + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВправо; + Иначе + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВниз; + КонецЕсли; + + Элемент.РазмерКартинки = РазмерКартинки.АвтоРазмер; + Элемент.Ширина = 2; + Элемент.Высота = 1; + Элемент.УстановитьДействие("Нажатие", "Подключаемый_ОбработатьНажатиеНаКартинку"); + Элемент.Подсказка = НСтр("ru = 'Развернуть/свернуть раздел'"); + + // Создание заголовка раздела. + Элемент = Элементы.Добавить("Заголовок" + Дело.ИдентификаторВладельца, Тип("ДекорацияФормы"), Группа); + Элемент.Вид = ВидДекорацииФормы.Надпись; + Элемент.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево; + Элемент.Заголовок = Дело.ПредставлениеРаздела; + Если ИнтерфейсТакси Тогда + Элемент.Шрифт = Новый Шрифт("ШрифтДиалоговИМеню", 12); + Иначе + Элемент.Шрифт = Новый Шрифт(,, Истина); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СоздатьДочернееДело(Дело) + + Если Не Дело.ЕстьДела Тогда + Возврат; + КонецЕсли; + + ЭлементДелоВладелец = Элементы.Найти(Дело.ИдентификаторВладельца); + Если ЭлементДелоВладелец = Неопределено Тогда + Возврат; + КонецЕсли; + ЭлементДелоВладелец.ОтображениеПодсказки = ОтображениеПодсказки.ОтображатьСнизу; + ЭлементДелоВладелец.РасширеннаяПодсказка.Шрифт = Новый Шрифт(, 8); + ЭлементДелоВладелец.РасширеннаяПодсказка.РастягиватьПоГоризонтали = Истина; + + ЗаголовокПодчиненногоДела = ЗаголовокПодчиненногоДела(ЭлементДелоВладелец.РасширеннаяПодсказка.Заголовок, Дело); + + ЭлементДелоВладелец.РасширеннаяПодсказка.Заголовок = ЗаголовокПодчиненногоДела; + ЭлементДелоВладелец.РасширеннаяПодсказка.УстановитьДействие("ОбработкаНавигационнойСсылки", "Подключаемый_ОбработкаНажатияНавигационнойСсылки"); + +КонецПроцедуры + +&НаСервере +Функция ЗаголовокПодчиненногоДела(ТекущийЗаголовок, Дело) + + ТекущийЗаголовокПустой = Не ЗначениеЗаполнено(ТекущийЗаголовок); + ЗаголовокДела = Дело.Представление + ?(Дело.Количество <> 0," (" + Дело.Количество + ")", ""); + СтрокаЗаголовкаДела = ЗаголовокДела; + Если Дело.Важное Тогда + ЦветДела = ЦветаСтиля.ПросроченныеДанныеЦвет; + Иначе + ЦветДела = ЦветаСтиля.ЗаголовокДелаЦвет; + КонецЕсли; + + ФорматированнаяСтрокаПеренос = Новый ФорматированнаяСтрока(Символы.ПС); + ФорматированнаяСтрокаОтступ = Новый ФорматированнаяСтрока(Символы.НПП+Символы.НПП+Символы.НПП); + + Если Дело.Важное Тогда + Если ЗначениеЗаполнено(Дело.Форма) Тогда + ФорматированнаяСтрокаЗаголовкаДела = Новый ФорматированнаяСтрока( + СтрокаЗаголовкаДела,, + ЦветДела,, + Дело.Идентификатор); + Иначе + ФорматированнаяСтрокаЗаголовкаДела = Новый ФорматированнаяСтрока( + СтрокаЗаголовкаДела,, + ЦветДела); + КонецЕсли; + Иначе + Если ЗначениеЗаполнено(Дело.Форма) Тогда + ФорматированнаяСтрокаЗаголовкаДела = Новый ФорматированнаяСтрока( + СтрокаЗаголовкаДела,,,, + Дело.Идентификатор); + Иначе + ФорматированнаяСтрокаЗаголовкаДела = Новый ФорматированнаяСтрока(СтрокаЗаголовкаДела,,ЦветДела); + КонецЕсли; + КонецЕсли; + + Если ТекущийЗаголовокПустой Тогда + Возврат Новый ФорматированнаяСтрока(ФорматированнаяСтрокаОтступ, ФорматированнаяСтрокаЗаголовкаДела); + Иначе + Возврат Новый ФорматированнаяСтрока(ТекущийЗаголовок, ФорматированнаяСтрокаПеренос, ФорматированнаяСтрокаОтступ, ФорматированнаяСтрокаЗаголовкаДела); + КонецЕсли; + +КонецФункции + +&НаСервере +Процедура ЗаполнитьПараметрыДела(Дело) + + СтрокаДело = ПараметрыДел.Добавить(); + СтрокаДело.Идентификатор = Дело.Идентификатор; + СтрокаДело.Форма = Дело.Форма; + СтрокаДело.ПараметрыФормы = Дело.ПараметрыФормы; + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьНастройкиАвтообновления() + + НастройкиАвтообновления = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиАвтообновления"); + + Если НастройкиАвтообновления = Неопределено Тогда + НастройкиАвтообновления = Новый Структура; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПрименитьНастройкиПанелиДел(ПрименитьНастройки, ДополнительныеПараметры) Экспорт + Если ПрименитьНастройки = Истина Тогда + ЗапуститьОбновлениеСпискаТекущихДел(); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПереместитьРаздел(СтрокаРаздел) + + ИмяЭлемента = "ОбщаяГруппа" + СтрокаРаздел.Идентификатор; + ПеремещаемыйЭлемент = Элементы.Найти(ИмяЭлемента); + Если ПеремещаемыйЭлемент = Неопределено Тогда + Возврат; + КонецЕсли; + Элементы.Переместить(ПеремещаемыйЭлемент, ПеремещаемыйЭлемент.Родитель); + +КонецПроцедуры + +&НаСервере +Процедура СохранитьСвернутыеРазделы(СвернутыеРазделы) + + НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); + + Если ТипЗнч(НастройкиОтображения) <> Тип("Структура") Тогда + НастройкиОтображения = Новый Структура; + КонецЕсли; + + НастройкиОтображения.Вставить("СвернутыеРазделы", СвернутыеРазделы); + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "НастройкиОтображения", НастройкиОтображения); + +КонецПроцедуры + +&НаСервере +Функция СвернутыеРазделы() + + НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); + Если НастройкиОтображения <> Неопределено И НастройкиОтображения.Свойство("СвернутыеРазделы") Тогда + СвернутыеРазделы = НастройкиОтображения.СвернутыеРазделы; + Иначе + СвернутыеРазделы = Новый Соответствие; + КонецЕсли; + + Возврат СвернутыеРазделы; + +КонецФункции + +&НаСервере +Процедура ДействияПриЗакрытииПанелиТекущихДел() + + ЗаполнитьСвернутыеГруппыПередЗакрытием(); + ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания); + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьСвернутыеГруппыПередЗакрытием() + + НастройкиОтображения = ХранилищеОбщихНастроек.Загрузить("ТекущиеДела", "НастройкиОтображения"); + Если НастройкиОтображения = Неопределено Или Не НастройкиОтображения.Свойство("СвернутыеРазделы") Тогда + Возврат; + КонецЕсли; + + СвернутыеРазделы = Новый Соответствие; + Для Каждого СтрокаСоответствия Из НастройкиОтображения.СвернутыеРазделы Цикл + + ЭлементФормы = Элементы.Найти("Картинка" + СтрокаСоответствия.Ключ); + Если ЭлементФормы = Неопределено Тогда + Продолжить; + КонецЕсли; + + Если ЭлементФормы.Картинка = БиблиотекаКартинок.СтрелкаВправо Тогда + СвернутыеРазделы.Вставить(СтрокаСоответствия.Ключ, Истина); + Иначе + СвернутыеРазделы.Вставить(СтрокаСоответствия.Ключ, Ложь); + КонецЕсли; + + КонецЦикла; + + Если СвернутыеРазделы.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + СохранитьСвернутыеРазделы(СвернутыеРазделы); + +КонецПроцедуры + +&НаСервере +Процедура ПереключитьКартинкуВВебКлиенте(ИмяЭлемента) + + ИмяГруппыРаздела = СтрЗаменить(ИмяЭлемента, "Картинка", "Группа"); + Элемент = Элементы[ИмяЭлемента]; + + Если Элемент.Картинка = БиблиотекаКартинок.СтрелкаВниз Тогда + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВправо; + Элементы[ИмяГруппыРаздела].Видимость = Ложь; + Иначе + Элемент.Картинка = БиблиотекаКартинок.СтрелкаВниз; + Элементы[ИмяГруппыРаздела].Видимость = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьНачальныйПорядокРазделов(ТекущиеДела) + + ПорядокРазделовКомандногоИнтерфейса = Новый Массив; + ТекущиеДелаПереопределяемый.ПриОпределенииПорядкаРазделовКомандногоИнтерфейса(ПорядокРазделовКомандногоИнтерфейса); + + Индекс = 0; + Для Каждого РазделКомандногоИнтерфейса Из ПорядокРазделовКомандногоИнтерфейса Цикл + РазделКомандногоИнтерфейса = СтрЗаменить(РазделКомандногоИнтерфейса.ПолноеИмя(), ".", ""); + ОтборСтрок = Новый Структура; + ОтборСтрок.Вставить("ИдентификаторВладельца", РазделКомандногоИнтерфейса); + + НайденныеСтроки = ТекущиеДела.НайтиСтроки(ОтборСтрок); + Для Каждого НайденнаяСтрока Из НайденныеСтроки Цикл + ИндексСтрокиВТаблице = ТекущиеДела.Индекс(НайденнаяСтрока); + Если ИндексСтрокиВТаблице = Индекс Тогда + Индекс = Индекс + 1; + Продолжить; + КонецЕсли; + + ТекущиеДела.Сдвинуть(ИндексСтрокиВТаблице, (Индекс - ИндексСтрокиВТаблице)); + Индекс = Индекс + 1; + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/DataProcessors/ТекущиеДела/ТекущиеДела.mdo b/SSL/src/DataProcessors/ТекущиеДела/ТекущиеДела.mdo new file mode 100644 index 000000000..6f7d9b9b4 --- /dev/null +++ b/SSL/src/DataProcessors/ТекущиеДела/ТекущиеДела.mdo @@ -0,0 +1,32 @@ + + + + + + + ТекущиеДела + + ru + Текущие дела + + true + DataProcessor.ТекущиеДела.Form.Форма + + Форма + + ru + Форма + + PersonalComputer + MobileDevice + + + НастройкаПанели + + ru + Настройка текущих дел + + PersonalComputer + MobileDevice + + diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Commands/УдалениеПомеченныхОбъектов/CommandModule.bsl b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Commands/УдалениеПомеченныхОбъектов/CommandModule.bsl new file mode 100644 index 000000000..37675ee1a --- /dev/null +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Commands/УдалениеПомеченныхОбъектов/CommandModule.bsl @@ -0,0 +1,8 @@ +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ОткрытьФорму("Обработка.УдалениеПомеченныхОбъектов.Форма", , ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка); +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Form.form b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Form.form index 20d099a7e..116b0c304 100644 --- a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Form.form +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Form.form @@ -345,6 +345,7 @@ Enter Left + 10 true true true @@ -362,10 +363,7 @@ ru Строка списка помеченных - - ru - Строка списка помеченных - + 20 СтрокаСпискаПомеченныхExtendedTooltip 98 @@ -602,10 +600,10 @@ ДеревоПомеченныхНаУдалениеСтрокаПоиска - 389 + 410 ДеревоПомеченныхНаУдалениеСтрокаПоискаРасширеннаяПодсказка - 391 + 412 Label true true @@ -615,7 +613,7 @@ ДеревоПомеченныхНаУдалениеСтрокаПоискаКонтекстноеМеню - 390 + 411 true ДеревоПомеченныхНаУдаление @@ -625,10 +623,10 @@ ДеревоПомеченныхНаУдалениеСостояниеПросмотра - 392 + 413 ДеревоПомеченныхНаУдалениеСостояниеПросмотраРасширеннаяПодсказка - 394 + 415 Label true true @@ -638,7 +636,7 @@ ДеревоПомеченныхНаУдалениеСостояниеПросмотраКонтекстноеМеню - 393 + 414 true ViewStatusAddition @@ -649,10 +647,10 @@ ДеревоПомеченныхНаУдалениеУправлениеПоиском - 395 + 416 ДеревоПомеченныхНаУдалениеУправлениеПоискомРасширеннаяПодсказка - 397 + 418 Label true true @@ -662,7 +660,7 @@ ДеревоПомеченныхНаУдалениеУправлениеПоискомКонтекстноеМеню - 396 + 417 true SearchControlAddition @@ -1493,7 +1491,7 @@ ГруппаНеУдаленные 229 - Группа4 + ГруппаНеУдаленныеТаблица 313 НеУдаленные @@ -1557,10 +1555,9 @@ Opening НеУдаленныеПредставлениеОткрытие + 10 true true - true - true true false false @@ -1699,10 +1696,10 @@ НеУдаленныеСтрокаПоиска - 410 + 431 НеУдаленныеСтрокаПоискаРасширеннаяПодсказка - 412 + 433 Label true true @@ -1712,7 +1709,7 @@ НеУдаленныеСтрокаПоискаКонтекстноеМеню - 411 + 432 true НеУдаленные @@ -1722,10 +1719,10 @@ НеУдаленныеСостояниеПросмотра - 413 + 434 НеУдаленныеСостояниеПросмотраРасширеннаяПодсказка - 415 + 436 Label true true @@ -1735,7 +1732,7 @@ НеУдаленныеСостояниеПросмотраКонтекстноеМеню - 414 + 435 true ViewStatusAddition @@ -1746,10 +1743,10 @@ НеУдаленныеУправлениеПоиском - 416 + 437 НеУдаленныеУправлениеПоискомРасширеннаяПодсказка - 418 + 439 Label true true @@ -1759,7 +1756,7 @@ НеУдаленныеУправлениеПоискомКонтекстноеМеню - 417 + 438 true SearchControlAddition @@ -1925,8 +1922,12 @@ true + + <key>ru</key> + <value>Группа не удаленные таблица</value> + - Группа4РасширеннаяПодсказка + ГруппаНеУдаленныеТаблицаРасширеннаяПодсказка 314 Label true @@ -1946,8 +1947,283 @@ - Группа3 + ГруппаПричины 315 + + СтраницыВариантовОтображенияПричинШапка + 390 + + СтраницаВыберитеНеУдаленныйОбъектШапка + 392 + + Декорация4 + 406 + true + true + + true + + + Декорация4РасширеннаяПодсказка + 408 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 407 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница выберите не удаленный объект шапка</value> + + + ru + Страница выберите не удаленный объект шапка + + + СтраницаВыберитеНеУдаленныйОбъектШапкаРасширеннаяПодсказка + 393 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаТекстОшибкиШапка + 394 + + Декорация3 + 400 + + <key>ru</key> + <value>Причины, по которым не удалось удалить объект</value> + + true + true + + true + + + Декорация3РасширеннаяПодсказка + 402 + Label + true + true + + Left + + + + Декорация3КонтекстноеМеню + 401 + true + + Label + true + true + + System.DefaultGUIFont + Arial + 13.0 + 80 + + + Left + Bottom + + + true + true + + true + + + <key>ru</key> + <value>Страница текст ошибки шапка</value> + + + ru + Страница текст ошибки шапка + + + СтраницаТекстОшибкиШапкаРасширеннаяПодсказка + 395 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаПричиныНеУдаленияШапка + 396 + + НадписьСвязиНеУдаленных_2 + 385 + + <key>ru</key> + <value>Надпись связи не удаленных 2</value> + + true + + true + + + НадписьСвязиНеУдаленных_2РасширеннаяПодсказка + 387 + Label + true + true + + Left + + + + НадписьСвязиНеУдаленных_2КонтекстноеМеню + 386 + true + + Label + true + 1 + true + true + + Left + Bottom + + + + НадписьСвязиНеУдаленных + 403 + + <key>ru</key> + <value>Надпись связи не удаленных</value> + + true + true + + true + + + НадписьСвязиНеУдаленныхРасширеннаяПодсказка + 405 + Label + true + true + + Left + + + + НадписьСвязиНеУдаленныхКонтекстноеМеню + 404 + true + + Label + true + true + + System.DefaultGUIFont + Arial + 13.0 + 80 + + + Left + Bottom + + + true + true + + true + + + <key>ru</key> + <value>Страница причины не удаления шапка</value> + + + ru + Страница причины не удаления шапка + + + СтраницаПричиныНеУдаленияШапкаРасширеннаяПодсказка + 397 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы вариантов отображения причин шапка</value> + + + ru + Страницы вариантов отображения причин шапка + + + СтраницыВариантовОтображенияПричинШапкаРасширеннаяПодсказка + 391 + Label + true + true + + Left + + + Pages + + Auto + + СтраницыВариантовОтображенияПричин 255 @@ -1961,7 +2237,6 @@ ru - true true true @@ -2023,6 +2298,7 @@ Left true + 10 true true true @@ -2072,7 +2348,6 @@ ru - true true true @@ -2136,58 +2411,6 @@ - - ТекстОшибки - 261 - true - true - - true - - - ТекстОшибки - - None - - ТекстОшибкиРасширеннаяПодсказка - 263 - Label - true - true - - Left - - - - ТекстОшибкиКонтекстноеМеню - 262 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - true - - Style.FormBackColor - - - Style.FormBackColor - - Normal - - - true true true @@ -2217,6 +2440,57 @@ Auto
                                    + + ТекстОшибки + 261 + true + true + + true + + + ТекстОшибки + + None + + ТекстОшибкиРасширеннаяПодсказка + 263 + Label + true + true + + Left + + + + ТекстОшибкиКонтекстноеМеню + 262 + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + true + true + true + + Style.FormBackColor + + + Style.FormBackColor + + Normal + + true true @@ -2249,43 +2523,6 @@ СтраницаПричиныНеУдаления 257 - - НадписьСвязиНеУдаленных - 385 - - <key>ru</key> - <value>Надпись связи не удаленных</value> - - true - true - - true - - - НадписьСвязиНеУдаленныхРасширеннаяПодсказка - 387 - Label - true - true - - Left - - - - НадписьСвязиНеУдаленныхКонтекстноеМеню - 386 - true - - Label - true - 2 - true - true - - Left - Bottom - - СвязиНеУдаленных 235 @@ -2434,10 +2671,10 @@ СвязиНеУдаленныхСтрокаПоиска - 430 + 451 СвязиНеУдаленныхСтрокаПоискаРасширеннаяПодсказка - 432 + 453 Label true true @@ -2447,7 +2684,7 @@ СвязиНеУдаленныхСтрокаПоискаКонтекстноеМеню - 431 + 452 true СвязиНеУдаленных @@ -2457,10 +2694,10 @@ СвязиНеУдаленныхСостояниеПросмотра - 433 + 454 СвязиНеУдаленныхСостояниеПросмотраРасширеннаяПодсказка - 435 + 456 Label true true @@ -2470,7 +2707,7 @@ СвязиНеУдаленныхСостояниеПросмотраКонтекстноеМеню - 434 + 455 true ViewStatusAddition @@ -2481,10 +2718,10 @@ СвязиНеУдаленныхУправлениеПоиском - 436 + 457 СвязиНеУдаленныхУправлениеПоискомРасширеннаяПодсказка - 438 + 459 Label true true @@ -2494,7 +2731,7 @@ СвязиНеУдаленныхУправлениеПоискомКонтекстноеМеню - 437 + 458 true SearchControlAddition @@ -2667,8 +2904,16 @@ true + + <key>ru</key> + <value>Группа причины</value> + + + ru + Группа причины + - Группа3РасширеннаяПодсказка + ГруппаПричиныРасширеннаяПодсказка 316 Label true @@ -2720,11 +2965,12 @@
                                    - НадписьИтогиЧастичногоУдаления1 + НадписьИтогиЧастичногоУдаленияПояснение 377 <key>ru</key> - <value>Для удаления объектов необходимо либо пометить на удаление все связанные с ними объекты (в списке "Места использования"), либо очистить (заменить) их ссылки в перечисленных местах использования.</value> + <value>Для удаления объектов необходимо либо пометить на удаление все связанные с ними объекты +(в списке "Места использования"), либо очистить (заменить) их ссылки в перечисленных местах использования.</value> true true @@ -2732,7 +2978,7 @@ true - НадписьИтогиЧастичногоУдаления1РасширеннаяПодсказка + НадписьИтогиЧастичногоУдаленияПояснениеРасширеннаяПодсказка 379 Label true @@ -2742,13 +2988,13 @@
                                    - НадписьИтогиЧастичногоУдаления1КонтекстноеМеню + НадписьИтогиЧастичногоУдаленияПояснениеКонтекстноеМеню 378 true Label true - 2 + 3 true Style.ПоясняющийТекст @@ -3086,7 +3332,6 @@ Retry SaveValues Yes - 80 LockOwner Use true diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Module.bsl b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Module.bsl index af570b37e..e89baca58 100644 --- a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Module.bsl +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Forms/ОсновнаяФорма/Module.bsl @@ -15,6 +15,12 @@ Возврат; // Отказ устанавливается в ПриОткрытии. КонецЕсли; + Если ОбщегоНазначенияПовтИсп.РазделениеВключено() + И Не ОбщегоНазначения.ИспользованиеРазделителяСеанса() Тогда + ТекстОшибки = НСтр("ru = 'Для удаления помеченных необходимо войти в область данных.'"); + Возврат; // Отказ устанавливается в ПриОткрытии. + КонецЕсли; + РежимУдаления = "Полный"; ПриСозданииНаСервереУстановитьТекстПоясненияКОбработке(); ВидимостьДоступность(ЭтотОбъект); @@ -326,6 +332,7 @@ Если СтрокаДерева = Неопределено Или СтрокаДерева.НомерКартинки < 1 Тогда // Ничего не выбрано или выбрана группа. Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница = Элементы.СтраницаВыберитеНеУдаленныйОбъект; + Элементы.СтраницыВариантовОтображенияПричинШапка.ТекущаяСтраница = Элементы.СтраницаВыберитеНеУдаленныйОбъектШапка; ТекстОшибки = НСтр("ru = 'Выберите объект, чтобы узнать причину, |по которой его не удалось удалить.'"); Возврат; @@ -355,8 +362,10 @@ Если ПоказыватьТекстОшибки Тогда Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница = Элементы.СтраницаТекстОшибки; + Элементы.СтраницыВариантовОтображенияПричинШапка.ТекущаяСтраница = Элементы.СтраницаТекстОшибкиШапка; Иначе Элементы.СтраницыВариантовОтображенияПричин.ТекущаяСтраница = Элементы.СтраницаПричиныНеУдаления; + Элементы.СтраницыВариантовОтображенияПричинШапка.ТекущаяСтраница = Элементы.СтраницаПричиныНеУдаленияШапка; Шаблон = НСтр("ru = 'Места использования объекта ""%1"" (%2):'"); КраткоеПредставлениеОбъекта = СтрокаДерева.Представление; @@ -409,44 +418,48 @@ &НаКлиенте Процедура ПометитьВыделенныеОбъектыТаблицыНаУдаление(ТаблицаЭлемент) + Перем Значение; + МассивИдентификаторов = ТаблицаЭлемент.ВыделенныеСтроки; КоличествоВыделено = МассивИдентификаторов.Количество(); Если КоличествоВыделено = 0 Тогда Возврат; КонецЕсли; - ТаблицаРеквизит = ЭтотОбъект[ТаблицаЭлемент.Имя]; + + ТаблицаИмя = ТаблицаЭлемент.Имя; + Если ТаблицаИмя = "ДеревоПомеченныхНаУдаление" Тогда + ИмяРеквизитаЗначение = "Значение"; + ЭтоСвязиНеУдаленных = Ложь; + ИначеЕсли ТаблицаИмя = "НеУдаленные" Тогда + ИмяРеквизитаЗначение = "УдаляемыйСсылка"; + ЭтоСвязиНеУдаленных = Ложь; + ИначеЕсли ТаблицаИмя = "СвязиНеУдаленных" Тогда + ИмяРеквизитаЗначение = "ОбнаруженныйСсылка"; + ЭтоСвязиНеУдаленных = Истина; + КонецЕсли; + + ТаблицаРеквизит = ЭтотОбъект[ТаблицаИмя]; МассивСтрокТаблицы = Новый Массив; МассивСсылокПомеченныхНаУдаление = Новый Массив; МассивСсылокНеПомеченныхНаУдаление = Новый Массив; ЕстьПомеченныеНаУдаление = Ложь; - ИмяРеквизитаЗначение = ""; - Значение = Неопределено; - СсылочногоТипа = Неопределено; - ЕстьСвойствоСсылочногоТипа = Ложь; + ЕстьЗаписиРегистров = Ложь; + ЕстьКонстанты = Ложь; Для Каждого Идентификатор Из МассивИдентификаторов Цикл СтрокаТаблицы = ТаблицаРеквизит.НайтиПоИдентификатору(Идентификатор); - Если ИмяРеквизитаЗначение = "" Тогда - Если СтрокаТаблицы.Свойство("Значение") Тогда - ИмяРеквизитаЗначение = "Значение"; - ИначеЕсли СтрокаТаблицы.Свойство("ОбнаруженныйСсылка") Тогда - ИмяРеквизитаЗначение = "ОбнаруженныйСсылка"; - ИначеЕсли СтрокаТаблицы.Свойство("УдаляемыйСсылка") Тогда - ИмяРеквизитаЗначение = "УдаляемыйСсылка"; - Иначе - Возврат; + Если ЭтоСвязиНеУдаленных Тогда + Если СтрокаТаблицы.ЭтоКонстанта Тогда + ЕстьКонстанты = Истина; + Продолжить; + ИначеЕсли Не СтрокаТаблицы.СсылочногоТипа Тогда + ЕстьЗаписиРегистров = Истина; + Продолжить; КонецЕсли; - ЕстьСвойствоСсылочногоТипа = СтрокаТаблицы.Свойство("СсылочногоТипа"); КонецЕсли; СтрокаТаблицы.Свойство(ИмяРеквизитаЗначение, Значение); Если ТипЗнч(Значение) = Тип("Строка") Тогда + КоличествоВыделено = КоличествоВыделено - 1; // Группы не должны считаться выделенными. Продолжить; // Пропуск групп. - ИначеЕсли ЕстьСвойствоСсылочногоТипа И Не СтрокаТаблицы["СсылочногоТипа"] Тогда - Если КоличествоВыделено = 1 Тогда - ПоказатьПредупреждение(, НСтр("ru = 'Удаление записи регистра выполняется из ее карточки'")); - Возврат; - Иначе - Продолжить; // Пропуск записей регистров. - КонецЕсли; КонецЕсли; Если СтрокаТаблицы.ПометкаУдаления Тогда ЕстьПомеченныеНаУдаление = Истина; @@ -464,19 +477,28 @@ КонецЕсли; КонецЦикла; - КоличествоМожноУдалить = МассивСтрокТаблицы.Количество(); + МассивСсылок = ?(ЕстьПомеченныеНаУдаление, МассивСсылокПомеченныхНаУдаление, МассивСсылокНеПомеченныхНаУдаление); + КоличествоМожноУдалить = МассивСсылок.Количество(); Если КоличествоМожноУдалить = 0 Тогда + ТекстОшибки = НСтр("ru = 'Выберите объект.'"); Если КоличествоВыделено = 1 Тогда - ПоказатьПредупреждение(, НСтр("ru = 'Выберите объект'")); + Если ЕстьЗаписиРегистров Тогда + ТекстОшибки = НСтр("ru = 'Удаление записи регистра выполняется из ее карточки.'"); + ИначеЕсли ЕстьКонстанты Тогда + ТекстОшибки = НСтр("ru = 'Очистка значения константы выполняется из ее карточки.'"); + КонецЕсли; Иначе - ПоказатьПредупреждение(, НСтр("ru = 'Выберите объекты'")); + Если ЕстьЗаписиРегистров Или ЕстьКонстанты Тогда + ТекстОшибки = НСтр("ru = 'Удаление записей регистров или очистка значений констант выполняется из их карточек.'"); + КонецЕсли; КонецЕсли; + ПоказатьПредупреждение(, ТекстОшибки); Возврат; КонецЕсли; ПараметрыОбработчика = Новый Структура; ПараметрыОбработчика.Вставить("МассивСтрокТаблицы", МассивСтрокТаблицы); - ПараметрыОбработчика.Вставить("МассивСсылок", ?(ЕстьПомеченныеНаУдаление, МассивСсылокПомеченныхНаУдаление, МассивСсылокНеПомеченныхНаУдаление)); + ПараметрыОбработчика.Вставить("МассивСсылок", МассивСсылок); ПараметрыОбработчика.Вставить("ИмяРеквизитаЗначение", ИмяРеквизитаЗначение); ПараметрыОбработчика.Вставить("ЕстьПомеченныеНаУдаление", ЕстьПомеченныеНаУдаление); @@ -670,13 +692,13 @@ ПараметрыВыполнения = Новый Структура; // Заполнение дерева помеченных на удаление + ПомеченныеНаУдаление = ПомеченныеНаУдалениеСоСтраницыРезультатов(); + ПометкиУстанавливаютсяВыборочно = (ПомеченныеНаУдаление.Количество() > 0); + ДеревоЗначений = РеквизитФормыВЗначение("ДеревоПомеченныхНаУдаление"); ДеревоЗначений.Строки.Очистить(); ДеревоЗначений.Колонки.Добавить("Количество"); - ПомеченныеНаУдаление = ПомеченныеНаУдалениеСоСтраницыРезультатов(); - ПометкиУстанавливаютсяВыборочно = (ПомеченныеНаУдаление.Количество() > 0); - УзлыПервогоУровня = Новый Соответствие; ОбработкаМенеджер.ИнициализироватьПараметры(ПараметрыВыполнения); @@ -750,7 +772,7 @@ Найденные = ТаблицаЗначений.НайтиСтроки(Новый Структура("ПометкаУдаления", Истина)); Для Каждого СтрокаДерева Из Найденные Цикл Если ТипЗнч(СтрокаДерева.ОбнаруженныйСсылка) <> Тип("Строка") - И ПомеченныеНаУдаление.Найти(СтрокаДерева.УдаляемыйСсылка) = Неопределено Тогда + И ПомеченныеНаУдаление.Найти(СтрокаДерева.ОбнаруженныйСсылка) = Неопределено Тогда ПомеченныеНаУдаление.Добавить(СтрокаДерева.ОбнаруженныйСсылка); КонецЕсли; КонецЦикла; @@ -841,10 +863,17 @@ &НаСервереБезКонтекста Функция ИзменитьПометкуУдаленияОбъектов(МассивСсылок, ПометкаУдаления) Результат = СтандартныеПодсистемыКлиентСервер.НовыйРезультатВыполнения(); - Для Каждого Ссылка Из МассивСсылок Цикл - ИзменяемыйОбъект = Ссылка.ПолучитьОбъект(); - ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления); + Количество = МассивСсылок.Количество(); + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + ИзменяемыйОбъект = МассивСсылок[ОбратныйИндекс].ПолучитьОбъект(); + Если ИзменяемыйОбъект = Неопределено Тогда + МассивСсылок.Удалить(ОбратныйИндекс); + Иначе + ИзменяемыйОбъект.УстановитьПометкуУдаления(ПометкаУдаления); + КонецЕсли; КонецЦикла; + СтандартныеПодсистемыКлиентСервер.ПодготовитьОповещениеДинамическихСписков(МассивСсылок, Результат); Результат.ВыводОповещения.Использование = Истина; Если ПометкаУдаления Тогда @@ -853,7 +882,9 @@ Результат.ВыводОповещения.Заголовок = НСтр("ru = 'Пометка удаления снята'"); КонецЕсли; КоличествоОбъектов = МассивСсылок.Количество(); - Если КоличествоОбъектов =1 Тогда + Если КоличествоОбъектов = 0 Тогда + Результат.ВыводОповещения.Заголовок = НСтр("ru = 'Объект не найден'"); + ИначеЕсли КоличествоОбъектов = 1 Тогда Результат.ВыводОповещения.Ссылка = МассивСсылок[0]; Результат.ВыводОповещения.Текст = Строка(Результат.ВыводОповещения.Ссылка); Иначе diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Help/ru.html b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Help/ru.html index 00e92caed..11002eca5 100644 --- a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Help/ru.html +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/Help/ru.html @@ -1,7 +1,7 @@ - +

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

                                    В процессе работы с программой можно помечать на удаление объекты (например, ошибочно введенные). Помеченные на удаление объекты могут быть безвозвратно удалены пользователем с административными правами.

                                    -

                                    Команда Удаление помеченных объектов находится в разделе Настройка и администрирование - Поддержка и обслуживание.

                                    +

                                    Команда Удаление помеченных объектов находится в разделе Администрирование - Поддержка и обслуживание.

                                    Удаление выполняется с контролем ссылочной целостности. Это значит, что если на тот или иной объект программы (документ, элемент справочника и т.д.) ссылаются другие объекты, то удаление объекта не будет выполнено. Тем не менее, следует помнить, что удаление помеченных объектов - необратимая операция.

                                    Удаление ранее помеченных объектов можно выполнить двумя способами, которые можно выбрать с помощью переключателя:

                                    • Автоматическое удаление всех объектов - производится попытка автоматического удаления всех объектов, помеченных на удаление. diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/ManagerModule.bsl b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/ManagerModule.bsl index 570b004aa..a8d8021eb 100644 --- a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/ManagerModule.bsl +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/ManagerModule.bsl @@ -138,7 +138,7 @@ НачатьТранзакцию(); Попытка - ПопробоватьУдалитьСсылку(Ссылка, Информация, Результат); + ПопробоватьУдалитьСсылку(ПараметрыВыполнения, Ссылка, Информация, Результат); Исключение Результат.Успех = Ложь; Результат.ИнформацияОбОшибке = ИнформацияОбОшибке(); @@ -165,7 +165,7 @@ КонецФункции // Механика удаления объекта и поиска ссылок. -Процедура ПопробоватьУдалитьСсылку(Ссылка, Информация, Результат) +Процедура ПопробоватьУдалитьСсылку(ПараметрыВыполнения, Ссылка, Информация, Результат) Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить(Информация.ПолноеИмя); ЭлементБлокировки.УстановитьЗначение("Ссылка", Ссылка); @@ -182,11 +182,11 @@ Возврат; КонецЕсли; - НайтиВложенныеИПодчиненныеОбъекты(Ссылка, Информация, Результат); + НайтиВложенныеИПодчиненныеОбъекты(ПараметрыВыполнения, Ссылка, Информация, Результат); Объект.Удалить(); - НайтиПрепятствующиеУдалению(Ссылка, Информация, Результат); + НайтиПрепятствующиеУдалению(ПараметрыВыполнения, Ссылка, Информация, Результат); Если Результат.Количество = 0 Тогда Результат.Успех = Истина; @@ -197,7 +197,7 @@ КонецПроцедуры // Поиск ссылок вложенных и подчиненных (иерархия и связь по владельцу). Выполняется до удаления. -Процедура НайтиВложенныеИПодчиненныеОбъекты(Ссылка, Информация, Результат) +Процедура НайтиВложенныеИПодчиненныеОбъекты(ПараметрыВыполнения, Ссылка, Информация, Результат) Если Информация.Иерархический Тогда Запрос = Новый Запрос(Информация.ТекстЗапросаПоИерархии); @@ -222,23 +222,46 @@ КонецПроцедуры // Поиск ссылок путем сканирования всех таблиц. Выполняется после удаления. -Процедура НайтиПрепятствующиеУдалению(Ссылка, Информация, Результат) +Процедура НайтиПрепятствующиеУдалению(ПараметрыВыполнения, Ссылка, Информация, Результат) ПоискСсылок = Новый Массив; ПоискСсылок.Добавить(Ссылка); - Результат.ПрепятствующиеУдалению = НайтиПоСсылкам(ПоискСсылок); + ПрепятствующиеУдалению = НайтиПоСсылкам(ПоискСсылок); - ПоискНеПрепятствующих = Новый Структура(Результат.ПрепятствующиеУдалению.Колонки[1].Имя, Ссылка); - НеПрепятствующие = Результат.ПрепятствующиеУдалению.НайтиСтроки(ПоискНеПрепятствующих); - Для Каждого СтрокаТаблицы Из НеПрепятствующие Цикл - Результат.ПрепятствующиеУдалению.Удалить(СтрокаТаблицы); + // Пропуск ссылок из границ последовательности. + Количество = ПрепятствующиеУдалению.Количество(); + ИмяКолонки = ПрепятствующиеУдалению.Колонки[1].Имя; + Для Номер = 1 По Количество Цикл + ОбратныйИндекс = Количество - Номер; + СтрокаТаблицы = ПрепятствующиеУдалению[ОбратныйИндекс]; + ПрепятствующийСсылка = СтрокаТаблицы[ИмяКолонки]; + Если ПрепятствующийСсылка = Ссылка + Или ДокументУжеУдален(ПараметрыВыполнения, ПрепятствующийСсылка) Тогда + ПрепятствующиеУдалению.Удалить(СтрокаТаблицы); + КонецЕсли; КонецЦикла; + // Регистрация результата. + Результат.ПрепятствующиеУдалению = ПрепятствующиеУдалению; Результат.Количество = Результат.Количество + Результат.ПрепятствующиеУдалению.Количество(); КонецПроцедуры +// Поиск ссылки документа в базе данных. +Функция ДокументУжеУдален(ПараметрыВыполнения, Ссылка) + Если Ссылка = Неопределено Тогда + Возврат Ложь; // Не документ. + КонецЕсли; + Информация = СформироватьИнформациюОТипах(ПараметрыВыполнения, ТипЗнч(Ссылка)); + Если Информация.Вид <> "ДОКУМЕНТ" Тогда + Возврат Ложь; // Не документ. + КонецЕсли; + Запрос = Новый Запрос("Выбрать Первые 1 1 Из "+ Информация.ПолноеИмя +" Где Ссылка = &Ссылка"); + Запрос.УстановитьПараметр("Ссылка", Ссылка); + Возврат Запрос.Выполнить().Пустой(); +КонецФункции + // Удаление циклов (кольцевых связей объектов). Процедура УдалитьОставшиесяОбъектыВОднойТранзакции(ПараметрыВыполнения) Перем Ссылка; @@ -318,6 +341,16 @@ Если МассивСсылок.Количество() > 0 Тогда ПрепятствующиеУдалению = НайтиПоСсылкам(МассивСсылок); + + ИмяКолонки = ПрепятствующиеУдалению.Колонки[1].Имя; + Для Каждого Ссылка Из МассивСсылок Цикл + ПоискНеПрепятствующих = Новый Структура(ИмяКолонки, Ссылка); + НеПрепятствующие = ПрепятствующиеУдалению.НайтиСтроки(ПоискНеПрепятствующих); + Для Каждого СтрокаТаблицы Из НеПрепятствующие Цикл + ПрепятствующиеУдалению.Удалить(СтрокаТаблицы); + КонецЦикла; + КонецЦикла; + Если ПрепятствующиеУдалению.Количество() = 0 Тогда Успех = Истина; КонецЕсли; @@ -343,11 +376,17 @@ ПараметрыВыполнения.НеУдаленные.Удалить(Индекс); КонецЕсли; - // Очистка информации о связях. + // Очистка информации о связях "от" удаленных объектов. Найденные = ПараметрыВыполнения.ПрепятствующиеУдалению.НайтиСтроки(Новый Структура("УдаляемыйСсылка", Ссылка)); Для Каждого СтрокаТаблицы Из Найденные Цикл ПараметрыВыполнения.ПрепятствующиеУдалению.Удалить(СтрокаТаблицы); КонецЦикла; + + // Очистка информации о связях "к" удаленным объектам. + Найденные = ПараметрыВыполнения.ПрепятствующиеУдалению.НайтиСтроки(Новый Структура("ОбнаруженныйСсылка", Ссылка)); + Для Каждого СтрокаТаблицы Из Найденные Цикл + ПараметрыВыполнения.ПрепятствующиеУдалению.Удалить(СтрокаТаблицы); + КонецЦикла; КонецЦикла; Иначе ОтменитьТранзакцию(); @@ -545,6 +584,10 @@ Продолжить; // Неразделенные объекты запрещено изменять из области данных. КонецЕсли; + Если Информация.ЕстьПредопределенные И Информация.Предопределенные.Найти(Ссылка) <> Неопределено Тогда + Продолжить; // Предопределенные элементы создаются и удаляются только автоматически. + КонецЕсли; + Если Информация.Технический = Истина Тогда ПараметрыВыполнения.ТехнологическиеОбъекты.Добавить(Ссылка); Иначе @@ -563,7 +606,8 @@ Информация = Новый Структура("ПолноеИмя, ПредставлениеЭлемента, ПредставлениеСписка, |Вид, Ссылочный, Технический, Разделенный, |Иерархический, ТекстЗапросаПоИерархии, - |ЕстьПодчиненные, ТекстЗапросаПоПодчиненным"); + |ЕстьПодчиненные, ТекстЗапросаПоПодчиненным, + |ЕстьПредопределенные, Предопределенные"); // Поиск объекта метаданных. ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); @@ -655,6 +699,17 @@ КонецЕсли; КонецЕсли; + Если Информация.Вид = "СПРАВОЧНИК" + Или Информация.Вид = "ПЛАНВИДОВХАРАКТЕРИСТИК" + Или Информация.Вид = "ПЛАНСЧЕТОВ" + Или Информация.Вид = "ПЛАНВИДОВРАСЧЕТА" Тогда + Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ "+ Информация.ПолноеИмя +" ГДЕ Предопределенный И ПометкаУдаления"); + Информация.Предопределенные = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); + Информация.ЕстьПредопределенные = Информация.Предопределенные.Количество() > 0; + Иначе + Информация.ЕстьПредопределенные = Ложь; + КонецЕсли; + ПараметрыВыполнения.ИнформацияОТипах.Вставить(Тип, Информация); Возврат Информация; @@ -669,7 +724,7 @@ КонецЕсли; ЗаписьЖурналаРегистрации( - НСтр("ru = 'Удаление помеченных'"), + НСтр("ru = 'Удаление помеченных'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), УровеньЖурналаРегистрации.Предупреждение, , Ссылка, diff --git a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/УдалениеПомеченныхОбъектов.mdo b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/УдалениеПомеченныхОбъектов.mdo index a74cd3a4c..8aba38ea4 100644 --- a/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/УдалениеПомеченныхОбъектов.mdo +++ b/SSL/src/DataProcessors/УдалениеПомеченныхОбъектов/УдалениеПомеченныхОбъектов.mdo @@ -12,6 +12,7 @@ Поиск и удаление объектов, помеченных на удаление true DataProcessor.УдалениеПомеченныхОбъектов.Form.ОсновнаяФорма + true ru @@ -31,4 +32,17 @@ PersonalComputer MobileDevice + + УдалениеПомеченныхОбъектов + + ru + Удаление помеченных объектов + + NavigationPanelOrdinary + Auto + + ru + Поиск и удаление объектов, предварительно помеченных на удаление + + diff --git a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Forms/УправляемаяФорма/Module.bsl b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Forms/УправляемаяФорма/Module.bsl index 02ebfeb3e..8dfdd03fe 100644 --- a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Forms/УправляемаяФорма/Module.bsl +++ b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Forms/УправляемаяФорма/Module.bsl @@ -812,7 +812,7 @@ ДеревоДанных.Строки.Очистить(); СтрокаДерева = ДеревоДанных.Строки.Добавить(); - СтрокаДерева.Представление = "Справочники"; + СтрокаДерева.Представление = Нстр("ru = 'Справочники'"); Для каждого ОбъектМД Из Метаданные.Справочники Цикл @@ -827,7 +827,7 @@ КонецЦикла; СтрокаДерева = ДеревоДанных.Строки.Добавить(); - СтрокаДерева.Представление = НСтр("ru = 'Планы видов характеристик'"); + СтрокаДерева.Представление = Нстр("ru = 'Планы видов характеристик'"); Для каждого ОбъектМД Из Метаданные.ПланыВидовХарактеристик Цикл @@ -1301,7 +1301,7 @@ &НаКлиенте Процедура ВыполнитьЗагрузкуИзФормыЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - Если Результат ТОгда + Если Результат Тогда Состояние(НСтр("ru = 'Выполняется загрузка данных. Пожалуйста, подождите...'")); ВыполнитьЗагрузкуНаСервере(Адрес, ВыбранноеИмяФайла); diff --git a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Help/ru.html b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Help/ru.html index 2b4057220..246f42b4c 100644 --- a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Help/ru.html +++ b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                      Режим работы

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

                                      diff --git a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/ObjectModule.bsl b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/ObjectModule.bsl index 3d853fd67..2b1fb3f10 100644 --- a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/ObjectModule.bsl +++ b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/ObjectModule.bsl @@ -3588,7 +3588,7 @@ //Инициализируем возвращаемое значение ОбработчикНовый = ""; - ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, АлгоритмВладелец, СтрокаПрефикса, НСтр("ru = '{НАЧАЛО АЛГОРИТМА}'")); + ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, АлгоритмВладелец, СтрокаПрефикса, Нстр("ru = '{НАЧАЛО АЛГОРИТМА}'")); Для Индекс = 1 По СтрЧислоСтрок(Обработчик) Цикл @@ -3607,14 +3607,14 @@ Если МассивЗапрошенныхЭлементов.Найти(ВРег(Алгоритм)) <> Неопределено Тогда //Рекурсивный вызов алгоритма - ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, Алгоритм, СтрокаПрефиксаДляВложенногоКода, НСтр("ru = '{РЕКУРСИВНЫЙ ВЫЗОВ АЛГОРИТМА}'")); + ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, Алгоритм, СтрокаПрефиксаДляВложенногоКода, Нстр("ru = '{РЕКУРСИВНЫЙ ВЫЗОВ АЛГОРИТМА}'")); СтрокаОператора = Нстр("ru = 'ВызватьИсключение ""РЕКУРСИВНЫЙ ВЫЗОВ АЛГОРИТМА: %1"";'"); СтрокаОператора = ПодставитьПараметрыВСтроку(СтрокаОператора, Алгоритм); ОбработчикНовый = ОбработчикНовый + Символы.ПС + СтрокаПрефиксаДляВложенногоКода + СтрокаОператора; - ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, Алгоритм, СтрокаПрефиксаДляВложенногоКода, НСтр("ru = '{РЕКУРСИВНЫЙ ВЫЗОВ АЛГОРИТМА}'")); + ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, Алгоритм, СтрокаПрефиксаДляВложенногоКода, Нстр("ru = '{РЕКУРСИВНЫЙ ВЫЗОВ АЛГОРИТМА}'")); СтруктураЗаписи = Новый Структура; СтруктураЗаписи.Вставить("Алгоритм_1", АлгоритмВладелец); @@ -3636,7 +3636,7 @@ КонецЦикла; - ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, АлгоритмВладелец, СтрокаПрефикса, НСтр("ru = '{КОНЕЦ АЛГОРИТМА}'")); + ЗаписатьЗаголовокБлокаАлгоритма(ОбработчикНовый, АлгоритмВладелец, СтрокаПрефикса, Нстр("ru = '{КОНЕЦ АЛГОРИТМА}'")); Возврат ОбработчикНовый; @@ -6015,8 +6015,8 @@ Исключение - ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(73, ОписаниеОшибки(), "", "", - ТипОбъекта, Неопределено, НСтр("ru = 'Последовательность полей поиска'")); + ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(73, ОписаниеОшибки(), "", "", + ТипОбъекта, Неопределено, Нстр("ru = 'Последовательность полей поиска'")); КонецПопытки; @@ -6030,8 +6030,8 @@ СсылкаНаОбъект = НайтиЭлементПоСвойствамПоиска(ТипОбъекта, ИмяТипаОбъекта, СвойстваПоиска, СтруктураСвойств, СтрокаИменСвойствПоиска, ПоискПоДатеНаРавенство); - НеНужноВыполнятьПоиск = ЗначениеЗаполнено(СсылкаНаОбъект); - + НеНужноВыполнятьПоиск = ЗначениеЗаполнено(СсылкаНаОбъект); + КонецЕсли; Если НеНужноВыполнятьПоиск Тогда @@ -6865,10 +6865,10 @@ Исключение ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(53, ОписаниеОшибки(), ИмяПравила, Источник, - ТипОбъекта, Неопределено, НСтр("ru = 'ПередЗагрузкойОбъекта (глобальный)'")); - + ТипОбъекта, Неопределено, Нстр("ru = 'ПередЗагрузкойОбъекта (глобальный)'")); + КонецПопытки; - + Если Отказ Тогда // Отказ от загрузки объекта одПропустить(ФайлОбмена, "Объект"); @@ -7238,19 +7238,18 @@ Исключение - ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(54, ОписаниеОшибки(), ИмяПравила, Источник, - ТипОбъекта, Объект, НСтр("ru = 'ПослеЗагрузкиОбъекта (глобальный)'")); + ЗаписатьИнформациюОбОшибкеЗагрузкиОбработчикаПКО(54, ОписаниеОшибки(), ИмяПравила, Источник, + ТипОбъекта, Объект, Нстр("ru = 'ПослеЗагрузкиОбъекта (глобальный)'")); КонецПопытки; КонецЕсли; - - // Обработчик события ПослеЗагрузкиОбъекта + // Обработчик события ПослеЗагрузкиОбъекта Если ЕстьОбработчикПослеЗагрузки Тогда НужноБылоЗаписатьОбъект = НужноЗаписатьОбъект; - ОбъектМодифицирован = Истина; + ОбъектМодифицирован = Истина; Попытка @@ -7825,12 +7824,14 @@ Если ВыгружатьГруппуЧерезФайл Тогда + ПКГС.НуженУзелXMLПриВыгрузке = Ложь; + Если СписокВременныхФайлов = Неопределено Тогда СписокВременныхФайлов = Новый СписокЗначений(); КонецЕсли; ИмяФайлаЗаписей = ПолучитьИмяВременногоФайла(); - СписокВременныхФайлов.Добавить(ИмяФайлаЗаписей); + СписокВременныхФайлов.Добавить(ИмяФайлаЗаписей); ВременныйФайЗаписей = Новый ЗаписьТекста; Попытка @@ -7839,9 +7840,8 @@ Исключение - СтрокаСообщенияОбОшибке = ЗаписатьВПротоколВыполнения(8); - ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(1000, ОписаниеОшибки(), ИмяФайлаЗаписей + ": " + НСтр("ru = 'Ошибка при создании временного файла для выгрузки данных'")); - + ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(1000, ОписаниеОшибки(), Нстр("ru = 'Ошибка при создании временного файла для выгрузки данных'")); + КонецПопытки; ИнформацияДляЗаписиВФайл = УзелКоллекцииОбъектов.Закрыть(); @@ -9151,7 +9151,7 @@ КонецЕсли; Исключение - ЗаписатьИнформациюОбОшибкеВыгрузкиОбработчикаПКО(64, ОписаниеОшибки(), ПКО, Источник, НСтр("ru = 'ПередКонвертациейОбъекта (глобальный)'")); + ЗаписатьИнформациюОбОшибкеВыгрузкиОбработчикаПКО(64, ОписаниеОшибки(), ПКО, Источник, Нстр("ru = 'ПередКонвертациейОбъекта (глобальный)'")); КонецПопытки; Если Отказ Тогда // Отказ от дальнейшей обработки правила @@ -9160,11 +9160,10 @@ КонецЕсли; КонецЕсли; - - + // Обработчик ПередВыгрузкой Если ПКО.ЕстьОбработчикПередВыгрузкой Тогда - + Попытка Если ФлагРежимОтладкиОбработчиков Тогда @@ -9187,7 +9186,7 @@ КонецЕсли; КонецЕсли; - + // Возможно такие данные уже выгружались Если Не ВсеОбъектыВыгружены Тогда @@ -9231,7 +9230,7 @@ Нпп = мСчетчикНПП; КонецЕсли; - + // Это позволит избежать циклических ссылок Если ЗапоминатьВыгруженные Тогда @@ -9246,9 +9245,9 @@ КонецЕсли; КонецЕсли; - + КонецЕсли; - + СоответствиеЗначений = ПКО.Значения; КоличествоЭлементовСоответствияЗначений = СоответствиеЗначений.Количество(); @@ -9278,19 +9277,19 @@ И КоличествоЭлементовСоответствияЗначений > 0 Тогда ИмяПредопределенногоЭлемента = СоответствиеЗначений[Источник]; - + Иначе - ИмяПредопределенногоЭлемента = Неопределено; + ИмяПредопределенногоЭлемента = Неопределено; КонецЕсли; - КонецЕсли; + КонецЕсли; Если ИмяПредопределенногоЭлемента <> Неопределено Тогда КоличествоЭлементовСоответствияЗначений = 0; - КонецЕсли; + КонецЕсли; - Иначе - ИмяПредопределенногоЭлемента = Неопределено; + Иначе + ИмяПредопределенногоЭлемента = Неопределено; КонецЕсли; НеНужноВыгружатьПоСоответствиюЗначений = (КоличествоЭлементовСоответствияЗначений = 0); @@ -9307,7 +9306,7 @@ Если СтруктураСвойств.ИмяТипа = "Перечисление" И Найти(ПКО.Приемник, "ПеречислениеСсылка.") > 0 Тогда - УзелСсылки = ""; + УзелСсылки = ""; Иначе @@ -9325,10 +9324,10 @@ Если ПКО.СвойстваПоиска.Количество() > 0 ИЛИ ИмяПредопределенногоЭлемента <> Неопределено Тогда - + // Формируем узел ссылки УзелСсылки = СоздатьУзел("Ссылка"); - + Если НужноЗапоминатьОбъект Тогда Если ЭтоПравилоСГлобальнойВыгрузкойОбъектов Тогда @@ -9342,11 +9341,11 @@ ВыгрузитьТолькоСсылку = ПКО.НеВыгружатьОбъектыСвойствПоСсылкам ИЛИ ТолькоПолучитьУзелСсылки; Если НеСоздаватьЕслиНеНайден Тогда - УстановитьАтрибут(УзелСсылки, "НеСоздаватьЕслиНеНайден", НеСоздаватьЕслиНеНайден); + УстановитьАтрибут(УзелСсылки, "НеСоздаватьЕслиНеНайден", НеСоздаватьЕслиНеНайден); КонецЕсли; Если ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD Тогда - УстановитьАтрибут(УзелСсылки, "ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD", ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD); + УстановитьАтрибут(УзелСсылки, "ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD", ПриПереносеОбъектаПоСсылкеУстанавливатьТолькоGIUD); КонецЕсли; ВыгрузитьСвойства(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ПКО, ПКО.СвойстваПоиска, @@ -9358,7 +9357,7 @@ Если НужноЗапоминатьОбъект Тогда ВыгруженныеОбъекты[КлючВыгружаемыхДанных] = УзелСсылки; - + КонецЕсли; Иначе @@ -9370,10 +9369,10 @@ // Поиск в соответствии значений по ПКЗ Если УзелСсылки = Неопределено Тогда // по Соответствию значений не нашли - пробуем найти по свойствам поиска - СтруктураЗаписи = Новый Структура("Источник,ТипИсточника", Источник, ТипЗнч(Источник)); + СтруктураЗаписи = Новый Структура("Источник,ТипИсточника", Источник, ТипЗнч(Источник)); ЗаписатьВПротоколВыполнения(71, СтруктураЗаписи); Если СтрокаВСтекеВыгрузки <> Неопределено Тогда - мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); + мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); КонецЕсли; ТекущийУровеньВложенностиВыгрузитьПоПравилу = ТекущийУровеньВложенностиВыгрузитьПоПравилу - 1; Возврат Неопределено; @@ -9384,24 +9383,22 @@ КонецЕсли; Если СтрокаВСтекеВыгрузки <> Неопределено Тогда - мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); + мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); КонецЕсли; ТекущийУровеньВложенностиВыгрузитьПоПравилу = ТекущийУровеньВложенностиВыгрузитьПоПравилу - 1; Возврат УзелСсылки; КонецЕсли; - - - Если ТолькоПолучитьУзелСсылки - Или ВсеОбъектыВыгружены Тогда - - Если СтрокаВСтекеВыгрузки <> Неопределено Тогда - мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); + + Если ТолькоПолучитьУзелСсылки Или ВсеОбъектыВыгружены Тогда + + Если СтрокаВСтекеВыгрузки <> Неопределено Тогда + мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); КонецЕсли; ТекущийУровеньВложенностиВыгрузитьПоПравилу = ТекущийУровеньВложенностиВыгрузитьПоПравилу - 1; Возврат УзелСсылки; - КонецЕсли; + КонецЕсли; Если Приемник = Неопределено Тогда @@ -9461,7 +9458,7 @@ Если Отказ Тогда // отказ от записи объекта в файл Если СтрокаВСтекеВыгрузки <> Неопределено Тогда - мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); + мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); КонецЕсли; ТекущийУровеньВложенностиВыгрузитьПоПравилу = ТекущийУровеньВложенностиВыгрузитьПоПравилу - 1; Возврат УзелСсылки; @@ -9472,12 +9469,12 @@ // Выгрузка свойств Если СтандартнаяОбработка Тогда - ВыгрузитьСвойства(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ПКО, ПКО.Свойства, , ВыборкаДляВыгрузкиДанных, , + ВыгрузитьСвойства(Источник, Приемник, ВходящиеДанные, ИсходящиеДанные, ПКО, ПКО.Свойства, , ВыборкаДляВыгрузкиДанных, , ПКО.НеВыгружатьОбъектыСвойствПоСсылкам ИЛИ ТолькоПолучитьУзелСсылки, СписокВременныхФайлов); - КонецЕсли; + КонецЕсли; - // Обработчик ПослеВыгрузки + // Обработчик ПослеВыгрузки Если ПКО.ЕстьОбработчикПослеВыгрузки Тогда Попытка @@ -9491,15 +9488,15 @@ Выполнить(ПКО.ПослеВыгрузки); КонецЕсли; - + Исключение ЗаписатьИнформациюОбОшибкеВыгрузкиОбработчикаПКО(43, ОписаниеОшибки(), ПКО, Источник, "ПослеВыгрузкиОбъекта"); КонецПопытки; - + Если Отказ Тогда // отказ от записи объекта в файл Если СтрокаВСтекеВыгрузки <> Неопределено Тогда - мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); + мСтекВызововВыгрузкиДанных.Удалить(СтрокаВСтекеВыгрузки); КонецЕсли; ТекущийУровеньВложенностиВыгрузитьПоПравилу = ТекущийУровеньВложенностиВыгрузитьПоПравилу - 1; Возврат УзелСсылки; @@ -9507,18 +9504,17 @@ КонецЕсли; КонецЕсли; - + Если СписокВременныхФайлов = Неопределено Тогда // Запись объекта в файл - Приемник.ЗаписатьКонецЭлемента(); - - ЗаписатьВФайл(Приемник); + Приемник.ЗаписатьКонецЭлемента(); + ЗаписатьВФайл(Приемник); Иначе ЗаписатьВФайл(Приемник); - + ВременныйФайл = Новый ЧтениеТекста; Для каждого ИмяВременногоФайла Из СписокВременныхФайлов Цикл @@ -9531,7 +9527,7 @@ СтрокаВременногоФайла = ВременныйФайл.ПрочитатьСтроку(); Пока СтрокаВременногоФайла <> Неопределено Цикл ЗаписатьВФайл(СтрокаВременногоФайла); - СтрокаВременногоФайла = ВременныйФайл.ПрочитатьСтроку(); + СтрокаВременногоФайла = ВременныйФайл.ПрочитатьСтроку(); КонецЦикла; ВременныйФайл.Закрыть(); @@ -9612,12 +9608,10 @@ КонецЕсли; - ИмяПКО = Правило.ПравилоКонвертации; Отказ = Ложь; ИсходящиеДанные = Неопределено; - // Глобальный обработчик ПередВыгрузкойОбъекта Если ЕстьГлобальныйОбработчикПередВыгрузкойОбъекта Тогда @@ -9632,17 +9626,17 @@ Выполнить(Конвертация.ПередВыгрузкойОбъекта); КонецЕсли; - + Исключение - ЗаписатьИнформациюОбОшибкеОбработчикиПВД(65, ОписаниеОшибки(), Правило.Имя, НСтр("ru = 'ПередВыгрузкойОбъектаВыборки (глобальный)'"), Объект); + ЗаписатьИнформациюОбОшибкеОбработчикиПВД(65, ОписаниеОшибки(), Правило.Имя, Нстр("ru = 'ПередВыгрузкойОбъектаВыборки (глобальный)'"), Объект); КонецПопытки; Если Отказ Тогда Возврат; КонецЕсли; - КонецЕсли; - + КонецЕсли; + // Обработчик ПередВыгрузкой Если Не ПустаяСтрока(Правило.ПередВыгрузкой) Тогда @@ -9655,9 +9649,9 @@ Иначе Выполнить(Правило.ПередВыгрузкой); - + КонецЕсли; - + Исключение ЗаписатьИнформациюОбОшибкеОбработчикиПВД(33, ОписаниеОшибки(), Правило.Имя, "ПередВыгрузкойОбъектаВыборки", Объект); КонецПопытки; @@ -9666,12 +9660,11 @@ Возврат; КонецЕсли; - КонецЕсли; - - УзелСсылки = Неопределено; - + КонецЕсли; + + УзелСсылки = Неопределено; + ВыгрузитьПоПравилу(Объект, , ИсходящиеДанные, , ИмяПКО, УзелСсылки, , , , ВыборкаДляВыгрузкиДанных); - // Глобальный обработчик ПослеВыгрузкиОбъекта Если ЕстьГлобальныйОбработчикПослеВыгрузкиОбъекта Тогда @@ -9689,13 +9682,12 @@ КонецЕсли; Исключение - ЗаписатьИнформациюОбОшибкеОбработчикиПВД(69, ОписаниеОшибки(), Правило.Имя, НСтр("ru = 'ПослеВыгрузкиОбъектаВыборки (глобальный)'"), Объект); + ЗаписатьИнформациюОбОшибкеОбработчикиПВД(69, ОписаниеОшибки(), Правило.Имя, Нстр("ru = 'ПослеВыгрузкиОбъектаВыборки (глобальный)'"), Объект); КонецПопытки; КонецЕсли; - - // Обработчик ПослеВыгрузки + // Обработчик ПослеВыгрузки Если Не ПустаяСтрока(Правило.ПослеВыгрузки) Тогда Попытка @@ -10103,22 +10095,19 @@ ПКО = Правила[ИмяПКО]; КонецЕсли; - - + Если ФлагКомментироватьОбработкуОбъектов Тогда СтрокаСообщения = ПодставитьПараметрыВСтроку(Нстр("ru = 'Правило выгрузки данных: %1 (%2)'"), СокрЛП(Правило.Имя), СокрЛП(Правило.Наименование)); ЗаписатьВПротоколВыполнения(СтрокаСообщения, , Ложь, , 4); КонецЕсли; - // Обработчик ПередОбработкой - Отказ = Ложь; + Отказ = Ложь; ИсходящиеДанные = Неопределено; ВыборкаДанных = Неопределено; - - + Если Не ПустаяСтрока(Правило.ПередОбработкой) Тогда Попытка @@ -10136,9 +10125,9 @@ Исключение ЗаписатьИнформациюОбОшибкеОбработчикиПВД(31, ОписаниеОшибки(), Правило.Имя, "ПередОбработкойВыгрузкиДанных"); - + КонецПопытки; - + Если Отказ Тогда Возврат; @@ -10146,19 +10135,17 @@ КонецЕсли; КонецЕсли; - - + // Стандартная выборка с отбором Если Правило.СпособОтбораДанных = "СтандартнаяВыборка" И Правило.ИспользоватьОтбор Тогда - + Свойства = Менеджеры[Правило.ОбъектВыборки]; ИмяТипа = Свойства.ИмяТипа; ВыборкаДляПКО = Неопределено; Выборка = ПолучитьВыборкуДляВыгрузкиСОграничениями(Правило, ВыборкаДляПКО, Свойства); - ЭтоНеСсылочныйТип = ИмяТипа = "РегистрСведений" - ИЛИ ИмяТипа = "РегистрБухгалтерии"; + ЭтоНеСсылочныйТип = ИмяТипа = "РегистрСведений" Или ИмяТипа = "РегистрБухгалтерии"; Пока Выборка.Следующий() Цикл @@ -10169,7 +10156,7 @@ КонецЕсли; КонецЦикла; - + // Стандартная выборка без отбора ИначеЕсли (Правило.СпособОтбораДанных = "СтандартнаяВыборка") Тогда @@ -10178,7 +10165,7 @@ Если ИмяТипа = "Константы" Тогда - ВыгрузитьНаборКонстант(Правило, Свойства, ИсходящиеДанные); + ВыгрузитьНаборКонстант(Правило, Свойства, ИсходящиеДанные); Иначе @@ -10195,7 +10182,6 @@ ВыбиратьВсеПоля = Правило.ВыбиратьДанныеДляВыгрузкиОднимЗапросом; КонецЕсли; - Выборка = ПолучитьВыборкуДляВыгрузкиОчисткиДанных(Свойства, ИмяТипа, , , ВыбиратьВсеПоля); ВыборкаДляПКО = ?(Правило.ВыбиратьДанныеДляВыгрузкиОднимЗапросом, Выборка, Неопределено); @@ -10553,31 +10539,30 @@ Выполнить(ПоследняяСтрокаПравилаВыгрузки.ПослеОбработки); КонецЕсли; - + Исключение - + ЗаписатьИнформациюОбОшибкеОбработчикиПВД(32, ОписаниеОшибки(), ПоследняяСтрокаПравилаВыгрузки.Имя, "ПослеОбработкиВыгрузкиДанных"); - + КонецПопытки; - КонецЕсли; + КонецЕсли; КонецЕсли; - - // перед обработкой Если ТекущаяСтрокаПравилаВыгрузки <> Неопределено Тогда Если ФлагКомментироватьОбработкуОбъектов Тогда + СтрокаСообщения = ПодставитьПараметрыВСтроку(Нстр("ru = 'Правило выгрузки данных: %1 (%2)'"), СокрЛП(ТекущаяСтрокаПравилаВыгрузки.Имя), СокрЛП(ТекущаяСтрокаПравилаВыгрузки.Наименование)); ЗаписатьВПротоколВыполнения(СтрокаСообщения, , Ложь, , 4); - + КонецЕсли; - + // Обработчик ПередОбработкой - Отказ = Ложь; + Отказ = Ложь; ИсходящиеДанные = Неопределено; ВыборкаДанных = Неопределено; @@ -10598,26 +10583,24 @@ Исключение ЗаписатьИнформациюОбОшибкеОбработчикиПВД(31, ОписаниеОшибки(), ТекущаяСтрокаПравилаВыгрузки.Имя, "ПередОбработкойВыгрузкиДанных"); - + КонецПопытки; КонецЕсли; - + Если Отказ Тогда // удаляем правило из массива правил ТекущаяСтрокаПравилаВыгрузки = Неопределено; УдалитьСтрокуДереваПравилВыгрузкиПоТипуВыгрузкиИзМассива(ВременныйМассивПравилКонвертации, ТекущаяСтрокаПравилаВыгрузки); - ОбъектДляПравилВыгрузки = Неопределено; + ОбъектДляПравилВыгрузки = Неопределено; КонецЕсли; - КонецЕсли; - + КонецЕсли; КонецЕсли; - // есть правило по которому нужно делать выгрузку данных Если ТекущаяСтрокаПравилаВыгрузки <> Неопределено Тогда @@ -10632,7 +10615,7 @@ Свойства = Менеджеры[ТекущаяСтрокаПравилаВыгрузки.ОбъектВыборки]; ВыгрузитьНаборКонстант(ТекущаяСтрокаПравилаВыгрузки, Свойства, ИсходящиеДанные); - Иначе + Иначе ВыгрузкаОбъектаВыборки(ОбъектДляПравилВыгрузки, ТекущаяСтрокаПравилаВыгрузки, , ИсходящиеДанные); @@ -10665,7 +10648,6 @@ КоличествоНайденныхДляЗаписиОбъектов = 0; КонецЕсли; - КонецЦикла; Если ИспользоватьТранзакцииПриВыгрузкеДляПлановОбмена Тогда @@ -10674,12 +10656,9 @@ // Завершаем запись сообщения ЗаписьСообщения.ЗакончитьЗапись(); - + ЗаписьXML.Закрыть(); - - - // событие после обработки Если ПоследняяСтрокаПравилаВыгрузки <> Неопределено Тогда @@ -10707,7 +10686,6 @@ КонецЕсли; - Исключение Если ИспользоватьТранзакцииПриВыгрузкеДляПлановОбмена Тогда @@ -10724,7 +10702,7 @@ ЗаписьXML.Закрыть(); Возврат Ложь; - + КонецПопытки; СтруктураДляУдаленияРегистрацииИзменений.МассивПКО = ВременныйМассивПравилКонвертации; @@ -11895,14 +11873,14 @@ КонецЕсли; ИначеЕсли ИмяУзла = "ПравилаОбмена" Тогда - - мБылиПрочитаныПравилаОбменаПриЗагрузке = Истина; + + мБылиПрочитаныПравилаОбменаПриЗагрузке = Истина; Если ТаблицаПравилКонвертации.Количество() = 0 Тогда ЗагрузитьПравилаОбмена(ФайлОбмена, "ЧтениеXML"); Иначе одПропустить(ФайлОбмена); - КонецЕсли; + КонецЕсли; ИначеЕсли ИмяУзла = "ИнформацияОТипахДанных" Тогда @@ -11913,9 +11891,9 @@ Иначе СтруктураЗаписи = Новый Структура("ИмяУзла", ИмяУзла); ЗаписатьВПротоколВыполнения(9, СтруктураЗаписи); - КонецЕсли; + КонецЕсли; - КонецЦикла; + КонецЦикла; Исключение @@ -11927,7 +11905,7 @@ ФайлОбмена.Закрыть(); Возврат; - КонецПопытки; + КонецПопытки; КонецПроцедуры @@ -12028,7 +12006,7 @@ КонецЕсли; Исключение - СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(22, ОписаниеОшибки(), НСтр("ru = 'ПередЗагрузкойДанных (конвертация)'")); + СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(22, ОписаниеОшибки(), Нстр("ru = 'ПередЗагрузкойДанных (конвертация)'")); Отказ = Истина; КонецПопытки; @@ -12088,7 +12066,7 @@ КонецЕсли; Исключение - СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(23, ОписаниеОшибки(), НСтр("ru = 'ПослеЗагрузкиДанных (конвертация)'")); + СтрокаСообщенияОбОшибке = ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(23, ОписаниеОшибки(), Нстр("ru = 'ПослеЗагрузкиДанных (конвертация)'")); КонецПопытки; КонецЕсли; @@ -12217,7 +12195,7 @@ мОбработкаДляЗагрузкиДанных.ФайлОбмена.УстановитьСтроку(ИнформацияДляЗаписиВФайл); - мОбработкаДляЗагрузкиДанных.ПроизвестиЧтениеДанных(СтрокаОшибкиВБазеПриемнике); + мОбработкаДляЗагрузкиДанных.ПроизвестиЧтениеДанных(СтрокаОшибкиВБазеПриемнике); Если Не ПустаяСтрока(СтрокаОшибкиВБазеПриемнике) Тогда @@ -12479,8 +12457,8 @@ Выполнить(Конвертация.ПередВыгрузкойДанных); - КонецЕсли; - + КонецЕсли; + Исключение ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(62, ОписаниеОшибки(), Нстр("ru = 'ПередВыгрузкойДанных (конвертация)'")); Отказ = Истина; @@ -12500,7 +12478,7 @@ // нужно параметры передать в приемник ПередатьДополнительныеПараметрыВПриемник(); - + ТекстСобытияПослеЗагрузкиПараметров = ""; Если Конвертация.Свойство("ПослеЗагрузкиПараметров", ТекстСобытияПослеЗагрузкиПараметров) И Не ПустаяСтрока(ТекстСобытияПослеЗагрузкиПараметров) Тогда @@ -12508,13 +12486,13 @@ ЗаписьСобытия = Новый ЗаписьXML; ЗаписьСобытия.УстановитьСтроку(); одЗаписатьЭлемент(ЗаписьСобытия, "АлгоритмПослеЗагрузкиПараметров", ТекстСобытияПослеЗагрузкиПараметров); - ЗаписатьВФайл(ЗаписьСобытия); - + ЗаписатьВФайл(ЗаписьСобытия); + КонецЕсли; СоответствиеУзловИПравилВыгрузки = Новый Соответствие(); СтруктураДляУдаленияРегистрацииИзменений = Новый Соответствие(); - + ОбработатьПравилаВыгрузки(ТаблицаПравилВыгрузки.Строки, СоответствиеУзловИПравилВыгрузки); УдачноВыгруженоПоПланамОбмена = ОбработатьВыгрузкуДляПлановОбмена(СоответствиеУзловИПравилВыгрузки, СтруктураДляУдаленияРегистрацииИзменений); @@ -12525,7 +12503,6 @@ КонецЕсли; - // Обработчик ПослеВыгрузкиДанных Попытка diff --git a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Templates/ОбщиеПроцедурыФункции/Template.txt b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Templates/ОбщиеПроцедурыФункции/Template.txt index aec85c49a..2d77bb51e 100644 --- a/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Templates/ОбщиеПроцедурыФункции/Template.txt +++ b/SSL/src/DataProcessors/УниверсальныйОбменДаннымиXML/Templates/ОбщиеПроцедурыФункции/Template.txt @@ -32,7 +32,7 @@ // ОБРАБОТЧИКИ ОЧИСТКИ ДАННЫХ #Область Предупреждение_Комментарий //////////////////////////////////////////////////////////////////////////////// -// !!!ВНИМАНИЕ!!! +// ВНИМАНИЕ // ИЗМЕНЯТЬ КОД В ЭТОМ БЛОКЕ (НИЖЕ) ЗАПРЕЩЕНО! //////////////////////////////////////////////////////////////////////////////// #Область ОбщиеПроцедурыФункции_Комментарий @@ -328,7 +328,7 @@ // Читает текст элемента и приводит значение к указанному типу // // Параметры: -// Объект - объект типа XMLЧтение, из которого осуществлется чтение +// Объект - объект типа XMLЧтение, из которого осуществляется чтение // Тип - тип получаемого значения // ИскатьПоСвойству - для ссылочных типов может быть указано свойство, по которому // следует искать объект: "Код", "Наименование", <ИмяРеквизита>, "Имя" (предопределенного значения) @@ -352,24 +352,24 @@ // не является ошибкой проверки конфигурации // // Параметры: -// Значение - значение перечисления +// Значение - значение перечисления // // Возвращаемое значение: -// Строка - имя переданного значения перечисления. +// Строка - имя переданного значения перечисления. // Функция одИмяЗначенияПеречисления(Значение) Экспорт - - Возврат ОбщиеПроцедурыФункции.одИмяЗначенияПеречисления(Значение); + + Возврат ОбщиеПроцедурыФункции.одИмяЗначенияПеречисления(Значение); КонецФункции // Определяет заполнено ли переданное значение // -// Параметры: -// Значение - значение, заполенение которого надо проверить +// Параметры: +// Значение - значение, заполнение которого надо проверить // // Возвращаемое значение: -// Истина - значение не заполнено, ложь - иначе. +// Истина - значение не заполнено, ложь - иначе. // Функция одПустое(Значение, ЭтоNULL=Ложь) Экспорт @@ -380,28 +380,28 @@ // Возвращает объект ОписаниеТипов, содержащий указанный тип. // // Параметры: -// ЗначениеТипа - строка с именем типа или значение типа Тип. -// +// ЗначениеТипа - строка с именем типа или значение типа Тип. +// // Возвращаемое значение: -// ОписаниеТипов +// ОписаниеТипов // Функция одОписаниеТипа(ЗначениеТипа) Экспорт Возврат ОбщиеПроцедурыФункции.одОписаниеТипа(ЗначениеТипа); - + КонецФункции // Возвращает пустое (дефолтное) значение указанного типа // // Параметры: -// Тип - строка с именем типа или значение типа Тип. +// Тип - строка с именем типа или значение типа Тип. // // Возвращаемое значение: -// Пустое значение указанного типа. +// Пустое значение указанного типа. // Функция одПолучитьПустоеЗначение(Тип) Экспорт - - Возврат ОбщиеПроцедурыФункции.одПолучитьПустоеЗначение(Тип); + + Возврат ОбщиеПроцедурыФункции.одПолучитьПустоеЗначение(Тип); КонецФункции @@ -416,33 +416,33 @@ // Возвращаемое значение: // Найденный объект информационной базы. // -Функция одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение, - НайденныйОбъектПоУникальномуИдентификатору = Неопределено, - ОбщаяСтруктураСвойств = Неопределено, ОбщиеСвойстваПоиска = Неопределено, - РежимПоискаОсновногоОбъекта = Истина, СтрокаЗапросаПоискаПоУникальномуИдентификатору = "") Экспорт - - Возврат ОбщиеПроцедурыФункции.одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение, - НайденныйОбъектПоУникальномуИдентификатору, - ОбщаяСтруктураСвойств, ОбщиеСвойстваПоиска, - РежимПоискаОсновногоОбъекта, СтрокаЗапросаПоискаПоУникальномуИдентификатору); +Функция одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение, + НайденныйОбъектПоУникальномуИдентификатору = Неопределено, + ОбщаяСтруктураСвойств = Неопределено, ОбщиеСвойстваПоиска = Неопределено, + РежимПоискаОсновногоОбъекта = Истина, + СтрокаЗапросаПоискаПоУникальномуИдентификатору = "") Экспорт + + Возврат ОбщиеПроцедурыФункции.одНайтиОбъектПоСвойству(Менеджер, Свойство, Значение, + НайденныйОбъектПоУникальномуИдентификатору, + ОбщаяСтруктураСвойств, ОбщиеСвойстваПоиска, + РежимПоискаОсновногоОбъекта, СтрокаЗапросаПоискаПоУникальномуИдентификатору); КонецФункции // Осуществляет простой поиск объекта информационной базы по указанному свойству. // // Параметры: -// Стр - Строка - значение свойства, по которому осуществляется -// поиск объект; -// Тип - тип искомого объекта; -// Свойство - Строка - имя свойства, по-которому ищем объект. +// Стр - Строка - значение свойства, по которому осуществляется поиск объекта; +// Тип - тип искомого объекта; +// Свойство - Строка - имя свойства, по-которому ищем объект. // // Возвращаемое значение: -// Найденный объект информационной базы +// Найденный объект информационной базы // Функция одПолучитьЗначениеПоСтроке(Стр, Тип, Свойство = "") Экспорт - + Возврат ОбщиеПроцедурыФункции.одПолучитьЗначениеПоСтроке(Стр, Тип, Свойство); - + КонецФункции // Возвращает строковое представление типа значения @@ -454,7 +454,7 @@ // Строка - строковое представление типа значения // Функция одТипЗначенияСтрокой(ЗначениеИлиТип) Экспорт - + Возврат ОбщиеПроцедурыФункции.одТипЗначенияСтрокой(ЗначениеИлиТип); КонецФункции @@ -472,7 +472,7 @@ // Строка - XML представление переданного объекта ОписаниеТипов // Функция одПолучитьXMLПредставлениеОписанияТипов(ОписаниеТипов) Экспорт - + Возврат ОбщиеПроцедурыФункции.одПолучитьXMLПредставлениеОписанияТипов(ОписаниеТипов); КонецФункции @@ -483,29 +483,29 @@ // Разбирает строку на две части: до подстроки разделителя и после. // // Параметры: -// Стр - разбираемая строка; -// Разделитель - подстрока-разделитель: +// Стр - разбираемая строка; +// Разделитель - подстрока-разделитель: // Режим - 0 - разделитель в возвращаемые подстроки не включается; // 1 - разделитель включается в левую подстроку; // 2 - разделитель включается в правую подстроку. // // Возвращаемое значение: -// Правая часть строки - до символа-разделителя. +// Правая часть строки - до символа-разделителя. // Функция ОтделитьРазделителем(Стр, Знач Разделитель, Режим=0) Экспорт - - Возврат ОбщиеПроцедурыФункции.ОтделитьРазделителем(Стр, Разделитель, Режим); + + Возврат ОбщиеПроцедурыФункции.ОтделитьРазделителем(Стр, Разделитель, Режим); КонецФункции // Преобразует значения из строки в массив, используя указанный разделитель // // Параметры: -// Стр - Разбираемая строка -// Разделитель - подстрока разделитель +// Стр - Разбираемая строка +// Разделитель - подстрока разделитель // // Возвращаемое значение: -// Массив значений +// Массив значений // Функция МассивИзСтроки(Знач Стр, Разделитель=",") Экспорт @@ -513,6 +513,16 @@ КонецФункции +// Возвращает строку номера без символьных префиксов +// Например: +// ПолучитьСтроковыйНомерБезПрефиксов("УТ0000001234") = "0000001234" +// +// Параметры: +// Номер - Строка - номер, из которого необходимо вычислить результат функции +// +// Возвращаемое значение: +// Строка номера без символьных префиксов +// Функция ПолучитьСтроковыйНомерБезПрефиксов(Номер) Экспорт Возврат ОбщиеПроцедурыФункции.ПолучитьСтроковыйНомерБезПрефиксов(Номер); @@ -530,9 +540,9 @@ // Префикс строки // Функция ПолучитьПрефиксЧислоНомера(Знач Стр, ЧисловаяЧасть = "", Режим = "") Экспорт - + Возврат ОбщиеПроцедурыФункции.ПолучитьПрефиксЧислоНомера(Стр, ЧисловаяЧасть, Режим); - + КонецФункции // Приводит номер (код) к требуемой длине. При этом выделяется префикс @@ -550,10 +560,12 @@ // Возвращаемое значение: // Строка - код или номер, приведенная к требуемой длине. // -Функция ПривестиНомерКДлине(Знач Стр, Длина, ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера = Истина, Префикс = "") Экспорт - - Возврат ОбщиеПроцедурыФункции.ПривестиНомерКДлине(Стр, Длина, ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера, Префикс); - +Функция ПривестиНомерКДлине(Знач Стр, Длина, ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера = Истина, + Префикс = "") Экспорт + + Возврат ОбщиеПроцедурыФункции.ПривестиНомерКДлине(Стр, Длина, + ДобавлятьНулиЕслиДлинаНеМеньшеТекущейДлиныНомера, Префикс); + КонецФункции // Добавляет к префиксу номера или кода подстроку @@ -564,8 +576,8 @@ // // Параметры: // Стр - Строка. Номер или код; -// Добавок - добаляемая к префиксу подстрока; -// Длина - требуемая результрирующая длина строки; +// Добавок - добавляемая к префиксу подстрока; +// Длина - требуемая результирующая длина строки; // Режим - "Слева" - подстрока добавляется слева к префиксу, иначе - справа. // // Возвращаемое значение: @@ -599,7 +611,7 @@ // Сохраняет в файл указанный xml-узел // // Параметры: -// Узел - xml-узел, сохранямый в файл +// Узел - xml-узел, сохраняемый в файл // Процедура ЗаписатьВФайл(Узел) Экспорт @@ -626,22 +638,31 @@ КонецФункции - //////////////////////////////////////////////////////////////////////////////// // +// Выполняет передачу строки данных для загрузки в базе-приемнике +// +// Параметры: +// ИнформацияДляЗаписиВФайл - Строка (текст XML) - строка с данными +// СтрокаОшибкиВБазеПриемнике - Строка - содержит описание ошибки при загрузке в базе-приемнике +// Процедура ПередатьИнформациюОЗаписиВПриемник(ИнформацияДляЗаписиВФайл, СтрокаОшибкиВБазеПриемнике = "") Экспорт ОбщиеПроцедурыФункции.ПередатьИнформациюОЗаписиВПриемник(ИнформацияДляЗаписиВФайл, СтрокаОшибкиВБазеПриемнике); КонецПроцедуры +// Выполняет запись имени, типа и значения параметра в файл сообщения обмена для передачи в базу-приемник +// Процедура ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации = "") Экспорт ОбщиеПроцедурыФункции.ПередатьОдинПараметрВПриемник(Имя, ИсходноеЗначениеПараметра, ПравилоКонвертации); КонецПроцедуры +// Передает все дополнительные параметры в приемник +// Процедура ПередатьДополнительныеПараметрыВПриемник() Экспорт ОбщиеПроцедурыФункции.ПередатьДополнительныеПараметрыВПриемник(); diff --git a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Form.form b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Form.form index de74e75a2..d792b762f 100644 --- a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Form.form +++ b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Form.form @@ -84,7 +84,7 @@ false true - Web.DarkBlue + Style.ПоясняющийТекст Left @@ -192,7 +192,7 @@ false true - Web.DarkBlue + Style.ПоясняющийТекст Left @@ -240,13 +240,6 @@ ru Итоги - - System.DefaultGUIFont - true - false - false - false - ru Быстрый доступ итоги @@ -275,7 +268,7 @@ - ГруппаБыстрыйДоступАггрегаты + ГруппаБыстрыйДоступАгрегаты 214 ГруппаПерестроениеИЗаполнениеАгрегатов @@ -346,7 +339,7 @@ false true - Web.DarkBlue + Style.ПоясняющийТекст Left @@ -454,7 +447,7 @@ false true - Web.DarkBlue + Style.ПоясняющийТекст Left @@ -502,19 +495,12 @@ ru Агрегаты - - System.DefaultGUIFont - true - false - false - false - ru Группа быстрый доступ агрегаты - ГруппаБыстрыйДоступАггрегатыExtendedTooltip + ГруппаБыстрыйДоступАгрегатыРасширеннаяПодсказка 339 Label true @@ -596,47 +582,6 @@ MoveDown MoveUp OutputList - - ИтогиНаименование - 12 - true - true - - true - - - СписокИтогов.Наименование - - - ИтогиНаименованиеExtendedTooltip - 372 - Label - true - true - - Left - - - - ИтогиНаименованиеКонтекстноеМеню - 13 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - Normal - - ИтогиИспользоватьИтоги 14 @@ -674,24 +619,118 @@ true - - ИтогиИспользоватьТекущиеИтоги - 16 + + СписокИтоговНаименованиеИРежим + 414 + + ИтогиНаименование + 12 + true + true + + true + + + СписокИтогов.Наименование + + + ИтогиНаименованиеExtendedTooltip + 372 + Label + true + true + + Left + + + + ИтогиНаименованиеКонтекстноеМеню + 13 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + Normal + + + + ИтогиАгрегатыИтоги + 71 + true + true + + true + + + СписокИтогов.АгрегатыИтоги + + + ru + Какой режим использует регистр: итогов или агрегатов + + + ИтогиАгрегатыИтогиExtendedTooltip + 377 + Label + true + true + + Left + + + + ИтогиАгрегатыИтогиКонтекстноеМеню + 72 + true + + InputField + true + Left + Auto + Left + true + + true + true + true + true + true + Normal + + System.DefaultGUIFont + false + true + false + false + + + true true true - - СписокИтогов.ИспользоватьТекущиеИтоги - + + <key>ru</key> + <value>Список итогов наименование и режим</value> + ru - Признак использования текущих итогов данным регистром. + Список итогов наименование и режим - ИтогиИспользоватьТекущиеИтогиExtendedTooltip - 374 + СписокИтоговНаименованиеИРежимРасширеннаяПодсказка + 415 Label true true @@ -699,17 +738,12 @@ Left - - ИтогиИспользоватьТекущиеИтогиКонтекстноеМеню - 17 - true - - CheckBoxField - Auto - true - Left - true - + ColumnGroup + + Vertical + auto + true + ИтогиПериодИтогов @@ -763,6 +797,43 @@ Normal + + ИтогиИспользоватьТекущиеИтоги + 16 + true + true + + true + + + СписокИтогов.ИспользоватьТекущиеИтоги + + + ru + Признак использования текущих итогов данным регистром. + + + ИтогиИспользоватьТекущиеИтогиExtendedTooltip + 374 + Label + true + true + + Left + + + + ИтогиИспользоватьТекущиеИтогиКонтекстноеМеню + 17 + true + + CheckBoxField + Auto + true + Left + true + + ИтогиРазделениеИтогов 185 @@ -801,52 +872,6 @@ true - - ИтогиАгрегатыИтоги - 71 - true - true - - true - - - СписокИтогов.АгрегатыИтоги - - - ru - Какой режим использует регистр: итогов или агрегатов - - - ИтогиАгрегатыИтогиExtendedTooltip - 377 - Label - true - true - - Left - - - - ИтогиАгрегатыИтогиКонтекстноеМеню - 72 - true - - InputField - true - Left - Auto - true - Left - true - - true - true - true - true - true - Normal - - СписокИтоговКоманднаяПанель 11 @@ -871,7 +896,6 @@ Form.Command.ОбновитьСостояниеИтогов Normal - Auto true true UserCmds @@ -1369,10 +1393,10 @@ СписокИтоговСтрокаПоиска - 414 + 424 СписокИтоговСтрокаПоискаРасширеннаяПодсказка - 416 + 426 Label true true @@ -1382,7 +1406,7 @@ СписокИтоговСтрокаПоискаКонтекстноеМеню - 415 + 425 true СписокИтогов @@ -1392,10 +1416,10 @@ СписокИтоговСостояниеПросмотра - 417 + 427 СписокИтоговСостояниеПросмотраРасширеннаяПодсказка - 419 + 429 Label true true @@ -1405,7 +1429,7 @@ СписокИтоговСостояниеПросмотраКонтекстноеМеню - 418 + 428 true ViewStatusAddition @@ -1416,10 +1440,10 @@ СписокИтоговУправлениеПоиском - 420 + 430 СписокИтоговУправлениеПоискомРасширеннаяПодсказка - 422 + 432 Label true true @@ -1429,7 +1453,7 @@ СписокИтоговУправлениеПоискомКонтекстноеМеню - 421 + 431 true SearchControlAddition @@ -1591,11 +1615,8 @@ ПрерыватьПриОшибке 264 - true true - - true - + ПрерыватьПриОшибке @@ -1667,97 +1688,6 @@ false None - - АгрегатыПоРегистрамНаименование - 59 - true - true - - true - - - АгрегатыПоРегистрам.Наименование - - - АгрегатыПоРегистрамНаименованиеРасширеннаяПодсказка - 397 - Label - true - true - - Left - - - - АгрегатыПоРегистрамНаименованиеКонтекстноеМеню - 60 - true - - InputField - true - Auto - true - Left - true - - 30 - true - true - true - true - true - Normal - - - - АгрегатыПоРегистрамРежимАгрегатов - 61 - true - true - - true - - - АгрегатыПоРегистрам.РежимАгрегатов - - - АгрегатыПоРегистрамРежимАгрегатовРасширеннаяПодсказка - 398 - Label - true - true - - Left - - - - АгрегатыПоРегистрамРежимАгрегатовКонтекстноеМеню - 62 - true - - InputField - true - Auto - true - Left - true - - true - true - - ru - BF=Итоги; BT=Агрегаты - - - ru - BF=Итоги; BT=Агрегаты - - true - true - true - Normal - - АгрегатыПоРегистрамИспользованиеАгрегатов 63 @@ -1769,6 +1699,7 @@ АгрегатыПоРегистрам.ИспользованиеАгрегатов + None ru Признак использования агрегатов для регистра. @@ -1792,24 +1723,120 @@ true Auto true + + CommonPicture.Успешно + Left true - - АгрегатыПоРегистрамДатаПостроения - 69 + + АгрегатыПоРегистрамНаименованиеИРежим + 420 + + АгрегатыПоРегистрамНаименование + 59 + true + true + + true + + + АгрегатыПоРегистрам.Наименование + + + АгрегатыПоРегистрамНаименованиеРасширеннаяПодсказка + 397 + Label + true + true + + Left + + + + АгрегатыПоРегистрамНаименованиеКонтекстноеМеню + 60 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + Normal + + + + АгрегатыПоРегистрамРежимАгрегатов + 61 + true + true + + true + + + АгрегатыПоРегистрам.РежимАгрегатов + + + АгрегатыПоРегистрамРежимАгрегатовРасширеннаяПодсказка + 398 + Label + true + true + + Left + + + + АгрегатыПоРегистрамРежимАгрегатовКонтекстноеМеню + 62 + true + + InputField + true + Auto + Left + true + + true + true + + ru + БЛ='Используются данные итогов'; БИ='Используются данные агрегатов' + + + ru + БЛ='Используются данные итогов'; БИ='Используются данные агрегатов' + + true + true + true + Normal + + System.DefaultGUIFont + false + true + false + false + + + true true true - - АгрегатыПоРегистрам.ДатаПостроения - - АгрегатыПоРегистрамДатаПостроенияРасширеннаяПодсказка - 400 + АгрегатыПоРегистрамНаименованиеИРежимРасширеннаяПодсказка + 421 Label true true @@ -1817,41 +1844,119 @@ Left - - АгрегатыПоРегистрамДатаПостроенияКонтекстноеМеню - 70 - true - - InputField - true - Auto - true - Left - true - - 10 - true - true - true - true - true - Normal + ColumnGroup + + Vertical + auto + true - - АгрегатыПоРегистрамЭффект - 91 + + АгрегатыПоРегистрамГруппаДатаИЭффект + 422 + + АгрегатыПоРегистрамДатаПостроения + 69 + true + true + + true + + + АгрегатыПоРегистрам.ДатаПостроения + + + АгрегатыПоРегистрамДатаПостроенияРасширеннаяПодсказка + 400 + Label + true + true + + Left + + + + АгрегатыПоРегистрамДатаПостроенияКонтекстноеМеню + 70 + true + + InputField + true + Auto + true + Left + true + + 13 + true + true + true + true + true + Normal + + + + АгрегатыПоРегистрамЭффект + 91 + true + true + + true + + + АгрегатыПоРегистрам.Эффект + + + ru + Ожидаемое уменьшение среднего времени выполнения запроса с использованием агрегатов + + + АгрегатыПоРегистрамЭффектРасширеннаяПодсказка + 401 + Label + true + true + + Left + + + + АгрегатыПоРегистрамЭффектКонтекстноеМеню + 92 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + Normal + + true true true - - АгрегатыПоРегистрам.Эффект - + + <key>ru</key> + <value>Агрегаты по регистрам группа дата и эффект</value> + + + ru + Агрегаты по регистрам группа дата и эффект + - АгрегатыПоРегистрамЭффектРасширеннаяПодсказка - 401 + АгрегатыПоРегистрамГруппаДатаИЭффектРасширеннаяПодсказка + 423 Label true true @@ -1859,41 +1964,115 @@ Left - - АгрегатыПоРегистрамЭффектКонтекстноеМеню - 92 - true - - InputField - true - Auto - true - Left - true - - 10 - true - true - true - true - true - Normal + ColumnGroup + + Vertical + auto + true - - АгрегатыПоРегистрамРазмер - 89 + + АгрегатыПоРегистрамГруппаРазмеры + 418 + + АгрегатыПоРегистрамРазмер + 89 + true + true + + true + + + АгрегатыПоРегистрам.Размер + + + ru + Размер таблицы агрегата (оценочный показатель) + + + АгрегатыПоРегистрамРазмерРасширеннаяПодсказка + 402 + Label + true + true + + Left + + + + АгрегатыПоРегистрамРазмерКонтекстноеМеню + 90 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + Normal + + + + АгрегатыПоРегистрамОграничениеРазмера + 107 + true + true + + true + + + АгрегатыПоРегистрам.ОграничениеРазмера + + + АгрегатыПоРегистрамОграничениеРазмераРасширеннаяПодсказка + 403 + Label + true + true + + Left + + + + АгрегатыПоРегистрамОграничениеРазмераКонтекстноеМеню + 108 + true + + InputField + true + Auto + true + Left + true + + 17 + true + true + true + true + true + Normal + + true true true - - АгрегатыПоРегистрам.Размер - + + <key>ru</key> + <value>Агрегаты по регистрам группа размеры</value> + - АгрегатыПоРегистрамРазмерРасширеннаяПодсказка - 402 + АгрегатыПоРегистрамГруппаРазмерыРасширеннаяПодсказка + 419 Label true true @@ -1901,67 +2080,11 @@ Left - - АгрегатыПоРегистрамРазмерКонтекстноеМеню - 90 - true - - InputField - true - Auto - true - Left - true - - 10 - true - true - true - true - true - Normal - - - - АгрегатыПоРегистрамОграничениеРазмера - 107 - true - true - - true - - - АгрегатыПоРегистрам.ОграничениеРазмера - - - АгрегатыПоРегистрамОграничениеРазмераРасширеннаяПодсказка - 403 - Label - true - true - - Left - - - - АгрегатыПоРегистрамОграничениеРазмераКонтекстноеМеню - 108 - true - - InputField - true - Auto - true - Left - true - - 10 - true - true - true - true - true - Normal + ColumnGroup + + Vertical + auto + true @@ -2310,10 +2433,10 @@ АгрегатыПоРегистрамСтрокаПоиска - 438 + 448 АгрегатыПоРегистрамСтрокаПоискаРасширеннаяПодсказка - 440 + 450 Label true true @@ -2323,7 +2446,7 @@ АгрегатыПоРегистрамСтрокаПоискаКонтекстноеМеню - 439 + 449 true АгрегатыПоРегистрам @@ -2333,10 +2456,10 @@ АгрегатыПоРегистрамСостояниеПросмотра - 441 + 451 АгрегатыПоРегистрамСостояниеПросмотраРасширеннаяПодсказка - 443 + 453 Label true true @@ -2346,7 +2469,7 @@ АгрегатыПоРегистрамСостояниеПросмотраКонтекстноеМеню - 442 + 452 true ViewStatusAddition @@ -2357,10 +2480,10 @@ АгрегатыПоРегистрамУправлениеПоиском - 444 + 454 АгрегатыПоРегистрамУправлениеПоискомРасширеннаяПодсказка - 446 + 456 Label true true @@ -2370,7 +2493,7 @@ АгрегатыПоРегистрамУправлениеПоискомКонтекстноеМеню - 445 + 455 true SearchControlAddition @@ -2393,7 +2516,7 @@ АгрегатыПоРегистрамКонтекстноеМеню 57 - КМАгрРегВключитьРежимАгрегатов + МенюАгрегатыВключитьРежимАгрегатов 313 true true @@ -2402,7 +2525,7 @@ false - КМАгрРегВключитьРежимАгрегатовExtendedTooltip + МенюАгрегатыВключитьРежимАгрегатовРасширеннаяПодсказка 380 Label true @@ -2420,7 +2543,7 @@ Auto - КМАгрРегПерестроитьАгрегаты + МенюАгрегатыПерестроитьАгрегаты 314 true true @@ -2429,7 +2552,7 @@ false - КМАгрРегПерестроитьАгрегатыExtendedTooltip + МенюАгрегатыПерестроитьАгрегатыРасширеннаяПодсказка 381 Label true @@ -2447,7 +2570,7 @@ Auto - КМАгрРегАгрегатыОптимальные + МенюАгрегатыАгрегатыОптимальные 315 true true @@ -2456,7 +2579,7 @@ false - КМАгрРегАгрегатыОптимальныеExtendedTooltip + МенюАгрегатыАгрегатыОптимальныеРасширеннаяПодсказка 382 Label true @@ -2474,7 +2597,7 @@ Auto - КМАгрРегВыделитьВсе + МенюАгрегатыВыделитьВсе 312 true true @@ -2483,7 +2606,7 @@ false - КМАгрРегВыделитьВсеExtendedTooltip + МенюАгрегатыВыделитьВсеРасширеннаяПодсказка 383 Label true @@ -2506,7 +2629,7 @@ true true true - 4 + 1 true MultiRow
                                      true
                                      @@ -2534,13 +2657,6 @@ СписокАгрегатов 73 - - System.DefaultGUIFont - true - false - false - false - true true @@ -2565,20 +2681,90 @@ SelectAll SortListAsc SortListDesc - - АгрИспользование - 97 + + АгрегатыРегистраПериодичностьИИспользование + 416 + + СписокАгрегатовИспользование + 97 + true + true + + true + + + СписокАгрегатовРегистра.Использование + + + СписокАгрегатовИспользованиеРасширеннаяПодсказка + 405 + Label + true + true + + Left + + + + СписокАгрегатовИспользованиеКонтекстноеМеню + 98 + true + + CheckBoxField + Auto + Left + true + + + + СписокАгрегатовПериодичность + 322 + true + true + + true + + + СписокАгрегатовРегистра.Периодичность + + + СписокАгрегатовПериодичностьРасширеннаяПодсказка + 406 + Label + true + true + + Left + + + + СписокАгрегатовПериодичностьКонтекстноеМеню + 323 + true + + InputField + Auto + true + Left + true + + 15 + true + true + true + true + true + Normal + + true true true - - СписокАгрегатовРегистра.Использование - - АгрИспользованиеExtendedTooltip - 405 + АгрегатыРегистраПериодичностьИИспользованиеРасширеннаяПодсказка + 417 Label true true @@ -2586,61 +2772,15 @@ Left - - АгрИспользованиеКонтекстноеМеню - 98 - true - - CheckBoxField - Auto - true - Left - true - - - - АгрПериодичность - 322 - true - true - - true - - - СписокАгрегатовРегистра.Периодичность - - - АгрПериодичностьExtendedTooltip - 406 - Label - true - true - - Left - - - - АгрПериодичностьКонтекстноеМеню - 323 - true - - InputField - Auto - true - Left - true - - 15 - true - true - true - true - true - Normal + ColumnGroup + + InCell + auto + true - АгрИзмерения + СписокАгрегатовИзмерения 95 true true @@ -2651,7 +2791,7 @@ СписокАгрегатовРегистра.Измерения - АгрИзмеренияExtendedTooltip + СписокАгрегатовИзмеренияРасширеннаяПодсказка 407 Label true @@ -2661,7 +2801,7 @@ - АгрИзмеренияКонтекстноеМеню + СписокАгрегатовИзмеренияКонтекстноеМеню 96 true @@ -2681,7 +2821,7 @@ - АгрНачалоПериода + СписокАгрегатовНачалоПериода 101 true true @@ -2692,7 +2832,7 @@ СписокАгрегатовРегистра.НачалоПериода - АгрНачалоПериодаExtendedTooltip + СписокАгрегатовНачалоПериодаРасширеннаяПодсказка 408 Label true @@ -2702,7 +2842,7 @@ - АгрНачалоПериодаКонтекстноеМеню + СписокАгрегатовНачалоПериодаКонтекстноеМеню 102 true @@ -2722,7 +2862,7 @@ - АгрКонецПериода + СписокАгрегатовКонецПериода 99 true true @@ -2733,7 +2873,7 @@ СписокАгрегатовРегистра.КонецПериода - АгрКонецПериодаExtendedTooltip + СписокАгрегатовКонецПериодаРасширеннаяПодсказка 409 Label true @@ -2743,7 +2883,7 @@ - АгрКонецПериодаКонтекстноеМеню + СписокАгрегатовКонецПериодаКонтекстноеМеню 100 true @@ -2763,7 +2903,7 @@ - АгрРазмер + СписокАгрегатовРазмер 105 true true @@ -2774,7 +2914,7 @@ СписокАгрегатовРегистра.Размер - АгрРазмерExtendedTooltip + СписокАгрегатовРазмерРасширеннаяПодсказка 410 Label true @@ -2784,7 +2924,7 @@ - АгрРазмерКонтекстноеМеню + СписокАгрегатовРазмерКонтекстноеМеню 106 true @@ -2811,10 +2951,10 @@
                                      СписокАгрегатовСтрокаПоиска - 462 + 472 СписокАгрегатовСтрокаПоискаРасширеннаяПодсказка - 464 + 474 Label true true @@ -2824,7 +2964,7 @@ СписокАгрегатовСтрокаПоискаКонтекстноеМеню - 463 + 473 true СписокАгрегатов @@ -2834,10 +2974,10 @@ СписокАгрегатовСостояниеПросмотра - 465 + 475 СписокАгрегатовСостояниеПросмотраРасширеннаяПодсказка - 467 + 477 Label true true @@ -2847,7 +2987,7 @@ СписокАгрегатовСостояниеПросмотраКонтекстноеМеню - 466 + 476 true ViewStatusAddition @@ -2858,10 +2998,10 @@ СписокАгрегатовУправлениеПоиском - 468 + 478 СписокАгрегатовУправлениеПоискомРасширеннаяПодсказка - 470 + 480 Label true true @@ -2871,7 +3011,7 @@ СписокАгрегатовУправлениеПоискомКонтекстноеМеню - 469 + 479 true SearchControlAddition @@ -3213,7 +3353,7 @@ Наименование <key>ru</key> - <value>Регистр</value> + <value>Регистр и режим использования</value> 1 @@ -3248,7 +3388,7 @@ ИспользоватьТекущиеИтоги <key>ru</key> - <value>Текущие итоги</value> + <value>Текущие</value> 4 @@ -3379,7 +3519,7 @@ РазделениеИтогов <key>ru</key> - <value>Разделение итогов</value> + <value>Разделение</value> 13 @@ -4060,7 +4200,7 @@ ОбновитьСостояниеИтогов <key>ru</key> - <value>Обновить состояние итогов</value> + <value>Обновить</value> 5 @@ -4079,7 +4219,7 @@ ОбновитьСостояниеИтогов - Picture + Text Auto Auto @@ -4153,7 +4293,7 @@ ОбновитьИнформациюОбАгрегатах <key>ru</key> - <value>Обновить состояние</value> + <value>Обновить</value> 9 @@ -4305,6 +4445,7 @@ ОчиститьАгрегатыПоРегистрам + Text Auto Auto diff --git a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Module.bsl b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Module.bsl index 459615598..1a4532136 100644 --- a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Module.bsl +++ b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ОсновнаяФорма/Module.bsl @@ -434,7 +434,7 @@ Кнопки.Добавить(КодВозвратаДиалога.Отмена); Обработчик = Новый ОписаниеОповещения("ОчиститьАгрегатыПоРегистрамЗавершение", ЭтотОбъект); - ПоказатьВопрос(Обработчик, ТекстВопроса, Кнопки, , КодВозвратаДиалога.Нет); + ПоказатьВопрос(Обработчик, ТекстВопроса, Кнопки, , КодВозвратаДиалога.Отмена); КонецПроцедуры diff --git a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаВыбораПериода/Help/ru.html b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаВыбораПериода/Help/ru.html index 7d5df467e..000c7015c 100644 --- a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаВыбораПериода/Help/ru.html +++ b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаВыбораПериода/Help/ru.html @@ -1,4 +1,4 @@ - +

                                      В данном диалоге можно ввести границы периода рассчитанных итогов для регистров накопления или бухгалтерии.

                                      По умолчанию предлагаются следующие даты для установки границы рассчитанных итогов:

                                      • diff --git a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаПараметровПерестроения/Help/ru.html b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаПараметровПерестроения/Help/ru.html index 4ce22ff2c..6ae02d185 100644 --- a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаПараметровПерестроения/Help/ru.html +++ b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Forms/ФормаПараметровПерестроения/Help/ru.html @@ -1,4 +1,4 @@ - +

                                        В данной форме задаются параметры перестроения использования агрегатов и получения списка оптимальных агрегатов.

                                        • Максимальный относительный размер - максимальная сумма размеров агрегатов в процентах от таблицы движений. Если не указан или равен нулю, то нет ограничения размера агрегатов.
                                          diff --git a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Help/ru.html b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Help/ru.html index 75e5d2eb8..68b05307c 100644 --- a/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Help/ru.html +++ b/SSL/src/DataProcessors/УправлениеИтогамиИАгрегатами/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Для переключения режимов служит гиперссылка в правом нижнем углу формы. Форма запоминает режим открытия.

                                          diff --git a/SSL/src/DataProcessors/УправлениеПолнотекстовымПоиском/Help/ru.html b/SSL/src/DataProcessors/УправлениеПолнотекстовымПоиском/Help/ru.html index 274ae0112..76622435b 100644 --- a/SSL/src/DataProcessors/УправлениеПолнотекстовымПоиском/Help/ru.html +++ b/SSL/src/DataProcessors/УправлениеПолнотекстовымПоиском/Help/ru.html @@ -1,6 +1,6 @@ - +

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

                                          -

                                          Команды:

                                          +

                                          Управление индексом

                                          @@ -8,4 +8,6 @@ Выполняет обновление полнотекстового индекса, добавляя к нему новые или измененные объекты.
                                        • Очистить индекс
                                        • Удаляет все файлы полнотекстового индекса.

                                           

                                          -

                                          См. также: Полнотекстовый поиск, Общая информация о формах.

                                          \ No newline at end of file +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Form.form b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Form.form index a040081a4..12a644045 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Form.form +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Form.form @@ -47,7 +47,7 @@ СтраницыНастроек 16 - Подписи + ПодписьДляНового 42 ГруппаДляНовыхСообщений @@ -424,6 +424,37 @@ Auto + true + true + + true + + + <key>ru</key> + <value>Подпись для нового</value> + + + ru + Подпись для нового + + + ПодписьДляНовогоРасширеннаяПодсказка + 58 + Label + true + true + + Left + + + Page + + auto + + + + ПодписьПриОтвете + 87 ГруппаПриОтветеПересылке 18 @@ -771,15 +802,15 @@ <key>ru</key> - <value>Подписи</value> + <value>Подпись при ответе</value> ru - Подписи + Подпись при ответе - ПодписиExtendedTooltip - 58 + ПодписьПриОтветеРасширеннаяПодсказка + 88 Label true true @@ -789,6 +820,7 @@ Page + Vertical auto @@ -1218,15 +1250,11 @@ Left - - OnOpen - ПриОткрытии - OnCreateAtServer ПриСозданииНаСервере - LockOwner + DontBlock true true Vertical diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Help/ru.html b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Help/ru.html index 772ef81dc..49f59b25b 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Help/ru.html +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Help/ru.html @@ -1,24 +1,51 @@ - -

                                          Настройки работы с почтой

                                          + +

                                          Предназначена для настройки работы с почтой.

                                          +

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

                                          Как настроить подпись к письму?

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

                                          Как настроить порядок ответов на запросы уведомлений о прочтении?

                                          -

                                          Как указать что в форме исходящего письма при ответе или пересылке необходимо отображать тело письма основания?

                                          -

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

                                          -

                                          Как настроить подпись к письму?

                                          -


                                          Настройка подписей производится на одноименной закладке. Можно создать подпись двух видов: для новых сообщений и для сообщений при ответе или пересылке.
                                          Установите флаг Включить для нужного вида подписи. Укажите формат подписи. Создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.

                                          -

                                          -
                                          Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе Администрирование/Органайзер отредактировав значение флага Исходящие письма в формате HTML.

                                          -
                                          Важно. Если для учетной записи настроена подпись, то при создании письма подставляется подпись учетной записи.
                                          -

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

                                          -


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

                                          -

                                          Как настроить порядок ответов на запросы уведомлений о прочтении?

                                          -


                                          Данные настройки можно выполнить на закладке Отслеживание писем. Доступны следующие варианты:

                                          - +

                                          Отображение тела письма-основания в документе Исходящее письмо при ответе или пересылке

                                          +
                                          • +
                                            Включите флажок Отображать тело исходного письма при ответе или пересылке на вкладке Прочее.
                                            +
                                          • +
                                            Тело письма-основания в этом случае отображается только в документе взаимодействий Исходящее письмо, в отправляемое письмо оно включено не будет.
                                            +
                                          • +
                                            Это значение будет использоваться для каждого исходящего письма как значение по умолчанию, при этом в самом письме его можно будет изменить.
                                          +

                                          Включение тела письма-основания в тело исходящего письма при ответе или пересылке

                                          +
                                          • +
                                            Установите флажок Включать тело исходного письма при ответе или пересылке на вкладке Прочее.
                                            +
                                          • +
                                            Это значение будет использоваться для каждого исходящего письма как значение по умолчанию, при этом в самом письме его можно будет изменить.

                                          Настройка отправки сообщений сразу в файловом режиме

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

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Module.bsl b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Module.bsl index 4ae379dc3..84d5a193b 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Module.bsl +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/НастройкиРаботыСПочтой/Module.bsl @@ -44,13 +44,10 @@ НастройкиХранилище.ОтправлятьСообщенияСразу,Ложь); Элементы.ОтправлятьСообщенияСразу.Видимость = ОбщегоНазначения.ИнформационнаяБазаФайловая(); - -КонецПроцедуры - -&НаКлиенте -Процедура ПриОткрытии(Отказ) - УправлениеДоступностью(); + Элементы.ПодписьПриОтвете.Картинка = ВзаимодействияКлиентСервер.ПолучитьКартинкуСтраницыПодписи(ВключатьПодписьПриОтветеПересылке); + Элементы.ПодписьДляНового.Картинка = ВзаимодействияКлиентСервер.ПолучитьКартинкуСтраницыПодписи(ВключатьПодписьДляНовыхСообщений); + УправлениеДоступностью(ЭтотОбъект); КонецПроцедуры @@ -61,14 +58,14 @@ &НаКлиенте Процедура ВключатьПодписьДляНовыйСообщенийПриИзменении(Элемент) - УправлениеДоступностью(); + УправлениеДоступностью(ЭтотОбъект); КонецПроцедуры &НаКлиенте Процедура ВключатьПодписьПриОтветеПересылкеПриИзменении(Элемент) - УправлениеДоступностью(); + УправлениеДоступностью(ЭтотОбъект); КонецПроцедуры @@ -100,7 +97,7 @@ НовоеСообщениеФорматированныйДокумент.Добавить(ПодписьДляНовыхСообщенийПростойТекст); КонецЕсли; - УправлениеДоступностью(); + УправлениеДоступностью(ЭтотОбъект); Иначе @@ -137,7 +134,7 @@ ПриОтветеПересылкеФорматированныйДокумент.Добавить(ПодписьПриОтветеПересылкеПростойТекст); КонецЕсли; - УправлениеДоступностью(); + УправлениеДоступностью(ЭтотОбъект); Иначе @@ -164,33 +161,33 @@ #Область СлужебныеПроцедурыИФункции -&НаКлиенте -Процедура УправлениеДоступностью() +&НаКлиентеНаСервереБезКонтекста +Процедура УправлениеДоступностью(Форма) - Если ФорматПодписиДляНовыхСообщений = + Если Форма.ФорматПодписиДляНовыхСообщений = ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML") Тогда - Элементы.СтраницыПодписьДляНовыхСообщений.ТекущаяСтраница = Элементы.СтраницаНовоеСообщениеФорматированныйТекст; - Элементы.НовоеСообщениеФорматированныйДокумент.Доступность = ВключатьПодписьДляНовыхСообщений; + Форма.Элементы.СтраницыПодписьДляНовыхСообщений.ТекущаяСтраница = Форма.Элементы.СтраницаНовоеСообщениеФорматированныйТекст; + Форма.Элементы.НовоеСообщениеФорматированныйДокумент.Доступность = Форма.ВключатьПодписьДляНовыхСообщений; Иначе - Элементы.СтраницыПодписьДляНовыхСообщений.ТекущаяСтраница = Элементы.СтраницаНовоеСообщениеПростойТекст; - Элементы.ПодписьДляНовыхСообщенийПростойТекст.Доступность = ВключатьПодписьДляНовыхСообщений; + Форма.Элементы.СтраницыПодписьДляНовыхСообщений.ТекущаяСтраница = Форма.Элементы.СтраницаНовоеСообщениеПростойТекст; + Форма.Элементы.ПодписьДляНовыхСообщенийПростойТекст.Доступность = Форма.ВключатьПодписьДляНовыхСообщений; КонецЕсли; - Если ФорматПодписиПриОтветеПересылке = + Если Форма.ФорматПодписиПриОтветеПересылке = ПредопределенноеЗначение("Перечисление.СпособыРедактированияЭлектронныхПисем.HTML") Тогда - Элементы.СтраницыПодписьПриОтветеПересылке.ТекущаяСтраница = - Элементы.СтраницаПриОтветеПересылкеФорматированныйДокумент; - Элементы.ПриОтветеПересылкеФорматированныйДокумент.Доступность = ВключатьПодписьПриОтветеПересылке; + Форма.Элементы.СтраницыПодписьПриОтветеПересылке.ТекущаяСтраница = + Форма.Элементы.СтраницаПриОтветеПересылкеФорматированныйДокумент; + Форма.Элементы.ПриОтветеПересылкеФорматированныйДокумент.Доступность = Форма.ВключатьПодписьПриОтветеПересылке; Иначе - Элементы.СтраницыПодписьПриОтветеПересылке.ТекущаяСтраница = Элементы.СтраницаПриОтветеПересылкеПростойТекст; - Элементы.ПодписьПриОтветеПересылкеПростойТекст.Доступность = ВключатьПодписьПриОтветеПересылке; + Форма.Элементы.СтраницыПодписьПриОтветеПересылке.ТекущаяСтраница = Форма.Элементы.СтраницаПриОтветеПересылкеПростойТекст; + Форма.Элементы.ПодписьПриОтветеПересылкеПростойТекст.Доступность = Форма.ВключатьПодписьПриОтветеПересылке; КонецЕсли; @@ -264,7 +261,7 @@ КонецЕсли; - УправлениеДоступностью(); + УправлениеДоступностью(ЭтотОбъект); КонецПроцедуры diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Form.form b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Form.form index 040b9a85e..baebe3a26 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Form.form +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Form.form @@ -427,7 +427,6 @@ UsualGroup - Vertical Auto true true diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Help/ru.html b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Help/ru.html index 50429419f..805cbb7e5 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Help/ru.html +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Help/ru.html @@ -1,13 +1,15 @@ - -

                                          Параметры электронного письма

                                          -

                                          Какая информация отображается в данной форме?

                                          -

                                          Какая информация отображается в данной форме?

                                          -
                                          • Внутренний номер - номер, под которым письмо зарегистрировано в системе. -
                                          • Создано - для исходящего письма означает дату окончания редактирования письма перед отправкой, для входящего означает дату отправки письма. + +

                                            Предназначена для просмотра и изменения параметров входящего электронного письма или исходящего электронного письма.

                                            +

                                            Открывается по соответствующей команде меню Все действия (в интерфейсе Такси Еще) из электронных писем.

                                            +

                                            Параметры письма:

                                            +
                                            • Создано - для исходящего письма означает дату окончания редактирования письма перед отправкой, для входящего означает дату отправки письма. +
                                            • Внутренний номер - номер, под которым письмо зарегистрировано в программе.
                                            • Отправлено - дата отправки письма, отображается только для исходящего письма.
                                            • Получено - дата получения письма, отображается только для входящего письма. -
                                            • Включать тело исходного письма - доступна для изменения для исходящего письма в статус Черновик или Исходящее. Если данный флаг установлен, то к телу письма при отправке будет приложен текст письма основания. -
                                            • Папка - текущая папка письма, доступна для изменения. -
                                            • Уведомить о доставке - признак того что отправитель запрашивает уведомление о доставке. Доступен для изменения для исходящего письма в статус Черновик или Исходящее. -
                                            • Уведомить о прочтении - признак того что отправитель запрашивает уведомление о прочтении. Доступен для изменения для исходящего письма в статус Черновик или Исходящее. -
                                            • Идентификаторы - служебная информация о письме.

                                             

                                            \ No newline at end of file +
                                          • Включать тело исходного письма - можно изменить для исходящего письма в статусе Черновик или Исходящее. Если данный флажок включен, то к телу письма при отправке будет приложен текст письма-основания. +
                                          • Папка - текущая папка письма, доступна для изменения. Нажмите Показать все, выберите нужную папку из списка. +
                                          • Уведомить о доставке - признак того, что отправитель запрашивает уведомление о доставке. Доступен для изменения, если статус исходящего письма Черновик или Исходящее. +
                                          • Уведомить о прочтении - признак того, что отправитель запрашивает уведомление о прочтении. Доступен для изменения, если статус исходящего письма Черновик или Исходящее. +
                                          • Заголовки Интернета - служебная информация о входящем письме. +
                                          • Идентификаторы - служебная информация об исходящем письме.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Module.bsl b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Module.bsl index 8b552e213..1313a4f18 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Module.bsl +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ПараметрыЭлектронногоПисьма/Module.bsl @@ -67,7 +67,7 @@ Если Параметры.Свойство(ИмяПараметра) Тогда - ЭтаФорма[?(ПустаяСтрока(ИмяРеквизита),ИмяПараметра,ИмяРеквизита)] = Параметры[ИмяПараметра]; + ЭтотОбъект[?(ПустаяСтрока(ИмяРеквизита),ИмяПараметра,ИмяРеквизита)] = Параметры[ИмяПараметра]; КонецЕсли; diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Form.form b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Form.form index 03e412b0d..79ae2b11e 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Form.form +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Form.form @@ -4,21 +4,119 @@ ru Взаимодействия + + ГруппаПользовательскихНастроек + 832 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 833 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + auto + Auto + Auto + + ГруппаФильтры 66 - ТипВзаимодействия - 71 + СтрокаПоиска + 89 + + <key>ru</key> + <value>Найти</value> + true true true + + СтрокаПоиска + + + OnChange + СтрокаПоискаПриИзменении + + + СтрокаПоискаExtendedTooltip + 421 + Label + true + true + + Left + + + + СтрокаПоискаКонтекстноеМеню + 90 + true + + InputField + Enter + true + Left + true + + + AutoComplete + СтрокаПоискаАвтоПодбор + + 30 + true + true + false + true + true + true + true + true + Normal + + ru + в переписке или во вложениях + + + + + ТипВзаимодействия + 71 + + <key>ru</key> + <value>Тип</value> + + true + true + ТипВзаимодействия - None + Left OnChange ТипВзаимодействияПриИзменении @@ -48,7 +146,7 @@ Clearing ТипВзаимодействияСтатусОчистка - 25 + 18 true true false @@ -96,7 +194,7 @@ ru - Запланированные взаимодействия + Запланированные ЗапланированныеВзаимодействия @@ -182,9 +280,7 @@ 67 true true - - true - + Статус @@ -217,6 +313,7 @@ Clearing ТипВзаимодействияСтатусОчистка + 12 true true false @@ -302,6 +399,7 @@ Left true + 25 true true false @@ -312,91 +410,6 @@ Normal - - Отступ - 413 - true - true - - true - - - ОтступExtendedTooltip - 420 - Label - true - true - - Left - - - - ОтступКонтекстноеМеню - 414 - true - - Label - true - true - true - - Left - - - - СтрокаПоиска - 89 - - <key>ru</key> - <value>Поиск</value> - - true - true - - true - - - СтрокаПоиска - - - OnChange - СтрокаПоискаПриИзменении - - - СтрокаПоискаExtendedTooltip - 421 - Label - true - true - - Left - - - - СтрокаПоискаКонтекстноеМеню - 90 - true - - InputField - Enter - true - Left - true - - - AutoComplete - СтрокаПоискаАвтоПодбор - - true - true - true - true - true - true - true - Normal - - true true @@ -420,6 +433,8 @@ UsualGroup Auto + true + Button true true Auto @@ -427,28 +442,200 @@ - ГруппаОсновное - 5 + ГруппаПанельНавигацииСписок + 826 - ГруппаПанельНавигации - 6 + КоманднаяПанельВариантаНавигации + 24 + + ИзменитьОтображениеПанелиНавигации + 830 + true + true + + true + + + ИзменитьОтображениеПанелиНавигацииРасширеннаяПодсказка + 831 + Label + true + true + + Left + + + Form.Command.ИзменитьОтображениеПанелиНавигации + Normal + Picture + true + true + UserCmds + + CommonPicture.СтрелкаВлево + + Auto + - КоманднаяПанельВариантаНавигации - 24 + ВыборВариантаНавигации + 26 + + УстановитьВариантНавигацииПоПредмету + 27 + true + true + + true + + + УстановитьВариантНавигацииПоПредметуExtendedTooltip + 426 + Label + true + true + + Left + + + Form.Command.УстановитьВариантНавигацииПоПредмету + Normal + Auto + 20 + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + УстановитьВариантНавигацииПоКонтакту + 28 + true + true + + true + + + УстановитьВариантНавигацииПоКонтактуExtendedTooltip + 427 + Label + true + true + + Left + + + Form.Command.УстановитьВариантНавигацииПоКонтакту + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + УстановитьВариантНавигацииПоЗакладкам + 124 + true + true + + true + + + УстановитьВариантНавигацииПоЗакладкамExtendedTooltip + 428 + Label + true + true + + Left + + + Form.Command.УстановитьВариантНавигацииПоЗакладкам + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + УстановитьВариантНавигацииПоПапкам + 176 + true + true + + true + + + УстановитьВариантНавигацииПоПапкамExtendedTooltip + 429 + Label + true + true + + Left + + + Form.Command.УстановитьВариантНавигацииПоПапкам + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Вариант навигации</value> + + + ru + Выбор варианта навигации + + 20 + false + + ВыборВариантаНавигацииExtendedTooltip + 425 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + + ГруппаКоманднаяПанельСписок + 828 - ВыборВариантаНавигации - 26 + ГруппаСоздать + 43 - УстановитьВариантНавигацииПоПредмету - 27 + СписокСоздатьВстречу + 44 true true true - УстановитьВариантНавигацииПоПредметуExtendedTooltip - 426 + СписокСоздатьВстречуExtendedTooltip + 556 Label true true @@ -456,7 +643,7 @@ Left
                                          - Form.Command.УстановитьВариантНавигацииПоПредмету + Form.Command.СоздатьВстречу Normal Auto true @@ -465,16 +652,16 @@ Auto - УстановитьВариантНавигацииПоКонтакту - 28 + СписокСоздатьЗапланированноеВзаимодействие + 45 true true true - УстановитьВариантНавигацииПоКонтактуExtendedTooltip - 427 + СписокСоздатьЗапланированноеВзаимодействиеExtendedTooltip + 557 Label true true @@ -482,7 +669,7 @@ Left - Form.Command.УстановитьВариантНавигацииПоКонтакту + Form.Command.СоздатьЗапланированноеВзаимодействие Normal Auto true @@ -491,16 +678,16 @@ Auto - УстановитьВариантНавигацииПоЗакладкам - 124 + СписокСоздатьТелефонныйЗвонок + 46 true true true - УстановитьВариантНавигацииПоЗакладкамExtendedTooltip - 428 + СписокСоздатьТелефонныйЗвонокExtendedTooltip + 558 Label true true @@ -508,7 +695,7 @@ Left - Form.Command.УстановитьВариантНавигацииПоЗакладкам + Form.Command.СоздатьТелефонныйЗвонок Normal Auto true @@ -517,16 +704,16 @@ Auto - УстановитьВариантНавигацииПоПапкам - 176 + СписокСоздатьСообщениеSMS + 415 true true true - УстановитьВариантНавигацииПоПапкамExtendedTooltip - 429 + СписокСоздатьСообщениеSMSExtendedTooltip + 559 Label true true @@ -534,7 +721,33 @@ Left - Form.Command.УстановитьВариантНавигацииПоПапкам + Form.Command.СоздатьСообщениеSMS + Normal + Auto + true + true + UserCmds + Auto + + + СписокСоздатьЭлектронноеПисьмо + 47 + true + true + + true + + + СписокСоздатьЭлектронноеПисьмоExtendedTooltip + 560 + Label + true + true + + Left + + + Form.Command.СоздатьЭлектронноеПисьмо Normal Auto true @@ -549,15 +762,344 @@ <key>ru</key> - <value>Вариант навигации</value> + <value>Создать</value> ru - Выбор варианта навигации + Создать - ВыборВариантаНавигацииExtendedTooltip - 425 + ГруппаСоздатьExtendedTooltip + 555 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + + СписокСоздатьЭлектронноеПисьмоОтдельнаяКнопка + 322 + + <key>ru</key> + <value>Написать</value> + + true + true + + true + + + СписокСоздатьЭлектронноеПисьмоОтдельнаяКнопкаExtendedTooltip + 561 + Label + true + true + + Left + + + Form.Command.СоздатьЭлектронноеПисьмо + Normal + true + true + UserCmds + + CommonPicture.ОтправитьЭлектронноеПисьмо + + Auto + + + СписокОтветить + 342 + true + true + + true + + + СписокОтветитьРасширеннаяПодсказка + 606 + Label + true + true + + Left + + + Form.Command.Ответить + Normal + true + true + UserCmds + + CommonPicture.ОтветитьНаЭлектронноеПисьмо + + Auto + + + СписокОтветитьВсем + 343 + true + true + + true + + + СписокОтветитьВсемРасширеннаяПодсказка + 607 + Label + true + true + + Left + + + Form.Command.ОтветитьВсем + Normal + Picture + true + true + UserCmds + Auto + + + СписокПереслать + 344 + true + true + + true + + + СписокПереслатьРасширеннаяПодсказка + 608 + Label + true + true + + Left + + + Form.Command.Переслать + Normal + Picture + true + true + UserCmds + Auto + + + СписокОтправитьПолучитьПочту + 59 + true + true + + true + + + СписокОтправитьПолучитьПочтуExtendedTooltip + 562 + Label + true + true + + Left + + + Form.Command.ОтправитьПолучитьПочту + Normal + Picture + true + true + UserCmds + Auto + + + ГруппаРассмотрено + 410 + + СписокРассмотрено + 40 + true + true + + true + + + СписокРассмотреноExtendedTooltip + 564 + Label + true + true + + Left + + + Form.Command.УстановитьПризнакРассмотрено + Normal + Picture + true + true + UserCmds + Auto + + + СписокОтложитьРассмотрение + 42 + true + true + + true + + + СписокОтложитьРассмотрениеExtendedTooltip + 565 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрениеСписок + Normal + Auto + true + true + UserCmds + Auto + + + СписокНеРассмотрено + 191 + true + true + + true + + + СписокНеРассмотреноExtendedTooltip + 566 + Label + true + true + + Left + + + Form.Command.СнятьПризнакРассмотрено + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СписокОтветственный + 39 + true + true + + true + + + СписокОтветственныйExtendedTooltip + 567 + Label + true + true + + Left + + + Form.Command.ОтветственныйСписок + Normal + Auto + true + true + UserCmds + Auto + + + СписокПредмет + 41 + true + true + + true + + + СписокПредметExtendedTooltip + 568 + Label + true + true + + Left + + + Form.Command.ПредметСписок + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа рассмотрено</value> + + + ru + Группа рассмотрено + + + ГруппаРассмотреноExtendedTooltip + 563 + Label + true + true + + Left + + + + + + СписокТипВзаимодействия + 824 + true + true + + true + + + <key>ru</key> + <value>Список тип взаимодействия</value> + + + ru + Список тип взаимодействия + + + СписокТипВзаимодействияРасширеннаяПодсказка + 825 Label true true @@ -567,27 +1109,56 @@ Popup - - StdPicture.HierarchicalView - Auto Normal - ГруппаКоманднаяПанельПредметыПанельНавигации - 707 + СписокСтатус + 822 + true + true + + true + + + <key>ru</key> + <value>Статус: </value> + + + ru + Список статус + + + СписокСтатусРасширеннаяПодсказка + 823 + Label + true + true + + Left + + + Popup + + Auto + Normal + + + + ГруппаКомандыСписка + 48 - ПредметыПанельНавигацииНастройкаСписка - 703 + Изменить + 49 true true true - ПредметыПанельНавигацииНастройкаСпискаРасширеннаяПодсказка - 704 + ИзменитьExtendedTooltip + 570 Label true true @@ -595,7 +1166,7 @@ Left - Form.Item.ПредметыПанельНавигации.StandardCommand.ListSettings + Form.Item.Список.StandardCommand.Change Normal Auto true @@ -604,16 +1175,16 @@ Auto - ОбновитьПредметыПанелиНавигации - 709 + Скопировать + 50 true true true - ОбновитьПредметыПанелиНавигацииРасширеннаяПодсказка - 710 + СкопироватьExtendedTooltip + 571 Label true true @@ -621,33 +1192,7 @@ Left - Form.Item.ПредметыПанельНавигации.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - - - НайтиПредметыПанельНавигации - 711 - true - true - - true - - - НайтиПредметыПанельНавигацииРасширеннаяПодсказка - 712 - Label - true - true - - Left - - - Form.Item.ПредметыПанельНавигации.StandardCommand.Find + Form.Item.Список.StandardCommand.Copy Normal Auto true @@ -656,17 +1201,52 @@ Auto InAdditionalSubmenu - - ОтменитьПоискПредметыПанельНавигации - 713 + + ГруппаСписокУстановитьПометкуУдаления + 51 + + УстановитьПометкуУдаления + 52 + true + true + + true + + + УстановитьПометкуУдаленияExtendedTooltip + 573 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + true true true + + <key>ru</key> + <value>Группа список установить пометку удаления</value> + + + ru + Группа список установить пометку удаления + - ОтменитьПоискПредметыПанельНавигацииРасширеннаяПодсказка - 714 + ГруппаСписокУстановитьПометкуУдаленияExtendedTooltip + 572 Label true true @@ -674,14 +1254,115 @@ Left - Form.Item.ПредметыПанельНавигации.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu + + + + ГруппаНайти + 55 + + Найти + 56 + true + true + + true + + + НайтиExtendedTooltip + 575 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ОтменитьПоиск + 58 + true + true + + true + + + ОтменитьПоискExtendedTooltip + 576 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + УстановитьИнтервалДат + 54 + true + true + + true + + + УстановитьИнтервалДатExtendedTooltip + 577 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDateInterval + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа найти</value> + + + ru + Группа найти + + + ГруппаНайтиExtendedTooltip + 574 + Label + true + true + + Left + + + true true @@ -690,15 +1371,15 @@ <key>ru</key> - <value>Группа командная панель предметы панель навигации</value> + <value>Группа команды списка</value> ru - Группа командная панель предметы панель навигации + Группа команды списка - ГруппаКоманднаяПанельПредметыПанельНавигацииРасширеннаяПодсказка - 708 + ГруппаКомандыСпискаExtendedTooltip + 569 Label true true @@ -708,131 +1389,17 @@ - - ГруппаКоманднаяПанельКонтактрыПанельНавигации - 734 - - КонтактыПанельНавигацииНастройкаСписка - 736 - true - true - - true - - - КонтактыПанельНавигацииНастройкаСпискаРасширеннаяПодсказка - 737 - Label - true - true - - Left - - - Form.Item.КонтактыПанелиНавигации.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - ОбновитьКонтактыПанелиНавигации - 738 - true - true - - true - - - ОбновитьКонтактыПанелиНавигацииРасширеннаяПодсказка - 739 - Label - true - true - - Left - - - Form.Item.КонтактыПанелиНавигации.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - - - НайтиКонтактыПанельНавигации - 740 - true - true - - true - - - НайтиКонтактыПанельНавигацииРасширеннаяПодсказка - 741 - Label - true - true - - Left - - - Form.Item.КонтактыПанелиНавигации.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтменитьПоискКонтактыПанельНавигации - 742 - true - true - - true - - - ОтменитьПоискКонтактыПанельНавигацииРасширеннаяПодсказка - 743 - Label - true - true - - Left - - - Form.Item.КонтактыПанелиНавигации.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - + + СписокОбновить + 60 true true true - - <key>ru</key> - <value>Группа командная панель предметы панель навигации</value> - - - ru - Группа командная панель предметы панель навигации - - ГруппаКоманднаяПанельКонтактрыПанельНавигацииРасширеннаяПодсказка - 735 + СписокОбновитьExtendedTooltip + 578 Label true true @@ -840,7 +1407,172 @@ Left - + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + СписокНастройкаСписка + 61 + true + true + + true + + + СписокНастройкаСпискаExtendedTooltip + 579 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокВывестиСписок + 62 + true + true + + true + + + СписокВывестиСписокExtendedTooltip + 580 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + СписокИзменитьФорму + 64 + true + true + + true + + + СписокИзменитьФормуExtendedTooltip + 582 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + + СписокСправка + 63 + true + true + + true + + + СписокСправкаExtendedTooltip + 581 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + + + СписокОтображатьОбластьЧтения + 792 + true + true + + true + + + СписокОтображатьОбластьЧтенияРасширеннаяПодсказка + 793 + Label + true + true + + Left + + + Form.Command.ОтображатьОбластьЧтения + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаПерсональныеНастройки + 146 + true + true + + true + + + ФормаПерсональныеНастройкиExtendedTooltip + 583 + Label + true + true + + Left + + + Form.Command.ПерсональныеНастройки + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu true true @@ -849,15 +1581,15 @@ <key>ru</key> - <value>Командная панель варианта навигации</value> + <value>Группа командная панель список</value> ru - Командная панель варианта навигации + Группа командная панель список - КоманднаяПанельВариантаНавигацииExtendedTooltip - 424 + ГруппаКоманднаяПанельСписокРасширеннаяПодсказка + 829 Label true true @@ -865,275 +1597,81 @@ Left - CommandBar - + + + true + true + + true + + + <key>ru</key> + <value>Командная панель варианта навигации</value> + + + ru + Командная панель варианта навигации + + + КоманднаяПанельВариантаНавигацииExtendedTooltip + 424 + Label + true + true + Left - + + CommandBar + + Left + + + + ГруппаОсновное + 5 - СтраницыПанелиНавигации - 25 + ГруппаПанельНавигации + 6 - СтраницаКонтакт - 30 - - КонтактыПанелиНавигации - 31 - true - true - - true - - - КонтактыПанельНавигации - - None - Change - Copy - Delete - - КонтактыКонтакт - 731 + СтраницыПанелиНавигации + 25 + + СтраницаКонтакт + 30 + + КонтактыПанелиНавигации + 31 true true true - КонтактыПанельНавигации.Контакт - - - КонтактыКонтактРасширеннаяПодсказка - 733 - Label - true - true - - Left - - - - КонтактыКонтактКонтекстноеМеню - 732 - true - - LabelField - Enter - true - Left - true - - true - true - - - - НеРассмотрено - 728 - true - true - - true - - - КонтактыПанельНавигации.КоличествоНеРассмотрено + КонтактыПанельНавигации None - - ru - Количество не рассмотренных взаимодействий - - - НеРассмотреноРасширеннаяПодсказка - 730 - Label - true - true - - Left - - - - НеРассмотреноКонтекстноеМеню - 729 - true - - LabelField - Enter - true - - CommonPicture.КоличествоРассмотрено - - Left - true - - true - true - - - - КонтактыДатаПоследнегоВзаимодействия - 725 - true - true - - true - - - КонтактыПанельНавигации.ДатаПоследнегоВзаимодействия - - None - - ru - Дата последнего взаимодействия - - - КонтактыДатаПоследнегоВзаимодействияРасширеннаяПодсказка - 727 - Label - true - true - - Left - - - - КонтактыДатаПоследнегоВзаимодействияКонтекстноеМеню - 726 - true - - LabelField - Enter - true - - StdPicture.SetTime - - Left - true - - true - true - - - - КонтактыПанелиНавигацииКоманднаяПанель - 33 - Left - - - Selection - КонтактыПанелиНавигацииВыбор - - - BeforeDeleteRow - КонтактыПередУдалением - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - BeforeRowChange - КонтактыПередНачаломИзменения - - - КонтактыПанелиНавигацииСтрокаПоиска - 774 - - КонтактыПанелиНавигацииСтрокаПоискаРасширеннаяПодсказка - 776 - Label - true - true - - Left - - - - КонтактыПанелиНавигацииСтрокаПоискаКонтекстноеМеню - 775 - true - - КонтактыПанелиНавигации - - true - - - - КонтактыПанелиНавигацииСостояниеПросмотра - 777 - - КонтактыПанелиНавигацииСостояниеПросмотраРасширеннаяПодсказка - 779 - Label - true - true - - Left - - - - КонтактыПанелиНавигацииСостояниеПросмотраКонтекстноеМеню - 778 - true - - ViewStatusAddition - КонтактыПанелиНавигации - - true - - - - КонтактыПанелиНавигацииУправлениеПоиском - 780 - - КонтактыПанелиНавигацииУправлениеПоискомРасширеннаяПодсказка - 782 - Label - true - true - - Left - - - - КонтактыПанелиНавигацииУправлениеПоискомКонтекстноеМеню - 781 - true - - SearchControlAddition - КонтактыПанелиНавигации - - true - - - - КонтактыПанелиНавигацииРасширеннаяПодсказка - 443 - Label - true - true - - Left - - - - КонтактыПанелиНавигацииКонтекстноеМеню - 32 + Change + Copy + Create + Delete - КонтактыКонтекстноеМенюГруппаРассмотрено - 390 - - КонтактыКонтекстноеМенюРассмотрено - 111 + КонтактыПанелиНавигацииГруппа + 810 + + КонтактыКонтакт + 731 true true true + + КонтактыПанельНавигации.Контакт + - КонтактыКонтекстноеМенюРассмотреноExtendedTooltip - 433 + КонтактыКонтактРасширеннаяПодсказка + 733 Label true true @@ -1141,25 +1679,292 @@ Left - Form.Command.Рассмотрено - Normal - Auto + + КонтактыКонтактКонтекстноеМеню + 732 + true + + LabelField + Enter + Left + true + + 20 + true + true + + + + КонтактыПанелиНавигацииРассмотреноДата + 784 + + НеРассмотрено + 728 + true + true + + true + + + КонтактыПанельНавигации.КоличествоНеРассмотрено + + None + + ru + Количество не рассмотренных взаимодействий + + + НеРассмотреноРасширеннаяПодсказка + 730 + Label + true + true + + Left + + + + НеРассмотреноКонтекстноеМеню + 729 + true + + LabelField + Left + Enter + true + + CommonPicture.КоличествоРассмотрено + + Left + true + + 3 + true + true + false + + + + КонтактыДатаПоследнегоВзаимодействия + 725 + + <key>ru</key> + <value>Последнее взаимодействие</value> + + true + true + + true + + + КонтактыПанельНавигации.ДатаПоследнегоВзаимодействия + + Left + + ru + Дата последнего взаимодействия + + + КонтактыДатаПоследнегоВзаимодействияРасширеннаяПодсказка + 727 + Label + true + true + + Left + + + + КонтактыДатаПоследнегоВзаимодействияКонтекстноеМеню + 726 + true + + LabelField + Left + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Контакты панели навигации рассмотрено дата</value> + + + ru + Контакты панели навигации рассмотрено дата + + + КонтактыПанелиНавигацииРассмотреноДатаРасширеннаяПодсказка + 785 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + true + true + + true + + + <key>ru</key> + <value>Контакты панели навигации группа</value> + + + ru + Контакты панели навигации группа + + + КонтактыПанелиНавигацииГруппаРасширеннаяПодсказка + 811 + Label true true - UserCmds - Auto - + + Left + + + ColumnGroup + + Vertical + auto + true + + + + КонтактыПанелиНавигацииКоманднаяПанель + 33 + Left + + + Selection + КонтактыПанелиНавигацииВыбор + + + BeforeDeleteRow + КонтактыПередУдалением + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + BeforeRowChange + КонтактыПередНачаломИзменения + + + КонтактыПанелиНавигацииСтрокаПоиска + 838 + + КонтактыПанелиНавигацииСтрокаПоискаРасширеннаяПодсказка + 840 + Label + true + true + + Left + + + + КонтактыПанелиНавигацииСтрокаПоискаКонтекстноеМеню + 839 + true + + КонтактыПанелиНавигации + + true + + + + КонтактыПанелиНавигацииСостояниеПросмотра + 841 + + КонтактыПанелиНавигацииСостояниеПросмотраРасширеннаяПодсказка + 843 + Label + true + true + + Left + + + + КонтактыПанелиНавигацииСостояниеПросмотраКонтекстноеМеню + 842 + true + + ViewStatusAddition + КонтактыПанелиНавигации + + true + + + + КонтактыПанелиНавигацииУправлениеПоиском + 844 + + КонтактыПанелиНавигацииУправлениеПоискомРасширеннаяПодсказка + 846 + Label + true + true + + Left + + + + КонтактыПанелиНавигацииУправлениеПоискомКонтекстноеМеню + 845 + true + + SearchControlAddition + КонтактыПанелиНавигации + + true + + + + КонтактыПанелиНавигацииРасширеннаяПодсказка + 443 + Label + true + true + + Left + + + + КонтактыПанелиНавигацииКонтекстноеМеню + 32 - КонтактыКонтекстноеМенюОтложитьРассмотрение - 113 + КонтактыКонтекстноеМенюПредмет + 112 true true true - КонтактыКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip - 434 + КонтактыКонтекстноеМенюПредметExtendedTooltip + 436 Label true true @@ -1167,7 +1972,7 @@ Left - Form.Command.ОтложитьРассмотрение + Form.Command.Предмет Normal Auto true @@ -1202,16 +2007,16 @@ Auto - КонтактыКонтекстноеМенюПредмет - 112 + КонтактыКонтекстноеМенюОтложитьРассмотрение + 113 true true true - КонтактыКонтекстноеМенюПредметExtendedTooltip - 436 + КонтактыКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip + 434 Label true true @@ -1219,7 +2024,7 @@ Left - Form.Command.Предмет + Form.Command.ОтложитьРассмотрение Normal Auto true @@ -1227,86 +2032,244 @@ UserCmds Auto - true - true - - true - - - <key>ru</key> - <value>Контакты контекстное меню группа рассмотрено</value> - - - ru - Контакты контекстное меню группа рассмотрено - - - КонтактыКонтекстноеМенюГруппаРассмотреноExtendedTooltip - 432 - Label + + КонтактыКонтекстноеМенюРассмотрено + 111 + true + true + + true + + + КонтактыКонтекстноеМенюРассмотреноExtendedTooltip + 433 + Label + true + true + + Left + + + Form.Command.Рассмотрено + Normal + Auto true true - - Left - - - - - - КонтактыКонтекстноеМенюДобавитьВЗакладки - 393 - true - true - - true - - - КонтактыКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 437 - Label + UserCmds + Auto + + + КонтактыКонтекстноеМенюДобавитьВЗакладки + 393 + true + true + + true + + + КонтактыКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip + 437 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto true true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - КонтактыКонтекстноеМенюИзменитьЗначениеПанелиНавигации - 325 - true - true - - true - - - КонтактыКонтекстноеМенюИзменитьЗначениеПанелиНавигацииExtendedTooltip - 438 - Label + UserCmds + Auto + + + КонтактыКонтекстноеМенюИзменитьЗначениеПанелиНавигации + 325 + true + true + + true + + + КонтактыКонтекстноеМенюИзменитьЗначениеПанелиНавигацииExtendedTooltip + 438 + Label + true + true + + Left + + + Form.Command.ИзменитьЗначениеПанелиНавигации + Normal + Auto true true - - Left - - - Form.Command.ИзменитьЗначениеПанелиНавигации - Normal - Auto - true - true - UserCmds - Auto - - - КонтактыКонтекстноеМенюГруппаОбновить - 202 + UserCmds + Auto + + + КонтактыПанелиНавигацииКонтекстноеМенюГруппаДинамическийСписок + 814 + + КонтактыПанелиНавигацииКонтекстноеМенюНайти + 816 + true + true + + true + + + КонтактыПанелиНавигацииКонтекстноеМенюНайтиРасширеннаяПодсказка + 817 + Label + true + true + + Left + + + Form.Item.КонтактыПанелиНавигации.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + КонтактыПанелиНавигацииКонтекстноеМенюОтменитьПоиск + 818 + true + true + + true + + + КонтактыПанелиНавигацииКонтекстноеМенюОтменитьПоискРасширеннаяПодсказка + 819 + Label + true + true + + Left + + + Form.Item.КонтактыПанелиНавигации.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + + КонтактыПанелиНавигацииКонтекстноеМенюТолькоЗначимыеКонтакты + 782 + true + true + + true + + + КонтактыПанелиНавигацииКонтекстноеМенюТолькоЗначимыеКонтактыРасширеннаяПодсказка + 783 + Label + true + true + + Left + + + Form.Command.ТолькоЗначимыеКонтакты + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Контакты панели навигации контекстное меню группа динамический список</value> + + + ru + Контакты панели навигации контекстное меню группа динамический список + + + КонтактыПанелиНавигацииКонтекстноеМенюГруппаДинамическийСписокРасширеннаяПодсказка + 815 + Label + true + true + + Left + + + + + + КонтактыКонтекстноеМенюГруппаНастроитьСписок + 202 + + КонтактыПанелиНавигацииКонтекстноеМенюНастройкаСписка + 820 + true + true + + true + + + КонтактыПанелиНавигацииКонтекстноеМенюНастройкаСпискаРасширеннаяПодсказка + 821 + Label + true + true + + Left + + + Form.Item.КонтактыПанелиНавигации.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Контакты контекстное меню группа настроить список</value> + + + ru + Контакты контекстное меню группа настроить список + + + КонтактыКонтекстноеМенюГруппаНастроитьСписокРасширеннаяПодсказка + 439 + Label + true + true + + Left + + + + КонтактыКонтекстноеМенюКопироватьВБуферОбмена 391 @@ -1333,32 +2296,6 @@ UserCmds Auto - - КонтактыКонтекстноеМенюОбновить - 201 - true - true - - true - - - КонтактыКонтекстноеМенюОбновитьExtendedTooltip - 441 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - КонтактыКонтекстноеМенюВывестиСписок 392 @@ -1385,678 +2322,46 @@ UserCmds Auto - true - true - - true - - - <key>ru</key> - <value>Контакты контекстное меню группа обновить</value> - - - ru - Контакты контекстное меню группа обновить - - - КонтактыКонтекстноеМенюГруппаОбновитьExtendedTooltip - 439 - Label - true - true - - Left - - - - - true - - Tree - true - true - true - true - true - true - Row -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - false - true - DontUse - Auto - true - true - true - true - - КонтактыПанельНавигации.НомерКартинки - - - CommonPicture.ВидыНавигацииПоВзаимодействиямОтКонтактов - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true - -
                                          - - ТолькоЗначимыеКонтакты - 758 - true - true - - true - - - ТолькоЗначимыеКонтакты - - Right - - ru - Отображать в панели навигации только те контакты, при позиционировании на которых список взаимодействий будет не пустым. - - - OnChange - ТолькоЗначимыеКонтактыПриИзменении - - - ТолькоЗначимыеКонтактыРасширеннаяПодсказка - 760 - Label + true + + Tree + true + true + true true true - - Left + true + Row +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + false + true + DontUse + Auto + true + true + true + true + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true -
                                          - - ТолькоЗначимыеКонтактыКонтекстноеМеню - 759 - true - - CheckBoxField - Enter - true - Left - true - -
                                          - true - true - - true - - - <key>ru</key> - <value>Страница контакт</value> - - - ru - Страница контакт - - true - - СтраницаКонтактExtendedTooltip - 431 - Label - true - true - - Left - - - Page - - Vertical - auto - -
                                          - - СтраницаПредмет - 73 - - ПредметыПанельНавигации - 690 - true - true - - true - - - ПредметыПанельНавигации - - None - Change - Choose - Copy - Create - Delete - DynamicListStandardSettings - OutputList - - Предмет - 697 - true - true - - true - - - ПредметыПанельНавигации.Предмет - - - ПредметРасширеннаяПодсказка - 699 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 698 - true - - LabelField - true - Enter - true - Left - true - - true - true - - - - НеРасмотрено - 694 - true - true - - true - - - ПредметыПанельНавигации.КоличествоНеРассмотрено - - None - - ru - Количество не рассмотренных взаимодействий - - - НеРасмотреноРасширеннаяПодсказка - 696 - Label - true - true - - Left - - - - НеРасмотреноКонтекстноеМеню - 695 - true - - LabelField - true - Enter - true - - CommonPicture.КоличествоРассмотрено - - Left - true - - 4 - true - true - false - - - - ДатаПоследнегоВзаимодействия - 700 - - <key>ru</key> - <value>Дата последнего взаимодействия</value> - - true - true - - true - - - ПредметыПанельНавигации.ДатаПоследнегоВзаимодействия - - - ru - Дата последнего взаимодействия - - - ДатаПоследнегоВзаимодействияРасширеннаяПодсказка - 702 - Label - true - true - - Left - - - - ДатаПоследнегоВзаимодействияКонтекстноеМеню - 701 - true - - LabelField - true - Enter - - StdPicture.SetTime - - Left - true - - true - true - - - - ПредметыПанельНавигацииКоманднаяПанель - 692 - Left - - - DragCheck - ПредметыПроверкаПеретаскивания - - - Selection - ПредметыПанельНавигацииВыбор - - - BeforeDeleteRow - ПредметыПанельНавигацииПередУдалением - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - Drag - ПредметыПеретаскивание - - - BeforeRowChange - ПредметыПанельНавигацииПередНачаломИзменения - - - ПредметыПанельНавигацииСтрокаПоиска - 795 - - ПредметыПанельНавигацииСтрокаПоискаРасширеннаяПодсказка - 797 - Label - true - true - - Left - - - - ПредметыПанельНавигацииСтрокаПоискаКонтекстноеМеню - 796 - true - - ПредметыПанельНавигации - - true - - - - ПредметыПанельНавигацииСостояниеПросмотра - 798 - - ПредметыПанельНавигацииСостояниеПросмотраРасширеннаяПодсказка - 800 - Label - true - true - - Left - - - - ПредметыПанельНавигацииСостояниеПросмотраКонтекстноеМеню - 799 - true - - ViewStatusAddition - ПредметыПанельНавигации - - true - - - - ПредметыПанельНавигацииУправлениеПоиском - 801 - - ПредметыПанельНавигацииУправлениеПоискомРасширеннаяПодсказка - 803 - Label - true - true - - Left - - - - ПредметыПанельНавигацииУправлениеПоискомКонтекстноеМеню - 802 - true - - SearchControlAddition - ПредметыПанельНавигации - - true - - - - ПредметыПанельНавигацииРасширеннаяПодсказка - 693 - Label - true - true - - Left - - - - ПредметыПанельНавигацииКонтекстноеМеню - 691 - - ПредметыПанельНавигацииКонтекстноеМенюРассмотрено - 715 - true - true - - true - - - ПредметыПанельНавигацииКонтекстноеМенюРассмотреноРасширеннаяПодсказка - 716 - Label - true - true - - Left - - - Form.Command.Рассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - ПредметыПанельНавигацииКонтекстноеМенюОтложитьРассмотрение - 717 - true - true - - true - - - ПредметыПанельНавигацииКонтекстноеМенюОтложитьРассмотрениеРасширеннаяПодсказка - 718 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрение - Normal - Auto - true - true - UserCmds - Auto - - - ПредметыПанельНавигацииКонтекстноеМенюОтветственный - 719 - true - true - - true - - - ПредметыПанельНавигацииКонтекстноеМенюОтветственныйРасширеннаяПодсказка - 720 - Label - true - true - - Left - - - Form.Command.Ответственный - Normal - Auto - true - true - UserCmds - Auto - - - ПредметыПанельНавигацииКонтекстноеМенюПредмет - 721 - true - true - - true - - - ПредметыПанельНавигацииКонтекстноеМенюПредметРасширеннаяПодсказка - 722 - Label - true - true - - Left - - - Form.Command.Предмет - Normal - Auto - true - true - UserCmds - Auto - - - ПредметыПанельНавигацииКонтекстноеМенюДобавитьВЗакладки - 723 - true - true - - true - - - ПредметыПанельНавигацииКонтекстноеМенюДобавитьВЗакладкиРасширеннаяПодсказка - 724 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - HierarchicalList - true - true - 10 - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - true - - ПредметыПанельНавигации.НомерКартинки - - - CommonPicture.ВидыНавигацииПоВзаимодействиямОтПредметовВзаимодействий - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true - -
                                          - - ГруппаПредметыПодвал - 753 - - ПоказыватьВсеАктивныеПредметы - 152 - - <key>ru</key> - <value>Только активные</value> - - true - true - - true - - - ПоказыватьВсеАктивныеПредметы - - Right - - ru - Отображать в панели навигации только активные предметы взаимодействий. - - - OnChange - ТолькоПоАктивнымПредметамПриИзменении - - - ПоказыватьВсеАктивныеПредметыExtendedTooltip - 463 - Label - true - true - - Left - - - - ПоказыватьВсеАктивныеПредметыКонтекстноеМеню - 153 - true - - CheckBoxField - Enter - true - Left - true - - - - ТолькоЗначимыеПредметы - 755 - true - true - - true - - - ТолькоЗначимыеПредметы - - Right - - ru - Отображать в панели навигации только те предметы, при позиционировании на которых список взаимодействий будет не пустым. - - - OnChange - ТолькоЗначимыеПредметыПриИзменении - - - ТолькоЗначимыеПредметыРасширеннаяПодсказка - 757 - Label - true - true - - Left - - - - ТолькоЗначимыеПредметыКонтекстноеМеню - 756 - true - - CheckBoxField - Enter - true - Left - true - true true @@ -2065,15 +2370,16 @@ <key>ru</key> - <value>Группа предметы подвал</value> + <value>Страница контакт</value> ru - Группа предметы подвал + Страница контакт + true - ГруппаПредметыПодвалРасширеннаяПодсказка - 754 + СтраницаКонтактExtendedTooltip + 431 Label true true @@ -2081,313 +2387,49 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + Vertical + auto - true - true - - true - - - <key>ru</key> - <value>Страница предмет</value> - - - ru - Страница предмет - - - СтраницаПредметExtendedTooltip - 447 - Label - true - true - - Left - - - Page - - Vertical - auto - -
                                          - - СтраницаЗакладки - 118 - - Закладки - 119 - true - true - - true - - - Закладки - - None - HierarchicalList - List - ListSettings - Tree - - ЗакладкиНаименование - 122 - - <key>ru</key> - <value>Закладки</value> - + + СтраницаПредмет + 73 + + ПредметыПанельНавигации + 690 true true true - Закладки.Description + ПредметыПанельНавигации - - ЗакладкиНаименованиеExtendedTooltip - 473 - Label - true - true - - Left - - - - ЗакладкиНаименованиеКонтекстноеМеню - 123 - true - - LabelField - Enter - Left - true - - true - true - - - - ЗакладкиКоманднаяПанель - 121 - Left - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - ЗакладкиСтрокаПоиска - 817 - - ЗакладкиСтрокаПоискаРасширеннаяПодсказка - 819 - Label - true - true - - Left - - - - ЗакладкиСтрокаПоискаКонтекстноеМеню - 818 - true - - Закладки - - true - - - - ЗакладкиСостояниеПросмотра - 820 - - ЗакладкиСостояниеПросмотраРасширеннаяПодсказка - 822 - Label - true - true - - Left - - - - ЗакладкиСостояниеПросмотраКонтекстноеМеню - 821 - true - - ViewStatusAddition - Закладки - - true - - - - ЗакладкиУправлениеПоиском - 823 - - ЗакладкиУправлениеПоискомРасширеннаяПодсказка - 825 - Label - true - true - - Left - - - - ЗакладкиУправлениеПоискомКонтекстноеМеню - 824 - true - - SearchControlAddition - Закладки - - true - - - - ЗакладкиExtendedTooltip - 472 - Label - true - true - - Left - - - - ЗакладкиКонтекстноеМеню - 120 - - ЗакладкиКонтекстноеМенюРассмотрено - 126 - true - true - - true - - - ЗакладкиКонтекстноеМенюРассмотреноExtendedTooltip - 465 - Label - true - true - - Left - - - Form.Command.Рассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - ЗакладкиКонтекстноеМенюОтложитьРассмотрение - 128 - true - true - - true - - - ЗакладкиКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip - 466 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрение - Normal - Auto - true - true - UserCmds - Auto - - - ЗакладкиОтветственный - 125 - true - true - - true - - - ЗакладкиОтветственныйExtendedTooltip - 467 - Label - true - true - - Left - - - Form.Command.Ответственный - Normal - Auto - true - true - UserCmds - Auto - - - ЗакладкиКонтекстноеМенюПредмет - 127 - true - true - - true - - - ЗакладкиКонтекстноеМенюПредметExtendedTooltip - 468 - Label - true - true - - Left - - - Form.Command.Предмет - Normal - Auto - true - true - UserCmds - Auto - + None + Change + Choose + Copy + Create + Delete - ЗакладкиКонтекстноеМенюСтандартныеКоманды - 398 - - ЗакладкиОбновить - 399 + ПредметыПанельНавигацииГруппа + 808 + + Предмет + 697 true true true + + ПредметыПанельНавигации.Предмет + - ЗакладкиОбновитьExtendedTooltip - 470 + ПредметРасширеннаяПодсказка + 699 Label true true @@ -2395,1180 +2437,134 @@ Left - Form.Item.Закладки.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto + + ПредметКонтекстноеМеню + 698 + true + + LabelField + true + Enter + Left + true + + true + true + - - ЗакладкиВывестиСписок - 400 + + ПредметыПанельНавигацииГруппаРассмотреноДата + 786 + + НеРассмотреноПредметы + 694 + true + true + + true + + + ПредметыПанельНавигации.КоличествоНеРассмотрено + + None + + ru + Количество не рассмотренных взаимодействий + + + НеРассмотреноПредметыРасширеннаяПодсказка + 696 + Label + true + true + + Left + + + + НеРассмотреноПредметыКонтекстноеМеню + 695 + true + + LabelField + true + Left + Enter + true + + CommonPicture.КоличествоРассмотрено + + Left + true + + 3 + true + true + false + + + + ДатаПоследнегоВзаимодействия + 700 + + <key>ru</key> + <value>Последнее взаимодействие</value> + + true + true + + true + + + ПредметыПанельНавигации.ДатаПоследнегоВзаимодействия + + Left + + ru + Дата последнего взаимодействия + + + ДатаПоследнегоВзаимодействияРасширеннаяПодсказка + 702 + Label + true + true + + Left + + + + ДатаПоследнегоВзаимодействияКонтекстноеМеню + 701 + true + + LabelField + true + Enter + true + Left + true + + true + true + + true true true - - ЗакладкиВывестиСписокExtendedTooltip - 471 - Label - true - true - - Left - - - Form.Item.Закладки.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Закладки контекстное меню стандартные команды</value> - - - ru - Закладки контекстное меню стандартные команды - - - ЗакладкиКонтекстноеМенюСтандартныеКомандыExtendedTooltip - 469 - Label - true - true - - Left - - - - Item.Закладки - - - - Tree - true - true - true - true - true - 1 - 1 - AutoUse - AutoUse - true - true - false - Auto - Auto - ExpandAllLevels - true - true - true - true - - Закладки.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - true - - true - true - - - true - true - - true - - - <key>ru</key> - <value>Страница закладки</value> - - - ru - Страница закладки - - - СтраницаЗакладкиExtendedTooltip - 464 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаСвойства - 129 - - Свойства - 130 - true - true - - true - - - Свойства - - None - Add - Change - Copy - Delete - EndEdit - HierarchicalList - List - MoveDown - MoveUp - SortListAsc - SortListDesc - Tree - - СвойстваГруппаКолонок - 135 - - СвойстваПредставление - 133 - true - true - - true - - - Свойства.Представление - - None - - СвойстваПредставлениеExtendedTooltip - 487 - Label - true - true - - Left - - - - СвойстваПредставлениеКонтекстноеМеню - 134 - true - - InputField - true - Auto - Left - - true - true - true - true - true - true - Normal - - - - СвойстваНомерКартинки - 136 - true - true - - true - - - Свойства.НомерКартинки - - - СвойстваНомерКартинкиExtendedTooltip - 488 - Label - true - true - - Left - - - - СвойстваНомерКартинкиКонтекстноеМеню - 137 - true - - PictureField - Auto - Left - - true - true - true - true - - CommonPicture.ВидыНавигацииПоВзаимодействиямОтДопРеквизитовСведений - - - - 1 - - - - true - true - - true - - - <key>ru</key> - <value>Свойства группа колонок</value> - - - ru - Свойства группа колонок - - - СвойстваГруппаКолонокExtendedTooltip - 486 - Label - true - true - - Left - - - ColumnGroup - - InCell - true - true - - - - СвойстваКоманднаяПанель - 132 - Left - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - BeforeExpand - УзелДереваПанелиНавигацииПередРазворачиванием - - - BeforeCollapse - УзелДереваПанелиНавигацииПередСворачиванием - - - СвойстваСтрокаПоиска - 835 - - СвойстваСтрокаПоискаРасширеннаяПодсказка - 837 - Label - true - true - - Left - - - - СвойстваСтрокаПоискаКонтекстноеМеню - 836 - true - - Свойства - - true - - - - СвойстваСостояниеПросмотра - 838 - - СвойстваСостояниеПросмотраРасширеннаяПодсказка - 840 - Label - true - true - - Left - - - - СвойстваСостояниеПросмотраКонтекстноеМеню - 839 - true - - ViewStatusAddition - Свойства - - true - - - - СвойстваУправлениеПоиском - 841 - - СвойстваУправлениеПоискомРасширеннаяПодсказка - 843 - Label - true - true - - Left - - - - СвойстваУправлениеПоискомКонтекстноеМеню - 842 - true - - SearchControlAddition - Свойства - - true - - - - СвойстваExtendedTooltip - 485 - Label - true - true - - Left - - - - СвойстваКонтекстноеМеню - 131 - - СвойстваКонтекстноеМенюГруппаРассмотрено - 401 - - СвойстваКонтекстноеМенюРассмотрено - 139 - true - true - - true - - - СвойстваКонтекстноеМенюРассмотреноExtendedTooltip - 476 - Label - true - true - - Left - - - Form.Command.Рассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюОтложитьРассмотрение - 141 - true - true - - true - - - СвойстваКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip - 477 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрение - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюОтветственный - 138 - true - true - - true - - - СвойстваКонтекстноеМенюОтветственныйExtendedTooltip - 478 - Label - true - true - - Left - - - Form.Command.Ответственный - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюПредмет - 140 - true - true - - true - - - СвойстваКонтекстноеМенюПредметExtendedTooltip - 479 - Label - true - true - - Left - - - Form.Command.Предмет - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Свойства контекстное меню группа рассмотрено</value> - - - ru - Свойства контекстное меню группа рассмотрено - - - СвойстваКонтекстноеМенюГруппаРассмотреноExtendedTooltip - 475 - Label - true - true - - Left - - - - - - СвойстваКонтекстноеМенюДобавитьВЗакладки - 145 - true - true - - true - - - СвойстваКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 480 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюГруппаОбновить - 205 - - СвойстваКонтекстноеМенюКопироватьВБуферОбмена - 402 - true - true - - true - - - СвойстваКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 482 - Label - true - true - - Left - - - Form.Item.Свойства.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюОбновить - 206 - true - true - - true - - - СвойстваКонтекстноеМенюОбновитьExtendedTooltip - 483 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - - - СвойстваКонтекстноеМенюВывестиСписок - 403 - true - true - - true - - - СвойстваКонтекстноеМенюВывестиСписокExtendedTooltip - 484 - Label - true - true - - Left - - - Form.Item.Свойства.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Свойства контекстное меню группа обновить</value> - - - ru - Свойства контекстное меню группа обновить - - - СвойстваКонтекстноеМенюГруппаОбновитьExtendedTooltip - 481 - Label - true - true - - Left - - - - - true - - Tree - true - true - true - true - true - true - 1 - 1 - AutoUse - AutoUse - true - true - false - false - true - Auto - Auto - true - true - true - true - - Свойства.НомерКартинки - - - CommonPicture.ВидыНавигацииПоВзаимодействиямОтДопРеквизитовСведений - - None - None - None - true - - true - true - - true - - - <key>ru</key> - <value>Страница свойства</value> - - - ru - Страница свойства - - - СтраницаСвойстваExtendedTooltip - 474 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаПапки - 177 - - Папки - 178 - true - true - - true - - - Папки - - None - Change - Copy - EndEdit - HierarchicalList - List - MoveDown - MoveUp - SortListAsc - SortListDesc - Tree - - ПапкиГруппаКолонок - 181 - - ПапкиНомерКартинки - 182 - true - true - - true - - - Папки.НомерКартинки - - None - - ПапкиНомерКартинкиExtendedTooltip - 524 - Label - true - true - - Left - - - - ПапкиНомерКартинкиКонтекстноеМеню - 183 - true - - PictureField - Auto - true - Left - true - - true - true - true - true - - - 1 - - - - - ПапкиПредставление - 184 - true - true - - true - - - Папки.Представление - - None - - ПапкиПредставлениеExtendedTooltip - 525 - Label - true - true - - Left - - - - ПапкиПредставлениеКонтекстноеМеню - 185 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Папки группа колонок</value> - - - ru - Папки группа колонок - - true - - ПапкиГруппаКолонокExtendedTooltip - 523 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - ПапкиКоманднаяПанель - 180 - Left - - - DragCheck - ПапкиПроверкаПеретаскивания - - - Selection - ПапкиВыбор - - - BeforeAddRow - ПапкиПередНачаломДобавления - - - BeforeDeleteRow - ПапкиПередУдалением - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - DragStart - ПапкиНачалоПеретаскивания - - - BeforeExpand - УзелДереваПанелиНавигацииПередРазворачиванием - - - Drag - ПапкиПеретаскивание - - - BeforeCollapse - УзелДереваПанелиНавигацииПередСворачиванием - - - ПапкиСтрокаПоиска - 854 - - ПапкиСтрокаПоискаРасширеннаяПодсказка - 856 - Label - true - true - - Left - - - - ПапкиСтрокаПоискаКонтекстноеМеню - 855 - true - - Папки - - true - - - - ПапкиСостояниеПросмотра - 857 - - ПапкиСостояниеПросмотраРасширеннаяПодсказка - 859 - Label - true - true - - Left - - - - ПапкиСостояниеПросмотраКонтекстноеМеню - 858 - true - - ViewStatusAddition - Папки - - true - - - - ПапкиУправлениеПоиском - 860 - - ПапкиУправлениеПоискомРасширеннаяПодсказка - 862 - Label - true - true - - Left - - - - ПапкиУправлениеПоискомКонтекстноеМеню - 861 - true - - SearchControlAddition - Папки - - true - - - - ПапкиExtendedTooltip - 522 - Label - true - true - - Left - - - - ПапкиКонтекстноеМеню - 179 - - ПапкиКонтекстноеМенюГруппаРассмотрено - 387 - - ПапкиКонтекстноеМенюРассмотрено - 187 - true - true - - true - - - ПапкиКонтекстноеМенюРассмотреноExtendedTooltip - 508 - Label - true - true - - Left - - - Form.Command.Рассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюОтложитьРассмотрение - 189 - true - true - - true - - - ПапкиКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip - 509 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрение - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюОтветственный - 186 - true - true - - true - - - ПапкиКонтекстноеМенюОтветственныйExtendedTooltip - 510 - Label - true - true - - Left - - - Form.Command.Ответственный - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Папки контекстное меню группа рассмотрено</value> - - - ru - Папки контекстное меню группа рассмотрено - - - ПапкиКонтекстноеМенюГруппаРассмотреноExtendedTooltip - 507 - Label - true - true - - Left - - - - - - ПапкиКонтекстноеМенюДобавитьВЗакладки - 394 - true - true - - true - - - ПапкиКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 511 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюПрименитьПравилаОбработки - 190 - true - true - - true - - - ПапкиКонтекстноеМенюПрименитьПравилаОбработкиExtendedTooltip - 512 - Label - true - true - - Left - - - Form.Command.ПрименитьПравилаОбработки - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюПеренестиВПапку - 199 - true - true - - true - - - ПапкиКонтекстноеМенюПеренестиВПапкуExtendedTooltip - 513 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюГруппаИзменить - 389 - - ПапкиКонтекстноеМенюДобавить - 384 <key>ru</key> - <value>Создать папку</value> + <value>Предметы панель навигации группа рассмотрено дата</value> - true - true - - true - + + ru + Предметы панель навигации группа рассмотрено дата + - ПапкиКонтекстноеМенюДобавитьExtendedTooltip - 515 + ПредметыПанельНавигацииГруппаРассмотреноДатаРасширеннаяПодсказка + 787 Label true true @@ -3576,65 +2572,11 @@ Left - Form.Item.Папки.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюИзменитьЗначениеПанелиНавигации - 329 - true - true - - true - - - ПапкиКонтекстноеМенюИзменитьЗначениеПанелиНавигацииExtendedTooltip - 516 - Label - true - true - - Left - - - Form.Command.ИзменитьЗначениеПанелиНавигации - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюУдалить - 385 - true - true - - true - - - ПапкиКонтекстноеМенюУдалитьExtendedTooltip - 517 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto + ColumnGroup + + auto + true + true true @@ -3643,15 +2585,15 @@ <key>ru</key> - <value>Папки контекстное меню группа изменить</value> + <value>Предметы панель навигации группа</value> ru - Папки контекстное меню группа изменить + Предметы панель навигации группа - ПапкиКонтекстноеМенюГруппаИзменитьExtendedTooltip - 514 + ПредметыПанельНавигацииГруппаРасширеннаяПодсказка + 809 Label true true @@ -3659,426 +2601,137 @@ Left - - - - ПапкиКонтекстноеМенюГруппаОбновить - 209 - - ПапкиКонтекстноеМенюКопироватьВБуферОбмена - 388 - true - true - - true - - - ПапкиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 519 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюОбновить - 210 - true - true - - true - - - ПапкиКонтекстноеМенюОбновитьExtendedTooltip - 520 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - - - ПапкиКонтекстноеМенюВывестиСписок - 386 - true - true - - true - - - ПапкиКонтекстноеМенюВывестиСписокExtendedTooltip - 521 - Label - true - true - - Left - - - Form.Item.Папки.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Папки контекстное меню группа обновить</value> - - - ru - Папки контекстное меню группа обновить - - - ПапкиКонтекстноеМенюГруппаОбновитьExtendedTooltip - 518 - Label - true - true - - Left - - - - - true - - Tree - true - true - true - true - true - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - false - true - Auto - Auto - true - true - true - true - - Папки.НомерКартинки - - - CommonPicture.ПапкиЭлектронныхПисем - - None - None - None - true - - true - true - - true - - - <key>ru</key> - <value>Страница папки</value> - - - ru - Страница папки - - - СтраницаПапкиExtendedTooltip - 506 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКатегории - 305 - - Категории - 306 - true - true - - true - - - Категории - - None - Add - CancelSearch - Change - Copy - Delete - EndEdit - Find - MoveDown - MoveUp - SortListAsc - SortListDesc - - КатегорииГруппаКолонок - 311 - - КатегорииНомерКартинки - 312 - true - true - - true - - - Категории.НомерКартинки - - None - - КатегорииНомерКартинкиExtendedTooltip - 539 - Label - true - true - - Left - - - - КатегорииНомерКартинкиКонтекстноеМеню - 313 - true - - PictureField - Auto - true - Left - true - - true - true - true - true - - CommonPicture.КоллекцияДеревоАнкеты - - - - 1 - + ColumnGroup + + Vertical + auto + true - - КатегорииПредставление - 309 - true - true - - true - - - Категории.Представление - - None - - КатегорииПредставлениеExtendedTooltip - 540 - Label - true - true - - Left - - - - КатегорииПредставлениеКонтекстноеМеню - 310 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - true - - КатегорииГруппаКолонокExtendedTooltip - 538 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - КатегорииКоманднаяПанель - 308 - Left - - - OnActivateRow - ПанельНавигацииПриАктивизацииСтроки - - - КатегорииСтрокаПоиска - 873 - - КатегорииСтрокаПоискаРасширеннаяПодсказка - 875 - Label - true - true - - Left - - - - КатегорииСтрокаПоискаКонтекстноеМеню - 874 - true - - Категории - - true - - - - КатегорииСостояниеПросмотра - 876 - - КатегорииСостояниеПросмотраРасширеннаяПодсказка - 878 - Label - true - true - - Left - - - - КатегорииСостояниеПросмотраКонтекстноеМеню - 877 - true - - ViewStatusAddition - Категории - - true - - - - КатегорииУправлениеПоиском - 879 - - КатегорииУправлениеПоискомРасширеннаяПодсказка - 881 - Label - true - true - - Left - - - - КатегорииУправлениеПоискомКонтекстноеМеню - 880 - true - - SearchControlAddition - Категории - - true - - - - КатегорииExtendedTooltip - 537 - Label - true - true - + + ПредметыПанельНавигацииКоманднаяПанель + 692 Left - - - - КатегорииКонтекстноеМеню - 307 - - КатегорииКонтекстноеМенюГруппаРассмотрено - 407 + + + DragCheck + ПредметыПроверкаПеретаскивания + + + Selection + ПредметыПанельНавигацииВыбор + + + BeforeDeleteRow + ПредметыПанельНавигацииПередУдалением + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + Drag + ПредметыПеретаскивание + + + BeforeRowChange + ПредметыПанельНавигацииПередНачаломИзменения + + + ПредметыПанельНавигацииСтрокаПоиска + 858 + + ПредметыПанельНавигацииСтрокаПоискаРасширеннаяПодсказка + 860 + Label + true + true + + Left + + + + ПредметыПанельНавигацииСтрокаПоискаКонтекстноеМеню + 859 + true + + ПредметыПанельНавигации + + true + + + + ПредметыПанельНавигацииСостояниеПросмотра + 861 + + ПредметыПанельНавигацииСостояниеПросмотраРасширеннаяПодсказка + 863 + Label + true + true + + Left + + + + ПредметыПанельНавигацииСостояниеПросмотраКонтекстноеМеню + 862 + true + + ViewStatusAddition + ПредметыПанельНавигации + + true + + + + ПредметыПанельНавигацииУправлениеПоиском + 864 + + ПредметыПанельНавигацииУправлениеПоискомРасширеннаяПодсказка + 866 + Label + true + true + + Left + + + + ПредметыПанельНавигацииУправлениеПоискомКонтекстноеМеню + 865 + true + + SearchControlAddition + ПредметыПанельНавигации + + true + + + + ПредметыПанельНавигацииРасширеннаяПодсказка + 693 + Label + true + true + + Left + + + + ПредметыПанельНавигацииКонтекстноеМеню + 691 - КатегорииКонтекстноеМенюРассмотрено - 318 + ПредметыПанельНавигацииКонтекстноеМенюРассмотрено + 715 true true true - КатегорииКонтекстноеМенюРассмотреноExtendedTooltip - 528 + ПредметыПанельНавигацииКонтекстноеМенюРассмотреноРасширеннаяПодсказка + 716 Label true true @@ -4095,16 +2748,16 @@ Auto - КатегорииКонтекстноеМенюОтложитьРассмотрение - 320 + ПредметыПанельНавигацииКонтекстноеМенюОтложитьРассмотрение + 717 true true true - КатегорииКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip - 529 + ПредметыПанельНавигацииКонтекстноеМенюОтложитьРассмотрениеРасширеннаяПодсказка + 718 Label true true @@ -4121,16 +2774,16 @@ Auto - КатегорииКонтекстноеМенюОтветственный - 316 + ПредметыПанельНавигацииКонтекстноеМенюОтветственный + 719 true true true - КатегорииКонтекстноеМенюОтветственныйExtendedTooltip - 530 + ПредметыПанельНавигацииКонтекстноеМенюОтветственныйРасширеннаяПодсказка + 720 Label true true @@ -4147,16 +2800,16 @@ Auto - КатегорииКонтекстноеМенюПредмет - 319 + ПредметыПанельНавигацииКонтекстноеМенюПредмет + 721 true true true - КатегорииКонтекстноеМенюПредметExtendedTooltip - 531 + ПредметыПанельНавигацииКонтекстноеМенюПредметРасширеннаяПодсказка + 722 Label true true @@ -4172,42 +2825,372 @@ UserCmds Auto - true - true - - true - + + ПредметыПанельНавигацииКонтекстноеМенюДобавитьВЗакладки + 723 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюДобавитьВЗакладкиРасширеннаяПодсказка + 724 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto + true + true + UserCmds + Auto + + + ПредметыПанельНавигацииКонтекстноеМенюГруппаДинамическийСписок + 794 + + ПредметыПанельНавигацииКонтекстноеМенюНайти + 798 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюНайтиРасширеннаяПодсказка + 799 + Label + true + true + + Left + + + Form.Item.ПредметыПанельНавигации.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ПредметыПанельНавигацииКонтекстноеМенюОтменитьПоиск + 800 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюОтменитьПоискРасширеннаяПодсказка + 801 + Label + true + true + + Left + + + Form.Item.ПредметыПанельНавигации.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + + ПредметыПанельНавигацииКонтекстноеМенюТолькоАктивныеПредметы + 790 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюТолькоАктивныеПредметыРасширеннаяПодсказка + 791 + Label + true + true + + Left + + + Form.Command.ТолькоАктивныеПредметы + Normal + Auto + true + true + UserCmds + Auto + + + ПредметыПанельНавигацииКонтекстноеМенюТолькоЗначимыеПредметы + 788 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюТолькоЗначимыеПредметыРасширеннаяПодсказка + 789 + Label + true + true + + Left + + + Form.Command.ТолькоЗначимыеПредметы + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Предметы панель навигации контекстное меню группа динамический список</value> + + + ru + Предметы панель навигации контекстное меню группа динамический список + + + ПредметыПанельНавигацииКонтекстноеМенюГруппаДинамическийСписокРасширеннаяПодсказка + 795 + Label + true + true + + Left + + + + + + ПредметыПанельНавигацииКонтекстноеМенюГруппаНастройкаСписка + 796 + + ПредметыПанельНавигацииКонтекстноеМенюНастройкаСписка + 802 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюНастройкаСпискаРасширеннаяПодсказка + 803 + Label + true + true + + Left + + + Form.Item.ПредметыПанельНавигации.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Предметы панель навигации контекстное меню группа настройка списка</value> + + + ru + Предметы панель навигации контекстное меню группа настройка списка + + + ПредметыПанельНавигацииКонтекстноеМенюГруппаНастройкаСпискаРасширеннаяПодсказка + 797 + Label + true + true + + Left + + + + + + ПредметыПанельНавигацииКонтекстноеМенюКопироватьВБуферОбмена + 804 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюКопироватьВБуферОбменаРасширеннаяПодсказка + 805 + Label + true + true + + Left + + + Form.Item.ПредметыПанельНавигации.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + ПредметыПанельНавигацииКонтекстноеМенюВывестиСписок + 806 + true + true + + true + + + ПредметыПанельНавигацииКонтекстноеМенюВывестиСписокРасширеннаяПодсказка + 807 + Label + true + true + + Left + + + Form.Item.ПредметыПанельНавигации.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + HierarchicalList + true + true + 10 + true + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + +
                                          + true + true + + true + + + <key>ru</key> + <value>Страница предмет</value> + + + ru + Страница предмет + + + СтраницаПредметExtendedTooltip + 447 + Label + true + true + + Left + + + Page + + Vertical + auto + +
                                          + + СтраницаЗакладки + 118 + + Закладки + 119 + true + true + + true + + + Закладки + + None + HierarchicalList + List + ListSettings + Tree + + ЗакладкиНаименование + 122 <key>ru</key> - <value>Категории контекстное меню группа рассмотрено</value> + <value>Закладки</value> - - ru - Категории контекстное меню группа рассмотрено - - - КатегорииКонтекстноеМенюГруппаРассмотреноExtendedTooltip - 527 - Label - true - true - - Left - - - - - - КатегорииКонтекстноеМенюДобавитьВЗакладки - 321 true true true + + Закладки.Description + - КатегорииКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 532 + ЗакладкиНаименованиеExtendedTooltip + 473 Label true true @@ -4215,28 +3198,413 @@ Left - Form.Command.ДобавитьВЗакладки - Normal - Auto + + ЗакладкиНаименованиеКонтекстноеМеню + 123 + true + + LabelField + Enter + Left + true + + true + true + + + + ЗакладкиКоманднаяПанель + 121 + Left + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + ЗакладкиСтрокаПоиска + 878 + + ЗакладкиСтрокаПоискаРасширеннаяПодсказка + 880 + Label + true + true + + Left + + + + ЗакладкиСтрокаПоискаКонтекстноеМеню + 879 + true + + Закладки + + true + + + + ЗакладкиСостояниеПросмотра + 881 + + ЗакладкиСостояниеПросмотраРасширеннаяПодсказка + 883 + Label + true + true + + Left + + + + ЗакладкиСостояниеПросмотраКонтекстноеМеню + 882 + true + + ViewStatusAddition + Закладки + + true + + + + ЗакладкиУправлениеПоиском + 884 + + ЗакладкиУправлениеПоискомРасширеннаяПодсказка + 886 + Label + true + true + + Left + + + + ЗакладкиУправлениеПоискомКонтекстноеМеню + 885 + true + + SearchControlAddition + Закладки + + true + + + + ЗакладкиExtendedTooltip + 472 + Label true true - UserCmds - Auto - + + Left + + + + ЗакладкиКонтекстноеМеню + 120 + + ЗакладкиКонтекстноеМенюРассмотрено + 126 + true + true + + true + + + ЗакладкиКонтекстноеМенюРассмотреноExtendedTooltip + 465 + Label + true + true + + Left + + + Form.Command.Рассмотрено + Normal + Auto + true + true + UserCmds + Auto + + + ЗакладкиКонтекстноеМенюОтложитьРассмотрение + 128 + true + true + + true + + + ЗакладкиКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip + 466 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрение + Normal + Auto + true + true + UserCmds + Auto + + + ЗакладкиОтветственный + 125 + true + true + + true + + + ЗакладкиОтветственныйExtendedTooltip + 467 + Label + true + true + + Left + + + Form.Command.Ответственный + Normal + Auto + true + true + UserCmds + Auto + + + ЗакладкиКонтекстноеМенюПредмет + 127 + true + true + + true + + + ЗакладкиКонтекстноеМенюПредметExtendedTooltip + 468 + Label + true + true + + Left + + + Form.Command.Предмет + Normal + Auto + true + true + UserCmds + Auto + + + ЗакладкиКонтекстноеМенюСтандартныеКоманды + 398 + + ЗакладкиОбновить + 399 + true + true + + true + + + ЗакладкиОбновитьExtendedTooltip + 470 + Label + true + true + + Left + + + Form.Item.Закладки.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + + + ЗакладкиВывестиСписок + 400 + true + true + + true + + + ЗакладкиВывестиСписокExtendedTooltip + 471 + Label + true + true + + Left + + + Form.Item.Закладки.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Закладки контекстное меню стандартные команды</value> + + + ru + Закладки контекстное меню стандартные команды + + + ЗакладкиКонтекстноеМенюСтандартныеКомандыExtendedTooltip + 469 + Label + true + true + + Left + + + + Item.Закладки + + + + Tree + true + true + true + true + true + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + ExpandAllLevels + true + true + true + true + + Закладки.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Страница закладки</value> + + + ru + Страница закладки + + + СтраницаЗакладкиExtendedTooltip + 464 + Label + true + true + + Left + + + Page + + Vertical + auto + +
                                          + + СтраницаСвойства + 129 + + Свойства + 130 + true + true + + true + + + Свойства + + None + Add + Change + Copy + Delete + EndEdit + HierarchicalList + List + MoveDown + MoveUp + SortListAsc + SortListDesc + Tree - КатегорииКонтекстноеМенюГруппаОбновить - 315 - - КатегорииКонтекстноеМенюКопироватьВБуферОбмена - 408 + СвойстваГруппаКолонок + 135 + + СвойстваПредставление + 133 true true true + + Свойства.Представление + + None - КатегорииКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip - 534 + СвойстваПредставлениеExtendedTooltip + 487 Label true true @@ -4244,25 +3612,39 @@ Left - Form.Item.Категории.StandardCommand.CopyToClipboard - Normal - Auto - true - true - UserCmds - Auto + + СвойстваПредставлениеКонтекстноеМеню + 134 + true + + InputField + true + Auto + Left + + true + true + true + true + true + true + Normal + - - КатегорииКонтекстноеМенюОбновить - 314 + + СвойстваНомерКартинки + 136 true true true + + Свойства.НомерКартинки + - КатегорииКонтекстноеМенюОбновитьExtendedTooltip - 535 + СвойстваНомерКартинкиExtendedTooltip + 488 Label true true @@ -4270,39 +3652,27 @@ Left - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - - - КатегорииКонтекстноеМенюВывестиСписок - 409 - true - true - - true - - - КатегорииКонтекстноеМенюВывестиСписокExtendedTooltip - 536 - Label + + СвойстваНомерКартинкиКонтекстноеМеню + 137 + true + + PictureField + Auto + Left + true true - - Left - - - Form.Item.Категории.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto + true + true + + CommonPicture.ВидыНавигацииПоВзаимодействиямОтДопРеквизитовСведений + + + + 1 + + true true @@ -4311,15 +3681,15 @@ <key>ru</key> - <value>Категории контекстное меню группа обновить</value> + <value>Свойства группа колонок</value> ru - Категории контекстное меню группа обновить + Свойства группа колонок - КатегорииКонтекстноеМенюГруппаОбновитьExtendedTooltip - 533 + СвойстваГруппаКолонокExtendedTooltip + 486 Label true true @@ -4327,42 +3697,1736 @@ Left - + ColumnGroup + + InCell + true + true + - true - - true - true - true - true - true - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - false - true - Auto - Auto - true - true - true - true - - Категории.НомерКартинки - - - CommonPicture.ВидыНавигацииПоВзаимодействиямОтКатегорий - - None - None - None - true - + + СвойстваКоманднаяПанель + 132 + Left + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + BeforeExpand + УзелДереваПанелиНавигацииПередРазворачиванием + + + BeforeCollapse + УзелДереваПанелиНавигацииПередСворачиванием + + + СвойстваСтрокаПоиска + 896 + + СвойстваСтрокаПоискаРасширеннаяПодсказка + 898 + Label + true + true + + Left + + + + СвойстваСтрокаПоискаКонтекстноеМеню + 897 + true + + Свойства + + true + + + + СвойстваСостояниеПросмотра + 899 + + СвойстваСостояниеПросмотраРасширеннаяПодсказка + 901 + Label + true + true + + Left + + + + СвойстваСостояниеПросмотраКонтекстноеМеню + 900 + true + + ViewStatusAddition + Свойства + + true + + + + СвойстваУправлениеПоиском + 902 + + СвойстваУправлениеПоискомРасширеннаяПодсказка + 904 + Label + true + true + + Left + + + + СвойстваУправлениеПоискомКонтекстноеМеню + 903 + true + + SearchControlAddition + Свойства + + true + + + + СвойстваExtendedTooltip + 485 + Label + true + true + + Left + + + + СвойстваКонтекстноеМеню + 131 + + СвойстваКонтекстноеМенюГруппаРассмотрено + 401 + + СвойстваКонтекстноеМенюРассмотрено + 139 + true + true + + true + + + СвойстваКонтекстноеМенюРассмотреноExtendedTooltip + 476 + Label + true + true + + Left + + + Form.Command.Рассмотрено + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюОтложитьРассмотрение + 141 + true + true + + true + + + СвойстваКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip + 477 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрение + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюОтветственный + 138 + true + true + + true + + + СвойстваКонтекстноеМенюОтветственныйExtendedTooltip + 478 + Label + true + true + + Left + + + Form.Command.Ответственный + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюПредмет + 140 + true + true + + true + + + СвойстваКонтекстноеМенюПредметExtendedTooltip + 479 + Label + true + true + + Left + + + Form.Command.Предмет + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Свойства контекстное меню группа рассмотрено</value> + + + ru + Свойства контекстное меню группа рассмотрено + + + СвойстваКонтекстноеМенюГруппаРассмотреноExtendedTooltip + 475 + Label + true + true + + Left + + + + + + СвойстваКонтекстноеМенюДобавитьВЗакладки + 145 + true + true + + true + + + СвойстваКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip + 480 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюГруппаОбновить + 205 + + СвойстваКонтекстноеМенюКопироватьВБуферОбмена + 402 + true + true + + true + + + СвойстваКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip + 482 + Label + true + true + + Left + + + Form.Item.Свойства.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюОбновить + 206 + true + true + + true + + + СвойстваКонтекстноеМенюОбновитьExtendedTooltip + 483 + Label + true + true + + Left + + + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + + + СвойстваКонтекстноеМенюВывестиСписок + 403 + true + true + + true + + + СвойстваКонтекстноеМенюВывестиСписокExtendedTooltip + 484 + Label + true + true + + Left + + + Form.Item.Свойства.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Свойства контекстное меню группа обновить</value> + + + ru + Свойства контекстное меню группа обновить + + + СвойстваКонтекстноеМенюГруппаОбновитьExtendedTooltip + 481 + Label + true + true + + Left + + + + + true + + Tree + true + true + true + true + true + true + 1 + 1 + AutoUse + AutoUse + true + true + false + false + true + Auto + Auto + true + true + true + true + + Свойства.НомерКартинки + + + CommonPicture.ВидыНавигацииПоВзаимодействиямОтДопРеквизитовСведений + + None + None + None + true + + true + true + + true + + + <key>ru</key> + <value>Страница свойства</value> + + + ru + Страница свойства + + + СтраницаСвойстваExtendedTooltip + 474 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаПапки + 177 + + Папки + 178 + true + true + + true + + + Папки + + None + Change + Copy + EndEdit + HierarchicalList + List + MoveDown + MoveUp + SortListAsc + SortListDesc + Tree + + ПапкиГруппаКолонок + 181 + + ПапкиНомерКартинки + 182 + true + true + + true + + + Папки.НомерКартинки + + None + + ПапкиНомерКартинкиExtendedTooltip + 524 + Label + true + true + + Left + + + + ПапкиНомерКартинкиКонтекстноеМеню + 183 + true + + PictureField + Auto + true + Left + true + + true + true + true + true + + + 1 + + + + + ПапкиПредставление + 184 + true + true + + true + + + Папки.Представление + + None + + ПапкиПредставлениеExtendedTooltip + 525 + Label + true + true + + Left + + + + ПапкиПредставлениеКонтекстноеМеню + 185 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Папки группа колонок</value> + + + ru + Папки группа колонок + + true + + ПапкиГруппаКолонокExtendedTooltip + 523 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + ПапкиКоманднаяПанель + 180 + Left + + + DragCheck + ПапкиПроверкаПеретаскивания + + + Selection + ПапкиВыбор + + + BeforeAddRow + ПапкиПередНачаломДобавления + + + BeforeDeleteRow + ПапкиПередУдалением + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + DragStart + ПапкиНачалоПеретаскивания + + + BeforeExpand + УзелДереваПанелиНавигацииПередРазворачиванием + + + Drag + ПапкиПеретаскивание + + + BeforeCollapse + УзелДереваПанелиНавигацииПередСворачиванием + + + ПапкиСтрокаПоиска + 915 + + ПапкиСтрокаПоискаРасширеннаяПодсказка + 917 + Label + true + true + + Left + + + + ПапкиСтрокаПоискаКонтекстноеМеню + 916 + true + + Папки + + true + + + + ПапкиСостояниеПросмотра + 918 + + ПапкиСостояниеПросмотраРасширеннаяПодсказка + 920 + Label + true + true + + Left + + + + ПапкиСостояниеПросмотраКонтекстноеМеню + 919 + true + + ViewStatusAddition + Папки + + true + + + + ПапкиУправлениеПоиском + 921 + + ПапкиУправлениеПоискомРасширеннаяПодсказка + 923 + Label + true + true + + Left + + + + ПапкиУправлениеПоискомКонтекстноеМеню + 922 + true + + SearchControlAddition + Папки + + true + + + + ПапкиExtendedTooltip + 522 + Label + true + true + + Left + + + + ПапкиКонтекстноеМеню + 179 + + ПапкиКонтекстноеМенюГруппаРассмотрено + 387 + + ПапкиКонтекстноеМенюРассмотрено + 187 + true + true + + true + + + ПапкиКонтекстноеМенюРассмотреноExtendedTooltip + 508 + Label + true + true + + Left + + + Form.Command.Рассмотрено + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюОтложитьРассмотрение + 189 + true + true + + true + + + ПапкиКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip + 509 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрение + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюОтветственный + 186 + true + true + + true + + + ПапкиКонтекстноеМенюОтветственныйExtendedTooltip + 510 + Label + true + true + + Left + + + Form.Command.Ответственный + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Папки контекстное меню группа рассмотрено</value> + + + ru + Папки контекстное меню группа рассмотрено + + + ПапкиКонтекстноеМенюГруппаРассмотреноExtendedTooltip + 507 + Label + true + true + + Left + + + + + + ПапкиКонтекстноеМенюДобавитьВЗакладки + 394 + true + true + + true + + + ПапкиКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip + 511 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюПрименитьПравилаОбработки + 190 + true + true + + true + + + ПапкиКонтекстноеМенюПрименитьПравилаОбработкиExtendedTooltip + 512 + Label + true + true + + Left + + + Form.Command.ПрименитьПравилаОбработки + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюПеренестиВПапку + 199 + true + true + + true + + + ПапкиКонтекстноеМенюПеренестиВПапкуExtendedTooltip + 513 + Label + true + true + + Left + + + Form.Command.ПеренестиВПапку + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюГруппаИзменить + 389 + + ПапкиКонтекстноеМенюДобавить + 384 + + <key>ru</key> + <value>Создать папку</value> + + true + true + + true + + + ПапкиКонтекстноеМенюДобавитьExtendedTooltip + 515 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюИзменитьЗначениеПанелиНавигации + 329 + true + true + + true + + + ПапкиКонтекстноеМенюИзменитьЗначениеПанелиНавигацииExtendedTooltip + 516 + Label + true + true + + Left + + + Form.Command.ИзменитьЗначениеПанелиНавигации + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюУдалить + 385 + true + true + + true + + + ПапкиКонтекстноеМенюУдалитьExtendedTooltip + 517 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Папки контекстное меню группа изменить</value> + + + ru + Папки контекстное меню группа изменить + + + ПапкиКонтекстноеМенюГруппаИзменитьExtendedTooltip + 514 + Label + true + true + + Left + + + + + + ПапкиКонтекстноеМенюГруппаОбновить + 209 + + ПапкиКонтекстноеМенюКопироватьВБуферОбмена + 388 + true + true + + true + + + ПапкиКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip + 519 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюОбновить + 210 + true + true + + true + + + ПапкиКонтекстноеМенюОбновитьExtendedTooltip + 520 + Label + true + true + + Left + + + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + + + ПапкиКонтекстноеМенюВывестиСписок + 386 + true + true + + true + + + ПапкиКонтекстноеМенюВывестиСписокExtendedTooltip + 521 + Label + true + true + + Left + + + Form.Item.Папки.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Папки контекстное меню группа обновить</value> + + + ru + Папки контекстное меню группа обновить + + + ПапкиКонтекстноеМенюГруппаОбновитьExtendedTooltip + 518 + Label + true + true + + Left + + + + + true + + Tree + true + true + 15 + true + true + true + Row + 1 + 1 + AutoUse + true + true + false + false + true + Auto + Auto + true + true + true + true + + Папки.НомерКартинки + + + CommonPicture.ПапкиЭлектронныхПисем + + None + None + None + true + + true + true + + true + + + <key>ru</key> + <value>Страница папки</value> + + + ru + Страница папки + + + СтраницаПапкиExtendedTooltip + 506 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКатегории + 305 + + Категории + 306 + true + true + + true + + + Категории + + None + Add + CancelSearch + Change + Copy + Delete + EndEdit + Find + MoveDown + MoveUp + SortListAsc + SortListDesc + + КатегорииГруппаКолонок + 311 + + КатегорииНомерКартинки + 312 + true + true + + true + + + Категории.НомерКартинки + + None + + КатегорииНомерКартинкиExtendedTooltip + 539 + Label + true + true + + Left + + + + КатегорииНомерКартинкиКонтекстноеМеню + 313 + true + + PictureField + Auto + true + Left + true + + true + true + true + true + + CommonPicture.КоллекцияДеревоАнкеты + + + + 1 + + + + + КатегорииПредставление + 309 + true + true + + true + + + Категории.Представление + + None + + КатегорииПредставлениеExtendedTooltip + 540 + Label + true + true + + Left + + + + КатегорииПредставлениеКонтекстноеМеню + 310 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + true + + КатегорииГруппаКолонокExtendedTooltip + 538 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + КатегорииКоманднаяПанель + 308 + Left + + + OnActivateRow + ПанельНавигацииПриАктивизацииСтроки + + + КатегорииСтрокаПоиска + 934 + + КатегорииСтрокаПоискаРасширеннаяПодсказка + 936 + Label + true + true + + Left + + + + КатегорииСтрокаПоискаКонтекстноеМеню + 935 + true + + Категории + + true + + + + КатегорииСостояниеПросмотра + 937 + + КатегорииСостояниеПросмотраРасширеннаяПодсказка + 939 + Label + true + true + + Left + + + + КатегорииСостояниеПросмотраКонтекстноеМеню + 938 + true + + ViewStatusAddition + Категории + + true + + + + КатегорииУправлениеПоиском + 940 + + КатегорииУправлениеПоискомРасширеннаяПодсказка + 942 + Label + true + true + + Left + + + + КатегорииУправлениеПоискомКонтекстноеМеню + 941 + true + + SearchControlAddition + Категории + + true + + + + КатегорииExtendedTooltip + 537 + Label + true + true + + Left + + + + КатегорииКонтекстноеМеню + 307 + + КатегорииКонтекстноеМенюГруппаРассмотрено + 407 + + КатегорииКонтекстноеМенюРассмотрено + 318 + true + true + + true + + + КатегорииКонтекстноеМенюРассмотреноExtendedTooltip + 528 + Label + true + true + + Left + + + Form.Command.Рассмотрено + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюОтложитьРассмотрение + 320 + true + true + + true + + + КатегорииКонтекстноеМенюОтложитьРассмотрениеExtendedTooltip + 529 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрение + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюОтветственный + 316 + true + true + + true + + + КатегорииКонтекстноеМенюОтветственныйExtendedTooltip + 530 + Label + true + true + + Left + + + Form.Command.Ответственный + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюПредмет + 319 + true + true + + true + + + КатегорииКонтекстноеМенюПредметExtendedTooltip + 531 + Label + true + true + + Left + + + Form.Command.Предмет + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Категории контекстное меню группа рассмотрено</value> + + + ru + Категории контекстное меню группа рассмотрено + + + КатегорииКонтекстноеМенюГруппаРассмотреноExtendedTooltip + 527 + Label + true + true + + Left + + + + + + КатегорииКонтекстноеМенюДобавитьВЗакладки + 321 + true + true + + true + + + КатегорииКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip + 532 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюГруппаОбновить + 315 + + КатегорииКонтекстноеМенюКопироватьВБуферОбмена + 408 + true + true + + true + + + КатегорииКонтекстноеМенюКопироватьВБуферОбменаExtendedTooltip + 534 + Label + true + true + + Left + + + Form.Item.Категории.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюОбновить + 314 + true + true + + true + + + КатегорииКонтекстноеМенюОбновитьExtendedTooltip + 535 + Label + true + true + + Left + + + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + + + КатегорииКонтекстноеМенюВывестиСписок + 409 + true + true + + true + + + КатегорииКонтекстноеМенюВывестиСписокExtendedTooltip + 536 + Label + true + true + + Left + + + Form.Item.Категории.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Категории контекстное меню группа обновить</value> + + + ru + Категории контекстное меню группа обновить + + + КатегорииКонтекстноеМенюГруппаОбновитьExtendedTooltip + 533 + Label + true + true + + Left + + + + + true + + true + true + true + true + true + Row + 1 + 1 + AutoUse + AutoUse + true + true + false + false + true + Auto + Auto + true + true + true + true + + Категории.НомерКартинки + + + CommonPicture.ВидыНавигацииПоВзаимодействиямОтКатегорий + + None + None + None + true + + + true + true + + true + + + <key>ru</key> + <value>Страница категории</value> + + + ru + Страница категории + + + СтраницаКатегорииExtendedTooltip + 526 + Label + true + true + + Left + + + Page + + Vertical + auto + true true @@ -4371,15 +5435,15 @@ <key>ru</key> - <value>Страница категории</value> + <value>Страницы панели навигации</value> ru - Страница категории + Страницы панели навигации - СтраницаКатегорииExtendedTooltip - 526 + СтраницыПанелиНавигацииExtendedTooltip + 430 Label true true @@ -4387,10 +5451,9 @@ Left - Page - - Vertical - auto + Pages + + Auto true @@ -4400,15 +5463,15 @@ <key>ru</key> - <value>Страницы панели навигации</value> + <value>Группа панель навигации</value> ru - Страницы панели навигации + Группа панель навигации - СтраницыПанелиНавигацииExtendedTooltip - 430 + ГруппаПанельНавигацииExtendedTooltip + 423 Label true true @@ -4416,163 +5479,35 @@ Left - Pages - + UsualGroup + + Vertical + Auto + true + true + Auto Auto - true - true - - true - - - <key>ru</key> - <value>Группа панель навигации</value> - - - ru - Группа панель навигации - - - ГруппаПанельНавигацииExtendedTooltip - 423 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - -
                                          - - ГруппаСписок - 7 - СтраницыСписок - 211 - - СтраницаСписокОбычная - 212 - - Список - 2 - true - true - - true - - - Список - - None - Refresh - - ВажностьНомерКартинки - 340 - true - true - - true - - - Список.ВажностьНомерКартинки - - - ВажностьНомерКартинкиExtendedTooltip - 585 - Label - true - true - - Left - - - - ВажностьНомерКартинкиКонтекстноеМеню - 341 - true - - PictureField - Enter - - CommonPicture.ВосклицательныйЗнакСерый - - Left - - true - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - - - - - ЕстьВложения - 108 - true - true - - true - - - Список.ЕстьВложения - - - ru - Наличие вложений - - - ЕстьВложенияExtendedTooltip - 586 - Label - true - true - - Left - - - - ЕстьВложенияКонтекстноеМеню - 109 - true - - PictureField - Enter - - CommonPicture.Скрепка - - Left - true - - true - true - true - true - - CommonPicture.Скрепка - - - - 1 - - - + ГруппаСписок + 7 + + Список + 2 + true + true + + true + + + Список + + None + Refresh + + ГруппаФлаги + 772 НомерКартинки 330 @@ -4584,6 +5519,7 @@ Список.НомерКартинки + None НомерКартинкиExtendedTooltip 587 @@ -4601,14 +5537,15 @@ PictureField Enter + true CommonPicture.ОтправитьЭлектронноеПисьмо Left + 2 true true - true true CommonPicture.Взаимодействия @@ -4620,19 +5557,20 @@ - Дата - 8 + ВажностьНомерКартинки + 340 true true true - Список.Date + Список.ВажностьНомерКартинки + None - ДатаExtendedTooltip - 588 + ВажностьНомерКартинкиExtendedTooltip + 585 Label true true @@ -4641,33 +5579,253 @@ - ДатаКонтекстноеМеню - 9 + ВажностьНомерКартинкиКонтекстноеМеню + 341 true - LabelField + PictureField Enter true + + CommonPicture.ВосклицательныйЗнакСерый + Left - + + 2 true true + true + + CommonPicture.КоллекцияВариантыВажности + + + + 1 + - - Участники - 16 + true + true + + true + + + ru + Группа флаги + + + ГруппаФлагиРасширеннаяПодсказка + 773 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + ГруппаСписокОсновное + 812 + + ГруппаУчастникиДатаЕстьВложения + 770 + + Участники + 16 + true + true + + true + + + Список.Участники + + + УчастникиExtendedTooltip + 589 + Label + true + true + + Left + + + + УчастникиКонтекстноеМеню + 17 + true + + LabelField + Enter + true + Left + true + + 20 + true + true + false + + + + ПолученоОтправлено + 776 + + <key>ru</key> + <value>Дата</value> + + true + true + + true + + + Список.ПолученоОтправлено + + + ПолученоОтправленоРасширеннаяПодсказка + 778 + Label + true + true + + Left + + + + ПолученоОтправленоКонтекстноеМеню + 777 + true + + LabelField + Enter + true + Left + true + + true + true + false + + + + Дата + 8 + true + true + + true + + + Список.Date + + + ДатаExtendedTooltip + 588 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 9 + true + + InputField + Left + Enter + true + Left + + 8 + true + true + false + true + true + true + true + Normal + + + + ЕстьВложения + 108 + true + true + + true + + + Список.ЕстьВложения + + None + + ru + Наличие вложений + + + ЕстьВложенияExtendedTooltip + 586 + Label + true + true + + Left + + + + ЕстьВложенияКонтекстноеМеню + 109 + true + + PictureField + Enter + true + + CommonPicture.Скрепка + + Left + + 2 + true + true + true + + CommonPicture.Скрепка + + + + 1 + + + true true true - - Список.Участники - + + <key>ru</key> + <value>Группа участники дата есть вложения</value> + + + ru + Группа участники дата есть вложения + - УчастникиExtendedTooltip - 589 + ГруппаУчастникиДатаЕстьВложенияРасширеннаяПодсказка + 771 Label true true @@ -4675,19 +5833,10 @@ Left - - УчастникиКонтекстноеМеню - 17 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + auto + true @@ -4722,965 +5871,54 @@ Left true + 20 true true + false - - УчетнаяЗапись - 744 - true - true - - - Список.УчетнаяЗапись - - - УчетнаяЗаписьРасширеннаяПодсказка - 746 - Label - true - true - - Left - - - - УчетнаяЗаписьКонтекстноеМеню - 745 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Ссылка - 761 - true - true - - - Список.Ref - - - СсылкаРасширеннаяПодсказка - 763 - Label - true - true - - Left - - - - СсылкаКонтекстноеМеню - 762 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СписокКоманднаяПанель - 4 - - ГруппаСоздать - 43 - - СписокСоздатьВстречу - 44 - true - true - - true - - - СписокСоздатьВстречуExtendedTooltip - 556 - Label - true - true - - Left - - - Form.Command.СоздатьВстречу - Normal - Auto - true - true - UserCmds - Auto - - - СписокСоздатьЗапланированноеВзаимодействие - 45 - true - true - - true - - - СписокСоздатьЗапланированноеВзаимодействиеExtendedTooltip - 557 - Label - true - true - - Left - - - Form.Command.СоздатьЗапланированноеВзаимодействие - Normal - Auto - true - true - UserCmds - Auto - - - СписокСоздатьТелефонныйЗвонок - 46 - true - true - - true - - - СписокСоздатьТелефонныйЗвонокExtendedTooltip - 558 - Label - true - true - - Left - - - Form.Command.СоздатьТелефонныйЗвонок - Normal - Auto - true - true - UserCmds - Auto - - - СписокСоздатьСообщениеSMS - 415 - true - true - - true - - - СписокСоздатьСообщениеSMSExtendedTooltip - 559 - Label - true - true - - Left - - - Form.Command.СоздатьСообщениеSMS - Normal - Auto - true - true - UserCmds - - StdPicture.CreateListItem - - Auto - - - СписокСоздатьЭлектронноеПисьмо - 47 - true - true - - true - - - СписокСоздатьЭлектронноеПисьмоExtendedTooltip - 560 - Label - true - true - - Left - - - Form.Command.СоздатьЭлектронноеПисьмо - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Создать</value> - - - ru - Создать - - - ГруппаСоздатьExtendedTooltip - 555 - Label - true - true - - Left - - - Popup - - - StdPicture.CreateListItem - - Auto - Normal - - - - СписокСоздатьЭлектронноеПисьмоОтдельнаяКнопка - 322 - - <key>ru</key> - <value>Написать письмо</value> - - true - true - - true - - - СписокСоздатьЭлектронноеПисьмоОтдельнаяКнопкаExtendedTooltip - 561 - Label - true - true - - Left - - - Form.Command.СоздатьЭлектронноеПисьмо - Normal - PictureAndText - true - true - UserCmds - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Auto - - - СписокОтправитьПолучитьПочту - 59 - true - true - - true - - - СписокОтправитьПолучитьПочтуExtendedTooltip - 562 - Label - true - true - - Left - - - Form.Command.ОтправитьПолучитьПочту - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаРассмотрено - 410 - - СписокРассмотрено - 40 - true - true - - true - - - СписокРассмотреноExtendedTooltip - 564 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокОтложитьРассмотрение - 42 - true - true - - true - - - СписокОтложитьРассмотрениеExtendedTooltip - 565 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокНеРассмотрено - 191 - true - true - - true - - - СписокНеРассмотреноExtendedTooltip - 566 - Label - true - true - - Left - - - Form.Command.СнятьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокОтветственный - 39 - true - true - - true - - - СписокОтветственныйExtendedTooltip - 567 - Label - true - true - - Left - - - Form.Command.ОтветственныйСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокПредмет - 41 - true - true - - true - - - СписокПредметExtendedTooltip - 568 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа рассмотрено</value> - - - ru - Группа рассмотрено - - - ГруппаРассмотреноExtendedTooltip - 563 - Label - true - true - - Left - - - - - - ГруппаКомандыСписка - 48 - - Изменить - 49 - true - true - - true - - - ИзменитьExtendedTooltip - 570 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - Скопировать - 50 - true - true - - true - - - СкопироватьExtendedTooltip - 571 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ГруппаСписокУстановитьПометкуУдаления - 51 - - УстановитьПометкуУдаления - 52 - true - true - - true - - - УстановитьПометкуУдаленияExtendedTooltip - 573 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Группа список установить пометку удаления</value> - - - ru - Группа список установить пометку удаления - - - ГруппаСписокУстановитьПометкуУдаленияExtendedTooltip - 572 - Label - true - true - - Left - - - - - - ГруппаНайти - 55 - - Найти - 56 - true - true - - true - - - НайтиExtendedTooltip - 575 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтменитьПоиск - 58 - true - true - - true - - - ОтменитьПоискExtendedTooltip - 576 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - УстановитьИнтервалДат - 54 - true - true - - true - - - УстановитьИнтервалДатExtendedTooltip - 577 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.SetDateInterval - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа найти</value> - - - ru - Группа найти - - - ГруппаНайтиExtendedTooltip - 574 - Label - true - true - - Left - - - - - true - true - - true - - - <key>ru</key> - <value>Группа команды списка</value> - - - ru - Группа команды списка - - - ГруппаКомандыСпискаExtendedTooltip - 569 - Label - true - true - - Left - - - - - - СписокОбновить - 60 - true - true - - true - - - СписокОбновитьExtendedTooltip - 578 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокНастройкаСписка - 61 - true - true - - true - - - СписокНастройкаСпискаExtendedTooltip - 579 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - СписокВывестиСписок - 62 - true - true - - true - - - СписокВывестиСписокExtendedTooltip - 580 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - СписокСправка - 63 - true - true - - true - - - СписокСправкаExtendedTooltip - 581 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - - СписокИзменитьФорму - 64 - true - true - - true - - - СписокИзменитьФормуExtendedTooltip - 582 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - ФормаПерсональныеНастройки - 146 - true - true - - true - - - ФормаПерсональныеНастройкиExtendedTooltip - 583 - Label - true - true - - Left - - - Form.Command.ПерсональныеНастройки - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - Left - - - DragCheck - СписокПроверкаПеретаскивания - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - Drag - СписокПеретаскивание - - - OnChange - СписокПриИзменении - - - СписокСтрокаПоиска - 892 - - СписокСтрокаПоискаРасширеннаяПодсказка - 894 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 893 - true - - Список - - true - - - - СписокСостояниеПросмотра - 895 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 897 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 896 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 898 - - СписокУправлениеПоискомРасширеннаяПодсказка - 900 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 899 - true - - SearchControlAddition - Список - - true - - + true + true + + true + + + <key>ru</key> + <value>Группа список основное</value> + + + ru + Группа список основное + - СписокExtendedTooltip - 584 + ГруппаСписокОсновноеРасширеннаяПодсказка + 813 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + Размер + 779 + true + true + + + Список.Размер + + + РазмерРасширеннаяПодсказка + 781 Label true true @@ -5689,352 +5927,189 @@ - СписокКонтекстноеМеню - 3 - - СписокКонтекстноеМенюГруппаРассмотрениеПредмет - 373 - - СписокКонтекстноеМенюУстановитьПризнакРассмотрено - 377 - true - true - - true - - - СписокКонтекстноеМенюУстановитьПризнакРассмотреноExtendedTooltip - 545 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюОтложитьРассмотрениеСписок - 378 - true - true - - true - - - СписокКонтекстноеМенюОтложитьРассмотрениеСписокExtendedTooltip - 546 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюПредметСписок - 379 - true - true - - true - - - СписокКонтекстноеМенюПредметСписокExtendedTooltip - 547 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список входящие контекстное меню группа рассмотрение предмет входящие</value> - - - ru - Список входящие контекстное меню группа рассмотрение предмет входящие - - - СписокКонтекстноеМенюГруппаРассмотрениеПредметExtendedTooltip - 544 - Label - true - true - - Left - - - - - - СписокКонтекстноеМенюДобавитьВЗакладки - 142 - true - true - - true - - - СписокКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 548 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюИзменить - 372 - true - true - - true - - - СписокКонтекстноеМенюИзменитьExtendedTooltip - 549 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюПеренестиВПапку - 198 - true - true - - true - - - СписокКонтекстноеМенюПеренестиВПапкуExtendedTooltip - 550 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюВзаимодействияПоПредмету - 380 - true - true - - true - - - СписокКонтекстноеМенюВзаимодействияПоПредметуExtendedTooltip - 551 - Label - true - true - - Left - - - Form.Command.ВзаимодействияПоПредмету - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюГруппаУдалитьКопировать - 381 - - СписокКонтекстноеМенюУстановитьПометкуУдаления - 382 - true - true - - true - - - СписокКонтекстноеМенюУстановитьПометкуУдаленияExtendedTooltip - 553 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюСкопировать - 383 - true - true - - true - - - СписокКонтекстноеМенюСкопироватьExtendedTooltip - 554 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Copy - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список контекстное меню группа удалить копировать</value> - - - ru - Список контекстное меню группа удалить копировать - - - СписокКонтекстноеМенюГруппаУдалитьКопироватьExtendedTooltip - 552 - Label - true - true - - Left - - - - + РазмерКонтекстноеМеню + 780 + true - HierarchicalList - true - true - true - true - true - AfterCurrentRow - MultiRow - Row -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - true - true - true - true - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - true - - true - true + LabelField + Enter + true + Left + true + + 10 + true + true + false
                                          - true - true - - true - - - <key>ru</key> - <value>Страница список обычная</value> - - - ru - Страница список обычная - + + УчетнаяЗапись + 744 + true + true + + + Список.УчетнаяЗапись + + + УчетнаяЗаписьРасширеннаяПодсказка + 746 + Label + true + true + + Left + + + + УчетнаяЗаписьКонтекстноеМеню + 745 + true + + LabelField + Enter + true + Left + true + + true + true + + + + Ссылка + 761 + true + true + + + Список.Ref + + + СсылкаРасширеннаяПодсказка + 763 + Label + true + true + + Left + + + + СсылкаКонтекстноеМеню + 762 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокКоманднаяПанель + 4 + Left + + + DragCheck + СписокПроверкаПеретаскивания + + + BeforeAddRow + СписокПередНачаломДобавления + + + OnActivateRow + СписокПриАктивизацииСтроки + + + Drag + СписокПеретаскивание + + + OnChange + СписокПриИзменении + + + СписокСтрокаПоиска + 953 + + СписокСтрокаПоискаРасширеннаяПодсказка + 955 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 954 + true + + Список + + true + + + + СписокСостояниеПросмотра + 956 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 958 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 957 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 959 + + СписокУправлениеПоискомРасширеннаяПодсказка + 961 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 960 + true + + SearchControlAddition + Список + + true + + - СтраницаСписокОбычнаяExtendedTooltip - 543 + СписокExtendedTooltip + 584 Label true true @@ -6042,43 +6117,360 @@ Left - Page - - Vertical - auto + + СписокКонтекстноеМеню + 3 + + СписокКонтекстноеМенюГруппаРассмотрениеПредмет + 373 + + СписокКонтекстноеМенюУстановитьПризнакРассмотрено + 377 + true + true + + true + + + СписокКонтекстноеМенюУстановитьПризнакРассмотреноExtendedTooltip + 545 + Label + true + true + + Left + + + Form.Command.УстановитьПризнакРассмотрено + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОтложитьРассмотрениеСписок + 378 + true + true + + true + + + СписокКонтекстноеМенюОтложитьРассмотрениеСписокExtendedTooltip + 546 + Label + true + true + + Left + + + Form.Command.ОтложитьРассмотрениеСписок + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюПредметСписок + 379 + true + true + + true + + + СписокКонтекстноеМенюПредметСписокExtendedTooltip + 547 + Label + true + true + + Left + + + Form.Command.ПредметСписок + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список входящие контекстное меню группа рассмотрение предмет входящие</value> + + + ru + Список входящие контекстное меню группа рассмотрение предмет входящие + + + СписокКонтекстноеМенюГруппаРассмотрениеПредметExtendedTooltip + 544 + Label + true + true + + Left + + + + + + СписокКонтекстноеМенюДобавитьВЗакладки + 142 + true + true + + true + + + СписокКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip + 548 + Label + true + true + + Left + + + Form.Command.ДобавитьВЗакладки + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменить + 372 + true + true + + true + + + СписокКонтекстноеМенюИзменитьExtendedTooltip + 549 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюПеренестиВПапку + 198 + true + true + + true + + + СписокКонтекстноеМенюПеренестиВПапкуExtendedTooltip + 550 + Label + true + true + + Left + + + Form.Command.ПеренестиВПапку + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюВзаимодействияПоПредмету + 380 + true + true + + true + + + СписокКонтекстноеМенюВзаимодействияПоПредметуExtendedTooltip + 551 + Label + true + true + + Left + + + Form.Command.ВзаимодействияПоПредмету + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюГруппаУдалитьКопировать + 381 + + СписокКонтекстноеМенюУстановитьПометкуУдаления + 382 + true + true + + true + + + СписокКонтекстноеМенюУстановитьПометкуУдаленияExtendedTooltip + 553 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.SetDeletionMark + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюСкопировать + 383 + true + true + + true + + + СписокКонтекстноеМенюСкопироватьExtendedTooltip + 554 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Copy + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Список контекстное меню группа удалить копировать</value> + + + ru + Список контекстное меню группа удалить копировать + + + СписокКонтекстноеМенюГруппаУдалитьКопироватьExtendedTooltip + 552 + Label + true + true + + Left + + + + + + HierarchicalList + true + true + true + true + 3 + true + AfterCurrentRow + MultiRow + Row +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + true + true + true + true + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + true + + true + true + ГруппаПользовательскихНастроек
                                          - СтраницаСписокВходящие - 213 - - СписокВходящие - 214 - true - true - - true - - - Список - - None - Copy - Refresh + СтраницыПредпросмотр + 147 + + СтраницаПредпросмотрОбычныйТекст + 148 - ВажностьНомерКартинкиВходящие - 336 + ПредпросмотрОбычныйТекст + 150 true true true - Список.ВажностьНомерКартинки + Предпросмотр + None - ВажностьНомерКартинкиВходящиеExtendedTooltip - 632 + ПредпросмотрОбычныйТекстExtendedTooltip + 686 Label true true @@ -6087,2681 +6479,41 @@ - ВажностьНомерКартинкиВходящиеКонтекстноеМеню - 337 + ПредпросмотрОбычныйТекстКонтекстноеМеню + 151 true - PictureField - Enter - - CommonPicture.ВосклицательныйЗнакСерый - - Left - - true - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - - - - - ЕстьВложенияВходящие - 217 - true - true - - true - - - Список.ЕстьВложения - - - ru - Наличие вложений - - - ЕстьВложенияВходящиеExtendedTooltip - 633 - Label - true - true - - Left - - - - ЕстьВложенияВходящиеКонтекстноеМеню - 218 - true - - PictureField - Enter - - CommonPicture.Скрепка - - Left - true - - true - true - true - true - - CommonPicture.Скрепка - - - - 1 - - - - - НомерКартинкиВходящие - 332 - true - true - - true - - - Список.НомерКартинки - - - НомерКартинкиВходящиеExtendedTooltip - 634 - Label - true - true - - Left - - - - НомерКартинкиВходящиеКонтекстноеМеню - 333 - true - - PictureField - Enter - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Left - - true - true - true - true - - CommonPicture.Взаимодействия - - - - 1 - - - - - УчастникиВходящие - 221 - - <key>ru</key> - <value>От</value> - - true - true - - true - - - Список.Участники - - - УчастникиВходящиеExtendedTooltip - 635 - Label - true - true - - Left - - - - УчастникиВходящиеКонтекстноеМеню - 222 - true - - LabelField + TextDocumentField Enter true Left true - + 30 true + 10 true + true + true - - ТемаВходящие - 223 - true - true - - true - - - Список.Тема - - - ТемаВходящиеExtendedTooltip - 636 - Label - true - true - - Left - - - - ТемаВходящиеКонтекстноеМеню - 224 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ПолученоОтправлено - 297 - - <key>ru</key> - <value>Получено</value> - - true - true - - true - - - Список.ПолученоОтправлено - - - ПолученоОтправленоExtendedTooltip - 637 - Label - true - true - - Left - - - - ПолученоОтправленоКонтекстноеМеню - 298 - true - - LabelField - Enter - true - Left - true - - true - true - - ru - ДФ='дд.ММ.гггг Ч:мм' - - - - - РазмерВходящие - 301 - - <key>ru</key> - <value>Размер (Кб)</value> - - true - true - - true - - - Список.Размер - - - РазмерВходящиеExtendedTooltip - 638 - Label - true - true - - Left - - - - РазмерВходящиеКонтекстноеМеню - 302 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УчетнаяЗаписьВходящие - 747 - true - true - - - Список.УчетнаяЗапись - - - УчетнаяЗаписьВходящиеРасширеннаяПодсказка - 749 - Label - true - true - - Left - - - - УчетнаяЗаписьВходящиеКонтекстноеМеню - 748 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СсылкаВходящие - 764 - true - true - - - Список.Ref - - - СсылкаВходящиеРасширеннаяПодсказка - 766 - Label - true - true - - Left - - - - СсылкаВходящиеКонтекстноеМеню - 765 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СписокВходящиеКоманднаяПанель - 216 - - СписокСоздатьЭлектронноеПисьмоВходящие - 231 - - <key>ru</key> - <value>Написать письмо</value> - - true - true - - true - - - СписокСоздатьЭлектронноеПисьмоВходящиеExtendedTooltip - 605 - Label - true - true - - Left - - - Form.Command.СоздатьЭлектронноеПисьмо - Normal - PictureAndText - true - true - UserCmds - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Auto - - - СписокВходящиеОтветить - 342 - true - true - - true - - - СписокВходящиеОтветитьExtendedTooltip - 606 - Label - true - true - - Left - - - Form.Command.Ответить - Normal - PictureAndText - true - true - UserCmds - - CommonPicture.ОтветитьНаЭлектронноеПисьмо - - Auto - - - СписокВходящиеОтветитьВсем - 343 - true - true - - true - - - СписокВходящиеОтветитьВсемExtendedTooltip - 607 - Label - true - true - - Left - - - Form.Command.ОтветитьВсем - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокВходящиеПереслать - 344 - true - true - - true - - - СписокВходящиеПереслатьExtendedTooltip - 608 - Label - true - true - - Left - - - Form.Command.Переслать - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокОтправитьПолучитьПочтуВходящие - 248 - true - true - - true - - - СписокОтправитьПолучитьПочтуВходящиеExtendedTooltip - 609 - Label - true - true - - Left - - - Form.Command.ОтправитьПолучитьПочту - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеГруппаРассмотрено - 411 - - СписокРассмотреноВходящие - 245 - true - true - - true - - - СписокРассмотреноВходящиеExtendedTooltip - 611 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокОтложитьРассмотрениеВходящие - 246 - true - true - - true - - - СписокОтложитьРассмотрениеВходящиеExtendedTooltip - 612 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокНеРассмотреноВходящие - 244 - true - true - - true - - - СписокНеРассмотреноВходящиеExtendedTooltip - 613 - Label - true - true - - Left - - - Form.Command.СнятьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокОтветственныйВходящие - 243 - true - true - - true - - - СписокОтветственныйВходящиеExtendedTooltip - 614 - Label - true - true - - Left - - - Form.Command.ОтветственныйСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокПредметВходящие - 247 - true - true - - true - - - СписокПредметВходящиеExtendedTooltip - 615 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список входящие группа рассмотрено</value> - - - ru - Список входящие группа рассмотрено - - - СписокВходящиеГруппаРассмотреноExtendedTooltip - 610 - Label - true - true - - Left - - - - - - ГруппаКомандыСпискаВходящие - 232 - - ИзменитьВходящие - 233 - true - true - - true - - - ИзменитьВходящиеExtendedTooltip - 617 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СкопироватьВходящие - 234 - true - true - - true - - - СкопироватьВходящиеExtendedTooltip - 618 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаСписокУстановитьПометкуУдаленияВходящие - 235 - - УстановитьПометкуУдаленияВходящие - 236 - true - true - - true - - - УстановитьПометкуУдаленияВходящиеExtendedTooltip - 620 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Группа список установить пометку удаления</value> - - - ru - Группа список установить пометку удаления - - - ГруппаСписокУстановитьПометкуУдаленияВходящиеExtendedTooltip - 619 - Label - true - true - - Left - - - - - - ГруппаНайтиВходящие - 239 - - НайтиВходящие - 240 - true - true - - true - - - НайтиВходящиеExtendedTooltip - 622 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтменитьПоискВходящие - 242 - true - true - - true - - - ОтменитьПоискВходящиеExtendedTooltip - 623 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - УстановитьИнтервалДатВходящие - 238 - true - true - - true - - - УстановитьИнтервалДатВходящиеExtendedTooltip - 624 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.SetDateInterval - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа найти</value> - - - ru - Группа найти - - - ГруппаНайтиВходящиеExtendedTooltip - 621 - Label - true - true - - Left - - - - - - ГруппаОтменитьПоискВходящие - 241 - true - true - - true - - - <key>ru</key> - <value>Группа отменить поиск входящие</value> - - - ru - Группа отменить поиск - - - ГруппаОтменитьПоискВходящиеExtendedTooltip - 625 - Label - true - true - - Left - - - - - true - true - - true - - - <key>ru</key> - <value>Группа команды списка</value> - - - ru - Группа команды списка - - - ГруппаКомандыСпискаВходящиеExtendedTooltip - 616 - Label - true - true - - Left - - - - - - СписокОбновитьВходящие - 249 - true - true - - true - - - СписокОбновитьВходящиеExtendedTooltip - 626 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокНастройкаСпискаВходящие - 250 - true - true - - true - - - СписокНастройкаСпискаВходящиеExtendedTooltip - 627 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - СписокВывестиСписокВходящие - 251 - true - true - - true - - - СписокВывестиСписокВходящиеExtendedTooltip - 628 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - СписокСправкаВходящие - 252 - true - true - - true - - - СписокСправкаВходящиеExtendedTooltip - 629 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - - ФормаПерсональныеНастройкиВходящие - 254 - true - true - - true - - - ФормаПерсональныеНастройкиВходящиеExtendedTooltip - 630 - Label - true - true - - Left - - - Form.Command.ПерсональныеНастройки - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - Left - - - DragCheck - СписокПроверкаПеретаскивания - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - Drag - СписокПеретаскивание - - - OnChange - СписокПриИзменении - - - СписокВходящиеСтрокаПоиска - 917 - - СписокВходящиеСтрокаПоискаРасширеннаяПодсказка - 919 - Label - true - true - - Left - - - - СписокВходящиеСтрокаПоискаКонтекстноеМеню - 918 - true - - СписокВходящие - - true - - - - СписокВходящиеСостояниеПросмотра - 920 - - СписокВходящиеСостояниеПросмотраРасширеннаяПодсказка - 922 - Label - true - true - - Left - - - - СписокВходящиеСостояниеПросмотраКонтекстноеМеню - 921 - true - - ViewStatusAddition - СписокВходящие - - true - - - - СписокВходящиеУправлениеПоиском - 923 - - СписокВходящиеУправлениеПоискомРасширеннаяПодсказка - 925 - Label - true - true - - Left - - - - СписокВходящиеУправлениеПоискомКонтекстноеМеню - 924 - true - - SearchControlAddition - СписокВходящие - - true - - - - СписокВходящиеExtendedTooltip - 631 - Label - true - true - - Left - - - - СписокВходящиеКонтекстноеМеню - 215 - - СписокВходящиеКонтекстноеМенюОтветить - 346 - true - true - - true - - - СписокВходящиеКонтекстноеМенюОтветитьExtendedTooltip - 592 - Label - true - true - - Left - - - Form.Command.Ответить - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюОтветитьВсем - 347 - true - true - - true - - - СписокВходящиеКонтекстноеМенюОтветитьВсемExtendedTooltip - 593 - Label - true - true - - Left - - - Form.Command.ОтветитьВсем - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюПереслать - 348 - true - true - - true - - - СписокВходящиеКонтекстноеМенюПереслатьExtendedTooltip - 594 - Label - true - true - - Left - - - Form.Command.Переслать - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюИзменить - 358 - true - true - - true - - - СписокВходящиеКонтекстноеМенюИзменитьExtendedTooltip - 595 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюГруппаРассмотрениеПредмет - 350 - - СписокВходящиеКонтекстноеМенюУстановитьПризнакРассмотрено - 351 - true - true - - true - - - СписокВходящиеКонтекстноеМенюУстановитьПризнакРассмотреноExtendedTooltip - 597 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюОтложитьРассмотрениеСписок - 352 - true - true - - true - - - СписокВходящиеКонтекстноеМенюОтложитьРассмотрениеСписокExtendedTooltip - 598 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюПредметСписок - 353 - true - true - - true - - - СписокВходящиеКонтекстноеМенюПредметСписокExtendedTooltip - 599 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список входящие контекстное меню группа рассмотрение предмет</value> - - - ru - Список входящие контекстное меню группа рассмотрение предмет - - - СписокВходящиеКонтекстноеМенюГруппаРассмотрениеПредметExtendedTooltip - 596 - Label - true - true - - Left - - - - - - СписокКонтекстноеМенюДобавитьВЗакладкиВходящие - 225 - true - true - - true - - - СписокКонтекстноеМенюДобавитьВЗакладкиВходящиеExtendedTooltip - 600 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюПеренестиВПапкуВходящие - 226 - true - true - - true - - - СписокКонтекстноеМенюПеренестиВПапкуВходящиеExtendedTooltip - 601 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюВзаимодействияПоПредмету - 360 - true - true - - true - - - СписокВходящиеКонтекстноеМенюВзаимодействияПоПредметуExtendedTooltip - 602 - Label - true - true - - Left - - - Form.Command.ВзаимодействияПоПредмету - Normal - Auto - true - true - UserCmds - Auto - - - СписокВходящиеКонтекстноеМенюГруппаКопироватьУдалить - 355 - - СписокВходящиеКонтекстноеМенюУстановитьПометкуУдаления - 359 - true - true - - true - - - СписокВходящиеКонтекстноеМенюУстановитьПометкуУдаленияExtendedTooltip - 604 - Label - true - true - - Left - - - Form.Item.СписокВходящие.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список входящие контекстное меню группа копировать удалить</value> - - - ru - Список входящие контекстное меню группа копировать удалить - - - СписокВходящиеКонтекстноеМенюГруппаКопироватьУдалитьExtendedTooltip - 603 - Label - true - true - - Left - - - - - - HierarchicalList - true - true - true - true - true - MultiRow - Row -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - true - true - true - true - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - true - - true - true - -
                                          - true - true - - true - - - <key>ru</key> - <value>Страница список входящие</value> - - - ru - Страница список входящие - - - СтраницаСписокВходящиеExtendedTooltip - 591 - Label - true - true - - Left - - - Page - - Vertical - auto - -
                                          - - СтраницаСписокИсходящие - 255 - - СписокИсходящие - 256 true true true - - Список - - None - Copy - Refresh - - ВажностьНомерКартинкиИсходящие - 338 - true - true - - true - - - Список.ВажностьНомерКартинки - - - ВажностьНомерКартинкиИсходящиеExtendedTooltip - 677 - Label - true - true - - Left - - - - ВажностьНомерКартинкиИсходящиеКонтекстноеМеню - 339 - true - - PictureField - Enter - - CommonPicture.ВосклицательныйЗнакСерый - - Left - - true - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - - - - - ЕстьВложенияИсходящие - 259 - true - true - - true - - - Список.ЕстьВложения - - - ru - Наличие вложений - - - ЕстьВложенияИсходящиеExtendedTooltip - 678 - Label - true - true - - Left - - - - ЕстьВложенияИсходящиеКонтекстноеМеню - 260 - true - - PictureField - Enter - - CommonPicture.Скрепка - - Left - true - - true - true - true - true - - CommonPicture.Скрепка - - - - 1 - - - - - НомерКартинкиИсходящие - 334 - true - true - - true - - - Список.НомерКартинки - - - НомерКартинкиИсходящиеExtendedTooltip - 679 - Label - true - true - - Left - - - - НомерКартинкиИсходящиеКонтекстноеМеню - 335 - true - - PictureField - Enter - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Left - - true - true - true - true - - CommonPicture.Взаимодействия - - - - 1 - - - - - УчастникиИсходящие - 263 - - <key>ru</key> - <value>Кому</value> - - true - true - - true - - - Список.Участники - - - УчастникиИсходящиеExtendedTooltip - 680 - Label - true - true - - Left - - - - УчастникиИсходящиеКонтекстноеМеню - 264 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ТемаИсходящие - 265 - true - true - - true - - - Список.Тема - - - ТемаИсходящиеExtendedTooltip - 681 - Label - true - true - - Left - - - - ТемаИсходящиеКонтекстноеМеню - 266 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ПолученоОтправленоИсходящие - 299 - - <key>ru</key> - <value>Отправлено</value> - - true - true - - true - - - Список.ПолученоОтправлено - - - ПолученоОтправленоИсходящиеExtendedTooltip - 682 - Label - true - true - - Left - - - - ПолученоОтправленоИсходящиеКонтекстноеМеню - 300 - true - - LabelField - Enter - true - Left - true - - true - true - - ru - ДФ='дд.ММ.гггг Ч:мм' - - - - - РазмерИсходящие - 303 - - <key>ru</key> - <value>Размер (Кб)</value> - - true - true - - true - - - Список.Размер - - - РазмерИсходящиеExtendedTooltip - 683 - Label - true - true - - Left - - - - РазмерИсходящиеКонтекстноеМеню - 304 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УчетнаяЗаписьИсходящие - 750 - true - true - - - Список.УчетнаяЗапись - - - УчетнаяЗаписьИсходящиеРасширеннаяПодсказка - 752 - Label - true - true - - Left - - - - УчетнаяЗаписьИсходящиеКонтекстноеМеню - 751 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СсылкаИсходящие - 767 - true - true - - - Список.Ref - - - СсылкаИсходящиеРасширеннаяПодсказка - 769 - Label - true - true - - Left - - - - СсылкаИсходящиеКонтекстноеМеню - 768 - true - - LabelField - Enter - true - Left - true - - true - true - - - - СписокИсходящиеКоманднаяПанель - 258 - - СписокСоздатьЭлектронноеПисьмоИсходящие - 273 - - <key>ru</key> - <value>Написать письмо</value> - - true - true - - true - - - СписокСоздатьЭлектронноеПисьмоИсходящиеExtendedTooltip - 653 - Label - true - true - - Left - - - Form.Command.СоздатьЭлектронноеПисьмо - Normal - PictureAndText - true - true - UserCmds - - CommonPicture.ОтправитьЭлектронноеПисьмо - - Auto - - - СписокИсходящиеПереслать - 345 - true - true - - true - - - СписокИсходящиеПереслатьExtendedTooltip - 654 - Label - true - true - - Left - - - Form.Command.Переслать - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокОтправитьПолучитьПочтуИсходящие - 290 - true - true - - true - - - СписокОтправитьПолучитьПочтуИсходящиеExtendedTooltip - 655 - Label - true - true - - Left - - - Form.Command.ОтправитьПолучитьПочту - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеРассмотрено - 412 - - СписокРассмотреноИсходящие - 287 - true - true - - true - - - СписокРассмотреноИсходящиеExtendedTooltip - 657 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - PictureAndText - true - true - UserCmds - Auto - - - СписокОтложитьРассмотрениеИсходящие - 288 - true - true - - true - - - СписокОтложитьРассмотрениеИсходящиеExtendedTooltip - 658 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокНеРассмотреноИсходящие - 286 - true - true - - true - - - СписокНеРассмотреноИсходящиеExtendedTooltip - 659 - Label - true - true - - Left - - - Form.Command.СнятьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокОтветственныйИсходящие - 285 - true - true - - true - - - СписокОтветственныйИсходящиеExtendedTooltip - 660 - Label - true - true - - Left - - - Form.Command.ОтветственныйСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокПредметИсходящие - 289 - true - true - - true - - - СписокПредметИсходящиеExtendedTooltip - 661 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список исходящие рассмотрено</value> - - - ru - Список исходящие рассмотрено - - - СписокИсходящиеРассмотреноExtendedTooltip - 656 - Label - true - true - - Left - - - - - - ГруппаКомандыСпискаИсходящие - 274 - - ИзменитьИсходящие - 275 - true - true - - true - - - ИзменитьИсходящиеExtendedTooltip - 663 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - СкопироватьИсходящие - 276 - true - true - - true - - - СкопироватьИсходящиеExtendedTooltip - 664 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаСписокУстановитьПометкуУдаленияИсходящие - 277 - - УстановитьПометкуУдаленияИсходящие - 278 - true - true - - true - - - УстановитьПометкуУдаленияИсходящиеExtendedTooltip - 666 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Группа список установить пометку удаления</value> - - - ru - Группа список установить пометку удаления - - - ГруппаСписокУстановитьПометкуУдаленияИсходящиеExtendedTooltip - 665 - Label - true - true - - Left - - - - - - ГруппаНайтиИсходящие - 281 - - НайтиИсходящие - 282 - true - true - - true - - - НайтиИсходящиеExtendedTooltip - 668 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ОтменитьПоискИсходящие - 284 - true - true - - true - - - ОтменитьПоискИсходящиеExtendedTooltip - 669 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - УстановитьИнтервалДатИсходящие - 280 - true - true - - true - - - УстановитьИнтервалДатИсходящиеExtendedTooltip - 670 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.SetDateInterval - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа найти</value> - - - ru - Группа найти - - - ГруппаНайтиИсходящиеExtendedTooltip - 667 - Label - true - true - - Left - - - - - true - true - - true - - - <key>ru</key> - <value>Группа команды списка</value> - - - ru - Группа команды списка - - - ГруппаКомандыСпискаИсходящиеExtendedTooltip - 662 - Label - true - true - - Left - - - - - - СписокОбновитьИсходящие - 291 - true - true - - true - - - СписокОбновитьИсходящиеExtendedTooltip - 671 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - СписокНастройкаСпискаИсходящие - 292 - true - true - - true - - - СписокНастройкаСпискаИсходящиеExtendedTooltip - 672 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.ListSettings - Normal - Auto - true - true - UserCmds - Auto - - - СписокВывестиСписокИсходящие - 293 - true - true - - true - - - СписокВывестиСписокИсходящиеExtendedTooltip - 673 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - - - СписокСправкаИсходящие - 294 - true - true - - true - - - СписокСправкаИсходящиеExtendedTooltip - 674 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - - ФормаПерсональныеНастройкиИсходящие - 296 - true - true - - true - - - ФормаПерсональныеНастройкиИсходящиеExtendedTooltip - 675 - Label - true - true - - Left - - - Form.Command.ПерсональныеНастройки - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - Left - - - DragCheck - СписокПроверкаПеретаскивания - - - BeforeAddRow - СписокПередНачаломДобавления - - - OnActivateRow - СписокПриАктивизацииСтроки - - - Drag - СписокПеретаскивание - - - OnChange - СписокПриИзменении - - - СписокИсходящиеСтрокаПоиска - 943 - - СписокИсходящиеСтрокаПоискаРасширеннаяПодсказка - 945 - Label - true - true - - Left - - - - СписокИсходящиеСтрокаПоискаКонтекстноеМеню - 944 - true - - СписокИсходящие - - true - - - - СписокИсходящиеСостояниеПросмотра - 946 - - СписокИсходящиеСостояниеПросмотраРасширеннаяПодсказка - 948 - Label - true - true - - Left - - - - СписокИсходящиеСостояниеПросмотраКонтекстноеМеню - 947 - true - - ViewStatusAddition - СписокИсходящие - - true - - - - СписокИсходящиеУправлениеПоиском - 949 - - СписокИсходящиеУправлениеПоискомРасширеннаяПодсказка - 951 - Label - true - true - - Left - - - - СписокИсходящиеУправлениеПоискомКонтекстноеМеню - 950 - true - - SearchControlAddition - СписокИсходящие - - true - - + + <key>ru</key> + <value>Страница предпросмотр обычный текст</value> + + + ru + Страница предпросмотр обычный текст + + true - СписокИсходящиеExtendedTooltip - 676 + СтраницаПредпросмотрОбычныйТекстExtendedTooltip + 685 Label true true @@ -8769,386 +6521,87 @@ Left - - СписокИсходящиеКонтекстноеМеню - 257 - - СписокИсходящиеКонтекстноеМенюПереслать - 361 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюПереслатьExtendedTooltip - 640 - Label - true - true - - Left - - - Form.Command.Переслать - Normal - Auto + Page + + Vertical + auto + + + + СтраницаПредпросмотрHTML + 149 + + ПредпросмотрHTML + 91 + true + true + + true + + + ПредпросмотрHTML + + None + + ПредпросмотрHTMLExtendedTooltip + 688 + Label true true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюИзменить - 362 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюИзменитьExtendedTooltip - 641 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.Change - Normal - Auto + + Left + + + + ПредпросмотрHTMLКонтекстноеМеню + 92 + true + + HTMLDocumentField + Enter + true + Left + true + + + OnClick + ПредпросмотрHTMLПриНажатии + + 30 true + 8 true - UserCmds - Auto - - - СписокКонтекстноеМенюДобавитьВЗакладкиИсходящие - 267 - true - true - - true - - - СписокКонтекстноеМенюДобавитьВЗакладкиИсходящиеExtendedTooltip - 642 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - СписокКонтекстноеМенюПеренестиВПапкуИсходящие - 268 - true - true - - true - - - СписокКонтекстноеМенюПеренестиВПапкуИсходящиеExtendedTooltip - 643 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюГруппаРассмотрениеПредмет - 363 - - СписокИсходящиеКонтекстноеМенюУстановитьПризнакРассмотрено - 364 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюУстановитьПризнакРассмотреноExtendedTooltip - 645 - Label - true - true - - Left - - - Form.Command.УстановитьПризнакРассмотрено - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюОтложитьРассмотрениеСписок - 365 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюОтложитьРассмотрениеСписокExtendedTooltip - 646 - Label - true - true - - Left - - - Form.Command.ОтложитьРассмотрениеСписок - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюПредметСписок - 366 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюПредметСписокExtendedTooltip - 647 - Label - true - true - - Left - - - Form.Command.ПредметСписок - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список исходящие контекстное меню группа рассмотрение предмет</value> - - - ru - Список входящие контекстное меню группа рассмотрение предмет входящие - - - СписокИсходящиеКонтекстноеМенюГруппаРассмотрениеПредметExtendedTooltip - 644 - Label - true - true - - Left - - - - - - СписокИсходящиеКонтекстноеМенюДобавитьВЗакладки - 367 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюДобавитьВЗакладкиExtendedTooltip - 648 - Label - true - true - - Left - - - Form.Command.ДобавитьВЗакладки - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюПеренестиВПапку - 368 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюПеренестиВПапкуExtendedTooltip - 649 - Label - true - true - - Left - - - Form.Command.ПеренестиВПапку - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюВзаимодействияПоПредмету - 369 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюВзаимодействияПоПредметуExtendedTooltip - 650 - Label - true - true - - Left - - - Form.Command.ВзаимодействияПоПредмету - Normal - Auto - true - true - UserCmds - Auto - - - СписокИсходящиеКонтекстноеМенюГруппаУдалить - 370 - - СписокИсходящиеКонтекстноеМенюУстановитьПометкуУдаления - 371 - true - true - - true - - - СписокИсходящиеКонтекстноеМенюУстановитьПометкуУдаленияExtendedTooltip - 652 - Label - true - true - - Left - - - Form.Item.СписокИсходящие.StandardCommand.SetDeletionMark - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Список исходящие контекстное меню группа удалить</value> - - - ru - Список исходящие контекстное меню группа удалить - - - СписокИсходящиеКонтекстноеМенюГруппаУдалитьExtendedTooltip - 651 - Label - true - true - - Left - - - - - - HierarchicalList - true - true - true - true - true - MultiRow - Row -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - true - true - true - true - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - true - - true - true + true + true + +
                                          + true + true + + true + + + <key>ru</key> + <value>Страница предпросмотр HTML</value> + + + ru + Страница предпросмотр HTML + + + СтраницаПредпросмотрHTMLExtendedTooltip + 687 + Label + true + true + + Left + + + Page + + Vertical + auto
                                          true @@ -9158,15 +6611,15 @@ <key>ru</key> - <value>Страница список исходящие</value> + <value>Страницы предпросмотр</value> ru - Страница список исходящие + Страницы предпросмотр - СтраницаСписокИсходящиеExtendedTooltip - 639 + СтраницыПредпросмотрExtendedTooltip + 684 Label true true @@ -9174,10 +6627,48 @@ Left - Page - - Vertical - auto + Pages + + Auto + +
                                          + + ОписаниеНайденоПП + 323 + true + + true + + + ОписаниеНайденоПП + + None + + ОписаниеНайденоППExtendedTooltip + 689 + Label + true + true + + Left + + + + ОписаниеНайденоППКонтекстноеМеню + 324 + true + + LabelField + Enter + true + Left + true + + true + true + + Style.ПоясняющийТекст + true @@ -9187,15 +6678,15 @@ <key>ru</key> - <value>Страницы список</value> + <value>Группа список</value> ru - Страницы список + Группа список - СтраницыСписокExtendedTooltip - 542 + ГруппаСписокExtendedTooltip + 541 Label true true @@ -9203,233 +6694,16 @@ Left - Pages - + UsualGroup + + Vertical + Auto + true + true + Auto Auto
                                          - - СтраницыПредпросмотр - 147 - - СтраницаПредпросмотрОбычныйТекст - 148 - - ПредпросмотрОбычныйТекст - 150 - true - true - - true - - - Предпросмотр - - None - - ПредпросмотрОбычныйТекстExtendedTooltip - 686 - Label - true - true - - Left - - - - ПредпросмотрОбычныйТекстКонтекстноеМеню - 151 - true - - TextDocumentField - Enter - true - Left - true - - 50 - true - 10 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Страница предпросмотр обычный текст</value> - - - ru - Страница предпросмотр обычный текст - - true - - СтраницаПредпросмотрОбычныйТекстExtendedTooltip - 685 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаПредпросмотрHTML - 149 - - ПредпросмотрHTML - 91 - true - true - - true - - - ПредпросмотрHTML - - None - - ПредпросмотрHTMLExtendedTooltip - 688 - Label - true - true - - Left - - - - ПредпросмотрHTMLКонтекстноеМеню - 92 - true - - HTMLDocumentField - Enter - true - Left - true - - - OnClick - ПредпросмотрHTMLПриНажатии - - 50 - true - 8 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Страница предпросмотр HTML</value> - - - ru - Страница предпросмотр HTML - - - СтраницаПредпросмотрHTMLExtendedTooltip - 687 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы предпросмотр</value> - - - ru - Страницы предпросмотр - - - СтраницыПредпросмотрExtendedTooltip - 684 - Label - true - true - - Left - - - Pages - - Auto - - - - ОписаниеНайденоПП - 323 - true - true - - true - - - ОписаниеНайденоПП - - None - - ОписаниеНайденоППExtendedTooltip - 689 - Label - true - true - - Left - - - - ОписаниеНайденоППКонтекстноеМеню - 324 - true - - LabelField - Enter - true - Left - true - - true - true - - Style.ПоясняющийТекст - - - true true @@ -9437,15 +6711,15 @@ <key>ru</key> - <value>Группа список</value> + <value>Группа основное</value> ru - Группа список + Группа основное - ГруппаСписокExtendedTooltip - 541 + ГруппаОсновноеExtendedTooltip + 422 Label true true @@ -9455,10 +6729,10 @@ UsualGroup - Vertical Auto true true + LeftNarrowest Auto Auto @@ -9470,15 +6744,15 @@ <key>ru</key> - <value>Группа основное</value> + <value>Группа панель навигации список</value> ru - Группа основное + Группа панель навигации список - ГруппаОсновноеExtendedTooltip - 422 + ГруппаПанельНавигацииСписокРасширеннаяПодсказка + 827 Label true true @@ -9488,10 +6762,10 @@ UsualGroup + Vertical Auto true true - LeftNarrowest Auto Auto @@ -9529,6 +6803,7 @@ true Vertical true + true true UseIfNecessary auto @@ -9554,12 +6829,21 @@ Список.Date + + Список.DeletionMark + Список.Ref Список.Type + + Список.ВажностьНомерКартинки + + + Список.ЕстьВложения + Список.НомерКартинки @@ -10830,13 +8114,15 @@ true + + ПредметыПанельНавигации.Предмет + ВЫБРАТЬ Различные СостоянияПредметовВзаимодействий.Предмет КАК Предмет, СостоянияПредметовВзаимодействий.КоличествоНеРассмотрено КАК КоличествоНеРассмотрено, СостоянияПредметовВзаимодействий.Активен, СостоянияПредметовВзаимодействий.ДатаПоследнегоВзаимодействия КАК ДатаПоследнегоВзаимодействия, - 7 КАК НомерКартинки, ТИПЗНАЧЕНИЯ(СостоянияПредметовВзаимодействий.Предмет) КАК ТипПредмета ИЗ РегистрСведений.СостоянияПредметовВзаимодействий КАК СостоянияПредметовВзаимодействий @@ -10851,6 +8137,7 @@ Взаимодействия.СтатусИсходящегоПисьма, Взаимодействия.УчетнаяЗапись, Взаимодействия.Автор, + Взаимодействия.ПометкаУдаления, Взаимодействия.Входящий, ПредметыПапкиВзаимодействий.Рассмотрено, ПредметыПапкиВзаимодействий.РассмотретьПосле} @@ -10886,7 +8173,6 @@ СостоянияКонтактовВзаимодействий.Контакт, СостоянияКонтактовВзаимодействий.КоличествоНеРассмотрено, СостоянияКонтактовВзаимодействий.ДатаПоследнегоВзаимодействия, - 3 КАК НомерКартинки, ТИПЗНАЧЕНИЯ(СостоянияКонтактовВзаимодействий.Контакт) КАК ТипКонтакта ИЗ РегистрСведений.СостоянияКонтактовВзаимодействий КАК СостоянияКонтактовВзаимодействий @@ -10954,6 +8240,82 @@ ТолькоЗначимыеКонтакты + + ОтображатьОбластьЧтения + + <key>ru</key> + <value>Отображать область чтения</value> + + 19 + + Boolean + + + true + + + true + + + ОтображатьОбластьЧтения + + + + ПанельНавигацииСкрыта + + <key>ru</key> + <value>Панель навигации скрыта</value> + + 38 + + Boolean + + + true + + + true + + + ПанельНавигацииСкрыта + + + + ЗаголовокПанелиНавигации + + <key>ru</key> + <value>Заголовок панели навигации</value> + + 39 + + String + + + + true + + + true + + + + ЗаголовокПанелиНавигацииПодсказка + + <key>ru</key> + <value>Заголовок панели навигации</value> + + 40 + + String + + + + true + + + true + + УстановитьВариантНавигацииПоПредмету @@ -11115,9 +8477,6 @@ <use> <common>true</common> </use> - <picture xsi:type="core:PictureRef"> - <picture>StdPicture.CreateListItem</picture> - </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>СоздатьВстречу</name> @@ -11140,9 +8499,6 @@ <use> <common>true</common> </use> - <picture xsi:type="core:PictureRef"> - <picture>StdPicture.CreateListItem</picture> - </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>СоздатьЗапланированноеВзаимодействие</name> @@ -11165,9 +8521,6 @@ <use> <common>true</common> </use> - <picture xsi:type="core:PictureRef"> - <picture>StdPicture.CreateListItem</picture> - </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>СоздатьТелефонныйЗвонок</name> @@ -11191,9 +8544,6 @@ <common>true</common> </use> <shortcut>Ctrl+N</shortcut> - <picture xsi:type="core:PictureRef"> - <picture>StdPicture.CreateListItem</picture> - </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>СоздатьЭлектронноеПисьмо</name> @@ -11302,7 +8652,7 @@ <name>УстановитьВариантНавигацииПоПапкам</name> <title> <key>ru</key> - <value>По папкам электронных писем</value> + <value>По папкам</value> 15 @@ -11675,6 +9025,116 @@ Auto Auto + + ТолькоЗначимыеКонтакты + + <key>ru</key> + <value>Только значимые</value> + + 30 + + ru + Только значимые контакты + + + true + + + + ТолькоЗначимыеКонтакты + + + Auto + Auto + + + ТолькоЗначимыеПредметы + + <key>ru</key> + <value>Только значимые предметы</value> + + 31 + + ru + Только значимые предметы + + + true + + + + ТолькоЗначимыеПредметы + + + Auto + Auto + + + ТолькоАктивныеПредметы + + <key>ru</key> + <value>Только активные предметы</value> + + 32 + + ru + Только активные предметы + + + true + + + + ТолькоАктивныеПредметы + + + Auto + Auto + + + ОтображатьОбластьЧтения + + <key>ru</key> + <value>Отображать область чтения</value> + + 33 + + ru + Отображать область чтения + + + true + + + + ОтображатьОбластьЧтения + + + Auto + Auto + + + ИзменитьОтображениеПанелиНавигации + + <key>ru</key> + <value>Изменить отображение панели навигации</value> + + 34 + + ru + Изменить отображение панели навигации + + + true + + + + ИзменитьОтображениеПанелиНавигации + + + Auto + Auto + diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Help/ru.html b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Help/ru.html index 297c52e1d..6bcd7d3dc 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Help/ru.html +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Help/ru.html @@ -1,63 +1,196 @@ - -

                                          Взаимодействия

                                          -

                                          Какие виды панелей навигации доступны списка взаимодействий?

                                          + +

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

                                          +

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

                                          +

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

                                          +

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

                                          +

                                          Кроме этого, для удобства работы с контактами программа формирует единую адресную книгу на основании контактной информации.

                                          +

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

                                          +

                                           

                                          +

                                          Какие сведения выводятся в списке?

                                          +

                                          Как ввести документ взаимодействий?

                                          +

                                          Какие виды панелей навигации доступны в списке взаимодействий?

                                          Как переключить вид панели навигации?

                                          -

                                          Какие отборы можно установить для списка, помимо отбора наложенного в панели навигации?

                                          +

                                          Как скрыть панель навигации?

                                          +

                                          Какие отборы можно установить для списка, помимо отбора, наложенного в панели навигации?

                                          Можно ли найти взаимодействие при помощи полнотекстового поиска?

                                          -

                                          Может ли пользователь инициировать процесс отправки и получения писем?

                                          -

                                          Можно ли ответить или переслать письмо из списка взаимодействий?

                                          -

                                          Как установить признак рассмотрено для нескольких документов в списке?

                                          -

                                          Как снять признак рассмотрено для нескольких документов в списке?

                                          +

                                          Как установить признак Рассмотрено для нескольких документов в списке?

                                          +

                                          Как снять признак Рассмотрено для нескольких документов в списке?

                                          Как отложить рассмотрение нескольких документов в списке?

                                          +

                                          Как просмотреть отложенные взаимодействия?

                                          Как установить предмет взаимодействий для нескольких документов в списке?

                                          Как назначить ответственного для нескольких документов в списке?

                                          -

                                          Как переместить письмо из одной папки в другую?

                                          -

                                          Как создать закладку взаимодействий из данной формы?

                                          -

                                          Какие виды панелей навигации доступны списка взаимодействий?

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

                                          Как переключить вид панели навигации?

                                          -


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

                                          -

                                          Какие отборы можно установить для списка, помимо отбора наложенного в панели навигации?

                                          -
                                          • Тип взаимодействия - возможно установить отбор по определенному типу взаимодействий, например по входящим письмам или телефонным звонкам. -
                                          • Ответственный - возможно установить отбор по ответственному за отработку взаимодействий. -
                                          • Статус - возможно отобрать взаимодействия с определенным статусом рассмотрения, например только не рассмотренные, или только отложенные. -
                                          • Период - возможно установить интервал дат документов взаимодействий.
                                          -

                                          Можно ли найти взаимодействие при помощи полнотекстового поиска?

                                          -


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

                                          -

                                          Данный поиск позволяет найти взаимодействия, для которых либо в самой форме, либо в текстах присоединенных файлов найдена строка, удовлетворяющая условиям.

                                          -

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

                                          -

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

                                          -

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

                                          -

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

                                          Может ли пользователь инициировать процесс отправки и получения писем?

                                          -


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

                                          -

                                          Можно ли ответить или переслать письмо из списка взаимодействий?

                                          -


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

                                          -

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

                                          -

                                          Как установить признак рассмотрено для нескольких документов в списке?

                                          -


                                          Выделите документы, у которых необходимо установить признак Рассмотрено. Воспользуйтесь командой Рассмотрено (Ctrl+R) командной панели списка.

                                          -

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

                                          -

                                          Как снять признак рассмотрено для нескольких документов в списке?

                                          -


                                          Выделите документы, у которых необходимо снять признак Рассмотрено. Воспользуйтесь командой Снять признак рассмотрено (Alt+Shift+R), расположенной в меню Все действия списка взаимодействий.

                                          -

                                          Как отложить рассмотрение нескольких документов в списке?

                                          -


                                          Выделите документы, рассмотрение которых необходимо отложить. Воспользуйтесь командой Отложить рассмотрение командной панели.

                                          -

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

                                          -

                                          Как установить предмет взаимодействий для нескольких документов в списке?

                                          -


                                          Выделите документы, у которых необходимо установить новый предмет. Воспользуйтесь командой Установить предмет взаимодействия (Ctrl+G) командной панели списка.

                                          -

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

                                          -

                                          Как назначить ответственного для нескольких документов в списке?

                                          -


                                          Выделите документы, у которых необходимо установить ответственного. Воспользуйтесь командой Установить ответственного (Ctrl+M) командной панели списка.

                                          -

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

                                          -

                                          Как переместить письмо из одной папки в другую?

                                          -


                                          Выделите одно или несколько писем. Воспользуйтесь командой Переместить в папку контекстного меню списка. Выберите папку, в которую необходимо перенести письма.

                                          -

                                          Если установлен вид навигации По папкам электронных писем то для перемещения писем в другую папку можно использовать перетаскивание. Выделите одно или несколько писем и перетащите их на папку в панели навигации.

                                          -

                                          Как создать закладку взаимодействий из данной формы?

                                          -


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

                                          -

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

                                          -

                                           

                                          \ No newline at end of file +

                                          Как создать закладку взаимодействий?

                                          +

                                          Как включить просмотр содержания документов в списке?

                                          +

                                          Можно ли работать с электронной перепиской из списка взаимодействий?

                                          +

                                          Может ли пользователь инициировать процесс отправки и получения писем?

                                          +

                                          Можно ли ответить или переслать письмо из списка взаимодействий?

                                          +

                                          Как из списка перейти к настройке учетной записи электронной почты?

                                          +

                                           

                                          +

                                          Правая часть списка состоит из колонок:

                                          +
                                          • +
                                             Важность - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения: Низкая, Обычная (значение по умолчанию), Высокая. Отображается в списке взаимодействий специальными значками.
                                            +
                                          • +
                                             Наличие вложений - к письмам можно приложить различные файлы;
                                            +
                                          • +
                                             Вид взаимодействия - взаимодействия в списке отображаются соответствующими значками:
                                            +
                                          • +
                                            Дата - дата создания документа;
                                            +
                                          • +
                                            Участники - контакты, с которыми были взаимодействия;
                                            +
                                          • +
                                            Тема - краткое содержание взаимодействия.

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

                                          +

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

                                          +

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

                                          +

                                          Ввод документов взаимодействия

                                          +
                                          • +
                                            Нажмите Создать, выберите из списка нужный документ.

                                          Виды панелей навигации списка взаимодействий

                                          +

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

                                          +
                                          • По предметам - панель навигации заполняется предметами взаимодействий. Все взаимодействия в списке группируются по предметам. +
                                            • При позиционировании на предмете в списке отображаются взаимодействия по данному предмету. +
                                            •  В панели группировки можно открывать предметы, по которым сгруппированы взаимодействия (двойным щелчком мыши в панели группировки). +
                                            • С помощью перетаскивания мышью взаимодействия можно перемещать между предметами, при этом в самом взаимодействии меняется предмет.   +
                                            • Включите соответствующий флажок в контекстном меню панели навигации по правой кнопке мыши, для того чтобы показывать Только активные предметы или Только значимые предметы.
                                          • По контактам - панель навигации заполняется контактами, с которыми были взаимодействия. +
                                            • При позиционировании на контакте в списке отображаются взаимодействия с данным контактом. +
                                            • Включите флажок в контекстном меню панели навигации по правой кнопке мыши, для того чтобы показывать Только значимые контакты.
                                          • По папкам - панель навигации заполняется доступными пользователю учетными записями электронной почты и их папками. В отличие от остальных видов панелей навигации, используется только для работы с электронными письмами. Подробнее см. ниже. +
                                          • По закладкам - панель навигации заполняется закладками пользователя. При позиционировании на закладке в списке будет отображаться те взаимодействия, которые соответствуют отбору, настроенному в закладке. Подробнее о работе с закладками в списке см. ниже. +
                                          • По свойствам - для каждого дополнительного реквизита или сведения документов взаимодействий формируется отдельный вид панели навигации. +
                                            • При выборе такого вида навигации панель заполняется всеми возможными значениями данного дополнительного реквизита или сведения. +
                                            • При позиционировании на одном из значений в списке взаимодействий отображаются только те документы, у которых соответствующее сведение имеет такое же значение.
                                          • По категориям - панель навигации заполняется видами свойств документов взаимодействий: +
                                            • Если дополнительный реквизит или сведение имеет тип Булево, значениями которого могут быть либо Истина, либо Ложь, то в панели навигации отображаются наименования дополнительных реквизитов; +
                                              • При позиционировании на виде свойства в панели навигации в списке взаимодействий отображаются только те документы, у которых значение данного свойства Истина.
                                          • Если дополнительный реквизит или сведение имеет значение, отличное от типа Булево, то в панели навигации доступна группировка, соответствующая названию дополнительного реквизита. +
                                            • При такой группировке в панели навигации отображаются значения дополнительного реквизита, а в списке взаимодействий отображаются взаимодействия, дополнительные реквизиты которых соответствуют значениям, выделенным в панели навигации.
                                          +

                                          Переключение вида панели навигации

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

                                          Скрытие панели навигации

                                          +
                                          • +
                                            Для удобства просмотра списка взаимодействий можно Скрыть панель навигации с помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще).

                                          Отборы списка

                                          +
                                          • В поле Ответственный можно установить отбор по ответственному за отработку взаимодействий, которого можно выбрать из списка Пользователи. +
                                          • С помощью команды Все действия (в интерфейсе Такси Еще) - Тип взаимодействий можно установить отбор по определенному типу взаимодействий, например, по входящим письмам или телефонным звонкам. +
                                          • С помощью команды Все действия (в интерфейсе Такси Еще) - Статус можно отобрать взаимодействия с определенным статусом рассмотрения, например, только нерассмотренные, или только отложенные. +
                                            • Если в поле установлено значение К рассмотрению, то будут отображены взаимодействия, которые необходимо отработать до текущей даты и с неустановленным флажком Рассмотрено. +
                                            • Если в поле установлено значение Отложенные, то в списке показываются взаимодействия с заполненным полем Рассмотреть после и неустановленным флажком Рассмотрено. +
                                            • Если в поле установлено значение Рассмотренные, то в списке показываются взаимодействия с установленным флажком Рассмотрено.
                                          • Нажмите , для того чтобы Установить интервал дат документов взаимодействий и выбрать период просмотра.
                                          +

                                          Полнотекстовый поиск в списке взаимодействий

                                          +
                                          • +
                                            Введите строку поиска в поле Найти, расположенное в правой верхней части окна.
                                            +
                                          • +
                                            Будет выполнен поиск по текстам, содержащимся в документах взаимодействий.
                                            +
                                          • +
                                            Данный поиск позволяет найти взаимодействия, для которых либо в самом документе, либо в текстах присоединенных файлов имеется строка, удовлетворяющая условиям.
                                            +
                                          • +
                                            После выполнения поиска в списке взаимодействий остаются только те документы, которые удовлетворяют условию поиска.
                                            +
                                          • +
                                            При позиционировании на взаимодействии в нижней части списка отображается информация о тексте, который совпадает с условием поиска.
                                            +
                                          • +
                                            Если ни одно взаимодействие не найдено, поле ввода строки поиска подсвечивается красным.
                                            +
                                          • +
                                            Для того чтобы отменить отображение списка по результатам полнотекстового поиска, необходимо очистить строку поиска.
                                            +
                                          • +
                                            Следует учитывать, что некоторые символы, введенные в строку поиска, будут трактоваться как служебные символы языка запросов полнотекстового поиска в данных. Информацию о списке таких служебных символов можно получить в справке (раздел 1С:Предприятие - Работа пользователя - Язык запросов полнотекстового поиска в данных).

                                          Установка признака Рассмотрено

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

                                          Снятие признака Рассмотрено 

                                          +
                                          • +
                                            Выделите нужные документы.
                                            +
                                          • +
                                            Воспользуйтесь командой Все действия (в интерфейсе Такси Еще) - Снять признак рассмотрено (Alt+Shift+R). Для писем устанавливается признак На контроле.
                                            +
                                          • +
                                            Документы в списке выделяются жирным шрифтом.

                                          Команда Отложить рассмотрение

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

                                          Просмотр отложенных взаимодействий

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

                                          Установка предмета взаимодействий

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

                                          Назначение ответственного для документов

                                          +

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

                                          Ввод закладки взаимодействий

                                          +

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

                                          Просмотр содержания документов в списке

                                          +

                                          С помощью флажка  Все действия (в интерфейсе Такси Еще) - Отображать область чтения можно установить режим просмотра текста писем или темы документов.

                                          +

                                          Группировка списка по папкам электронных писем. Работа с электронной перепиской

                                          +

                                          С электронной перепиской в списке удобно работать при группировке По папкам.

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

                                          Для работы с папками электронных писем предусмотрены команды контекстного меню панели группировки по правой кнопки мыши:

                                          +
                                          • Перенести в папку - команда доступна только для пользовательских папок (при наличии соответствующих прав). Для перемещения папок можно также использовать перетаскивание мышью. Воспользовавшись командой, можно выбрать нужную папку из списка или создать новую; +
                                          • +
                                            Создать папку - для создания новой папки заполните необходимые поля.
                                            +
                                          • +
                                            Для перемещения писем из одной папки в другую можно пользоваться перетаскиванием мышью.
                                            +
                                            • Также можно использовать команду контекстного меню правой части списка Перенести в папку. Выберите нужную папку из списка или создайте новую. Нажмите Выбрать для возврата в список.
                                          • +
                                            При работе в папках доступны команды для работы с письмами:
                                            +
                                            • +
                                              Написать письмо;
                                              +
                                            • +
                                              Ответить,
                                              +
                                            • +
                                               Ответить всем,
                                              +
                                            • +
                                               Переслать;
                                              +
                                            • +
                                               Отправить и получить.

                                          Отправка и получение писем

                                          +

                                          Установите вид панели навигации По папкам. +
                                          • +

                                            В файловом варианте работы программы нажмите  Отправить и получить почту (Ctrl+F9) и проверьте свой почтовый ящик.

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

                                          Ответ на письмо или пересылка письма из списка взаимодействий

                                          +
                                          • +
                                            Установите вид панели навигации По папкам.
                                            +
                                          • Выберите нужную папку, в этом случае в командной панели списка взаимодействий появляются соответствующие команды. +
                                          • Выберите письмо. +
                                          • Нажмите соответствующую кнопку: +
                                            • Ответить - в созданном исходящем письме в качестве получателя будет указан отправитель письма. Исходящее письмо при этом входит в цепочку взаимодействий. +
                                            •  Ответить всем - в созданном исходящем письме в качестве получателей будут указаны отправитель и все получатели данного письма (в полях Кому и Копии). +
                                            •  Переслать - получатели не заполняются. Будет сформировано исходящее письмо, включающее в себя текст и вложения входящего письма.

                                          Персональные настройки

                                          +
                                          • С помощью команды Все действия (в интерфейсе Такси Еще) - Персональные настройки можно перейти к настройке персональной учетной записи электронной почты.

                                          См. также

                                          + \ No newline at end of file diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Module.bsl b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Module.bsl index 19bea0961..389a92be6 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСписка/Module.bsl @@ -25,6 +25,8 @@ ТекущийПользователь = Пользователи.АвторизованныйПользователь(); ДополнитьМенюПанелиНавигации(); + Взаимодействия.ЗаполнитьПодменюСтатус(Элементы.СписокСтатус, ЭтотОбъект); + Взаимодействия.ЗаполнитьПодменюПоТипуВзаимодействия(Элементы.СписокТипВзаимодействия, ЭтотОбъект); Для Каждого ТипПредмета Из Метаданные.РегистрыСведений.ПредметыПапкиВзаимодействий.Ресурсы.Предмет.Тип.Типы() Цикл Если ТолькоПочта И @@ -35,17 +37,17 @@ СписокВыбораТипаПредмета.Добавить(Метаданные.НайтиПоТипу(ТипПредмета).ПолноеИмя(), Строка(ТипПредмета)); КонецЦикла; - Если НЕ ИнформационнаяБазаФайловая Тогда - Элементы.СписокОтправитьПолучитьПочту.Видимость = Ложь; - Элементы.СписокОтправитьПолучитьПочтуВходящие.Видимость = Ложь; - Элементы.СписокОтправитьПолучитьПочтуИсходящие.Видимость = Ложь; - КонецЕсли; - ТипВзаимодействия = ?(ТолькоПочта, "ВсеПисьма","Все"); Статус = "Все"; Взаимодействия.ЗаполнитьСписокДоступныхДляСозданияДокументов(ДокументыДоступныеДляСоздания); + Если ПустаяСтрока(ИмяТекущейПанелиНавигации) Тогда + Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПредмет; + ОбновитьПанельНавигации(); + УправлениеВидимостьюПриПереключенииПанелиНавигации(); + КонецЕсли; + КонецПроцедуры &НаСервере @@ -70,10 +72,8 @@ Если Не ИспользоватьПризнакРассмотрено Тогда Статус = "Все"; КонецЕсли; - Если ЗначениеЗаполнено(Статус) И Статус <> "Все" Тогда + Если ЗначениеЗаполнено(Статус) Тогда ПриИзмененииСтатусаСервер(Ложь); - Иначе - Статус = "Все"; КонецЕсли; Ответственный = Настройки.Получить("Ответственный"); @@ -87,7 +87,6 @@ ПриИзмененииТипаСервер(Ложь); ОбновитьПанельНавигации(); УправлениеВидимостьюПриПереключенииПанелиНавигации(); - УстановитьЗаголовокВидаПанелиНавигации(); КонецПроцедуры @@ -130,8 +129,7 @@ ИначеЕсли КонтекстВыбора = "ОтветственныйСписок" Тогда Если ВыбранноеЗначение <> Неопределено Тогда - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; - УстановитьОтветственного(ВыбранноеЗначение, Элементы[ИмяТекущегоЭлемента].ВыделенныеСтроки); + УстановитьОтветственного(ВыбранноеЗначение, Элементы.Список.ВыделенныеСтроки); КонецЕсли; ВосстановитьРаскрытыеУзлыДерева(); @@ -147,8 +145,7 @@ ИначеЕсли КонтекстВыбора = "ПредметСписок" Тогда Если ВыбранноеЗначение <> Неопределено Тогда - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; - УстановитьПредмет(ВыбранноеЗначение, Элементы[ИмяТекущегоЭлемента].ВыделенныеСтроки); + УстановитьПредмет(ВыбранноеЗначение, Элементы.Список.ВыделенныеСтроки); КонецЕсли; ВосстановитьРаскрытыеУзлыДерева(); @@ -182,8 +179,6 @@ &НаКлиенте Процедура ПанельНавигацииПриАктивизацииСтроки(Элемент) - ТекущийЭлементСписок = ТекущийЭлементСписок(); - Если Элемент.Имя = "Предметы" И Элементы.СтраницыПанелиНавигации.ТекущаяСтраница <> Элементы.СтраницаПредмет Тогда Возврат; @@ -212,14 +207,6 @@ КонецПроцедуры -&НаКлиенте -Процедура СтатусПриИзменении(Элемент) - - ПриИзмененииСтатусаСервер(Истина); - ВосстановитьРаскрытыеУзлыДерева(); - -КонецПроцедуры - &НаКлиенте Процедура ОтветственныйПриИзменении(Элемент) @@ -238,23 +225,6 @@ &НаКлиенте Процедура СписокПриИзменении(Элемент) - Если Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокОбычная И - Элемент.Имя <> "Список" Тогда - - Возврат; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокВходящие И - Элемент.Имя <> "СписокВходящие" Тогда - - Возврат; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокИсходящие И - Элемент.Имя <> "СписокИсходящие" Тогда - - Возврат; - - КонецЕсли; - ОбновитьПанельНавигации(); ВосстановитьРаскрытыеУзлыДерева(); @@ -270,13 +240,7 @@ &НаКлиенте Процедура СписокПриАктивизацииСтроки(Элемент) - ТекущийЭлементСписок = ТекущийЭлементСписок(); - - Если ТекущийЭлементСписок = Неопределено Тогда - Возврат; - КонецЕсли; - - Если ТекущийЭлементСписок.ТекущиеДанные = Неопределено Тогда + Если Элементы.Список.ТекущиеДанные = Неопределено И ОтображатьОбластьЧтения Тогда Если Элементы.СтраницыПредпросмотр.ТекущаяСтраница <> Элементы.СтраницаПредпросмотрОбычныйТекст Тогда Элементы.СтраницыПредпросмотр.ТекущаяСтраница = Элементы.СтраницаПредпросмотрОбычныйТекст; КонецЕсли; @@ -286,20 +250,10 @@ Иначе - Если Элемент.Имя = "Список" И Элементы.СтраницыСписок.ТекущаяСтраница <> Элементы.СтраницаСписокОбычная Тогда - Возврат; - ИначеЕсли Элемент.Имя = "СписокВходящие" И - Элементы.СтраницыСписок.ТекущаяСтраница <> Элементы.СтраницаСписокВходящие Тогда - Возврат; - ИначеЕсли Элемент.Имя = "СписокИсходящие" И - Элементы.СтраницыСписок.ТекущаяСтраница <> Элементы.СтраницаСписокИсходящие Тогда - Возврат; - КонецЕсли; - Если ВыборКорректен(Элемент.Имя,Истина) И - ВзаимодействиеДляКоторогоСформированПредпросмотр <> ТекущийЭлементСписок.ТекущиеДанные.Ссылка Тогда + ВзаимодействиеДляКоторогоСформированПредпросмотр <> Элементы.Список.ТекущиеДанные.Ссылка Тогда - Если ТекущийЭлементСписок.ВыделенныеСтроки.Количество() = 1 Тогда + Если Элементы.Список.ВыделенныеСтроки.Количество() = 1 Тогда ПодключитьОбработчикОжидания("ОбработатьАктивизациюСтрокиСписка",0.1,Истина); @@ -370,13 +324,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ТолькоПоАктивнымПредметамПриИзменении(Элемент) - - ОбновитьПанельНавигации(, Ложь); - -КонецПроцедуры - &НаКлиенте Процедура ПапкиПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) @@ -440,6 +387,14 @@ КонецФункции +&НаКлиенте +Процедура СтатусПриИзменении(Элемент) + + ПриИзмененииСтатусаСервер(Истина); + ВосстановитьРаскрытыеУзлыДерева(); + +КонецПроцедуры + &НаКлиенте Процедура ТипВзаимодействияСтатусОчистка(Элемент, СтандартнаяОбработка) @@ -455,7 +410,7 @@ Если СтрокаПоиска <> "" Тогда ПроверитьИндексППД(); - ЭтотОбъект.ТекущийЭлемент = ?(НЕ РасширенныйПоиск, Элементы.СтрокаПоиска, ТекущийЭлементСписок()); + ЭтотОбъект.ТекущийЭлемент = ?(НЕ РасширенныйПоиск, Элементы.СтрокаПоиска, Элементы.Список); Иначе РасширенныйПоиск = Ложь; @@ -465,6 +420,7 @@ Неопределено, ВидСравненияКомпоновкиДанных.Равно,,Ложь); ОснованиеВыбора = ""; + Элементы.ОписаниеНайденоПП.Видимость = РасширенныйПоиск; КонецЕсли; КонецПроцедуры @@ -530,20 +486,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ТолькоЗначимыеПредметыПриИзменении(Элемент) - - ЗаполнитьПанельПредметов(); - -КонецПроцедуры - -&НаКлиенте -Процедура ТолькоЗначимыеКонтактыПриИзменении(Элемент) - - ЗаполнитьПанельКонтактов(); - -КонецПроцедуры - //////////////////////////////////////////////////////////////////////////////////// // Обработка перетаскивания @@ -606,11 +548,8 @@ Для каждого ЭлементМассива Из ПараметрыПеретаскивания.Значение Цикл Если ВзаимодействияКлиентСервер.ЯвляетсяЭлектроннымПисьмом(ЭлементМассива) Тогда - ТекущийЭлементСписок = ТекущийЭлементСписок(); - Если ТекущийЭлементСписок = Неопределено Тогда - ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена; - КонецЕсли; - ДанныеСтроки = ТекущийЭлементСписок.ДанныеСтроки(ЭлементМассива); + ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Отмена; + ДанныеСтроки = Элементы.Список.ДанныеСтроки(ЭлементМассива); Если ДанныеСтроки.УчетнаяЗапись = СтрокаНазначение.УчетнаяЗапись Тогда ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение; Возврат; @@ -743,7 +682,7 @@ ОчиститьСообщения(); - УправлениеЭлектроннойПочтойКлиент.ОтправитьЗагрузитьПочтуПользователя(ТекущийЭлементСписок()); + УправлениеЭлектроннойПочтойКлиент.ОтправитьЗагрузитьПочтуПользователя(Элементы.Список); ОбновитьПанельНавигации(); ВосстановитьРаскрытыеУзлыДерева(); @@ -752,14 +691,8 @@ &НаКлиенте Процедура Ответить(Команда) - ТекущийЭлементСписок = ТекущийЭлементСписок(); - - Если ТекущийЭлементСписок = Неопределено Тогда - Возврат; - КонецЕсли; - - Если ВыборКорректен(ТекущийЭлементСписок.Имя, Истина) Тогда - ТекущееВзаимодействие = ТекущийЭлементСписок.ТекущиеДанные.Ссылка; + Если ВыборКорректен(Элементы.Список.Имя, Истина) Тогда + ТекущееВзаимодействие = Элементы.Список.ТекущиеДанные.Ссылка; Если ТипЗнч(ТекущееВзаимодействие) <> Тип("ДокументСсылка.ЭлектронноеПисьмоВходящее") Тогда ПоказатьПредупреждение(, НСтр("ru = 'Команда ""Ответить"" может быть выполнена только для входящего письма.'")); Возврат; @@ -777,14 +710,8 @@ &НаКлиенте Процедура ОтветитьВсем(Команда) - ТекущийЭлементСписок = ТекущийЭлементСписок(); - - Если ТекущийЭлементСписок = Неопределено Тогда - Возврат; - КонецЕсли; - - Если ВыборКорректен(ТекущийЭлементСписок.Имя, Истина) Тогда - ТекущееВзаимодействие = ТекущийЭлементСписок.ТекущиеДанные.Ссылка; + Если ВыборКорректен(Элементы.Список.Имя, Истина) Тогда + ТекущееВзаимодействие = Элементы.Список.ТекущиеДанные.Ссылка; Если ТипЗнч(ТекущееВзаимодействие) <> Тип("ДокументСсылка.ЭлектронноеПисьмоВходящее") Тогда ПоказатьПредупреждение(, НСтр("ru = 'Команда ""Ответить всем"" может быть выполнена только для входящего письма.'")); Возврат; @@ -802,14 +729,8 @@ &НаКлиенте Процедура Переслать(Команда) - ТекущийЭлементСписок = ТекущийЭлементСписок(); - - Если ТекущийЭлементСписок = Неопределено Тогда - Возврат; - КонецЕсли; - - Если ВыборКорректен(ТекущийЭлементСписок.Имя, Истина) Тогда - ТекущееВзаимодействие = ТекущийЭлементСписок.ТекущиеДанные.Ссылка; + Если ВыборКорректен(Элементы.Список.Имя, Истина) Тогда + ТекущееВзаимодействие = Элементы.Список.ТекущиеДанные.Ссылка; Если ТипЗнч(ТекущееВзаимодействие) <> Тип("ДокументСсылка.ЭлектронноеПисьмоИсходящее") И ТипЗнч(ТекущееВзаимодействие) <> Тип("ДокументСсылка.ЭлектронноеПисьмоВходящее") Тогда ПоказатьПредупреждение(, НСтр("ru = 'Команда ""Переслать"" может быть выполнена только для писем.'")); @@ -876,7 +797,7 @@ &НаКлиенте Процедура ОтветственныйСписок(Команда) - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; + ИмяТекущегоЭлемента = Элементы.Список.Имя; Если Лев(ИмяТекущегоЭлемента,6) = "Список" И Не ВыборКорректен(ИмяТекущегоЭлемента) Тогда Возврат; КонецЕсли; @@ -908,7 +829,7 @@ &НаКлиенте Процедура ВзаимодействияПоПредмету(Команда) - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; + ИмяТекущегоЭлемента = Элементы.Список.Имя; Если Не ВыборКорректен(ИмяТекущегоЭлемента,Истина) Тогда Возврат; КонецЕсли; @@ -960,7 +881,7 @@ &НаКлиенте Процедура РассмотреноВыполнитьСписок(ЗначенияПризнака) - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; + ИмяТекущегоЭлемента = Элементы.Список.Имя; Если Не ВыборКорректен(ИмяТекущегоЭлемента) Тогда Возврат; КонецЕсли; @@ -982,7 +903,7 @@ &НаКлиенте Процедура ПредметСписок(Команда) - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; + ИмяТекущегоЭлемента = Элементы.Список.Имя; Если Не ВыборКорректен(ИмяТекущегоЭлемента) Тогда Возврат; КонецЕсли; @@ -1056,7 +977,7 @@ &НаКлиенте Процедура ОтложитьРассмотрениеСписок(Команда) - ИмяТекущегоЭлемента = ТекущийЭлементСписок().Имя; + ИмяТекущегоЭлемента = Элементы.Список.Имя; Если Не ВыборКорректен(ИмяТекущегоЭлемента) Тогда Возврат; КонецЕсли; @@ -1187,6 +1108,67 @@ КонецПроцедуры +&НаКлиенте +Процедура ТолькоЗначимыеКонтакты(Команда) + + ТолькоЗначимыеКонтакты = Не ТолькоЗначимыеКонтакты; + ЗаполнитьПанельКонтактов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТолькоЗначимыеПредметы(Команда) + + ТолькоЗначимыеПредметы = Не ТолькоЗначимыеПредметы; + ЗаполнитьПанельПредметов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТолькоАктивныеПредметы(Команда) + + ПоказыватьВсеАктивныеПредметы = Не ПоказыватьВсеАктивныеПредметы; + ЗаполнитьПанельПредметов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОтображатьОбластьЧтения(Команда) + + ОтображатьОбластьЧтения = Не ОтображатьОбластьЧтения; + СписокПриАктивизацииСтроки(Элементы.Список); + УправлениеВидимостьюПриПереключенииПанелиНавигации(); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ИзменитьОтборСтатус(Команда) + + Статус = ВзаимодействияКлиентСервер.СтатусПоИмениКоманды(Команда.Имя); + + ПриИзмененииСтатусаСервер(Истина); + ВосстановитьРаскрытыеУзлыДерева(); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ИзменитьОтборТипВзаимодействия(Команда) + + ТипВзаимодействия = ВзаимодействияКлиентСервер.ТипВзаимодействияПоИмениКоманды(Команда.Имя, ТолькоПочта); + + ПриИзмененииТипаСервер(); + ВосстановитьРаскрытыеУзлыДерева(); + +КонецПроцедуры + +&НаКлиенте +Процедура ИзменитьОтображениеПанелиНавигации(Команда) + + ПанельНавигацииСкрыта = Не ПанельНавигацииСкрыта; + УправлениеВидимостьюПриПереключенииПанелиНавигации(); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -1256,16 +1238,10 @@ // Элемент = УсловноеОформление.Элементы.Добавить(); - - ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокИсходящие.Имя); - + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Список.Имя); - ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокВходящие.Имя); - ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Рассмотрено"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; @@ -1309,6 +1285,17 @@ ВзаимодействияКлиентСервер.БыстрыйОтборСписокПриИзменении(ЭтотОбъект, "Статус"); + ШаблонЗаголовка = НСтр("ru = 'Статус: %1'"); + ПредставлениеСтатуса = ВзаимодействияКлиентСервер.СписокСтатусов().НайтиПоЗначению(Статус).Представление; + Элементы.СписокСтатус.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ПредставлениеСтатуса); + Для Каждого ЭлементПодменю Из Элементы.СписокСтатус.ПодчиненныеЭлементы Цикл + Если ЭлементПодменю.Имя = ("УстановитьОтборСтатус_" + Статус) Тогда + ЭлементПодменю.Пометка = Истина; + Иначе + ЭлементПодменю.Пометка = Ложь; + КонецЕсли; + КонецЦикла; + Если ОбновлятьПанельНавигации Тогда ОбновитьПанельНавигации(); КонецЕсли; @@ -1329,6 +1316,8 @@ &НаСервере Процедура ПриИзмененииТипаСервер(ОбновлятьПанельНавигации = Истина) + Взаимодействия.ОбработатьПодменюОтборПоТипуВзаимодействий(ЭтотОбъект); + ВзаимодействияКлиентСервер.ПриИзмененииОтбораТипВзаимодействий(ЭтотОбъект, ТипВзаимодействия); Если ОбновлятьПанельНавигации Тогда ОбновитьПанельНавигации(); @@ -1343,20 +1332,19 @@ Процедура ОбработатьАктивизациюСтрокиСписка() ИмяСписка = "Список"; - Если Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокВходящие Тогда - ИмяСписка = "СписокВходящие"; - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокИсходящие Тогда - ИмяСписка = "СписокИсходящие"; - КонецЕсли; Если ВыборКорректен(ИмяСписка,Истина) Тогда - ИмяСтраницыПредпросмотра = Элементы.СтраницыПредпросмотр.ТекущаяСтраница.Имя; - Если ВзаимодействиеДляКоторогоСформированПредпросмотр <> Элементы[ИмяСписка].ТекущиеДанные.Ссылка Тогда - ОтобразитьПредпросмотрВзаимодействия(Элементы[ИмяСписка].ТекущиеДанные.Ссылка, ИмяСтраницыПредпросмотра); - Если ИмяСтраницыПредпросмотра <> Элементы.СтраницыПредпросмотр.ТекущаяСтраница.Имя Тогда - Элементы.СтраницыПредпросмотр.ТекущаяСтраница = Элементы[ИмяСтраницыПредпросмотра]; + Если ОтображатьОбластьЧтения Тогда + + ИмяСтраницыПредпросмотра = Элементы.СтраницыПредпросмотр.ТекущаяСтраница.Имя; + Если ВзаимодействиеДляКоторогоСформированПредпросмотр <> Элементы[ИмяСписка].ТекущиеДанные.Ссылка Тогда + ОтобразитьПредпросмотрВзаимодействия(Элементы[ИмяСписка].ТекущиеДанные.Ссылка, ИмяСтраницыПредпросмотра); + Если ИмяСтраницыПредпросмотра <> Элементы.СтраницыПредпросмотр.ТекущаяСтраница.Имя Тогда + Элементы.СтраницыПредпросмотр.ТекущаяСтраница = Элементы[ИмяСтраницыПредпросмотра]; + КонецЕсли; КонецЕсли; + КонецЕсли; Если РасширенныйПоиск Тогда @@ -1367,12 +1355,14 @@ Иначе - Если Элементы.СтраницыПредпросмотр.ТекущаяСтраница <> Элементы.СтраницаПредпросмотрОбычныйТекст Тогда - Элементы.СтраницыПредпросмотр.ТекущаяСтраница = Элементы.СтраницаПредпросмотрОбычныйТекст; + Если ОтображатьОбластьЧтения Тогда + Если Элементы.СтраницыПредпросмотр.ТекущаяСтраница <> Элементы.СтраницаПредпросмотрОбычныйТекст Тогда + Элементы.СтраницыПредпросмотр.ТекущаяСтраница = Элементы.СтраницаПредпросмотрОбычныйТекст; + КонецЕсли; + Предпросмотр = ""; + ПредпросмотрHTML = ""; + ВзаимодействиеДляКоторогоСформированПредпросмотр = Неопределено; КонецЕсли; - Предпросмотр = ""; - ПредпросмотрHTML = ""; - ВзаимодействиеДляКоторогоСформированПредпросмотр = Неопределено; ОписаниеНайденоПП = ""; КонецЕсли; @@ -1382,42 +1372,44 @@ &НаКлиенте Процедура ОбработатьАктивизациюСтрокиПанелиНавигации(); + Если ПанельНавигацииСкрыта Тогда + Возврат; + КонецЕсли; + Если ИзменениеТекущейСтрокиПанелиНавигации Тогда ИзменениеТекущейСтрокиПанелиНавигации = Ложь; Иначе ИзменениеТекущейСтрокиПанелиНавигации = Истина; КонецЕсли; - ИмяТекущейСтраницы = Элементы.СтраницыСписок.ТекущаяСтраница.Имя; - Если Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКонтакт Тогда ТекущиеДанные = Элементы.КонтактыПанелиНавигации.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда ИзменитьОтборСписок("Контакты",Новый Структура("Значение,ОписаниеТипов", - ТекущиеДанные.Контакт, Неопределено), ИмяТекущейСтраницы); + ТекущиеДанные.Контакт, Неопределено)); СохранитьТекущееАктивноеЗначениеВНастройках("Контакты",ТекущиеДанные.Контакт); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПредмет Тогда ТекущиеДанные = Элементы.ПредметыПанельНавигации.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда ИзменитьОтборСписок("Предметы",Новый Структура("Значение,ОписаниеТипов", - ТекущиеДанные.Предмет, Неопределено), ИмяТекущейСтраницы); + ТекущиеДанные.Предмет, Неопределено)); СохранитьТекущееАктивноеЗначениеВНастройках("Предметы", ТекущиеДанные.Предмет); Иначе ИзменитьОтборСписок("Предметы",Новый Структура("Значение,ОписаниеТипов", - Неопределено, Неопределено), ИмяТекущейСтраницы); + Неопределено, Неопределено)); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПапки Тогда ТекущиеДанные = Элементы.Папки.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда ИзменитьОтборСписок("Папки",Новый Структура("Значение,УчетнаяЗапись", - ТекущиеДанные.Значение, ТекущиеДанные.УчетнаяЗапись), ИмяТекущейСтраницы); + ТекущиеДанные.Значение, ТекущиеДанные.УчетнаяЗапись)); СохранитьТекущееАктивноеЗначениеВНастройках("Папки", ТекущиеДанные.Значение); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаЗакладки Тогда ТекущиеДанные = Элементы.Закладки.ТекущиеДанные; Если ТекущиеДанные <> Неопределено И НЕ ТекущиеДанные.ЭтоГруппа Тогда - ИзменитьОтборСписок("Закладки",Новый Структура("Значение", ТекущиеДанные.Ссылка), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Закладки",Новый Структура("Значение", ТекущиеДанные.Ссылка)); СохранитьТекущееАктивноеЗначениеВНастройках("Закладки", ТекущиеДанные.Ссылка); Иначе ГруппаОтбора = СоздатьГруппуОтбораПанелиНавигации(); @@ -1425,13 +1417,13 @@ ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаСвойства Тогда ТекущиеДанные = Элементы.Свойства.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда - ИзменитьОтборСписок("Свойства",Новый Структура("Значение", ТекущиеДанные.Значение), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Свойства",Новый Структура("Значение", ТекущиеДанные.Значение)); СохранитьТекущееАктивноеЗначениеВНастройках("Свойства", ТекущиеДанные.Значение); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКатегории Тогда ТекущиеДанные = Элементы.Категории.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда - ИзменитьОтборСписок("Категории",Новый Структура("Значение", ТекущиеДанные.Значение), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Категории",Новый Структура("Значение", ТекущиеДанные.Значение)); СохранитьТекущееАктивноеЗначениеВНастройках("Категории", ТекущиеДанные.Значение); КонецЕсли; КонецЕсли; @@ -1466,68 +1458,14 @@ Функция СоздатьГруппуОтбораПанелиНавигации() Возврат ОбщегоНазначенияКлиентСервер.СоздатьГруппуЭлементовОтбора( - ВзаимодействияКлиентСервер.ОтборДинамическогоСписка(Список).Элементы, - "ОтборПанелиНавигации", - ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ); + ВзаимодействияКлиентСервер.ОтборДинамическогоСписка(Список).Элементы, + "ОтборПанелиНавигации", + ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ); КонецФункции &НаСервере -Функция ОпределитьСтраницуСпискаДляПапки(Папка) - - Запрос = Новый Запрос; - Запрос.Текст = " - |ВЫБРАТЬ - | ИСТИНА КАК Входящие - |ИЗ - | Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем - |ГДЕ - | ПапкиЭлектронныхПисем.Ссылка В ИЕРАРХИИ - | (ВЫБРАТЬ РАЗЛИЧНЫЕ - | ПапкиЭлектронныхПисем.Ссылка - | ИЗ - | Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем - | ГДЕ - | ПапкиЭлектронныхПисем.ПредопределеннаяПапка - | И ПапкиЭлектронныхПисем.Наименование В (&СписокНаименованийИсходящие) - | И ПапкиЭлектронныхПисем.Владелец В - | (ВЫБРАТЬ - | ПапкиЭлектронныхПисем.Владелец - | ИЗ - | Справочник.ПапкиЭлектронныхПисем КАК ПапкиЭлектронныхПисем - | ГДЕ - | ПапкиЭлектронныхПисем.Ссылка = &Папка)) - | И ПапкиЭлектронныхПисем.Ссылка = &Папка"; - - СписокНаименованийИсходящее = Новый СписокЗначений; - СписокНаименованийИсходящее.Добавить(НСтр("ru = 'Отправленные'")); - СписокНаименованийИсходящее.Добавить(НСтр("ru = 'Исходящие'")); - СписокНаименованийИсходящее.Добавить(НСтр("ru = 'Черновики'")); - - Запрос.УстановитьПараметр("Папка",Папка); - Запрос.УстановитьПараметр("СписокНаименованийИсходящие", СписокНаименованийИсходящее); - - Результат = Запрос.Выполнить(); - - Если Результат.Пустой() Тогда - Возврат Элементы.СтраницаСписокВходящие; - Иначе - Возврат Элементы.СтраницаСписокИсходящие; - КонецЕсли; - -КонецФункции - -&НаСервере -Процедура УправлениеВидимостьюСписков(ТекущаяСтраницаСписок) - - Элементы.Список.Видимость = (ТекущаяСтраницаСписок = Элементы.СтраницаСписокОбычная); - Элементы.СписокИсходящие.Видимость = (ТекущаяСтраницаСписок = Элементы.СтраницаСписокИсходящие); - Элементы.СписокВходящие.Видимость = (ТекущаяСтраницаСписок = Элементы.СтраницаСписокВходящие); - -КонецПроцедуры - -&НаСервере -Процедура ИзменитьОтборСписок(ИмяТаблицы, ДанныеДляОбработки , ИмяСтраницыСписка); +Процедура ИзменитьОтборСписок(ИмяТаблицы, ДанныеДляОбработки); Если ИмяТаблицы = "Предметы" ИЛИ ИмяТаблицы = "Контакты" Тогда Список.ТекстЗапроса = Взаимодействия.ТекстЗапросаСпискаВзаимодействий(ДанныеДляОбработки.Значение); @@ -1535,7 +1473,6 @@ Список.ТекстЗапроса = Взаимодействия.ТекстЗапросаСпискаВзаимодействий(); КонецЕсли; - СкопироватьОтборПоПериоду(); ГруппаОтбора = СоздатьГруппуОтбораПанелиНавигации(); Если ДанныеДляОбработки.Значение = Нстр("ru = 'Все'") Тогда @@ -1545,17 +1482,15 @@ КонецЕсли; - Если ИмяТаблицы <> "Папки" И Элементы.СтраницыСписок.ТекущаяСтраница <> Элементы.СтраницаСписокОбычная Тогда - ИмяСтраницыСписка = Элементы.СтраницаСписокОбычная.Имя; - Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокОбычная; - УправлениеВидимостьюСписков(Элементы.СтраницаСписокОбычная); - КонецЕсли; + ШаблонЗаголовка = "%1 (%2)"; Если ИмяТаблицы = "Предметы" Тогда ИмяПоля = "Предмет"; ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ДанныеДляОбработки.Значение; + ИмяОтбора = НСтр("ru = 'Предмет'"); + ЗначениеОтбора = ДанныеДляОбработки.Значение; ИначеЕсли ИмяТаблицы = "Папки" Тогда @@ -1569,28 +1504,21 @@ ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ГруппаОтбора, ИмяПоля, ВидСравненияЭлементаОтбора, ПравоеЗначение); + ЗначениеОтбора = ДанныеДляОбработки.Значение; + Если ТипЗнч(ДанныеДляОбработки.Значение) = Тип("СправочникСсылка.ПапкиЭлектронныхПисем") Тогда ИмяПоля = "Папка"; ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ДанныеДляОбработки.Значение; - - СтраницаСписок = ОпределитьСтраницуСпискаДляПапки(ДанныеДляОбработки.Значение); - Если Элементы.СтраницыСписок.ТекущаяСтраница <> СтраницаСписок Тогда - Элементы.СтраницыСписок.ТекущаяСтраница = СтраницаСписок; - УправлениеВидимостьюСписков(СтраницаСписок); - КонецЕсли; + ИмяОтбора = НСтр("ru = 'Папка'"); Иначе ИмяПоля = "УчетнаяЗапись"; ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ДанныеДляОбработки.Значение; - - Если Элементы.СтраницыСписок.ТекущаяСтраница <> Элементы.СтраницаСписокОбычная Тогда - Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокОбычная; - УправлениеВидимостьюСписков(Элементы.СтраницаСписокОбычная); - КонецЕсли; + ИмяОтбора = НСтр("ru = 'Учетная запись'"); КонецЕсли; @@ -1599,20 +1527,25 @@ ИмяПоля = "Контакт"; ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ДанныеДляОбработки.Значение; + ИмяОтбора = НСтр("ru = 'Контакт'"); + ЗначениеОтбора = ДанныеДляОбработки.Значение; ИначеЕсли ИмяТаблицы = "Свойства" Тогда ИмяПоля = "Ссылка.[" + ТекущееСвойствоПанелиНавигации.Наименование + "]"; + ИмяОтбора = ТекущееСвойствоПанелиНавигации.Наименование; Если ТипЗнч(ДанныеДляОбработки.Значение) = Тип("Строка") И - ДанныеДляОбработки.Значение = Нстр("ru = 'Не указан'") Тогда + ДанныеДляОбработки.Значение = НСтр("ru = 'Не указан'") Тогда ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.НеЗаполнено; ПравоеЗначение = ""; + ЗначениеОтбора = НСтр("ru = 'Не указан'"); Иначе ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = ДанныеДляОбработки.Значение; + ЗначениеОтбора = ДанныеДляОбработки.Значение; КонецЕсли; @@ -1621,6 +1554,8 @@ ИмяПоля = "Ссылка.[" + Строка(ДанныеДляОбработки.Значение) + "]"; ВидСравненияЭлементаОтбора = ВидСравненияКомпоновкиДанных.Равно; ПравоеЗначение = Истина; + ИмяОтбора = НСтр("ru = 'Категория'"); + ЗначениеОтбора = Строка(ДанныеДляОбработки.Значение); ИначеЕсли ИмяТаблицы = "Закладки" Тогда @@ -1634,42 +1569,27 @@ КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); СкопироватьОтбор(ГруппаОтбора,КомпоновщикНастроек.Настройки.Отбор); + ЗаголовокПанелиНавигации = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, НСтр("ru = 'Закладка'") ,ДанныеДляОбработки.Значение); Возврат; Иначе + ЗаголовокПанелиНавигации = ""; Возврат; КонецЕсли; + ЗаголовокПанелиНавигацииПодсказка = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ЗначениеОтбора , ИмяОтбора); + ЗаголовокПанелиНавигации = ЗначениеОтбора; + Если СтрДлина(ЗаголовокПанелиНавигации) > 30 Тогда + ЗаголовокПанелиНавигации = Лев(ЗаголовокПанелиНавигации, 27) + "..."; + КонецЕсли; ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ГруппаОтбора ,ИмяПоля, ВидСравненияЭлементаОтбора, ПравоеЗначение); КонецПроцедуры -&НаСервере -Процедура СкопироватьОтборПоПериоду() - - Если Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокОбычная Тогда - - Элементы.СписокВходящие.Период = Элементы.Список.Период; - Элементы.СписокИсходящие.Период = Элементы.Список.Период; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокВходящие Тогда - - Элементы.Список.Период = Элементы.СписокВходящие.Период; - Элементы.СписокИсходящие.Период = Элементы.СписокВходящие.Период; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокИсходящие Тогда - - Элементы.Список.Период = Элементы.СписокИсходящие.Период; - Элементы.СписокВходящие.Период = Элементы.СписокИсходящие.Период; - - КонецЕсли; - -КонецПроцедуры - &НаСервере Процедура ОтобразитьПредпросмотрВзаимодействия(СсылкаДокументВзаимодействий, ИмяТекущейСтраницы) @@ -1726,15 +1646,15 @@ Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаСвойства; КонецЕсли; + ПанельНавигацииСкрыта = Ложь; ИмяТекущейПанелиНавигации = Элементы.СтраницыПанелиНавигации.ТекущаяСтраница.Имя; УправлениеВидимостьюПриПереключенииПанелиНавигации(); - УстановитьЗаголовокВидаПанелиНавигации(); ПослеЗаполненияПанелиНавигации(); КонецПроцедуры &НаСервере -Процедура УправлениеВидимостьюПриПереключенииПанелиНавигации(); +Процедура УправлениеВидимостьюПриПереключенииПанелиНавигации() ТекущаяСтраницаПанелиНавигации = Элементы.СтраницыПанелиНавигации.ТекущаяСтраница; ЭтоПапки = (ТекущаяСтраницаПанелиНавигации = Элементы.СтраницаПапки); @@ -1742,28 +1662,39 @@ ЭтоКонтакты = (ТекущаяСтраницаПанелиНавигации = Элементы.СтраницаКонтакт); Элементы.СписокКонтекстноеМенюПеренестиВПапку.Видимость = ЭтоПапки; - Элементы.СписокКонтекстноеМенюПеренестиВПапкуВходящие.Видимость = ЭтоПапки; - Элементы.СписокКонтекстноеМенюПеренестиВПапкуИсходящие.Видимость = ЭтоПапки; - - Элементы.СписокСоздатьВстречу.Видимость = НЕ ЭтоПапки; - Элементы.СписокСоздатьЗапланированноеВзаимодействие.Видимость = НЕ ЭтоПапки; - Элементы.СписокСоздатьТелефонныйЗвонок.Видимость = НЕ ЭтоПапки; - Элементы.СписокСоздатьСообщениеSMS.Видимость = НЕ ЭтоПапки; - - Элементы.ПредметыПанельНавигацииНастройкаСписка.Видимость = ЭтоПредметы; - Элементы.ОбновитьПредметыПанелиНавигации.Видимость = ЭтоПредметы; - Элементы.НайтиПредметыПанельНавигации.Видимость = ЭтоПредметы; - Элементы.ОтменитьПоискПредметыПанельНавигации.Видимость = ЭтоПредметы; - - Элементы.КонтактыПанельНавигацииНастройкаСписка.Видимость = ЭтоКонтакты; - Элементы.ОбновитьКонтактыПанелиНавигации.Видимость = ЭтоКонтакты; - Элементы.НайтиКонтактыПанельНавигации.Видимость = ЭтоКонтакты; - Элементы.ОтменитьПоискКонтактыПанельНавигации.Видимость = ЭтоКонтакты; + Элементы.ПолученоОтправлено.Видимость = ЭтоПапки; + Элементы.Размер.Видимость = ЭтоПапки; + Элементы.СписокСоздатьЭлектронноеПисьмоОтдельнаяКнопка.Видимость = ЭтоПапки ИЛИ ТолькоПочта; + Элементы.СписокОтветить.Видимость = ЭтоПапки ИЛИ ТолькоПочта; + Элементы.СписокОтветитьВсем.Видимость = ЭтоПапки ИЛИ ТолькоПочта; + Элементы.СписокПереслать.Видимость = ЭтоПапки ИЛИ ТолькоПочта; + Элементы.СписокОтправитьПолучитьПочту.Видимость = (ЭтоПапки ИЛИ ТолькоПочта) И ИнформационнаяБазаФайловая; + Элементы.Дата.Видимость = НЕ ЭтоПапки; + Элементы.ГруппаСоздать.Видимость = НЕ ЭтоПапки И НЕ ТолькоПочта; + + Элементы.СтраницыПредпросмотр.Видимость = ОтображатьОбластьЧтения; + Элементы.СписокОтображатьОбластьЧтения.Пометка = ОтображатьОбластьЧтения; + + Элементы.ГруппаПанельНавигации.Видимость = НЕ ПанельНавигацииСкрыта; + + КомандаИзменитьОтображениеПанелиНавигации = Команды.Найти("ИзменитьОтображениеПанелиНавигации"); + Если ПанельНавигацииСкрыта Тогда + Элементы.ИзменитьОтображениеПанелиНавигации.Картинка = БиблиотекаКартинок.СтрелкаВправо; + КомандаИзменитьОтображениеПанелиНавигации.Подсказка = НСтр("ru = 'Показать панель навигации'"); + КомандаИзменитьОтображениеПанелиНавигации.Заголовок = НСтр("ru = 'Показать панель навигации'"); + Иначе + Элементы.ИзменитьОтображениеПанелиНавигации.Картинка = БиблиотекаКартинок.СтрелкаВлево; + КомандаИзменитьОтображениеПанелиНавигации.Подсказка = НСтр("ru = 'Скрыть панель навигации'"); + КомандаИзменитьОтображениеПанелиНавигации.Заголовок = НСтр("ru = 'Скрыть панель навигации'"); + КонецЕсли; + + УстановитьЗаголовокВидаПанелиНавигации(); + КонецПроцедуры &НаСервере -Процедура УстановитьЗаголовокВидаПанелиНавигации() +Процедура УстановитьЗаголовокВидаПанелиНавигации(ЗначениеОтбора = Неопределено) Для каждого ПодчиненныйЭлемент Из Элементы.ВыборВариантаНавигации.ПодчиненныеЭлементы Цикл Если ТипЗнч(ПодчиненныйЭлемент) = Тип("КнопкаФормы") Тогда @@ -1771,38 +1702,47 @@ КонецЕсли; КонецЦикла; - Если Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаСвойства Тогда - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По'") + " " + ПредставлениеТекущегоСвойства; - НайденныеСтроки = ТаблицаДопРеквизитовСвойств.НайтиСтроки(Новый Структура("ДопРеквизитСведение", - ТекущееСвойствоПанелиНавигации)); - Если НайденныеСтроки.Количество() > 0 Тогда - Элементы["ДопКнопкаВыбораВариантаНавигацииСвойства_" + Строка(НайденныеСтроки[0].ПорядковыйНомер)].Пометка = Истина; - КонецЕсли; + Если ПанельНавигацииСкрыта Тогда + Элементы.ВыборВариантаНавигации.Заголовок = ЗаголовокПанелиНавигации; + Элементы.ВыборВариантаНавигации.Подсказка = ЗаголовокПанелиНавигацииПодсказка; + Иначе + + Если Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаСвойства Тогда + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По'") + " " + ПредставлениеТекущегоСвойства; + НайденныеСтроки = ТаблицаДопРеквизитовСвойств.НайтиСтроки(Новый Структура("ДопРеквизитСведение", + ТекущееСвойствоПанелиНавигации)); + Если НайденныеСтроки.Количество() > 0 Тогда + Элементы["ДопКнопкаВыбораВариантаНавигацииСвойства_" + Строка(НайденныеСтроки[0].ПорядковыйНомер)].Пометка = Истина; + КонецЕсли; - ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаЗакладки Тогда + ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаЗакладки Тогда + + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По закладкам'"); + Элементы.УстановитьВариантНавигацииПоЗакладкам.Пометка = Истина; + + ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПредмет Тогда + + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По предметам'"); + Элементы.УстановитьВариантНавигацииПоПредмету.Пометка = Истина; + + ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКонтакт Тогда + + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По контактам'"); + Элементы.УстановитьВариантНавигацииПоКонтакту.Пометка = Истина; + + ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПапки Тогда + + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По папкам'"); + Элементы.УстановитьВариантНавигацииПоПапкам.Пометка = Истина; + + ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКатегории Тогда + + Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По категориям'"); + Элементы.ДопКнопкаВыбораВариантаНавигацииКатегории.Пометка = Истина; + + КонецЕсли; - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По закладкам'"); - Элементы.УстановитьВариантНавигацииПоЗакладкам.Пометка = Истина; - - ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПредмет Тогда - - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По предметам'"); - Элементы.УстановитьВариантНавигацииПоПредмету.Пометка = Истина; - - ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКонтакт Тогда - - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По контактам'"); - Элементы.УстановитьВариантНавигацииПоКонтакту.Пометка = Истина; - - ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПапки Тогда - - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По папкам электронных писем'"); - Элементы.УстановитьВариантНавигацииПоПапкам.Пометка = Истина; - - ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКатегории Тогда - - Элементы.ВыборВариантаНавигации.Заголовок = НСтр("ru = 'По категориям'"); - Элементы.ДопКнопкаВыбораВариантаНавигацииКатегории.Пометка = Истина; + Элементы.ВыборВариантаНавигации.Подсказка = НСтр("ru = 'Выбор варианта навигации'"); КонецЕсли; @@ -2008,8 +1948,8 @@ КонецЕсли; - Запрос.УстановитьПараметр("НеУказан",НСтр("ru = 'Не указан'")); Запрос.УстановитьПараметр("Свойство",ТекущееСвойствоПанелиНавигации); + Запрос.УстановитьПараметр("НеУказан", НСтр("ru = 'Не указан'")); Результат = Запрос.Выполнить(); Дерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); @@ -2050,6 +1990,9 @@ Если ПоказыватьВсеАктивныеПредметы Тогда ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(ОтборПриемник,"Активен", Истина,ВидСравненияКомпоновкиДанных.Равно); КонецЕсли; + + Элементы.ПредметыПанельНавигацииКонтекстноеМенюТолькоЗначимыеПредметы.Пометка = ТолькоЗначимыеПредметы; + Элементы.ПредметыПанельНавигацииКонтекстноеМенюТолькоАктивныеПредметы.Пометка = ПоказыватьВсеАктивныеПредметы; КонецПроцедуры @@ -2375,7 +2318,9 @@ | КонтактыВзаимодействий.Контакт = СостоянияКонтактовВзаимодействий.Контакт | И КонтактыВзаимодействий.Взаимодействие = ПредметыВзаимодействий.Взаимодействие)"; - КонецЕсли + КонецЕсли; + + Элементы.КонтактыПанелиНавигацииКонтекстноеМенюТолькоЗначимыеКонтакты.Пометка = ТолькоЗначимыеКонтакты; КонецПроцедуры @@ -2596,14 +2541,13 @@ СпозиционироватьсяНаСтрокеСогласноСохраненномуЗначению(ЗначениеНастроек.ТекущееЗначение, Настройки.ИмяДерева); КонецЕсли; - ИмяТекущейСтраницы = Элементы.СтраницыСписок.ТекущаяСтраница.Имя; Если Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКонтакт Тогда Элементы.КонтактыПанелиНавигации.ТекущаяСтрока = РегистрыСведений.СостоянияКонтактовВзаимодействий.СоздатьКлючЗаписи(Новый Структура("Контакт", ЗначениеНастроек.ТекущееЗначение)); ИзменитьОтборСписок("Контакты",Новый Структура("Значение,ОписаниеТипов", - ЗначениеНастроек.ТекущееЗначение, Неопределено), ИмяТекущейСтраницы); + ЗначениеНастроек.ТекущееЗначение, Неопределено)); ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПапки Тогда @@ -2614,7 +2558,7 @@ Если ТекущиеДанные <> Неопределено Тогда ИзменитьОтборСписок("Папки",Новый Структура("Значение,УчетнаяЗапись", - ТекущиеДанные.Значение, ТекущиеДанные.УчетнаяЗапись), ИмяТекущейСтраницы); + ТекущиеДанные.Значение, ТекущиеДанные.УчетнаяЗапись)); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаПредмет Тогда @@ -2622,7 +2566,7 @@ Элементы.ПредметыПанельНавигации.ТекущаяСтрока = РегистрыСведений.СостоянияПредметовВзаимодействий.СоздатьКлючЗаписи(Новый Структура("Предмет", ЗначениеНастроек.ТекущееЗначение)); ИзменитьОтборСписок("Предметы",Новый Структура("Значение,ОписаниеТипов", - ЗначениеНастроек.ТекущееЗначение, Неопределено), ИмяТекущейСтраницы); + ЗначениеНастроек.ТекущееЗначение, Неопределено)); ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаСвойства Тогда @@ -2634,7 +2578,7 @@ КонецЕсли; Если ТекущиеДанные <> Неопределено Тогда - ИзменитьОтборСписок("Свойства",Новый Структура("Значение", ТекущиеДанные.Значение), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Свойства",Новый Структура("Значение", ТекущиеДанные.Значение)); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаКатегории Тогда @@ -2647,13 +2591,13 @@ КонецЕсли; Если ТекущиеДанные <> Неопределено Тогда - ИзменитьОтборСписок("Категории",Новый Структура("Значение", ТекущиеДанные.Значение), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Категории",Новый Структура("Значение", ТекущиеДанные.Значение)); КонецЕсли; ИначеЕсли Элементы.СтраницыПанелиНавигации.ТекущаяСтраница = Элементы.СтраницаЗакладки Тогда Элементы.Закладки.ТекущаяСтрока = ЗначениеНастроек.ТекущееЗначение; - ИзменитьОтборСписок("Закладки", Новый Структура("Значение", ЗначениеНастроек.ТекущееЗначение), ИмяТекущейСтраницы); + ИзменитьОтборСписок("Закладки", Новый Структура("Значение", ЗначениеНастроек.ТекущееЗначение)); КонецЕсли; @@ -3423,9 +3367,9 @@ ?(ТолькоПочта,НСтр("ru = 'писем'"), НСтр("ru = 'взаимодействий'")) + ": ", Строка(КоличествоЭлементовНайдено)); ПоказатьОповещениеПользователя(ТекстОповещения); - ТекущиеДанные = ТекущийЭлементСписок().ТекущиеДанные; + ТекущиеДанные = Элементы.Список.ТекущиеДанные; Если ТекущиеДанные <> Неопределено Тогда - ЗаполнитьОписаниеНайденоПП(ТекущийЭлементСписок().ТекущиеДанные.Ссылка); + ЗаполнитьОписаниеНайденоПП(Элементы.Список.ТекущиеДанные.Ссылка); Иначе ОписаниеНайденоПП = ""; КонецЕсли; @@ -3437,6 +3381,8 @@ КонецЕсли; КонецЕсли; + Элементы.ОписаниеНайденоПП.Видимость = РасширенныйПоиск; + КонецПроцедуры &НаСервере @@ -3610,27 +3556,6 @@ КонецФункции -&НаКлиенте -Функция ТекущийЭлементСписок() - - Если Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокОбычная Тогда - - Возврат Элементы.Список; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокВходящие Тогда - - Возврат Элементы.СписокВходящие; - - ИначеЕсли Элементы.СтраницыСписок.ТекущаяСтраница = Элементы.СтраницаСписокИсходящие Тогда - - Возврат Элементы.СписокИсходящие; - - КонецЕсли; - - Возврат Неопределено; - -КонецФункции - &НаКлиенте Функция ТекущийЭлементСписокПанелиНавигации() diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Form.form b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Form.form index 000a2f079..c08169454 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Form.form +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Form.form @@ -4,6 +4,41 @@ ru Взаимодействия + + ГруппаПользовательскихНастроек + 234 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 235 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + ГруппаФильтры 34 @@ -40,9 +75,7 @@ 136 true true - - true - + ТипВзаимодействия @@ -244,8 +277,10 @@ Clearing ТипВзаимодействияСтатусОчистка + 12 true true + false true true true @@ -328,7 +363,7 @@ Left true - 35 + 25 true true false @@ -389,109 +424,238 @@ None Post UndoPosting - - Дата - 68 - true - true - - true - - - Список.Date - - - ДатаExtendedTooltip - 187 - Label - true - true - - Left - - - - ДатаКонтекстноеМеню - 69 - true - - InputField - Enter - true - Left - true - - 12 - true - true - + + ГруппаОсновное + 221 + + ГруппаСостояниеУчастникиДата + 223 + + НомерКартинки + 225 + true + true + + true + + + Список.НомерКартинки + + None + + НомерКартинкиРасширеннаяПодсказка + 227 + Label + true + true + + Left + + + + НомерКартинкиКонтекстноеМеню + 226 + true + + PictureField + Enter + true + + CommonPicture.ОтправитьЭлектронноеПисьмо + + Left + true + + 2 + true + true + true + + CommonPicture.Взаимодействия + + + + 1 + + + + + Участники + 66 + true + true + + true + + + Список.Участники + + + УчастникиExtendedTooltip + 188 + Label + true + true + + Left + + + + УчастникиКонтекстноеМеню + 67 + true + + InputField + Enter + true + Left + true + + 20 + true + true + false + true + true + true + Normal + + + + Дата + 68 + true + true + + true + + + Список.Date + + + ДатаExtendedTooltip + 187 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 69 + true + + InputField + Enter + true + Left + true + + 12 + true + true + false + + ru + ДФ=dd.MM.yyyy + + true + true + true + Normal + + + true + true + + true + + <key>ru</key> - <value>ДФ=dd.MM.yyyy</value> - </format> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <textSize>Normal</textSize> - </extInfo> - </items> - <items xsi:type="form:FormField"> - <name>Участники</name> - <id>66</id> + <value>Группа состояние участники дата</value> + + + ru + Группа состояние участники дата + + + ГруппаСостояниеУчастникиДатаРасширеннаяПодсказка + 224 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + Тема + 20 + + <key>ru</key> + <value>Тема</value> + + true + true + + true + + + Список.Тема + + + ТемаExtendedTooltip + 189 + Label + true + true + + Left + + + + ТемаКонтекстноеМеню + 21 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + true true true - - Список.Участники - - - УчастникиExtendedTooltip - 188 - Label - true - true - - Left - - - - УчастникиКонтекстноеМеню - 67 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Тема - 20 <key>ru</key> - <value>Тема</value> + <value>Группа основное</value> - true - true - - true - - - Список.Тема - + + ru + Группа основное + - ТемаExtendedTooltip - 189 + ГруппаОсновноеРасширеннаяПодсказка + 222 Label true true @@ -499,23 +663,11 @@ Left - - ТемаКонтекстноеМеню - 21 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal + ColumnGroup + + Vertical + auto + true @@ -746,9 +898,6 @@ Popup - - StdPicture.CreateListItem - Auto Normal @@ -777,7 +926,7 @@ Form.Command.Рассмотрено Normal - PictureAndText + Picture true true UserCmds @@ -916,6 +1065,38 @@ + + СписокТипВзаимодействия + 232 + true + true + + true + + + <key>ru</key> + <value>Список тип взаимодействия</value> + + + ru + Список тип взаимодействия + + + СписокТипВзаимодействияРасширеннаяПодсказка + 233 + Label + true + true + + Left + + + Popup + + Auto + Normal + + ГруппаКомандыСписка 82 @@ -1323,10 +1504,10 @@ СписокСтрокаПоиска - 224 + 239 СписокСтрокаПоискаРасширеннаяПодсказка - 226 + 241 Label true true @@ -1336,7 +1517,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 225 + 240 true Список @@ -1346,10 +1527,10 @@ СписокСостояниеПросмотра - 227 + 242 СписокСостояниеПросмотраРасширеннаяПодсказка - 229 + 244 Label true true @@ -1359,7 +1540,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 228 + 243 true ViewStatusAddition @@ -1370,10 +1551,10 @@ СписокУправлениеПоиском - 230 + 245 СписокУправлениеПоискомРасширеннаяПодсказка - 232 + 247 Label true true @@ -1383,7 +1564,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 231 + 246 true SearchControlAddition @@ -1551,6 +1732,7 @@ true + ГруппаПользовательскихНастроек true @@ -1608,23 +1790,166 @@ SortListDesc Tree - ДатаКартинка - 115 - - ДеревоВзаимодействийНомерКартинки - 113 + ДеревоВзаимодействийГруппаОсновное + 228 + + УчастникиСостояниеДата + 115 + + ДеревоВзаимодействийНомерКартинки + 113 + true + true + + true + + + ДеревоВзаимодействий.НомерКартинки + + None + + ДеревоВзаимодействийНомерКартинкиExtendedTooltip + 212 + Label + true + true + + Left + + + + ДеревоВзаимодействийНомерКартинкиКонтекстноеМеню + 114 + true + + PictureField + Auto + true + + CommonPicture.ОтправитьЭлектронноеПисьмо + + Left + true + + 2 + true + true + true + + CommonPicture.Взаимодействия + + + + 1 + + + + + ДеревоВзаимодействийУчастники + 118 + true + true + + true + + + ДеревоВзаимодействий.Участники + + + ДеревоВзаимодействийУчастникиExtendedTooltip + 214 + Label + true + true + + Left + + + + ДеревоВзаимодействийУчастникиКонтекстноеМеню + 119 + true + + InputField + Auto + true + Left + true + + 20 + true + true + false + true + false + false + false + true + true + Normal + + + + ДеревоВзаимодействийДата + 111 + true + true + + true + + + ДеревоВзаимодействий.Дата + + + ДеревоВзаимодействийДатаExtendedTooltip + 213 + Label + true + true + + Left + + + + ДеревоВзаимодействийДатаКонтекстноеМеню + 112 + true + + InputField + Auto + true + Left + true + + 12 + true + true + false + true + false + false + true + true + true + Normal + + true true true - - ДеревоВзаимодействий.НомерКартинки - - None + + <key>ru</key> + <value>Участники состояние дата</value> + + + ru + Участники состояние дата + - ДеревоВзаимодействийНомерКартинкиExtendedTooltip - 212 + УчастникиСостояниеДатаРасширеннаяПодсказка + 211 Label true true @@ -1632,44 +1957,26 @@ Left
                                          - - ДеревоВзаимодействийНомерКартинкиКонтекстноеМеню - 114 - true - - PictureField - Auto - true - Left - true - - true - true - true - true - - CommonPicture.Взаимодействия - - - - 1 - + ColumnGroup + + auto + true
                                          - ДеревоВзаимодействийДата - 111 + ДеревоВзаимодействийТема + 116 true true true - ДеревоВзаимодействий.Дата + ДеревоВзаимодействий.Тема - ДеревоВзаимодействийДатаExtendedTooltip - 213 + ДеревоВзаимодействийТемаExtendedTooltip + 215 Label true true @@ -1678,8 +1985,8 @@ - ДеревоВзаимодействийДатаКонтекстноеМеню - 112 + ДеревоВзаимодействийТемаКонтекстноеМеню + 117 true InputField @@ -1691,9 +1998,11 @@ true true true + false false false - true + false + false true true Normal @@ -1706,15 +2015,15 @@ <key>ru</key> - <value>Дата картинка</value> + <value>Дерево взаимодействий группа основное</value> ru - Дата картинка + Дерево взаимодействий группа основное - ДатаКартинкаExtendedTooltip - 211 + ДеревоВзаимодействийГруппаОсновноеРасширеннаяПодсказка + 229 Label true true @@ -1724,99 +2033,11 @@ ColumnGroup - InCell + Vertical auto true - - ДеревоВзаимодействийУчастники - 118 - true - true - - true - - - ДеревоВзаимодействий.Участники - - - ДеревоВзаимодействийУчастникиExtendedTooltip - 214 - Label - true - true - - Left - - - - ДеревоВзаимодействийУчастникиКонтекстноеМеню - 119 - true - - InputField - Auto - true - Left - true - - true - true - true - false - false - false - true - true - Normal - - - - ДеревоВзаимодействийТема - 116 - true - true - - true - - - ДеревоВзаимодействий.Тема - - - ДеревоВзаимодействийТемаExtendedTooltip - 215 - Label - true - true - - Left - - - - ДеревоВзаимодействийТемаКонтекстноеМеню - 117 - true - - InputField - Auto - true - Left - true - - true - true - true - false - false - false - false - false - true - true - Normal - - ДеревоВзаимодействийКоманднаяПанель 108 @@ -2011,9 +2232,6 @@ Popup - - StdPicture.CreateListItem - Auto Normal @@ -2042,7 +2260,7 @@ Form.Command.Рассмотрено Normal - PictureAndText + Picture true true UserCmds @@ -2181,6 +2399,38 @@
                                          + + ДеревоТипВзаимодействия + 230 + true + true + + true + + + <key>ru</key> + <value>Дерево тип взаимодействия</value> + + + ru + Дерево тип взаимодействия + + + ДеревоТипВзаимодействияРасширеннаяПодсказка + 231 + Label + true + true + + Left + + + Popup + + Auto + Normal + + ДеревоВзаимодействийУстановитьИнтервал 132 @@ -2403,10 +2653,10 @@ ДеревоВзаимодействийСтрокаПоиска - 245 + 261 ДеревоВзаимодействийСтрокаПоискаРасширеннаяПодсказка - 247 + 263 Label true true @@ -2416,7 +2666,7 @@ ДеревоВзаимодействийСтрокаПоискаКонтекстноеМеню - 246 + 262 true ДеревоВзаимодействий @@ -2426,10 +2676,10 @@ ДеревоВзаимодействийСостояниеПросмотра - 248 + 264 ДеревоВзаимодействийСостояниеПросмотраРасширеннаяПодсказка - 250 + 266 Label true true @@ -2439,7 +2689,7 @@ ДеревоВзаимодействийСостояниеПросмотраКонтекстноеМеню - 249 + 265 true ViewStatusAddition @@ -2450,10 +2700,10 @@ ДеревоВзаимодействийУправлениеПоиском - 251 + 267 ДеревоВзаимодействийУправлениеПоискомРасширеннаяПодсказка - 253 + 269 Label true true @@ -2463,7 +2713,7 @@ ДеревоВзаимодействийУправлениеПоискомКонтекстноеМеню - 252 + 268 true SearchControlAddition @@ -3270,9 +3520,6 @@ true - - StdPicture.CreateListItem - СоздатьВстречу @@ -3296,9 +3543,6 @@ true - - StdPicture.CreateListItem - СоздатьЗапланированноеВзаимодействие @@ -3322,9 +3566,6 @@ true - - StdPicture.CreateListItem - СоздатьТелефонныйЗвонок @@ -3348,9 +3589,6 @@ true - - StdPicture.CreateListItem - СоздатьЭлектронноеПисьмо @@ -3472,9 +3710,6 @@ true - - StdPicture.CreateListItem - СоздатьСообщениеSMS diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Help/ru.html b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Help/ru.html index 7a0772abb..86f30a314 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Help/ru.html +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Help/ru.html @@ -1,32 +1,96 @@ - -

                                          Форма списка параметрическая

                                          -

                                          Какие взаимодействия отображаются в данной форме?

                                          -

                                          Какие режимы просмотра доступны и как изменить текущий режим просмотра?

                                          + +

                                          Предназначен для отражения взаимодействий по предмету или по контакту.

                                          +

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

                                          +

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

                                          +

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

                                          +

                                          Какие режимы просмотра доступны, и как изменить текущий режим просмотра?

                                          Какие отборы можно установить для взаимодействий в форме, помимо отбора по контакту или предмету наложенного при вызове формы?

                                          -

                                          Как установить признак рассмотрено для нескольких документов?

                                          -

                                          Как снять признак рассмотрено для нескольких документов?

                                          +

                                          Как установить признак Рассмотрено для нескольких документов?

                                          +

                                          Как снять признак Рассмотрено для нескольких документов?

                                          Как отложить рассмотрение нескольких документов?

                                          Как установить предмет взаимодействий для нескольких документов?

                                          -

                                          Как назначить ответственного для нескольких документов?

                                          -

                                          Какие взаимодействия отображаются в данной форме?

                                          -


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

                                          -

                                          Какие режимы просмотра доступны и как изменить текущий режим просмотра?

                                          -


                                          Доступно два режима просмотра:

                                          -
                                          • Дерево - взаимодействия выводятся в виде дерева, отображая структуру цепочек взаимодействий. -
                                          • Список - взаимодействия отображаются плоским списком.

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

                                          -

                                          Какие отборы можно установить для взаимодействий в форме, помимо отбора по контакту или предмету наложенного при вызове формы?

                                          -
                                          • Тип взаимодействия - возможно установить отбор по определенному типу взаимодействий, например по входящим письмам или телефонным звонкам. -
                                          • Ответственный - возможно установить отбор по ответственному за отработку взаимодействий. -
                                          • Статус - возможно отобрать взаимодействия с определенным статусом рассмотрения, например только не рассмотренные, или только отложенные. -
                                          • Период - возможно установить интервал дат документов взаимодействий.
                                          -

                                          Как установить признак рассмотрено для нескольких документов?

                                          -


                                          Выделите документы, у которых необходимо установить признак Рассмотрено. Воспользуйтесь командой Рассмотрено командной панели формы.

                                          -

                                          Как снять признак рассмотрено для нескольких документов?

                                          -


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

                                          -

                                          Как отложить рассмотрение нескольких документов?

                                          -


                                          Выделите документы, рассмотрение которых необходимо отложить. Воспользуйтесь командой Отложить рассмотрение командной панели.

                                          -

                                          Как установить предмет взаимодействий для нескольких документов?

                                          -


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

                                          -

                                          Как назначить ответственного для нескольких документов?

                                          -


                                          Выделите документы, у которых необходимо установить ответственного. Воспользуйтесь командой Установить ответственного командной панели.

                                          -

                                           

                                          \ No newline at end of file +

                                          Как назначить ответственного для нескольких документов?

                                          +

                                          В списке выводится:

                                          +

                                          Жирным шрифтом в списке выделяются документы к рассмотрению, письма и сообщения SMS с установленным признаком На контроле. После установки флажка Рассмотрено выделение снимается.

                                          +

                                          Доступные режимы просмотра

                                          +
                                          • +
                                            Доступно два режима просмотра:
                                            +
                                            • +
                                              Дерево - взаимодействия выводятся в виде дерева, отображая структуру цепочек взаимодействий.
                                              +
                                            • +
                                              Список - взаимодействия отображаются плоским списком.
                                          • +
                                            Для изменения режима просмотра нажмите  Установить режим просмотра в виде дерева (списка).
                                          +

                                          Отборы

                                          +
                                          • +
                                            С помощью поля Статус можно отобрать взаимодействия с определенным статусом рассмотрения:
                                            +
                                            • +
                                              По умолчанию выводятся Все документы взаимодействий;
                                              +
                                            • +
                                              Если в поле установлено значение К рассмотрению, то будут отображены взаимодействия, которые необходимо отработать до текущей даты и с неустановленным флажком Рассмотрено.
                                              +
                                            • +
                                              Если в поле установлено значение Отложенные, то в списке показываются взаимодействия с заполненным полем Рассмотреть после и не установленным флажком Рассмотрено.
                                              +
                                            • +
                                              Если в поле установлено значение Рассмотренные, то в списке показываются взаимодействия с установленным флажком Рассмотрено.
                                          • +
                                            С помощью поля Ответственный можно установить отбор по ответственному за отработку взаимодействий, который выбирается из списка пользователей.
                                            +
                                          • +
                                            С помощью команды Все действия (в интерфейсе Такси Еще) - Тип взаимодействия можно установить отбор по определенному типу взаимодействий, например, по входящим письмам или телефонным звонкам.
                                            +
                                          • +
                                            С помощью команды меню Все действия (в интерфейсе Такси Еще) - Установить интервал дат можно выбрать период просмотра документов взаимодействий.

                                          Ввод документа взаимодействий

                                          +
                                          • +
                                            Нажмите Создать, выберите нужный документ, заполните необходимые поля.
                                            +
                                          • +
                                            Если список выведен по предмету, то в поле Предмет нового документа взаимодействий программа автоматически проставляет тот же предмет.
                                          +

                                          Установка признака Рассмотрено для нескольких документов

                                          +
                                          • +
                                            Выделите документы, у которых необходимо установить признак Рассмотрено (для исходящих писем и сообщений SMS - снять признак На контроле). 
                                            +
                                          • +
                                            Нажмите  Установить признак Рассмотрено.
                                            +
                                          • +
                                            С рассмотренных документов взаимодействий выделение в списке снимается.
                                          +

                                          Снятие признака Рассмотрено для нескольких документов

                                          +
                                          • +
                                            Выделите документы, у которых необходимо снять признак Рассмотрено (для исходящих писем и сообщений SMS - установить признак На контроле). 
                                            +
                                          • +
                                            Воспользуйтесь командой  Все действия (в интерфейсе Такси Еще) - Снять признак рассмотрено.
                                            +
                                          • +
                                            Нерассмотренные документы взаимодействий в списке выделяются жирным шрифтом.
                                          +

                                          Команда Отложить рассмотрение

                                          +
                                          • +
                                            Выделите документы, рассмотрение которых необходимо отложить.
                                            +
                                          • +
                                            Нажмите  , укажите  дату и время, до которого необходимо Отложить рассмотрение.

                                          Назначение ответственного для нескольких документов

                                          +
                                          • +
                                            Выделите документы, у которых необходимо установить ответственного. 
                                            +
                                          • +
                                            Нажмите  Установить ответственного.
                                            +
                                          • +
                                            Выберите ответственного из списка пользователей.
                                          +

                                          Установка предмета взаимодействий для нескольких документов

                                          +
                                          • +
                                            Выделите документы, у которых необходимо установить новый предмет. 
                                            +
                                          • +
                                            Нажмите  Установить предмет взаимодействия.
                                            +
                                          • +
                                            Выберите из списка тип документа.
                                            +
                                          • +
                                            Выберите в качестве предмета взаимодействий документ из соответствующего списка.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Module.bsl b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Module.bsl index 5432f269e..ecd848720 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Module.bsl +++ b/SSL/src/DocumentJournals/Взаимодействия/Forms/ФормаСпискаПараметрическая/Module.bsl @@ -52,6 +52,8 @@ КонецЦикла; Взаимодействия.ЗаполнитьСписокДоступныхДляСозданияДокументов(ДокументыДоступныеДляСоздания); + Взаимодействия.ЗаполнитьПодменюПоТипуВзаимодействия(Элементы.ДеревоТипВзаимодействия, ЭтотОбъект); + Взаимодействия.ЗаполнитьПодменюПоТипуВзаимодействия(Элементы.СписокТипВзаимодействия, ЭтотОбъект); ТипВзаимодействия = ?(ТолькоПочта,"ВсеПисьма","Все"); Статус = "Все"; @@ -299,6 +301,19 @@ #Область ОбработчикиКомандФормы +&НаКлиенте +Процедура Подключаемый_ИзменитьОтборТипВзаимодействия(Команда) + + ТипВзаимодействия = ВзаимодействияКлиентСервер.ТипВзаимодействияПоИмениКоманды(Команда.Имя, ТолькоПочта); + + Если Элементы.СтраницыСписокДерево.ТекущаяСтраница = Элементы.СтраницаСписок Тогда + ПриИзмененииТипаСервер(); + Иначе + ЗаполнитьДеревоВзаимодействийКлиент(); + КонецЕсли; + +КонецПроцедуры + &НаКлиенте //установить флаг "Рассмотрено" в выбранных взаимодействиях - клиентская часть Процедура РассмотреноВыполнить(Команда) @@ -735,7 +750,7 @@ Элементы.СтраницыСписокДерево.ТекущаяСтраница = Элементы.СтраницаСписок; ВзаимодействияКлиентСервер.БыстрыйОтборСписокПриИзменении(ЭтотОбъект,"Статус", ОтборПоПредмету); ВзаимодействияКлиентСервер.БыстрыйОтборСписокПриИзменении(ЭтотОбъект,"Ответственный", ОтборПоПредмету); - ВзаимодействияКлиентСервер.ПриИзмененииОтбораТипВзаимодействий(ЭтотОбъект, ТипВзаимодействия); + ПриИзмененииТипаСервер(); КонецЕсли; КонецПроцедуры @@ -910,6 +925,17 @@ ЗначениеВРеквизитФормы(ДеревоОбъект,"ДеревоВзаимодействий"); + ШаблонЗаголовка = НСтр("ru = 'Тип взаимодействий: %1'"); + ПредставлениеТипа = ВзаимодействияКлиентСервер.СписокОтборовПоТипуВзаимодействий(ТолькоПочта).НайтиПоЗначению(ТипВзаимодействия).Представление; + Элементы.ДеревоТипВзаимодействия.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ПредставлениеТипа); + Для Каждого ЭлементПодменю Из Элементы.ДеревоТипВзаимодействия.ПодчиненныеЭлементы Цикл + Если ЭлементПодменю.Имя = ("УстановитьОтборТипВзаимодействия_ДеревоТипВзаимодействия_" + ТипВзаимодействия) Тогда + ЭлементПодменю.Пометка = Истина; + Иначе + ЭлементПодменю.Пометка = Ложь; + КонецЕсли; + КонецЦикла; + КонецПроцедуры &НаКлиенте @@ -1167,4 +1193,14 @@ КонецПроцедуры +&НаСервере +Процедура ПриИзмененииТипаСервер() + + Взаимодействия.ОбработатьПодменюОтборПоТипуВзаимодействий(ЭтотОбъект); + + ВзаимодействияКлиентСервер.ПриИзмененииОтбораТипВзаимодействий(ЭтотОбъект, ТипВзаимодействия); + +КонецПроцедуры + + #КонецОбласти diff --git a/SSL/src/DocumentJournals/Взаимодействия/Взаимодействия.mdo b/SSL/src/DocumentJournals/Взаимодействия/Взаимодействия.mdo index 448f1682f..0c41c9ca9 100644 --- a/SSL/src/DocumentJournals/Взаимодействия/Взаимодействия.mdo +++ b/SSL/src/DocumentJournals/Взаимодействия/Взаимодействия.mdo @@ -233,6 +233,24 @@ Document.ЭлектронноеПисьмоИсходящее.Attribute.Важность Document.СообщениеSMS.Attribute.Важность + + ДатаКогдаОтправить + + ru + Дата когда отправить + + Document.СообщениеSMS.Attribute.ДатаКогдаОтправить + Document.ЭлектронноеПисьмоИсходящее.Attribute.ДатаКогдаОтправить + + + ДатаАктуальностиОтправки + + ru + Дата актуальности отправки + + Document.СообщениеSMS.Attribute.ДатаАктуальностиОтправки + Document.ЭлектронноеПисьмоИсходящее.Attribute.ДатаАктуальностиОтправки + ФормаСписка diff --git a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Form.form index 8305fd201..f7f703678 100644 --- a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Form.form @@ -1,5 +1,350 @@ + + ГруппаКнопкиШапка + 81 + + СкрытьПоказатьДеревоРазделов + 80 + + <key>ru</key> + <value>Скрыть разделы</value> + + true + true + + true + + false + + СкрытьПоказатьДеревоРазделовExtendedTooltip + 128 + Label + true + true + + Left + + + UsualButton + Form.Command.СкрытьПоказатьДеревоРазделов + Normal + Auto + true + true + UserCmds + Auto + + + ФормаКоманднаяПанельПровестиИЗакрыть + 86 + true + true + + true + + false + + ФормаКоманднаяПанельПровестиИЗакрытьExtendedTooltip + 113 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.PostAndClose + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗаполненияПровестиЗакрыть + 92 + + <key>ru</key> + <value>Завершить и закрыть</value> + + true + true + + true + + false + + ФормаЗаполненияПровестиЗакрытьExtendedTooltip + 115 + Label + true + true + + Left + + + UsualButton + Form.Command.ФормаЗаполненияПровестиЗакрыть + Normal + PictureAndText + true + true + UserCmds + Auto + + + ФормаЗаполненияЗаписать + 91 + + <key>ru</key> + <value>Записать</value> + + true + true + + true + + false + + ФормаЗаполненияЗаписатьExtendedTooltip + 116 + Label + true + true + + Left + + + UsualButton + Form.Command.ФормаЗаполненияЗаписать + Normal + PictureAndText + true + true + UserCmds + Auto + + + ФормаКоманднаяПанельЗаписать + 87 + true + true + + true + + false + + ФормаКоманднаяПанельЗаписатьExtendedTooltip + 114 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Write + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗакрыть + 88 + + <key>ru</key> + <value>Закрыть</value> + + true + true + + true + + false + + ФормаЗакрытьExtendedTooltip + 117 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Close + Normal + true + true + UserCmds + Auto + + + ДекорацияКнопкиШапка + 82 + true + true + + true + + + ДекорацияКнопкиШапкаExtendedTooltip + 129 + Label + true + true + + Left + + + + ДекорацияКнопкиШапкаКонтекстноеМеню + 83 + true + + Label + true + true + true + false + + Left + + + + ПредыдущийРаздел + 84 + + <key>ru</key> + <value>< Назад</value> + + true + true + + true + + false + + ПредыдущийРазделExtendedTooltip + 130 + Label + true + true + + Left + + + UsualButton + Form.Command.ПредыдущийРаздел + Normal + Auto + 10 + true + true + UserCmds + Auto + + + СледующийРаздел + 85 + + <key>ru</key> + <value>Далее ></value> + + true + true + + true + + false + + СледующийРазделExtendedTooltip + 131 + Label + true + true + + Left + + + UsualButton + Form.Command.СледующийРаздел + Normal + Auto + 10 + true + true + UserCmds + Auto + + + Справка + 93 + true + true + + true + + false + + СправкаExtendedTooltip + 118 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Help + Normal + Picture + 4 + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа кнопки шапка</value> + + + ru + Группа кнопки шапка + + + ГруппаКнопкиШапкаExtendedTooltip + 127 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + ГруппаОсновныеРеквизиты 15 @@ -38,8 +383,10 @@ Left true + 10 true true + false true true true @@ -79,8 +426,10 @@ Left true + 14 true true + false true true true @@ -89,19 +438,19 @@ - ДатаРедактирования - 66 + Респондент + 12 true true true - Объект.ДатаРедактирования + Объект.Респондент - ДатаРедактированияExtendedTooltip - 123 + РеспондентExtendedTooltip + 126 Label true true @@ -110,18 +459,24 @@ - ДатаРедактированияКонтекстноеМеню - 67 + РеспондентКонтекстноеМеню + 13 true InputField - Enter + Auto true Left true + + StartChoice + РеспондентНачалоВыбора + + 30 true true + false true true true @@ -196,8 +551,10 @@ Left true + 40 true true + false true true true @@ -206,19 +563,19 @@ - Респондент - 12 + ДатаРедактирования + 66 true true true - Объект.Респондент + Объект.ДатаРедактирования - РеспондентExtendedTooltip - 126 + ДатаРедактированияExtendedTooltip + 123 Label true true @@ -227,22 +584,20 @@ - РеспондентКонтекстноеМеню - 13 + ДатаРедактированияКонтекстноеМеню + 67 true InputField - Auto + Enter true Left true - - StartChoice - РеспондентНачалоВыбора - + 14 true true + false true true true @@ -275,7 +630,6 @@ UsualGroup - Vertical Auto true true @@ -310,33 +664,153 @@ Vertical Auto - WeakSeparation true true - auto Auto Auto - ГруппаКнопкиШапка - 81 - - СкрытьПоказатьДеревоРазделов - 80 - + <name>ГруппаЗаполнение</name> + <id>158</id> + <items xsi:type="form:FormGroup"> + <name>ГруппаКнопкиДокументАнкета</name> + <id>154</id> + <items xsi:type="form:Button"> + <name>СкрытьПоказатьДеревоРазделовДокумент</name> + <id>156</id> + <title> + <key>ru</key> + <value>Показать разделы</value> + + true + true + + true + + + СкрытьПоказатьДеревоРазделовДокументРасширеннаяПодсказка + 157 + Label + true + true + + Left + + + UsualButton + Form.Command.СкрытьПоказатьДеревоРазделов + Normal + Auto + true + true + UserCmds + Auto + + + ДекорацияКнопкиДокумент + 160 + true + true + + true + + + ДекорацияКнопкиДокументРасширеннаяПодсказка + 162 + Label + true + true + + Left + + + + ДекорацияКнопкиДокументКонтекстноеМеню + 161 + true + + Label + true + true + true + false + + Left + + + + ПредыдущийРазделДокумент + 163 + true + true + + true + + + ПредыдущийРазделДокументРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + UsualButton + Form.Command.ПредыдущийРаздел + Normal + Auto + 10 + true + true + UserCmds + Auto + + + СледующийРазделДокумент + 165 + + <key>ru</key> + <value>Далее ></value> + + true + true + + true + + + СледующийРазделДокументРасширеннаяПодсказка + 166 + Label + true + true + + Left + + + UsualButton + Form.Command.СледующийРаздел + Normal + Auto + 10 + true + true + UserCmds + Auto + + true + true + + true + + ru - Скрыть дерево разделов: - - true - true - - true - - false + Группа кнопки документ анкета + - СкрытьПоказатьДеревоРазделовExtendedTooltip - 128 + ГруппаКнопкиДокументАнкетаРасширеннаяПодсказка + 155 Label true true @@ -344,113 +818,15 @@ Left - UsualButton - Form.Command.СкрытьПоказатьДеревоРазделов - Normal - Auto - true - true - UserCmds - Auto - - - ДекорацияКнопкиШапка - 82 - true - true - - true - - - ДекорацияКнопкиШапкаExtendedTooltip - 129 - Label - true - true - - Left - - - - ДекорацияКнопкиШапкаКонтекстноеМеню - 83 - true - - Label - true - true - true - false - - Left + UsualGroup + + Auto + true + true + Auto + Auto - - ПредыдущийРаздел - 84 - - <key>ru</key> - <value><< Назад</value> - - true - true - - true - - false - - ПредыдущийРазделExtendedTooltip - 130 - Label - true - true - - Left - - - UsualButton - Form.Command.ПредыдущийРаздел - Normal - Auto - 20 - true - true - UserCmds - Auto - - - СледующийРаздел - 85 - - <key>ru</key> - <value>Далее >></value> - - true - true - - true - - false - - СледующийРазделExtendedTooltip - 131 - Label - true - true - - Left - - - UsualButton - Form.Command.СледующийРаздел - Normal - Auto - 20 - true - true - UserCmds - Auto - true true @@ -458,15 +834,15 @@ <key>ru</key> - <value>Группа кнопки шапка</value> + <value>Группа заполнение</value> ru - Группа кнопки шапка + Группа заполнение - ГруппаКнопкиШапкаExtendedTooltip - 127 + ГруппаЗаполнениеРасширеннаяПодсказка + 159 Label true true @@ -476,6 +852,7 @@ UsualGroup + Vertical Auto true true @@ -515,65 +892,25 @@ SortListAsc SortListDesc Tree - - ГруппаПолныйКодНаименование - 76 - - ДеревоРазделовФормулировка - 72 - - <key>ru</key> - <value>Раздел</value> - - true - true - - true - - - ДеревоРазделов.Формулировка - - None - - ДеревоРазделовФормулировкаExtendedTooltip - 138 - Label - true - true - - Left - - - - ДеревоРазделовФормулировкаКонтекстноеМеню - 73 - true - - InputField - Auto - Left - - true - true - true - true - true - true - Normal - - + + ДеревоРазделовФормулировка + 72 + + <key>ru</key> + <value>Раздел</value> + true true true - - ru - Группа полный код наименование - + + ДеревоРазделов.Формулировка + + None - ГруппаПолныйКодНаименованиеExtendedTooltip - 137 + ДеревоРазделовФормулировкаExtendedTooltip + 138 Label true true @@ -581,11 +918,23 @@ Left - ColumnGroup - - InCell - auto - true + + ДеревоРазделовФормулировкаКонтекстноеМеню + 73 + true + + InputField + Auto + Left + + true + true + false + true + true + true + true + Normal
                                          @@ -599,10 +948,10 @@ ДеревоРазделовСтрокаПоиска - 159 + 172 ДеревоРазделовСтрокаПоискаРасширеннаяПодсказка - 161 + 174 Label true true @@ -612,7 +961,7 @@ ДеревоРазделовСтрокаПоискаКонтекстноеМеню - 160 + 173 true ДеревоРазделов @@ -622,10 +971,10 @@ ДеревоРазделовСостояниеПросмотра - 162 + 175 ДеревоРазделовСостояниеПросмотраРасширеннаяПодсказка - 164 + 177 Label true true @@ -635,7 +984,7 @@ ДеревоРазделовСостояниеПросмотраКонтекстноеМеню - 163 + 176 true ViewStatusAddition @@ -646,10 +995,10 @@ ДеревоРазделовУправлениеПоиском - 165 + 178 ДеревоРазделовУправлениеПоискомРасширеннаяПодсказка - 167 + 180 Label true true @@ -659,7 +1008,7 @@ ДеревоРазделовУправлениеПоискомКонтекстноеМеню - 166 + 179 true SearchControlAddition @@ -750,7 +1099,6 @@ MultiRow 1 1 - AutoUse AutoUse true true @@ -788,6 +1136,9 @@ ru Группа дерево разделов + 30 + false + true ГруппаДеревоРазделовExtendedTooltip 133 @@ -809,22 +1160,86 @@
                                          - ГруппаСтраницыФормаЗаполнения - 94 + ГруппаТелоАнкеты + 43 + + НадписьВступление + 78 + true + true + + true + + + НадписьВступлениеExtendedTooltip + 141 + Label + true + true + + Left + + + + НадписьВступлениеКонтекстноеМеню + 79 + true + + Label + true + true + true + true + false + + Left + Top + + + true + + true + + true + false + + ГруппаТелоАнкетыExtendedTooltip + 140 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + ГруппаОжидание + 95 - ГруппаТелоАнкеты - 43 + ГруппаОжиданиеОтступ + 102 - НадписьВступление - 78 + ДекорацияОжиданиеОтступ + 104 true true true - НадписьВступлениеExtendedTooltip - 141 + ДекорацияОжиданиеОтступExtendedTooltip + 144 Label true true @@ -833,14 +1248,15 @@ - НадписьВступлениеКонтекстноеМеню - 79 + ДекорацияОжиданиеОтступКонтекстноеМеню + 105 true Label true + 5 true - true + false false Left @@ -851,10 +1267,18 @@ true - true + + <key>ru</key> + <value>Группа ожидание отступ</value> + + + ru + Группа ожидание отступ + + true - ГруппаТелоАнкетыExtendedTooltip - 140 + ГруппаОжиданиеОтступExtendedTooltip + 143 Label true true @@ -862,66 +1286,34 @@ Left - Page - + UsualGroup + Vertical - auto + Auto + true + true + Auto + Auto - СтраницаОжидание - 95 - - ГруппаОжиданиеОтступ - 102 - - ДекорацияОжиданиеОтступ - 104 - true - true - - true - - - ДекорацияОжиданиеОтступExtendedTooltip - 144 - Label - true - true - - Left - - - - ДекорацияОжиданиеОтступКонтекстноеМеню - 105 - true - - Label - true - 5 - true - false - - Left - - + ГруппаОжиданиеЭлементы + 103 + + ДекорацияОжиданиеЭлементы + 96 + + <key>ru</key> + <value>Декорация ожидание элементы</value> + true true true - - <key>ru</key> - <value>Группа ожидание отступ</value> - - - ru - Группа ожидание отступ - - ГруппаОжиданиеОтступExtendedTooltip - 143 + ДекорацияОжиданиеЭлементыExtendedTooltip + 146 Label true true @@ -929,151 +1321,75 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + ДекорацияОжиданиеЭлементыКонтекстноеМеню + 97 + true + + 20 + true + true + true + false + + + + КартинкаДлительныйПроцесс + 98 + + <key>ru</key> + <value>Подождите пожалуйста… +Открывается раздел анкеты</value> + + true + true + + true + + + КартинкаДлительныйПроцессExtendedTooltip + 147 + Label + true + true + + Left + + + + КартинкаДлительныйПроцессКонтекстноеМеню + 99 + true + + 5 + true + 2 + true + false + false + + + CommonPicture.Информация32 + + Stretch - - ГруппаОжиданиеЭлементы - 103 - - ДекорацияОжиданиеЭлементы - 96 - - <key>ru</key> - <value>Декорация ожидание элементы</value> - - true - true - - true - - - ДекорацияОжиданиеЭлементыExtendedTooltip - 146 - Label - true - true - - Left - - - - ДекорацияОжиданиеЭлементыКонтекстноеМеню - 97 - true - - 20 - true - true - false - - - - КартинкаДлительныйПроцесс - 98 - - <key>ru</key> - <value>Подождите пожалуйста… -Открывается раздел анкеты</value> - - true - true - - true - - - КартинкаДлительныйПроцессExtendedTooltip - 147 - Label - true - true - - Left - - - - КартинкаДлительныйПроцессКонтекстноеМеню - 99 - true - - 5 - true - 2 - true - false - false - false - - - CommonPicture.Информация32 - - Stretch - - - - НадписьПодождите - 100 - - <key>ru</key> - <value>Подождите пожалуйста… Открывается раздел анкеты + <items xsi:type="form:Decoration"> + <name>НадписьПодождите</name> + <id>100</id> + <title> + <key>ru</key> + <value>Подождите пожалуйста… Открывается раздел анкеты </value> - - true - true - - true - - - НадписьПодождитеExtendedTooltip - 148 - Label - true - true - - Left - - - - НадписьПодождитеКонтекстноеМеню - 101 - true - - Label - 20 - true - 2 - true - false - false - false - - Left - Bottom - - + true true true - - <key>ru</key> - <value>Группа ожидание элементы</value> - - - ru - Группа ожидание элементы - - ГруппаОжиданиеЭлементыExtendedTooltip - 145 + НадписьПодождитеExtendedTooltip + 148 Label true true @@ -1081,13 +1397,21 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + НадписьПодождитеКонтекстноеМеню + 101 + true + + Label + 20 + true + 2 + true + false + false + + Left + Bottom true @@ -1097,17 +1421,16 @@ <key>ru</key> - <value>Страница ожидание</value> + <value>Группа ожидание элементы</value> ru - Страница ожидание + Группа ожидание элементы - false - false + true - СтраницаОжиданиеExtendedTooltip - 142 + ГруппаОжиданиеЭлементыExtendedTooltip + 145 Label true true @@ -1115,10 +1438,13 @@ Left - Page - - Vertical - auto + UsualGroup + + Auto + true + true + Auto + Auto true @@ -1128,15 +1454,17 @@ <key>ru</key> - <value>Группа страницы форма заполнения</value> + <value>Группа ожидание</value> ru - Группа страницы форма заполнения + Группа ожидание + false + true - ГруппаСтраницыФормаЗаполненияExtendedTooltip - 139 + ГруппаОжиданиеРасширеннаяПодсказка + 142 Label true true @@ -1144,8 +1472,14 @@ Left - Pages - + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto Auto @@ -1162,6 +1496,7 @@ ru Группа дерево разделов форма заполнения + true ГруппаДеревоРазделовФормаЗаполненияExtendedTooltip 132 @@ -1222,7 +1557,7 @@ 107 <key>ru</key> - <value> << Назад </value> + <value>< Назад</value> true true @@ -1244,7 +1579,7 @@ Form.Command.ПредыдущийРаздел Normal Auto - 20 + 10 true true UserCmds @@ -1255,7 +1590,7 @@ 108 <key>ru</key> - <value>Далее >></value> + <value>Далее ></value> true true @@ -1277,7 +1612,7 @@ Form.Command.СледующийРаздел Normal Auto - 20 + 10 true true UserCmds @@ -1292,6 +1627,7 @@ ru Группа кнопки подвал + false ГруппаКнопкиПодвалExtendedTooltip 149 @@ -1351,6 +1687,7 @@ true 2 true + false true true true @@ -1362,186 +1699,6 @@ ФормаКоманднаяПанель -1 - - ФормаКоманднаяПанельПровестиИЗакрыть - 86 - true - true - - true - - false - - ФормаКоманднаяПанельПровестиИЗакрытьExtendedTooltip - 113 - Label - true - true - - Left - - - Form.StandardCommand.PostAndClose - Normal - Auto - true - true - UserCmds - Auto - - - ФормаКоманднаяПанельЗаписать - 87 - true - true - - true - - false - - ФормаКоманднаяПанельЗаписатьExtendedTooltip - 114 - Label - true - true - - Left - - - Form.StandardCommand.Write - Normal - Auto - true - true - UserCmds - Auto - - - ФормаЗаполненияПровестиЗакрыть - 92 - - <key>ru</key> - <value>Завершить редактирование и закрыть</value> - - true - true - - true - - false - - ФормаЗаполненияПровестиЗакрытьExtendedTooltip - 115 - Label - true - true - - Left - - - Form.Command.ФормаЗаполненияПровестиЗакрыть - Normal - PictureAndText - true - true - UserCmds - - StdPicture.WriteAndClose - - Auto - - - ФормаЗаполненияЗаписать - 91 - - <key>ru</key> - <value>Записать ответы с возможностью продолжить заполнение</value> - - true - true - - true - - false - - ФормаЗаполненияЗаписатьExtendedTooltip - 116 - Label - true - true - - Left - - - Form.Command.ФормаЗаполненияЗаписать - Normal - PictureAndText - true - true - UserCmds - - StdPicture.Write - - Auto - - - ФормаЗакрыть - 88 - - <key>ru</key> - <value>Закрыть</value> - - true - true - - true - - false - - ФормаЗакрытьExtendedTooltip - 117 - Label - true - true - - Left - - - Form.StandardCommand.Close - Normal - PictureAndText - true - true - UserCmds - Auto - - - Справка - 93 - true - true - - true - - false - - СправкаExtendedTooltip - 118 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - Left @@ -2789,7 +2946,7 @@ СкрытьПоказатьДеревоРазделов <key>ru</key> - <value>Скрыть показать дерево разделов</value> + <value>Показать разделы</value> 3 @@ -2829,7 +2986,7 @@ ПредыдущийРаздел <key>ru</key> - <value>Предыдущий раздел</value> + <value>< Назад</value> 5 diff --git a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Help/ru.html index b55a8b4cd..4068ca9f8 100644 --- a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Help/ru.html @@ -1,20 +1,23 @@ - -

                                           

                                          -

                                          Документ предназначен для ответов на вопросы анкеты.

                                          -

                                           

                                          -
                                          Форма заполнения:
                                          -

                                           

                                          -

                                          При открытии документа на форме отображается вступительный текст Анкеты.

                                          -

                                          При нажатии кнопки "Показать разделы" в верхнем левом углу формы, будет отображено дерево разделов "Анкеты".

                                          -

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

                                          -

                                          Передвигаться по разделам анкеты возможно также при помощи кнопок "Вперед" и "Назад", расположенных в верхнем правом углу формы.

                                          -

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

                                          -

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

                                          -

                                           

                                          -

                                           

                                          -
                                          Завершение редактирования анкеты:
                                          -

                                           

                                          -

                                          Для завершения редактирования анкеты нажмите кнопку "Завершить и закрыть", расположенную в верхнем левом углу формы. Если составитель предусмот-

                                          -

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

                                          -

                                          вопросы. Если вы не дадите ответы на такие вопросы, то при попытке завершить редактирование анкеты, будет выведено сообщение о обязательных вопросах,

                                          -

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

                                          \ No newline at end of file + +

                                          Предназначена для ответов на вопросы при проведении анкетирования.

                                          +

                                          Открывается по двойному щелчку мыши в списке анкет, который становится доступным после входа респондента в программу.

                                          +

                                          Разделы анкеты

                                          +
                                          • На первой странице анкеты отображается текст из вступительного раздела. +
                                          • Передвигаться по разделам анкеты можно при помощи кнопок Далее и Назад, расположенных в верхнем правом углу окна (рекомендуется). +
                                          • Также для перемещения по разделам можно использовать навигационный список (дерево) разделов, видимость которого настраивается с помощью кнопок Показать разделы/Скрыть разделы. +
                                            • Дерево разделов рекомендуется открывать для просмотра структуры анкеты, выбора нужного раздела, если это необходимо. Для корректного отображения элементов анкеты рекомендуется скрывать отображение дерева разделов. +
                                            • Двойным щелчком мыши можно выбрать один из разделов анкеты в дереве. После выбора раздела анкеты формируется окно заполнения раздела.
                                          • Анкета заканчивается заключительным разделом.

                                          Способы ответов на вопросы

                                          +
                                          • В зависимости от типа вопросов ответ можно написать вручную, выбрать из списка или с помощью переключателя. +
                                          • Даты можно написать вручную или выбрать из календаря с помощью кнопки . +
                                          • Ответы на некоторые вопросы необходимо ввести в таблицу. В некоторых таблицах требуется Добавить строки с помощью соответствующей кнопки.

                                          Сохранение анкеты

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

                                          Завершение редактирования анкеты

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

                                          Обязательные вопросы

                                          +
                                          • Составитель анкеты может предусмотреть обязательные вопросы. Поля для ответов на такие вопросы выделены красным цветом. +
                                          • Если вы не дадите ответы на обязательные вопросы, то при попытке завершить редактирование анкеты выполняется автоматическая проверка и выводится сообщение об обязательных вопросах, на которые не даны ответы. +
                                          • Возможность завершить редактирование анкеты появится только после того, как респондент ответит на все обязательные вопросы.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Module.bsl index 9219acc8a..dec37743e 100644 --- a/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/Анкета/Forms/ФормаДокумента/Module.bsl @@ -17,6 +17,8 @@ КонецЕсли; КонецЕсли; + ПозиционированиеНаРазделе = Ложь; + Если НЕ Объект.Опрос.Пустая() Тогда РеквизитыОпрос = ПолучитьЗначенияРеквизитовНазначениеОпроса(Объект.Опрос); @@ -50,6 +52,7 @@ Элементы.ДеревоРазделов.ТекущаяСтрока = НомерТекущегоРаздела; ПостроениеФормыСогласноРаздела(); + ПозиционированиеНаРазделе = Истина; КонецЕсли; @@ -66,11 +69,16 @@ Элементы.ПредыдущийРазделПодвал.Видимость = Ложь; Элементы.СледующийРазделПодвал.Видимость = Ложь; + Если Не ПозиционированиеНаРазделе Тогда + ПереключитьВидимостьГруппТелаАнкеты(); + КонецЕсли; ДействияВЗависимостиОтВидаФормы(); Элементы.ГруппаДеревоРазделов.Видимость = Ложь; - Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = НСтр("ru = 'Показать разделы'"); + ЗаголовокКомандаРазделы = НСтр("ru = 'Показать разделы'"); + Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = ЗаголовокКомандаРазделы; + Элементы.СкрытьПоказатьДеревоРазделовДокумент.Заголовок = ЗаголовокКомандаРазделы; Элементы.ДекорацияОжиданиеЭлементы.Ширина = 45; КонецПроцедуры @@ -853,11 +861,11 @@ ВариантыОтветовНаВопрос = Анкетирование.ПолучитьВариантыОтветовНаВопрос(СтрокаДерева.ЭлементарныйВопрос,ЭтотОбъект); - Счётчик = 0; + Счетчик = 0; Для каждого ВариантОтвета Из ВариантыОтветовНаВопрос Цикл - Счётчик = Счётчик + 1; - ИмяРеквизита = ИмяВопроса + "_Реквизит_" + Счётчик; + Счетчик = Счетчик + 1; + ИмяРеквизита = ИмяВопроса + "_Реквизит_" + Счетчик; Если ЭтотОбъект[ИмяРеквизита] Тогда @@ -865,9 +873,9 @@ НоваяСтрока.Вопрос = СтрокаДерева.ВопросШаблона; НоваяСтрока.ЭлементарныйВопрос = СтрокаДерева.ЭлементарныйВопрос; НоваяСтрока.Ответ = ВариантОтвета.Ответ; - НоваяСтрока.НомерЯчейки = Счётчик; + НоваяСтрока.НомерЯчейки = Счетчик; Если ВариантОтвета.ТребуетОткрытогоОтвета Тогда - НоваяСтрока.ОткрытыйОтвет = ЭтотОбъект[ИмяВопроса + "_Комментарий_" + Счётчик]; + НоваяСтрока.ОткрытыйОтвет = ЭтотОбъект[ИмяВопроса + "_Комментарий_" + Счетчик]; КонецЕсли; КонецЕсли; @@ -903,6 +911,8 @@ Элементы.ПредыдущийРазделПодвал.Видимость = (ТаблицаВопросовРаздела.Количество() > 0); Элементы.СледующийРазделПодвал.Видимость = (ТаблицаВопросовРаздела.Количество() > 0); + ПереключитьВидимостьГруппТелаАнкеты(); + КонецПроцедуры // Добавляет пустые элементы в Коллекцию @@ -1092,8 +1102,12 @@ ВозможностьПредварительногоСохранения = РеквизитыОпрос.ВозможностьПредварительногоСохранения; ШаблонАнкеты = РеквизитыОпрос.ШаблонАнкеты; - Вступление = РеквизитыОпрос.Вступление; - Заключение = РеквизитыОпрос.Заключение; + Вступление = ?(ПустаяСтрока(РеквизитыОпрос.Вступление), + НСтр("ru = 'Нажмите далее для заполнения анкеты.'"), + РеквизитыОпрос.Вступление); + Заключение = ?(ПустаяСтрока(РеквизитыОпрос.Заключение), + НСтр("ru = 'Спасибо за то что заполнили анкету.'"), + РеквизитыОпрос.Заключение); КонецПроцедуры @@ -1182,6 +1196,7 @@ Элементы.ФормаКоманднаяПанельПровестиИЗакрыть.Видимость = Ложь; Элементы.ФормаКоманднаяПанельЗаписать.Видимость = Ложь; Элементы.Комментарий.Видимость = Ложь; + Элементы.ГруппаКнопкиДокументАнкета.Видимость = Ложь; Если Объект.Ссылка.Пустая() Тогда Объект.Дата = ТекущаяДатаСеанса(); КонецЕсли; @@ -1202,6 +1217,9 @@ Иначе + Элементы.ПредыдущийРаздел.Видимость = Ложь; + Элементы.СледующийРаздел.Видимость = Ложь; + Элементы.СкрытьПоказатьДеревоРазделов.Видимость = Ложь; Элементы.ФормаЗаполненияПровестиЗакрыть.Видимость = Ложь; Элементы.ФормаЗаполненияЗаписать.Видимость = Ложь; Элементы.ГруппаТелоАнкеты.ТолькоПросмотр = Истина; @@ -1254,7 +1272,7 @@ &НаКлиенте Процедура ВыполнитьПостроениеФормыЗаполнения() - Элементы.ГруппаСтраницыФормаЗаполнения.ТекущаяСтраница = Элементы.СтраницаОжидание; + ПереключитьВидимостьГруппТелаАнкеты(); ПодключитьОбработчикОжидания("ОкончаниеПостроенияФормыЗаполнения",0.1,Истина); КонецПроцедуры @@ -1265,7 +1283,6 @@ ПостроениеФормыСогласноРаздела(); УправлениеДоступностьюПодчиненныеВопросы(ПредыдущийРазделБезВопросов = Ложь); - Элементы.ГруппаСтраницыФормаЗаполнения.ТекущаяСтраница = Элементы.ГруппаТелоАнкеты; УправлениеДоступностьюКнопкиНавигацияРазделов(); ЭлементДляПозиционирования = Элементы.Найти(ИмяЭлементаДляПозиционирования); @@ -1275,13 +1292,23 @@ КонецПроцедуры +Процедура ПереключитьВидимостьГруппТелаАнкеты() + + Элементы.ГруппаТелоАнкеты.Видимость = НЕ Элементы.ГруппаТелоАнкеты.Видимость; + Элементы.ГруппаОжидание.Видимость = НЕ Элементы.ГруппаТелоАнкеты.Видимость; + +КонецПроцедуры + // Изменяет видимость дерева разделов &НаКлиенте Процедура ИзменитьВидимостьДеревоРазделов() Элементы.ГруппаДеревоРазделов.Видимость = НЕ Элементы.ГруппаДеревоРазделов.Видимость; - Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = ?(Элементы.ГруппаДеревоРазделов.Видимость,НСтр("ru = 'Скрыть разделы'"),НСтр("ru = 'Показать разделы'")); Элементы.ДекорацияОжиданиеЭлементы.Ширина = ?(Элементы.ГруппаДеревоРазделов.Видимость,20,45); + + ЗаголовокКомандаРазделы = ?(Элементы.ГруппаДеревоРазделов.Видимость,НСтр("ru = 'Скрыть разделы'"),НСтр("ru = 'Показать разделы'")); + Элементы.СкрытьПоказатьДеревоРазделов.Заголовок = ЗаголовокКомандаРазделы; + Элементы.СкрытьПоказатьДеревоРазделовДокумент.Заголовок = ЗаголовокКомандаРазделы; КонецПроцедуры @@ -1289,10 +1316,15 @@ &НаКлиенте Процедура УправлениеДоступностьюКнопкиНавигацияРазделов() - Элементы.ПредыдущийРаздел.Доступность = (Элементы.ДеревоРазделов.ТекущаяСтрока > 0); - Элементы.ПредыдущийРазделПодвал.Доступность = (Элементы.ДеревоРазделов.ТекущаяСтрока > 0); - Элементы.СледующийРаздел.Доступность = (ДеревоРазделов.НайтиПоИдентификатору(Элементы.ДеревоРазделов.ТекущаяСтрока + 1) <> Неопределено); - Элементы.СледующийРазделПодвал.Доступность = (ДеревоРазделов.НайтиПоИдентификатору(Элементы.ДеревоРазделов.ТекущаяСтрока + 1) <> Неопределено); + ДоступностьПредыдущийРаздел = (Элементы.ДеревоРазделов.ТекущаяСтрока > 0); + ДоступностьСледующийРаздел = (ДеревоРазделов.НайтиПоИдентификатору(Элементы.ДеревоРазделов.ТекущаяСтрока + 1) <> Неопределено); + + Элементы.ПредыдущийРаздел.Доступность = ДоступностьПредыдущийРаздел; + Элементы.ПредыдущийРазделПодвал.Доступность = ДоступностьПредыдущийРаздел; + Элементы.ПредыдущийРазделДокумент.Доступность = ДоступностьПредыдущийРаздел; + Элементы.СледующийРаздел.Доступность = ДоступностьСледующийРаздел; + Элементы.СледующийРазделПодвал.Доступность = ДоступностьСледующийРаздел; + Элементы.СледующийРазделДокумент.Доступность = ДоступностьСледующийРаздел; КонецПроцедуры diff --git a/SSL/src/Documents/Анкета/Forms/ФормаСписка/Form.form b/SSL/src/Documents/Анкета/Forms/ФормаСписка/Form.form index 85abf9e2d..3adb119c1 100644 --- a/SSL/src/Documents/Анкета/Forms/ФормаСписка/Form.form +++ b/SSL/src/Documents/Анкета/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 23 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -49,8 +84,10 @@ Left true + 10 true true + false @@ -85,8 +122,10 @@ Left true + 14 true true + false @@ -121,8 +160,10 @@ Left true + 25 true true + false @@ -157,8 +198,10 @@ Left true + 20 true true + false @@ -166,9 +209,7 @@ 12 true true - - true - + Список.ДатаРедактирования @@ -243,10 +284,10 @@
                                          СписокСтрокаПоиска - 23 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 25 + 27 Label true true @@ -256,7 +297,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 24 + 26 true Список @@ -266,10 +307,10 @@ СписокСостояниеПросмотра - 26 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 28 + 30 Label true true @@ -279,7 +320,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 27 + 29 true ViewStatusAddition @@ -290,10 +331,10 @@ СписокУправлениеПоиском - 29 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 31 + 33 Label true true @@ -303,7 +344,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 30 + 32 true SearchControlAddition @@ -362,6 +403,7 @@ true true + ГруппаПользовательскихНастроек
                                          diff --git a/SSL/src/Documents/Анкета/Forms/ФормаСписка/Help/ru.html b/SSL/src/Documents/Анкета/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..0c3bd0c34 --- /dev/null +++ b/SSL/src/Documents/Анкета/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,12 @@ + +

                                          Предназначен для контроля хода проведения опроса.

                                          +

                                          Сотрудник, ответственный за проведение опроса, имеет возможность в реальном времени отслеживать и контролировать ход анкетирования. Заполненные респондентами анкеты попадают в список.

                                          +

                                          Список открывается по команде Анкеты раздела Анкетирование.

                                          +

                                          В списке выводится:

                                          +
                                          • Дата - дата и время завершения редактирования анкеты респондентом. +
                                          • Номер - номер анкеты, присваивается программой автоматически. +
                                          • Опрос - информация о документе Назначение опросов. +
                                          • Респондент - наименование Внешнего пользователя - респондента.

                                          Просмотр анкеты

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

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/Анкета/Анкета.mdo b/SSL/src/Documents/Анкета/Анкета.mdo index c9fd257a5..afc6acdf7 100644 --- a/SSL/src/Documents/Анкета/Анкета.mdo +++ b/SSL/src/Documents/Анкета/Анкета.mdo @@ -205,6 +205,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Form.form b/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Form.form index 65ebd8d2d..458217c75 100644 --- a/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 25 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -237,10 +272,10 @@
                                          СписокСтрокаПоиска - 25 + 27 СписокСтрокаПоискаРасширеннаяПодсказка - 27 + 29 Label true true @@ -250,7 +285,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 26 + 28 true Список @@ -260,10 +295,10 @@ СписокСостояниеПросмотра - 28 + 30 СписокСостояниеПросмотраРасширеннаяПодсказка - 30 + 32 Label true true @@ -273,7 +308,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 29 + 31 true ViewStatusAddition @@ -284,10 +319,10 @@ СписокУправлениеПоиском - 31 + 33 СписокУправлениеПоискомРасширеннаяПодсказка - 33 + 35 Label true true @@ -297,7 +332,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 32 + 34 true SearchControlAddition diff --git a/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..a4a1444c7 --- /dev/null +++ b/SSL/src/Documents/Встреча/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,29 @@ + +

                                          Предназначен для выбора документа Встреча.

                                          +

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

                                          +

                                          В списке выводится:

                                          +
                                          • Дата регистрации - дата создания документа; +
                                          • Номер - присваивается автоматически; +
                                          • Описание - в поле указывается, какие действия необходимо выполнить в рамках взаимодействия; +
                                          • Предмет - то, чему посвящен документ взаимодействий, например претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ начинает цепочку взаимодействий; +
                                          • Список участников - контакты, которые указаны в документах взаимодействий.

                                          Выбор документа

                                          +
                                          • +
                                            Выделите документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно использовать двойной щелчок мыши.

                                          Отбор по периоду

                                          +
                                          • С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Ввод документа Встреча

                                          +

                                          Нажмите Создать. Заполните необходимые поля.

                                          +

                                          Создание взаимодействий на основании встречи

                                          +

                                          Выделите нужный документ. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Form.form index 5d5dc083e..33550e5a5 100644 --- a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Form.form @@ -1,28 +1,36 @@ - ГруппаШапка - 89 + ГруппаЛевая + 156 - ГруппаПериодПредметВажность - 60 + ГруппаПериодПроведения + 43 - ГруппаПредметВажностьОтветственный - 61 + ГруппаНачала + 63 - Предмет - 48 + ДатаНачала + 69 + + <key>ru</key> + <value>Начало</value> + true true true - Предмет + ДатаНачала + + OnChange + ДатаНачалаПриИзменении + - ПредметExtendedTooltip - 117 + ДатаНачалаExtendedTooltip + 122 Label true true @@ -31,8 +39,8 @@ - ПредметКонтекстноеМеню - 49 + ДатаНачалаКонтекстноеМеню + 70 true InputField @@ -41,12 +49,11 @@ Left true - 30 + 13 true true - false - true - true + true + true true true true @@ -54,19 +61,24 @@ - Важность - 55 + ВремяНачала + 67 true true true - Объект.Важность + ВремяНачала + None + + OnChange + ВремяНачалаПриИзменении + - ВажностьExtendedTooltip - 118 + ВремяНачалаExtendedTooltip + 123 Label true true @@ -75,8 +87,8 @@ - ВажностьКонтекстноеМеню - 56 + ВремяНачалаКонтекстноеМеню + 68 true InputField @@ -85,494 +97,24 @@ Left true - 30 + 13 true true - false - true - true - true - Normal - - - - Ответственный - 17 - true - true - - true - - - Объект.Ответственный - - - ОтветственныйExtendedTooltip - 119 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 18 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - Normal - - - true - true - - true - - - ru - Предмет, важность, место проведения - - - ГруппаПредметВажностьОтветственныйExtendedTooltip - 116 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаПериодПроведения - 43 - - ГруппаНачала - 63 - - ДатаНачала - 69 - + <wrap>true</wrap> + <dropListButton>true</dropListButton> + <choiceButton>false</choiceButton> + <clearButton>false</clearButton> + <spinButton>true</spinButton> + <openButton>false</openButton> + <createButton>false</createButton> + <editFormat> <key>ru</key> - <value>Начало</value> - - true - true - - true - - - ДатаНачала - - - OnChange - ДатаНачалаПриИзменении - - - ДатаНачалаExtendedTooltip - 122 - Label - true - true - - Left - - - - ДатаНачалаКонтекстноеМеню - 70 - true - - InputField - Enter - true - Left - true - - 13 - true - true - true - true - true - true - true - Normal - - - - ВремяНачала - 67 - true - true - - true - - - ВремяНачала - - None - - OnChange - ВремяНачалаПриИзменении - - - ВремяНачалаExtendedTooltip - 123 - Label - true - true - - Left - - - - ВремяНачалаКонтекстноеМеню - 68 - true - - InputField - Enter - true - Left - true - - 13 - true - true - true - true - false - false - true - false - false - - ru - ДФ=ЧЧ:мм - - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Время начала</value> - - - ru - Время начала - - true - - ГруппаНачалаExtendedTooltip - 121 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаОкончание - 64 - - ДатаОкончания - 71 - - <key>ru</key> - <value>Окончание</value> - - true - true - - true - - - ДатаОкончания - - - OnChange - ДатаОкончанияПриИзменении - - - ДатаОкончанияExtendedTooltip - 125 - Label - true - true - - Left - - - - ДатаОкончанияКонтекстноеМеню - 72 - true - - InputField - Enter - true - Left - true - - 13 - true - true - true - true - true - true - true - Normal - - - - ВремяОкончания - 73 - true - true - - true - - - ВремяОкончания - - None - - OnChange - ВремяОкончанияПриИзменении - - - ВремяОкончанияExtendedTooltip - 126 - Label - true - true - - Left - - - - ВремяОкончанияКонтекстноеМеню - 74 - true - - InputField - Enter - true - Left - true - - 13 - true - true - true - true - false - false - true - false - false - - ru - ДФ=ЧЧ:мм - - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Время окончания</value> - - - ru - Время окончания - - true - - ГруппаОкончаниеExtendedTooltip - 124 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаИсполнение - 44 - - РассмотретьПосле - 50 - true - true - - true - - - РассмотретьПосле - - - РассмотретьПослеExtendedTooltip - 128 - Label - true - true - - Left - - - - РассмотретьПослеКонтекстноеМеню - 51 - true - - InputField - Enter - true - Left - true - - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - - true - true - true - true - true - true - Normal - - - - Рассмотрено - 15 - true - true - - true - - - Рассмотрено - - Right - - OnChange - РассмотреноПриИзменении - - - РассмотреноExtendedTooltip - 129 - Label - true - true - - Left - - - - РассмотреноКонтекстноеМеню - 16 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Исполнение</value> - - - ru - Исполнение - - - ГруппаИсполнениеExtendedTooltip - 127 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto + ДФ=ЧЧ:мм + + true + true + true + Normal true @@ -582,17 +124,160 @@ <key>ru</key> - <value>Время проведения</value> + <value>Время начала</value> ru - Группа период проведения + Время начала true - true - ГруппаПериодПроведенияExtendedTooltip - 120 + ГруппаНачалаExtendedTooltip + 121 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаОкончание + 64 + + ДатаОкончания + 71 + + <key>ru</key> + <value>Окончание</value> + + true + true + + true + + + ДатаОкончания + + + OnChange + ДатаОкончанияПриИзменении + + + ДатаОкончанияExtendedTooltip + 125 + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 72 + true + + InputField + Enter + true + Left + true + + 13 + true + true + true + true + true + true + true + Normal + + + + ВремяОкончания + 73 + true + true + + true + + + ВремяОкончания + + None + + OnChange + ВремяОкончанияПриИзменении + + + ВремяОкончанияExtendedTooltip + 126 + Label + true + true + + Left + + + + ВремяОкончанияКонтекстноеМеню + 74 + true + + InputField + Enter + true + Left + true + + 13 + true + true + true + true + false + false + true + false + false + + ru + ДФ=ЧЧ:мм + + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Время окончания</value> + + + ru + Время окончания + + true + + ГруппаОкончаниеExtendedTooltip + 124 Label true true @@ -602,7 +287,6 @@ UsualGroup - Vertical Auto true true @@ -617,15 +301,17 @@ <key>ru</key> - <value>Период, предмет, важность</value> + <value>Время проведения</value> ru - Период, предмет, важность + Группа период проведения + true + false - ГруппаПериодПредметВажностьExtendedTooltip - 115 + ГруппаПериодПроведенияExtendedTooltip + 120 Label true true @@ -635,6 +321,7 @@ UsualGroup + Vertical Auto true true @@ -678,10 +365,9 @@ Left true - 74 + 50 true true - false true true true @@ -720,10 +406,9 @@ Left true - 74 + 50 true true - false true true true @@ -731,18 +416,575 @@ Normal + + СтраницыОписаниеУчастникиДополнительно + 85 + + СтраницаОписание + 75 + + Описание + 76 + true + true + + true + + + Объект.Описание + + None + + ОписаниеExtendedTooltip + 134 + Label + true + true + + Left + + + + ОписаниеКонтекстноеМеню + 77 + true + + InputField + Enter + true + Left + true + + true + 3 + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Описание</value> + + + ru + Описание + + true + + СтраницаОписаниеExtendedTooltip + 133 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаУчастники + 38 + + Участники + 25 + true + true + + true + + + Объект.Участники + + false + None + Change + Copy + EndEdit + SelectAll + + ПредставлениеКонтакта + 32 + true + true + + true + + + Объект.Участники.ПредставлениеКонтакта + + + OnChange + ПредставлениеКонтактаПриИзменении + + + ПредставлениеКонтактаExtendedTooltip + 149 + Label + true + true + + Left + + + + ПредставлениеКонтактаКонтекстноеМеню + 33 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + КакСвязаться + 34 + true + true + + true + + + Объект.Участники.КакСвязаться + + + КакСвязатьсяExtendedTooltip + 150 + Label + true + true + + Left + + + + КакСвязатьсяКонтекстноеМеню + 35 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + Контакт + 30 + true + true + + true + + + Объект.Участники.Контакт + + + OnChange + КонтактПриИзменении + + + КонтактExtendedTooltip + 151 + Label + true + true + + Left + + + + КонтактКонтекстноеМеню + 31 + true + + InputField + Enter + true + Left + true + + + StartChoice + КонтактНачалоВыбора + + 15 + true + true + true + true + true + true + Normal + + + + УчастникиКоманднаяПанель + 27 + + СоздатьКонтакт + 46 + true + false + + true + + false + + СоздатьКонтактExtendedTooltip + 147 + Label + true + true + + Left + + + Form.Command.СоздатьКонтакт + Normal + Auto + true + true + UserCmds + Auto + + Left + true + + + OnActivateRow + УчастникиПриАктивизацииСтроки + + + OnChange + УчастникиПриИзменении + + + УчастникиСтрокаПоиска + 170 + + УчастникиСтрокаПоискаРасширеннаяПодсказка + 172 + Label + true + true + + Left + + + + УчастникиСтрокаПоискаКонтекстноеМеню + 171 + true + + Участники + + true + + + + УчастникиСостояниеПросмотра + 173 + + УчастникиСостояниеПросмотраРасширеннаяПодсказка + 175 + Label + true + true + + Left + + + + УчастникиСостояниеПросмотраКонтекстноеМеню + 174 + true + + ViewStatusAddition + Участники + + true + + + + УчастникиУправлениеПоиском + 176 + + УчастникиУправлениеПоискомРасширеннаяПодсказка + 178 + Label + true + true + + Left + + + + УчастникиУправлениеПоискомКонтекстноеМеню + 177 + true + + SearchControlAddition + Участники + + true + + + + УчастникиExtendedTooltip + 148 + Label + true + true + + Left + + + + УчастникиКонтекстноеМеню + 26 + true + + true + true + true + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + None + None + None + true + +
                                          + true + true + + true + + + <key>ru</key> + <value>Участники</value> + + + ru + Участники встречи + + + СтраницаУчастникиРасширеннаяПодсказка + 146 + Label + true + true + + Left + + + Page + + Vertical + auto + + КоличествоУчастников + + +
                                          + + СтраницаДополнительныеРеквизиты + 86 + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительные реквизиты + + + СтраницаДополнительныеРеквизитыExtendedTooltip + 135 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКомментарий + 104 + + Комментарий + 105 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 137 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 106 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ru + Комментарий + + + СтраницаКомментарийExtendedTooltip + 136 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы описание участники дополнительно</value> + + + ru + Страницы описание участники дополнительно + + + СтраницыОписаниеУчастникиДополнительноРасширеннаяПодсказка + 132 + Label + true + true + + Left + + + Pages + + TabsOnTop + Auto + +
                                          true true true + + <key>ru</key> + <value>Группа левая</value> + ru - Группа шапка + Группа левая - ГруппаШапкаExtendedTooltip - 114 + ГруппаЛеваяРасширеннаяПодсказка + 157 Label true true @@ -761,236 +1003,23 @@
                                          - СтраницыОписаниеДополнительно - 85 - - СтраницаОписание - 75 - - Описание - 76 - true - true - - true - - - Объект.Описание - - None - - ОписаниеExtendedTooltip - 134 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 77 - true - - InputField - Enter - true - Left - true - - true - 3 - true - true - true - true - Normal - - + ГруппаПравая + 158 + + Предмет + 48 true true true - - <key>ru</key> - <value>Описание</value> - - - ru - Описание - - true + + Предмет + + Top - СтраницаОписаниеExtendedTooltip - 133 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаДополнительныеРеквизиты - 86 - true - true - - true - - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Страница дополнительные реквизиты - - - СтраницаДополнительныеРеквизитыExtendedTooltip - 135 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКомментарий - 104 - - Комментарий - 105 - true - true - - true - - - Объект.Комментарий - - None - - КомментарийExtendedTooltip - 137 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 106 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Комментарий</value> - - - ru - Комментарий - - - СтраницаКомментарийExtendedTooltip - 136 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы описание дополнительно</value> - - - ru - Страницы описание дополнительно - - - СтраницыОписаниеДополнительноExtendedTooltip - 132 - Label - true - true - - Left - - - Pages - - TabsOnTop - Auto - - - - ГруппаЗаголовокУчастники - 99 - - ДекорацияЗаголовокУчастники - 100 - - <key>ru</key> - <value>Участники:</value> - - true - true - - true - - - ДекорацияЗаголовокУчастникиExtendedTooltip - 139 + ПредметExtendedTooltip + 117 Label true true @@ -999,28 +1028,42 @@ - ДекорацияЗаголовокУчастникиКонтекстноеМеню - 101 + ПредметКонтекстноеМеню + 49 true - Label - true - true - - Left + InputField + Enter + true + Left + true + + 25 + true + true + false + true + true + true + true + Normal - - ДекорацияУчастникиПустая - 102 + + Ответственный + 17 true true true + + Объект.Ответственный + + Top - ДекорацияУчастникиПустаяExtendedTooltip - 140 + ОтветственныйExtendedTooltip + 119 Label true true @@ -1029,16 +1072,152 @@ - ДекорацияУчастникиПустаяКонтекстноеМеню - 103 + ОтветственныйКонтекстноеМеню + 18 true - Label - true - true - true - - Left + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + Рассмотрено + 15 + true + true + + true + + + Рассмотрено + + Right + + OnChange + РассмотреноПриИзменении + + + РассмотреноExtendedTooltip + 129 + Label + true + true + + Left + + + + РассмотреноКонтекстноеМеню + 16 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 50 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 128 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 51 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + 16 + true + true + false + true + true + true + true + Normal + + + + Важность + 55 + true + true + + true + + + Объект.Важность + + Top + + ВажностьExtendedTooltip + 118 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 56 + true + + InputField + Enter + true + Left + true + + 16 + true + true + false + true + true + true + Normal @@ -1206,309 +1385,17 @@ Auto - true - true - - true - - - <key>ru</key> - <value>Группа заголовок участники</value> - - - ru - Группа заголовок участники - - - ГруппаЗаголовокУчастникиExtendedTooltip - 138 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаУчастники - 38 - - Участники - 25 + + ДекорацияПустая + 160 true true true - - Объект.Участники - - false - None - Change - Copy - EndEdit - SelectAll - - ПредставлениеКонтакта - 32 - true - true - - true - - - Объект.Участники.ПредставлениеКонтакта - - - OnChange - ПредставлениеКонтактаПриИзменении - - - ПредставлениеКонтактаExtendedTooltip - 149 - Label - true - true - - Left - - - - ПредставлениеКонтактаКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - 15 - true - true - true - true - true - Normal - - - - КакСвязаться - 34 - true - true - - true - - - Объект.Участники.КакСвязаться - - - КакСвязатьсяExtendedTooltip - 150 - Label - true - true - - Left - - - - КакСвязатьсяКонтекстноеМеню - 35 - true - - InputField - Enter - true - Left - true - - 15 - true - true - true - true - true - Normal - - - - Контакт - 30 - true - true - - true - - - Объект.Участники.Контакт - - - OnChange - КонтактПриИзменении - - - КонтактExtendedTooltip - 151 - Label - true - true - - Left - - - - КонтактКонтекстноеМеню - 31 - true - - InputField - Enter - true - Left - true - - - StartChoice - КонтактНачалоВыбора - - 15 - true - true - true - true - true - true - Normal - - - - УчастникиКоманднаяПанель - 27 - - СоздатьКонтакт - 46 - true - false - - true - - false - - СоздатьКонтактExtendedTooltip - 147 - Label - true - true - - Left - - - Form.Command.СоздатьКонтакт - Normal - Auto - true - true - UserCmds - Auto - - Left - true - - - OnActivateRow - УчастникиПриАктивизацииСтроки - - - OnChange - УчастникиПриИзменении - - - УчастникиСтрокаПоиска - 169 - - УчастникиСтрокаПоискаРасширеннаяПодсказка - 171 - Label - true - true - - Left - - - - УчастникиСтрокаПоискаКонтекстноеМеню - 170 - true - - Участники - - true - - - - УчастникиСостояниеПросмотра - 172 - - УчастникиСостояниеПросмотраРасширеннаяПодсказка - 174 - Label - true - true - - Left - - - - УчастникиСостояниеПросмотраКонтекстноеМеню - 173 - true - - ViewStatusAddition - Участники - - true - - - - УчастникиУправлениеПоиском - 175 - - УчастникиУправлениеПоискомРасширеннаяПодсказка - 177 - Label - true - true - - Left - - - - УчастникиУправлениеПоискомКонтекстноеМеню - 176 - true - - SearchControlAddition - Участники - - true - - - УчастникиExtendedTooltip - 148 + ДекорацияПустаяРасширеннаяПодсказка + 162 Label true true @@ -1517,35 +1404,141 @@ - УчастникиКонтекстноеМеню - 26 + ДекорацияПустаяКонтекстноеМеню + 161 true - true - true + Label true true - 3 - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true true - None - None - None - true - + + Left + +
                                          + + ГруппаАвторДатаРегистрации + 107 + + Дата + 110 + + <key>ru</key> + <value>Создана</value> + + true + true + + true + + + Объект.Date + + Left + + ДатаExtendedTooltip + 154 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 111 + true + + LabelField + true + Left + Enter + true + Left + true + + true + true + false + + ru + ДЛФ=DT + + + + + Автор + 112 + true + true + + true + + + Объект.Автор + + Left + + АвторExtendedTooltip + 155 + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 113 + true + + LabelField + true + Left + Enter + true + Left + true + + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Автор, дата регистрации</value> + + + ru + Автор, дата регистрации + + + ГруппаАвторДатаРегистрацииExtendedTooltip + 152 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + true true @@ -1554,15 +1547,15 @@ <key>ru</key> - <value>Участники встречи</value> + <value>Группа правая</value> ru - Участники встречи + Группа правая - ГруппаУчастникиExtendedTooltip - 146 + ГруппаПраваяРасширеннаяПодсказка + 159 Label true true @@ -1580,163 +1573,6 @@ Auto
                                          - - ГруппаАвторДатаРегистрации - 107 - - ДекорацияПустаяПодвал - 108 - true - true - - true - - - ДекорацияПустаяПодвалExtendedTooltip - 153 - Label - true - true - - Left - - - - ДекорацияПустаяПодвалКонтекстноеМеню - 109 - true - - Label - true - true - true - - Right - - - - Дата - 110 - - <key>ru</key> - <value>Создан</value> - - true - true - - true - - - Объект.Date - - Left - - ДатаExtendedTooltip - 154 - Label - true - true - - Left - - - - ДатаКонтекстноеМеню - 111 - true - - LabelField - true - Left - Enter - true - Left - true - - 13 - true - true - false - - ru - ДЛФ=DT - - - - - Автор - 112 - true - true - - true - - - Объект.Автор - - Left - - АвторExtendedTooltip - 155 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 113 - true - - LabelField - true - Left - Enter - true - Left - true - - 25 - true - true - false - true - - - true - true - - true - - - <key>ru</key> - <value>Автор, дата регистрации</value> - - - ru - Автор, дата регистрации - - - ГруппаАвторДатаРегистрацииExtendedTooltip - 152 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - ФормаКоманднаяПанель -1 @@ -1763,7 +1599,7 @@ true true true - Vertical + LeftWide true true true @@ -2024,6 +1860,27 @@ true + + КоличествоУчастников + + <key>ru</key> + <value>Количество участников</value> + + 14 + + Number + + 10 + true + + + + true + + + true + + СоздатьКонтакт diff --git a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Help/ru.html index 2c1a3af14..2d391bae6 100644 --- a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Help/ru.html @@ -1,25 +1,49 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Встреча</h1> -<p style="MARGIN-LEFT: 0px">Документ <b>Встреча</b> предназначен для регистрации информации о прошедших встречах, например по результатам обсуждения с клиентом нового коммерческого предложения. </p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Документ предназначен для регистрации информации о прошедших встречах, для планирования и отражения факта встреч - совещаний, семинаров и т.п. Например, в этом документе можно отразить результаты обсуждения с клиентом нового коммерческого предложения.</p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92456">Какие реквизиты можно указать в документе?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92459">Как указать участников встречи?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a9245c">Какие взаимодействия можно создать на основании запланированного встречи?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92456"> -<h3 style="MARGIN-LEFT: 0px">Какие реквизиты можно указать в документе?</h3></a> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a9245c">Какие взаимодействия можно создать на основании встречи?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#1">Как просмотреть взаимодействия, созданные на основании встречи?</a></p> +<p><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92456">Заполните необходимые поля:</a></p> <ul style="MARGIN-LEFT: 40px"><li><b>Начало</b> - дата и время начала встречи. </li><li><b>Окончание</b> - дата и время окончания встречи. -</li><li><b>Предмет</b> - то чему, посвящена встреча, например обсуждению претензии клиента. Если предмет встречи не определен, то в качестве предмета выступает первое взаимодействие цепочки. -</li><li><b>Важность</b> - признак необходимости уделения данному взаимодействию дополнительного внимания, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. -</li><li><b>Ответственный</b> - указывается ответственный за данное взаимодействие. -</li><li><b>Рассмотреть после</b> - необходимо заполнить, если рассмотрение данной встречи планируется отложить до определенной даты. -</li><li><b>Рассмотрено</b> - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. -</li><li><b>Тема</b> - краткое описание того, чему была посвящена встеча. -</li><li><b>Описание</b> - подробное описание хода и итогов встречи. -</li><li><b>Комментарий</b> - произвольный текстовый комментарий.</li></ul><p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Реквизиты <b>Рассмотрено </b>и <b>Рассмотреть после</b> доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование/Органайзер.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92459"> -<h3 style="MARGIN-LEFT: 0px">Как указать участников встречи?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li>Если участник уже зарегистрирован в информационной базе, то информация о нем указывается в поле <b>Контакт</b>. Поля <b>Представление контакта</b> и <b>Как связаться будут</b> заполнены автоматически. -</li><li>Если информацию о участнике встречи не планируется хранить, то достаточно указать <b>Представление контакта</b> и <b>Как связаться</b>. -</li><li>Зарегистрировать контакт можно непосредственно из формы встречи, нажав на кнопку "<b>Создать контакт</b>" в командной панели табличной части <b>Участники</b>.</li></ul><p style="MARGIN-LEFT: 20px"><br>Информация об участниках вводится в табличную часть документа. Указывается имя участника и информация о том, как связаться с участником. </p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a9245c"> -<h3 style="MARGIN-LEFT: 0px">Какие взаимодействия можно создать на основании запланированного встречи?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Написать письмо, отразить факт телефонного звонка, запланировать взаимодействие, отправить сообщение SMS. </p> -<p> </p></body></html> \ No newline at end of file +</li><li><b>Предмет</b> - то, чему посвящена встреча, например, обсуждению претензии клиента. Нажмите <img src="StdPicture.InputFieldSelect" width="12" height="12"></img> <strong>Выбрать</strong>, укажите <strong>Тип данных</strong>, затем из соответствующего списка выберите документ взаимодействий или какой-либо документ программы. Если предмет встречи не определен, то в качестве предмета выступает текущий документ, который представляет собой первое взаимодействие цепочки. При выполнении команды <strong>Взаимодействия</strong> во вновь созданном документе автоматически проставляется предмет, указанный в исходном документе, при этом основные поля будут также скопированы. Так можно создать цепочку <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">взаимодействий</a>. +</li><li><strong>Место</strong> - укажите адрес (номер) помещения, в котором происходила встреча. +</li><li><strong>Тема</strong> - краткое описание того, чему была посвящена встреча. +</li><li><strong>Ответственный</strong> - выберите ответственного за данное взаимодействие из <a href="Catalog.Пользователи/Help">списка пользователей</a>. По умолчанию программа указывает в качестве ответственного для большинства документов взаимодействия текущего <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>. +</li><li><strong>Рассмотрено</strong> - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. С рассмотренных документов программа снимает выделение. Использовать флажок <strong>Рассмотрено</strong> рекомендуется при коллективной работе с документами взаимодействия. +</li><li><b>Рассмотреть после</b> - необходимо заполнить дату и время, если рассмотрение данной встречи планируется отложить до определенной даты. Выберите из списка нужное значение: <strong>Через 15 мин</strong>, <strong>Через 30 мин</strong>, <strong>Через 1 час,</strong> <strong>Через 3 часа</strong>, <strong>Завтра</strong>. Помимо этих значений можно указать произвольную дату и время с помощью кнопки <img src="StdPicture.InputFieldCalendar"></img>. +</li><li><strong>Важность</strong> - выберите из списка признак необходимости уделения данному взаимодействию дополнительного внимания, или наоборот, признак несущественности. Может принимать значения <strong>Низкая</strong>, <strong>Обычная</strong>, <strong>Высокая</strong>. Отображается в списке специальными значками. +</li><li><b>Описание</b> - подробное описание хода и итогов встречи. Поле является обязательным. Располагается на специальной вкладке. +</li><li><b>Комментарий</b> - произвольный текстовый комментарий. Располагается на специальной вкладке. +</li><li><strong>Создана</strong> - дата и время создания документа. По умолчанию в этом поле программой автоматически проставляется текущая дата и время записи документа. Поле недоступно для редактирования. +</li><li><strong>Автор</strong> - пользователь, который создал документ. Указывается программой автоматически. Поле недоступно для редактирования.</li></ul><p style="MARGIN-LEFT: 20px"></p> +<table border="4"><tbody><tr><td>Реквизиты <b>Рассмотрено </b>и <b>Рассмотреть после</b> доступны для указания, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе <strong>Администрирование - Органайзер</strong>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92459"> +<h3 style="MARGIN-LEFT: 0px">Участники</h3> +<ul></ul></a> +<p>Для фиксирования контактов, которые участвовали в мероприятии, используется список <strong>Участники</strong>. Перейдите на соответствующую вкладку. Информация об участниках вводится в табличную часть документа. Нажмите <strong>Добавить</strong>. В списке указывается имя участника и информация о том, как с ним связаться. Список является обязательным - хотя бы один участник должен быть указан.</p> +<ul><li>Список состоит из колонок: +<ul><li> +<div style="MARGIN-LEFT: 0px"><strong>Представление контакта</strong> - полное наименование контакта;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"> +<div style="MARGIN-LEFT: 0px"><strong>Как связаться</strong> - контактная информация (телефон, адрес электронной почты и т.п.);</div></div> +</li><li> +<div style="MARGIN-LEFT: 0px"><strong>Контакт</strong> - поле выбора участника.</div></li></ul></li><li> +<div style="MARGIN-LEFT: 0px">Если участник уже зарегистрирован в программе, то информация о нем указывается в поле <b>Контакт</b>. С помощью кнопки <img src="StdPicture.InputFieldSelect" width="12" height="12"></img> <strong>Выбрать</strong> найдите контакт в окне <a href="CommonForm.ВыборКонтакта/Help">Выбор контакта</a>. После выбора контакта поля <b>Представление контакта</b> и <b>Как связаться будут</b> заполнены автоматически. </div> +</li><li>Если информацию о участнике встречи не планируется хранить, то достаточно указать <b>Представление контакта</b> и <b>Как связаться</b>. В этом случае в документе появляется информационное сообщение <strong>Не все контакты подобраны</strong>. </li></ul><ul><li>Зарегистрировать контакт можно после сохранения документа, нажав <b>Создать контакт</b>. Для выбора предлагаются списки программы. Заполните необходимые поля. <a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a9245c"> </a></li></ul><h3 style="MARGIN-LEFT: 0px">Создание взаимодействий на основании встречи</h3> +<p style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong>, для того чтобы:</p> +<ul><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЗапланированноеВзаимодействие.Form.ФормаДокумента/Help">Запланировать взаимодействие</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><strong>Запланировать встречу</strong>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.СообщениеSMS.Form.ФормаДокумента/Help">Написать SMS</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">Написать электронное письмо</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ТелефонныйЗвонок.Form.ФормаДокумента/Help">Позвонить</a>.</div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#1">Просмотр взаимодействий, созданных на основании встречи</a></h3> +<ul><li> +<div style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong> на панели навигации для перехода к <a href="DocumentJournal.Взаимодействия.Form.ФормаСпискаПараметрическая/Help">списку взаимодействий</a>, созданных на основании данного документа.</div></li></ul><h3 style="MARGIN-LEFT: 0px">См. также:</h3> +<ul><li> +<div style="MARGIN-LEFT: 0px"><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Module.bsl index 12fea7d23..3c8680e09 100644 --- a/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/Встреча/Forms/ФормаДокумента/Module.bsl @@ -43,6 +43,7 @@ УправлениеСвойствами.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект); // Конец СтандартныеПодсистемы.Свойства + КоличествоУчастников = Объект.Участники.Количество(); ПриСозданииИПриЧтенииНаСервере(); КонецПроцедуры @@ -68,6 +69,7 @@ ВзаимодействияКлиент.ОтработатьОповещение(ЭтотОбъект, ИмяСобытия, Параметр, Источник); ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "Встреча"); ПроверитьДоступностьСозданияКонтакта(); + КоличествоУчастников = Объект.Участники.Количество(); КонецПроцедуры @@ -190,6 +192,7 @@ Процедура УчастникиПриИзменении(Элемент) ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "Встреча"); + КоличествоУчастников = Объект.Участники.Количество(); ИзменилисьКонтакты = Истина; КонецПроцедуры diff --git a/SSL/src/Documents/Встреча/ManagerModule.bsl b/SSL/src/Documents/Встреча/ManagerModule.bsl index 0acf8a258..2bce67aa9 100644 --- a/SSL/src/Documents/Встреча/ManagerModule.bsl +++ b/SSL/src/Documents/Встреча/ManagerModule.bsl @@ -2,6 +2,14 @@ #Область ПрограммныйИнтерфейс +// Получает участников встречи +// +// Параметры: +// Ссылка - ДокументСсылка.Встреча - документ, контакты которого необходимо получить. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица, содержащая колонки "Контакт", "Представление" и "Адрес" +// Функция ПолучитьКонтакты(Ссылка) Экспорт Возврат Взаимодействия.ПолучитьУчастниковПоТаблице(Ссылка); diff --git a/SSL/src/Documents/Встреча/Встреча.mdo b/SSL/src/Documents/Встреча/Встреча.mdo index 4705011ab..3827458fe 100644 --- a/SSL/src/Documents/Встреча/Встреча.mdo +++ b/SSL/src/Documents/Встреча/Встреча.mdo @@ -445,6 +445,11 @@ <key>ru</key> <value>Форма выбора</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -602,7 +607,7 @@ <key>ru</key> <value>Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Form.form b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Form.form index 6eaa5a560..c883d69a4 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>23</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible/> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + +
                                          Список 1 @@ -237,10 +272,10 @@ СписокСтрокаПоиска - 23 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 25 + 27 Label true true @@ -250,7 +285,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 24 + 26 true Список @@ -260,10 +295,10 @@ СписокСостояниеПросмотра - 26 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 28 + 30 Label true true @@ -273,7 +308,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 27 + 29 true ViewStatusAddition @@ -284,10 +319,10 @@ СписокУправлениеПоиском - 29 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 31 + 33 Label true true @@ -297,7 +332,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 30 + 32 true SearchControlAddition @@ -357,6 +392,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..2c7c99c73 --- /dev/null +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,29 @@ + +

                                          Предназначен для выбора документа Запланированное взаимодействие. Документ предназначен для планирования взаимодействия с одним или несколькими контактами. Документ вводится в том случае, если необходимо запланировать взаимодействие, однако как именно будет производиться взаимодействие (телефонный звонок, встреча, электронное письмо, сообщение SMS), еще не известно.

                                          +

                                          Открывается по кнопке  после выбора типа данных Запланированное взаимодействие (например, при заполнении поля Предмет в каком-либо документе взаимодействий).

                                          +

                                          В списке выводится:

                                          +
                                          • Дата регистрации - дата создания документа; +
                                          • Номер - присваивается автоматически; +
                                          • Описание - в поле указывается, какие действия необходимо выполнить в рамках взаимодействия; +
                                          • Предмет - то, чему посвящен документ взаимодействий, например претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ начинает цепочку взаимодействий; +
                                          • Список участников - контакты, которые указаны в документах взаимодействий.

                                          Выбор документа

                                          +
                                          • +
                                            Выделите документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно использовать двойной щелчок мыши.

                                          Отбор по периоду

                                          +
                                          • С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Ввод документа Запланированное взаимодействие

                                          +

                                          Нажмите Создать. Заполните необходимые поля.

                                          +

                                          Создание взаимодействий на основании запланированного взаимодействия

                                          +

                                          Выделите нужный документ. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Form.form index d3e62a5fe..dd68a825b 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Form.form @@ -1,113 +1,22 @@ - ГруппаРеквизитыВзаимодействия - 51 - - ГруппаПредметОтветственный - 49 - - Предмет - 19 - true - true - - true - - - Предмет - - - ПредметExtendedTooltip - 101 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 20 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - true - true - Normal - - - - Ответственный - 13 - true - true - - true - - - Объект.Ответственный - - - ОтветственныйExtendedTooltip - 102 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 14 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - Normal - - + ГруппаЛевая + 133 + + Тема + 68 true true true - - <key>ru</key> - <value>Предмет, ответственный</value> - - - ru - Предмет, ответственный - + + Объект.Тема + - ГруппаПредметОтветственныйExtendedTooltip - 100 + ТемаExtendedTooltip + 108 Label true true @@ -115,78 +24,49 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + + ТемаКонтекстноеМеню + 69 + true + + InputField + Enter + true + Left + true + + 50 + true + true + true + false + true + true + true + Normal - ГруппаВажностьОтработать - 50 - - Важность - 47 - true - true - - true - - - Объект.Важность - - - ВажностьExtendedTooltip - 104 - Label - true - true - - Left - - - - ВажностьКонтекстноеМеню - 48 - true - - InputField - Enter - true - Left - true - - 17 - true - true - false - true - true - true - Normal - - + СтраницыОписаниеДополнительно + 63 - ГруппаОтработать - 52 + СтраницаОписание + 64 - РассмотретьПосле - 17 + Описание + 54 true true true - РассмотретьПосле + Объект.Описание + None - РассмотретьПослеExtendedTooltip - 106 + ОписаниеExtendedTooltip + 111 Label true true @@ -195,8 +75,8 @@ - РассмотретьПослеКонтекстноеМеню - 18 + ОписаниеКонтекстноеМеню + 55 true InputField @@ -205,57 +85,15 @@ Left true - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - true true - true + true true true true Normal - - Рассмотрено - 15 - true - true - - true - - - Рассмотрено - - Right - - OnChange - РассмотреноПриИзменении - - - РассмотреноExtendedTooltip - 107 - Label - true - true - - Left - - - - РассмотреноКонтекстноеМеню - 16 - true - - CheckBoxField - Enter - true - Left - true - - true true @@ -263,15 +101,16 @@ <key>ru</key> - <value>Отработать</value> + <value>Описание</value> ru - Отработать + Описание + true - ГруппаОтработатьExtendedTooltip - 105 + СтраницаОписаниеExtendedTooltip + 110 Label true true @@ -279,13 +118,456 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + Vertical + auto + + + + СтраницаДополнительныеРеквизиты + 67 + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительные реквизиты + + true + + СтраницаДополнительныеРеквизитыExtendedTooltip + 112 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + ГруппаУчастники + 53 + + Участники + 23 + true + true + + true + + + Объект.Участники + + false + None + Copy + + ПредставлениеКонтакта + 30 + true + true + + true + + + Объект.Участники.ПредставлениеКонтакта + + + OnChange + ПредставлениеКонтактаПриИзменении + + + ПредставлениеКонтактаExtendedTooltip + 126 + Label + true + true + + Left + + + + ПредставлениеКонтактаКонтекстноеМеню + 31 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + КакСвязаться + 32 + true + true + + true + + + Объект.Участники.КакСвязаться + + + КакСвязатьсяExtendedTooltip + 127 + Label + true + true + + Left + + + + КакСвязатьсяКонтекстноеМеню + 33 + true + + InputField + Enter + true + Left + true + + 15 + true + true + true + true + true + Normal + + + + Контакт + 28 + true + true + + true + + + Объект.Участники.Контакт + + + OnChange + КонтактПриИзменении + + + КонтактExtendedTooltip + 128 + Label + true + true + + Left + + + + КонтактКонтекстноеМеню + 29 + true + + InputField + Enter + true + Left + true + + + StartChoice + КонтактНачалоВыбора + + 15 + true + true + true + true + true + Normal + + + + УчастникиКоманднаяПанель + 25 + + СоздатьКонтакт + 45 + true + true + + true + + false + + СоздатьКонтактExtendedTooltip + 124 + Label + true + true + + Left + + + Form.Command.СоздатьКонтакт + Normal + Auto + true + true + UserCmds + Auto + + Left + true + + + OnActivateRow + УчастникиПриАктивизацииСтроки + + + OnChange + УчастникиПриИзменении + + + УчастникиСтрокаПоиска + 139 + + УчастникиСтрокаПоискаРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + + УчастникиСтрокаПоискаКонтекстноеМеню + 140 + true + + Участники + + true + + + + УчастникиСостояниеПросмотра + 142 + + УчастникиСостояниеПросмотраРасширеннаяПодсказка + 144 + Label + true + true + + Left + + + + УчастникиСостояниеПросмотраКонтекстноеМеню + 143 + true + + ViewStatusAddition + Участники + + true + + + + УчастникиУправлениеПоиском + 145 + + УчастникиУправлениеПоискомРасширеннаяПодсказка + 147 + Label + true + true + + Left + + + + УчастникиУправлениеПоискомКонтекстноеМеню + 146 + true + + SearchControlAddition + Участники + + true + + + + УчастникиExtendedTooltip + 125 + Label + true + true + + Left + + + + УчастникиКонтекстноеМеню + 24 + true + + true + true + true + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + None + None + None + true + +
                                          + true + true + + true + + + <key>ru</key> + <value>Участники</value> + + + ru + Участники + + true + + ГруппаУчастникиExtendedTooltip + 123 + Label + true + true + + Left + + + Page + + Vertical + auto + + КоличествоУчастников + + +
                                          + + СтраницаКомментарий + 89 + + Комментарий + 90 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 114 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 91 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ru + Комментарий + + true + + СтраницаКомментарийExtendedTooltip + 113 + Label + true + true + + Left + + + Page + + Vertical + auto true @@ -295,15 +577,16 @@ <key>ru</key> - <value>Важность, отработать</value> + <value>Страницы описание дополнительно</value> ru - Важность, отработать + Страницы описание дополнительно + true - ГруппаВажностьОтработатьExtendedTooltip - 103 + СтраницыОписаниеДополнительноExtendedTooltip + 109 Label true true @@ -311,13 +594,9 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto + Pages + + TabsOnTop Auto
                                          @@ -328,15 +607,17 @@ <key>ru</key> - <value>Реквизиты взаимодействия</value> + <value>Группа левая</value> ru - Реквизиты взаимодействия + Группа левая + true + true - ГруппаРеквизитыВзаимодействияExtendedTooltip - 99 + ГруппаЛеваяРасширеннаяПодсказка + 134 Label true true @@ -346,6 +627,7 @@ UsualGroup + Vertical Auto true true @@ -353,279 +635,24 @@ Auto
                                          - - Тема - 68 - true - true - - true - - - Объект.Тема - - - ТемаExtendedTooltip - 108 - Label - true - true - - Left - - - - ТемаКонтекстноеМеню - 69 - true - - InputField - Enter - true - Left - true - - 74 - true - true - false - true - true - true - true - Normal - - - СтраницыОписаниеДополнительно - 63 - - СтраницаОписание - 64 - - Описание - 54 - true - true - - true - - - Объект.Описание - - None - - ОписаниеExtendedTooltip - 111 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 55 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - + ГруппаПравая + 135 + + Предмет + 19 true true true - - <key>ru</key> - <value>Описание</value> - - - ru - Описание - - true + + Предмет + + Top - СтраницаОписаниеExtendedTooltip - 110 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаДополнительныеРеквизиты - 67 - true - true - - true - - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Страница дополнительные реквизиты - - - СтраницаДополнительныеРеквизитыExtendedTooltip - 112 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКомментарий - 89 - - Комментарий - 90 - true - true - - true - - - Объект.Комментарий - - None - - КомментарийExtendedTooltip - 114 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 91 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Комментарий</value> - - - ru - Комментарий - - - СтраницаКомментарийExtendedTooltip - 113 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы описание дополнительно</value> - - - ru - Страницы описание дополнительно - - - СтраницыОписаниеДополнительноExtendedTooltip - 109 - Label - true - true - - Left - - - Pages - - TabsOnTop - Auto - - - - ГруппаЗаголовокУчастники - 77 - - ДекорацияЗаголовокУчастники - 78 - - <key>ru</key> - <value>Предполагаемые участники:</value> - - true - true - - true - - - ДекорацияЗаголовокУчастникиExtendedTooltip - 116 + ПредметExtendedTooltip + 101 Label true true @@ -634,28 +661,42 @@ - ДекорацияЗаголовокУчастникиКонтекстноеМеню - 79 + ПредметКонтекстноеМеню + 20 true - Label - true - true - - Left + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + true + true + Normal - - ДекорацияУчастникиПустая - 80 + + Ответственный + 13 true true true + + Объект.Ответственный + + Top - ДекорацияУчастникиПустаяExtendedTooltip - 117 + ОтветственныйExtendedTooltip + 102 Label true true @@ -664,16 +705,151 @@ - ДекорацияУчастникиПустаяКонтекстноеМеню - 81 + ОтветственныйКонтекстноеМеню + 14 true - Label - true - true - true - - Left + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + Рассмотрено + 15 + true + true + + true + + + Рассмотрено + + Right + + OnChange + РассмотреноПриИзменении + + + РассмотреноExtendedTooltip + 107 + Label + true + true + + Left + + + + РассмотреноКонтекстноеМеню + 16 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 17 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 106 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 18 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + 16 + true + true + true + true + true + true + Normal + + + + Важность + 47 + true + true + + true + + + Объект.Важность + + Top + + ВажностьExtendedTooltip + 104 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 48 + true + + InputField + Enter + true + Left + true + + 16 + true + true + false + true + true + true + Normal @@ -841,377 +1017,8 @@ Auto - true - true - - true - - - <key>ru</key> - <value>Группа заголовок участники</value> - - - ru - Группа заголовок участники - - - ГруппаЗаголовокУчастникиExtendedTooltip - 115 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаУчастники - 53 - - Участники - 23 - true - true - - true - - - Объект.Участники - - false - None - Copy - - ПредставлениеКонтакта - 30 - true - true - - true - - - Объект.Участники.ПредставлениеКонтакта - - - OnChange - ПредставлениеКонтактаПриИзменении - - - ПредставлениеКонтактаExtendedTooltip - 126 - Label - true - true - - Left - - - - ПредставлениеКонтактаКонтекстноеМеню - 31 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - КакСвязаться - 32 - true - true - - true - - - Объект.Участники.КакСвязаться - - - КакСвязатьсяExtendedTooltip - 127 - Label - true - true - - Left - - - - КакСвязатьсяКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Контакт - 28 - true - true - - true - - - Объект.Участники.Контакт - - - OnChange - КонтактПриИзменении - - - КонтактExtendedTooltip - 128 - Label - true - true - - Left - - - - КонтактКонтекстноеМеню - 29 - true - - InputField - Enter - true - Left - true - - - StartChoice - КонтактНачалоВыбора - - true - true - true - true - true - Normal - - - - УчастникиКоманднаяПанель - 25 - - СоздатьКонтакт - 45 - true - true - - true - - false - - СоздатьКонтактExtendedTooltip - 124 - Label - true - true - - Left - - - Form.Command.СоздатьКонтакт - Normal - Auto - true - true - UserCmds - Auto - - Left - true - - - OnActivateRow - УчастникиПриАктивизацииСтроки - - - OnChange - УчастникиПриИзменении - - - УчастникиСтрокаПоиска - 141 - - УчастникиСтрокаПоискаРасширеннаяПодсказка - 143 - Label - true - true - - Left - - - - УчастникиСтрокаПоискаКонтекстноеМеню - 142 - true - - Участники - - true - - - - УчастникиСостояниеПросмотра - 144 - - УчастникиСостояниеПросмотраРасширеннаяПодсказка - 146 - Label - true - true - - Left - - - - УчастникиСостояниеПросмотраКонтекстноеМеню - 145 - true - - ViewStatusAddition - Участники - - true - - - - УчастникиУправлениеПоиском - 147 - - УчастникиУправлениеПоискомРасширеннаяПодсказка - 149 - Label - true - true - - Left - - - - УчастникиУправлениеПоискомКонтекстноеМеню - 148 - true - - SearchControlAddition - Участники - - true - - - - УчастникиExtendedTooltip - 125 - Label - true - true - - Left - - - - УчастникиКонтекстноеМеню - 24 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - None - None - None - true - -
                                          - true - true - - true - - - <key>ru</key> - <value>Предполагаемые участники</value> - - - ru - Участники - - - ГруппаУчастникиExtendedTooltip - 123 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - -
                                          - - ГруппаАвторДатаРегистрации - 92 - ДекорацияПодвалПустая + ДекорацияПраваяПустая 93 true true @@ -1219,7 +1026,7 @@ true - ДекорацияПодвалПустаяExtendedTooltip + ДекорацияПраваяПустаяРасширеннаяПодсказка 130 Label true @@ -1229,7 +1036,7 @@ - ДекорацияПодвалПустаяКонтекстноеМеню + ДекорацияПраваяПустаяКонтекстноеМеню 94 true @@ -1237,8 +1044,9 @@ true true true + true - Right + Left @@ -1246,7 +1054,7 @@ 95 <key>ru</key> - <value>Создан</value> + <value>Создано</value> true true @@ -1280,10 +1088,8 @@ Left true - 13 true true - false ru ДЛФ=DT @@ -1325,10 +1131,8 @@ Left true - 25 true true - false true @@ -1339,15 +1143,16 @@ <key>ru</key> - <value>Автор, дата регистрации</value> + <value>Группа правая</value> ru - Автор, дата регистрации + Группа правая + true - ГруппаАвторДатаРегистрацииExtendedTooltip - 129 + ГруппаПраваяРасширеннаяПодсказка + 136 Label true true @@ -1357,6 +1162,7 @@ UsualGroup + Vertical Auto true true @@ -1390,7 +1196,7 @@ true true true - Vertical + LeftWide true true true @@ -1549,6 +1355,27 @@ true + + КоличествоУчастников + + <key>ru</key> + <value>Количество участников</value> + + 9 + + Number + + 10 + true + + + + true + + + true + + ПозвонитьУчастникам diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Help/ru.html index d95e7601c..77ceeb4fe 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Help/ru.html @@ -1,24 +1,46 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Запланированное взаимодействие</h1> -<p style="MARGIN-LEFT: 0px">Документ предназначен для планирования взаимодействия с одним или несколькими контактами. Документ вводится в том случае, если необходимо запланировать взаимодействие, однако как именно будет производиться взаимодействие (телефонный звонок, встреча, электронное письмо, сообщение SMS) еще не известно. </p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Документ предназначен для планирования взаимодействия с одним или несколькими контактами. Вводится в том случае, если необходимо запланировать взаимодействие, однако как именно будет производиться взаимодействие (телефонный звонок, встреча, электронное письмо, сообщение SMS), еще не известно. </p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3ac11444df">Какие реквизиты можно указать в документе?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff394a79a4e0">Как указать контакты запланированного взаимодействия?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3b3910c647">Какие взаимодейстия можно создать на основании запланированного взаимодействия?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3ac11444df"> -<h3 style="MARGIN-LEFT: 0px">Какие реквизиты можно указать в документе?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li><b>Предмет</b> - то чему, посвящено взаимодействие, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает первое взаимодействие цепочки. -</li><li><b>Важность</b> - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. -</li><li><b>Ответственный</b> - указывается ответственный за данное взаимодействие. -</li><li><b>Рассмотреть после</b> - необходимо заполнить, если рассмотрение данного взаимодействие планируется отложить до определенной даты. -</li><li><b>Рассмотрено</b> - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3b3910c647">Какие взаимодействия можно создать на основании запланированного взаимодействия?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#2">Как просмотреть взаимодействия, созданные на основании данного документа?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3ac11444df"> +<p style="MARGIN-LEFT: 0px"></p></a><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff4c16a92456">Заполните необходимые поля:</a><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3ac11444df"></a> +<ul style="MARGIN-LEFT: 40px"><li><b>Предмет</b> - то, чему посвящено взаимодействие, например, претензии клиента. Предметом могут быть документы программы, а также <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">документы взаимодействий</a>. Если предмет взаимодействия не определен, то в качестве предмета выступает текущий документ (т.е. такой документ начинает цепочку взаимодействий). </li><li><b>Тема</b> - краткое описание того, чему будет посвящено запланированное взаимодействие. -</li><li><b>Описание</b> - подробное описание того, чему будет посвящено запланированное взаимодействие. -</li><li><b>Комментарий</b> - произвольный текстовый комментарий.</li></ul><p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Реквизиты <b>Рассмотрено </b>и <b>Рассмотреть после</b> доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование/Органайзер.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff394a79a4e0"> -<h3 style="MARGIN-LEFT: 0px">Как указать контакты запланированного взаимодействия?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Информация об участниках вводится в табличную часть документа. Указывается имя участника и информация о том, как связаться с участником. </p> -<ul style="MARGIN-LEFT: 40px"><li>Если участник уже зарегистрирован в информационной базе, то информация о нем указывается в поле "<b>Контакт</b>". -</li><li>Если это новый участник, то непосредственно из формы планируемого взаимодействия его можно зарегистрировать, нажав на кнопку "<b>Создать контакт</b>" в панели действий табличной части. -</li><li>Если информацию о участнике запланированного взаимодействия не планируется хранить, то достаточно указать <b>Представление контакта</b> и <b>Как связаться</b>.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3b3910c647"> -<h3 style="MARGIN-LEFT: 0px">Какие взаимодейстия можно создать на основании запланированного взаимодействия?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Написать письмо, отразить факт телефонного звонка, зарегистрировать встречу, отправить сообщение SMS. </p> -<p> </p></body></html> \ No newline at end of file +</li><li><b>Ответственный</b> - выберите ответственного за данное взаимодействие из <a href="Catalog.Пользователи/Help">списка пользователей</a>. По умолчанию для большинства документов взаимодействия программа указывает в качестве ответственного текущего <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>.   +</li><li><strong>Рассмотрено</strong> - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. С рассмотренных документов программа снимает выделение. Использовать флажок <strong>Рассмотрено</strong> рекомендуется при коллективной работе с документами взаимодействия. +</li><li><b>Рассмотреть после</b> - необходимо заполнить дату и время, если рассмотрение данного взаимодействия планируется отложить до определенной даты. Выберите из списка нужное значение: <strong>Через 15 мин</strong>, <strong>Через 30 мин</strong>, <strong>Через 1 час,</strong> <strong>Через 3 часа</strong>, <strong>Завтра</strong>. Помимо этих значений можно указать произвольную дату и время с помощью кнопки <img src="StdPicture.InputFieldCalendar" width="12" height="12"></img>.   +</li><li><strong>Важность</strong> - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения <strong>Низкая</strong>, <strong>Обычная</strong>, <strong>Высокая</strong>. +</li><li><b>Описание</b> - подробное описание того, чему будет посвящено запланированное взаимодействие. Располагается на специальной вкладке. +</li><li><b>Комментарий</b> - произвольный текстовый комментарий. Располагается на специальной вкладке. +</li><li><strong>Создано</strong> - дата и время создания документа. По умолчанию в этом поле программой автоматически проставляется текущая дата и время записи документа. Поле недоступно для редактирования. +</li><li><strong>Автор</strong> - пользователь, который создал документ. Указывается программой автоматически. Поле недоступно для редактирования.</li></ul><p style="MARGIN-LEFT: 20px"></p> +<table border="4"><tbody><tr><td>Реквизиты <b>Рассмотрено </b>и <b>Рассмотреть после</b> доступны для указания, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе <strong>Администрирование - Органайзер</strong>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff394a79a4e0"> +<h3 style="MARGIN-LEFT: 0px">Участники</h3></a> +<p style="MARGIN-LEFT: 0px">Для фиксирования контактов, которые будут участвовать в мероприятии, используется список <strong>Участники</strong>. Перейдите на соответствующую вкладку. Информация об участниках вводится в табличную часть документа. Нажмите <strong>Добавить</strong>. В списке указывается имя предполагаемого участника и информация о том, как связаться с участником. Список является обязательным - хотя бы один участник должен быть указан. </p> +<ul style="MARGIN-LEFT: 40px"><li>Список состоит из колонок: +<ul><li> +<div style="MARGIN-LEFT: 0px"><strong>Представление контакта</strong> - полное наименование контакта;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"> +<div style="MARGIN-LEFT: 0px"><strong>Как связаться</strong> - контактная информация (телефон, адрес электронной почты и т.п.);</div></div></li></ul><ul><li> +<div style="MARGIN-LEFT: 0px"><strong>Контакт</strong> - поле выбора участника.</div></li></ul></li><li> +<div style="MARGIN-LEFT: 0px">Если участник уже зарегистрирован в программе, то информация о нем указывается в поле <b>Контакт</b>. С помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> найдите контакт в окне <a href="CommonForm.ВыборКонтакта/Help">Выбор контакта</a>. Поля <b>Представление контакта</b> и <b>Как связаться будут</b> заполнены автоматически.</div> +</li><li> +<div style="MARGIN-LEFT: 0px">Если информацию о участнике встречи не планируется хранить, то достаточно указать <b>Представление контакта</b> и заполнить поле <b>Как связаться</b>. В этом случае в документе появляется информационное сообщение <strong>Не все контакты подобраны</strong>. </div> +</li><li>Если это новый участник, зарегистрировать контакт можно после сохранения документа, нажав <b>Создать контакт</b>. Для выбора предлагаются списки программы. Заполните необходимые поля.  </li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff3b3910c647"> +<h3 style="MARGIN-LEFT: 0px">Создание документов взаимодействий на основании запланированного взаимодействия</h3></a> +<p style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong>, для того чтобы:</p> +<ul><li> +<div style="MARGIN-LEFT: 0px"><strong>Запланировать взаимодействие</strong>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.Встреча.Form.ФормаДокумента/Help">Запланировать встречу</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.СообщениеSMS.Form.ФормаДокумента/Help">Написать SMS</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">Написать электронное письмо</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ТелефонныйЗвонок.Form.ФормаДокумента/Help">Позвонить</a>. </div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#2">Просмотр взаимодействий, созданных на основании запланированного взаимодействия</a></h3> +<ul><li> +<div style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong> на панели навигации для перехода к <a href="DocumentJournal.Взаимодействия.Form.ФормаСпискаПараметрическая/Help">списку взаимодействий</a>, созданных на основании этого запланированного взаимодействия.</div></li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Module.bsl index 817ade511..ad646fda1 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Forms/ФормаДокумента/Module.bsl @@ -182,6 +182,7 @@ Процедура УчастникиПриИзменении(Элемент) ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "ЗапланированноеВзаимодействие"); + КоличествоУчастников = Объект.Участники.Количество(); ИзменилисьКонтакты = Истина; КонецПроцедуры @@ -228,6 +229,7 @@ ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "ЗапланированноеВзаимодействие"); Элементы.РассмотретьПосле.Доступность = НЕ Рассмотрено; Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначения.ПолучитьКартинкуКомментария(Объект.Комментарий); + КоличествоУчастников = Объект.Участники.Количество(); КонецПроцедуры diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/Help/ru.html b/SSL/src/Documents/ЗапланированноеВзаимодействие/Help/ru.html index 5ca9a34e2..3a42de587 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/Help/ru.html +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/Help/ru.html @@ -1,4 +1,4 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> <h1>Запланированное взаимодействие</h1> -<p style="MARGIN-LEFT: 0px">Документ предназначен для планирования взаимодействия с одним или несколькими контактами. Документ вводится в том случае, если необходимо запланировать взаимодействие, однако как именно будет производиться взаимодействие (телефонный звонок, встреча, электронное письмо, сообщение SMS) еще не известно. </p> +<p style="MARGIN-LEFT: 0px">Документ предназначен для планирования взаимодействия с одним или несколькими контактами. Документ вводится в том случае, если необходимо запланировать взаимодействие, однако как именно будет производиться взаимодействие (телефонный звонок, встреча, электронное письмо, сообщение SMS), еще не известно. </p> <p> </p></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/ManagerModule.bsl b/SSL/src/Documents/ЗапланированноеВзаимодействие/ManagerModule.bsl index d85a27b29..84e700efc 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/ManagerModule.bsl +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/ManagerModule.bsl @@ -2,6 +2,14 @@ #Область ПрограммныйИнтерфейс +// Получает участников запланированного взаимодействия +// +// Параметры: +// Ссылка - ДокументСсылка.ЗапланированноеВзаимодействие - документ, контакты которого необходимо получить. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица, содержащая колонки "Контакт", "Представление" и "Адрес" +// Функция ПолучитьКонтакты(Ссылка) Экспорт Возврат Взаимодействия.ПолучитьУчастниковПоТаблице(Ссылка); diff --git a/SSL/src/Documents/ЗапланированноеВзаимодействие/ЗапланированноеВзаимодействие.mdo b/SSL/src/Documents/ЗапланированноеВзаимодействие/ЗапланированноеВзаимодействие.mdo index c8c59af3c..a3059af13 100644 --- a/SSL/src/Documents/ЗапланированноеВзаимодействие/ЗапланированноеВзаимодействие.mdo +++ b/SSL/src/Documents/ЗапланированноеВзаимодействие/ЗапланированноеВзаимодействие.mdo @@ -383,6 +383,11 @@ <key>ru</key> <value>Форма выбора</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -541,7 +546,7 @@ <key>ru</key> <value>Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Form.form b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Form.form index f66d59c4d..a674d7b6d 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>20</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible/> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -14,6 +49,44 @@ true false None + + Номер + 6 + true + true + + true + + + Список.Number + + + НомерExtendedTooltip + 14 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + false + + Дата 4 @@ -47,44 +120,10 @@ Left true + 14 true true - - - - Номер - 6 - true - true - - true - - - Список.Number - - - НомерExtendedTooltip - 14 - Label - true - true - - Left - - - - НомерКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true + false @@ -119,6 +158,7 @@ Left true + 35 true true @@ -128,9 +168,7 @@ 8 true true - - true - + Список.ШаблонАнкеты @@ -201,10 +239,10 @@
                                          СписокСтрокаПоиска - 20 + 22 СписокСтрокаПоискаРасширеннаяПодсказка - 22 + 24 Label true true @@ -214,7 +252,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 21 + 23 true Список @@ -224,10 +262,10 @@ СписокСостояниеПросмотра - 23 + 25 СписокСостояниеПросмотраРасширеннаяПодсказка - 25 + 27 Label true true @@ -237,7 +275,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 24 + 26 true ViewStatusAddition @@ -248,10 +286,10 @@ СписокУправлениеПоиском - 26 + 28 СписокУправлениеПоискомРасширеннаяПодсказка - 28 + 30 Label true true @@ -261,7 +299,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 27 + 29 true SearchControlAddition @@ -321,6 +359,7 @@ true true + ГруппаПользовательскихНастроек
                                          diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..a2364fc86 --- /dev/null +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,17 @@ + +

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

                                          +

                                          Открывается по кнопке выбора из отчетов Анализ опроса и Аналитический отчет по анкетированию раздела Анкетирование.

                                          +

                                          В списке выводится:

                                          +
                                          • Номер - автоматически присваивается программой; +
                                          • Дата - дата и время создания документа Назначение опроса; +
                                          • Наименование - полное наименование документа.

                                          Выбор документа Назначение опроса

                                          +
                                          • +
                                            Выделите нужный документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно воспользоваться двойным щелчком мыши.

                                          Отбор по периоду

                                          +
                                          • Выполните команду Все действия (В интерфейсе Такси Еще) - Установить интервал дат, выберите нужный период для просмотра документов.

                                          Назначение нового опроса

                                          +
                                          • Нажмите Создать, заполните необходимые поля.

                                          Создание нового опроса

                                          +
                                          • По команде Провести создается новый опрос с учетом установленных параметров. У респондентов появляется возможность заполнить анкету по данному опросу.

                                          Отмена опроса

                                          +
                                          • Выполните команду Все действия (в интерфейсе Такси Еще) - Отмена проведения, для того чтобы отменить опрос. После этого респонденты не увидят анкету по данному опросу.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Form.form index b738a06df..81d4e5360 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Form.form @@ -35,8 +35,10 @@ Left true + 10 true true + false true true true @@ -76,8 +78,10 @@ Left true + 14 true true + false true true true @@ -172,6 +176,10 @@ ДатаНачала 9 + + <key>ru</key> + <value>Действует с</value> + true true @@ -201,8 +209,10 @@ Left true + 15 true true + false true true true @@ -213,6 +223,10 @@ ДатаОкончания 11 + + <key>ru</key> + <value>по</value> + true true @@ -242,8 +256,10 @@ Left true + 15 true true + false true true true @@ -446,6 +462,10 @@ ВозможностьПредварительногоСохранения 13 + + <key>ru</key> + <value>Предварительное сохранение</value> + true true @@ -581,121 +601,542 @@ Auto - - Респонденты - 15 - true - true - - true - - - Объект.Респонденты - - false - Top - - РеспондентыНомерСтроки - 18 - true - true - - true - - - Объект.Респонденты.LineNumber - - - РеспондентыНомерСтрокиExtendedTooltip - 62 - Label - true - true - - Left - - - - РеспондентыНомерСтрокиКонтекстноеМеню - 19 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - РеспондентыРеспондент - 20 - true - true - - true - - - Объект.Респонденты.Респондент - - - РеспондентыРеспондентExtendedTooltip - 63 - Label - true - true - - Left - - - - РеспондентыРеспондентКонтекстноеМеню - 21 - true - - InputField - Auto - true - Left - true - - - StartChoice - РеспондентыРеспондентНачалоВыбора - - true - true - true - Items - true - true - true - Normal - - - - РеспондентыКоманднаяПанель - 17 - - КнопкаПодборРеспондентов - 35 + + СтраницыРеспондентыКомментарий + 65 + + СтраницаРеспонденты + 67 + + Респонденты + 15 true true true + + Объект.Респонденты + false + None + + РеспондентыНомерСтроки + 18 + true + true + + true + + + Объект.Респонденты.LineNumber + + + РеспондентыНомерСтрокиExtendedTooltip + 62 + Label + true + true + + Left + + + + РеспондентыНомерСтрокиКонтекстноеМеню + 19 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + РеспондентыРеспондент + 20 + true + true + + true + + + Объект.Респонденты.Респондент + + + РеспондентыРеспондентExtendedTooltip + 63 + Label + true + true + + Left + + + + РеспондентыРеспондентКонтекстноеМеню + 21 + true + + InputField + Auto + true + Left + true + + + StartChoice + РеспондентыРеспондентНачалоВыбора + + true + true + true + Items + true + true + true + Normal + + + + РеспондентыКоманднаяПанель + 17 + + РеспондентыДобавить + 71 + true + true + + true + + + РеспондентыДобавитьРасширеннаяПодсказка + 72 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + КнопкаПодборРеспондентов + 35 + + <key>ru</key> + <value>Подобрать</value> + + true + true + + true + + false + + КнопкаПодборРеспондентовExtendedTooltip + 60 + Label + true + true + + Left + + + Form.Command.ПодборРеспондентов + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыИзменить + 73 + true + true + + true + + + РеспондентыИзменитьРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыУдалить + 75 + true + true + + true + + + РеспондентыУдалитьРасширеннаяПодсказка + 76 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + РеспондентыПереместитьВверх + 77 + true + true + + true + + + РеспондентыПереместитьВверхРасширеннаяПодсказка + 78 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.MoveUp + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыПереместитьВниз + 79 + true + true + + true + + + РеспондентыПереместитьВнизРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.MoveDown + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыНайти + 91 + true + true + + true + + + РеспондентыНайтиРасширеннаяПодсказка + 92 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + РеспондентыОтменитьПоиск + 93 + true + true + + true + + + РеспондентыОтменитьПоискРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + РеспондентыСортироватьСписокПоВозрастанию + 81 + true + true + + true + + + РеспондентыСортироватьСписокПоВозрастаниюРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.SortListAsc + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыСортироватьСписокПоУбыванию + 83 + true + true + + true + + + РеспондентыСортироватьСписокПоУбываниюРасширеннаяПодсказка + 84 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.SortListDesc + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыВывестиСписок + 85 + true + true + + true + + + РеспондентыВывестиСписокРасширеннаяПодсказка + 86 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.OutputList + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыКопироватьВБуферОбмена + 87 + true + true + + true + + + РеспондентыКопироватьВБуферОбменаРасширеннаяПодсказка + 88 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.CopyToClipboard + Normal + Auto + true + true + UserCmds + Auto + + + РеспондентыВыделитьВсе + 89 + true + true + + true + + + РеспондентыВыделитьВсеРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + Form.Item.Респонденты.StandardCommand.SelectAll + Normal + Auto + true + true + UserCmds + Auto + + Left + + + OnStartEdit + РеспондентыПриНачалеРедактирования + + + РеспондентыСтрокаПоиска + 105 + + РеспондентыСтрокаПоискаРасширеннаяПодсказка + 107 + Label + true + true + + Left + + + + РеспондентыСтрокаПоискаКонтекстноеМеню + 106 + true + + Респонденты + + true + + + + РеспондентыСостояниеПросмотра + 108 + + РеспондентыСостояниеПросмотраРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + + РеспондентыСостояниеПросмотраКонтекстноеМеню + 109 + true + + ViewStatusAddition + Респонденты + + true + + + + РеспондентыУправлениеПоиском + 111 + + РеспондентыУправлениеПоискомРасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + РеспондентыУправлениеПоискомКонтекстноеМеню + 112 + true + + SearchControlAddition + Респонденты + + true + + - КнопкаПодборРеспондентовExtendedTooltip - 60 + РеспондентыExtendedTooltip + 61 Label true true @@ -703,27 +1144,54 @@ Left - Form.Command.ПодборРеспондентов - Normal - Auto + + РеспондентыКонтекстноеМеню + 16 + true + + true + true true true - UserCmds - Auto + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + true + true + None + None + None + true +
                                          - Left - true -
                                          - - OnStartEdit - РеспондентыПриНачалеРедактирования - - - РеспондентыСтрокаПоиска - 75 + true + true + + true + + + <key>ru</key> + <value>Респонденты</value> + + + ru + Страница респонденты + - РеспондентыСтрокаПоискаРасширеннаяПодсказка - 77 + СтраницаРеспондентыРасширеннаяПодсказка + 68 Label true true @@ -731,22 +1199,79 @@ Left - - РеспондентыСтрокаПоискаКонтекстноеМеню - 76 - true - - Респонденты - - true + Page + + Vertical + auto + + Объект.Респонденты.RowsCount + - - - РеспондентыСостояниеПросмотра - 78 +
                                          + + СтраницаКомментарий + 69 + + Комментарий + 43 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 64 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 44 + true + + InputField + Enter + true + Left + true + + true + 2 + true + true + true + false + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ru + Комментарий + - РеспондентыСостояниеПросмотраРасширеннаяПодсказка - 80 + СтраницаКомментарийРасширеннаяПодсказка + 70 Label true true @@ -754,98 +1279,31 @@ Left - - РеспондентыСостояниеПросмотраКонтекстноеМеню - 79 - true - - ViewStatusAddition - Респонденты - - true + Page + + + CommonPicture.Комментарий + + Vertical + auto - - - РеспондентыУправлениеПоиском - 81 - - РеспондентыУправлениеПоискомРасширеннаяПодсказка - 83 - Label - true - true - - Left - - - - РеспондентыУправлениеПоискомКонтекстноеМеню - 82 - true - - SearchControlAddition - Респонденты - - true - - - - РеспондентыExtendedTooltip - 61 - Label - true - true - - Left - - - - РеспондентыКонтекстноеМеню - 16 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - true - true - None - None - None - true - -
                                          - - Комментарий - 43 + true true true - - Объект.Комментарий - - Left + + <key>ru</key> + <value>Страницы респонденты комментарий</value> + + + ru + Страницы респонденты комментарий + - КомментарийExtendedTooltip - 64 + СтраницыРеспондентыКомментарийРасширеннаяПодсказка + 66 Label true true @@ -853,30 +1311,10 @@ Left - - КомментарийКонтекстноеМеню - 44 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарийНачалоВыбора - - true - 2 - true - true - true - true - true - true - Normal + Pages + + TabsOnTop + Auto
                                          @@ -970,6 +1408,14 @@ + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + BeforeWrite ПередЗаписью diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Help/ru.html new file mode 100644 index 000000000..8adb7a68e --- /dev/null +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Help/ru.html @@ -0,0 +1,19 @@ + +

                                          Предназначен для назначения опроса респондентам.

                                          +

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

                                          +

                                          Назначение опроса

                                          +

                                          Заполните следующие поля:

                                          +
                                          • Номер - проставляется программой автоматически. +
                                          • Дата - дата и время создания документа, проставляется программой автоматически, при необходимости можно изменить. +
                                          • В поле Наименование укажите заголовок опроса, под которым данная анкета появится в списке доступных анкет у респондентов. Поле является обязательным. +
                                          • Период проведения опроса задается в полях Действует с... по... - заполните дату начала и дату окончания опроса. Поля не обязательны к заполнению. Если период проведения опроса не задан, то такая анкета будет находиться в списке доступных анкет у респондента до тех пор, пока он не ответит на нее. +
                                          • В поле Шаблон анкеты указывается ранее подготовленный шаблон анкеты для этого опроса (выбирается из списка Шаблоны анкет). Поле обязательно для заполнения. +
                                          • Выберите Тип респондентов. Респонденты - это внешние пользователи программы, которые связаны с объектами программы, например, со списком партнеров. В поле Тип респондентов необходимо указать, для какого типа внешних пользователей программы предназначен опрос. Для этого выберите один из списков программы. +
                                          • Затем в список Респонденты необходимо добавить из выбранного списка конкретных внешних пользователей, для которых предназначен опрос. +
                                          • Если в опросе участвуют все респонденты указанного типа, например, все партнеры, то необходимо установить флажок Свободный опрос. В этом случае список Респонденты недоступен для редактирования. +
                                          • Напишите Комментарий - дополнительные сведения о назначении опроса. +
                                          • Установите флажок Показывать в архиве анкет, такая анкета будет доступна респонденту в списке архивных анкет. Все свои ранее заполненные анкеты с установленным флажком респондент может посмотреть по команде Архив анкет. +
                                          • Установив флажок Предварительное сохранение, можно разрешить респонденту заполнять анкету в несколько подходов. Если флажок установлен, то респондент сможет сохранить частично заполненную анкету с помощью команды Записать. Респондент может вернуться к заполнению анкеты в любое время. При этом анкета не будет считаться окончательно заполненной до тех пор, пока респондент не воспользуется командой Завершить и закрыть. Если флажок Предварительное сохранение не установлен, то респонденту нужно будет заполнить анкету за один подход. В этом случае в анкете для записи будет доступна только одна команда Завершить и закрыть. +
                                          • По команде Провести (или Провести и закрыть) с учетом установленных параметров создается новый опрос. У респондентов появляется возможность заполнить анкеты по данному опросу.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Module.bsl index d700d6245..a4f5f31a2 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаДокумента/Module.bsl @@ -29,6 +29,10 @@ ТипРеспондентов = Новый ОписаниеТипов(МассивТипов); КонецЕсли; + Если Объект.Ссылка.Пустая() Тогда + ПриСозданииЧтенииНаСервере(); + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -71,6 +75,20 @@ КонецПроцедуры +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначения.ПолучитьКартинкуКомментария(Объект.Комментарий); + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПриСозданииЧтенииНаСервере(); + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы @@ -93,13 +111,6 @@ КонецПроцедуры -&НаКлиенте -Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект, "Объект.Комментарий"); - -КонецПроцедуры - #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыРеспонденты @@ -178,4 +189,11 @@ КонецПроцедуры +&НаСервере +Процедура ПриСозданииЧтенииНаСервере() + + Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначения.ПолучитьКартинкуКомментария(Объект.Комментарий); + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Form.form b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Form.form index ca065dc02..f3b1910c0 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Form.form +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Form.form @@ -4,825 +4,181 @@ ru Подбор респондентов - - ГруппаСписки - 22 - - ГруппаЛевыйСписок - 18 - - ГруппаКоманднаяПанельОтобранныеЗначения - 28 - - Удалить - 29 - true - true - - true - - false - - УдалитьExtendedTooltip - 37 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - СортироватьПоВозрастанию - 31 - true - true - - true - - false - - СортироватьПоВозрастаниюExtendedTooltip - 38 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - СортироватьПоУбыванию - 32 - true - true - - true - - false - - СортироватьПоУбываниюExtendedTooltip - 39 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - true - true - - true - - - <key>ru</key> - <value>Группа командная панель отобранные значения</value> - - - ru - Группа командная панель отобранные значения - - - ГруппаКоманднаяПанельОтобранныеЗначенияExtendedTooltip - 36 - Label - true - true - - Left - - - CommandBar - - Left - - - - СписокЗначений - 23 - true - true - - true - - false - None - - СписокЗначенийЗначение - 26 - true - true - - true - - - СписокЗначенийЗначениеExtendedTooltip - 41 - Label - true - true - - Left - - - - СписокЗначенийЗначениеКонтекстноеМеню - 27 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - СписокЗначенийКоманднаяПанель - 25 - Left - - - СписокЗначенийСтрокаПоиска - 59 - - СписокЗначенийСтрокаПоискаРасширеннаяПодсказка - 61 - Label - true - true - - Left - - - - СписокЗначенийСтрокаПоискаКонтекстноеМеню - 60 - true - - СписокЗначений - - true - - - - СписокЗначенийСостояниеПросмотра - 62 - - СписокЗначенийСостояниеПросмотраРасширеннаяПодсказка - 64 - Label - true - true - - Left - - - - СписокЗначенийСостояниеПросмотраКонтекстноеМеню - 63 - true - - ViewStatusAddition - СписокЗначений - - true - - - - СписокЗначенийУправлениеПоиском - 65 - - СписокЗначенийУправлениеПоискомРасширеннаяПодсказка - 67 - Label - true - true - - Left - - - - СписокЗначенийУправлениеПоискомКонтекстноеМеню - 66 - true - - SearchControlAddition - СписокЗначений - - true - - - - СписокЗначенийExtendedTooltip - 40 - Label - true - true - - Left - - - - СписокЗначенийКонтекстноеМеню - 24 - true - - true - true - true - true - true - MultiRow - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - None - None - None - true - - true - true - - true - - - <key>ru</key> - <value>Группа левый список</value> - - - ru - Группа левый список - - - ГруппаЛевыйСписокExtendedTooltip - 35 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаПравыйСписок - 19 - - ГруппаКоманднаяПанельРеспонденты - 11 - - Выбрать - 33 - true - true - - true - - false - - ВыбратьExtendedTooltip - 44 - Label - true - true - - Left - - - Form.Item.Респонденты.StandardCommand.Choose - Normal - Auto - true - true - UserCmds - Auto - - - НастроитьСписок - 12 - true - true - - true - - false - - НастроитьСписокExtendedTooltip - 45 - Label - true - true - - Left - - - Form.Item.Респонденты.StandardCommand.ListSettings - Normal - PictureAndText - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - Обновить - 13 - true - true - - true - - false - - ОбновитьExtendedTooltip - 46 - Label - true - true - - Left - - - Form.Item.Респонденты.StandardCommand.Refresh - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ГруппаРеспондентыРежимПросмотра - 14 - - Список - 15 - true - true - - true - - false - - СписокExtendedTooltip - 48 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ИерархическийСписок - 16 - true - true - - true - - false - - ИерархическийСписокExtendedTooltip - 49 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - Дерево - 17 - true - true - - true - - false - - ДеревоExtendedTooltip - 50 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - true - true - - true - - - ru - Группа респонденты режим просмотра - - - ГруппаРеспондентыРежимПросмотраExtendedTooltip - 47 - Label - true - true - - Left - - - Popup - - - StdPicture.HierarchicalView - - Auto - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа командная панель респонденты</value> - - - ru - Группа командная панель респонденты - - - ГруппаКоманднаяПанельРеспондентыExtendedTooltip - 43 - Label - true - true - - Left - - - CommandBar - - Left - - - - Респонденты - 1 - true - true - - true - - - Респонденты - - false - None - - РеспондентыНаименование - 9 - - <key>ru</key> - <value>Респондент</value> - - true - true - - true - - - Респонденты.Description - - - РеспондентыНаименованиеExtendedTooltip - 52 - Label - true - true - - Left - - - - РеспондентыНаименованиеКонтекстноеМеню - 10 - true - - LabelField - Enter - true - Left - true - - true - true - - - - РеспондентыСсылка - 56 - true - true - - - Респонденты.Ref - - - РеспондентыСсылкаРасширеннаяПодсказка - 58 - Label - true - true - - Left - - - - РеспондентыСсылкаКонтекстноеМеню - 57 - true - - LabelField - Enter - true - Left - true - - true - true - - - - РеспондентыКоманднаяПанель - 3 - Left - - - ValueChoice - РеспондентыВыборЗначения - - - Selection - РеспондентыВыбор - - - РеспондентыСтрокаПоиска - 77 - - РеспондентыСтрокаПоискаРасширеннаяПодсказка - 79 - Label - true - true - - Left - - - - РеспондентыСтрокаПоискаКонтекстноеМеню - 78 - true - - Респонденты - - true - - - - РеспондентыСостояниеПросмотра - 80 - - РеспондентыСостояниеПросмотраРасширеннаяПодсказка - 82 - Label - true - true - - Left - - - - РеспондентыСостояниеПросмотраКонтекстноеМеню - 81 - true - - ViewStatusAddition - Респонденты - - true - - - - РеспондентыУправлениеПоиском - 83 - - РеспондентыУправлениеПоискомРасширеннаяПодсказка - 85 - Label - true - true - - Left - - - - РеспондентыУправлениеПоискомКонтекстноеМеню - 84 - true - - SearchControlAddition - Респонденты - - true - - - - РеспондентыExtendedTooltip - 51 - Label - true - true - - Left - - - - РеспондентыКонтекстноеМеню - 2 - - true - true - true - true - true - true - true - MultiRow - Row - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - true - true - - Респонденты.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - - - true - true - - true - - - <key>ru</key> - <value>Группа правый список</value> - - - ru - Группа правый список - - - ГруппаПравыйСписокExtendedTooltip - 42 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - + + Респонденты + 1 true true true - - <key>ru</key> - <value>Группа списки</value> - - - ru - Группа списки - + + Респонденты + + false + None + + РеспондентыНаименование + 9 + + <key>ru</key> + <value>Респондент</value> + + true + true + + true + + + Респонденты.Description + + + РеспондентыНаименованиеExtendedTooltip + 52 + Label + true + true + + Left + + + + РеспондентыНаименованиеКонтекстноеМеню + 10 + true + + LabelField + Enter + true + Left + true + + true + true + + + + РеспондентыСсылка + 56 + true + true + + + Респонденты.Ref + + + РеспондентыСсылкаРасширеннаяПодсказка + 58 + Label + true + true + + Left + + + + РеспондентыСсылкаКонтекстноеМеню + 57 + true + + LabelField + Enter + true + Left + true + + true + true + + + + РеспондентыКоманднаяПанель + 3 + Left + true + + + ValueChoice + РеспондентыВыборЗначения + + + Selection + РеспондентыВыбор + + + РеспондентыСтрокаПоиска + 59 + + РеспондентыСтрокаПоискаРасширеннаяПодсказка + 61 + Label + true + true + + Left + + + + РеспондентыСтрокаПоискаКонтекстноеМеню + 60 + true + + Респонденты + + true + + + + РеспондентыСостояниеПросмотра + 62 + + РеспондентыСостояниеПросмотраРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + + РеспондентыСостояниеПросмотраКонтекстноеМеню + 63 + true + + ViewStatusAddition + Респонденты + + true + + + + РеспондентыУправлениеПоиском + 65 + + РеспондентыУправлениеПоискомРасширеннаяПодсказка + 67 + Label + true + true + + Left + + + + РеспондентыУправлениеПоискомКонтекстноеМеню + 66 + true + + SearchControlAddition + Респонденты + + true + + - ГруппаСпискиExtendedTooltip - 34 + РеспондентыExtendedTooltip + 51 Label true true @@ -830,13 +186,44 @@ Left
                                          - UsualGroup - - Auto - true - true - Auto - Auto + + РеспондентыКонтекстноеМеню + 2 + + true + true + true + true + true + true + true + MultiRow + Row + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + + Респонденты.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true
                                          @@ -940,6 +327,36 @@ ФормаКоманднаяПанель -1 + + ГруппаСписки + 22 + true + true + + true + + + <key>ru</key> + <value>Группа списки</value> + + + ru + Группа списки + + + ГруппаСпискиExtendedTooltip + 34 + Label + true + true + + Left + + + + Item.Респонденты + + Left true diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Help/ru.html b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Help/ru.html new file mode 100644 index 000000000..63f01ee97 --- /dev/null +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Help/ru.html @@ -0,0 +1,8 @@ + +

                                          Предназначена для подбора респондентов из выбранного списка программы.

                                          +

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

                                          +

                                          Выбор респондентов

                                          +
                                          • Выделите один или несколько элементов списка, нажмите Выбрать. +
                                          • Для выбора одного элемента также можно воспользоваться двойным щелчком мыши.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Module.bsl b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Module.bsl index 0f79caa38..a5a84653c 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Module.bsl +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаПодбораРеспондентов/Module.bsl @@ -1,15 +1,6 @@ -//////////////////////////////////////////////////////////////////////////////// -// ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ - -&НаКлиенте -Процедура ОбработатьВыборРеспондента(МассивВыбора) - - Оповестить("ВыборРеспондентов",Новый Структура("ОтобранныеРеспонденты",МассивВыбора)); - -КонецПроцедуры - #Область ОбработчикиСобытийФормы + &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -29,6 +20,10 @@ КонецПроцедуры +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + &НаКлиенте Процедура РеспондентыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) @@ -52,3 +47,17 @@ КонецПроцедуры #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ОбработатьВыборРеспондента(МассивВыбора) + + Оповестить("ВыборРеспондентов",Новый Структура("ОтобранныеРеспонденты",МассивВыбора)); + +КонецПроцедуры + +#КонецОбласти + + + diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Form.form b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Form.form index 7dbff803c..0e65e8496 100644 --- a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Form.form +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 32 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -14,21 +49,103 @@ true false None - - Дата - 4 + + ГруппаНомерДата + 26 + + Номер + 6 + true + true + + true + + + Список.Number + + + НомерExtendedTooltip + 18 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + false + + + + Дата + 4 + true + true + + true + + + Список.Date + + true + + ДатаExtendedTooltip + 17 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + 10 + true + true + false + + true true true - - Список.Date - - true + + <key>ru</key> + <value>Группа номер дата</value> + + + ru + Группа номер дата + + 10 - ДатаExtendedTooltip - 17 + ГруппаНомерДатаРасширеннаяПодсказка + 27 Label true true @@ -36,35 +153,108 @@ Left - - ДатаКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true - - Номер - 6 + + ГруппаНаименованиеШаблон + 28 + + Наименование + 14 + true + true + + true + + + Список.Наименование + + + НаименованиеExtendedTooltip + 19 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 15 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + false + + + + ШаблонАнкеты + 8 + true + true + + true + + + Список.ШаблонАнкеты + + + ШаблонАнкетыExtendedTooltip + 20 + Label + true + true + + Left + + + + ШаблонАнкетыКонтекстноеМеню + 9 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + false + + true true true - - Список.Number - + + <key>ru</key> + <value>Группа наименование шаблон</value> + + + ru + Группа наименование шаблон + - НомерExtendedTooltip - 18 + ГруппаНаименованиеШаблонРасширеннаяПодсказка + 29 Label true true @@ -72,35 +262,108 @@ Left - - НомерКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true - - Наименование - 14 + + ГруппаДаты + 30 + + ДатаНачала + 10 + true + true + + true + + + Список.ДатаНачала + + + ДатаНачалаExtendedTooltip + 21 + Label + true + true + + Left + + + + ДатаНачалаКонтекстноеМеню + 11 + true + + LabelField + Enter + true + Left + true + + 12 + true + true + false + + + + ДатаОкончания + 12 + true + true + + true + + + Список.ДатаОкончания + + + ДатаОкончанияExtendedTooltip + 22 + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 13 + true + + LabelField + Enter + true + Left + true + + 12 + true + true + false + + true true true - - Список.Наименование - + + <key>ru</key> + <value>Группа даты</value> + + + ru + Группа даты + - НаименованиеExtendedTooltip - 19 + ГруппаДатыРасширеннаяПодсказка + 31 Label true true @@ -108,127 +371,11 @@ Left - - НаименованиеКонтекстноеМеню - 15 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ШаблонАнкеты - 8 - true - true - - true - - - Список.ШаблонАнкеты - - - ШаблонАнкетыExtendedTooltip - 20 - Label - true - true - - Left - - - - ШаблонАнкетыКонтекстноеМеню - 9 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ДатаНачала - 10 - true - true - - true - - - Список.ДатаНачала - - - ДатаНачалаExtendedTooltip - 21 - Label - true - true - - Left - - - - ДатаНачалаКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ДатаОкончания - 12 - true - true - - true - - - Список.ДатаОкончания - - - ДатаОкончанияExtendedTooltip - 22 - Label - true - true - - Left - - - - ДатаОкончанияКонтекстноеМеню - 13 - true - - LabelField - Enter - true - Left - true - - true - true + ColumnGroup + + Vertical + auto + true @@ -273,10 +420,10 @@ СписокСтрокаПоиска - 26 + 34 СписокСтрокаПоискаРасширеннаяПодсказка - 28 + 36 Label true true @@ -286,7 +433,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 27 + 35 true Список @@ -296,10 +443,10 @@ СписокСостояниеПросмотра - 29 + 37 СписокСостояниеПросмотраРасширеннаяПодсказка - 31 + 39 Label true true @@ -309,7 +456,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 30 + 38 true ViewStatusAddition @@ -320,10 +467,10 @@ СписокУправлениеПоиском - 32 + 40 СписокУправлениеПоискомРасширеннаяПодсказка - 34 + 42 Label true true @@ -333,7 +480,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 33 + 41 true SearchControlAddition @@ -392,6 +539,7 @@ true true + ГруппаПользовательскихНастроек diff --git a/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Help/ru.html b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..9eed8b7ca --- /dev/null +++ b/SSL/src/Documents/НазначениеОпросов/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,17 @@ + +

                                          Предназначен для назначения опросов респондентам.

                                          +

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

                                          +

                                          Открывается по команде Назначения опросов раздела Анкетирование.

                                          +

                                          В списке выводится:

                                          +
                                          • Номер - автоматически присваивается программой; +
                                          • Дата - дата и время создания документа Назначение опроса; +
                                          • Наименование - полное наименование документа; +
                                          • Шаблон анкеты - наименование выбранного для проведения опроса шаблона анкеты; +
                                          • Дата начала - дата начала действия опроса; +
                                          • Дата окончания - дата окончания действия опроса.

                                          Назначение нового опроса

                                          +
                                          • Нажмите Создать, заполните необходимые поля.

                                          Создание нового опроса

                                          +
                                          • По команде Еще (Все действия) - Провести создается новый опрос с учетом установленных параметров. У респондентов появляется возможность заполнить анкеты по данному опросу.

                                          Отмена проведения

                                          +
                                          • Выполните команду Еще (Все действия) - Отмена проведения, для того чтобы отменить опрос. После этого респонденты не увидят анкету по данному опросу.

                                          Отбор по периоду

                                          +
                                          • Выполните команду  Еще (Все действия) - Установить интервал дат, выберите нужный период для просмотра документов.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/НазначениеОпросов/НазначениеОпросов.mdo b/SSL/src/Documents/НазначениеОпросов/НазначениеОпросов.mdo index 700b72f5b..affd4e53e 100644 --- a/SSL/src/Documents/НазначениеОпросов/НазначениеОпросов.mdo +++ b/SSL/src/Documents/НазначениеОпросов/НазначениеОпросов.mdo @@ -275,6 +275,11 @@ ru Форма документа + + + ru + + PersonalComputer MobileDevice @@ -284,6 +289,11 @@ ru Форма подбора респондентов + + + ru + + PersonalComputer MobileDevice @@ -293,6 +303,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice @@ -302,6 +317,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Form.form index 6e63c1c61..cc555eb5b 100644 --- a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Form.form @@ -1,159 +1,29 @@ - ГруппаРеквизитыШапки - 6 + ГруппаЛевая + 159 - ГруппаПредметОтветственный - 7 - - Предмет - 8 - true - true - - true - - - Предмет - - - ПредметExtendedTooltip - 119 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 9 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - true - true - Normal - - - - Ответственный - 12 - true - true - - true - - - Объект.Ответственный - - - ОтветственныйExtendedTooltip - 120 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 13 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа предмет ответственный</value> - - - ru - Предмет, важность, место проведения - - - ГруппаПредметОтветственныйExtendedTooltip - 118 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаИсполнениеВажность - 14 + СтраницыКонтактыДопРеквизитыКомментарий + 65 - ГруппаИсполнение - 25 + СтраницаСообщение + 77 - НаКонтроле - 92 - - <key>ru</key> - <value>На контроле, рассмотреть после</value> - + ОсталосьСимволов + 82 true true true - НаКонтроле + ОсталосьСимволов - Right - - OnChange - НаКонтролеПриИзменении - + None - НаКонтролеExtendedTooltip - 123 + ОсталосьСимволовExtendedTooltip + 130 Label true true @@ -162,8 +32,122 @@ - НаКонтролеКонтекстноеМеню - 93 + ОсталосьСимволовКонтекстноеМеню + 83 + true + + InputField + true + false + Right + Enter + true + Left + true + + true + true + false + false + false + false + false + false + false + true + true + + Style.ПоясняющийТекст + + + Style.FormBackColor + + + Style.FormBackColor + + Normal + + + + ТекстСообщения + 75 + true + true + + true + + + Объект.ТекстСообщения + + None + + ТекстСообщенияExtendedTooltip + 131 + Label + true + true + + Left + + + + ТекстСообщенияКонтекстноеМеню + 76 + true + + InputField + Enter + true + Left + true + + + TextEditEnd + ТекстСообщенияОкончаниеВводаТекста + + true + true + true + true + true + true + true + Normal + + + + ОтправлятьВТранслите + 71 + + <key>ru</key> + <value>Преобразовать кириллические символы в латинские</value> + + true + true + + true + + + Объект.ОтправлятьВТранслите + + Right + + OnChange + ОтправлятьВТранслитеПриИзменении + + + ОтправлятьВТранслитеExtendedTooltip + 125 + Label + true + true + + Left + + + + ОтправлятьВТранслитеКонтекстноеМеню + 72 true CheckBoxField @@ -173,52 +157,6 @@ true - - РассмотретьПосле - 26 - true - true - - true - - - РассмотретьПосле - - None - - РассмотретьПослеExtendedTooltip - 124 - Label - true - true - - Left - - - - РассмотретьПослеКонтекстноеМеню - 27 - true - - InputField - Enter - true - Left - true - - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - - true - true - true - true - true - true - Normal - - true true @@ -226,470 +164,395 @@ <key>ru</key> - <value>Исполнение</value> + <value>Сообщение</value> ru - Исполнение + Страница сообщение - 45 - false - - ГруппаИсполнениеExtendedTooltip - 122 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ОтправлятьВТранслите - 71 - - <key>ru</key> - <value>Преобразовать кириллические символы в латинские</value> - - true - true - - true - - - Объект.ОтправлятьВТранслите - - Right - - OnChange - ОтправлятьВТранслитеПриИзменении - - - ОтправлятьВТранслитеExtendedTooltip - 125 - Label - true - true - - Left - - - - ОтправлятьВТранслитеКонтекстноеМеню - 72 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Время проведения</value> - - - ru - Группа исполнение важность - - true - false - - ГруппаИсполнениеВажностьExtendedTooltip - 121 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Период, предмет, важность</value> - - - ru - Период, предмет, важность - - - ГруппаРеквизитыШапкиExtendedTooltip - 117 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаСтатусПреобразовывать - 100 - true - true - - true - - - <key>ru</key> - <value>Группа статус преобразовывать</value> - - false - - ГруппаСтатусПреобразовыватьExtendedTooltip - 126 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ГруппаДекорацийТекстСообщения - 77 - - ДекорацияЗаголовокТекстСообщения - 78 - - <key>ru</key> - <value>Текст сообщения: </value> - - true - true - - true - - - ДекорацияЗаголовокТекстСообщенияExtendedTooltip - 128 - Label - true - true - - Left - - - - ДекорацияЗаголовокТекстСообщенияКонтекстноеМеню - 79 - true - - Label - true - true - - Left - - - - ДекорацияОтступ - 80 - true - true - - true - - - ДекорацияОтступExtendedTooltip - 129 - Label - true - true - - Left - - - - ДекорацияОтступКонтекстноеМеню - 81 - true - - Label - true - true - true - - Left - - - - ОсталосьСимволов - 82 - true - true - - true - - - ОсталосьСимволов - - None - - ОсталосьСимволовExtendedTooltip - 130 - Label - true - true - - Left - - - - ОсталосьСимволовКонтекстноеМеню - 83 - true - - InputField - true - false - Right - Enter - true - Left - true - - true - true - false - false - false - false - false - false - false - true - true - - Style.ПоясняющийТекст - - - Style.FormBackColor - - - Style.FormBackColor - - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа декораций текст сообщения</value> - - true - - ГруппаДекорацийТекстСообщенияExtendedTooltip - 127 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - ТекстСообщения - 75 - true - true - - true - - - Объект.ТекстСообщения - - None - - ТекстСообщенияExtendedTooltip - 131 - Label - true - true - - Left - - - - ТекстСообщенияКонтекстноеМеню - 76 - true - - InputField - Enter - true - Left - true - - - TextEditEnd - ТекстСообщенияОкончаниеВводаТекста - - 50 - true - true - false - true - true - true - true - Normal - - - - ГруппаАдресатыКонтакты - 66 - - ГруппаЗаголовокАдресаты - 32 - - ДекорацияАдресатыЗаголовк - 106 - - <key>ru</key> - <value>Адресаты:</value> - - true - true - - true - - - ДекорацияАдресатыЗаголовкExtendedTooltip - 134 - Label - true - true - - Left - - - - ДекорацияАдресатыЗаголовкКонтекстноеМеню - 107 - true - - Label - true - true - - Left - - - - ДекорацияАдресатыПустая - 35 - true - true - - true - - - ДекорацияАдресатыПустаяExtendedTooltip - 135 - Label - true - true - - Left - - - - ДекорацияАдресатыПустаяКонтекстноеМеню - 36 - true - - Label - true - true true - - Left + + СтраницаСообщениеРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + Page + + Vertical + auto - СтраницыУказаныКонтакты - 37 + ГруппаАдресатыКонтакты + 66 - СтраницаКонтактыНеЗаполнены - 38 - - ДекорацияКонтактыНеЗаполнены - 39 - - <key>ru</key> - <value>Не все контакты подобраны</value> - + ГруппаАдресаты + 44 + + Адресаты + 45 true true true + + Объект.Адресаты + + false + None + Change + Copy + EndEdit + SelectAll + + АдресатыПредставлениеКонтакта + 59 + true + true + + true + + + Объект.Адресаты.ПредставлениеКонтакта + + + OnChange + ПредставлениеКонтактаПриИзменении + + + АдресатыПредставлениеКонтактаExtendedTooltip + 145 + Label + true + true + + Left + + + + АдресатыПредставлениеКонтактаКонтекстноеМеню + 60 + true + + InputField + Auto + true + Left + true + + 15 + true + true + true + true + true + true + Normal + + + + АдресатыКакСвязаться + 61 + + <key>ru</key> + <value>Номер телефона</value> + + true + true + + true + + + Объект.Адресаты.КакСвязаться + + + АдресатыКакСвязатьсяExtendedTooltip + 146 + Label + true + true + + Left + + + + АдресатыКакСвязатьсяКонтекстноеМеню + 62 + true + + InputField + Auto + true + Left + true + + ru + Номер телефона в формате "+xx (xxx) xxxxxxx" + + + 15 + true + true + true + true + true + true + Normal + + + + АдресатыКонтакт + 57 + true + true + + true + + + Объект.Адресаты.Контакт + + + OnChange + КонтактПриИзменении + + + АдресатыКонтактExtendedTooltip + 147 + Label + true + true + + Left + + + + АдресатыКонтактКонтекстноеМеню + 58 + true + + InputField + Auto + true + Left + true + + + StartChoice + КонтактНачалоВыбора + + 15 + true + true + true + true + true + true + true + Normal + + + + АдресатыСостояниеСообщения + 96 + + <key>ru</key> + <value>Состояние</value> + + true + true + + true + + + Объект.Адресаты.СостояниеСообщения + + + АдресатыСостояниеСообщенияExtendedTooltip + 148 + Label + true + true + + Left + + + + АдресатыСостояниеСообщенияКонтекстноеМеню + 97 + true + + InputField + true + Auto + true + Left + true + + 15 + true + true + true + true + true + true + Normal + + + + АдресатыКоманднаяПанель + 47 + + СоздатьКонтакт + 54 + true + false + + true + + false + + СоздатьКонтактExtendedTooltip + 142 + Label + true + true + + Left + + + Form.Command.СоздатьКонтакт + Normal + Auto + true + true + UserCmds + Auto + + + АдресатыПроверитьСтатусыДоставки + 91 + + <key>ru</key> + <value>Проверить состояние доставки</value> + + true + true + + true + + + АдресатыПроверитьСтатусыДоставкиExtendedTooltip + 143 + Label + true + true + + Left + + + Form.Command.ПроверитьСтатусыДоставки + Normal + Auto + true + true + UserCmds + Auto + + Left + true + + + OnEditEnd + АдресатыПриОкончанииРедактирования + + + OnActivateRow + АдресатыПриАктивизацииСтроки + + + OnChange + АдресатыПриИзменении + + + АдресатыСтрокаПоиска + 177 + + АдресатыСтрокаПоискаРасширеннаяПодсказка + 179 + Label + true + true + + Left + + + + АдресатыСтрокаПоискаКонтекстноеМеню + 178 + true + + Адресаты + + true + + + + АдресатыСостояниеПросмотра + 180 + + АдресатыСостояниеПросмотраРасширеннаяПодсказка + 182 + Label + true + true + + Left + + + + АдресатыСостояниеПросмотраКонтекстноеМеню + 181 + true + + ViewStatusAddition + Адресаты + + true + + + + АдресатыУправлениеПоиском + 183 + + АдресатыУправлениеПоискомРасширеннаяПодсказка + 185 + Label + true + true + + Left + + + + АдресатыУправлениеПоискомКонтекстноеМеню + 184 + true + + SearchControlAddition + Адресаты + + true + + - ДекорацияКонтактыНеЗаполненыExtendedTooltip - 138 + АдресатыExtendedTooltip + 144 Label true true @@ -698,19 +561,36 @@ - ДекорацияКонтактыНеЗаполненыКонтекстноеМеню - 40 + АдресатыКонтекстноеМеню + 46 true - Label + true + true true true - - Style.FieldSelectionBackColor - - - Left - + 3 + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + Auto + Auto + true + true + true + true + None + None + None + true +
                                          true true @@ -719,15 +599,15 @@ <key>ru</key> - <value>Страница контакты не заполнены</value> + <value>Участники встречи</value> ru - Страница контакты не заполнены + Участники встречи - СтраницаКонтактыНеЗаполненыExtendedTooltip - 137 + ГруппаАдресатыExtendedTooltip + 141 Label true true @@ -735,75 +615,14 @@ Left - Page - + UsualGroup + Vertical - auto - -
                                          - - СтраницаКонтактыЗаполнены - 41 - - ДекорацияКонтактыЗаполнены - 42 - true - true - - true - - - ДекорацияКонтактыЗаполненыExtendedTooltip - 140 - Label - true - true - - Left - - - - ДекорацияКонтактыЗаполненыКонтекстноеМеню - 43 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты заполнены</value> - - - ru - Страница контакты заполнены - - - СтраницаКонтактыЗаполненыExtendedTooltip - 139 - Label - true - true - - Left - - - Page - - Vertical - auto + Auto + true + true + Auto + Auto true @@ -813,15 +632,15 @@ <key>ru</key> - <value>Страницы указаны контакты</value> + <value>Адресаты</value> ru - Страницы указаны контакты + Группа адресаты контакты - СтраницыУказаныКонтактыExtendedTooltip - 136 + ГруппаАдресатыКонтактыExtendedTooltip + 132 Label true true @@ -829,553 +648,15 @@ Left - Pages - - Auto + Page + + Vertical + auto + + КоличествоАдресатов +
                                          - true - true - - true - - - ГруппаЗаголовокАдресатыExtendedTooltip - 133 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - -
                                          - - ГруппаАдресаты - 44 - - Адресаты - 45 - true - true - - true - - - Объект.Адресаты - - false - None - Change - Copy - EndEdit - SelectAll - - АдресатыПредставлениеКонтакта - 59 - true - true - - true - - - Объект.Адресаты.ПредставлениеКонтакта - - - OnChange - ПредставлениеКонтактаПриИзменении - - - АдресатыПредставлениеКонтактаExtendedTooltip - 145 - Label - true - true - - Left - - - - АдресатыПредставлениеКонтактаКонтекстноеМеню - 60 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - АдресатыКакСвязаться - 61 - - <key>ru</key> - <value>Номер телефона</value> - - true - true - - true - - - Объект.Адресаты.КакСвязаться - - - АдресатыКакСвязатьсяExtendedTooltip - 146 - Label - true - true - - Left - - - - АдресатыКакСвязатьсяКонтекстноеМеню - 62 - true - - InputField - Auto - true - Left - true - - ru - Номер телефона в формате "+xx (xxx) xxxxxxx" - - - true - true - true - true - true - true - Normal - - - - АдресатыКонтакт - 57 - true - true - - true - - - Объект.Адресаты.Контакт - - - OnChange - КонтактПриИзменении - - - АдресатыКонтактExtendedTooltip - 147 - Label - true - true - - Left - - - - АдресатыКонтактКонтекстноеМеню - 58 - true - - InputField - Auto - true - Left - true - - - StartChoice - КонтактНачалоВыбора - - true - true - true - true - true - true - Normal - - - - АдресатыСостояниеСообщения - 96 - true - true - - true - - - Объект.Адресаты.СостояниеСообщения - - - АдресатыСостояниеСообщенияExtendedTooltip - 148 - Label - true - true - - Left - - - - АдресатыСостояниеСообщенияКонтекстноеМеню - 97 - true - - InputField - true - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - АдресатыКоманднаяПанель - 47 - - СоздатьКонтакт - 54 - true - false - - true - - false - - СоздатьКонтактExtendedTooltip - 142 - Label - true - true - - Left - - - Form.Command.СоздатьКонтакт - Normal - Auto - true - true - UserCmds - Auto - - - АдресатыПроверитьСтатусыДоставки - 91 - - <key>ru</key> - <value>Проверить состояние доставки</value> - - true - true - - true - - - АдресатыПроверитьСтатусыДоставкиExtendedTooltip - 143 - Label - true - true - - Left - - - Form.Command.ПроверитьСтатусыДоставки - Normal - Auto - true - true - UserCmds - Auto - - Left - true - - - OnEditEnd - АдресатыПриОкончанииРедактирования - - - OnActivateRow - АдресатыПриАктивизацииСтроки - - - OnChange - АдресатыПриИзменении - - - АдресатыСтрокаПоиска - 166 - - АдресатыСтрокаПоискаРасширеннаяПодсказка - 168 - Label - true - true - - Left - - - - АдресатыСтрокаПоискаКонтекстноеМеню - 167 - true - - Адресаты - - true - - - - АдресатыСостояниеПросмотра - 169 - - АдресатыСостояниеПросмотраРасширеннаяПодсказка - 171 - Label - true - true - - Left - - - - АдресатыСостояниеПросмотраКонтекстноеМеню - 170 - true - - ViewStatusAddition - Адресаты - - true - - - - АдресатыУправлениеПоиском - 172 - - АдресатыУправлениеПоискомРасширеннаяПодсказка - 174 - Label - true - true - - Left - - - - АдресатыУправлениеПоискомКонтекстноеМеню - 173 - true - - SearchControlAddition - Адресаты - - true - - - - АдресатыExtendedTooltip - 144 - Label - true - true - - Left - - - - АдресатыКонтекстноеМеню - 46 - true - - true - true - true - true - 3 - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - true - true - true - true - None - None - None - true - -
                                          - true - true - - true - - - <key>ru</key> - <value>Участники встречи</value> - - - ru - Участники встречи - - - ГруппаАдресатыExtendedTooltip - 141 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - -
                                          - true - true - - true - - - <key>ru</key> - <value>Адресаты</value> - - - ru - Группа адресаты контакты - - - ГруппаАдресатыКонтактыExtendedTooltip - 132 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - -
                                          - - Комментарии - 108 - true - true - - true - - - Объект.Комментарий - - Left - - КомментарииExtendedTooltip - 149 - Label - true - true - - Left - - - - КомментарииКонтекстноеМеню - 109 - true - - InputField - Enter - true - Left - true - - - StartChoice - КомментарииНачалоВыбора - - true - 2 - true - true - false - true - true - true - true - true - true - true - Normal - - - - ГруппаАдресатыПодвал - 103 - - СтраницыКонтактыДопРеквизитыКомментарий - 65 СтраницаДополнительныеРеквизиты 67 @@ -1411,6 +692,53 @@ СтраницаКомментарий 68 + + Комментарии + 108 + true + true + + true + + + Объект.Комментарий + + None + + КомментарииExtendedTooltip + 149 + Label + true + true + + Left + + + + КомментарииКонтекстноеМеню + 109 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + false + true + true + true + Normal + + true true @@ -1465,94 +793,226 @@ Auto - - ГруппаАвторДатаРегистрации - 1 - - Статус - 98 - - System.DefaultGUIFont - - true - true - - true - - - Объект.Состояние - - - СтатусExtendedTooltip - 155 - Label - true - true - - Left - - - - СтатусКонтекстноеМеню - 99 - true - - LabelField - Enter - true - Left - true - - 23 - true - true - false - - System.DefaultGUIFont - true - false - false - false - - - - - ДекорацияПустаяПодвал - 104 - true - true - - true - - - ДекорацияПустаяПодвалExtendedTooltip - 156 - Label - true - true - - Left - - - - ДекорацияПустаяПодвалКонтекстноеМеню - 105 - true - + true + true + + true + + + <key>ru</key> + <value>Группа левая</value> + + + ru + Группа левая + + + ГруппаЛеваяРасширеннаяПодсказка + 160 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПравая + 161 + + Предмет + 8 + true + true + + true + + + Предмет + + Top + + ПредметExtendedTooltip + 119 Label true true - true Left - + + + ПредметКонтекстноеМеню + 9 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + true + true + Normal + + + + Ответственный + 12 + true + true + + true + + + Объект.Ответственный + + Top + + ОтветственныйExtendedTooltip + 120 + Label + true + true + + Left + + + + ОтветственныйКонтекстноеМеню + 13 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + НаКонтроле + 92 + + <key>ru</key> + <value>На контроле</value> + + true + true + + true + + + НаКонтроле + + Right + + OnChange + НаКонтролеПриИзменении + + + НаКонтролеExtendedTooltip + 123 + Label + true + true + + Left + + + + НаКонтролеКонтекстноеМеню + 93 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 26 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 124 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 27 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + 15 + true + true + true + true + true + true + Normal + + + + ГруппаДатаОтправкиАктуальность + 172 - Дата - 4 + ДатаКогдаОтправить + 166 <key>ru</key> - <value>Создан</value> + <value>Когда отправить</value> true true @@ -1560,12 +1020,12 @@ true - Объект.Date + Объект.ДатаКогдаОтправить - Left + Top - ДатаExtendedTooltip - 157 + ДатаКогдаОтправитьРасширеннаяПодсказка + 168 Label true true @@ -1574,43 +1034,46 @@ - ДатаКонтекстноеМеню - 5 + ДатаКогдаОтправитьКонтекстноеМеню + 167 true - LabelField - true - Left + InputField Enter true Left true - - 13 + + 15 true true - true - - ru - ДЛФ=DT - + false + true + true + true + true + Normal - Автор - 2 + ДатаАктуальностиОтправки + 169 + + <key>ru</key> + <value>Не отправлять после</value> + true true true - Объект.Автор + Объект.ДатаАктуальностиОтправки - Left + Top - АвторExtendedTooltip - 158 + ДатаАктуальностиОтправкиРасширеннаяПодсказка + 171 Label true true @@ -1619,22 +1082,25 @@ - АвторКонтекстноеМеню - 3 + ДатаАктуальностиОтправкиКонтекстноеМеню + 170 true - LabelField - true - Left + InputField Enter true Left true - + + 15 true true - true - true + false + true + true + true + true + Normal true @@ -1642,6 +1108,413 @@ true + + <key>ru</key> + <value>Группа дата отправки актуальность</value> + + + ru + Группа дата отправки актуальность + + + ГруппаДатаОтправкиАктуальностьРасширеннаяПодсказка + 173 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + СтраницыУказаныКонтакты + 37 + + СтраницаКонтактыНеЗаполнены + 38 + + ДекорацияКонтактыНеЗаполнены + 39 + + <key>ru</key> + <value>Не все контакты подобраны</value> + + true + true + + true + + + ДекорацияКонтактыНеЗаполненыExtendedTooltip + 138 + Label + true + true + + Left + + + + ДекорацияКонтактыНеЗаполненыКонтекстноеМеню + 40 + true + + Label + true + true + + Style.FieldSelectionBackColor + + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница контакты не заполнены</value> + + + ru + Страница контакты не заполнены + + + СтраницаКонтактыНеЗаполненыExtendedTooltip + 137 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКонтактыЗаполнены + 41 + + ДекорацияКонтактыЗаполнены + 42 + true + true + + true + + + ДекорацияКонтактыЗаполненыExtendedTooltip + 140 + Label + true + true + + Left + + + + ДекорацияКонтактыЗаполненыКонтекстноеМеню + 43 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница контакты заполнены</value> + + + ru + Страница контакты заполнены + + + СтраницаКонтактыЗаполненыExtendedTooltip + 139 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы указаны контакты</value> + + + ru + Страницы указаны контакты + + + СтраницыУказаныКонтактыExtendedTooltip + 136 + Label + true + true + + Left + + + Pages + + Auto + + + + ДекорацияПустаяПраво + 104 + true + true + + true + + + ДекорацияПустаяПравоРасширеннаяПодсказка + 156 + Label + true + true + + Left + + + + ДекорацияПустаяПравоКонтекстноеМеню + 105 + true + + Label + true + true + true + true + + Left + + + + Статус + 163 + + <key>ru</key> + <value>Состояние</value> + + true + true + + true + + + Объект.Состояние + + Left + + СтатусРасширеннаяПодсказка + 165 + Label + true + true + + Left + + + + СтатусКонтекстноеМеню + 164 + true + + LabelField + true + Left + Enter + true + Left + true + + 13 + true + true + true + + ru + ДЛФ=DT + + + + + Дата + 4 + + <key>ru</key> + <value>Создано</value> + + true + true + + true + + + Объект.Date + + Left + + ДатаExtendedTooltip + 157 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 5 + true + + LabelField + true + Left + Enter + true + Left + true + + 13 + true + true + true + + ru + ДЛФ=DT + + + + + Автор + 2 + true + true + + true + + + Объект.Автор + + Left + + АвторExtendedTooltip + 158 + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 3 + true + + LabelField + true + Left + Enter + true + Left + true + + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа правая</value> + + + ru + Группа правая + + + ГруппаПраваяРасширеннаяПодсказка + 162 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаАдресатыПодвал + 103 + + ГруппаАвторДатаРегистрации + 1 + true + true + + true + <key>ru</key> <value>Автор, дата регистрации</value> @@ -1775,7 +1648,6 @@ </extendedTooltip> <commandName>Form.StandardCommand.WriteAndClose</commandName> <buttonImportance>Normal</buttonImportance> - <representation>PictureAndText</representation> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <placementArea>UserCmds</placementArea> @@ -1907,7 +1779,7 @@ <saveWindowSettings>true</saveWindowSettings> <autoTitle>true</autoTitle> <autoUrl>true</autoUrl> - <group>Vertical</group> + <childItemsWidth>LeftWide</childItemsWidth> <autoFillCheck>true</autoFillCheck> <allowFormCustomize>true</allowFormCustomize> <enabled>true</enabled> @@ -2139,6 +2011,27 @@ <common>true</common> </edit> </attributes> + <attributes> + <name>КоличествоАдресатов</name> + <title> + <key>ru</key> + <value>Количество адресатов</value> + + 13 + + Number + + 5 + true + + + + true + + + true + + СоздатьКонтакт @@ -2272,6 +2165,10 @@ <event>OnReadAtServer</event> <name>ПриЧтенииНаСервере</name> </handlers> + <handlers> + <event>BeforeWrite</event> + <name>ПередЗаписью</name> + </handlers> <handlers> <event>BeforeWriteAtServer</event> <name>ПередЗаписьюНаСервере</name> diff --git a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Help/ru.html index 58fd951e7..03edd6b1a 100644 --- a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Help/ru.html @@ -1,43 +1,67 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Сообщение SMS</h1> -<p style="MARGIN-LEFT: 0px">Документ предназначен для отправки сообщения SMS одному или нескольким адресатам. </p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Документ предназначен для отправки сообщения SMS одному или нескольким адресатам, проведения SMS-рассылки и последующего отражения факта отправки сообщений.</p> +<p>Документ позволяет создавать, редактировать и отправлять сообщения SMS, помимо их документирования и хранения. Возможна отправка нескольких сообщений с одинаковым текстом разным адресатам посредством одного документа. При этом отслеживается как состояние документа в целом, так и состояния отдельного сообщения каждому из различных адресатов в рамках документа.</p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cbf">Какие реквизиты можно указать в документе?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc2">Как указать адресатов сообщения?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#1">Как отправить сообщения?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5f98ffe116">Как узнать текущее состояние сообщения SMS?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc5">Какие взаимодействия можно создать на основании сообщения SMS?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cbf"> -<h3 style="MARGIN-LEFT: 0px">Какие реквизиты можно указать в документе?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li><b>Предмет</b> - то чему, посвящено взаимодействие, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает первое взаимодействие цепочки. -</li><li><b>Ответственный</b> - указывается ответственный за данное взаимодействие. -</li><li><b>На контроле</b> - признак того, что данное сообщение потребует дальнейшего внимания и после отправки. Например требуется проконтролировать, что сообщение доставлено адресату. -</li><li><b>Рассмотреть после</b> - необходимо заполнить, если контроль данного сообщения планируется отложить до определенной даты. Доступно, если установлен флаг <b>На контроле</b>. -</li><li><b>Преобразовывать кирилические символы в латинские</b> - признак того, что сообщение необходимо отправить в транслите. -</li><li><b>Текст сообщения</b> - текст, который будет отправлен всем укзанным адресатам. -</li><li><b>Комментарий</b> - произвольный текстовый комментарий.</li></ul><p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Реквизиты <b>На контроле</b> и <b>Рассмотреть после</b> доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование/Органайзер.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc2"> -<h3 style="MARGIN-LEFT: 0px">Как указать адресатов сообщения?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Информация об адресатах вводится в табличную часть <b>Адресаты</b>. Указывается представление адресата и номер телефона. </p> -<ul style="MARGIN-LEFT: 40px"><li>Если адресат уже зарегистрирован в информационной базе, то информация о нем указывается в поле "<b>Контакт</b>". -</li><li>Если информацию о адресате сообщения не планируется хранить, то достаточно указать <b>Представление контакта</b> и <b>Номер телефона</b>. -</li><li>Если это новый адресат, то непосредственно из формы планируемого взаимодействия его можно зарегистрировать, нажав на кнопку "<b>Создать контакт</b>" в панели действий табличной части. </li></ul><p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Важно. Номер телефона должен быть указан в формате <b>+xx (xxx) xxxxxxx</b></td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5f98ffe116"> -<h3 style="MARGIN-LEFT: 0px">Как узнать текущее состояние сообщения SMS?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Состояние доставки сообщений проверяется автоматически, в соответствии с расписанием настроенным администратором системы.<br>Состояние доставки сообщений документа можно также проверить из формы воспользовавшись командой <b>Проверить состояние доставки</b>.</p> -<p style="MARGIN-LEFT: 20px">Состояние сообщения конкретному адресату отображается в табличной части Адресаты. Может принимать одно из следующих значений:</p> -<ul style="MARGIN-LEFT: 40px"><li><b>Черновик</b> - сообщение еще отправлялось и может быть отредактировано. +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc5">Какие взаимодействия можно создать на основании сообщения SMS?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#2">Как просмотреть взаимодействия, созданные на основании сообщения SMS?</a></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cbf"> +<p style="MARGIN-LEFT: 0px">Заполните необходимые поля:</p></a> +<ul style="MARGIN-LEFT: 40px"><li><b>Предмет</b> - то, чему посвящено взаимодействие, например, претензии клиента. Предметом могут быть документы программы, а также документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета выступает текущий документ (т.е. такой документ начинает цепочку взаимодействий).  +</li><li><b>Ответственный</b> - выберите ответственного за данное взаимодействие из <a href="Catalog.Пользователи/Help">списка пользователей</a>. По умолчанию программа указывает в качестве ответственного для большинства документов взаимодействия текущего <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>. +</li><li><b>На контроле</b> - признак того, что данное сообщение потребует дальнейшего внимания и после отправки. Например, требуется проконтролировать, что сообщение доставлено адресату. В <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">списке взаимодействий</a> такое сообщение SMS выделяется жирным шрифтом. +</li><li><b>Рассмотреть после</b> - необходимо заполнить, если контроль данного сообщения планируется отложить до определенной даты. Выберите из списка нужное значение: <strong>Через 15 мин</strong>, <strong>Через 30 мин</strong>, <strong>Через 1 час,</strong> <strong>Через 3 часа</strong>, <strong>Завтра</strong>. Помимо этих значений можно указать произвольную дату и время с помощью кнопки <img src="StdPicture.InputFieldCalendar"></img>. Доступно, если установлен флажок <b>На контроле</b>. +</li><li><b>Преобразовывать кириллические символы в латинские</b> - признак того, что сообщение необходимо отправить в транслите. +</li><li><b>Сообщение</b> - текст, который будет отправлен всем указанным адресатам. Располагается на специальной вкладке. Программа производит подсчет букв введенного текста и указывает количество оставшихся символов до конца сообщения по правилам, принятым всеми провайдерами, в случае превышения размера одного сообщения текст автоматически разбивается на несколько отдельных сообщений. +</li><li><b>Комментарий</b> - произвольный текстовый комментарий. Располагается на специальной вкладке. +</li><li><strong>Создано</strong> - дата и время создания документа. По умолчанию в этом поле программой автоматически проставляется текущая дата и время записи документа. Поле недоступно для редактирования. +</li><li><strong>Автор</strong> - пользователь, который создал документ. Указывается программой автоматически. Поле недоступно для редактирования.</li></ul><p style="MARGIN-LEFT: 20px"></p> +<table border="4"><tbody><tr><td>Поля <b>На контроле</b> и <b>Рассмотреть после</b> доступны для заполнения, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе <strong>Администрирование - Органайзер</strong>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc2"> +<h3 style="MARGIN-LEFT: 0px">Адресаты</h3></a> +<ul style="MARGIN-LEFT: 40px"><li>Информация об адресатах сообщения вводится в список <strong>Адресаты</strong>.  +</li><li>С помощью кнопки <strong>Добавить</strong> можно указать один или несколько контактов.  +</li><li>Контакты являются обязательным для заполнения элементом. +</li><li>Если адресат уже зарегистрирован в информационной базе, то информация о нем указывается в поле <b>Контакт</b>. Укажите контакт, используя список <a href="CommonForm.ВыборКонтакта/Help">Выбор контакта</a>. В этом случае после выбора контакта остальные поля заполняются автоматически. +</li><li>Если информацию об адресате сообщения не планируется хранить, то достаточно указать <b>Представление контакта</b> (его полное наименование) и <b>Номер телефона</b>. В этом случае в правой части документа выводится сообщение <strong>Не все контакты подобраны</strong>. +</li><li>Номер телефона должен быть указан в формате <b>+xx (xxx) xxxxxxx</b>. Является обязательным для заполнения. +</li><li>Если это новый адресат, то непосредственно из окна документа его можно зарегистрировать, нажав <b>Создать контакт</b>. Выберите соответствующий список и внесите в него данные нового адресата.</li></ul><h3><a name="#1">Отправка сообщений</a></h3> +<ul><li>С помощью кнопки <strong>Отправить</strong> можно разослать сообщения SMS всем перечисленным контактам. +</li><li>Действие кнопки: +<ul><li>В файловом режиме пользователь выполняет непосредственную отправку; +</li><li>В клиент-серверном режиме пользователь инициирует отправку, сообщение переходит в состояние <strong>Исходящее</strong>. Непосредственная отправка выполняется в фоне <a href="DataProcessor.РегламентныеИФоновыеЗадания.Form.РегламентноеЗадание/Help">регламентным заданием</a> "Отправка SMS".</li></ul></li></ul><p style="MARGIN-LEFT: 20px"></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5f98ffe116"> +<h3 style="MARGIN-LEFT: 0px">Проверка текущего состояния сообщения SMS</h3></a> +<ul><li>Состояние доставки сообщений проверяется автоматически, в соответствии с расписанием, настроенным администратором программы. +</li><li>Состояние доставки сообщений документа можно также проверить из окна документа, воспользовавшись командой <strong>Проверить состояние доставки</strong>. +</li><li>Состояние SMS-сообщений отражается внизу документа и в таблице адресатов в колонке <strong>Состояние сообщения</strong> по каждому контакту отдельно. +</li><li>Состояние сообщения конкретному адресату отображается в табличной части <strong>Адресаты</strong>. Может принимать одно из следующих значений: +<ul><li><b>Черновик</b> - сообщение еще отправлялось и может быть отредактировано. </li><li><b>Исходящее</b> - пользователь уже отправил сообщение, но оно еще не передавалось провайдеру. -</li><li><b>Не удалось передать провайдеру</b> - система пыталась передать сообщение провайдеру, но не смогла этого сделать. Например, возникли технические проблемы на стороне провайдера. +</li><li><b>Не удалось передать провайдеру</b> - программа пыталась передать сообщение провайдеру, но не смогла этого сделать. Например, возникли технические проблемы на стороне провайдера. </li><li><b>Не отправлено провайдером</b> - сообщение успешно передано провайдеру, но еще не было им обработано. </li><li><b>Отправляется провайдером</b> - сообщение в данный момент отправляется провайдером. </li><li><b>Отправлено провайдером</b> - сообщение отправлено провайдером, состояние доставки на данный момент не известно. </li><li><b>Доставлено</b> - сообщение успешно доставлено адресату. </li><li><b>Не доставлено</b> - сообщение не удалось доставить адресату. Дальнейших попыток доставки сообщения не будет. </li><li><b>Не опознано провайдером</b> - провайдер не опознал, что когда то принимал данное сообщение к доставке. -</li><li><b>Ошибка получения статуса у провайдера</b> - не удалось связаться с провайдером при попытке получения состояния сообщения.</li></ul><p style="MARGIN-LEFT: 20px"><br>Состояние документа в целом отображается в нижней левой части формы документа. Может принимать одно из следующих значений.</p> -<ul style="MARGIN-LEFT: 40px"><li><b>Черновик</b> - сообщение не отправлялось и доступно для редактирования. +</li><li><b>Ошибка получения статуса у провайдера</b> - не удалось связаться с провайдером при попытке получения состояния сообщения.</li></ul></li><li>Состояние документа в целом отображается в нижней левой части окна документа. Может принимать одно из следующих значений. +<ul><li><b>Черновик</b> - сообщение не отправлялось и доступно для редактирования. </li><li><b>Исходящее</b> - пользователь уже отправил сообщение, но оно еще не передавалось провайдеру. </li><li><b>Доставляется</b> - все сообщения переданы провайдеру и хотя бы по одному из них не закончена доставка до адресата. </li><li><b>Доставлено</b> - все сообщения успешно доставлены адресатам. -</li><li><b>Частично доставлено</b> - доставка сообщений прекращено, часть сообщений доставлены адресатам, часть нет.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc5"> -<h3 style="MARGIN-LEFT: 0px">Какие взаимодействия можно создать на основании сообщения SMS?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Написать письмо, отразить факт телефонного звонка, зарегистрировать встречу, запланировать взаимодействие. </p> -<p> </p></body></html> \ No newline at end of file +</li><li><b>Частично доставлено</b> - доставка сообщений прекращено, часть сообщений доставлены адресатам, часть нет. +</li><li><strong>Не доставлено</strong>.</li></ul></li><li>Проверка состояния доставки осуществляется регламентным заданием "Обновление статусов доставки SMS". Также можно вручную проверить, воспользовавшись командой <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>) - <strong>Проверить состояние дос</strong><strong>тавки</strong> на вкладке <strong>Адресаты</strong> (команда становится активной после отправки сообщений).</li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e2ff5bac459cc5">Создание документов взаимодействий на основании сообщения SMS<br></a></h3> +<p style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong>, для того чтобы:</p> +<ul><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЗапланированноеВзаимодействие.Form.ФормаДокумента/Help">Запланировать взаимодействие</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.Встреча.Form.ФормаДокумента/Help">Запланировать встречу</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><strong>Написать SMS</strong>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">Написать электронное письмо</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ТелефонныйЗвонок.Form.ФормаДокумента/Help">Позвонить</a>. </div></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#2">Просмотр взаимодействий, созданных на основании сообщения SMS</a></h3> +<ul><li> +<div style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong> на панели навигации для перехода к <a href="DocumentJournal.Взаимодействия.Form.ФормаСпискаПараметрическая/Help">списку взаимодействий</a>, созданных на основании этого сообщения SMS.</div></li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Module.bsl index 1cb74c9e8..fe805bd73 100644 --- a/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/СообщениеSMS/Forms/ФормаДокумента/Module.bsl @@ -85,7 +85,8 @@ ВзаимодействияКлиент.ОтработатьОповещение(ЭтотОбъект, ИмяСобытия, Параметр, Источник); ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "СообщениеSMS"); - ПроверитьДоступностьСозданияКонтакта() + ПроверитьДоступностьСозданияКонтакта(); + КоличествоАдресатов = Объект.Адресаты.Количество(); КонецПроцедуры @@ -119,6 +120,16 @@ КонецПроцедуры +&НаКлиенте +Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + + Если Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик") + ИЛИ Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее") Тогда + ВзаимодействияКлиент.ПроверкаЗаполненностиРеквизитовОтложеннойОтправки(Объект, Отказ); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы @@ -150,13 +161,6 @@ КонецПроцедуры -&НаКлиенте -Процедура КомментарииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(Элемент.ТекстРедактирования, ЭтотОбъект, "Объект.Комментарий"); - -КонецПроцедуры - &НаКлиенте Процедура ОтправлятьВТранслитеПриИзменении(Элемент) @@ -174,6 +178,7 @@ Процедура АдресатыПриИзменении(Элемент) ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Объект, ЭтотОбъект, "СообщениеSMS"); + КоличествоАдресатов = Объект.Адресаты.Количество(); ИзменилисьКонтакты = Истина; КонецПроцедуры @@ -322,6 +327,7 @@ Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначения.ПолучитьКартинкуКомментария(Объект.Комментарий); НаКонтроле = НЕ Рассмотрено; УправлениеДоступностью(ЭтотОбъект); + КоличествоАдресатов = Объект.Адресаты.Количество(); КонецПроцедуры @@ -330,11 +336,13 @@ ОчиститьСообщения(); - Если ИнформационнаяБазаФайловая Тогда - КоличествоОтправленных = ВыполнитьОтправкуНаСервере(); - Если НЕ КоличествоОтправленных > 0 Тогда - Возврат; - КонецЕсли; + Если ИнформационнаяБазаФайловая + И (Объект.ДатаКогдаОтправить = Дата(1,1,1) ИЛИ Объект.ДатаКогдаОтправить < ОбщегоНазначенияКлиент.ДатаСеанса()) + И (Объект.ДатаАктуальностиОтправки = Дата(1,1,1) ИЛИ Объект.ДатаАктуальностиОтправки > ОбщегоНазначенияКлиент.ДатаСеанса()) Тогда + КоличествоОтправленных = ВыполнитьОтправкуНаСервере(); + Если НЕ КоличествоОтправленных > 0 Тогда + Возврат; + КонецЕсли; Иначе ВзаимодействияКлиентСервер.УстановитьСостояниеИсходящееДокументСообщениеSMS(Объект); КонецЕсли; @@ -402,20 +410,44 @@ &НаКлиентеНаСервереБезКонтекста Процедура УправлениеДоступностью(Форма) - СообщениеОтправлено = Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик") И - Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее"); + СообщениеОтправлено = СообщениеОтправлено(Форма.Объект.Состояние); - Форма.Элементы.ФормаОтправить.Доступность = (НЕ СообщениеОтправлено И Форма.ИнформационнаяБазаФайловая) ИЛИ - (НЕ Форма.ИнформационнаяБазаФайловая И - Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик")); - Форма.Элементы.Адресаты.ТолькоПросмотр = СообщениеОтправлено; - Форма.Элементы.ОтправлятьВТранслите.Доступность = НЕ СообщениеОтправлено; - Форма.Элементы.ТекстСообщения.ТолькоПросмотр = СообщениеОтправлено; - Форма.Элементы.РассмотретьПосле.Доступность = Форма.НаКонтроле; + ОтправкаДоступна = Истина; + Если Форма.ИнформационнаяБазаФайловая Тогда + Если СообщениеОтправлено Тогда + ОтправкаДоступна = Ложь; + ИначеЕсли Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее") Тогда + #Если Клиент Тогда + ДатаСеанса = ОбщегоНазначенияКлиент.ДатаСеанса(); + #Иначе + ДатаСеанса = ТекущаяДатаСеанса(); + #КонецЕсли + Если (Форма.Объект.ДатаКогдаОтправить) <> Дата(1,1,1) + И Форма.Объект.ДатаКогдаОтправить > ДатаСеанса Тогда + ОтправкаДоступна = Ложь; + КонецЕсли; + Если (Форма.Объект.ДатаАктуальностиОтправки) <> Дата(1,1,1) + И Форма.Объект.ДатаАктуальностиОтправки < ДатаСеанса Тогда + ОтправкаДоступна = Ложь; + КонецЕсли; + КонецЕсли; + Иначе + Если Форма.Объект.Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик") Тогда + ОтправкаДоступна = Ложь; + КонецЕсли + КонецЕсли; - Форма.Элементы.АдресатыПроверитьСтатусыДоставки.Доступность = Форма.ИнформационнаяБазаФайловая И - СообщениеОтправлено И - Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Доставляется"); + Форма.Элементы.ФормаОтправить.Доступность = ОтправкаДоступна; + Форма.Элементы.Адресаты.ТолькоПросмотр = СообщениеОтправлено; + Форма.Элементы.ОтправлятьВТранслите.Доступность = НЕ СообщениеОтправлено; + Форма.Элементы.ТекстСообщения.ТолькоПросмотр = СообщениеОтправлено; + Форма.Элементы.РассмотретьПосле.Доступность = Форма.НаКонтроле; + Форма.Элементы.ГруппаДатаОтправкиАктуальность.Доступность = НЕ СообщениеОтправлено; + + Форма.Элементы.АдресатыПроверитьСтатусыДоставки.Доступность = + Форма.ИнформационнаяБазаФайловая И + СообщениеОтправлено И + Форма.Объект.Состояние = ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Доставляется"); КонецПроцедуры @@ -486,4 +518,12 @@ КонецПроцедуры +&НаКлиентеНаСервереБезКонтекста +Функция СообщениеОтправлено(Состояние) + + Возврат Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Черновик") И + Состояние <> ПредопределенноеЗначение("Перечисление.СостоянияДокументаСообщениеSMS.Исходящее"); + +КонецФункции; + #КонецОбласти diff --git a/SSL/src/Documents/СообщениеSMS/Help/ru.html b/SSL/src/Documents/СообщениеSMS/Help/ru.html index e07f67001..5b9ad24fa 100644 --- a/SSL/src/Documents/СообщениеSMS/Help/ru.html +++ b/SSL/src/Documents/СообщениеSMS/Help/ru.html @@ -1,4 +1,26 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Сообщение SMS</h1> -<p style="MARGIN-LEFT: 0px">Документ предназначен для отправки сообщения SMS одному или нескольким адресатам. </p> -<p> </p></body></html> \ No newline at end of file +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для выбора документа <a href="Document.СообщениеSMS.Form.ФормаДокумента/Help">Сообщение SMS</a>. Документ используется для отправки сообщения SMS одному или нескольким адресатам. </p> +<p>Открывается по кнопке <img src="StdPicture.InputFieldSelect"></img> после выбора типа данных <strong>Сообщение SMS</strong> (например, при заполнении поля <strong>Предмет</strong> в каком-либо документе взаимодействий).</p> +<p>В списке выводится:</p> +<ul><li><strong>Дата </strong>- дата создания документа; +</li><li><strong>Номер</strong> - номер присваивается автоматически.</li></ul><h3>Выбор документа</h3> +<ul><li> +<div>Выделите документ, нажмите <strong>Выбрать</strong>.</div> +</li><li> +<div>Также можно использовать двойной щелчок мыши.</div></li></ul><h3 style="MARGIN-LEFT: 0px">Отбор по периоду</h3> +<ul style="MARGIN-LEFT: 40px"><li>С помощью соответствующей команды меню <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>) можно <strong>Установить интервал дат</strong>.</li></ul><h3>Ввод документа Сообщение SMS</h3> +<p>Нажмите <strong>Создать</strong>. Заполните нужные поля.</p> +<h3 style="MARGIN-LEFT: 0px">Создание взаимодействий на основании сообщения SMS</h3> +<p style="MARGIN-LEFT: 0px">Выделите нужный документ <strong>Сообщение SMS</strong>. Нажмите <strong>Взаимодействия</strong>, для того чтобы:</p> +<ul><li> +<div><a href="Document.Встреча.Form.ФормаДокумента/Help">Запланировать встречу</a>;</div> +</li><li> +<div><a href="Document.ЗапланированноеВзаимодействие.Form.ФормаДокумента/Help">Запланировать взаимодействие</a>;</div> +</li><li> +<div><a href="Document.СообщениеSMS.Form.ФормаДокумента/Help">Написать SMS</a>;</div> +</li><li> +<div><a href="Document.ЭлектронноеПисьмоИсходящее.Form.ФормаДокумента/Help">Написать электронное письмо</a>;</div> +</li><li> +<div><a href="Document.ТелефонныйЗвонок.Form.ФормаДокумента/Help">Позвонить</a>.</div></li></ul><h3>См. также:</h3> +<ul><li> +<div><a href="v8help://frame/form_common">Работа с формами</a>.</div></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/СообщениеSMS/СообщениеSMS.mdo b/SSL/src/Documents/СообщениеSMS/СообщениеSMS.mdo index e6dade158..4fbab6842 100644 --- a/SSL/src/Documents/СообщениеSMS/СообщениеSMS.mdo +++ b/SSL/src/Documents/СообщениеSMS/СообщениеSMS.mdo @@ -135,7 +135,9 @@ </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> - <fillValue xsi:type="core:ReferenceValue"/> + <fillValue xsi:type="core:ReferenceValue"> + <value>Catalog.Пользователи.EmptyRef</value> + </fillValue> <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> @@ -372,6 +374,46 @@ <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> + <attributes uuid="5d45a926-513f-4bbc-a002-54a2db94b297"> + <name>ДатаКогдаОтправить</name> + <synonym> + <key>ru</key> + <value>Дата когда отправить</value> + </synonym> + <type> + <types>Date</types> + <dateQualifiers/> + </type> + <toolTip> + <key>ru</key> + <value>Если указана, то сообщение будет отправлено в указанную дату.</value> + </toolTip> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + <fillValue xsi:type="core:UndefinedValue"/> + <indexing>Index</indexing> + <dataHistory>Use</dataHistory> + </attributes> + <attributes uuid="73f5ce9e-d5a7-45c0-965a-8af1d776a98a"> + <name>ДатаАктуальностиОтправки</name> + <synonym> + <key>ru</key> + <value>Дата актуальности отправки</value> + </synonym> + <type> + <types>Date</types> + <dateQualifiers/> + </type> + <toolTip> + <key>ru</key> + <value>Дата, до которой рассылаемые сообщения имеет смысл отправлять. Если не заполнено, то без ограничений.</value> + </toolTip> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + <fillValue xsi:type="core:UndefinedValue"/> + <indexing>Index</indexing> + <dataHistory>Use</dataHistory> + </attributes> <forms uuid="073e14d4-5d43-428b-a9a7-985d173e94c7"> <name>ФормаДокумента</name> <synonym> @@ -468,6 +510,7 @@ </toolTip> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> + <fillChecking>ShowError</fillChecking> <dataHistory>Use</dataHistory> <fullTextSearch>Use</fullTextSearch> </attributes> @@ -626,7 +669,7 @@ <key>ru</key> <value>Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> diff --git a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Form.form index d430269a4..0206646b2 100644 --- a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Form.form @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> <items xsi:type="form:FormGroup"> - <name>ГруппаШапка</name> - <id>63</id> + <name>ГруппаЛево</name> + <id>133</id> <items xsi:type="form:FormGroup"> - <name>ГруппаВажностьВходящийОтработать</name> - <id>65</id> + <name>ГруппаДатаЗвонкаВходящий</name> + <id>135</id> <items xsi:type="form:FormField"> - <name>АбонентПредставление</name> - <id>5</id> + <name>Дата</name> + <id>94</id> <title> <key>ru</key> - <value>Абонент</value> + <value>Дата звонка</value> true true @@ -19,15 +19,12 @@ true - Объект.АбонентПредставление + Объект.Date - - OnChange - ПредставлениеКонтактаПриИзменении - + Left - АбонентПредставлениеExtendedTooltip - 101 + ДатаExtendedTooltip + 129 Label true true @@ -36,121 +33,26 @@ - АбонентПредставлениеКонтекстноеМеню - 6 + ДатаКонтекстноеМеню + 95 true InputField + Left Enter true Left true - 30 + 14 true true false - true - true - true - Normal - - - - АбонентКакСвязаться - 7 - - <key>ru</key> - <value>Как связаться</value> - - true - true - - true - - - Объект.АбонентКакСвязаться - - - АбонентКакСвязатьсяExtendedTooltip - 102 - Label - true - true - - Left - - - - АбонентКакСвязатьсяКонтекстноеМеню - 8 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - Normal - - - - АбонентКонтакт - 9 - - <key>ru</key> - <value>Контакт</value> - - true - true - - true - - - Объект.АбонентКонтакт - - - OnChange - КонтактПриИзменении - - - АбонентКонтактExtendedTooltip - 103 - Label - true - true - - Left - - - - АбонентКонтактКонтекстноеМеню - 10 - true - - InputField - Enter - true - Left - true - - - StartChoice - КонтактНачалоВыбора - - 30 - true - true - false - true + true + + ru + ДЛФ=DT + true true true @@ -198,15 +100,15 @@ <key>ru</key> - <value>Группа важность входящий отработать</value> + <value>Группа дата звонка входящий</value> ru - Группа важность входящий отработать + Группа дата звонка входящий - ГруппаВажностьВходящийОтработатьExtendedTooltip - 100 + ГруппаДатаЗвонкаВходящийРасширеннаяПодсказка + 136 Label true true @@ -216,7 +118,6 @@ UsualGroup - Vertical Auto true true @@ -224,405 +125,223 @@ Auto - - ГруппаПредметВажностьОтветственный - 64 - - Предмет - 15 - true - true - - true - - - Предмет - - - ПредметExtendedTooltip - 106 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 16 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - true - true - Normal + + АбонентПредставление + 5 + + <key>ru</key> + <value>Абонент</value> + + true + true + + true + + + Объект.АбонентПредставление + + + OnChange + ПредставлениеКонтактаПриИзменении + + + АбонентПредставлениеExtendedTooltip + 101 + Label + true + true + + Left - - - Ответственный - 19 - true - true - - true - - - Объект.Ответственный - - - ОтветственныйExtendedTooltip - 107 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 20 - true - - InputField - Enter - true - Left - true - - 30 - true - true - false - true - true - true - Normal - - - - СтраницыУказаныКонтакты - 75 - - СтраницаКонтактыЗаполнены - 76 - - ДекорацияВажность - 77 - - <key>ru</key> - <value>Важность:</value> - - true - true - - true - - - ДекорацияВажностьExtendedTooltip - 110 - Label - true - true - - Left - - - - ДекорацияВажностьКонтекстноеМеню - 78 - true - - Label - 12 - true - true - - Left - - - - ВажностьЗаполнены - 79 - true - true - - true - - - Объект.Важность - - None - - ВажностьЗаполненыExtendedTooltip - 111 - Label - true - true - - Left - - - - ВажностьЗаполненыКонтекстноеМеню - 80 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты заполнены</value> - - - ru - Страница контакты заполнены - - 30 - false - - СтраницаКонтактыЗаполненыExtendedTooltip - 109 - Label - true - true - - Left - - - Page - - auto - - - - СтраницаКонтактыНеЗаполнены - 81 - - ГруппаКонтактыНеЗаполнены - 82 - true - true - - true - - - <key>ru</key> - <value>Группа контакты не заполнены</value> - - - ru - Группа контакты не заполнены - - - ГруппаКонтактыНеЗаполненыExtendedTooltip - 113 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ДекорацияКонтактыНеЗаполнены - 86 - - <key>ru</key> - <value>Контакт не подобран</value> - - true - true - - true - - - ДекорацияКонтактыНеЗаполненыExtendedTooltip - 114 - Label - true - true - - Left - - - - ДекорацияКонтактыНеЗаполненыКонтекстноеМеню - 87 - true - - Label - 31 - true - true - false - - Style.FieldSelectionBackColor - - - Left - - - - Важность - 84 - true - true - - true - - - Объект.Важность - - - ВажностьExtendedTooltip - 115 - Label - true - true - - Left - - - - ВажностьКонтекстноеМеню - 85 - true - - InputField - Enter - true - Left - true - - 10 - true - true - false - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты не заполнены</value> - - - ru - Страница контакты не заполнены - - - СтраницаКонтактыНеЗаполненыExtendedTooltip - 112 - Label - true - true - - Left - - - Page - - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы указаны контакты</value> - - - ru - Страницы указаны контакты - - 44 + + + АбонентПредставлениеКонтекстноеМеню + 6 + true + + InputField + Enter + true + Left + true + + 30 + true + true false - - СтраницыУказаныКонтактыExtendedTooltip - 108 - Label - true - true - - Left - - - Pages - - Auto + true + true + true + Normal + + + + АбонентКакСвязаться + 7 + + <key>ru</key> + <value>Как связаться</value> + + true + true + + true + + + Объект.АбонентКакСвязаться + + + АбонентКакСвязатьсяExtendedTooltip + 102 + Label + true + true + + Left - + + + АбонентКакСвязатьсяКонтекстноеМеню + 8 + true + + InputField + Enter + true + Left + true + + 30 + true + true + false + true + true + true + Normal + + + + АбонентКонтакт + 9 + + <key>ru</key> + <value>Контакт</value> + + true + true + + true + + + Объект.АбонентКонтакт + + Left + + OnChange + КонтактПриИзменении + + + АбонентКонтактExtendedTooltip + 103 + Label + true + true + + Left + + + + АбонентКонтактКонтекстноеМеню + 10 + true + + InputField + Enter + true + Left + true + + + StartChoice + КонтактНачалоВыбора + + 30 + true + true + false + true + true + true + true + true + Normal + + + + Тема + 61 + true + true + + true + + + Объект.Тема + + + ТемаExtendedTooltip + 119 + Label + true + true + + Left + + + + ТемаКонтекстноеМеню + 62 + true + + InputField + Enter + true + Left + true + + 39 + true + true + false + true + true + true + true + Normal + + + + СтраницыОписаниеДополнительно + 56 - ГруппаОтработать - 52 + СтраницаОписание + 57 - РассмотретьПосле - 36 + Описание + 11 true true true - РассмотретьПосле + Объект.Описание + None - РассмотретьПослеExtendedTooltip - 117 + ОписаниеExtendedTooltip + 123 Label true true @@ -631,8 +350,8 @@ - РассмотретьПослеКонтекстноеМеню - 37 + ОписаниеКонтекстноеМеню + 12 true InputField @@ -641,61 +360,14 @@ Left true - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - true true - true true true true Normal - - Рассмотрено - 21 - - <key>ru</key> - <value>Рассмотрено</value> - - true - true - - true - - - Рассмотрено - - Right - - OnChange - РассмотреноПриИзменении - - - РассмотреноExtendedTooltip - 118 - Label - true - true - - Left - - - - РассмотреноКонтекстноеМеню - 22 - true - - CheckBoxField - Enter - true - Left - true - - true true @@ -703,15 +375,16 @@ <key>ru</key> - <value>Группа отработать</value> + <value>Описание</value> ru - Группа отработать + Описание + true - ГруппаОтработатьExtendedTooltip - 116 + СтраницаОписаниеExtendedTooltip + 122 Label true true @@ -719,13 +392,116 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + Vertical + auto + + + + СтраницаДополнительныеРеквизиты + 60 + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительные реквизиты + + + СтраницаДополнительныеРеквизитыExtendedTooltip + 124 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКомментарий + 88 + + Комментарий + 89 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 126 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 90 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ru + Комментарий + + + СтраницаКомментарийExtendedTooltip + 125 + Label + true + true + + Left + + + Page + + Vertical + auto true @@ -733,13 +509,17 @@ true + + <key>ru</key> + <value>Страницы описание дополнительно</value> + ru - Предмет, важность, место проведения + Страницы описание дополнительно - ГруппаПредметВажностьОтветственныйExtendedTooltip - 105 + СтраницыОписаниеДополнительноExtendedTooltip + 121 Label true true @@ -747,13 +527,9 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto + Pages + + TabsOnTop Auto @@ -762,13 +538,17 @@ true + + <key>ru</key> + <value>Группа лево</value> + ru - Группа шапка + Группа лево - ГруппаШапкаExtendedTooltip - 99 + ГруппаЛевоРасширеннаяПодсказка + 134 Label true true @@ -778,6 +558,7 @@ UsualGroup + Vertical Auto true true @@ -785,105 +566,288 @@ Auto - - Тема - 61 - true - true - - true - - - Объект.Тема - - - ТемаExtendedTooltip - 119 - Label - true - true - - Left - - - - ТемаКонтекстноеМеню - 62 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - ГруппаТемаКак - 74 - true - true - - true - - - <key>ru</key> - <value>Группа тема как</value> - - - ru - Группа тема как - - - ГруппаТемаКакExtendedTooltip - 120 - Label - true - true - - Left + ГруппаПраво + 131 + + Предмет + 15 + true + true + + true + + + Предмет + + Top + + ПредметExtendedTooltip + 106 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 16 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + true + true + Normal - - UsualGroup - - Auto - true - true - Equal - Auto - Auto - - - - СтраницыОписаниеДополнительно - 56 + + + Ответственный + 19 + true + true + + true + + + Объект.Ответственный + + Top + + ОтветственныйExtendedTooltip + 107 + Label + true + true + + Left + + + + ОтветственныйКонтекстноеМеню + 20 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + Рассмотрено + 21 + + <key>ru</key> + <value>Рассмотрено</value> + + true + true + + true + + + Рассмотрено + + Right + + OnChange + РассмотреноПриИзменении + + + РассмотреноExtendedTooltip + 118 + Label + true + true + + Left + + + + РассмотреноКонтекстноеМеню + 22 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 36 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 117 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 37 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + 16 + true + true + false + true + true + true + true + Normal + + + + Важность + 84 + true + true + + true + + + Объект.Важность + + Top + + ВажностьExtendedTooltip + 115 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 85 + true + + InputField + Enter + true + Left + true + + 16 + true + true + false + true + true + true + Normal + + - СтраницаОписание - 57 - - Описание - 11 + СтраницыУказаныКонтакты + 137 + + СтраницаКонтактыНеЗаполнены + 139 + + ДекорацияКонтактыНеЗаполнены + 141 + + <key>ru</key> + <value>Не подобран</value> + + true + true + + true + + + ДекорацияКонтактыНеЗаполненыExtendedTooltip + 143 + Label + true + true + + Left + + + + ДекорацияКонтактыНеЗаполненыКонтекстноеМеню + 142 + true + + Label + 9 + true + true + + Style.FieldSelectionBackColor + + + Left + + true true true - - Объект.Описание - - None + + <key>ru</key> + <value>Страница контакты не заполнены</value> + + + ru + Страница контакты не заполнены + - ОписаниеExtendedTooltip - 123 + СтраницаКонтактыНеЗаполненыExtendedTooltip + 140 Label true true @@ -891,23 +855,74 @@ Left - - ОписаниеКонтекстноеМеню - 12 - true - - InputField - Enter - true - Left - true - + Page + + Vertical + + + + СтраницаКонтактыЗаполнены + 144 + + ДекорацияКонтактыЗаполнены + 146 + true + true + + true + + + ДекорацияКонтактыЗаполненыExtendedTooltip + 148 + Label + true + true + + Left + + + + ДекорацияКонтактыЗаполненыКонтекстноеМеню + 147 + true + + Label true true - true - true - true - Normal + false + + Style.ПоясняющийТекст + + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница контакты заполнены</value> + + + ru + Страница контакты заполнены + + + СтраницаКонтактыЗаполненыExtendedTooltip + 145 + Label + true + true + + Left + + + Page + + Vertical true @@ -917,16 +932,17 @@ <key>ru</key> - <value>Описание</value> + <value>Страницы указаны контакты</value> ru - Описание + Страницы указаны контакты - true + 8 + false - СтраницаОписаниеExtendedTooltip - 122 + СтраницыУказаныКонтактыExtendedTooltip + 138 Label true true @@ -934,152 +950,13 @@ Left - Page - - Vertical - auto + Pages + + Auto - - СтраницаДополнительныеРеквизиты - 60 - true - true - - true - - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Страница дополнительные реквизиты - - - СтраницаДополнительныеРеквизитыExtendedTooltip - 124 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКомментарий - 88 - - Комментарий - 89 - true - true - - true - - - Объект.Комментарий - - None - - КомментарийExtendedTooltip - 126 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 90 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Комментарий</value> - - - ru - Комментарий - - - СтраницаКомментарийExtendedTooltip - 125 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы описание дополнительно</value> - - - ru - Страницы описание дополнительно - - - СтраницыОписаниеДополнительноExtendedTooltip - 121 - Label - true - true - - Left - - - Pages - - TabsOnTop - Auto - - - - ГруппаАвторДатаРегистрации - 91 - ДекорацияПустаяПодвал + ДекорацияПустаяПраво 92 true true @@ -1087,7 +964,7 @@ true - ДекорацияПустаяПодвалExtendedTooltip + ДекорацияПустаяПравоРасширеннаяПодсказка 128 Label true @@ -1097,7 +974,7 @@ - ДекорацияПустаяПодвалКонтекстноеМеню + ДекорацияПустаяПравоКонтекстноеМеню 93 true @@ -1105,63 +982,11 @@ true true true + true Right - - Дата - 94 - - <key>ru</key> - <value>Дата звонка</value> - - true - true - - true - - - Объект.Date - - Left - - ДатаExtendedTooltip - 129 - Label - true - true - - Left - - - - ДатаКонтекстноеМеню - 95 - true - - InputField - Left - Enter - true - Left - true - - 14 - true - true - false - true - - ru - ДЛФ=DT - - true - true - true - Normal - - Автор 96 @@ -1211,15 +1036,15 @@ <key>ru</key> - <value>Автор, дата регистрации</value> + <value>Группа право</value> ru - Автор, дата регистрации + Группа право - ГруппаАвторДатаРегистрацииExtendedTooltip - 127 + ГруппаПравоРасширеннаяПодсказка + 132 Label true true @@ -1229,6 +1054,7 @@ UsualGroup + Vertical Auto true true @@ -1289,7 +1115,7 @@ true true true - Vertical + LeftWide true true true @@ -1461,9 +1287,6 @@ true - - StdPicture.AddListItem - СоздатьКонтактВыполнить diff --git a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Help/ru.html index f0deb3e0e..5393af090 100644 --- a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаДокумента/Help/ru.html @@ -1,24 +1,38 @@ - -

                                          Телефонный звонок

                                          -

                                          Документ "Телефонный звонок" предназначен для регистрации входящих и исходящих звонков.

                                          + +

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

                                          Какие реквизиты можно указать в документе?

                                          Как указать абонента телефонного звонка?

                                          -

                                          Какие взаимодействия можно создать на основании телефонного звонка?

                                          -

                                          Какие реквизиты можно указать в документе?

                                          -
                                          • Предмет - то чему, посвящен звонок, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает первое взаимодействие цепочки. -
                                          • Входящий - признак того что телефонный звонок Входящий, если данный флаг не установлен, то Исходящий. -
                                          • Важность - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. -
                                          • Ответственный - указывается ответственный за данный звонок. -
                                          • Рассмотреть после - необходимо заполнить, если рассмотрение телефонного звонка планируется отложить до определенной даты. -
                                          • Рассмотрено - признак того, что телефонный звонок рассмотрен и не требует дальнейшего внимания. +

                                            Какие взаимодействия можно создать на основании телефонного звонка?

                                            +

                                            Как просмотреть взаимодействия, созданные на основании телефонного звонка?

                                            +

                                            Заполните необходимые поля: +
                                            • Предмет - то, чему посвящен телефонный звонок, например, претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ начинает цепочку взаимодействий. При выполнении команды Взаимодействия из документа предметом взаимодействия во вновь созданном документе будет предмет, указанный в исходном документе, при этом основные поля будут также скопированы. +
                                            • Включите флажок, для того чтобы указать, что телефонный звонок Входящий. Если флажок не установлен, то Исходящий. +
                                            • Важность - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная (значение по умолчанию), Высокая. Отображается в списке взаимодействий специальными значками. +
                                            • Ответственный - выберите ответственного за данный звонок из списка пользователей. По умолчанию программа указывает в качестве ответственного для большинства документов взаимодействия текущего пользователя. +
                                            • Рассмотреть после - необходимо заполнить, если рассмотрение телефонного звонка планируется отложить до определенной даты. Выберите из списка нужное значение: Через 15 мин, Через 30 мин, Через 1 час, Через 3 часа, Завтра. Помимо этих значений можно указать произвольную дату и время с помощью кнопки . +
                                            • Рассмотрено - признак того, что телефонный звонок рассмотрен и не требует дальнейшего внимания. С рассмотренных документов программа снимает выделение. Использовать флажок Рассмотрено рекомендуется при коллективной работе с документами взаимодействий. 
                                            • Тема - краткое описание того, чему был посвящен телефонный звонок. -
                                            • Описание - подробное описание телефонного звонка. -
                                            • Комментарий - произвольный текстовый комментарий.

                                            -
                                            Реквизиты Рассмотрено и Рассмотреть после доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование/Органайзер.
                                            -

                                            Как указать абонента телефонного звонка?

                                            -
                                            • Если участник уже зарегистрирован в информационной базе, то информация о нем указывается в поле "Контакт". -
                                            • Если информацию о участнике запланированного взаимодействия не планируется хранить, то достаточно указать Как связаться и текстовое представление в поле Абонент . -
                                            • Зарегистрировать контакт можно непосредственно из формы телефонного звонка, нажав на кнопку "Создать контакт" в панели командной панели формы.
                                            -

                                            Какие взаимодействия можно создать на основании телефонного звонка?

                                            -


                                            Написать письмо, запланировать взаимодействие, зарегистрировать встречу, отправить сообщение SMS.

                                            -

                                             

                                            \ No newline at end of file +
                                          • Описание - подробное описание телефонного звонка. Укажите, какие действия необходимо выполнить в рамках взаимодействия. Поле является обязательным. +
                                          • Комментарий - произвольный текстовый комментарий, дополнительная информация о телефонном звонке. +
                                          • Создан - дата и время создания документа. По умолчанию в этом поле программой автоматически проставляется текущая дата и время записи документа. Поле недоступно для редактирования. +
                                          • Автор - пользователь, который создал документ. Указывается программой автоматически. Поле недоступно для редактирования.

                                          +
                                          Реквизиты Рассмотрено и Рассмотреть после доступны для указания, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование - Органайзер.
                                          +

                                          Абонент

                                          +
                                          • Если абонент уже зарегистрирован в программе, то информация о нем указывается в поле Контакт. Нажмите  Выбрать, для того чтобы найти контакт в списке Выбор контакта. После выбора контакта автоматически заполняются поля Абонент и Как связаться. +
                                          • Если информацию об абоненте не планируется хранить (например, поступил телефонный звонок от нового контрагента, и вы еще не решили, будете ли вы с ним работать), то достаточно заполнить поле Как связаться и текстовое представление в поле Абонент. При этом рядом с полем Контакт программа выводит предупреждение Контакт не подобран. +
                                          • Зарегистрировать контакт можно непосредственно из окна телефонного звонка, воспользовавшись командой Все действия (в интерфейсе Такси Еще) - Создать контакт. Выберите соответствующий список, нажмите ОК, затем введите данные контакта и дозаполните документ.
                                          +

                                          Создание документов взаимодействий на основании телефонного звонка

                                          +

                                          Нажмите Взаимодействия, для того чтобы:

                                          +

                                          Просмотр взаимодействий, созданных на основании телефонного звонка

                                          +
                                          • +
                                            Нажмите Взаимодействия на панели навигации для перехода к списку взаимодействий, созданных на основании этого телефонного звонка.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Form.form b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Form.form index 7ad27b2e0..f04b51e21 100644 --- a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Form.form +++ b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 23 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -241,10 +276,10 @@
                                          СписокСтрокаПоиска - 23 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 25 + 27 Label true true @@ -254,7 +289,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 24 + 26 true Список @@ -264,10 +299,10 @@ СписокСостояниеПросмотра - 26 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 28 + 30 Label true true @@ -277,7 +312,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 27 + 29 true ViewStatusAddition @@ -288,10 +323,10 @@ СписокУправлениеПоиском - 29 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 31 + 33 Label true true @@ -301,7 +336,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 30 + 32 true SearchControlAddition @@ -361,6 +396,7 @@ true true + ГруппаПользовательскихНастроек
                                          diff --git a/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Help/ru.html b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..c64bab10e --- /dev/null +++ b/SSL/src/Documents/ТелефонныйЗвонок/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,29 @@ + +

                                          Предназначен для выбора документа Телефонный звонок.

                                          +

                                          Открывается по кнопке  после выбора типа данных Телефонный звонок (например, при заполнении поля Предмет в каком-либо документе взаимодействий).

                                          +

                                          В списке выводится:

                                          +
                                          • Дата регистрации - дата создания документа; +
                                          • Номер - присваивается автоматически; +
                                          • Описание - в поле указывается, какие действия необходимо выполнить в рамках взаимодействия; +
                                          • Предмет - то, чему посвящен документ взаимодействий, например претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ взаимодействия начинает цепочку взаимодействий; +
                                          • Абонент - контакт, который указан в телефонном звонке.

                                          Выбор документа

                                          +
                                          • +
                                            Выделите документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно использовать двойной щелчок мыши.

                                          Отбор по периоду

                                          +
                                          • С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Ввод документа Телефонный звонок

                                          +

                                          Нажмите Создать. Заполните нужные поля.

                                          +

                                          Создание взаимодействий на основании телефонного звонка

                                          +

                                          Выделите нужный документ Телефонный звонок. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ТелефонныйЗвонок/ManagerModule.bsl b/SSL/src/Documents/ТелефонныйЗвонок/ManagerModule.bsl index d27e3603f..5bdb27ab1 100644 --- a/SSL/src/Documents/ТелефонныйЗвонок/ManagerModule.bsl +++ b/SSL/src/Documents/ТелефонныйЗвонок/ManagerModule.bsl @@ -2,6 +2,14 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +// Получает абонента телефонного звонка +// +// Параметры: +// Ссылка - ДокументСсылка.ТелефонныйЗвонок - документ, абонента которого необходимо получить. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица, содержащая колонки "Контакт", "Представление" и "Адрес" +// Функция ПолучитьКонтакты(Ссылка) Экспорт Запрос = Новый Запрос; diff --git a/SSL/src/Documents/ТелефонныйЗвонок/ТелефонныйЗвонок.mdo b/SSL/src/Documents/ТелефонныйЗвонок/ТелефонныйЗвонок.mdo index 4abacdd6b..44f6a611a 100644 --- a/SSL/src/Documents/ТелефонныйЗвонок/ТелефонныйЗвонок.mdo +++ b/SSL/src/Documents/ТелефонныйЗвонок/ТелефонныйЗвонок.mdo @@ -442,6 +442,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice @@ -519,7 +524,7 @@ ru Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав. diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Form.form b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Form.form index 09e5ddf20..e0b9453a7 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 23 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -246,10 +281,10 @@ СписокСтрокаПоиска - 23 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 25 + 27 Label true true @@ -259,7 +294,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 24 + 26 true Список @@ -269,10 +304,10 @@ СписокСостояниеПросмотра - 26 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 28 + 30 Label true true @@ -282,7 +317,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 27 + 29 true ViewStatusAddition @@ -293,10 +328,10 @@ СписокУправлениеПоиском - 29 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 31 + 33 Label true true @@ -306,7 +341,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 30 + 32 true SearchControlAddition diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..618330cd4 --- /dev/null +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,33 @@ + +

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

                                          +

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

                                          +

                                          В списке выводится:

                                          +
                                          • Отправлено - дата отправки письма; +
                                          • Номер - номер присваивается автоматически; +
                                          • Тема - поле заполняется отправителем; +
                                          • Предмет - то, чему посвящен документ взаимодействий, например, претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ взаимодействия начинает цепочку взаимодействий; +
                                          • Отправитель - адрес электронной почты отправителя входящего письма.

                                          Отбор по периоду

                                          +
                                          • С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Выбор документа

                                          +
                                          • +
                                            Выделите документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно использовать двойной щелчок мыши.

                                          Создание исходящего электронного письма на основании входящего электронного письма

                                          +

                                          Воспользуйтесь одной из кнопок или командами меню Все действия (в интерфейсе Такси Еще):

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

                                          Распечатка письма

                                          +
                                          • +
                                            Нажмите  Печать;
                                            +
                                          • +
                                            в окне Печать укажите необходимые настройки для принтера - количество копий, размер бумаги и т.п.

                                          Создание взаимодействий на основании входящего электронного письма

                                          +

                                          Выделите нужный документ. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Form.form index 76b9d5c37..56db51c0b 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Form.form @@ -1,176 +1,1318 @@ + + ГруппаЛево + 285 + + ОтправительПредставление + 92 + true + true + + true + + + ОтправительПредставление + + + ОтправительПредставлениеExtendedTooltip + 246 + Label + true + true + + Left + + + + ОтправительПредставлениеКонтекстноеМеню + 93 + true + + InputField + Enter + true + Left + true + + + Opening + ОтправительПредставлениеОткрытие + + 40 + true + true + false + true + true + true + Normal + + + + ПолучателиПредставление + 94 + true + true + + true + + + ПолучателиПредставление + + + ПолучателиПредставлениеExtendedTooltip + 247 + Label + true + true + + Left + + + + ПолучателиПредставлениеКонтекстноеМеню + 95 + true + + InputField + Enter + true + Left + true + + 40 + true + true + true + false + true + true + Normal + + + + ПолучателиКопийПредставление + 149 + true + true + + true + + + ПолучателиКопийПредставление + + + ПолучателиКопийПредставлениеExtendedTooltip + 248 + Label + true + true + + Left + + + + ПолучателиКопийПредставлениеКонтекстноеМеню + 150 + true + + InputField + Enter + true + Left + true + + 40 + true + true + false + true + true + Normal + + + + Тема + 29 + true + true + + true + + + Объект.Тема + + + ТемаExtendedTooltip + 249 + Label + true + true + + Left + + + + ТемаКонтекстноеМеню + 30 + true + + InputField + Enter + true + Left + true + + 40 + true + true + true + true + Normal + + + + СтраницыОписаниеДополнительно + 197 + + СтраницаОписание + 198 + + ТекстПисьма + 90 + true + true + + true + + + ТекстПисьма + + None + + ТекстПисьмаExtendedTooltip + 278 + Label + true + true + + Left + + + + ТекстПисьмаКонтекстноеМеню + 91 + true + + HTMLDocumentField + true + Enter + true + Left + true + + + OnClick + ТекстПисьмаПриНажатии + + 50 + true + 8 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Письмо</value> + + + ru + Описание + + true + + СтраницаОписаниеExtendedTooltip + 277 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаДополнительныеРеквизиты + 201 + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительные реквизиты + + + СтраницаДополнительныеРеквизитыExtendedTooltip + 279 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКомментарий + 226 + + Комментарий + 227 + true + true + + true + + + Объект.Комментарий + + None + + КомментарийExtendedTooltip + 281 + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 228 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Комментарий</value> + + + ru + Комментарий + + + СтраницаКомментарийExtendedTooltip + 280 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы описание дополнительно</value> + + + ru + Страницы описание дополнительно + + 40 + + СтраницыОписаниеДополнительноExtendedTooltip + 276 + Label + true + true + + Left + + + Pages + + TabsOnTop + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа лево</value> + + + ru + Группа лево + + + ГруппаЛевоРасширеннаяПодсказка + 286 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПраво + 287 + + Вложения + 120 + true + true + + true + + + Вложения + + false + None + + Группа + 123 + + ИндексКартинки + 124 + true + true + + true + + + Вложения.ИндексКартинки + + None + + ИндексКартинкиExtendedTooltip + 273 + Label + true + true + + Left + + + + ИндексКартинкиКонтекстноеМеню + 125 + true + + PictureField + Enter + true + Left + true + + 2 + true + 1 + true + true + true + + CommonPicture.КоллекцияПиктограммФайлов + + + 1 + + + + + ИмяФайла + 126 + true + true + + true + + + Вложения.ИмяФайла + + + ИмяФайлаExtendedTooltip + 274 + Label + true + true + + Left + + + + ИмяФайлаКонтекстноеМеню + 127 + true + + InputField + Enter + true + Left + true + + true + true + true + true + Normal + + + + ВложенияРазмерПредставление + 195 + true + true + + true + + + Вложения.РазмерПредставление + + + ВложенияРазмерПредставлениеExtendedTooltip + 275 + Label + true + true + + Left + + + + ВложенияРазмерПредставлениеКонтекстноеМеню + 196 + true + + InputField + Auto + true + Left + true + + 5 + true + true + true + true + true + true + Normal + + + true + true + + true + + 15 + + ГруппаExtendedTooltip + 272 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + None + + ВложенияКоманднаяПанель + 122 + Left + true + + + Selection + ВложенияВыбор + + + OnActivateRow + ВложенияПриАктивизацииСтроки + + + ВложенияСтрокаПоиска + 298 + + ВложенияСтрокаПоискаРасширеннаяПодсказка + 300 + Label + true + true + + Left + + + + ВложенияСтрокаПоискаКонтекстноеМеню + 299 + true + + Вложения + + true + + + + ВложенияСостояниеПросмотра + 301 + + ВложенияСостояниеПросмотраРасширеннаяПодсказка + 303 + Label + true + true + + Left + + + + ВложенияСостояниеПросмотраКонтекстноеМеню + 302 + true + + ViewStatusAddition + Вложения + + true + + + + ВложенияУправлениеПоиском + 304 + + ВложенияУправлениеПоискомРасширеннаяПодсказка + 306 + Label + true + true + + Left + + + + ВложенияУправлениеПоискомКонтекстноеМеню + 305 + true + + SearchControlAddition + Вложения + + true + + + + ВложенияExtendedTooltip + 270 + Label + true + true + + Left + + + + ВложенияКонтекстноеМеню + 121 + + ОткрытьВложение + 129 + true + true + + true + + false + + ОткрытьВложениеExtendedTooltip + 267 + Label + true + true + + Left + + + Form.Command.ОткрытьВложение + Normal + Auto + true + true + UserCmds + Auto + + + СохранитьВложение + 130 + true + true + + true + + false + + СохранитьВложениеExtendedTooltip + 268 + Label + true + true + + Left + + + Form.Command.СохранитьВложение + Normal + Auto + true + true + UserCmds + Auto + + + ВложенияКонтекстноеМенюСвойстваВложения + 223 + true + true + + true + + + ВложенияКонтекстноеМенюСвойстваВложенияExtendedTooltip + 269 + Label + true + true + + Left + + + Form.Command.СвойстваВложения + Normal + Auto + true + true + UserCmds + Auto + + + true + true + true + true + 2 + true + MultiRow + Row + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + None + None + None + true + + + + Предмет + 144 + true + true + + true + + + Предмет + + Top + + ПредметExtendedTooltip + 251 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 145 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + true + true + Normal + + + + Ответственный + 140 + true + true + + true + + + Объект.Ответственный + + Top + + ОтветственныйExtendedTooltip + 262 + Label + true + true + + Left + + + + ОтветственныйКонтекстноеМеню + 141 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + Рассмотрено + 142 + true + true + + true + + + Рассмотрено + + Right + + OnChange + РассмотреноПриИзменении + + + РассмотреноExtendedTooltip + 265 + Label + true + true + + Left + + + + РассмотреноКонтекстноеМеню + 143 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 154 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 264 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 155 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + 16 + true + true + false + true + true + true + true + Normal + + + + СтраницыУказаныКонтакты + 203 + + СтраницаКонтактыЗаполнены + 206 + + ДекорацияКонтактыНеЗаполнены + 210 + true + true + + true + + + ДекорацияКонтактыНеЗаполненыРасширеннаяПодсказка + 255 + Label + true + true + + Left + + + + ДекорацияКонтактыНеЗаполненыКонтекстноеМеню + 211 + true + + Label + 12 + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Страница контакты заполнены</value> + + + ru + Страница контакты заполнены + + + СтраницаКонтактыЗаполненыExtendedTooltip + 254 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаКонтактыНеЗаполнены + 204 + + УточнитьКонтакты + 205 + true + true + + true + + + УточнитьКонтактыExtendedTooltip + 259 + Label + true + true + + Left + + + Hyperlink + Form.Command.УточнитьКонтакты + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Страница контакты не заполнены</value> + + + ru + Страница контакты не заполнены + + true + + СтраницаКонтактыНеЗаполненыExtendedTooltip + 257 + Label + true + true + + Left + + + Page + + auto + + + true + true + + true + + + <key>ru</key> + <value>Страницы указаны контакты</value> + + + ru + Страницы указаны контакты + + true + + СтраницыУказаныКонтактыExtendedTooltip + 253 + Label + true + true + + Left + + + Pages + + Auto + + + + ДекорацияПустая + 289 + true + true + + true + + + ДекорацияПустаяРасширеннаяПодсказка + 291 + Label + true + true + + Left + + + + ДекорацияПустаяКонтекстноеМеню + 290 + true + + Label + true + true + true + true + + Left + + + + Важность + 167 + true + true + + true + + + Объект.Важность + + Left + + ВажностьExtendedTooltip + 260 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 168 + true + + LabelField + Enter + true + Left + true + + true + true + + + + Номер + 219 + true + true + + true + + + Объект.Number + + + НомерExtendedTooltip + 283 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 220 + true + + LabelField + Enter + true + Left + true + + 11 + true + true + false + + + + ДатаОтправления + 221 + true + true + + true + + + Объект.Date + + + ДатаОтправленияExtendedTooltip + 284 + Label + true + true + + Left + + + + ДатаОтправленияКонтекстноеМеню + 222 + true + + LabelField + true + Enter + true + Left + true + + 11 + true + true + + ru + ДФ='дд.ММ.гггг Ч:мм' + + + + true + true + + true + + + <key>ru</key> + <value>Группа право</value> + + + ru + Группа право + + + ГруппаПравоРасширеннаяПодсказка + 288 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + ГруппаПолучателиПрочее 187 ГруппаПолучатели 186 - - ОтправительПредставление - 92 - true - true - - true - - - ОтправительПредставление - - - ОтправительПредставлениеExtendedTooltip - 246 - Label - true - true - - Left - - - - ОтправительПредставлениеКонтекстноеМеню - 93 - true - - InputField - Enter - true - Left - true - - - Opening - ОтправительПредставлениеОткрытие - - true - true - false - true - true - true - Normal - - - - ПолучателиПредставление - 94 - true - true - - true - - - ПолучателиПредставление - - - ПолучателиПредставлениеExtendedTooltip - 247 - Label - true - true - - Left - - - - ПолучателиПредставлениеКонтекстноеМеню - 95 - true - - InputField - Enter - true - Left - true - - true - true - true - false - true - true - Normal - - - - ПолучателиКопийПредставление - 149 - true - true - - true - - - ПолучателиКопийПредставление - - - ПолучателиКопийПредставлениеExtendedTooltip - 248 - Label - true - true - - Left - - - - ПолучателиКопийПредставлениеКонтекстноеМеню - 150 - true - - InputField - Enter - true - Left - true - - true - true - false - true - true - Normal - - - - Тема - 29 - true - true - - true - - - Объект.Тема - - - ТемаExtendedTooltip - 249 - Label - true - true - - Left - - - - ТемаКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - true - true - true - true - Normal - - true true @@ -207,493 +1349,12 @@ ГруппаВажностьОтработка 229 - - Предмет - 144 - true - true - - true - - - Предмет - - - ПредметExtendedTooltip - 251 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 145 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ГруппаВажностьУточнениеКонтактов - 202 - - СтраницыУказаныКонтакты - 203 - - СтраницаКонтактыЗаполнены - 206 - - ДекорацияВажность - 210 - - <key>ru</key> - <value>Важность:</value> - - true - true - - true - - - ДекорацияВажностьExtendedTooltip - 255 - Label - true - true - - Left - - - - ДекорацияВажностьКонтекстноеМеню - 211 - true - - Label - 12 - true - true - - Left - - - - ВажностьЗаполнены - 207 - true - true - - true - - - Объект.Важность - - None - - ВажностьЗаполненыExtendedTooltip - 256 - Label - true - true - - Left - - - - ВажностьЗаполненыКонтекстноеМеню - 208 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты заполнены</value> - - - ru - Страница контакты заполнены - - - СтраницаКонтактыЗаполненыExtendedTooltip - 254 - Label - true - true - - Left - - - Page - - auto - - - - СтраницаКонтактыНеЗаполнены - 204 - - ГруппаКонтактыНеЗаполнены - 209 - - УточнитьКонтакты - 205 - true - true - - true - - - УточнитьКонтактыExtendedTooltip - 259 - Label - true - true - - Left - - - Hyperlink - Form.Command.УточнитьКонтакты - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа контакты не заполнены</value> - - - ru - Группа контакты не заполнены - - true - - ГруппаКонтактыНеЗаполненыExtendedTooltip - 258 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - Важность - 167 - true - true - - true - - - Объект.Важность - - - ВажностьExtendedTooltip - 260 - Label - true - true - - Left - - - - ВажностьКонтекстноеМеню - 168 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты не заполнены</value> - - - ru - Страница контакты не заполнены - - true - - СтраницаКонтактыНеЗаполненыExtendedTooltip - 257 - Label - true - true - - Left - - - Page - - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы указаны контакты</value> - - - ru - Страницы указаны контакты - - true - - СтраницыУказаныКонтактыExtendedTooltip - 253 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - - - <key>ru</key> - <value>Группа важность уточнение контактов</value> - - - ru - Группа важность уточнение контактов - - - ГруппаВажностьУточнениеКонтактовExtendedTooltip - 252 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - ГруппаПрочее 188 - - Ответственный - 140 - true - true - - true - - - Объект.Ответственный - - - ОтветственныйExtendedTooltip - 262 - Label - true - true - - Left - - - - ОтветственныйКонтекстноеМеню - 141 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - ГруппаОтработать 189 - - РассмотретьПосле - 154 - true - true - - true - - - РассмотретьПосле - - - РассмотретьПослеExtendedTooltip - 264 - Label - true - true - - Left - - - - РассмотретьПослеКонтекстноеМеню - 155 - true - - InputField - Enter - true - Left - true - - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - - true - true - false - true - true - true - true - Normal - - - - Рассмотрено - 142 - true - true - - true - - - Рассмотрено - - Right - - OnChange - РассмотреноПриИзменении - - - РассмотреноExtendedTooltip - 265 - Label - true - true - - Left - - - - РассмотреноКонтекстноеМеню - 143 - true - - CheckBoxField - Enter - true - Left - true - - true true @@ -823,776 +1484,9 @@ Auto - - ГруппаВложения - 148 - - Вложения - 120 - true - true - - true - - - Вложения - - false - None - - ВложенияПодписанЭП - 224 - true - true - - true - - - Вложения.ПодписанЭП - - - ВложенияПодписанЭПРасширеннаяПодсказка - 271 - Label - true - true - - Left - - - - ВложенияПодписанЭПКонтекстноеМеню - 225 - true - - PictureField - Auto - true - Left - true - - true - true - true - true - - CommonPicture.ПодписанЭП - - - - 1 - - - - - Группа - 123 - - ИндексКартинки - 124 - true - true - - true - - - Вложения.ИндексКартинки - - None - - ИндексКартинкиExtendedTooltip - 273 - Label - true - true - - Left - - - - ИндексКартинкиКонтекстноеМеню - 125 - true - - PictureField - Enter - true - Left - true - - 2 - true - 1 - true - true - true - - CommonPicture.КоллекцияПиктограммФайлов - - - 1 - - - - - ИмяФайла - 126 - true - true - - true - - - Вложения.ИмяФайла - - - ИмяФайлаExtendedTooltip - 274 - Label - true - true - - Left - - - - ИмяФайлаКонтекстноеМеню - 127 - true - - InputField - Enter - true - Left - true - - true - true - true - true - Normal - - - true - true - - true - - - ГруппаExtendedTooltip - 272 - Label - true - true - - Left - - - ColumnGroup - - InCell - auto - true - - - - ВложенияРазмерПредставление - 195 - true - true - - true - - - Вложения.РазмерПредставление - - - ВложенияРазмерПредставлениеExtendedTooltip - 275 - Label - true - true - - Left - - - - ВложенияРазмерПредставлениеКонтекстноеМеню - 196 - true - - InputField - Auto - true - Left - true - - 5 - true - true - true - true - true - true - Normal - - - None - - ВложенияКоманднаяПанель - 122 - Left - true - - - Selection - ВложенияВыбор - - - OnActivateRow - ВложенияПриАктивизацииСтроки - - - ВложенияСтрокаПоиска - 295 - - ВложенияСтрокаПоискаРасширеннаяПодсказка - 297 - Label - true - true - - Left - - - - ВложенияСтрокаПоискаКонтекстноеМеню - 296 - true - - Вложения - - true - - - - ВложенияСостояниеПросмотра - 298 - - ВложенияСостояниеПросмотраРасширеннаяПодсказка - 300 - Label - true - true - - Left - - - - ВложенияСостояниеПросмотраКонтекстноеМеню - 299 - true - - ViewStatusAddition - Вложения - - true - - - - ВложенияУправлениеПоиском - 301 - - ВложенияУправлениеПоискомРасширеннаяПодсказка - 303 - Label - true - true - - Left - - - - ВложенияУправлениеПоискомКонтекстноеМеню - 302 - true - - SearchControlAddition - Вложения - - true - - - - ВложенияExtendedTooltip - 270 - Label - true - true - - Left - - - - ВложенияКонтекстноеМеню - 121 - - ОткрытьВложение - 129 - true - true - - true - - false - - ОткрытьВложениеExtendedTooltip - 267 - Label - true - true - - Left - - - Form.Command.ОткрытьВложение - Normal - Auto - true - true - UserCmds - Auto - - - СохранитьВложение - 130 - true - true - - true - - false - - СохранитьВложениеExtendedTooltip - 268 - Label - true - true - - Left - - - Form.Command.СохранитьВложение - Normal - Auto - true - true - UserCmds - Auto - - - ВложенияКонтекстноеМенюСвойстваВложения - 223 - true - true - - true - - - ВложенияКонтекстноеМенюСвойстваВложенияExtendedTooltip - 269 - Label - true - true - - Left - - - Form.Command.СвойстваВложения - Normal - Auto - true - true - UserCmds - Auto - - - true - true - true - true - 2 - true - MultiRow - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - None - None - None - true - - - true - true - - true - - - <key>ru</key> - <value>Вложения</value> - - - ru - Вложения - - true - - ГруппаВложенияExtendedTooltip - 266 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - СтраницыОписаниеДополнительно - 197 - - СтраницаОписание - 198 - - ТекстПисьма - 90 - true - true - - true - - - ТекстПисьма - - None - - ТекстПисьмаExtendedTooltip - 278 - Label - true - true - - Left - - - - ТекстПисьмаКонтекстноеМеню - 91 - true - - HTMLDocumentField - true - Enter - true - Left - true - - - OnClick - ТекстПисьмаПриНажатии - - 50 - true - 10 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Письмо</value> - - - ru - Описание - - true - - СтраницаОписаниеExtendedTooltip - 277 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаДополнительныеРеквизиты - 201 - true - true - - true - - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Страница дополнительные реквизиты - - - СтраницаДополнительныеРеквизитыExtendedTooltip - 279 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаКомментарий - 226 - - Комментарий - 227 - true - true - - true - - - Объект.Комментарий - - None - - КомментарийExtendedTooltip - 281 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 228 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Комментарий</value> - - - ru - Комментарий - - - СтраницаКомментарийExtendedTooltip - 280 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы описание дополнительно</value> - - - ru - Страницы описание дополнительно - - - СтраницыОписаниеДополнительноExtendedTooltip - 276 - Label - true - true - - Left - - - Pages - - TabsOnTop - Auto - - ГруппаОтправленоНомер 216 - - Номер - 219 - true - true - - true - - - Объект.Number - - - НомерExtendedTooltip - 283 - Label - true - true - - Left - - - - НомерКонтекстноеМеню - 220 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - - ДатаОтправления - 221 - true - true - - true - - - Объект.Date - - - ДатаОтправленияExtendedTooltip - 284 - Label - true - true - - Left - - - - ДатаОтправленияКонтекстноеМеню - 222 - true - - InputField - true - Enter - true - Left - true - - 11 - true - true - true - - ru - ДФ='дд.ММ.гггг Ч:мм' - - - ru - ДФ='дд.ММ.гггг Ч:мм' - - true - true - true - Normal - - true true @@ -1873,7 +1767,7 @@ Left - 0 + Form.StandardCommand.CustomizeForm Normal Auto true @@ -2043,8 +1937,9 @@ DontBlock true true - Vertical + LeftWide true + true true UseIfNecessary auto diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Help/ru.html index 8c964018a..82c62cda4 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Help/ru.html @@ -1,47 +1,81 @@ - -

                                          Входящее электронное письмо

                                          -

                                          Документ "Электронное письмо входящее" предназначен для регистрации полученных электронных писем.

                                          -

                                          Какие информация отображается в документе и не доступна для изменения?

                                          + +

                                          Документ предназначен для регистрации полученных электронных писем.

                                          +

                                          Какая информация отображается в документе и недоступна для изменения?

                                          Какие реквизиты доступны для редактирования в письме?

                                          Как создать исходящее электронное письмо на основании входящего электронного письма?

                                          -

                                          В каких случаях на форме появляется гиперссылка Уточнить контакты?

                                          +

                                          В каких случаях в документе появляется гиперссылка Уточнить контакты?

                                          Как изменить папку электронного письма?

                                          Как изменить кодировку письма?

                                          Какие взаимодействия можно создать на основании входящего письма?

                                          -

                                          Как распечатать письмо?

                                          -

                                          Какие информация отображается в документе и не доступна для изменения?

                                          -
                                          • От - информация о отправителе письма. -
                                          • Кому - информация о основных получателях письма. +

                                            Как просмотреть взаимодействия, созданные на основании входящего письма?

                                            +

                                            Как распечатать письмо?

                                            +

                                            Как работать со списком вложений?

                                            +

                                            Информация для просмотра

                                            +
                                            • От - информация об отправителе письма. +
                                            • Кому - информация об основных получателях письма.
                                            • Копии - информация о дополнительных получателях письма. -
                                            • Тема - тема письма. -
                                            • Письмо - тело письма. -
                                            • Вложения - приложенные к письму файлы. -
                                            • Номер - номер, под которым данное письмо зарегистрировано в системе. -
                                            • Отравлено - дата отправки письма.

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

                                            -

                                            Какие реквизиты доступны для редактирования в письме?

                                            -
                                            • Предмет - то чему, посвящено взаимодействие, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает первое взаимодействие цепочки. -
                                            • Важность - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. -
                                            • Ответственный - указывается ответственный за данное взаимодействие. -
                                            • Рассмотреть после - необходимо заполнить, если рассмотрение данного взаимодействие планируется отложить до определенной даты. -
                                            • Рассмотрено - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. -
                                            • Комментарий - произвольный текстовый комментарий.

                                            -
                                            Реквизиты Рассмотрено и Рассмотреть после доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование/Органайзер.
                                            -

                                            Как создать исходящее электронное письмо на основании входящего электронного письма?

                                            -


                                            Воспользовавшись одной из команд командной панели формы:

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

                                            В каких случаях на форме появляется гиперссылка Уточнить контакты?

                                            -


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

                                            -

                                            -
                                            Примечание. Если все контакты сопоставлены, то данная гиперссылка на форме не отображается, открыть форму сопоставления контактов возможно по команде Уточнить контакты, которая располагается в меню формы Все действия.
                                            +
                                          • Тема - тема письма. Заполняется отправителем. +
                                          • Письмо - тело письма. Располагается на специальной вкладке. +
                                          • Список вложений - приложенные к письму файлы. Файлы вложений можно открыть или сохранить на диске с помощью команд контекстного меню списка вложений. +
                                          • Важность - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. Проставляется отправителем письма. +
                                          • Номер - номер, под которым данное письмо зарегистрировано в программе. +
                                          • Отравлено - дата и время отправки письма.
                                          +

                                          Заполните необходимые поля:

                                          +
                                          • Предмет - то, чему посвящено взаимодействие, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает текущий документ (т.е. такой документ начинает цепочку взаимодействий). При выполнении команды Взаимодействия из документа предметом взаимодействия во вновь созданном документе будет предмет, указанный в исходном документе, при этом основные поля будут также скопированы. +
                                          • Ответственный - выберите ответственного за данное взаимодействие из списка пользователей. По умолчанию программа указывает для входящих писем ответственного учетной записи. +
                                          • Рассмотрено - признак того, что данное взаимодействие рассмотрено и не требует дальнейшего внимания. С рассмотренных документов программа снимает выделение в списке взаимодействий. При соответствующих настройках после установки флажка отправителю будет отправлено уведомление о прочтении. +
                                          • Рассмотреть после - необходимо заполнить, если рассмотрение данного взаимодействия планируется отложить до определенной даты. Выберите из списка нужное значение: Через 15 мин, Через 30 мин, Через 1 час, Через 3 часа, Завтра. Помимо этих значений можно указать произвольную дату и время с помощью кнопки . +
                                          • Комментарий - дополнительная информация о входящем письме.

                                          +
                                          Поля Рассмотрено и Рассмотреть после доступны для указания, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе Администрирование - Органайзер.
                                          +

                                          Создание исходящего электронного письма на основании входящего электронного письма

                                          +

                                          Воспользуйтесь одной из кнопок или командами меню Все действия (в интерфейсе Такси Еще):

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

                                          Гиперссылка Уточнить контакты

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

                                          -

                                          Как изменить папку электронного письма?

                                          -


                                          Необходимо выполнить команду Параметры письма, расположенную в меню формы Все действия, откроется форма, в которой возможно изменение текущей папки.

                                          -

                                          Как изменить кодировку письма?

                                          -


                                          Необходимо выполнить команду Изменить кодировку, расположенную в меню формы Все действия, и выбрать из списка нужную кодировку.

                                          -

                                          Какие взаимодействия можно создать на основании входящего письма?

                                          -


                                          Написать письмо, отразить факт телефонного звонка, зарегистрировать встречу, отправить сообщение SMS, запланировать взаимодействие.

                                          -

                                          Как распечатать письмо?

                                          -

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

                                          -

                                           

                                          \ No newline at end of file +

                                          Параметры письма. Изменение папки электронного письма

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

                                          Изменение кодировки письма

                                          +
                                          • +
                                            Выполнить команду Все действия (В интерфейсе Такси Еще) - Изменить кодировку.
                                            +
                                          • +
                                            Выберите из списка нужную кодировку, нажмите ОК.
                                          +

                                          Создание взаимодействий на основании входящего письма

                                          +

                                          Выполните команду Все действия (В интерфейсе Такси Еще) - Взаимодействия, для того чтобы:

                                          +

                                          Просмотр взаимодействий, созданных на основании письма

                                          +
                                          • +
                                            Нажмите Взаимодействия на панели навигации для перехода к списку взаимодействий, созданных на основании этого входящего письма.

                                          Распечатка письма

                                          +
                                          • +
                                            Нажмите  Печать;
                                            +
                                          • +
                                            в окне Печать укажите необходимые настройки для принтера - количество копий, размер бумаги и т.п.

                                          Работа со списком вложений

                                          +

                                          Если в письме имеются вложения, то с помощью контекстного меню по правой кнопке мыши можно:

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

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Module.bsl index ca24fe673..9aa82a8fd 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаДокумента/Module.bsl @@ -15,9 +15,6 @@ КонецЕсли; Взаимодействия.УстановитьЗаголовокФормыЭлектронногоПисьма(ЭтотОбъект); - Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьПризнакРассмотрено") Тогда - Элементы.ДекорацияВажность.Ширина = 10; - КонецЕсли; // Заполним список выбора для поля РассмотретьПосле Взаимодействия.ЗаполнитьСписокВыбораДляРассмотретьПосле(Элементы.РассмотретьПосле.СписокВыбора); diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Form.form b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Form.form index ea70d88db..7612243cd 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Form.form +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 19 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -171,10 +206,10 @@
                                          СписокСтрокаПоиска - 19 + 21 СписокСтрокаПоискаРасширеннаяПодсказка - 21 + 23 Label true true @@ -184,7 +219,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 20 + 22 true Список @@ -194,10 +229,10 @@ СписокСостояниеПросмотра - 22 + 24 СписокСостояниеПросмотраРасширеннаяПодсказка - 24 + 26 Label true true @@ -207,7 +242,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 23 + 25 true ViewStatusAddition @@ -218,10 +253,10 @@ СписокУправлениеПоиском - 25 + 27 СписокУправлениеПоискомРасширеннаяПодсказка - 27 + 29 Label true true @@ -231,7 +266,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 26 + 28 true SearchControlAddition @@ -290,6 +325,7 @@ true true + ГруппаПользовательскихНастроек
                                          diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Help/ru.html b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..89a38f03f --- /dev/null +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,26 @@ + +

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

                                          +

                                          В списке выводится:

                                          +
                                          • Отправлено - дата отправки письма; +
                                          • Отправитель - адрес электронной почты отправителя входящего письма. +
                                          • Тема - поле заполняется отправителем;

                                          Отбор по периоду

                                          +
                                          • С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Создание исходящего электронного письма на основании входящего электронного письма

                                          +

                                          Воспользуйтесь одной из кнопок или командами меню Все действия (в интерфейсе Такси Еще):

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

                                          Распечатка письма

                                          +
                                          • +
                                            Нажмите  Печать;
                                            +
                                          • +
                                            в окне Печать укажите необходимые настройки для принтера - количество копий, размер бумаги и т.п.

                                          Создание взаимодействий на основании входящего электронного письма

                                          +

                                          Выделите нужный документ. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ManagerModule.bsl b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ManagerModule.bsl index 92e6c426e..c5dd2ecb9 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ManagerModule.bsl +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ManagerModule.bsl @@ -2,6 +2,14 @@ #Область ПрограммныйИнтерфейс +// Получает отправителя и адресатов электронного письма +// +// Параметры: +// Ссылка - ДокументСсылка.ЭлектронноеПисьмоВходящее - документ, абонента которого необходимо получить. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица, содержащая колонки "Контакт", "Представление" и "Адрес" +// Функция ПолучитьКонтакты(Ссылка) Экспорт ТекстЗапроса = diff --git a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ЭлектронноеПисьмоВходящее.mdo b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ЭлектронноеПисьмоВходящее.mdo index 3fb22faa4..6884b3c6e 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ЭлектронноеПисьмоВходящее.mdo +++ b/SSL/src/Documents/ЭлектронноеПисьмоВходящее/ЭлектронноеПисьмоВходящее.mdo @@ -719,6 +719,11 @@ ru Форма выбора + + + ru + + PersonalComputer MobileDevice @@ -728,6 +733,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice @@ -1051,7 +1061,7 @@ ru Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав. @@ -1306,7 +1316,10 @@ DocumentRef.ЭлектронноеПисьмоВходящее - PictureAndText + + ru + Ответить + CommonPicture.ОтветитьНаЭлектронноеПисьмо @@ -1321,7 +1334,11 @@ DocumentRef.ЭлектронноеПисьмоВходящее - PictureAndText + Picture + + ru + Ответить всем + CommonPicture.ОтветитьНаЭлектронноеПисьмоВсем @@ -1336,7 +1353,11 @@ DocumentRef.ЭлектронноеПисьмоВходящее - PictureAndText + Picture + + ru + Переслать + CommonPicture.ПереслатьЭлектронноеПисьмо diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Form.form b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Form.form index 22c95ed4b..e1adfa0cf 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Form.form +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Form.form @@ -1,5 +1,40 @@ + + ГруппаПользовательскихНастроек + 23 + true + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + auto + Auto + Auto + + Список 1 @@ -240,10 +275,10 @@
                                          СписокСтрокаПоиска - 23 + 25 СписокСтрокаПоискаРасширеннаяПодсказка - 25 + 27 Label true true @@ -253,7 +288,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 24 + 26 true Список @@ -263,10 +298,10 @@ СписокСостояниеПросмотра - 26 + 28 СписокСостояниеПросмотраРасширеннаяПодсказка - 28 + 30 Label true true @@ -276,7 +311,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 27 + 29 true ViewStatusAddition @@ -287,10 +322,10 @@ СписокУправлениеПоиском - 29 + 31 СписокУправлениеПоискомРасширеннаяПодсказка - 31 + 33 Label true true @@ -300,7 +335,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 30 + 32 true SearchControlAddition @@ -360,6 +395,7 @@ true true + ГруппаПользовательскихНастроек
                                          diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Help/ru.html b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Help/ru.html new file mode 100644 index 000000000..41299d29a --- /dev/null +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаВыбора/Help/ru.html @@ -0,0 +1,35 @@ + +

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

                                          +

                                          Открывается по кнопке  после выбора типа данных Исходящее электронное письмо (например, при заполнении поля Предмет в каком-либо документе взаимодействий).

                                          +

                                          В списке выводится:

                                          +
                                          • Создано - дата создания документа; +
                                          • Номер - номер присваивается автоматически; +
                                          • Тема - краткое описание содержания письма; +
                                          • Предмет - то, чему посвящен документ взаимодействий, например, претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ взаимодействия начинает цепочку взаимодействий; +
                                          • Получатели - контакты, которые указаны в качестве адресатов письма.

                                          Выбор документа

                                          +
                                          • +
                                            Выделите документ, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно использовать двойной щелчок мыши.

                                          Ввод документа Исходящее электронное письмо

                                          +
                                          • Нажмите Создать. Заполните нужные поля.

                                          Пересылка исходящего электронного письма

                                          +
                                          • +
                                            Выделите нужное письмо.
                                            +
                                          • +
                                            Нажмите  Переслать. В этом случае получатели автоматически не заполняются. Будет сформировано исходящее письмо, включающее в себя текст и вложения выбранного исходящего письма.

                                          Распечатка письма

                                          +
                                          • +
                                            Нажмите  Печать;
                                            +
                                          • +
                                            В окне Печать укажите необходимые настройки для принтера - количество копий, размер бумаги и т.п.

                                          Отбор по периоду

                                          +
                                          • +
                                            С помощью соответствующей команды меню Все действия (в интерфейсе Такси Еще) можно Установить интервал дат.

                                          Создание взаимодействий на основании исходящего электронного письма

                                          +

                                          Выделите нужный документ. Нажмите Взаимодействия, для того чтобы:

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Form.form b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Form.form index 36af4f276..2dc28ee2b 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Form.form +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Form.form @@ -1,423 +1,307 @@ - ГруппаШапка - 268 - - ГруппаПолучателиПрочее - 227 - - ГруппаПолучатели - 228 - - ОтправительПредставление - 136 - - <key>ru</key> - <value>От</value> - - true - true - - true - - - Объект.ОтправительПредставление - - - ОтправительПредставлениеExtendedTooltip - 305 - Label - true - true - - Left - - - - ОтправительПредставлениеКонтекстноеМеню - 137 - true - - InputField - Enter - true - Left - true - - - ChoiceProcessing - ПредставлениеОтправителяОбработкаВыбора - - true - true - true - true - true - Normal - - - - СписокПолучателейПисьма - 130 - true - true - - true - - - Объект.СписокПолучателейПисьма - - - СписокПолучателейПисьмаExtendedTooltip - 306 - Label - true - true - - Left - - - - СписокПолучателейПисьмаКонтекстноеМеню - 131 - true - - InputField - Enter - true - Left - true - - - AutoComplete - СписокПолучателейАвтоПодбор - - - StartChoice - СписокПолучателейПисьмаНачалоВыбора - - - TextEditEnd - СписокПолучателейОкончаниеВводаТекста - - - ChoiceProcessing - СписокПолучателейОбработкаВыбора - - true - true - true - true - true - true - Normal - - - - СписокПолучателейКопий - 155 - true - true - - true - - - Объект.СписокПолучателейКопий - - - СписокПолучателейКопийExtendedTooltip - 307 - Label - true - true - - Left - - - - СписокПолучателейКопийКонтекстноеМеню - 156 - true - - InputField - Enter - true - Left - true - - - AutoComplete - СписокПолучателейАвтоПодбор - - - StartChoice - СписокПолучателейПисьмаНачалоВыбора - - - TextEditEnd - СписокПолучателейОкончаниеВводаТекста - - - ChoiceProcessing - СписокПолучателейОбработкаВыбора - - true - true - true - true - true - true - Normal - - - - СписокПолучателейСкрытыхКопий - 157 - - <key>ru</key> - <value>Скрытые</value> - - true - true - - true - - - Объект.СписокПолучателейСкрытыхКопий - - - СписокПолучателейСкрытыхКопийExtendedTooltip - 308 - Label - true - true - - Left - - - - СписокПолучателейСкрытыхКопийКонтекстноеМеню - 158 - true - - InputField - Enter - true - Left - true - - - AutoComplete - СписокПолучателейАвтоПодбор - - - StartChoice - СписокПолучателейПисьмаНачалоВыбора - - - TextEditEnd - СписокПолучателейОкончаниеВводаТекста - - - ChoiceProcessing - СписокПолучателейОбработкаВыбора - - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа получатели</value> - - - ru - Группа получатели - - - ГруппаПолучателиExtendedTooltip - 304 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + ГруппаЛево + 361 + + ОтправительПредставление + 136 + + <key>ru</key> + <value>От</value> + + true + true + + true + + + Объект.ОтправительПредставление + + + ОтправительПредставлениеExtendedTooltip + 305 + Label + true + true + + Left - + + + ОтправительПредставлениеКонтекстноеМеню + 137 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + ПредставлениеОтправителяОбработкаВыбора + + 40 + true + true + true + true + true + Normal + + + + СписокПолучателейПисьма + 130 + true + true + + true + + + Объект.СписокПолучателейПисьма + + + СписокПолучателейПисьмаExtendedTooltip + 306 + Label + true + true + + Left + + + + СписокПолучателейПисьмаКонтекстноеМеню + 131 + true + + InputField + Enter + true + Left + true + + + AutoComplete + СписокПолучателейАвтоПодбор + + + StartChoice + СписокПолучателейПисьмаНачалоВыбора + + + TextEditEnd + СписокПолучателейОкончаниеВводаТекста + + + ChoiceProcessing + СписокПолучателейОбработкаВыбора + + 40 + true + true + true + true + true + true + Normal + + + + СписокПолучателейКопий + 155 + true + true + + true + + + Объект.СписокПолучателейКопий + + + СписокПолучателейКопийExtendedTooltip + 307 + Label + true + true + + Left + + + + СписокПолучателейКопийКонтекстноеМеню + 156 + true + + InputField + Enter + true + Left + true + + + AutoComplete + СписокПолучателейАвтоПодбор + + + StartChoice + СписокПолучателейПисьмаНачалоВыбора + + + TextEditEnd + СписокПолучателейОкончаниеВводаТекста + + + ChoiceProcessing + СписокПолучателейОбработкаВыбора + + 40 + true + true + true + true + true + true + Normal + + + + СписокПолучателейСкрытыхКопий + 157 + + <key>ru</key> + <value>Скрытые</value> + + true + true + + true + + + Объект.СписокПолучателейСкрытыхКопий + + + СписокПолучателейСкрытыхКопийExtendedTooltip + 308 + Label + true + true + + Left + + + + СписокПолучателейСкрытыхКопийКонтекстноеМеню + 158 + true + + InputField + Enter + true + Left + true + + + AutoComplete + СписокПолучателейАвтоПодбор + + + StartChoice + СписокПолучателейПисьмаНачалоВыбора + + + TextEditEnd + СписокПолучателейОкончаниеВводаТекста + + + ChoiceProcessing + СписокПолучателейОбработкаВыбора + + 40 + true + true + false + true + true + true + true + Normal + + + + Тема + 29 + true + true + + true + + + Объект.Тема + + + ТемаExtendedTooltip + 327 + Label + true + true + + Left + + + + ТемаКонтекстноеМеню + 30 + true + + InputField + Enter + true + Left + true + + 40 + true + true + true + true + true + Normal + + + + СтраницыОписаниеДополнительно + 248 - ГруппаПрочее - 229 - - Предмет - 160 - true - true - - true - - - Предмет - - - ПредметExtendedTooltip - 310 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 161 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - + СтраницаОписание + 249 - ГруппаВажностьОтработка - 247 + СтраницаПисьмо + 213 - ГруппаВажностьУточнениеКонтактов - 254 + СтраницыТекстПисьма + 197 - СтраницыУказаныКонтакты - 255 - - СтраницаКонтактыЗаполнены - 256 - - ДекорацияВажность - 257 - - <key>ru</key> - <value>Важность:</value> - - true - true - - true - - - ДекорацияВажностьExtendedTooltip - 315 - Label - true - true - - Left - - - - ДекорацияВажностьКонтекстноеМеню - 258 - true - - Label - 10 - true - true - - Left - - - - ВажностьЗаполнены - 259 - true - true - - true - - - Объект.Важность - - None - - ВажностьЗаполненыExtendedTooltip - 316 - Label - true - true - - Left - - - - ВажностьЗаполненыКонтекстноеМеню - 260 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - + СтраницаОбычныйТекст + 198 + + ТекстПисьма + 25 true true true - - <key>ru</key> - <value>Страница контакты заполнены</value> - - - ru - Страница контакты заполнены - + + ТекстПисьма + + None - СтраницаКонтактыЗаполненыExtendedTooltip - 314 + ТекстПисьмаExtendedTooltip + 349 Label true true @@ -425,147 +309,27 @@ Left - Page - - auto - - - - СтраницаКонтактыНеЗаполнены - 261 - - ГруппаКонтактыНеЗаполнены - 262 - - УточнитьКонтакты - 263 - true - true - - true - - - УточнитьКонтактыExtendedTooltip - 319 - Label - true - true - - Left - - - Hyperlink - Form.Command.УточнитьКонтакты - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа контакты не заполнены</value> - - - ru - Группа контакты не заполнены - + + ТекстПисьмаКонтекстноеМеню + 26 + true + + HTMLDocumentField + Enter + true + Left + true + + + OnClick + ТекстПисьмаПриНажатии + + 50 + true + 7 + true true - - ГруппаКонтактыНеЗаполненыExtendedTooltip - 318 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - Важность - 264 - true - true - - true - - - Объект.Важность - - - ВажностьExtendedTooltip - 320 - Label - true - true - - Left - - - - ВажностьКонтекстноеМеню - 265 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница контакты не заполнены</value> - - - ru - Страница контакты не заполнены - - true - - СтраницаКонтактыНеЗаполненыExtendedTooltip - 317 - Label - true - true - - Left - - - Page - - auto + true true @@ -575,16 +339,16 @@ <key>ru</key> - <value>Страницы указаны контакты</value> + <value>Страница обычный текст</value> ru - Страницы указаны контакты + Страница обычный текст true - СтраницыУказаныКонтактыExtendedTooltip - 313 + СтраницаОбычныйТекстExtendedTooltip + 348 Label true true @@ -592,9 +356,115 @@ Left - Pages - - Auto + Page + + Vertical + auto + + + + СтраницаФорматированныйДокумент + 199 + + ГруппаКоманднаяПанельФорматированногоДокумента + 202 + true + true + + true + + + <key>ru</key> + <value>Группа командная панель форматированного документа</value> + + + ru + Группа командная панель форматированного документа + + + ГруппаКоманднаяПанельФорматированногоДокументаExtendedTooltip + 351 + Label + true + true + + Left + + + CommandBar + + Left + Item.ТекстПисьмаФорматированныйДокумент + + + + ТекстПисьмаФорматированныйДокумент + 200 + true + true + + true + + + ТекстПисьмаФорматированныйДокумент + + None + + ТекстПисьмаФорматированныйДокументExtendedTooltip + 352 + Label + true + true + + Left + + + + ТекстПисьмаФорматированныйДокументКонтекстноеМеню + 201 + true + + FormattedDocumentField + Enter + true + Left + true + + 50 + true + 7 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Страница форматированный документ</value> + + + ru + Страница форматированный документ + + + СтраницаФорматированныйДокументExtendedTooltip + 350 + Label + true + true + + Left + + + Page + + Vertical + auto true @@ -604,15 +474,132 @@ <key>ru</key> - <value>Группа важность уточнение контактов</value> + <value>Страницы текст письма</value> ru - Группа важность уточнение контактов + Страницы текст письма - ГруппаВажностьУточнениеКонтактовExtendedTooltip - 312 + СтраницыТекстПисьмаExtendedTooltip + 347 + Label + true + true + + Left + + + Pages + + Auto + + + + ГруппаВходящее + 208 + + ТекстВходящегоПисьма + 203 + + <key>ru</key> + <value>Входящее сообщение</value> + + true + true + + true + + + ТекстВходящегоПисьма + + None + + ТекстВходящегоПисьмаExtendedTooltip + 354 + Label + true + true + + Left + + + + ТекстВходящегоПисьмаКонтекстноеМеню + 204 + true + + HTMLDocumentField + true + Enter + true + Left + true + + + OnClick + ТекстВходящегоПисьмаПриНажатии + + 50 + true + 7 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа входящее</value> + + + ru + Группа входящее + + + ГруппаВходящееExtendedTooltip + 353 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаОтправленоНомер + 275 + true + true + + true + + + <key>ru</key> + <value>Группа отправлено номер</value> + + + ru + Группа отправлено номер + + + ГруппаОтправленоНомерExtendedTooltip + 355 Label true true @@ -636,15 +623,15 @@ <key>ru</key> - <value>Группа важность отработка</value> + <value>Письмо</value> ru - Группа важность отработка + Страница письмо - ГруппаВажностьОтработкаExtendedTooltip - 311 + СтраницаПисьмоExtendedTooltip + 346 Label true true @@ -654,6 +641,7 @@ UsualGroup + Vertical Auto true true @@ -661,20 +649,86 @@ Auto + true + true + + true + + + <key>ru</key> + <value>Письмо</value> + + + ru + Описание + + true + + СтраницаОписаниеExtendedTooltip + 345 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаДополнительныеРеквизиты + 252 + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Страница дополнительные реквизиты + + + СтраницаДополнительныеРеквизитыExtendedTooltip + 358 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаКомментарий + 283 - Ответственный - 165 + Комментарий + 284 true true true - Объект.Ответственный + Объект.Комментарий + None - ОтветственныйExtendedTooltip - 321 + КомментарийExtendedTooltip + 360 Label true true @@ -683,8 +737,8 @@ - ОтветственныйКонтекстноеМеню - 166 + КомментарийКонтекстноеМеню + 285 true InputField @@ -695,136 +749,13 @@ true true + true true true true Normal - - ГруппаНаКонтроле - 266 - - НаКонтроле - 245 - - <key>ru</key> - <value>На контроле, рассмотреть после</value> - - true - true - - true - - - НаКонтроле - - Right - - OnChange - НаКонтролеПриИзменении - - - НаКонтролеExtendedTooltip - 323 - Label - true - true - - Left - - - - НаКонтролеКонтекстноеМеню - 246 - true - - CheckBoxField - Enter - true - Left - true - - - - РассмотретьПосле - 167 - true - true - - true - - - РассмотретьПосле - - None - - РассмотретьПослеExtendedTooltip - 324 - Label - true - true - - Left - - - - РассмотретьПослеКонтекстноеМеню - 168 - true - - InputField - Enter - true - Left - true - - - ChoiceProcessing - РассмотретьПослеОбработкаВыбора - - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа на контроле</value> - - - ru - Группа на контроле - - - ГруппаНаКонтролеExtendedTooltip - 322 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - true true @@ -832,16 +763,15 @@ <key>ru</key> - <value>Группа прочее</value> + <value>Комментарий</value> ru - Группа прочее + Комментарий - false - ГруппаПрочееExtendedTooltip - 309 + СтраницаКомментарийExtendedTooltip + 359 Label true true @@ -849,14 +779,10 @@ Left - UsualGroup - + Page + Vertical - Auto - true - true - Auto - Auto + auto true @@ -866,15 +792,15 @@ <key>ru</key> - <value>Группа получатели прочее</value> + <value>Страницы описание дополнительно</value> ru - Группа получатели прочее + Страницы описание дополнительно - ГруппаПолучателиПрочееExtendedTooltip - 303 + СтраницыОписаниеДополнительноExtendedTooltip + 344 Label true true @@ -882,120 +808,9 @@ Left - UsualGroup - - Auto - true - true - LeftWide - Auto - Auto - - - - ГруппаТема - 269 - - ДекорацияТема - 270 - - <key>ru</key> - <value>Тема:</value> - - true - true - - true - - - ДекорацияТемаExtendedTooltip - 326 - Label - true - true - - Left - - - - ДекорацияТемаКонтекстноеМеню - 271 - true - - Label - 6 - true - true - - Left - - - - Тема - 29 - true - true - - true - - - Объект.Тема - - None - - ТемаExtendedTooltip - 327 - Label - true - true - - Left - - - - ТемаКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - - ru - Группа тема - - - ГруппаТемаExtendedTooltip - 325 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto + Pages + + TabsOnTop Auto @@ -1004,13 +819,17 @@ true + + <key>ru</key> + <value>Группа лево</value> + ru - Группа шапка + Группа лево - ГруппаШапкаExtendedTooltip - 302 + ГруппаЛевоРасширеннаяПодсказка + 362 Label true true @@ -1029,67 +848,39 @@ - СтраницыВложения - 238 - - СтраницаРедактирование - 240 - - ДобавитьВложениеСкрепка - 242 - true - true - - true - - - ДобавитьВложениеСкрепкаExtendedTooltip - 330 - Label - true - true - - Left - - - UsualButton - Form.Command.ДобавитьВложение - Normal - Picture - 6 - true - 1 - true - UserCmds - Auto - - - Вложения - 138 - true - true - - true - - - Вложения - - false - None + ГруппаПраво + 363 + + Вложения + 138 + true + true + + true + + + Вложения + + false + None + + Группа + 149 - ВложенияПодписанЭП - 281 + ИндексКартинки + 145 true true true - Вложения.ПодписанЭП + Вложения.ИндексКартинки + None - ВложенияПодписанЭПРасширеннаяПодсказка - 337 + ИндексКартинкиExtendedTooltip + 339 Label true true @@ -1098,12 +889,12 @@ - ВложенияПодписанЭПКонтекстноеМеню - 282 + ИндексКартинкиКонтекстноеМеню + 146 true PictureField - Auto + Enter true Left true @@ -1113,111 +904,27 @@ true true - CommonPicture.ПодписанЭП + CommonPicture.КоллекцияПиктограммФайлов - 1 - - Группа - 149 - - ИндексКартинки - 145 - true - true - - true - - - Вложения.ИндексКартинки - - None - - ИндексКартинкиExtendedTooltip - 339 - Label - true - true - - Left - - - - ИндексКартинкиКонтекстноеМеню - 146 - true - - PictureField - Enter - true - Left - true - - 2 - true - 1 - true - true - true - - CommonPicture.КоллекцияПиктограммФайлов - - - 1 - - - - - ИмяФайла - 143 - true - true - - true - - - Вложения.ИмяФайла - - - ИмяФайлаExtendedTooltip - 340 - Label - true - true - - Left - - - - ИмяФайлаКонтекстноеМеню - 144 - true - - InputField - Enter - true - Left - true - - true - true - true - true - Normal - - + + ИмяФайла + 143 true true true + + Вложения.ИмяФайла + - ГруппаExtendedTooltip - 338 + ИмяФайлаExtendedTooltip + 340 Label true true @@ -1225,11 +932,22 @@ Left - ColumnGroup - - InCell - auto - true + + ИмяФайлаКонтекстноеМеню + 144 + true + + InputField + Enter + true + Left + true + + true + true + true + true + Normal @@ -1275,107 +993,61 @@ Normal - None - - ВложенияКоманднаяПанель - 140 - Left - true - - - DragCheck - ВложенияПроверкаПеретаскивания - - - Selection - ВложенияВыбор - - - BeforeAddRow - ВложенияПередНачаломДобавления - - - BeforeDeleteRow - ВложенияПередУдалением - - - Drag - ВложенияПеретаскивание - - - ВложенияСтрокаПоиска - 372 - - ВложенияСтрокаПоискаРасширеннаяПодсказка - 374 - Label - true - true - - Left - - - - ВложенияСтрокаПоискаКонтекстноеМеню - 373 - true - - Вложения - - true - - - - ВложенияСостояниеПросмотра - 375 - - ВложенияСостояниеПросмотраРасширеннаяПодсказка - 377 - Label - true - true - - Left - - - - ВложенияСостояниеПросмотраКонтекстноеМеню - 376 - true - - ViewStatusAddition - Вложения - - true - - - - ВложенияУправлениеПоиском - 378 - - ВложенияУправлениеПоискомРасширеннаяПодсказка - 380 - Label - true - true - - Left - - - - ВложенияУправлениеПоискомКонтекстноеМеню - 379 - true - - SearchControlAddition - Вложения - - true - - + true + true + + true + - ВложенияExtendedTooltip - 336 + ГруппаExtendedTooltip + 338 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + None + + ВложенияКоманднаяПанель + 140 + Left + true + + + DragCheck + ВложенияПроверкаПеретаскивания + + + Selection + ВложенияВыбор + + + BeforeAddRow + ВложенияПередНачаломДобавления + + + BeforeDeleteRow + ВложенияПередУдалением + + + Drag + ВложенияПеретаскивание + + + ВложенияСтрокаПоиска + 385 + + ВложенияСтрокаПоискаРасширеннаяПодсказка + 387 Label true true @@ -1384,222 +1056,21 @@ - ВложенияКонтекстноеМеню - 139 - - ДобавитьВложение - 150 - true - true - - true - - false - - ДобавитьВложениеExtendedTooltip - 331 - Label - true - true - - Left - - - Form.Command.ДобавитьВложение - Normal - Auto - true - true - UserCmds - Auto - - - ОткрытьВложение - 152 - true - true - - true - - false - - ОткрытьВложениеExtendedTooltip - 332 - Label - true - true - - Left - - - Form.Command.ОткрытьВложение - Normal - Auto - true - true - UserCmds - Auto - - - СохранитьВложение - 153 - true - true - - true - - false - - СохранитьВложениеExtendedTooltip - 333 - Label - true - true - - Left - - - 0 - Normal - Auto - true - true - UserCmds - Auto - - - УдалитьВложение - 187 - - <key>ru</key> - <value>Удалить вложение</value> - - true - true - - true - - false - - УдалитьВложениеExtendedTooltip - 334 - Label - true - true - - Left - - - Form.Item.Вложения.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ВложенияКонтекстноеМенюСвойстваВложения - 280 - true - true - - true - - - ВложенияКонтекстноеМенюСвойстваВложенияExtendedTooltip - 335 - Label - true - true - - Left - - - Form.Command.СвойстваВложения - Normal - Auto - true - true - UserCmds - Auto - + ВложенияСтрокаПоискаКонтекстноеМеню + 386 + true - true - true - true - true - 1 - true - MultiRow - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - true - - Вложения.ИндексКартинки - - - CommonPicture.КоллекцияПиктограммФайлов - - None - None - None - true - - - true - true - - true - - - <key>ru</key> - <value>Страница редактирование</value> - - - ru - Страница редактирование - - - СтраницаРедактированиеExtendedTooltip - 329 - Label - true - true - - Left + Вложения + + true - - Page - - - - СтраницаДобавить - 241 - - ДобавитьВложениеГиперссылка - 243 - true - true - - true - + + + ВложенияСостояниеПросмотра + 388 - ДобавитьВложениеГиперссылкаExtendedTooltip - 343 + ВложенияСостояниеПросмотраРасширеннаяПодсказка + 390 Label true true @@ -1607,18 +1078,543 @@ Left - UsualButton - Form.Command.ДобавитьВложение - Normal - Picture - 7 + + ВложенияСостояниеПросмотраКонтекстноеМеню + 389 + true + + ViewStatusAddition + Вложения + + true + + + + ВложенияУправлениеПоиском + 391 + + ВложенияУправлениеПоискомРасширеннаяПодсказка + 393 + Label + true + true + + Left + + + + ВложенияУправлениеПоискомКонтекстноеМеню + 392 + true + + SearchControlAddition + Вложения + + true + + + + ВложенияExtendedTooltip + 336 + Label true true - UserCmds - - CommonPicture.Скрепка - - Auto + + Left + + + + ВложенияКонтекстноеМеню + 139 + + ДобавитьВложение + 150 + true + true + + true + + false + + ДобавитьВложениеExtendedTooltip + 331 + Label + true + true + + Left + + + Form.Command.ДобавитьВложение + Normal + Auto + true + true + UserCmds + Auto + + + ОткрытьВложение + 152 + true + true + + true + + false + + ОткрытьВложениеExtendedTooltip + 332 + Label + true + true + + Left + + + Form.Command.ОткрытьВложение + Normal + Auto + true + true + UserCmds + Auto + + + СохранитьВложение + 153 + true + true + + true + + false + + СохранитьВложениеExtendedTooltip + 333 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + + + УдалитьВложение + 187 + + <key>ru</key> + <value>Удалить вложение</value> + + true + true + + true + + false + + УдалитьВложениеExtendedTooltip + 334 + Label + true + true + + Left + + + Form.Item.Вложения.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + + + ВложенияКонтекстноеМенюСвойстваВложения + 280 + true + true + + true + + + ВложенияКонтекстноеМенюСвойстваВложенияExtendedTooltip + 335 + Label + true + true + + Left + + + Form.Command.СвойстваВложения + Normal + Auto + true + true + UserCmds + Auto + + + true + true + true + true + 2 + true + MultiRow + Row + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + true + + Вложения.ИндексКартинки + + + CommonPicture.КоллекцияПиктограммФайлов + + None + None + None + true + + + + Предмет + 160 + true + true + + true + + + Предмет + + Top + + ПредметExtendedTooltip + 310 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 161 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + true + true + Normal + + + + Ответственный + 165 + true + true + + true + + + Объект.Ответственный + + Top + + ОтветственныйExtendedTooltip + 321 + Label + true + true + + Left + + + + ОтветственныйКонтекстноеМеню + 166 + true + + InputField + Enter + true + Left + true + + 25 + true + true + true + true + true + Normal + + + + НаКонтроле + 245 + + <key>ru</key> + <value>На контроле</value> + + true + true + + true + + + НаКонтроле + + Right + + OnChange + НаКонтролеПриИзменении + + + НаКонтролеExtendedTooltip + 323 + Label + true + true + + Left + + + + НаКонтролеКонтекстноеМеню + 246 + true + + CheckBoxField + Enter + true + Left + true + + + + РассмотретьПосле + 167 + true + true + + true + + + РассмотретьПосле + + Top + + РассмотретьПослеExtendedTooltip + 324 + Label + true + true + + Left + + + + РассмотретьПослеКонтекстноеМеню + 168 + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + РассмотретьПослеОбработкаВыбора + + true + true + false + true + true + true + true + Normal + + + + Важность + 264 + true + true + + true + + + Объект.Важность + + Top + + ВажностьExtendedTooltip + 320 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 265 + true + + InputField + Enter + true + Left + true + + 17 + true + true + false + true + true + true + Normal + + + + ГруппаДатаОтправкиАктуальность + 368 + + ДатаКогдаОтправить + 370 + + <key>ru</key> + <value>Когда отправить</value> + + true + true + + true + + + Объект.ДатаКогдаОтправить + + Top + + ДатаКогдаОтправитьРасширеннаяПодсказка + 372 + Label + true + true + + Left + + + + ДатаКогдаОтправитьКонтекстноеМеню + 371 + true + + InputField + Enter + true + Left + true + + 15 + true + true + false + true + true + true + true + Normal + + + + ДатаАктуальностиОтправки + 373 + + <key>ru</key> + <value>Не отправлять после</value> + + true + true + + true + + + Объект.ДатаАктуальностиОтправки + + Top + + ДатаАктуальностиОтправкиРасширеннаяПодсказка + 375 + Label + true + true + + Left + + + + ДатаАктуальностиОтправкиКонтекстноеМеню + 374 + true + + InputField + Enter + true + Left + true + + 15 + true + true + false + true + true + true + true + Normal + true true @@ -1627,16 +1623,15 @@ <key>ru</key> - <value>Страница добавить</value> + <value>Группа дата отправки актуальность</value> ru - Страница добавить + Группа дата отправки актуальность - 1 - СтраницаДобавитьExtendedTooltip - 342 + ГруппаДатаОтправкиАктуальностьРасширеннаяПодсказка + 369 Label true true @@ -1644,251 +1639,64 @@ Left - Page - - Vertical - auto + UsualGroup + + Auto + true + true + Auto + Auto - true - true - - true - - - <key>ru</key> - <value>Страницы вложения</value> - - - ru - Страницы вложения - - - СтраницыВложенияExtendedTooltip - 328 + + ДекорацияПустаяПравая + 365 + true + true + + true + + + ДекорацияПустаяПраваяРасширеннаяПодсказка + 367 + Label + true + true + + Left + + + + ДекорацияПустаяПраваяКонтекстноеМеню + 366 + true + Label true true + true + true Left - - Pages - - Auto - - - - СтраницыОписаниеДополнительно - 248 + - СтраницаОписание - 249 + СтраницыУказаныКонтакты + 255 - СтраницаПисьмо - 213 - - СтраницыТекстПисьма - 197 - - СтраницаОбычныйТекст - 198 - - ТекстПисьма - 25 - true - true - - true - - - ТекстПисьма - - None - - ТекстПисьмаExtendedTooltip - 349 - Label - true - true - - Left - - - - ТекстПисьмаКонтекстноеМеню - 26 - true - - HTMLDocumentField - Enter - true - Left - true - - - OnClick - ТекстПисьмаПриНажатии - - 50 - true - 10 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Страница обычный текст</value> - - - ru - Страница обычный текст - - true - - СтраницаОбычныйТекстExtendedTooltip - 348 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаФорматированныйДокумент - 199 - - ГруппаКоманднаяПанельФорматированногоДокумента - 202 - true - true - - true - - - <key>ru</key> - <value>Группа командная панель форматированного документа</value> - - - ru - Группа командная панель форматированного документа - - - ГруппаКоманднаяПанельФорматированногоДокументаExtendedTooltip - 351 - Label - true - true - - Left - - - CommandBar - - Left - Item.ТекстПисьмаФорматированныйДокумент - - - - ТекстПисьмаФорматированныйДокумент - 200 - true - true - - true - - - ТекстПисьмаФорматированныйДокумент - - None - - ТекстПисьмаФорматированныйДокументExtendedTooltip - 352 - Label - true - true - - Left - - - - ТекстПисьмаФорматированныйДокументКонтекстноеМеню - 201 - true - - FormattedDocumentField - Enter - true - Left - true - - 50 - true - 10 - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Страница форматированный документ</value> - - - ru - Страница форматированный документ - - - СтраницаФорматированныйДокументExtendedTooltip - 350 - Label - true - true - - Left - - - Page - - Vertical - auto - - + СтраницаКонтактыЗаполнены + 256 + + ДекорацияПустая + 257 true true true - - <key>ru</key> - <value>Страницы текст письма</value> - - - ru - Страницы текст письма - - СтраницыТекстПисьмаExtendedTooltip - 347 + ДекорацияПустаяРасширеннаяПодсказка + 315 Label true true @@ -1896,33 +1704,64 @@ Left - Pages - - Auto + + ДекорацияПустаяКонтекстноеМеню + 258 + true + + Label + 10 + true + true + + Left + true + true + + true + + + <key>ru</key> + <value>Страница контакты заполнены</value> + + + ru + Страница контакты заполнены + + + СтраницаКонтактыЗаполненыExtendedTooltip + 314 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаКонтактыНеЗаполнены + 261 - ГруппаВходящее - 208 - - ТекстВходящегоПисьма - 203 - - <key>ru</key> - <value>Входящее сообщение</value> - + ГруппаКонтактыНеЗаполнены + 262 + + УточнитьКонтакты + 263 true true true - - ТекстВходящегоПисьма - - None - ТекстВходящегоПисьмаExtendedTooltip - 354 + УточнитьКонтактыExtendedTooltip + 319 Label true true @@ -1930,29 +1769,14 @@ Left - - ТекстВходящегоПисьмаКонтекстноеМеню - 204 - true - - HTMLDocumentField - true - Enter - true - Left - true - - - OnClick - ТекстВходящегоПисьмаПриНажатии - - 50 - true - 10 - true - true - true - + Hyperlink + Form.Command.УточнитьКонтакты + Normal + Auto + true + true + UserCmds + Auto true true @@ -1961,15 +1785,16 @@ <key>ru</key> - <value>Группа входящее</value> + <value>Группа контакты не заполнены</value> ru - Группа входящее + Группа контакты не заполнены + true - ГруппаВходящееExtendedTooltip - 353 + ГруппаКонтактыНеЗаполненыExtendedTooltip + 318 Label true true @@ -1987,135 +1812,6 @@ Auto - - ГруппаОтправленоНомер - 275 - - Номер - 276 - true - true - - true - - - Объект.Number - - - НомерExtendedTooltip - 356 - Label - true - true - - Left - - - - НомерКонтекстноеМеню - 277 - true - - InputField - Enter - true - Left - true - - 9 - true - true - false - true - true - true - true - Normal - - - - ДатаОтправления - 278 - true - true - - true - - - Объект.ДатаОтправления - - - ДатаОтправленияExtendedTooltip - 357 - Label - true - true - - Left - - - - ДатаОтправленияКонтекстноеМеню - 279 - true - - InputField - true - Enter - true - Left - true - - 11 - true - true - true - - ru - ДФ='дд.ММ.гггг Ч:мм' - - - ru - ДФ='дд.ММ.гггг Ч:мм' - - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа отправлено номер</value> - - - ru - Группа отправлено номер - - - ГруппаОтправленоНомерExtendedTooltip - 355 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - true true @@ -2123,15 +1819,16 @@ <key>ru</key> - <value>Письмо</value> + <value>Страница контакты не заполнены</value> ru - Страница письмо + Страница контакты не заполнены + true - СтраницаПисьмоExtendedTooltip - 346 + СтраницаКонтактыНеЗаполненыExtendedTooltip + 317 Label true true @@ -2139,14 +1836,9 @@ Left - UsualGroup - - Vertical - Auto - true - true - Auto - Auto + Page + + auto true @@ -2156,16 +1848,16 @@ <key>ru</key> - <value>Письмо</value> + <value>Страницы указаны контакты</value> ru - Описание + Страницы указаны контакты - true + true - СтраницаОписаниеExtendedTooltip - 345 + СтраницыУказаныКонтактыExtendedTooltip + 313 Label true true @@ -2173,31 +1865,62 @@ Left - Page - - Vertical - auto + Pages + + Auto - - СтраницаДополнительныеРеквизиты - 252 + + Номер + 276 + true + + true + + + Объект.Number + + + НомерExtendedTooltip + 356 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 277 + true + + LabelField + Enter + true + Left + true + + 9 + true + true + false + + + + ДатаОтправления + 278 true true true - - <key>ru</key> - <value>Дополнительно</value> - - - ru - Страница дополнительные реквизиты - + + Объект.ДатаОтправления + - СтраницаДополнительныеРеквизитыExtendedTooltip - 358 + ДатаОтправленияExtendedTooltip + 357 Label true true @@ -2205,84 +1928,25 @@ Left - Page - - Vertical - auto - - - - СтраницаКомментарий - 283 - - Комментарий - 284 - true - true - - true - - - Объект.Комментарий - - None - - КомментарийExtendedTooltip - 360 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 285 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Комментарий</value> - - - ru - Комментарий - - - СтраницаКомментарийExtendedTooltip - 359 - Label + + ДатаОтправленияКонтекстноеМеню + 279 + true + + LabelField + true + Enter + true + Left + true + + 11 true true - - Left - - - Page - - Vertical - auto + + ru + ДФ='дд.ММ.гггг Ч:мм' + true @@ -2292,15 +1956,15 @@ <key>ru</key> - <value>Страницы описание дополнительно</value> + <value>Группа право</value> ru - Страницы описание дополнительно + Группа право - СтраницыОписаниеДополнительноExtendedTooltip - 344 + ГруппаПравоРасширеннаяПодсказка + 364 Label true true @@ -2308,9 +1972,13 @@ Left - Pages - - TabsOnTop + UsualGroup + + Vertical + Auto + true + true + Auto Auto @@ -2391,7 +2059,6 @@ Form.StandardCommand.WriteAndClose Normal - PictureAndText true true UserCmds @@ -2497,7 +2164,7 @@ Left - 0 + Form.StandardCommand.CustomizeForm Normal Auto true @@ -2752,8 +2419,9 @@ true true true - Vertical + LeftWide true + true true UseIfNecessary auto @@ -3433,6 +3101,23 @@ true + + ИнформационнаяБазаФайловая + + <key>ru</key> + <value>Информационная база файловая</value> + + 24 + + Boolean + + + true + + + true + + Отправить @@ -3447,9 +3132,6 @@ <use> <common>true</common> </use> - <picture xsi:type="core:PictureRef"> - <picture>CommonPicture.ОтправитьЭлектронноеПисьмо</picture> - </picture> <action xsi:type="form:FormCommandHandlerContainer"> <handler> <name>ОтправитьПереслатьВыполнить</name> diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Help/ru.html b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Help/ru.html index ef7c611bc..d2eb831fb 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Help/ru.html +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Help/ru.html @@ -1,6 +1,5 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<h1>Исходящее электронное письмо</h1> -<p style="MARGIN-LEFT: 0px">Документ "<b>Электронное письмо исходящее</b>" предназначен для формирования и отправки исходящего электронного письма</p> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Документ предназначен для формирования и отправки исходящего электронного письма.</p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695907">Какая из доступных учетных записей подставляется по умолчанию?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695903">Как указать адресатов письма?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3001c727aaba9">Какие еще реквизиты доступны для редактирования в письме?</a></p> @@ -10,56 +9,108 @@ <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30027268e0fe4">Как сделать так, чтобы к письму при ответе или пересылке был приложен текст исходного письма?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30024c0312ccc">Как указать что необходимо уведомление о доставке и/или прочтении письма?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695913">Как указать, что письмо нужно отправить в определенной кодировке?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590f">В каких случаях на форме появляется гиперссылка Уточнить контакты?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590f">В каких случаях в документе появляется гиперссылка Уточнить контакты?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002a21ffaefd">Как изменить папку электронного письма?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590b">Как отправить письмо?</a></p> <p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07a">Какие взаимодействия можно создать на основании исходящего письма?</a></p> -<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07c">Как распечатать письмо?</a></p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695907"> -<h3 style="MARGIN-LEFT: 0px">Какая из доступных учетных записей подставляется по умолчанию?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li>Учетная запись письма основания, если данное письмо создается на основании другого письма. Например, как ответ на входящее письмо. -</li><li>Первая из доступных пользователей учетных записей, если письмо создается не на основании другого письма. </li></ul><p style="MARGIN-LEFT: 20px">Учетную запись, с которой предполагается отправка письма можно изменить.</p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695903"> -<h3 style="MARGIN-LEFT: 0px">Как указать адресатов письма?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Адресаты письма могут быть указаны в трех списках:</p> -<ul style="MARGIN-LEFT: 40px"><li><b>Кому</b> - основные адресаты письма, участвующие в переписке. +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#2">Как просмотреть взаимодействия, созданные на основании исходящего письма?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07c">Как распечатать письмо?</a></p> +<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 20px"><a href="#3">Как вставить в письмо ссылку на объект информационной базы?</a></p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695907"> +<h3 style="MARGIN-LEFT: 0px">Учетная запись в письме по умолчанию</h3></a> +<ul style="MARGIN-LEFT: 40px"><li>В поле <strong>От</strong> (электронный адрес отправителя) программой автоматически проставляется: +<ul><li>Учетная запись письма-основания, если данное письмо создается на основании другого письма. Например, как ответ на <a href="Document.ЭлектронноеПисьмоВходящее.Form.ФормаДокумента/Help">входящее письмо</a>; +</li><li>Первая из доступных пользовательских учетных записей, если письмо создается не на основании другого письма. </li></ul></li><li> Учетную запись, с которой предполагается отправка письма, можно изменить. Для  того чтобы заполнить адрес отправителя, выберите учетную запись электронной почты из выпадающего списка.</li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695903">Адресаты письма</a></h3> +<ul><li>Адресаты письма могут быть указаны в трех списках: +<ul><li><b>Кому</b> - основные адресаты письма, участвующие в переписке. </li><li><b>Копии</b> - дополнительные адресаты письма. В это поле обычно помещают тех, кто не участвует непосредственно в переписке, но должен быть проинформирован о ее содержании. -</li><li><b>Скрытые копии</b> - указанные в данном поле адресаты получат письмо, но остальные адресаты письма не будут знать об этом.</li></ul><p style="MARGIN-LEFT: 20px">Указать адресата можно двумя способами:</p> -<ul style="MARGIN-LEFT: 40px"><li><b>Вводом по строке</b> - начните вводить имя адресата или адрес его электронной почты и система предложит вам адресата по найденным совпадениям. -</li><li><b>Подбор адресата</b> - воспользуйтесь кнопкой выбора в поле с адресатам. Откроется <b>Адресная книга</b>, с помощью которой можно подобрать адресатов.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3001c727aaba9"> -<h3 style="MARGIN-LEFT: 0px">Какие еще реквизиты доступны для редактирования в письме?</h3></a> +</li><li><b>Скрытые</b> - указанные в данном поле адресаты получат письмо, но остальные адресаты письма не будут знать об этом.</li></ul></li><li>Если в программе имеются нужные контакты, то указать адресата можно двумя способами: +<ul><li>Вводом по строке - начните вводить имя адресата или адрес его электронной почты, и программа предложит вам адресата по найденным совпадениям. Будет выполнена его подстановка в письмо. Вводить можно как наименование контакта, так и адрес его электронной почты. Ввести можно несколько адресов через точку с запятой; +</li><li>С помощью подбора адресата - нажмите <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> в поле с адресатом. Откроется <a href="CommonForm.АдреснаяКнига/Help">Адресная книга</a>, с помощью которой можно подобрать адресатов.</li></ul></li><li>Если контактов нет в программе, можно заполнить поля с адресатами письма вручную. После отправки письма становится доступной команда <strong>Уточнить контакты</strong>, с помощью которой можно вызвать <strong>Адресную книгу</strong>.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3001c727aaba9"> +<p style="MARGIN-LEFT: 0px">Заполните необходимые поля:</p></a> <ul style="MARGIN-LEFT: 40px"><li><b>Тема</b> - краткое описание того, чему посвящено письмо. -</li><li><b>Текст сообщения</b> - собственно текст письма. -</li><li><b>Предмет</b> - то чему, посвящено взаимодействие, например претензии клиента. Если предмет взаимодействия не определен, то в качестве предмета выступает первое взаимодействие цепочки. -</li><li><b>Важность</b> - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения Низкая, Обычная, Высокая. -</li><li><b>Ответственный</b> - указывается ответственный за данное взаимодействие. -</li><li><b>Рассмотреть после</b> - необходимо заполнить, если контроль данного письма планируется отложить до определенной даты. -</li><li><b>На контроле</b> - признак того, что данное письмо потребует внимания в дальнейшем. -</li><li><b>Комментарий</b> - произвольный текстовый комментарий.</li></ul><p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Реквизиты <b>На контроле</b> и <b>Рассмотреть после</b> доступны для указания если это предусмотрено настройками программы. Изменить данные настройки можно в разделе <b>Администрирование/Органайзер</b>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695909"> -<h3 style="MARGIN-LEFT: 0px">Можно ли редактировать письмо в формате HTML?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Да, если это предусмотрено в настройках программы. Изменить формат редактирования можно при помощи переключателя, расположенного в командной панели формы. Доступно два формат редактирования письма: Обычный текст и HTML. Во втором случае доступно форматирование текста и возможность вставлять в него картинки.</p> -<p style="MARGIN-LEFT: 20px"></p> -<table border="4"><tbody><tr><td>Важно. Редактирование письма в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе <b>Администрирование/Органайзер</b> отредактировав значение флага <b>Исходящие письма в формате HTML</b>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300284eec1dca"> -<h3 style="MARGIN-LEFT: 0px">Как приложить к письму файлы?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Нажмите на кнопку Скрепка, которая находится под темой письма или воспользуйтесь командой <b>Добавить вложение</b>.<br></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30028f8356e24"> -<h3 style="MARGIN-LEFT: 0px">Какие еще действия доступны с вложениями письма?</h3></a> -<ul style="MARGIN-LEFT: 40px"><li><b>Открыть вложение</b> - команда доступна в контекстном меню таблицы вложений. -</li><li><b>Удалить вложение</b> - команда доступна в контекстном меню таблицы вложений или при нажатии кнопки DEL. -</li><li><b>Свойства вложения</b> - команда доступна в контекстном меню таблицы вложений. В отрывшейся форме можно будет подписать вложение электронной цифровой подписью.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30027268e0fe4"> -<h3 style="MARGIN-LEFT: 0px">Как сделать так, чтобы к письму при ответе или пересылке был приложен текст исходного письма?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Необходимо выполнить команду <b>Параметры письма</b>, расположенную в меню формы <b>Все действия</b>, откроется форма, в которой возможно изменить значения флагов <b>Включать тело исходного письма</b> . По умолчанию данное значение заполняется из персональных настроек, которые можно изменить из формы списка взаимодействий.</p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30024c0312ccc"> -<h3 style="MARGIN-LEFT: 0px">Как указать что необходимо уведомление о доставке и/или прочтении письма?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Необходимо выполнить команду <b>Параметры письма</b>, расположенную в меню формы <b>Все действия</b>, откроется форма, в которой возможно измененить значения флагов <b>Уведомить о доставке</b> и <b>Уведомить о прочтении</b>. По умолчанию данные значения заполняются из персональных настроек, которые можно изменить из формы списка взаимодействий.</p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695913"> -<h3 style="MARGIN-LEFT: 0px">Как указать, что письмо нужно отправить в определенной кодировке?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Необходимо выполнить команду <b>Изменить кодировку</b>, расположенную в меню формы <b>Все действия</b>, и выбрать из списка нужную кодировку.</p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590f"> -<h3 style="MARGIN-LEFT: 0px">В каких случаях на форме появляется гиперссылка Уточнить контакты?</h3></a> -<p style="MARGIN-LEFT: 20px">Система позволяет в качестве участников взаимодействий указывать объекты информационной базы. Например, клиентов или поставщиков. Это позволяет в дальнейшем получить информацию о всех взаимодействиях с клиентом. Если при создании письма хотя бы один адресат не будет сопоставлен контакту, то на форме будет отображаться гиперссылка <b>Уточнить контакты</b>. При нажатии на неё откроется форма <b>Уточнение контактов</b>, в которой можно будет выполнить сопоставление.</p> -<p style="MARGIN-LEFT: 20px">Если все контакты сопоставлены, то данная гиперссылка на форме не отображается, открыть форму сопоставления контактов возможно по команде <b>Уточнить контакты</b>, которая располагается в меню формы <b>Все действия</b>.</p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002a21ffaefd"> -<h3 style="MARGIN-LEFT: 0px">Как изменить папку электронного письма?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Необходимо выполнить команду <b>Параметры письма</b>, расположенную в меню формы <b>Все действия</b>, откроется форма, в которой возможно изменение текущей папки.</p><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590b"> -<h3 style="MARGIN-LEFT: 0px">Как отправить письмо?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>Для отправки письма используется кнопка <b>Отправить</b>.</p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07a"> -<h3 style="MARGIN-LEFT: 0px">Какие взаимодействия можно создать на основании исходящего письма?</h3></a> -<p style="MARGIN-LEFT: 20px"><br>переслать письмо, отразить факт телефонного звонка, зарегистрировать встречу, отправить сообщение SMS, запланировать взаимодействие. </p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07c"> -<h3 style="MARGIN-LEFT: 0px">Как распечатать письмо?</h3></a> -<p style="MARGIN-LEFT: 20px">Воспользуйтесь командой <b>Печать</b> командной панели формы.</p> -<p> </p></body></html> \ No newline at end of file +</li><li><b>Письмо</b> - собственно текст письма, располагается на специальной вкладке. +</li><li><strong>Комментарий</strong> - произвольный текстовый комментарий, дополнительная информация о письме. Располагается на специальной вкладке.  +</li><li>Список вложений - к письму можно прикрепить различные файлы с помощью <a href="#70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300284eec1dca">соответствующих команд</a>.  +</li><li><strong>Предмет</strong> - то, чему посвящено взаимодействие, например, претензии клиента. Предметом могут быть документы программы и документы взаимодействий. Если предмет взаимодействия не определен, то в качестве предмета автоматически проставляется значение текущего документа, т.е. такой документ взаимодействия начинает цепочку взаимодействий. При выполнении команды <strong>Взаимодействия</strong> из документа предметом взаимодействия во вновь созданном документе будет предмет, указанный в исходном документе, при этом основные поля будут также скопированы. +</li><li><strong>Ответственный</strong> - выберите ответственного за данное взаимодействие из <a href="Catalog.Пользователи/Help">списка пользователей</a>. По умолчанию программа указывает в качестве ответственного для большинства документов взаимодействия текущего <a href="Catalog.Пользователи.Form.ФормаЭлемента/Help">пользователя</a>. +</li><li><strong>На контроле</strong> - признак того, что данное письмо потребует внимания в дальнейшем. В <a href="DocumentJournal.Взаимодействия.Form.ФормаСписка/Help">списке взаимодействий</a> выделяется жирным шрифтом. Использовать флажок рекомендуется при коллективной работе с документами взаимодействия. +</li><li><b>Рассмотреть после</b> - необходимо заполнить, если контроль данного письма планируется отложить до определенной даты. Выберите из списка нужное значение: <strong>Через 15 мин</strong>, <strong>Через 30 мин</strong>, <strong>Через 1 час,</strong> <strong>Через 3 часа</strong>, <strong>Завтра</strong>. Помимо этих значений можно указать произвольную дату и время с помощью кнопки <img src="StdPicture.InputFieldCalendar" width="12" height="12"></img>. +</li><li><b>Важность</b> - признак необходимости акцентировать внимание на данном взаимодействии, или наоборот, признак несущественности. Может принимать значения <strong>Низкая</strong>, <strong>Обычная</strong> (значение по умолчанию), <strong>Высокая</strong>. Отображается в списке взаимодействий специальными значками.    +</li><li><strong>Создано</strong> - дата и время создания документа. По умолчанию в этом поле программой автоматически проставляется текущая дата и время записи документа. Поле нельзя отредактировать. +</li><li><strong>Автор</strong> - пользователь, который создал документ. Указывается программой автоматически. Поле нельзя отредактировать.</li></ul><p style="MARGIN-LEFT: 20px"></p> +<table border="4"><tbody><tr><td>Реквизиты <b>На контроле</b> и <b>Рассмотреть после</b> доступны для указания, если это предусмотрено настройками программы. Изменить данные настройки можно в разделе <b>Администрирование - Органайзер</b>.</td></tr></tbody></table><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695909"> +<h3 style="MARGIN-LEFT: 0px">Редактирование письма в формате HTML</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Редактирование письма в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе <strong>Администрирование - Органайзер</strong>, отредактировав значение флажка <b>Исходящие письма в формате HTML</b>.</div> +</li><li> +<div style="MARGIN-LEFT: 20px">Формат письма по умолчанию определяется согласно формату предыдущего письма, написанного пользователем.</div> +</li><li> +<div style="MARGIN-LEFT: 20px">Изменить формат редактирования можно при помощи выпадающего меню во время ввода письма. </div> +<ul><li> +<div style="MARGIN-LEFT: 20px">Доступно два формата редактирования письма: </div> +<ul><li> +<div style="MARGIN-LEFT: 20px"><strong>Обычный текст</strong> - при переключении письма в обычный текст будут утеряны все элементы оформления, картинки и прочие вставленные элементы. Программа выводит об этом предупреждение. На вопрос программы для подтверждения действия нажмите <strong>Да</strong>, для отмены <strong>Нет</strong>.</div> +</li><li> +<div style="MARGIN-LEFT: 20px"><strong>HTML -</strong> доступно форматирование текста и возможность вставлять в него картинки и гиперссылки с помощью стандартных команд. </div> +<ul><li> +<div style="MARGIN-LEFT: 20px">Стандартные кнопки форматирования размещены над текстом письма, также можно найти команды форматирования текста в меню <strong>Все действи</strong>я (в интерфейсе Такси <strong>Еще</strong>).</div></li></ul></li></ul></li></ul></li><li> +<div style="MARGIN-LEFT: 20px"> После сохранения введенного письма изменение формата письма становится недоступным.</div></li></ul><p style="MARGIN-LEFT: 20px"></p><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e300284eec1dca"> +<h3 style="MARGIN-LEFT: 0px">Добавление вложений</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Список вложений располагается в правой части письма над полем <strong>Предмет</strong>.</div> +</li><li> +<div style="MARGIN-LEFT: 20px">Воспользуйтесь командой <strong>Добавить вложение</strong> контекстного меню списка вложений.</div></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30028f8356e24"> +<h3 style="MARGIN-LEFT: 0px">Работа с вложениями</h3> +<p style="MARGIN-LEFT: 0px">Если в письме имеются вложения, то в списке вложений с помощью контекстного меню по правой кнопке мыши можно:</p></a> +<ul style="MARGIN-LEFT: 40px"><li><b>Открыть вложение</b> - открыть файл с помощью соответствующего внешнего приложения. +</li><li><strong>Удалить вложение</strong>. Также можно удалить файл вложения с помощью кнопки <strong>Del</strong>. +</li><li><b>Свойства вложения</b> - просмотр <a href="CommonForm.ПрисоединенныйФайл/Help">карточки присоединенного файла</a>. С помощью соответствующих команд в карточке можно также подписать вложение электронной цифровой подписью или зашифровать.</li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30027268e0fe4"> +<h3 style="MARGIN-LEFT: 0px">Включение текста исходного письма при ответе или пересылке</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Выполните команду <strong>Все действия </strong>(в интерфейсе Такси <strong>Еще</strong>)<strong> - Параметры письма</strong>, включите флажок <b>Включать тело исходного письма</b>. </div> +</li><li> +<div style="MARGIN-LEFT: 20px">По умолчанию данное значение заполняется из <a href="DocumentJournal.Взаимодействия.Form.НастройкиРаботыСПочтой/Help">персональных настроек</a>, которые можно изменить из списка взаимодействий.</div></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e30024c0312ccc"> +<h3 style="MARGIN-LEFT: 0px">Уведомление о доставке и/или прочтении письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Выполните команду <strong>Все действия </strong>(в интерфейсе Такси <strong>Еще</strong>)<strong> - Параметры письма</strong>, включите флажки <b>Уведомить о доставке</b> и <b>Уведомить о прочтении</b>. По умолчанию данные значения заполняются из персональных настроек, которые можно изменить из списка взаимодействий. </div> +</li><li> +<div style="MARGIN-LEFT: 20px">Отображаются также другие параметры письма и служебная информация.</div></li></ul><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba8695913"> +<h3 style="MARGIN-LEFT: 0px">Выбор кодировки письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Выполните команду <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>)<strong> - Изменить кодировку</strong> и выберите из списка нужную кодировку.</div></li></ul><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590f"> +<h3 style="MARGIN-LEFT: 0px">Гиперссылка Уточнить контакты</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Программа позволяет в качестве участников взаимодействий указывать элементы списков. Например, клиентов или поставщиков. Это позволяет в дальнейшем получить информацию обо всех взаимодействиях с клиентом. Если при создании письма хотя бы один адресат не будет сопоставлен контакту, в письме будет отображаться гиперссылка <b>Уточнить контакты</b>. По гиперссылке открывается <a href="CommonForm.АдреснаяКнига/Help">Адресная книга</a>, в которой можно будет выполнить сопоставление.</div> +</li><li> +<div style="MARGIN-LEFT: 20px">Если все контакты сопоставлены, то данная гиперссылка не отображается, произвести сопоставление контактов можно по команде <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>)<strong> -</strong> <strong>Уточнить контакты</strong>.</div></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002a21ffaefd"> +<h3 style="MARGIN-LEFT: 0px">Изменение папки электронного письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Выполните команду <strong>Все действия </strong>(в интерфейсе Такси <strong>Еще</strong>) <strong>- Параметры письма</strong>, в открывшемся <a href="DocumentJournal.Взаимодействия.Form.ПараметрыЭлектронногоПисьма/Help">окне</a> выберите другую папку.</div></li></ul><a name="70a6370b13ca43baa611bed9691c46111905adcce61f135f174b11e275eba869590b"> +<h3 style="MARGIN-LEFT: 0px">Отправка письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Для отправки письма (в файловом варианте) используется кнопка <b>Отправить</b>. В клиент-серверном варианте <a href="DataProcessor.РегламентныеИФоновыеЗадания.Form.РегламентноеЗадание/Help">регламентным заданием</a> осуществляется отправка и получение писем всех пользователей, всех учетных записей.</div></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07a"> +<h3 style="MARGIN-LEFT: 0px">Создание документов взаимодействий на основании исходящего письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong>, для того чтобы:</div> +<ul><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ЗапланированноеВзаимодействие.Form.ФормаДокумента/Help">Запланировать взаимодействие</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.Встреча.Form.ФормаДокумента/Help">Запланировать встречу</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.СообщениеSMS.Form.ФормаДокумента/Help">Написать SMS</a>;</div> +</li><li> +<div style="MARGIN-LEFT: 0px"><a href="Document.ТелефонныйЗвонок.Form.ФормаДокумента/Help">Позвонить</a>. </div></li></ul></li></ul><h3 style="MARGIN-LEFT: 0px"><a name="#2">Просмотр взаимодействий, созданных на основании письма</a></h3> +<ul><li> +<div style="MARGIN-LEFT: 0px">Нажмите <strong>Взаимодействия</strong> на панели навигации для перехода к <a href="DocumentJournal.Взаимодействия.Form.ФормаСпискаПараметрическая/Help">списку взаимодействий</a>, созданных на основании этого исходящего письма.</div></li></ul><a name="70a6370b13ca43baa611bed9691c461119059afee61f135f174b11e3002efba3d07c"> +<h3 style="MARGIN-LEFT: 0px">Распечатка письма</h3></a> +<ul><li> +<div style="MARGIN-LEFT: 20px">Нажмите <img src="StdPicture.Print"></img> <b>Печать</b>.</div> +</li><li> +<div style="MARGIN-LEFT: 20px">В окне <strong>Печать</strong> укажите необходимые настройки для принтера - количество копий, размер бумаги и т.п.</div></li></ul><h3>Статусы исходящего письма</h3> +<p>Исходящим письмам присваиваются следующие статусы:</p> +<ul><li>Если письмо еще не отправлено, то оно имеет статус <strong>Черновик</strong>. Его можно редактировать и записывать изменения. С помощью соответствующей кнопки можно <strong>Отправить письмо</strong> (для файлового варианта) и оно перейдет в другой статус. +</li><li>Если письмо находится в процессе отправки, то ему присваивается статус <strong>Исходящее</strong>. После попытки отправить письмо его статус меняется, а наименование кнопки меняется на <strong>Отправить сейчас</strong>. Редактировать такие письма уже нельзя. +</li><li>После отправки исходящего письма его статус меняется на статус <strong>Отправлено</strong>. Редактирование такого письма также невозможно. +</li><li>В зависимости от статуса письмо помещается в ту или иную папку. Для размещения писем в папки также можно настроить <a href="Catalog.ПравилаОбработкиЭлектроннойПочты/Help">правила обработки писем</a>.</li></ul><h3><a name="#3">Вставка в письмо ссылок на объекты информационной базы</a></h3> +<ul><li>С помощью соответствующей команды меню <strong>Все действия</strong> (в интерфейсе Такси <strong>Еще</strong>) можно <strong>Вставить внешнюю ссылку на объект информационной базы</strong>. Адрес, по которому информационная база доступна внешнему пользователю, заполняется автоматически. Для получения внутренней ссылки на объект откройте нужный объект, нажмите <strong>Ctrl+F11</strong> и вставьте ссылку в соответствующее поле. Нажмите <strong>Вставить</strong>, в письме будет проставлена необходимая ссылка.</li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl index 61e79647e..f06926a86 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/Forms/ФормаДокумента/Module.bsl @@ -152,6 +152,14 @@ Если ПроверитьЗаполнениеСписковАдресатов() Тогда Отказ = Истина; + КонецЕсли; + + Если Объект.СтатусПисьма = ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Черновик") + ИЛИ Объект.СтатусПисьма = ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено") Тогда + ВзаимодействияКлиент.ПроверкаЗаполненностиРеквизитовОтложеннойОтправки(Объект, Отказ); + КонецЕсли; + + Если Отказ Тогда Возврат; КонецЕсли; @@ -939,6 +947,17 @@ Процедура УправлениеДоступностью() Элементы.РассмотретьПосле.Доступность = НаКонтроле; + + Если Объект.СтатусПисьма = ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Исходящее") И + (НЕ ИнформационнаяБазаФайловая + ИЛИ (Объект.ДатаКогдаОтправить <> Дата(1,1,1) И Объект.ДатаКогдаОтправить > ОбщегоНазначенияКлиент.ДатаСеанса()) + ИЛИ (Объект.ДатаАктуальностиОтправки <> Дата(1,1,1) И Объект.ДатаАктуальностиОтправки < ОбщегоНазначенияКлиент.ДатаСеанса())) Тогда + Элементы.Отправить.Доступность = Ложь; + Иначе + Элементы.Отправить.Доступность = Истина; + КонецЕсли; + + Элементы.ГруппаДатаОтправкиАктуальность.Доступность = (Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Отправлено")); КонецПроцедуры @@ -968,12 +987,10 @@ Если Объект.СтатусПисьма <> Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда Если Вложения.Количество() > 0 Тогда - Элементы.СтраницыВложения.ТекущаяСтраница = Элементы.СтраницаРедактирование; Элементы.ДобавитьВложение.Доступность = Ложь; Элементы.УдалитьВложение.Доступность = Ложь; - Элементы.ДобавитьВложениеСкрепка.Видимость = Ложь; Иначе - Элементы.СтраницыВложения.Видимость = Ложь; + Элементы.Вложения.Видимость = Ложь; КонецЕсли; Если Объект.ТипТекста = Перечисления.ТипыТекстовЭлектронныхПисем.HTML Тогда @@ -987,25 +1004,17 @@ Элементы.ТекстПисьма.ТолькоПросмотр = Истина; КонецЕсли; - Если Вложения.Количество() > 0 Тогда - Элементы.СтраницыВложения.ТекущаяСтраница = Элементы.СтраницаРедактирование; - Элементы.Вложения.ВысотаВСтрокахТаблицы = 2; - КонецЕсли; - Если Объект.СтатусПисьма = Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Исходящее И - НЕ ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда + (НЕ ИнформационнаяБазаФайловая + ИЛИ (Объект.ДатаКогдаОтправить <> Дата(1,1,1) И Объект.ДатаКогдаОтправить > ТекущаяДатаСеанса()) + ИЛИ (Объект.ДатаАктуальностиОтправки <> Дата(1,1,1) И Объект.ДатаАктуальностиОтправки < ТекущаяДатаСеанса())) Тогда + Элементы.Отправить.Доступность = Ложь; + КонецЕсли; Иначе - Элементы.СтраницыВложения.ТекущаяСтраница = Элементы.СтраницаРедактирование; - Если Вложения.Количество() > 0 Тогда - Элементы.Вложения.ВысотаВСтрокахТаблицы = 2; - Иначе - Элементы.Вложения.ВысотаВСтрокахТаблицы = 1; - КонецЕсли; - ОпределитьСпособРедактированияПисьма(); КонецЕсли; @@ -1082,16 +1091,6 @@ Возврат; КонецЕсли; - Если Вложения.Количество() > 0 Тогда - Элементы.СтраницыВложения.ТекущаяСтраница = Элементы.СтраницаРедактирование; - Элементы.Вложения.ВысотаВСтрокахТаблицы = 2; - Иначе - Если Объект.СтатусПисьма <> ПредопределенноеЗначение("Перечисление.СтатусыИсходящегоЭлектронногоПисьма.Черновик") Тогда - Элементы.СтраницыВложения.ТекущаяСтраница = Элементы.СтраницаДобавить; - КонецЕсли; - Элементы.Вложения.ВысотаВСтрокахТаблицы = 1; - КонецЕсли; - КонецПроцедуры &НаКлиенте @@ -1187,8 +1186,8 @@ Иначе Вложения.Очистить(); - табВложения = УправлениеЭлектроннойПочтой.ПолучитьВложенияЭлектронногоПисьма(Объект.Ссылка, Истина); - Для Каждого СтрокаТаблицыВложений Из табВложения Цикл + ТабВложения = УправлениеЭлектроннойПочтой.ПолучитьВложенияЭлектронногоПисьма(Объект.Ссылка, Истина); + Для Каждого СтрокаТаблицыВложений Из ТабВложения Цикл Если ПустаяСтрока(СтрокаТаблицыВложений.ИДФайлаЭлектронногоПисьма) Тогда НоваяСтрока = Вложения.Добавить(); НоваяСтрока.Ссылка = СтрокаТаблицыВложений.Ссылка; @@ -1561,6 +1560,9 @@ Если Параметры.Свойство("Кому") И Параметры.Кому <> Неопределено Тогда + //Если передан параметр "Кому", то эта табличная часть очищается перед заполнением согласно данным параметра. + Объект.ПолучателиПисьма.Очистить(); + Если ТипЗнч(Параметры.Кому) = Тип("Строка") И НЕ ПустаяСтрока(Параметры.Кому) Тогда Объект.СписокПолучателейПисьма = Параметры.Кому; НоваяСтрока = Объект.ПолучателиПисьма.Добавить(); @@ -1600,6 +1602,8 @@ КонецЕсли; + ОчиститьДублиАдресатов(Объект.ПолучателиПисьма); + Если НЕ Параметры.УчетнаяЗапись.Пустая() Тогда Объект.УчетнаяЗапись = Параметры.УчетнаяЗапись; @@ -1754,6 +1758,7 @@ &НаСервере Процедура ПриСозданииИПриЧтенииНаСервере() + ИнформационнаяБазаФайловая = ОбщегоНазначения.ИнформационнаяБазаФайловая(); Взаимодействия.УстановитьЗаголовокФормыЭлектронногоПисьма(ЭтотОбъект); УстановитьЗаголовокКнопкиПоУмолчанию(); ОбработатьПереданныеПараметры(Параметры); @@ -2044,6 +2049,8 @@ КонецЦикла; + ОчиститьДублиАдресатов(Объект.ПолучателиПисьма); + СформироватьСпискиПолучателей(); КонецПроцедуры @@ -2409,6 +2416,50 @@ КонецПроцедуры +&НаКлиентеНаСервереБезКонтекста +Процедура ОчиститьДублиАдресатов(ТаблицаПолучателей) + + СоответствиеАдресовСтрокКУдалению = Новый Соответствие; + + Для Каждого СтрокаПолучатель Из ТаблицаПолучателей Цикл + Если СоответствиеАдресовСтрокКУдалению.Получить(СтрокаПолучатель.Адрес) <> Неопределено Тогда + Продолжить; + КонецЕсли; + НайденныеСтроки = ТаблицаПолучателей.НайтиСтроки(Новый Структура("Адрес", СтрокаПолучатель.Адрес)); + Если НайденныеСтроки.Количество() > 1 Тогда + МассивКУдалению = Новый Массив; + Для Инд = 0 По НайденныеСтроки.Количество() - 1 Цикл + Если Инд = 0 Тогда + Если НЕ ЗначениеЗаполнено(НайденныеСтроки[Инд].Контакт) Тогда + МассивКУдалению.Добавить(НайденныеСтроки[Инд]); + КонецЕсли; + Иначе + Если МассивКУдалению.Количество() = 0 ИЛИ (НЕ ЗначениеЗаполнено(НайденныеСтроки[Инд].Контакт)) Тогда + МассивКУдалению.Добавить(НайденныеСтроки[Инд]); + ИначеЕсли ЗначениеЗаполнено(НайденныеСтроки[Инд].Контакт) И НЕ (Инд = МассивКУдалению.Количество()) Тогда + МассивКУдалению.Добавить(НайденныеСтроки[Инд]); + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + Если НайденныеСтроки.Количество() = МассивКУдалению.Количество() Тогда + МассивКУдалению.Удалить(0); + КонецЕсли; + + СоответствиеАдресовСтрокКУдалению.Вставить(СтрокаПолучатель.Адрес,МассивКУдалению); + + КонецЕсли; + КонецЦикла; + + Для Каждого СтрокаСоответствия ИЗ СоответствиеАдресовСтрокКУдалению Цикл + Для Каждого СтрокаКУдалению Из СтрокаСоответствия.Значение Цикл + ТаблицаПолучателей.Удалить(СтрокаКУдалению); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + // СтандартныеПодсистемы.Свойства &НаСервере diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ManagerModule.bsl b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ManagerModule.bsl index 5ac142a2f..8460da557 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ManagerModule.bsl +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ManagerModule.bsl @@ -2,6 +2,14 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +// Получает адресатов электронного письма +// +// Параметры: +// Ссылка - ДокументСсылка.ЭлектронноеПисьмоИсходящее - документ, абонента которого необходимо получить. +// +// Возвращаемое значение: +// ТаблицаЗначений - таблица, содержащая колонки "Контакт", "Представление" и "Адрес" +// Функция ПолучитьКонтакты(Ссылка) Экспорт ТекстЗапроса = diff --git a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ЭлектронноеПисьмоИсходящее.mdo b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ЭлектронноеПисьмоИсходящее.mdo index 454c84015..b81bf718d 100644 --- a/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ЭлектронноеПисьмоИсходящее.mdo +++ b/SSL/src/Documents/ЭлектронноеПисьмоИсходящее/ЭлектронноеПисьмоИсходящее.mdo @@ -747,6 +747,46 @@ <fullTextSearch>Use</fullTextSearch> <dataHistory>Use</dataHistory> </attributes> + <attributes uuid="b885dbb2-6e18-46a6-929c-3d6d392343ad"> + <name>ДатаКогдаОтправить</name> + <synonym> + <key>ru</key> + <value>Дата когда отправить</value> + </synonym> + <type> + <types>Date</types> + <dateQualifiers/> + </type> + <toolTip> + <key>ru</key> + <value>Если указана, то сообщение будет отправлено в указанную дату.</value> + </toolTip> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + <fillValue xsi:type="core:UndefinedValue"/> + <indexing>Index</indexing> + <dataHistory>Use</dataHistory> + </attributes> + <attributes uuid="d31e24cf-7493-45dc-ba81-3a00618e53bc"> + <name>ДатаАктуальностиОтправки</name> + <synonym> + <key>ru</key> + <value>Дата актуальности отправки</value> + </synonym> + <type> + <types>Date</types> + <dateQualifiers/> + </type> + <toolTip> + <key>ru</key> + <value>Дата, до которой письмо имеет смысл отправлять. Если не заполнено, то без ограничений.</value> + </toolTip> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + <fillValue xsi:type="core:UndefinedValue"/> + <indexing>Index</indexing> + <dataHistory>Use</dataHistory> + </attributes> <forms uuid="ce2a8ff8-94fd-4ce2-9caa-4711e9b79ee9"> <name>ФормаДокумента</name> <synonym> @@ -767,6 +807,11 @@ <key>ru</key> <value>Форма выбора</value> </synonym> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <usePurposes>PersonalComputer</usePurposes> <usePurposes>MobileDevice</usePurposes> </forms> @@ -1181,7 +1226,7 @@ <key>ru</key> <value>Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Изменение, иначе Чтение); +(пустая ссылка - Изменение, иначе Чтение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав.</value> </toolTip> <minValue xsi:type="core:UndefinedValue"/> diff --git a/SSL/src/Enums/ВариантыВерсионированияОбъектов/ВариантыВерсионированияОбъектов.mdo b/SSL/src/Enums/ВариантыВерсионированияОбъектов/ВариантыВерсионированияОбъектов.mdo index f25d2483c..b95a49313 100644 --- a/SSL/src/Enums/ВариантыВерсионированияОбъектов/ВариантыВерсионированияОбъектов.mdo +++ b/SSL/src/Enums/ВариантыВерсионированияОбъектов/ВариантыВерсионированияОбъектов.mdo @@ -42,6 +42,13 @@ <value>Версионировать при проведении</value> </synonym> </enumValues> + <enumValues uuid="86249619-8981-4fc4-85fc-ce30e4b9d542"> + <name>ВерсионироватьПриСтарте</name> + <synonym> + <key>ru</key> + <value>Версионировать при старте</value> + </synonym> + </enumValues> <enumValues uuid="da6e4bff-9835-4b92-b62b-291a5d6c86fe"> <name>НеВерсионировать</name> <synonym> diff --git a/SSL/src/Enums/СостоянияЗаданий/СостоянияЗаданий.mdo b/SSL/src/Enums/СостоянияЗаданий/СостоянияЗаданий.mdo index 5a49962f6..328649292 100644 --- a/SSL/src/Enums/СостоянияЗаданий/СостоянияЗаданий.mdo +++ b/SSL/src/Enums/СостоянияЗаданий/СостоянияЗаданий.mdo @@ -76,7 +76,7 @@ </synonym> <comment>Задание не активно</comment> </enumValues> - <enumValues uuid="34e19129-2ff9-40ac-a277-ea7ada6b977e"> + <enumValues uuid="3df3f61a-2c17-4278-8d82-91089f793e6a"> <name>ОбработкаОшибкиПриАварийномЗавершении</name> <synonym> <key>ru</key> diff --git a/SSL/src/Enums/СпособыВызоваДополнительныхОбработок/СпособыВызоваДополнительныхОбработок.mdo b/SSL/src/Enums/СпособыВызоваДополнительныхОбработок/СпособыВызоваДополнительныхОбработок.mdo index d04cf483a..5ebe147a2 100644 --- a/SSL/src/Enums/СпособыВызоваДополнительныхОбработок/СпособыВызоваДополнительныхОбработок.mdo +++ b/SSL/src/Enums/СпособыВызоваДополнительныхОбработок/СпособыВызоваДополнительныхОбработок.mdo @@ -64,4 +64,11 @@ <value>Сценарий в безопасном режиме</value> </synonym> </enumValues> + <enumValues uuid="3bacfd93-dfc7-4154-9d3f-b61ddc5c6721"> + <name>ЗагрузкаДанныхИзФайла</name> + <synonym> + <key>ru</key> + <value>Загрузка данных из файла</value> + </synonym> + </enumValues> </mdclass:Enum> diff --git a/SSL/src/Enums/СпособыУстановкиКурсаВалюты/СпособыУстановкиКурсаВалюты.mdo b/SSL/src/Enums/СпособыУстановкиКурсаВалюты/СпособыУстановкиКурсаВалюты.mdo new file mode 100644 index 000000000..c2d6fb0d8 --- /dev/null +++ b/SSL/src/Enums/СпособыУстановкиКурсаВалюты/СпособыУстановкиКурсаВалюты.mdo @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:Enum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ec11342f-594f-416f-a10f-bd1bfa695c08"> + <producedTypes> + <refType typeId="a01d58fd-ca5c-43b1-ad9c-8e39ce91beba" valueTypeId="7260741c-0ea5-4ea4-96ce-338eb2bf6c9d"/> + <listType typeId="4b6abae4-5625-430d-8fbf-0ecfc4dab6ca" valueTypeId="d6551ff6-d13b-4058-a2cf-2b59a20903da"/> + <managerType typeId="88fe01d6-21ec-4bed-8a4d-5759b86a3c27" valueTypeId="f9ae5c49-3d08-4c82-8c9b-7ccaef02a21d"/> + </producedTypes> + <name>СпособыУстановкиКурсаВалюты</name> + <synonym> + <key>ru</key> + <value>Способы установки курса валюты</value> + </synonym> + <standardAttributes> + <dataHistory>Use</dataHistory> + <name>Order</name> + <fillValue xsi:type="core:UndefinedValue"/> + <fullTextSearch>Use</fullTextSearch> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + </standardAttributes> + <standardAttributes> + <dataHistory>Use</dataHistory> + <name>Ref</name> + <fillValue xsi:type="core:UndefinedValue"/> + <fullTextSearch>Use</fullTextSearch> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + </standardAttributes> + <quickChoice>true</quickChoice> + <choiceMode>BothWays</choiceMode> + <enumValues uuid="31c3ac44-204e-43fd-bca3-fd18fa091c58"> + <name>ЗагрузкаИзИнтернета</name> + <synonym> + <key>ru</key> + <value>Загрузка из интернета</value> + </synonym> + </enumValues> + <enumValues uuid="74f03c35-5da0-406e-a938-e8e5d49975ef"> + <name>РучнойВвод</name> + <synonym> + <key>ru</key> + <value>Ручной ввод</value> + </synonym> + </enumValues> + <enumValues uuid="c9ab3890-6d16-431f-ab2b-b5058e6202a4"> + <name>НаценкаНаКурсДругойВалюты</name> + <synonym> + <key>ru</key> + <value>Наценка на курс другой валюты</value> + </synonym> + </enumValues> + <enumValues uuid="5ee9eed7-3c6c-4264-ab9a-6f24f9c80598"> + <name>РасчетПоФормуле</name> + <synonym> + <key>ru</key> + <value>Расчет по формуле</value> + </synonym> + </enumValues> +</mdclass:Enum> diff --git a/SSL/src/Enums/СрокиХраненияВерсий/СрокиХраненияВерсий.mdo b/SSL/src/Enums/СрокиХраненияВерсий/СрокиХраненияВерсий.mdo new file mode 100644 index 000000000..82e712b42 --- /dev/null +++ b/SSL/src/Enums/СрокиХраненияВерсий/СрокиХраненияВерсий.mdo @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:Enum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3c33adc7-abea-4e0f-9e5d-d8f10abb63df"> + <producedTypes> + <refType typeId="0872a672-8cb3-4716-b174-28c4f1ff0bfd" valueTypeId="c66e48c8-7521-48bb-a972-6994871d878f"/> + <listType typeId="4e3c6d43-0243-48d5-a2fa-79deb299f802" valueTypeId="83855296-186a-4dce-ba47-05b9d4f226c9"/> + <managerType typeId="12f8901c-0427-400e-b2e5-1c4286073bab" valueTypeId="4e0de58a-18c8-4db7-b57a-74c739321ffc"/> + </producedTypes> + <name>СрокиХраненияВерсий</name> + <synonym> + <key>ru</key> + <value>Сроки хранения версий</value> + </synonym> + <standardAttributes> + <dataHistory>Use</dataHistory> + <name>Order</name> + <fillValue xsi:type="core:UndefinedValue"/> + <fullTextSearch>Use</fullTextSearch> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + </standardAttributes> + <standardAttributes> + <dataHistory>Use</dataHistory> + <name>Ref</name> + <fillValue xsi:type="core:UndefinedValue"/> + <fullTextSearch>Use</fullTextSearch> + <minValue xsi:type="core:UndefinedValue"/> + <maxValue xsi:type="core:UndefinedValue"/> + </standardAttributes> + <quickChoice>true</quickChoice> + <choiceMode>BothWays</choiceMode> + <enumValues uuid="4090c6f7-1d25-4b17-9baa-18daa0640b0f"> + <name>ЗаПоследнююНеделю</name> + <synonym> + <key>ru</key> + <value>За последнюю неделю</value> + </synonym> + </enumValues> + <enumValues uuid="26125e58-dfc8-4bbb-a3a4-80616471746e"> + <name>ЗаПоследнийМесяц</name> + <synonym> + <key>ru</key> + <value>За последний месяц</value> + </synonym> + </enumValues> + <enumValues uuid="b1c699cd-efdc-461c-ad37-10bfd4bc9674"> + <name>ЗаПоследниеТриМесяца</name> + <synonym> + <key>ru</key> + <value>За последние три месяца</value> + </synonym> + </enumValues> + <enumValues uuid="6add1920-5073-4b1e-b7e0-13bf1e65e4c3"> + <name>ЗаПоследниеШестьМесяцев</name> + <synonym> + <key>ru</key> + <value>За последние шесть месяцев</value> + </synonym> + </enumValues> + <enumValues uuid="f12c946c-98e4-4da6-8a88-c555e9dc3bdd"> + <name>ЗаПоследнийГод</name> + <synonym> + <key>ru</key> + <value>За последний год</value> + </synonym> + </enumValues> + <enumValues uuid="ec5718b7-1c4d-4bdc-9426-40a339bb29cf"> + <name>Бессрочно</name> + <synonym> + <key>ru</key> + <value>Бессрочно</value> + </synonym> + </enumValues> +</mdclass:Enum> diff --git a/SSL/src/EventSubscriptions/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных.mdo b/SSL/src/EventSubscriptions/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных.mdo new file mode 100644 index 000000000..0a5b8a535 --- /dev/null +++ b/SSL/src/EventSubscriptions/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных/ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных.mdo @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="446f4de6-2af9-439a-9234-a31c439f139c"> + <name>ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных</name> + <synonym> + <key>ru</key> + <value>Дополнительные отчеты и обработки перед удалением идентификатора объекта метаданных</value> + </synonym> + <source> + <types>CatalogObject.ИдентификаторыОбъектовМетаданных</types> + </source> + <event>BeforeDelete</event> + <handler>CommonModule.ДополнительныеОтчетыИОбработки.ПередУдалениемИдентификатораОбъектаМетаданных</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/ЗапретитьПометкуУдаленияПредопределенныхЭлементов/ЗапретитьПометкуУдаленияПредопределенныхЭлементов.mdo b/SSL/src/EventSubscriptions/ЗапретитьПометкуУдаленияПредопределенныхЭлементов/ЗапретитьПометкуУдаленияПредопределенныхЭлементов.mdo new file mode 100644 index 000000000..12b4c83ca --- /dev/null +++ b/SSL/src/EventSubscriptions/ЗапретитьПометкуУдаленияПредопределенныхЭлементов/ЗапретитьПометкуУдаленияПредопределенныхЭлементов.mdo @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6d042890-27b2-4efc-935e-8190bb57c037"> + <name>ЗапретитьПометкуУдаленияПредопределенныхЭлементов</name> + <synonym> + <key>ru</key> + <value>Запретить пометку удаления предопределенных элементов</value> + </synonym> + <source> + <types>ChartOfCalculationTypesObject</types> + <types>ChartOfAccountsObject</types> + <types>ChartOfCharacteristicTypesObject</types> + <types>CatalogObject</types> + </source> + <event>BeforeWrite</event> + <handler>CommonModule.СтандартныеПодсистемыСервер.ЗапретитьПометкуУдаленияПредопределенныхЭлементовПередЗаписью</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/ЗапретитьУдалениеПредопределенныхЭлементов/ЗапретитьУдалениеПредопределенныхЭлементов.mdo b/SSL/src/EventSubscriptions/ЗапретитьУдалениеПредопределенныхЭлементов/ЗапретитьУдалениеПредопределенныхЭлементов.mdo new file mode 100644 index 000000000..42eb79cf3 --- /dev/null +++ b/SSL/src/EventSubscriptions/ЗапретитьУдалениеПредопределенныхЭлементов/ЗапретитьУдалениеПредопределенныхЭлементов.mdo @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="23e79add-7f1c-422a-9df1-8f76ebf805df"> + <name>ЗапретитьУдалениеПредопределенныхЭлементов</name> + <synonym> + <key>ru</key> + <value>Запретить удаление предопределенных элементов</value> + </synonym> + <source> + <types>ChartOfCalculationTypesObject</types> + <types>ChartOfAccountsObject</types> + <types>ChartOfCharacteristicTypesObject</types> + <types>CatalogObject</types> + </source> + <event>BeforeDelete</event> + <handler>CommonModule.СтандартныеПодсистемыСервер.ЗапретитьУдалениеПредопределенныхЭлементовПередУдалением</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/КонтрольНеразделенныхОбъектовПриЗаписи/КонтрольНеразделенныхОбъектовПриЗаписи.mdo b/SSL/src/EventSubscriptions/КонтрольНеразделенныхОбъектовПриЗаписи/КонтрольНеразделенныхОбъектовПриЗаписи.mdo index a18ef0f27..7038e4a0f 100644 --- a/SSL/src/EventSubscriptions/КонтрольНеразделенныхОбъектовПриЗаписи/КонтрольНеразделенныхОбъектовПриЗаписи.mdo +++ b/SSL/src/EventSubscriptions/КонтрольНеразделенныхОбъектовПриЗаписи/КонтрольНеразделенныхОбъектовПриЗаписи.mdo @@ -57,7 +57,6 @@ <types>ConstantValueManager.СписокРасширенийФайловOpenDocument</types> <types>ConstantValueManager.ИспользоватьРазделениеПоОбластямДанных</types> <types>ConstantValueManager.ИспользоватьСинхронизациюДанныхВМоделиСервисаСЛокальнойПрограммой</types> - <types>ConstantValueManager.ПараметрыБазовойФункциональности</types> <types>ConstantValueManager.НастройкаПодчиненногоУзлаРИБЗавершена</types> <types>ConstantValueManager.КопироватьОбластиДанныхИзЭталонной</types> <types>CatalogObject.ПоставляемыеДанные</types> diff --git a/SSL/src/EventSubscriptions/ПолучениеПолейПредставленияВзамоимодействия/ПолучениеПолейПредставленияВзамоимодействия.mdo b/SSL/src/EventSubscriptions/ПолучениеПолейПредставленияВзамоимодействия/ПолучениеПолейПредставленияВзамоимодействия.mdo new file mode 100644 index 000000000..4baa6b818 --- /dev/null +++ b/SSL/src/EventSubscriptions/ПолучениеПолейПредставленияВзамоимодействия/ПолучениеПолейПредставленияВзамоимодействия.mdo @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9847676d-f44d-46a0-83e2-4a43a835caf8"> + <name>ПолучениеПолейПредставленияВзамоимодействия</name> + <synonym> + <key>ru</key> + <value>Получение полей представления взаимодействия</value> + </synonym> + <source> + <types>DocumentManager.СообщениеSMS</types> + <types>DocumentManager.Встреча</types> + <types>DocumentManager.ЗапланированноеВзаимодействие</types> + <types>DocumentManager.ЭлектронноеПисьмоИсходящее</types> + <types>DocumentManager.ЭлектронноеПисьмоВходящее</types> + <types>DocumentManager.ТелефонныйЗвонок</types> + </source> + <event>PresentationFieldsGetProcessing</event> + <handler>CommonModule.ВзаимодействияКлиентСервер.ОбработкаПолученияПолейПредставления</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/ПолучениеПредставленияВзаимодействия/ПолучениеПредставленияВзаимодействия.mdo b/SSL/src/EventSubscriptions/ПолучениеПредставленияВзаимодействия/ПолучениеПредставленияВзаимодействия.mdo new file mode 100644 index 000000000..9e6b7ac62 --- /dev/null +++ b/SSL/src/EventSubscriptions/ПолучениеПредставленияВзаимодействия/ПолучениеПредставленияВзаимодействия.mdo @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="43c18cae-21a9-413b-a350-d5cf826980f0"> + <name>ПолучениеПредставленияВзаимодействия</name> + <synonym> + <key>ru</key> + <value>Получение представления взаимодействия</value> + </synonym> + <source> + <types>DocumentManager.СообщениеSMS</types> + <types>DocumentManager.Встреча</types> + <types>DocumentManager.ЗапланированноеВзаимодействие</types> + <types>DocumentManager.ЭлектронноеПисьмоИсходящее</types> + <types>DocumentManager.ЭлектронноеПисьмоВходящее</types> + <types>DocumentManager.ТелефонныйЗвонок</types> + </source> + <event>PresentationGetProcessing</event> + <handler>CommonModule.ВзаимодействияКлиентСервер.ОбработкаПолученияПредставления</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/ПолучитьПоляПредставленияБизнесПроцесса/ПолучитьПоляПредставленияБизнесПроцесса.mdo b/SSL/src/EventSubscriptions/ПолучитьПоляПредставленияБизнесПроцесса/ПолучитьПоляПредставленияБизнесПроцесса.mdo new file mode 100644 index 000000000..766f26334 --- /dev/null +++ b/SSL/src/EventSubscriptions/ПолучитьПоляПредставленияБизнесПроцесса/ПолучитьПоляПредставленияБизнесПроцесса.mdo @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="16773cdb-b979-42d5-a2a5-d4b79e8737bd"> + <name>ПолучитьПоляПредставленияБизнесПроцесса</name> + <synonym> + <key>ru</key> + <value>Получить поля представления бизнес процесса</value> + </synonym> + <source> + <types>BusinessProcessManager.Задание</types> + </source> + <event>PresentationFieldsGetProcessing</event> + <handler>CommonModule.БизнесПроцессыИЗадачиКлиентСервер.ОбработкаПолученияПолейПредставленияБизнесПроцесса</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/EventSubscriptions/ПолучитьПредставлениеБизнесПроцесса/ПолучитьПредставлениеБизнесПроцесса.mdo b/SSL/src/EventSubscriptions/ПолучитьПредставлениеБизнесПроцесса/ПолучитьПредставлениеБизнесПроцесса.mdo new file mode 100644 index 000000000..c0aa3e71f --- /dev/null +++ b/SSL/src/EventSubscriptions/ПолучитьПредставлениеБизнесПроцесса/ПолучитьПредставлениеБизнесПроцесса.mdo @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:EventSubscription xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c28a190a-f487-4e99-b8f8-6928268086f8"> + <name>ПолучитьПредставлениеБизнесПроцесса</name> + <synonym> + <key>ru</key> + <value>Получить представление бизнес процесса</value> + </synonym> + <source> + <types>BusinessProcessManager.Задание</types> + </source> + <event>PresentationGetProcessing</event> + <handler>CommonModule.БизнесПроцессыИЗадачиКлиентСервер.ОбработкаПолученияПредставленияБизнесПроцесса</handler> +</mdclass:EventSubscription> diff --git a/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаВыбора/Form.form b/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаВыбора/Form.form index a8bb1f9e3..59c1e51bf 100644 --- a/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаВыбора/Form.form +++ b/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаВыбора/Form.form @@ -31,8 +31,8 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаименованиеExtendedTooltip</name> - <id>7</id> + <name>НаименованиеРасширеннаяПодсказка</name> + <id>16</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -63,10 +63,10 @@ </autoCommandBar> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>8</id> + <id>7</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>10</id> + <id>9</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -76,7 +76,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>9</id> + <id>8</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -86,10 +86,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>11</id> + <id>10</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>13</id> + <id>12</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -99,7 +99,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>12</id> + <id>11</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -110,10 +110,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>14</id> + <id>13</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>16</id> + <id>15</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -123,7 +123,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>15</id> + <id>14</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -133,7 +133,7 @@ </extInfo> </searchControlAddition> <extendedTooltip> - <name>СписокExtendedTooltip</name> + <name>СписокРасширеннаяПодсказка</name> <id>6</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> diff --git a/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаСписка/Form.form b/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаСписка/Form.form index e3e92ad00..4410b9c0d 100644 --- a/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаСписка/Form.form +++ b/SSL/src/ExchangePlans/ОбменСообщениями/Forms/ФормаСписка/Form.form @@ -1,5 +1,73 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>8</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 9 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 10 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -58,10 +126,10 @@
                                          СписокСтрокаПоиска - 8 + 12 СписокСтрокаПоискаРасширеннаяПодсказка - 10 + 14 Label true true @@ -71,7 +139,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 9 + 13 true Список @@ -81,10 +149,10 @@ СписокСостояниеПросмотра - 11 + 15 СписокСостояниеПросмотраРасширеннаяПодсказка - 13 + 17 Label true true @@ -94,7 +162,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 12 + 16 true ViewStatusAddition @@ -105,10 +173,10 @@ СписокУправлениеПоиском - 14 + 18 СписокУправлениеПоискомРасширеннаяПодсказка - 16 + 20 Label true true @@ -118,7 +186,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 15 + 19 true SearchControlAddition @@ -177,13 +245,13 @@ true true + ГруппаПользовательскихНастроек
                                          ФормаКоманднаяПанель -1 Left - true DontBlock true diff --git a/SSL/src/ExchangePlans/ОбменСообщениями/ManagerModule.bsl b/SSL/src/ExchangePlans/ОбменСообщениями/ManagerModule.bsl index fbc116f14..274948d66 100644 --- a/SSL/src/ExchangePlans/ОбменСообщениями/ManagerModule.bsl +++ b/SSL/src/ExchangePlans/ОбменСообщениями/ManagerModule.bsl @@ -2,15 +2,24 @@ #Область ПрограммныйИнтерфейс +// Позволяет переопределить настройки плана обмена, заданные по умолчанию. +// Значения настроек по умолчанию см. в ОбменДаннымиСервер.НастройкиПланаОбменаПоУмолчанию +// +// Параметры: +// Настройки - Структура - Содержит настройки по умолчанию +// +Процедура ОпределитьНастройки(Настройки) Экспорт + + Настройки.ПредупреждатьОНесоответствииВерсийПравилОбмена = Ложь; + +КонецПроцедуры + // Возвращает имя файла настроек по умолчанию; // В этот файл будут выгружены настройки обмена для приемника; // Это значение должно быть одинаковым в плане обмена источника и приемника. // -// Параметры: -// Нет. -// // Возвращаемое значение: -// Строка, 255 - имя файла по умолчанию для выгрузки настроек обмена данными +// Строка - имя файла по умолчанию для выгрузки настроек обмена данными // Функция ИмяФайлаНастроекДляПриемника() Экспорт @@ -25,10 +34,13 @@ // содержащие массивы значений полей табличных частей плана обмена. // // Параметры: -// Нет. +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для +// разного состава настроек на узле для разных версий корреспондента +// ИмяФормы - Строка - Имя используемой формы настройки узла. Возможно, например, использование +// различных форм для разных версий корреспондента. // // Возвращаемое значение: -// СтруктураНастроек - Структура - структура отборов на узле плана обмена +// СтруктураНастроек - Структура - структура отборов на узле плана обмена // Функция НастройкаОтборовНаУзле() Экспорт @@ -41,7 +53,10 @@ // Для реквизитов шапки используются аналогичные по ключу и значению элементы структуры. // // Параметры: -// Нет. +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для разного +// состава значений по умолчанию на узле для разных версий корреспондента. +// ИмяФормы - Строка - Имя используемой формы настройки значений по умолчанию. +// Возможно, например, использование различных форм для разных версий корреспондента. // // Возвращаемое значение: // СтруктураНастроек - Структура - структура значений по умолчанию на узле плана обмена @@ -57,11 +72,12 @@ // удобную для восприятия пользователем. // // Параметры: -// НастройкаОтборовНаУзле - Структура - структура отборов на узле плана обмена, -// полученная при помощи функции НастройкаОтборовНаУзле(). -// +// НастройкаОтборовНаУзле - Структура - структура отборов на узле плана обмена, +// полученная при помощи функции НастройкаОтборовНаУзле(). +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для различного +// описания ограничеий передачи данных в зависимости от версии корреспондента. // Возвращаемое значение: -// Строка, Неогранич. - строка описания ограничений миграции данных для пользователя +// Строка - Строка описания ограничений миграции данных для пользователя // Функция ОписаниеОграниченийПередачиДанных(НастройкаОтборовНаУзле) Экспорт @@ -74,11 +90,13 @@ // удобную для восприятия пользователем. // // Параметры: -// ЗначенияПоУмолчаниюНаУзле - Структура - структура значений по умолчанию на узле плана обмена, -// полученная при помощи функции ЗначенияПоУмолчаниюНаУзле(). +// ЗначенияПоУмолчаниюНаУзле - Структура - структура значений по умолчанию на узле плана обмена, +// полученная при помощи функции ЗначенияПоУмолчаниюНаУзле(). +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для различного +// описания значений по умолчанию в зависимости от версии корреспондента. // // Возвращаемое значение: -// Строка, Неогранич. - строка описания для пользователя значений по умолчанию +// Строка - строка описания для пользователя значений по умолчанию // Функция ОписаниеЗначенийПоУмолчанию(ЗначенияПоУмолчаниюНаУзле) Экспорт @@ -86,13 +104,10 @@ КонецФункции -// Возвращает представление команды создания нового обмена данными. +// Устанавливает представление команды создания нового обмена данными. // // Возвращаемое значение: -// Строка, Неогранич - представление команды, выводимое в пользовательском интерфейсе. -// -// Например: -// Возврат НСтр("ru = 'Создать обмен в распределенной информационной базе'"); +// Строка - представление команды, выводимое в пользовательском интерфейсе. // Функция ЗаголовокКомандыДляСозданияНовогоОбменаДанными() Экспорт @@ -114,8 +129,8 @@ // Определяет использование механизма регистрации объектов // // Возвращаемое значение: -// Истина - механизм регистрации объектов необходимо использовать для текущего плана обмена. -// Ложь - механизм регистрации объектов использовать не требуется. +// Булево - Истина - если механизм регистрации объектов необходимо использовать для текущего плана обмена. +// Ложь - если механизм регистрации объектов использовать не требуется. // Функция ИспользоватьМеханизмРегистрацииОбъектов() Экспорт @@ -128,10 +143,10 @@ // Для планов обмена не РИБ функция возвращает пустую строку // // Возвращаемое значение: -// Строка, Неогранич - имя формы +// Строка - имя используемой формы // -// Например: -// Возврат "ПланОбмена.РаспределеннаяИнформационнаяБаза.Форма.ФормаСозданияНачальногоОбраза"; +// Пример: +// Возврат "ПланОбмена.ОбменВРаспределеннойИнформационнойБазе.Форма.ФормаСозданияНачальногоОбраза"; // Функция ИмяФормыСозданияНачальногоОбраза() Экспорт @@ -141,7 +156,11 @@ // Возвращает массив используемых транспортов сообщений для этого плана обмена // -// 1. Например, если план обмена поддерживает только два транспорта сообщений FILE и FTP, +// Возвращаемое значение: +// Массив - массив содержит значения перечисления ВидыТранспортаСообщенийОбмена +// +// Пример: +// 1. Если план обмена поддерживает только два транспорта сообщений FILE и FTP, // то тело функции следует определить следующим образом: // // Результат = Новый Массив; @@ -149,14 +168,11 @@ // Результат.Добавить(Перечисления.ВидыТранспортаСообщенийОбмена.FTP); // Возврат Результат; // -// 2. Например, если план обмена поддерживает все транспорты сообщений, определенных в конфигурации, +// 2. Если план обмена поддерживает все транспорты сообщений, определенных в конфигурации, // то тело функции следует определить следующим образом: // // Возврат ОбменДаннымиСервер.ВсеТранспортыСообщенийОбменаКонфигурации(); // -// Возвращаемое значение: -// Массив - массив содержит значения перечисления ВидыТранспортаСообщенийОбмена -// Функция ИспользуемыеТранспортыСообщенийОбмена() Экспорт Результат = Новый Массив; @@ -169,12 +185,15 @@ КонецФункции -// Возвращает признак использования плана обмена для организации обмена в модели сервиса. -// Если признак установлен, то в сервисе можно включить обмен данными -// с использованием этого плана обмена. -// Если признак не установлен, то план обмена будет использоваться только -// для обмена в локальном режиме работы конфигурации. -// +// Устанавливает признак использования плана обмена для организации обмена в модели сервиса. +// Если признак установлен, то в сервисе можно включить обмен данными +// с использованием этого плана обмена. +// Если признак не установлен, то план обмена будет использоваться только +// для обмена в локальном режиме работы конфигурации. +// +// Возвращаемое значение: +// Булево - признак использования плана обмена в модели сервиса +// Функция ПланОбменаИспользуетсяВМоделиСервиса() Экспорт Возврат Ложь; @@ -185,6 +204,9 @@ // Если признак установлен, то становится возможным создать обмен данными когда эта информационная база // работает в локальном режиме, а корреспондент в модели сервиса. // +// Возвращаемое значение: +// Булево - признак возможности настройки обмена с корреспондентов в модели сервиса. +// Функция КорреспондентВМоделиСервиса() Экспорт Возврат Ложь; @@ -197,8 +219,8 @@ // Определяет режим удаления объектов при загрузке данных. // // Возвращающее значение: -// Булево. Истина - при получении информации удаления объект будет физически удален из ИБ; -// Ложь - объект будет помечен на удаление. +// Булево - Истина - при получении информации удаления объект будет физически удален из ИБ; +// Ложь - объект будет помечен на удаление. // Функция РазрешитьУдалениеОбъектов() Экспорт @@ -212,6 +234,15 @@ // Возвращает имена реквизитов и табличных частей плана обмена, перечисленных через запятую, // которые являются общими для пары обменивающихся конфигураций. // +// Параметры: +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для разного +// состава общих данных узлов в зависимости от версии корреспондента. +// ИмяФормы - Строка - Имя используемой формы настройки значений по умолчанию. +// Возможно, например, использование различных форм для разных версий корреспондента. +// +// Возвращаемое значение: +// Строка - Список имен реквизитов. +// Функция ОбщиеДанныеУзлов(ВерсияКорреспондента, ИмяФормы) Экспорт Возврат ""; @@ -224,7 +255,10 @@ // содержащие массивы значений полей табличных частей плана обмена. // // Параметры: -// Нет. +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для +// разного состава настроек на узле для разных версий корреспондента +// ИмяФормы - Строка - Имя используемой формы настройки узла. Возможно, например, использование +// различных форм для разных версий корреспондента. // // Возвращаемое значение: // СтруктураНастроек - Структура - структура отборов на узле плана обмена базы корреспондента @@ -239,7 +273,10 @@ // Для реквизитов шапки используются аналогичные по ключу и значению элементы структуры. // // Параметры: -// Нет. +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для разного +// состава значений по умолчанию на узле для разных версий корреспондента. +// ИмяФормы - Строка - Имя используемой формы настройки значений по умолчанию. +// Возможно, например, использование различных форм для разных версий корреспондента. // // Возвращаемое значение: // СтруктураНастроек - Структура - структура значений по умолчанию на узле плана обмена базы корреспондента @@ -254,11 +291,13 @@ // удобную для восприятия пользователем. // // Параметры: -// НастройкаОтборовНаУзле - Структура - структура отборов на узле плана обмена базы корреспондента, +// НастройкаОтборовНаУзле - Структура - структура отборов на узле плана обмена базы корреспондента, // полученная при помощи функции НастройкаОтборовНаУзлеБазыКорреспондента(). +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для различного +// описания ограничеий передачи данных в зависимости от версии корреспондента. // // Возвращаемое значение: -// Строка, Неогранич. - строка описания ограничений миграции данных для пользователя +// Строка - строка описания ограничений миграции данных для пользователя // Функция ОписаниеОграниченийПередачиДанныхБазыКорреспондента(НастройкаОтборовНаУзле, ВерсияКорреспондента) Экспорт @@ -272,15 +311,26 @@ // Параметры: // ЗначенияПоУмолчаниюНаУзле - Структура - структура значений по умолчанию на узле плана обмена базы корреспондента, // полученная при помощи функции ЗначенияПоУмолчаниюНаУзлеБазыКорреспондента(). +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для различного +// описания значений по умолчанию в зависимости от версии корреспондента. // // Возвращаемое значение: -// Строка, Неогранич. - строка описания для пользователя значений по умолчанию +// Строка - строка описания для пользователя значений по умолчанию // Функция ОписаниеЗначенийПоУмолчаниюБазыКорреспондента(ЗначенияПоУмолчаниюНаУзле, ВерсияКорреспондента) Экспорт Возврат ""; КонецФункции +// Определяет текст пояснения для настройки параметров учета базы-корреспондента +// +// Параметры: +// ВерсияКорреспондента - Строка - Номер версии корреспондента. Используется, например, для различного +// пояснения для настройки параметров учета в зависимости от версии корреспондента. +// +// Возвращаемое значение: +// Строка - строка описания пояснения для настройки параметров учета базы-корреспондента +// Функция ПояснениеДляНастройкиПараметровУчетаБазыКорреспондента(ВерсияКорреспондента) Экспорт Возврат ""; @@ -288,10 +338,10 @@ // Процедура предназначена для получения дополнительных данных, используемых при настройке обмена в базе-корреспонденте. // -// Параметры: -// ДополнительныеДанные - Структура. Дополнительные данные, которые будут использованы -// в базе-корреспонденте при настройке обмена. -// В качестве значений структуры применимы только значения, поддерживающие XDTO-сериализацию. +// Параметры: +// ДополнительныеДанные - Структура. Дополнительные данные, которые будут использованы +// в базе-корреспонденте при настройке обмена. +// В качестве значений структуры применимы только значения, поддерживающие XDTO-сериализацию. // Процедура ПолучитьДополнительныеДанныеДляКорреспондента(ДополнительныеДанные) Экспорт @@ -347,12 +397,24 @@ //////////////////////////////////////////////////////////////////////////////// // Константы и проверка параметров учета +// Определяет текст пояснения для настройки параметров учета +// +// Возвращаемое значение: +// Строка - строка описания пояснения для настройки параметров учета +// Функция ПояснениеДляНастройкиПараметровУчета() Экспорт Возврат ""; КонецФункции +// Проверяет корректность настройки параметров учета +// +// Параметры: +// Отказ - Булево - Признак невозможности продолжения настройки обмена из-за некорректно настроенных параметров учета +// Получатель - ПланОбменаСсылка - Узел обмена, для которого выполняется проверка параметров учета +// Сообщение - Строка - Содержит текст сообщения о некорректных параметрах учета +// Процедура ОбработчикПроверкиПараметровУчета(Отказ, Получатель, Сообщение) Экспорт КонецПроцедуры @@ -363,6 +425,9 @@ // Возвращает список реквизитов, которые не нужно редактировать // с помощью обработки группового изменения объектов // +// Возвращаемое значение: +// Массив - Содержит имена реквизитов, запрещенных для редактирования +// Функция РеквизитыНеРедактируемыеВГрупповойОбработке() Экспорт Результат = Новый Массив; diff --git a/SSL/src/FilterCriteria/ФайлыВТоме/Forms/ФормаСписка/Form.form b/SSL/src/FilterCriteria/ФайлыВТоме/Forms/ФормаСписка/Form.form index 75d9a65ab..19961a1da 100644 --- a/SSL/src/FilterCriteria/ФайлыВТоме/Forms/ФормаСписка/Form.form +++ b/SSL/src/FilterCriteria/ФайлыВТоме/Forms/ФормаСписка/Form.form @@ -1,5 +1,121 @@ + + ГруппаПользовательскихНастроек + 23 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 21 + + ФормаИзменить + 27 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ФормаОбновить + 25 + true + true + + true + + + ФормаОбновитьРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + Form.StandardCommand.Refresh + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -159,6 +275,7 @@ Left true + 11 true true @@ -207,10 +324,10 @@ СписокСтрокаПоиска - 21 + 29 СписокСтрокаПоискаРасширеннаяПодсказка - 23 + 31 Label true true @@ -220,7 +337,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 22 + 30 true Список @@ -230,10 +347,10 @@ СписокСостояниеПросмотра - 24 + 32 СписокСостояниеПросмотраРасширеннаяПодсказка - 26 + 34 Label true true @@ -243,7 +360,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 25 + 33 true ViewStatusAddition @@ -254,10 +371,10 @@ СписокУправлениеПоиском - 27 + 35 СписокУправлениеПоискомРасширеннаяПодсказка - 29 + 37 Label true true @@ -267,7 +384,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 28 + 36 true SearchControlAddition @@ -323,14 +440,16 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true + 60 + 10 DontBlock true true diff --git a/SSL/src/FunctionalOptions/ИспользоватьДополнительныеОтчетыИОбработки/ИспользоватьДополнительныеОтчетыИОбработки.mdo b/SSL/src/FunctionalOptions/ИспользоватьДополнительныеОтчетыИОбработки/ИспользоватьДополнительныеОтчетыИОбработки.mdo index 05009ace1..f45e090f4 100644 --- a/SSL/src/FunctionalOptions/ИспользоватьДополнительныеОтчетыИОбработки/ИспользоватьДополнительныеОтчетыИОбработки.mdo +++ b/SSL/src/FunctionalOptions/ИспользоватьДополнительныеОтчетыИОбработки/ИспользоватьДополнительныеОтчетыИОбработки.mdo @@ -11,4 +11,6 @@ InformationRegister.НазначениеДополнительныхОбработок InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам Enum.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок + CommonCommand.ДополнительныеОбработкиАдминистрирование + CommonCommand.ДополнительныеОтчетыАдминистрирование diff --git a/SSL/src/FunctionalOptions/СтандартныеПодсистемыВЛокальномРежиме/СтандартныеПодсистемыВЛокальномРежиме.mdo b/SSL/src/FunctionalOptions/СтандартныеПодсистемыВЛокальномРежиме/СтандартныеПодсистемыВЛокальномРежиме.mdo index 40f132207..93c491b88 100644 --- a/SSL/src/FunctionalOptions/СтандартныеПодсистемыВЛокальномРежиме/СтандартныеПодсистемыВЛокальномРежиме.mdo +++ b/SSL/src/FunctionalOptions/СтандартныеПодсистемыВЛокальномРежиме/СтандартныеПодсистемыВЛокальномРежиме.mdo @@ -17,4 +17,6 @@ InformationRegister.АдресныйКлассификатор.Command.АдресныйКлассификатор DataProcessor.УправлениеИтогамиИАгрегатами DataProcessor.СдвигГраницыИтоговПриЗавершенииРаботы + DataProcessor.АвтоматическоеИзвлечениеТекстов + DataProcessor.АвтоматическоеИзвлечениеТекстов.Command.АвтоматическоеИзвлечениеТекстов diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Form.form b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Form.form index 586acaf72..7a3a14fe3 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Form.form +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Form.form @@ -1,10 +1,14 @@ + + <key>ru</key> + <value>Авторизация на сайте поддержки пользователей</value> + ВведитеДанные 16 - КодПользователя + Логин 10 true true @@ -12,14 +16,14 @@ true - КодПользователя + Логин ru Код пользователя для авторизации на сайте фирмы 1С - КодПользователяExtendedTooltip + ЛогинРасширеннаяПодсказка 23 Label true @@ -29,7 +33,7 @@ - КодПользователяКонтекстноеМеню + ЛогинКонтекстноеМеню 11 true @@ -95,7 +99,7 @@ - ЗапомнитьИмяИПароль + ЗапомнитьПароль 4 true true @@ -107,7 +111,7 @@ Right - ЗапомнитьИмяИПарольExtendedTooltip + ЗапомнитьПарольРасширеннаяПодсказка 25 Label true @@ -117,7 +121,7 @@ - ЗапомнитьИмяИПарольКонтекстноеМеню + ЗапомнитьПарольКонтекстноеМеню 5 true @@ -133,10 +137,6 @@ true - - <key>ru</key> - <value>Введите данные регистрации на сайте поддержки пользователей 1С:Предприятия:</value> - ru Введите данные @@ -158,7 +158,6 @@ NormalSeparation true true - auto Auto Auto @@ -294,9 +293,9 @@ OnCreateAtServer ПриСозданииНаСервере + 40 LockOwner true - true true Vertical true @@ -341,10 +340,10 @@ - КодПользователя + Логин <key>ru</key> - <value>Код пользователя</value> + <value>Логин</value> 4 @@ -374,7 +373,7 @@ - СохранитьДанныеАутентификацииИПродолжитьВыполнить + СохранитьДанныеАутентификацииИПродолжить Auto diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Help/ru.html b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Help/ru.html index 668b8abd6..b06a5b4fd 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Help/ru.html +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Help/ru.html @@ -1,2 +1,7 @@ - -

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

                                          \ No newline at end of file + +

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

                                          +
                                          • Введите Логин; +
                                          • Введите Пароль. +
                                          • Для того чтобы больше не вводить эти данные в дальнейшем, включите флажок Запомнить пароль. +
                                          • Если вы еще не зарегистрированы, то с помощью гиперссылки можно Перейти к регистрации на сайте поддержки пользователей. +
                                          • Нажмите Продолжить для перехода к загрузке адресного классификатора.
                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Module.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Module.bsl index 818e714da..ba1e4ca5d 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Module.bsl +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АвторизацияНаПользовательскомСайте/Module.bsl @@ -1,6 +1,5 @@ #Область ОбработчикиСобытийФормы -// &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -9,51 +8,57 @@ Возврат; КонецЕсли; - АдресныйКлассификатор.ПолучитьПараметрыАутентификации(КодПользователя, Пароль); - ЗапомнитьПароль = ? (ПустаяСтрока(Пароль), Ложь, Истина); + Авторизация = АдресныйКлассификатор.ПараметрыАутентификацииНаСайте(); + Если Авторизация.Заполнено Тогда + Логин = Авторизация.Логин; + Пароль = Авторизация.Пароль; + КонецЕсли; + ЗапомнитьПароль = Не ПустаяСтрока(Пароль); КонецПроцедуры #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы -// &НаКлиенте Процедура ПерейтиКРегистрацииНаСайтеНажатие(Элемент) - ЗапуститьПриложение("http://users.v8.1c.ru/"); + + ПерейтиПоНавигационнойСсылке("http://users.v8.1c.ru/"); + КонецПроцедуры #КонецОбласти #Область ОбработчикиКомандФормы -// // Кнопка "Продолжить", выполнение выбора. // -// Результат выбора: Неопределено, если пользователь отказался от ввода пароля, или структура с полями: -// Статус - истина или ложь в зависимости от успеха вызова -// КодПользователя - строка кода пользователя, имеет смысл только если Статус=Истина -// Пароль - строка пароля, имеет смысл только если Статус=Истина +// Результат выбора: +// Структура, Неопределено - Если пользователь отказался от ввода пароля, то Неопределено. Иначе - структура с полями: +// * Логин - Строка - Логин на сайте +// * Пароль - Строка - Введенный пароль +// &НаКлиенте -Процедура СохранитьДанныеАутентификацииИПродолжитьВыполнить() +Процедура СохранитьДанныеАутентификацииИПродолжить() - СохраняемыйПароль = ?(ЗапомнитьПароль, Пароль, Неопределено); - СохранитьДанныеАутентификации(КодПользователя, СохраняемыйПароль); + Результат = Новый Структура("Логин, Пароль", Логин, Пароль); + Если ЗапомнитьПароль Тогда + СохранитьДанныеАутентификации(Результат); + КонецЕсли; - Результат = Новый Структура("Статус, КодПользователя ,Пароль", Истина, КодПользователя, Пароль); ОповеститьОВыборе(Результат); - КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -// &НаСервереБезКонтекста -Процедура СохранитьДанныеАутентификации(Код, Пароль) - АдресныйКлассификатор.СохранитьПараметрыАутентификации(Код, Пароль); +Процедура СохранитьДанныеАутентификации(Знач Аутентификация) + + АдресныйКлассификатор.ПараметрыАутентификацииНаСайте(Аутентификация); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Form.form b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Form.form index 586c66e0d..041103b4a 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Form.form +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Form.form @@ -1,20 +1,20 @@ - - - СостояниеРегистра - 1 - - <key>ru</key> - <value>Объектов в адресном классификаторе: XX</value> - + + + ОписаниеЗагруженныхОбъектов + 26 true true true + + ОписаниеЗагруженныхОбъектов + + None - СостояниеРегистраExtendedTooltip - 16 + ОписаниеЗагруженныхОбъектовРасширеннаяПодсказка + 28 Label true true @@ -23,338 +23,36 @@ - СостояниеРегистраКонтекстноеМеню - 2 + ОписаниеЗагруженныхОбъектовКонтекстноеМеню + 27 true - Label - true - true - - Left + LabelField + Enter + true + Left + true + + true + true - - ВерхнийУровень - 3 - - ПроверитьОбновление - 12 - - ПроверитьОбновлениеАдресногоКлассификатора - 13 - true - true - - true - - - ПроверитьОбновлениеАдресногоКлассификатораExtendedTooltip - 19 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьОбновлениеАдресногоКлассификатора - Normal - Auto - true - true - UserCmds - Auto - - - ПояснениеПроверитьОбновление - 14 - - <key>ru</key> - <value>Проверить наличие обновлений адресных сведений -на сайте поддержки пользователей 1С:Предприятия фирмы "1С"</value> - - true - true - - true - - - ПояснениеПроверитьОбновлениеExtendedTooltip - 20 - Label - true - true - - Left - - - - ПояснениеПроверитьОбновлениеКонтекстноеМеню - 15 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Проверить обновление</value> - - - ru - Проверить обновление - - - ПроверитьОбновлениеExtendedTooltip - 18 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Загрузить - 4 - - ЗагрузитьАдресныйКлассификатор - 5 - true - true - - true - - - ЗагрузитьАдресныйКлассификаторExtendedTooltip - 22 - Label - true - true - - Left - - - UsualButton - Form.Command.ЗагрузитьАдресныйКлассификатор - Normal - Auto - 17 - true - true - UserCmds - Auto - - - ПояснениеЗагрузить - 6 - - <key>ru</key> - <value>Перейти к загрузке адресного классификатора -с сайта фирмы "1С", диска 1С:ИТС или из указанного каталога</value> - - true - true - - true - - - ПояснениеЗагрузитьExtendedTooltip - 23 - Label - true - true - - Left - - - - ПояснениеЗагрузитьКонтекстноеМеню - 7 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Загрузить</value> - - - ru - Загрузить - - - ЗагрузитьExtendedTooltip - 21 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - - Очистить - 8 - - ОчиститьАдресныйКлассификатор - 9 - true - true - - true - - - ОчиститьАдресныйКлассификаторExtendedTooltip - 25 - Label - true - true - - Left - - - UsualButton - Form.Command.ОчиститьАдресныйКлассификатор - Normal - Auto - 17 - true - true - UserCmds - Auto - - - ПояснениеОчистить - 10 - - <key>ru</key> - <value>Удалить все сведения из адресного классификатора или выборочно, -по указанным регионам</value> - - true - true - - true - - - ПояснениеОчиститьExtendedTooltip - 26 - Label - true - true - - Left - - - - ПояснениеОчиститьКонтекстноеМеню - 11 - true - - Label - true - true - - Style.ПоясняющийТекст - - - Left - - - true - true - - true - - - <key>ru</key> - <value>Очистить</value> - - - ru - Очистить - - - ОчиститьExtendedTooltip - 24 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - + + ПроверитьОбновлениеАдресногоКлассификатора + 13 true true true - - <key>ru</key> - <value>Верхний уровень</value> - - - ru - Верхний уровень - - ВерхнийУровеньExtendedTooltip - 17 + ПроверитьОбновлениеАдресногоКлассификатораExtendedTooltip + 19 + + <key>ru</key> + <value>Проверить наличие обновлений адресных сведений +на сайте поддержки пользователей 1С:Предприятия фирмы "1С"</value> + Label true true @@ -362,16 +60,84 @@ Left - UsualGroup - - Vertical - Auto - NormalSeparation - true - true - Auto - Auto - + UsualButton + Form.Command.ПроверитьОбновлениеАдресногоКлассификатора + Normal + Auto + 17 + true + true + UserCmds + ShowRight + Auto + + + ЗагрузитьАдресныйКлассификатор + 5 + true + true + + true + + + ЗагрузитьАдресныйКлассификаторExtendedTooltip + 22 + + <key>ru</key> + <value>Перейти к загрузке адресного классификатора +с сайта фирмы "1С", диска 1С:ИТС или из указанного каталога</value> + + Label + true + true + + Left + + + UsualButton + Form.Command.ЗагрузитьАдресныйКлассификатор + Normal + Auto + 17 + true + true + UserCmds + ShowRight + Auto + + + ОчиститьАдресныйКлассификатор + 9 + true + true + + true + + + ОчиститьАдресныйКлассификаторExtendedTooltip + 25 + + <key>ru</key> + <value>Удалить все сведения из адресного классификатора или выборочно, +по указанным регионам</value> + + Label + true + true + + Left + + + UsualButton + Form.Command.ОчиститьАдресныйКлассификатор + Normal + Auto + 17 + true + true + UserCmds + ShowRight + Auto Top true @@ -379,7 +145,6 @@ ФормаКоманднаяПанель -1 Right - true NotificationProcessing @@ -409,6 +174,24 @@ UseIfNecessary auto true + + ОписаниеЗагруженныхОбъектов + + <key>ru</key> + <value>Описание загруженных объектов</value> + + 1 + + String + + + + true + + + true + + ЗагрузитьАдресныйКлассификатор diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Help/ru.html b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Help/ru.html deleted file mode 100644 index 4106d5002..000000000 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Help/ru.html +++ /dev/null @@ -1,2 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16476"></meta></head><body> -<p>На форме выводится сводная информация об имеющихся в системе адресных сведениях, а также доступны основные операции по управлению ими: загрузка, очистка и проверка обновлений через Интернет.</p></body></html> \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Module.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Module.bsl index 1ca5b6eb0..98275d924 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Module.bsl +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/АдресныйКлассификатор/Module.bsl @@ -4,24 +4,25 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; Данные = ЗагруженныеРегионы(); - Элементы.СостояниеРегистра.Заголовок = Данные.Заголовок; - Элементы.ПроверитьОбновление.Доступность = Данные.КоличествоЗагруженных>0; - Элементы.Очистить.Доступность = Элементы.ПроверитьОбновление.Доступность; + ОписаниеЗагруженныхОбъектов = Данные.Заголовок; + Элементы.ПроверитьОбновлениеАдресногоКлассификатора.Доступность = Данные.КоличествоЗагруженных>0; + Элементы.ОчиститьАдресныйКлассификатор.Доступность = Элементы.ПроверитьОбновлениеАдресногоКлассификатора.Доступность; + КонецПроцедуры &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) - Если ИмяСобытия = "Запись_АдресныйКлассификатор" Тогда + Если ИмяСобытия = "ЗагруженАдресныйКлассификатор" Или ИмяСобытия = "ОчищенАдресныйКлассификатор" Тогда Данные = ЗагруженныеРегионы(); - Элементы.СостояниеРегистра.Заголовок = Данные.Заголовок; - Элементы.ПроверитьОбновление.Доступность = Данные.КоличествоЗагруженных>0; - Элементы.Очистить.Доступность = Элементы.ПроверитьОбновление.Доступность; + ОписаниеЗагруженныхОбъектов = Данные.Заголовок; + Элементы.ПроверитьОбновлениеАдресногоКлассификатора.Доступность = Данные.КоличествоЗагруженных > 0; + Элементы.ОчиститьАдресныйКлассификатор.Доступность = Элементы.ПроверитьОбновлениеАдресногоКлассификатора.Доступность; КонецЕсли; КонецПроцедуры @@ -32,12 +33,16 @@ &НаКлиенте Процедура ЗагрузитьАдресныйКлассификатор(Команда) + АдресныйКлассификаторКлиент.ЗагрузитьАдресныйКлассификатор(); + КонецПроцедуры &НаКлиенте Процедура ОчиститьАдресныйКлассификатор(Команда) + АдресныйКлассификаторКлиент.ОчиститьКлассификатор(ЭтотОбъект); + КонецПроцедуры &НаКлиенте @@ -55,13 +60,12 @@ Функция ЗагруженныеРегионы() Результат = Новый Структура("Заголовок, КоличествоЗагруженных", - НСтр("ru = 'Адресный классификатор не заполнен.'"), - АдресныйКлассификатор.ЧислоЗаполненныхАдресныхОбъектов()); + НСтр("ru = 'Адресный классификатор не заполнен.'"), АдресныйКлассификатор.ЧислоЗаполненныхАдресныхОбъектов()); - Если Результат.КоличествоЗагруженных>0 Тогда + Если Результат.КоличествоЗагруженных > 0 Тогда Результат.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Загружено регионов: %1.'"), - Результат.КоличествоЗагруженных); + НСтр("ru = 'Загружено регионов: %1.'"), Результат.КоличествоЗагруженных); + КонецЕсли; Возврат Результат; diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Form.form b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Form.form index f57c9886f..4a22671ac 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Form.form +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Form.form @@ -1,54 +1,53 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> + <title> + <key>ru</key> + <value>Загрузка адресного классификатора</value> + - СтраницыФормы - 42 + ШагиЗагрузки + 59 - СтраницаВыборАдресныхОбъектов - 43 + ВыборРегионовЗагрузки + 61 - ТаблицаАдресныхОбъектов - 4 + СубъектыРФ + 1 true true true - АдресныеОбъектыДляЗагрузки + СубъектыРФ - false None Add Change Copy - CopyToClipboard Delete EndEdit MoveDown MoveUp - OutputList SelectAll - SortListAsc - SortListDesc - Пометка - 34 - - <key>ru</key> - <value>Пометка</value> - + СубъектыРФЗагружать + 20 true true true - АдресныеОбъектыДляЗагрузки.Пометка + СубъектыРФ.Загружать + + OnChange + СубъектыРФЗагружатьПриИзменении + - ПометкаExtendedTooltip - 82 + СубъектыРФЗагружатьРасширеннаяПодсказка + 22 Label true true @@ -57,35 +56,31 @@ - ПометкаКонтекстноеМеню - 35 + СубъектыРФЗагружатьКонтекстноеМеню + 21 true CheckBoxField - Enter + Auto true Left true - НаименованиеАдресногоОбъекта - 12 - - <key>ru</key> - <value>Все адресные объекты</value> - + СубъектыРФПредставление + 17 true true true - АдресныеОбъектыДляЗагрузки.НаименованиеАдресногоОбъекта + СубъектыРФ.Представление - НаименованиеАдресногоОбъектаExtendedTooltip - 83 + СубъектыРФПредставлениеРасширеннаяПодсказка + 19 Label true true @@ -94,43 +89,36 @@ - НаименованиеАдресногоОбъектаКонтекстноеМеню - 13 + СубъектыРФПредставлениеКонтекстноеМеню + 18 true - InputField - true - Enter + LabelField + Left + Auto true Left true - + Left + true true - true - true - - Style.BorderColor - - Normal - Top - ТаблицаАдресныхОбъектовКоманднаяПанель - 6 + СубъектыРФКоманднаяПанель + 3 - ВыделитьВсе - 37 + СубъектыРФУстановитьФлажки + 47 true true true - false - ВыделитьВсеExtendedTooltip - 77 + СубъектыРФУстановитьФлажкиРасширеннаяПодсказка + 48 Label true true @@ -138,35 +126,7 @@ Left - Form.Command.ВыбратьВсе - Normal - Picture - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ОтменитьВыделитьВсе - 38 - true - true - - true - - false - - ОтменитьВыделитьВсеExtendedTooltip - 78 - Label - true - true - - Left - - - Form.Command.СнятьОтметкуСоВсех + Form.Command.УстановитьФлажки Normal Auto true @@ -175,17 +135,16 @@ Auto - Найти - 39 + СубъектыРФСнятьФлажки + 49 true true true - false - НайтиExtendedTooltip - 79 + СубъектыРФСнятьФлажкиРасширеннаяПодсказка + 50 Label true true @@ -193,7 +152,7 @@ Left - Form.Item.ТаблицаАдресныхОбъектов.StandardCommand.Find + Form.Command.СнятьФлажки Normal Auto true @@ -202,17 +161,16 @@ Auto - ОтменитьПоиск - 40 + СубъектыРФНайти + 43 true true true - false - ОтменитьПоискExtendedTooltip - 80 + СубъектыРФНайтиРасширеннаяПодсказка + 44 Label true true @@ -220,7 +178,33 @@ Left - Form.Item.ТаблицаАдресныхОбъектов.StandardCommand.CancelSearch + Form.Item.СубъектыРФ.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + СубъектыРФОтменитьПоиск + 45 + true + true + + true + + + СубъектыРФОтменитьПоискРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + Form.Item.СубъектыРФ.StandardCommand.CancelSearch Normal Auto true @@ -230,20 +214,16 @@ Left - - OnEditEnd - ТаблицаАдресныхОбъектовПриОкончанииРедактирования - Selection - ТаблицаАдресныхОбъектовВыбор + СубъектыРФВыбор - ТаблицаАдресныхОбъектовСтрокаПоиска - 125 + СубъектыРФСтрокаПоиска + 116 - ТаблицаАдресныхОбъектовСтрокаПоискаРасширеннаяПодсказка - 127 + СубъектыРФСтрокаПоискаРасширеннаяПодсказка + 118 Label true true @@ -252,21 +232,21 @@ - ТаблицаАдресныхОбъектовСтрокаПоискаКонтекстноеМеню - 126 + СубъектыРФСтрокаПоискаКонтекстноеМеню + 117 true - ТаблицаАдресныхОбъектов + СубъектыРФ true - ТаблицаАдресныхОбъектовСостояниеПросмотра - 128 + СубъектыРФСостояниеПросмотра + 119 - ТаблицаАдресныхОбъектовСостояниеПросмотраРасширеннаяПодсказка - 130 + СубъектыРФСостояниеПросмотраРасширеннаяПодсказка + 121 Label true true @@ -275,22 +255,22 @@ - ТаблицаАдресныхОбъектовСостояниеПросмотраКонтекстноеМеню - 129 + СубъектыРФСостояниеПросмотраКонтекстноеМеню + 120 true ViewStatusAddition - ТаблицаАдресныхОбъектов + СубъектыРФ true - ТаблицаАдресныхОбъектовУправлениеПоиском - 131 + СубъектыРФУправлениеПоиском + 122 - ТаблицаАдресныхОбъектовУправлениеПоискомРасширеннаяПодсказка - 133 + СубъектыРФУправлениеПоискомРасширеннаяПодсказка + 124 Label true true @@ -299,19 +279,19 @@ - ТаблицаАдресныхОбъектовУправлениеПоискомКонтекстноеМеню - 132 + СубъектыРФУправлениеПоискомКонтекстноеМеню + 123 true SearchControlAddition - ТаблицаАдресныхОбъектов + СубъектыРФ true - ТаблицаАдресныхОбъектовExtendedTooltip - 81 + СубъектыРФРасширеннаяПодсказка + 4 Label true true @@ -320,16 +300,15 @@ - ТаблицаАдресныхОбъектовКонтекстноеМеню - 5 + СубъектыРФКонтекстноеМеню + 2 true - true + Tree true true true MultiRow - Row 1 1 AutoUse @@ -344,29 +323,342 @@ Auto true true - - Style.BorderColor - + true + true + + СубъектыРФ.Загружено + None None None true - - ВыбраноРегионовДляЗагрузки - 67 + + ГруппаКомандЗагрузки + 8 + + ВыбраноРегионовДляЗагрузки + 51 + true + true + + true + + + ВыбраноРегионовДляЗагрузки + + + ВыбраноРегионовДляЗагрузкиРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + + ВыбраноРегионовДляЗагрузкиКонтекстноеМеню + 52 + true + + LabelField + Left + Enter + true + Left + true + + 2 + true + true + false + + ru + ЧН=- + + + + + ГруппаОтображенияАдресаЗагрузки + 34 + + ВидимыйАдресЗагрузки + 36 + + ВидимоеПредставлениеИсточникаЗагрузки + 31 + true + true + + true + + + ПредставлениеИсточникаЗагрузки + + None + + ВидимоеПредставлениеИсточникаЗагрузкиРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + ВидимоеПредставлениеИсточникаЗагрузкиКонтекстноеМеню + 32 + true + + LabelField + Right + Enter + true + Left + true + + + URLProcessing + ПредставлениеИсточникаЗагрузкиОбработкаНавигационнойСсылки + + 15 + true + 1 + true + false + false + + + + АдресЗагрузки + 28 + true + true + + true + + + АдресЗагрузки + + None + + АдресЗагрузкиРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + + АдресЗагрузкиКонтекстноеМеню + 29 + true + + InputField + Enter + true + Left + true + + + StartChoice + АдресЗагрузкиНачалоВыбора + + true + true + true + true + true + ShowInInputField + + StdPicture.OpenFile + + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Видимый адрес загрузки</value> + + + ru + Видимый адрес загрузки + + + ВидимыйАдресЗагрузкиРасширеннаяПодсказка + 37 + Label + true + true + + Left + + + Page + + auto + + + + НевидимыйАдресЗагрузки + 38 + + НевидимоеПредставлениеИсточникаЗагрузки + 40 + true + true + + true + + + ПредставлениеИсточникаЗагрузки + + None + + НевидимоеПредставлениеИсточникаЗагрузкиРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + НевидимоеПредставлениеИсточникаЗагрузкиКонтекстноеМеню + 41 + true + + LabelField + Enter + true + Left + true + + + URLProcessing + ПредставлениеИсточникаЗагрузкиОбработкаНавигационнойСсылки + + 15 + true + true + + + true + true + + true + + + <key>ru</key> + <value>Невидимый адрес загрузки</value> + + + ru + Невидимый адрес загрузки + + + НевидимыйАдресЗагрузкиРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + Page + + auto + + + true + true + + true + + + <key>ru</key> + <value>Группа отображения адреса загрузки</value> + + + ru + Группа отображения адреса загрузки + + 1 + false + + ГруппаОтображенияАдресаЗагрузкиРасширеннаяПодсказка + 35 + Label + true + true + + Left + + + Pages + + Auto + + + + Загрузить + 10 + true + true + + true + + + ЗагрузитьРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + UsualButton + Form.Command.Загрузить + Auto + true + true + true + UserCmds + Auto + true true true - - ВыбраноРегионовДляЗагрузки - + + <key>ru</key> + <value>Группа команд загрузки</value> + + + ru + Группа команд загрузки + + true - ВыбраноРегионовДляЗагрузкиExtendedTooltip - 84 + ГруппаКомандЗагрузкиРасширеннаяПодсказка + 9 Label true true @@ -374,32 +666,14 @@ Left - - ВыбраноРегионовДляЗагрузкиКонтекстноеМеню - 68 - true - - LabelField - Left - Enter - true - Left - true - - true - 1 - true - - ru - ЧН=- - - - System.DefaultGUIFont - true - false - false - false - + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto true @@ -409,11 +683,15 @@ <key>ru</key> - <value>Выбор адресных объектов</value> + <value>Выбор регионов загрузки</value> + + ru + Выбор регионов загрузки + - СтраницаВыборАдресныхОбъектовExtendedTooltip - 76 + ВыборРегионовЗагрузкиРасширеннаяПодсказка + 62 Label true true @@ -428,30 +706,22 @@ - СтраницаВыборИсточника - 44 + ОжиданиеЗагрузки + 63 - ВыборСпособаЗагрузки - 20 - - СпособЗагрузки - 21 + ГруппаОписание + 65 + + КартинкаДлительнаяОперация + 67 true true true - - ИсточникДанныхДляЗагрузки - - None - - OnChange - СпособЗагрузкиПриИзменении - - СпособЗагрузкиExtendedTooltip - 87 + КартинкаДлительнаяОперацияРасширеннаяПодсказка + 69 Label true true @@ -460,46 +730,63 @@ - СпособЗагрузкиКонтекстноеМеню - 22 + КартинкаДлительнаяОперацияКонтекстноеМеню + 68 true - RadioButtonField + 10 + true + 4 + true + false + false + + + CommonPicture.ДлительнаяОперация48 + + + + + ТекстОписанияЗагрузки + 73 + true + true + + true + + + ТекстОписанияЗагрузки + + None + ShowBottom + + ТекстОписанияЗагрузкиРасширеннаяПодсказка + 75 + + <key>ru</key> + <value>Загрузка адресного классификатора может занять длительное время, +которое зависит от количества выбранных регионов РФ.</value> + + Label + true + true + + Left + + + + ТекстОписанияЗагрузкиКонтекстноеМеню + 74 + true + + LabelField Enter true Left true - - 1 - - - ru - С сайта поддержки пользователей 1С:Предприятия фирмы "1С" -(требуется доступ в Интернет и регистрация на сайте) - - - 1 - - - - - ru - У меня есть диск информационно-технологического сопровождения (1С:ИТС) - - - 2 - - - - - ru - У меня есть файлы адресного классификатора - - - 3 - - - Vertical + + true + true true @@ -509,15 +796,205 @@ <key>ru</key> - <value>Выбор способа загрузки</value> + <value>Группа описание</value> ru - Выбор способа загрузки + Группа описание - ВыборСпособаЗагрузкиExtendedTooltip - 86 + ГруппаОписаниеРасширеннаяПодсказка + 66 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаКомандОтмены + 76 + + Декорация2 + 80 + true + true + + true + + + Декорация2РасширеннаяПодсказка + 82 + Label + true + true + + Left + + + + Декорация2КонтекстноеМеню + 81 + true + + Label + true + true + true + + Left + + + + ТекстСостоянияЗагрузки + 88 + true + true + + true + + + ТекстСостоянияЗагрузки + + None + + ТекстСостоянияЗагрузкиРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + + ТекстСостоянияЗагрузкиКонтекстноеМеню + 89 + true + + LabelField + Enter + true + Left + true + + true + true + + + + Группа1 + 83 + + Декорация3 + 85 + true + true + + true + + + Декорация3РасширеннаяПодсказка + 87 + Label + true + true + + Left + + + + Декорация3КонтекстноеМеню + 86 + true + + Label + true + true + true + + Left + + + + ПрерватьЗагрузку + 78 + true + true + + true + + + ПрерватьЗагрузкуРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + UsualButton + Form.Command.ПрерватьЗагрузку + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа1РасширеннаяПодсказка + 84 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа команд отмены</value> + + + ru + Группа команд отмены + + true + true + + ГруппаКомандОтменыРасширеннаяПодсказка + 77 Label true true @@ -529,271 +1006,13 @@ Vertical Auto + NormalSeparation true true Auto Auto - - СтраницыСпособаЗагрузки - 23 - - ПустаяСтраница - 31 - - Пусто1 - 65 - true - true - - true - - - Пусто1ExtendedTooltip - 90 - Label - true - true - - Left - - - - Пусто1КонтекстноеМеню - 66 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Пустая страница</value> - - - ru - Пустая страница - - - ПустаяСтраницаExtendedTooltip - 89 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаЗагрузкаСДискаИТС - 25 - - ДискИТС - 27 - true - true - - true - - - ДискИТС - - - ru - Путь к файлам диска ИТС - - - ДискИТСExtendedTooltip - 92 - Label - true - true - - Left - - - - ДискИТСКонтекстноеМеню - 28 - true - - InputField - Enter - true - Left - true - - - StartChoice - ДискИТСНачалоВыбора - - 39 - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница загрузка с диска 1С:ИТС</value> - - - ru - Страница загрузка с диска 1С:ИТС - - - СтраницаЗагрузкаСДискаИТСExtendedTooltip - 91 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаЗагрузкаФайлов - 26 - - ПутьКФайламДанныхНаДиске - 29 - true - true - - true - - - ПутьКФайламДанныхНаДиске - - - ru - Путь к файлам адресного классификатора, полученных из другого источника - - - ПутьКФайламДанныхНаДискеExtendedTooltip - 94 - Label - true - true - - Left - - - - ПутьКФайламДанныхНаДискеКонтекстноеМеню - 30 - true - - InputField - Enter - true - Left - true - - - StartChoice - ПутьКФайламДанныхНаДискеНачалоВыбора - - 30 - true - true - false - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Страница загрузка файлов</value> - - - ru - Страница загрузка файлов - - - СтраницаЗагрузкаФайловExtendedTooltip - 93 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы способа загрузки</value> - - - ru - Страницы способа загрузки - - - СтраницыСпособаЗагрузкиExtendedTooltip - 88 - Label - true - true - - Left - - - Pages - - Auto - - true true @@ -801,11 +1020,15 @@ <key>ru</key> - <value>Выбор источника</value> + <value>Ожидание загрузки</value> + + ru + Ожидание загрузки + - СтраницаВыборИсточникаExtendedTooltip - 85 + ОжиданиеЗагрузкиРасширеннаяПодсказка + 64 Label true true @@ -816,148 +1039,69 @@ Page Vertical + auto - СтраницаЗагрузка - 45 - - ВыбраноРегионовДляЗагрузки1 - 69 - true - true - - true - - - ВыбраноРегионовДляЗагрузки - - - ВыбраноРегионовДляЗагрузки1ExtendedTooltip - 96 - Label - true - true - - Left - - - - ВыбраноРегионовДляЗагрузки1КонтекстноеМеню - 70 - true - - LabelField - true - Left - Enter - true - Left - true - - true - true - - ru - ЧН=- - - - System.DefaultGUIFont - true - false - false - false - - - - - ТекстСообщенияОЗагрузке - 46 - - <key>ru</key> - <value>Внимание: загрузка адресного классификатора может занять длительное время, которое зависит от количества выбранных регионов РФ.</value> - - true - true - - true - - - ТекстСообщенияОЗагрузкеExtendedTooltip - 97 - Label - true - true - - Left - - - - ТекстСообщенияОЗагрузкеКонтекстноеМеню - 47 - true - - Label - true - 3 - true - false - - Left - Top - - + УспешноеЗавершение + 91 - СтраницыЗагрузки - 50 - - ГруппаПустаяГруппа - 51 - - Пусто - 63 - true - true - - true - - - ПустоExtendedTooltip - 101 - Label - true - true - - Left - - - - ПустоКонтекстноеМеню - 64 - true - + ГруппаОписаниеЗавершения + 93 + + КартинкаУспешноеЗавершение + 95 + + <key>ru</key> + <value>Длительная операция</value> + + true + true + + true + + + КартинкаУспешноеЗавершениеРасширеннаяПодсказка + 97 Label true true Left - + + + КартинкаУспешноеЗавершениеКонтекстноеМеню + 96 + true + + 10 + true + 2 + true + false + false + + + CommonPicture.Успешно32 + + + + + ТекстОписанияЗагрузкиЗавершения + 98 true true true - - <key>ru</key> - <value>Группа пустая группа</value> - - - ru - Группа пустая группа - + + ТекстОписанияЗагрузки + + None + ShowBottom - ГруппаПустаяГруппаExtendedTooltip + ТекстОписанияЗагрузкиЗавершенияРасширеннаяПодсказка 100 Label true @@ -966,317 +1110,13 @@ Left - Page - - Vertical - - - - СтраницаСтатусЗагрузки - 52 - - ГруппаИндикатора - 62 - - ДлительнаяОперация - 60 - - <key>ru</key> - <value>Длительная операция</value> - - true - true - - true - - - ДлительнаяОперацияExtendedTooltip - 104 - Label - true - true - - Left - - - - ДлительнаяОперацияКонтекстноеМеню - 61 - true - - 6 - true - 3 - true - - - CommonPicture.ДлительнаяОперация48 - - - - - СтатусЗагрузки - 55 - true - true - - true - - - СтатусЗагрузки - - None - - СтатусЗагрузкиExtendedTooltip - 105 - Label - true - true - - Left - - - - СтатусЗагрузкиКонтекстноеМеню - 56 - true - - LabelField - Enter - true - Left - true - - true - true - true - - - true - true - - true - - - <key>ru</key> - <value>Группа индикатора</value> - - - ru - Группа индикатора - - false - - ГруппаИндикатораExtendedTooltip - 103 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - true - true - - true - - - <key>ru</key> - <value>Страница статус загрузки</value> - - - ru - Страница статус загрузки - - - СтраницаСтатусЗагрузкиExtendedTooltip - 102 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Страницы загрузки</value> - - - ru - Страницы загрузки - - - СтраницыЗагрузкиExtendedTooltip - 99 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - - - <key>ru</key> - <value>Страница загрузка</value> - - 50 - - СтраницаЗагрузкаExtendedTooltip - 95 - Label - true - true - - Left - - - Page - - Vertical - - - - СтраницаУспех - 112 - - КартинкаУспех - 120 - - <key>ru</key> - <value>Картинка успех</value> - - true - true - - true - - - КартинкаУспехРасширеннаяПодсказка - 122 - Label - true - true - - Left - - - - КартинкаУспехКонтекстноеМеню - 121 - true - - 4 - true - 2 - true - - - CommonPicture.Успешно32 - - - - - ГруппаУспех - 123 - - ДекорацияУспех - 114 - - <key>ru</key> - <value>Адресный классификатор успешно загружен в программу.</value> - - true - true - - true - - - ДекорацияУспехРасширеннаяПодсказка - 116 - Label - true - true - - Left - - - ДекорацияУспехКонтекстноеМеню - 115 - true - - Label - true - true - - Left - - - - ВыбраноРегионовДляЗагрузки2 - 117 - - <key>ru</key> - <value>Загружены сведения о регионах</value> - - true - true - - true - - - ВыбраноРегионовДляЗагрузки - - - ВыбраноРегионовДляЗагрузки2РасширеннаяПодсказка - 119 - Label - true - true - - Left - - - - ВыбраноРегионовДляЗагрузки2КонтекстноеМеню - 118 + ТекстОписанияЗагрузкиЗавершенияКонтекстноеМеню + 99 true LabelField true - Left Enter true Left @@ -1284,17 +1124,6 @@ true true - - ru - ЧН=- - - - System.DefaultGUIFont - true - false - false - false - true @@ -1304,11 +1133,168 @@ <key>ru</key> - <value>Группа успех</value> + <value>Группа описание</value> + + ru + Группа описание + - ГруппаУспехРасширеннаяПодсказка - 124 + ГруппаОписаниеЗавершенияРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаКомандЗавершения + 101 + + Декорация4 + 103 + true + true + + true + + + Декорация4РасширеннаяПодсказка + 105 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 104 + true + + Label + true + true + true + + Left + + + + Группа2 + 109 + + Декорация5 + 111 + true + true + + true + + + Декорация5РасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 112 + true + + Label + true + true + true + + Left + + + + Закрыть + 114 + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 115 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Close + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа2РасширеннаяПодсказка + 110 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа команд завершения</value> + + + ru + Группа команд отмены + + true + true + + ГруппаКомандЗавершенияРасширеннаяПодсказка + 102 Label true true @@ -1320,6 +1306,7 @@ Vertical Auto + NormalSeparation true true Auto @@ -1333,11 +1320,15 @@ <key>ru</key> - <value>Страница успех</value> + <value>Успешное завершение</value> + + ru + Успешное завершение + - СтраницаУспехРасширеннаяПодсказка - 113 + УспешноеЗавершениеРасширеннаяПодсказка + 92 Label true true @@ -1346,7 +1337,10 @@ Page - + + Vertical + auto + true true @@ -1355,16 +1349,15 @@ <key>ru</key> - <value>Страницы формы</value> + <value>Шаги загрузки</value> ru - Страницы формы + Шаги загрузки - true - СтраницыФормыExtendedTooltip - 75 + ШагиЗагрузкиРасширеннаяПодсказка + 60 Label true true @@ -1377,247 +1370,23 @@ Auto - - КоманднаяПанель - 106 - - ГруппаПомощникаНазад - 108 - - Назад - 41 - true - true - - true - - false - - НазадExtendedTooltip - 71 - Label - true - true - - Left - - - Form.Command.КомандаНазад - Normal - Auto - true - true - UserCmds - None - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа помощника назад</value> - - - ru - Группа помощника назад - - - ГруппаПомощникаНазадРасширеннаяПодсказка - 109 - Label - true - true - - Left - - - CommandBar - - Left - - - - ГруппаПомощникаДалее - 110 - - Далее - 18 - true - true - - true - - false - - ДалееExtendedTooltip - 72 - Label - true - true - - Left - - - Form.Command.КомандаДалее - Auto - true - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - None - Auto - - - Отмена - 17 - - <key>ru</key> - <value>Отмена</value> - - true - true - - true - - false - - ОтменаExtendedTooltip - 73 - Label - true - true - - Left - - - Form.StandardCommand.Cancel - Normal - Auto - true - true - UserCmds - - Style.ButtonTextColor - - - Style.ButtonBackColor - - - Style.BorderColor - - None - Auto - - - Справка - 19 - true - true - - true - - false - - СправкаExtendedTooltip - 74 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Группа помощника далее</value> - - - ru - Группа помощника далее - - - ГруппаПомощникаДалееРасширеннаяПодсказка - 111 - Label - true - true - - Left - - - CommandBar - - Right - - - true - true - - true - - - <key>ru</key> - <value>Командная панель</value> - - - ru - Командная панель - - - КоманднаяПанельРасширеннаяПодсказка - 107 - Label - true - true - - Left - - - UsualGroup - - Auto - true - true - Auto - Auto - - - Bottom - true ФормаКоманднаяПанель -1 - Right + Left OnOpen ПриОткрытии + + BeforeClose + ПередЗакрытием + + + OnLoadDataFromSettingsAtServer + ПриЗагрузкеДанныхИзНастроекНаСервере + OnCreateAtServer ПриСозданииНаСервере @@ -1626,24 +1395,23 @@ OnClose ПриЗакрытии - 52 - 14 + 10 LockOwner + Use + UseList true - true true Vertical true true true - UseIfNecessary auto true - АдресныеОбъектыДляЗагрузки + СубъектыРФ <key>ru</key> - <value>Адресные объекты для загрузки</value> + <value>Субъекты РФ</value> 1 @@ -1656,14 +1424,17 @@ true - Пометка + КодСубъектаРФ <key>ru</key> - <value>Пометка</value> + <value>Код субъекта РФ</value> 1 - Boolean + Number + + 2 + true @@ -1673,10 +1444,10 @@ - НаименованиеАдресногоОбъекта + Представление <key>ru</key> - <value>Наименование адресного объекта</value> + <value>Субъект РФ</value> 2 @@ -1690,20 +1461,72 @@ true + + Загружено + + <key>ru</key> + <value>Загружено</value> + + 3 + + Boolean + + + true + + + true + + + + Загружать + + <key>ru</key> + <value>Загружать</value> + + 4 + + Boolean + + + true + + + true + + - ИсточникДанныхДляЗагрузки + КодИсточникаЗагрузки <key>ru</key> - <value>Источник данных для загрузки</value> + <value>Код источника загрузки</value> + + 2 + + String + + + + true + + + true + + + КодИсточникаЗагрузки + + + + АдресЗагрузки + + <key>ru</key> + <value>Адрес загрузки</value> 3 - Number - - 1 - true - + String + true @@ -1711,68 +1534,17 @@ true + + АдресЗагрузки + - ПутьКФайламДанныхНаДиске + ДоступныеИсточникиЗагрузки <key>ru</key> - <value>Путь к файлам данных на диске</value> + <value>Доступные источники загрузки</value> 4 - - String - - - - true - - - true - - - - ДискИТС - - <key>ru</key> - <value>Путь к диску 1С:ИТС</value> - - 5 - - String - - - - true - - - true - - - - СтатусЗагрузки - - <key>ru</key> - <value>Статус загрузки</value> - - 6 - - String - - - - true - - - true - - - - ОбязательныеАдресныеОбъекты - - <key>ru</key> - <value>Обязательные адресные объекты</value> - - 8 ValueList @@ -1787,15 +1559,14 @@ - АдресХранилища + ПредставлениеИсточникаЗагрузки <key>ru</key> - <value>Адрес хранилища</value> + <value>Представление источника загрузки</value> - 9 + 5 - String - + FormattedString true @@ -1804,47 +1575,17 @@ true - - ИдентификаторЗадания - - <key>ru</key> - <value>Идентификатор задания</value> - - 10 - - - true - - - true - - - - ПараметрыОбработчикаОжидания - - <key>ru</key> - <value>Параметры обработчика ожидания</value> - - 11 - - - true - - - true - - ВыбраноРегионовДляЗагрузки <key>ru</key> - <value>Выбрано регионов для загрузки</value> + <value>Регионов</value> - 7 + 6 Number - 3 + 2 @@ -1855,12 +1596,12 @@ - ПутьКДаннымНаСервере + ТекстОписанияЗагрузки <key>ru</key> - <value>Путь к данным на сервере</value> + <value>Текст описания загрузки</value> - 12 + 7 String @@ -1873,14 +1614,15 @@ - ЭтоLinuxКлиент + ТекстСостоянияЗагрузки <key>ru</key> - <value>Это linux клиент</value> + <value>Текст состояния загрузки</value> - 2 + 8 - Boolean + String + true @@ -1889,38 +1631,49 @@ true + + ПараметрыДлительнойОперации + 10 + + + true + + + true + + - КомандаДалее + Загрузить <key>ru</key> - <value>Далее ></value> + <value>Загрузить</value> - 5 + 2 ru - Далее + Загрузить true - КомандаДалее + Загрузить Auto Auto - ВыбратьВсе + УстановитьФлажки <key>ru</key> - <value>Выбрать все</value> + <value>Установить флажки</value> - 1 + 3 ru - Выбрать все регионы для загрузки. + Выбрать все регионы для загрузки true @@ -1930,22 +1683,22 @@ - ВыбратьВсе + УстановитьФлажки Auto Auto - СнятьОтметкуСоВсех + СнятьФлажки <key>ru</key> - <value>Снять отметку со всех</value> + <value>Снять флажки</value> - 2 + 4 ru - Отменить выбор всех регионов для загрузки. + Очистить пометку для загрузки у всех регионов true @@ -1955,29 +1708,29 @@ - СнятьОтметкуСоВсех + СнятьФлажки Auto Auto - КомандаНазад + ПрерватьЗагрузку <key>ru</key> - <value>< Назад </value> + <value>Прервать</value> - 3 + 5 ru - Назад + Прервать загрузку true - КомандаНазад + ПрерватьЗагрузку Auto diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Help/ru.html b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Help/ru.html deleted file mode 100644 index a0ff02e0e..000000000 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Help/ru.html +++ /dev/null @@ -1,6 +0,0 @@ - -

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

                                          -

                                          Затем выберите один из трех вариантов, откуда будут загружаться адресные сведения: с сайта поддержки пользователей 1С:Предприятия фирмы "1С", с диска информационно-технологического сопровождения (1С:ИТС), или из файлов, полученных каким-либо способом от ГНИВЦ ФНС РФ.

                                          -

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

                                          -

                                          В случае если выбран вариант загрузки с диска 1С:ИТС, необходимо указать локальный или сетевой путь, по которому располагается диск 1С:ИТС.

                                          -

                                          В последнем варианте необходимо самостоятельно загрузить файлы адресного классификатора с сайта ГНИВЦ ФНС РФ, распаковать их в каталог на своем компьютере и указать путь к этому каталогу.

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Module.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Module.bsl index db75d328b..bd3c05aae 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Module.bsl +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ЗагрузкаАдресногоКлассификатора/Module.bsl @@ -1,33 +1,122 @@ +// Форма параметризуется. Необязательные параметры: +// КодРегионаДляЗагрузки - Число, Строка, Массив - Код субъекта РФ (или их массив), загрузка которого предлагается. +// НазваниеРегионаДляЗагрузки - Строка - Название субъекта РФ, загрузка которого предлагается. +// +// Если указан хоть один из параметров, то предлагаемый регион будет отмечен для загрузки и выделен как текущий +// + +// Флаг подтверждения, используется при закрытии +&НаКлиенте +Перем ПодтверждениеЗакрытияФормы; + +// Хранилище передаваемых файлов +&НаКлиенте +Перем ПомещенныеФайлы; + +// Параметры загрузки для передачи между клиентскими вызовами +&НаКлиенте +Перем ПараметрыФоновойЗагрузкиКлассификатора; #Область ОбработчикиСобытийФормы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; - АдресныеОбъектыПереданные = ?(Параметры.Свойство("АдресныеОбъекты"), Параметры.АдресныеОбъекты, Неопределено); + // Источник по умолчанию, может быть переопределен при восстановлении параметров + КодИсточникаЗагрузки = КодИсточникаЗагрузкиПоУмолчанию(); - ЗаполнитьТаблицуАдресныхОбъектов(АдресныеОбъектыПереданные); + ПараметрыДлительнойОперации = Новый Структура("ИнтервалОжидания, Завершено, АдресРезультата, Идентификатор, Ошибка", 5); - ИсточникДанныхДляЗагрузки = 0; - ПутьКФайламДанныхНаДиске = ""; - ДискИТС = ""; + ДоступныеИсточникиЗагрузки.Очистить(); - Если АдресныеОбъектыПереданные = Неопределено Тогда - ЗагрузитьСохраненныеПараметрыЗагрузки(); - Иначе - ИсточникДанныхДляЗагрузки = 1; + ДоступныеИсточникиЗагрузки.Добавить("КАТАЛОГ", НСтр("ru = 'Из каталога на диске'") ); + + // ИТС поставляет файлы в виде самораспаковывающихся exe, на linux недоступно. + Если АдресныйКлассификаторКлиентСервер.ЭтоWindowsКлиент() Тогда + ДоступныеИсточникиЗагрузки.Добавить("ИТС", НСтр("ru = 'С диска 1С:ИТС'") ); КонецЕсли; - ЭтоLinuxКлиент = ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент(); - Если ЭтоLinuxКлиент Тогда - // Запрещаем загрузку с ИТС, так как там поставляются *.exe - самораспаковывающийся RAR, - // Запускать распаковку можно только на клиенте. - СписокВыбора = Элементы.СпособЗагрузки.СписокВыбора; - СписокВыбора.Удалить(СписокВыбора.НайтиПоЗначению(2)); + ДоступныеИсточникиЗагрузки.Добавить("САЙТ", НСтр("ru = 'С сайта поддержки пользователей 1С:Предприятия'") ); + + // Получаем уже загруженные регионы + ТаблицаРегионов = РегистрыСведений.АдресныйКлассификатор.СведенияОЗагрузкеСубъектовРФ(); + ТаблицаРегионов.Колонки.Добавить("Загружать", Новый ОписаниеТипов("Булево")); + ТаблицаРегионов.ЗагрузитьКолонку(ТаблицаРегионов.ВыгрузитьКолонку("Загружено"), "Загружать"); + + Для Каждого Регион Из ТаблицаРегионов Цикл + Регион.Представление = Формат(Регион.КодСубъектаРФ, "ЧЦ=2; ЧН=; ЧВН=; ЧГ=") + ", " + Регион.Представление; + КонецЦикла; + + // Добавляем пометку для загружаемого региона-параметра и ставим его текущей строкой + НазваниеРегионаДляЗагрузки = Неопределено; + ТекущийКодРегиона = Неопределено; + + Параметры.Свойство("КодРегионаДляЗагрузки", ТекущийКодРегиона); + + ТипТекущегоКодаРегиона = ТипЗнч(ТекущийКодРегиона); + ТипЧисло = Новый ОписаниеТипов("Число"); + + Если ТипТекущегоКодаРегиона = Тип("Массив") И ТекущийКодРегиона.Количество() > 0 Тогда + // Указан массив для загрузки + Для Каждого КодРегиона Из ТекущийКодРегиона Цикл + Кандидаты = СубъектыРФ.НайтиСтроки(Новый Структура("КодСубъектаРФ", ТипЧисло.ПривестиЗначение(КодРегиона) )); + Если Кандидаты.Количество() > 0 Тогда + Кандидаты[0].Загружать = Истина; + КонецЕсли; + КонецЦикла; + ТекущийКодРегиона = ТекущийКодРегиона[0]; + + ИначеЕсли ТипТекущегоКодаРегиона = Тип("Строка") Тогда + ТекущийКодРегиона = ТипЧисло.ПривестиЗначение(ТекущийКодРегиона); + + КонецЕсли; + + Если ТекущийКодРегиона = Неопределено И Параметры.Свойство("НазваниеРегионаДляЗагрузки", НазваниеРегионаДляЗагрузки) Тогда; + // Пытаемся установить по наименованию + ТекущийКодРегиона = РегистрыСведений.АдресныйКлассификатор.КодРегионаПоНаименованию(НазваниеРегионаДляЗагрузки); + КонецЕсли; + + ЗначениеВРеквизитФормы(ТаблицаРегионов, "СубъектыРФ"); + + Если ТекущийКодРегиона <> Неопределено Тогда + Кандидаты = СубъектыРФ.НайтиСтроки(Новый Структура("КодСубъектаРФ", ТекущийКодРегиона)); + Если Кандидаты.Количество() > 0 Тогда + ТекущаяСтрока = Кандидаты[0]; + ТекущаяСтрока.Загружать = Истина; + Элементы.СубъектыРФ.ТекущаяСтрока = ТекущаяСтрока.ПолучитьИдентификатор(); + КонецЕсли; + КонецЕсли; + + // Если не установили текущую строку по параметру, то пытаемся поставить ее на первый отмеченный + Если Элементы.СубъектыРФ.ТекущаяСтрока = Неопределено Тогда + Кандидаты = СубъектыРФ.НайтиСтроки(Новый Структура("Загружать", Истина)); + Если Кандидаты.Количество() > 0 Тогда + Элементы.СубъектыРФ.ТекущаяСтрока = Кандидаты[0].ПолучитьИдентификатор(); + КонецЕсли; + КонецЕсли; + + // Зависимости от интерфейса + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + Элементы.АдресЗагрузки.КартинкаКнопкиВыбора = Новый Картинка; + КонецЕсли; + + // Автосохранение настроек + СохраняемыеВНастройкахДанныеМодифицированы = Истина; +КонецПроцедуры + +&НаСервере +Процедура ПриЗагрузкеДанныхИзНастроекНаСервере(Настройки) + + // Контроль корректности кода источника данных для загрузки + КодИсточника = Настройки["КодИсточникаЗагрузки"]; + Если ДоступныеИсточникиЗагрузки.НайтиПоЗначению(КодИсточника) = Неопределено Тогда + Настройки.Удалить("КодИсточникаЗагрузки"); + Настройки.Удалить("АдресЗагрузки"); КонецЕсли; КонецПроцедуры @@ -36,116 +125,80 @@ Процедура ПриОткрытии(Отказ) #Если ВебКлиент Тогда + ПоказатьПредупреждение(, НСтр("ru='В веб-клиенте загрузка адресного классификатора не поддерживается.'")); Отказ = Истина; - ПоказатьПредупреждение(, НСтр("ru = 'Загрузка адресного классификатора не доступна в веб-клиенте.'")); Возврат; #КонецЕсли + + УстановитьНадписьИсточникаДанных(); + ОбновитьИнтерфейсПоКоличествуЗагружаемых(); + +КонецПроцедуры - УстановитьИзмененияВИнтерфейсе(); +&НаКлиенте +Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) + + // Проверяем клиентскую переменную + Если ПодтверждениеЗакрытияФормы<>Истина Тогда + Оповещение = Новый ОписаниеОповещения("ЗакрытиеФормыЗавершение", ЭтотОбъект); + Отказ = Истина; + + Текст = НСтр("ru = 'Прервать загрузку адресного классификатора?'"); + ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет); + КонецЕсли; + КонецПроцедуры &НаКлиенте Процедура ПриЗакрытии() - Если ИдентификаторЗадания<>Неопределено Тогда - ОтменитьПроцессЗагрузки(ИдентификаторЗадания); + + Если ПараметрыДлительнойОперации.Идентификатор <> Неопределено Тогда + ОтменитьФоновоеЗадание(ПараметрыДлительнойОперации.Идентификатор); КонецЕсли; + КонецПроцедуры #КонецОбласти -#Область ОбработчикиСобытийЭлементовШапкиФормы +#Область ОбработчикиСобытийЭлементовФормы -// Обработчик события НачалоВыбора поля ввода формы ПутьКФайламДанныхНаДиске. -// Вызывает диалог выбора директории, после выбора проверяет, существуют -// ли в выбранной директории файлы данных. -// &НаКлиенте -Процедура ПутьКФайламДанныхНаДискеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) +Процедура СубъектыРФВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; -#Если Не ВебКлиент Тогда - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выбор каталога с файлами адресных сведений'"); - ДиалогОткрытияФайла.Каталог = Элементы.ПутьКФайламДанныхНаДиске.ТекстРедактирования; - - Если ДиалогОткрытияФайла.Выбрать() Тогда - ПутьКФайламДанныхНаДиске = ДиалогОткрытияФайла.Каталог; - - ОчиститьСообщения(); - - Если АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловДанныхВКаталоге(ПутьКФайламДанныхНаДиске) Тогда - УстановитьИзмененияВИнтерфейсе (); - Иначе - СообщениеПользователю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Файлы адресных сведений не найдены в каталоге ""%1"".'"), - ПутьКФайламДанныхНаДиске); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю, , "ПутьКФайламДанныхНаДиске"); - КонецЕсли; + Если Поле = Элементы.СубъектыРФПредставление Тогда + ТекущиеДанные = СубъектыРФ.НайтиПоИдентификатору(ВыбраннаяСтрока); + Если ТекущиеДанные <> Неопределено Тогда + ТекущиеДанные.Загружать = Не ТекущиеДанные.Загружать; + ОбновитьИнтерфейсПоКоличествуЗагружаемых(); + КонецЕсли КонецЕсли; -#КонецЕсли - -КонецПроцедуры - -// Обработчик события НачалоВыбора поля ввода формы ДискИТС. -// Вызывает диалог выбора директории, после выбора проверяет, существуют -// ли в выбранной директории файлы архивов данных. -// -&НаКлиенте -Процедура ДискИТСНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - -#Если Не ВебКлиент Тогда - ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); - ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выбор пути к диску 1С:ИТС'"); - ДиалогОткрытияФайла.Каталог = ДискИТС; - - Если ДиалогОткрытияФайла.Выбрать() Тогда - ДискИТС = ДиалогОткрытияФайла.Каталог; - - ФайлыСуществуют = АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловНаДискеИТС(ДискИТС); - - ОчиститьСообщения(); - - Если ФайлыСуществуют Тогда - УстановитьИзмененияВИнтерфейсе(); - Иначе - СообщениеПользователю = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Файлы адресных сведений не найдены: ""%1"". - |Проверьте правильность указанного пути к диску 1С:ИТС.'"), - ДискИТС); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю, , "ДискИТС"); - КонецЕсли; - КонецЕсли; -#КонецЕсли - -КонецПроцедуры - -// Обработчик события выбора поля таблицы "ЭлементАдресныйОбъект" -// Изменяет статус загрузки адресного объекта поля на противоположный -// -&НаКлиенте -Процедура ТаблицаАдресныхОбъектовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) - - Элемент.ТекущиеДанные.Пометка = Не Элемент.ТекущиеДанные.Пометка; - ОтметитьОбязательные(ЭтотОбъект); - ВыбраноРегионовДляЗагрузки = КоличествоОтмеченныхАдресныхОбъектов(); КонецПроцедуры &НаКлиенте -Процедура ТаблицаАдресныхОбъектовПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) +Процедура ПредставлениеИсточникаЗагрузкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; - ОтметитьОбязательные(ЭтотОбъект); - ВыбраноРегионовДляЗагрузки = КоличествоОтмеченныхАдресныхОбъектов(); + Оповещение = Новый ОписаниеОповещения("ЗавершениеИзмененияИсточникаЗагрузки", ЭтотОбъект); + + ПоказатьВыборИзМеню(Оповещение, ДоступныеИсточникиЗагрузки, Элемент); +КонецПроцедуры + +&НаКлиенте +Процедура АдресЗагрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + АдресныйКлассификаторКлиент.ВыбратьКаталог(ЭтотОбъект, "АдресЗагрузки", + НСтр("ru = 'Каталог с файлами адресного классификатора'"), + СтандартнаяОбработка + ); КонецПроцедуры -// Обработчик события ПриИзменении поля переключателя ИсточникДанныхДляЗагрузки -// Устанавливает параметры видимости элементов (параметров вида загрузки) -// в зависимости от значения переключателя. -// &НаКлиенте -Процедура СпособЗагрузкиПриИзменении(Элемент) +Процедура СубъектыРФЗагружатьПриИзменении(Элемент) - УстановитьИзмененияВИнтерфейсе(); + ОбновитьИнтерфейсПоКоличествуЗагружаемых(); КонецПроцедуры @@ -154,691 +207,691 @@ #Область ОбработчикиКомандФормы &НаКлиенте -Процедура ВыбратьВсе() +Процедура УстановитьФлажки(Команда) УстановитьПометкиСпискаРегионов(Истина); КонецПроцедуры &НаКлиенте -Процедура СнятьОтметкуСоВсех() +Процедура СнятьФлажки(Команда) УстановитьПометкиСпискаРегионов(Ложь); КонецПроцедуры &НаКлиенте -Процедура ЗагрузитьВыполнить() - ОчиститьСообщения(); +Процедура Загрузить(Команда) - УстановитьДоступностьКнопокПриЗагрузке(Ложь); - - // Подготавливаем массив адресных объектов для загрузки - ОбъектыЗагрузки = ВыбранныеОбъектыЗагрузки(); - - // Смотрим на источник данных - Если ИсточникДанныхДляЗагрузки = 1 Тогда - // Загрузка с сайта - Аутентификация = СохраненныеДанныеАутентификацииСервер(); - Если Аутентификация = Неопределено Тогда - // Нет сохраненных данных, проходим через форму авторизации - Оповещение = Новый ОписаниеОповещения("ЗагрузитьФайлыКЛАДРСайтПодтверждениеАутентификации", ЭтотОбъект, Новый Структура); - Оповещение.ДополнительныеПараметры.Вставить("ОбъектыЗагрузки", ОбъектыЗагрузки); - - ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.АвторизацияНаПользовательскомСайте", , ЭтотОбъект, , , , - Оповещение, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс - ); - Возврат; - КонецЕсли; - ЗагрузитьФайлыКЛАДРСайт(ОбъектыЗагрузки, Аутентификация); + Если КодИсточникаЗагрузки = "КАТАЛОГ" Тогда + Текст = НСтр("ru = 'Для загрузки адресного классификатора из каталога + |необходимо установить расширение для работы с файлами.'"); + КонтрольРасширенияРаботыСФайлами(Текст, КодИсточникаЗагрузки, АдресЗагрузки); - ИначеЕсли ИсточникДанныхДляЗагрузки=2 Тогда - // Загрузка с диска ИТС -#Если ВебКлиент Тогда - ПоказатьПредупреждение(,НСтр("ru = 'В веб-клиенте загрузка с диска ИТС недоступна.'")); - Возврат; -#Иначе - ЗагрузитьФайлыКЛАДРДискИТС(ОбъектыЗагрузки); -#КонецЕсли + ИначеЕсли КодИсточникаЗагрузки = "ИТС" Тогда + Текст = НСтр("ru = 'Для загрузки адресного классификатора с диска ИТС + |необходимо установить расширение для работы с файлами.'"); + КонтрольРасширенияРаботыСФайлами(Текст, КодИсточникаЗагрузки, АдресЗагрузки); + + ИначеЕсли КодИсточникаЗагрузки = "САЙТ" Тогда + Текст = НСтр("ru = 'Для загрузки адресного классификатора с сайта + |необходимо установить расширение для работы с файлами.'"); + КонтрольРасширенияРаботыСФайлами(Текст, КодИсточникаЗагрузки, АдресЗагрузки); - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 Тогда - // Загрузка с файловой системы клиента - ЗагрузитьФайлыКЛАДРДиск(ОбъектыЗагрузки); - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьФайлыКЛАДРСайтПодтверждениеАутентификации(Знач РезультатЗакрытия, Знач ДополнительныеПараметры) Экспорт - Если ТипЗнч(РезультатЗакрытия) <> Тип("Структура") Тогда - Возврат; - КонецЕсли; - - ЗагрузитьФайлыКЛАДРСайт(ДополнительныеПараметры.ОбъектыЗагрузки, РезультатЗакрытия); -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьФайлыКЛАДРСайт(Знач ОбъектыЗагрузки, Знач Аутентификация) - Перем ПутьКДанным; - - // Первый файл есть всегда, там сокращения - Результат = АдресныйКлассификаторКлиент.ЗагрузитьКЛАДРСВебСервера(ОбъектыЗагрузки[0], Аутентификация, ПутьКДанным); - Если Не Результат.Статус Тогда - // Ошибка загрузки первого файла, возможно некорректная аутентификация, выводим на вопрос - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru='Ошибка загрузки файлов КЛАДР с сайта 1С. - |%1'"), - Результат.СообщениеОбОшибке)); - - Оповещение = Новый ОписаниеОповещения("ЗагрузитьФайлыКЛАДРСайтПодтверждениеАутентификации", ЭтотОбъект, Новый Структура); - Оповещение.ДополнительныеПараметры.Вставить("ОбъектыЗагрузки", ОбъектыЗагрузки); - - ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.АвторизацияНаПользовательскомСайте", , ЭтотОбъект, , , , - Оповещение, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс - ); - - УдалитьЗагруженныеФайлы(ПутьКДанным); - Возврат; - КонецЕсли; - - // Теперь ПутьКДанным указывает каталог, куда будут загружены файлы на клиенте - - // Загружаем остальные файлы - Для Позиция=1 По ОбъектыЗагрузки.ВГраница() Цикл - ОбъектЗагрузки = ОбъектыЗагрузки[Позиция]; - УстановитьСтатусЗагрузки(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - НСтр("ru = 'Загрузка файлов адресных сведений с веб-сервера: регион %1'"), ОбъектЗагрузки - )); - - Результат = АдресныйКлассификаторКлиент.ЗагрузитьКЛАДРСВебСервера(ОбъектЗагрузки, Аутентификация, ПутьКДанным); - Если Не Результат.Статус Тогда - Текст = Новый ФорматированнаяСтрока( - НСтр("ru='Ошибка загрузки файлов КЛАДР с сайта 1С. - |Подробности в'"), " ", - Новый ФорматированнаяСтрока( - НСтр("ru='журнале регистрации'"),,,,"e1cib/app/Обработка.ЖурналРегистрации" - ) - ); - УстановитьСтатусЗагрузки(""); - ПоказатьПредупреждение(, Текст); - - УдалитьЗагруженныеФайлы(ПутьКДанным); - Возврат; - КонецЕсли; - КонецЦикла; - УстановитьСтатусЗагрузки(""); - - // Передаем файлы на сервер и продолжаем загрузку - ЗагрузитьФайлыКЛАДР(ПутьКДанным, ОбъектыЗагрузки, 1); -КонецПроцедуры - -&НаКлиенте -Процедура УдалитьЗагруженныеФайлы(Путь) - Попытка - УдалитьФайлы(Путь); - Исключение - // Будут удалены при перезапуске сеанса, обработка не требуется - КонецПопытки; -КонецПроцедуры - -// Параметры: -// КаталогКлиента - Строка - путь на клиенте, где расположены исходные файлы -// ОбъектыДляЗагрузки - Массив - регионы для загрузки -// ИсточникДанных - Число - код источника данных: 1 - сайт 2 - ИТС, 3 - диск -&НаКлиенте -Процедура ЗагрузитьФайлыКЛАДР(Знач КаталогКлиента, Знач ОбъектыЗагрузки, Знач ИсточникДанных) - - // Передаем файлы на сервер - Путь = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СокрЛП(КаталогКлиента)); - - УстановитьСтатусЗагрузки(НСтр("ru = 'Передача файлов адресных сведений на сервер приложения.'")); - ПереданныеФайлы = Новый Массив; - - ФайлыДляПередачи = Новый Массив; - Для Каждого Файл Из НайтиФайлы(Путь, ?(ЭтоLinuxКлиент, "*.[Dd][Bb][Ff]", "*.dbf")) Цикл - ФайлыДляПередачи.Добавить( Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя) ); - КонецЦикла; - Если ФайлыДляПередачи.Количество() = 0 Тогда - Для Каждого Файл Из НайтиФайлы(Путь, ?(ЭтоLinuxКлиент, "*.[Zz][Ii][Pp]", "*.zip")) Цикл - ФайлыДляПередачи.Добавить( Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя) ); - КонецЦикла; - КонецЕсли; - - Если ФайлыДляПередачи.Количество() = 0 Тогда - ПереданныеФайлы = НСтр("ru = 'Не найдено файлов для передачи на сервер.'"); Иначе - Попытка - Если Не ПоместитьФайлы(ФайлыДляПередачи , ПереданныеФайлы, , Ложь, ЭтотОбъект.УникальныйИдентификатор) Тогда - ПереданныеФайлы = ""; - КонецЕсли; - Исключение - // Получаем строковое описание ошибки - ИнформацияОшибки = ИнформацияОбОшибке(); - ЗаписьИнформацииОбОшибке( ПодробноеПредставлениеОшибки(ИнформацияОшибки) ); - ПереданныеФайлы = КраткоеПредставлениеОшибки(ИнформацияОшибки) - КонецПопытки; + ОбщегоНазначенияКлиентСервер.СообщитьПользователю( + НСтр("ru = 'Не указан источник загрузки классификатора.'"), , "НевидимоеПредставлениеИсточникаЗагрузки"); КонецЕсли; - - Если ТипЗнч(ПереданныеФайлы)<>Тип("Массив") Тогда - Текст = Новый ФорматированнаяСтрока( - НСтр("ru='Ошибка передачи файлов КЛАДР на сервер.'"), Символы.ПС, - ПереданныеФайлы, Символы.ПС, - НСтр("ru='Подробности в'"), " ", Новый ФорматированнаяСтрока( - НСтр("ru='журнале регистрации'"),,,,"e1cib/app/Обработка.ЖурналРегистрации" - ) - ); - ПоказатьПредупреждение(, Текст); - УстановитьСтатусЗагрузки(""); - Возврат; - КонецЕсли; - - // И запускаем загрузку на сервере в фоновом задании - УстановитьСтатусЗагрузки(НСтр("ru = 'Загрузка адресных сведений в программу.'")); - - Результат = ЗагрузитьФайлыКЛАДРСервер(ОбъектыЗагрузки, ПереданныеФайлы, ИсточникДанных); - Если Результат.ЗаданиеВыполнено Тогда - // Готово - ИдентификаторЗадания = Неопределено; - УстановитьСтатусЗагрузки(""); - Иначе - // Ожидаем выполнения - ИдентификаторЗадания = Результат.ИдентификаторЗадания; - АдресХранилища = Результат.АдресХранилища; - - ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания); - ПараметрыОбработчикаОжидания.МаксимальныйИнтервал = 5; - - ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", 1, Истина); - КонецЕсли; - - ОбновитьСодержание(Результат); -КонецПроцедуры - -&НаСервере -Функция ЗагрузитьФайлыКЛАДРСервер(Знач ОбъектыЗагрузки, Знач ПереданныеФайлы, Знач ИсточникДанных) - - Возврат АдресныйКлассификатор.ОбработатьФайлыКЛАДР(ОбъектыЗагрузки, ПереданныеФайлы, ИсточникДанных, ЭтотОбъект.УникальныйИдентификатор); - -КонецФункции - -&НаСервере -Процедура ЗаписьИнформацииОбОшибке(Знач ПодробноеПредставление) - ЗаписьЖурналаРегистрации(АдресныйКлассификатор.СобытиеЖурналаРегистрации(), - УровеньЖурналаРегистрации.Ошибка, , ПодробноеПредставление - ); КонецПроцедуры &НаКлиенте -Процедура ЗагрузитьФайлыКЛАДРДискИТС(Знач ОбъектыЗагрузки) - // На ИТС сейчас поставляются *.exe, представляющие собой самораспаковывающийся RAR - // В целях безопасности запускаем их на клиенте - -#Если Не ВебКлиент Тогда - КаталогКлиента = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ПолучитьИмяВременногоФайла()); - СоздатьКаталог(КаталогКлиента); - - КаталогИТС = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ДискИТС) - + АдресныйКлассификаторКлиент.ПутьККаталогуСДаннымиКЛАДРНаДискеИТС(ДискИТС); - - Для Каждого Файл Из НайтиФайлы(КаталогИТС, "*.exe", Ложь) Цикл - Команда = """" + Файл.ПолноеИмя + """ -s -d """ + КаталогКлиента + """"; - ЗапуститьПриложение(Команда, КаталогКлиента, Истина); - КонецЦикла; - - ЗагрузитьФайлыКЛАДР(КаталогКлиента, ОбъектыЗагрузки, 2) -#КонецЕсли -КонецПроцедуры - -&НаКлиенте -Процедура ЗагрузитьФайлыКЛАДРДиск(Знач ОбъектыЗагрузки) - - ЗагрузитьФайлыКЛАДР(ПутьКФайламДанныхНаДиске, ОбъектыЗагрузки, 3) - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаДалее(Команда) - - ОчиститьСообщения(); - - Если Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборАдресныхОбъектов Тогда - Если КоличествоОтмеченныхАдресныхОбъектов() = 0 Тогда - СообщениеПользователю = НСтр("ru = 'Необходимо выбрать хотя бы один регион для загрузки адресных сведений.'"); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю, , "АдресныеОбъектыДляЗагрузки"); - Возврат; - КонецЕсли; - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника; - УстановитьИзмененияВИнтерфейсе(); - - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника Тогда - Если ИсточникДанныхДляЗагрузки = 2 - И (ПустаяСтрока(ДискИТС) Или Не АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловНаДискеИТС(ДискИТС)) - Тогда - СообщениеПользователю = НСтр("ru = 'Проверьте правильность указания пути к диску 1С:ИТС.'"); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю, , "ДискИТС"); - Возврат; - - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 - И (ПустаяСтрока(ПутьКФайламДанныхНаДиске) Или Не АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловДанныхВКаталоге(ПутьКФайламДанныхНаДиске)) - Тогда - СообщениеПользователю = НСтр("ru = 'Проверьте правильность указания пути, а также состав файлов КЛАДР.'"); - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеПользователю, , "ПутьКФайламДанныхНаДиске"); - Возврат; - КонецЕсли; - - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаЗагрузка; - УстановитьИзмененияВИнтерфейсе(); - - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаЗагрузка Тогда - ЗагрузитьВыполнить(); - - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаУспех Тогда - - Закрыть(Истина); - - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура КомандаНазад(Команда) - Если Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника Тогда - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборАдресныхОбъектов; - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаЗагрузка Тогда - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника; - КонецЕсли; - - УстановитьИзмененияВИнтерфейсе(); +Процедура ПрерватьЗагрузку(Команда) + ПодтверждениеЗакрытияФормы = Неопределено; + Закрыть(); КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -// Устанавливаем пометку только видимым элементам -// &НаКлиенте -Процедура УстановитьПометкиСпискаРегионов(Знач Пометка) +Процедура КонтрольРасширенияРаботыСФайлами(Знач ТекстПредложения, Знач КодИсточника, Знач АдресИсточника) - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъектыДляЗагрузки Цикл - ИдентификаторСтроки = ЭлементАдресныйОбъект.ПолучитьИдентификатор(); - Если Элементы.ТаблицаАдресныхОбъектов.ДанныеСтроки(ИдентификаторСтроки) <> Неопределено Тогда - // Строка видимая - ЭлементАдресныйОбъект.Пометка = Пометка; - КонецЕсли; - КонецЦикла; + Оповещение = Новый ОписаниеОповещения("КонтрольРасширенияРаботыСФайламиЗавершение", ЭтотОбъект, Новый Структура); + Оповещение.ДополнительныеПараметры.Вставить("КодИсточникаЗагрузки", КодИсточника); + Оповещение.ДополнительныеПараметры.Вставить("АдресЗагрузки", АдресИсточника); - Если Не Пометка Тогда - // Обязательные должны быть помечены всегда - ОтметитьОбязательные(ЭтотОбъект); + ОбщегоНазначенияКлиент.ПоказатьВопросОбУстановкеРасширенияРаботыСФайлами(Оповещение, ТекстПредложения, Ложь); +КонецПроцедуры + +// Завершение диалога предложения расширения для работы с файлами +&НаКлиенте +Процедура КонтрольРасширенияРаботыСФайламиЗавершение(Знач Результат, Знач ДополнительныеПараметры) Экспорт + + Если Результат <> Истина Тогда + Возврат; + + ИначеЕсли Не ПодключитьРасширениеРаботыСФайлами() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Расширение для работы с файлами не подключено.'")); + Возврат; + КонецЕсли; - УстановитьИзмененияВИнтерфейсе(); -КонецПроцедуры - -&НаКлиенте -Процедура ПерейтиНаСтраницуВыбораИсточника() - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника; - УстановитьИзмененияВИнтерфейсе(); -КонецПроцедуры - -&НаКлиенте -Процедура УстановитьДоступностьКнопокПриЗагрузке(Флаг = Истина) - - Элементы.Назад.Видимость = Флаг; - Элементы.Далее.Видимость = Флаг; - - ОбновитьИнтерфейс(); -КонецПроцедуры - -&НаСервере -Процедура СохранитьПараметрыЗагрузки() - - МассивЗагружаемыхАО = Новый Массив; - - Для Каждого ЭлементАО Из АдресныеОбъектыДляЗагрузки Цикл - Если ЭлементАО.Пометка Тогда - МассивЗагружаемыхАО.Добавить(Лев(ЭлементАО.НаименованиеАдресногоОбъекта, 2)); - КонецЕсли; - КонецЦикла; - - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить( - "ПараметрыЗагрузкиАдресногоКлассификатора", "ЗагружаемыеРегионы", МассивЗагружаемыхАО); - - ИсточникКЛАДР = Новый Структура("ИсточникДанныхДляЗагрузки"); - ИсточникКЛАДР.ИсточникДанныхДляЗагрузки = ИсточникДанныхДляЗагрузки; - - Если ИсточникДанныхДляЗагрузки = 2 Тогда - ИсточникКЛАДР.Вставить("ДискИТС", ДискИТС); - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 Тогда - ИсточникКЛАДР.Вставить("ПутьКФайламДанныхНаДиске", ПутьКФайламДанныхНаДиске); - КонецЕсли; - - ОбщегоНазначения.ХранилищеОбщихНастроекСохранить( - "ПараметрыЗагрузкиАдресногоКлассификатора", "ИсточникКЛАДР", ИсточникКЛАДР); - -КонецПроцедуры - -&НаСервере -Процедура ЗагрузитьСохраненныеПараметрыЗагрузки() - - ИсточникКЛАДР = ЗагрузитьНастройкуЗагрузкиКЛАДР("ИсточникКЛАДР"); - - Если ИсточникКЛАДР <> Неопределено Тогда - ИсточникДанныхДляЗагрузки = ИсточникКЛАДР.ИсточникДанныхДляЗагрузки; - Если ИсточникДанныхДляЗагрузки = 2 Тогда - ДискИТС = ИсточникКЛАДР.ДискИТС; - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 Тогда - ПутьКФайламДанныхНаДиске = ИсточникКЛАДР.ПутьКФайламДанныхНаДиске; - КонецЕсли; + Если ДополнительныеПараметры.КодИсточникаЗагрузки = "КАТАЛОГ" Тогда + ЗагрузитьКлассификаторИзКаталога(ДополнительныеПараметры.АдресЗагрузки); + + ИначеЕсли ДополнительныеПараметры.КодИсточникаЗагрузки = "ИТС" Тогда + ЗагрузитьКлассификаторИзКаталогаИТС(ДополнительныеПараметры.АдресЗагрузки); + + ИначеЕсли ДополнительныеПараметры.КодИсточникаЗагрузки = "САЙТ" Тогда + ЗагрузитьКлассификаторССайта(); + КонецЕсли; КонецПроцедуры -// Получает значение из системного хранилища настроек ИБ -// -&НаСервереБезКонтекста -Функция ЗагрузитьНастройкуЗагрузкиКЛАДР(КлючНастроек) - - Возврат ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("ПараметрыЗагрузкиАдресногоКлассификатора", КлючНастроек); - -КонецФункции - -// Устанавливает текст статус загрузки -// +// Завершение диалога изменения загрузки &НаКлиенте -Процедура УстановитьСтатусЗагрузки(Знач Сообщение = "") - - СтатусЗагрузки = НСтр("ru = 'Пожалуйста, подождите...'") + Символы.ПС + Сообщение; - СтраницаСтатусаЗагрузки = ?(ПустаяСтрока(Сообщение), Элементы.ГруппаПустаяГруппа, Элементы.СтраницаСтатусЗагрузки); - Элементы.СтраницыЗагрузки.ТекущаяСтраница = СтраницаСтатусаЗагрузки; - ОбновитьОтображениеДанных(); - -КонецПроцедуры - -&НаКлиенте -Процедура Подключаемый_ПроверитьВыполнениеЗадания() - - Если Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаЗагрузка Тогда - СостояниеЗагрузки = СостояниеЗадания(ИдентификаторЗадания); - Если СостояниеЗагрузки = 0 Тогда - // Выполнено успешно - ИдентификаторЗадания = Неопределено; - ОбновитьСодержание(Новый Структура("РезультатЗагрузки", ПолучитьИзВременногоХранилища(АдресХранилища)) ); - - ИначеЕсли СостояниеЗагрузки < 0 Тогда - // Завершено аварийно, сообщения показаны - ИдентификаторЗадания = Неопределено; - ПерейтиНаСтраницуВыбораИсточника(); - - Иначе - // Процесс продолжается - ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания); - ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", - ПараметрыОбработчикаОжидания.ТекущийИнтервал, Истина); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -// Возвращаемое значение: -// -1, если завершено с ошибкой -// 0, если завершено или отменено -// 1, если все еще работает -// -&НаСервереБезКонтекста -Функция СостояниеЗадания(ИдентификаторЗадания) - - // Оставим запись в логах - Попытка - ФлагВыполнения = ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания) - Исключение - // Запись в журнал регистрации уже сделана - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())); - Возврат -1; - КонецПопытки; - - Если Не ФлагВыполнения Тогда - Возврат 1 - КонецЕсли; - - // Проверим дополнительно - Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания); - Если Задание=Неопределено Тогда - Возврат 0; - ИначеЕсли Задание.Состояние=СостояниеФоновогоЗадания.Отменено Тогда - Возврат 0; - ИначеЕсли Задание.Состояние=СостояниеФоновогоЗадания.Завершено Тогда - Возврат 0; - ИначеЕсли Задание.Состояние=СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда - Возврат -1; - КонецЕсли; - - Возврат 1; -КонецФункции - -&НаКлиенте -Процедура ОбновитьСодержание(Результат) - - Если Не Результат.Свойство("РезультатЗагрузки") Тогда +Процедура ЗавершениеИзмененияИсточникаЗагрузки(Знач Результат, Знач ДополнительныеПараметры) Экспорт + Если Результат = Неопределено Тогда Возврат; КонецЕсли; - УстановитьДоступностьКнопокПриЗагрузке(); + КодИсточникаЗагрузки = Результат.Значение; + УстановитьНадписьИсточникаДанных(); +КонецПроцедуры + +// Завершение диалога закрытия формы +&НаКлиенте +Процедура ЗакрытиеФормыЗавершение(Знач РезультатВопроса, Знач ДополнительныеПараметры) Экспорт + Если РезультатВопроса = КодВозвратаДиалога.Да Тогда + ПодтверждениеЗакрытияФормы = Истина; + Закрыть(); + Иначе + ПодтверждениеЗакрытияФормы = Неопределено; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьНадписьИсточникаДанных() - ОбщегоНазначенияКлиентСервер.УдалитьКаталогСФайлами(Результат.РезультатЗагрузки.ПутьКДанным); - ПутьКДаннымНаСервере = Результат.РезультатЗагрузки.ПутьКДаннымНаСервере; - - Если Не ПустаяСтрока(Результат.РезультатЗагрузки.СообщениеПользователю) Тогда - ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Результат.РезультатЗагрузки.СообщениеПользователю); + Если КодИсточникаЗагрузки = "КАТАЛОГ" Тогда + Текст = ДоступныеИсточникиЗагрузки.НайтиПоЗначению(КодИсточникаЗагрузки).Представление + ":"; + ВидимостьИсточника = Истина; + + ИначеЕсли КодИсточникаЗагрузки = "ИТС" Тогда + Текст = ДоступныеИсточникиЗагрузки.НайтиПоЗначению(КодИсточникаЗагрузки).Представление + ":"; + ВидимостьИсточника = Истина; + + ИначеЕсли КодИсточникаЗагрузки = "САЙТ" Тогда + Текст = ДоступныеИсточникиЗагрузки.НайтиПоЗначению(КодИсточникаЗагрузки).Представление; + ВидимостьИсточника = Ложь; + + Иначе + Текст = НСтр("ru = 'Источник не указан'"); + ВидимостьИсточника = Ложь; + КонецЕсли; - Если Результат.РезультатЗагрузки.СтатусВыполнения Тогда - // Успешно загружено - Оповестить("Запись_АдресныйКлассификатор", Новый Структура("Событие", "Загрузить")); - - СохранитьПараметрыЗагрузки(); - Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаУспех; - УстановитьИзмененияВИнтерфейсе(); + ПредставлениеИсточникаЗагрузки = Новый ФорматированнаяСтрока(Текст, , , , "Ссылка"); + + Если ВидимостьИсточника Тогда + Элементы.ГруппаОтображенияАдресаЗагрузки.ТекущаяСтраница = Элементы.ВидимыйАдресЗагрузки; + Иначе + Элементы.ГруппаОтображенияАдресаЗагрузки.ТекущаяСтраница = Элементы.НевидимыйАдресЗагрузки; + КонецЕсли; + + УстановитьРазрешениеЗагрузки(); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьРазрешениеЗагрузки(Знач КоличествоЗагружаемых = Неопределено) + + Если КоличествоЗагружаемых = Неопределено Тогда + КоличествоЗагружаемых = СубъектыРФ.НайтиСтроки( Новый Структура("Загружать", Истина) ).Количество(); + КонецЕсли; + + Элементы.Загрузить.Доступность = (КоличествоЗагружаемых > 0) + И ДоступныеИсточникиЗагрузки.НайтиПоЗначению(КодИсточникаЗагрузки) <> Неопределено; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьУсловноеОформление() + УсловноеОформление.Элементы.Очистить(); + + Элемент = УсловноеОформление.Элементы.Добавить(); + + Поля = Элемент.Поля.Элементы; + Поля.Добавить().Поле = Новый ПолеКомпоновкиДанных("СубъектыРФКодСубъектаРФ"); + Поля.Добавить().Поле = Новый ПолеКомпоновкиДанных("СубъектыРФПредставление"); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СубъектыРФ.Загружено"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = Ложь; + + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.ТемноСерый); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьПометкиСпискаРегионов(Знач Пометка) + + // Устанавливаем пометки только для видимых строк + ЭлементТаблицы = Элементы.СубъектыРФ; + Для Каждого СтрокаРегиона Из СубъектыРФ Цикл + Если ЭлементТаблицы.ДанныеСтроки( СтрокаРегиона.ПолучитьИдентификатор() ) <> Неопределено Тогда + СтрокаРегиона.Загружать = Пометка; + КонецЕсли; + КонецЦикла; + + ОбновитьИнтерфейсПоКоличествуЗагружаемых(); +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьИнтерфейсПоКоличествуЗагружаемых() + + // Страница выбора + ВыбраноРегионовДляЗагрузки = СубъектыРФ.НайтиСтроки( Новый Структура("Загружать", Истина) ).Количество(); + + // Страница загрузки + ТекстОписанияЗагрузки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Загружаются данные по выбранным регионам (%1)'"), ВыбраноРегионовДляЗагрузки + ); + + УстановитьРазрешениеЗагрузки(ВыбраноРегионовДляЗагрузки); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьКлассификаторИзКаталога(Знач КаталогДанных) + + КодыРегионов = КодыРегионовДляЗагрузки(); + + // Проверка доступности и наличия файлов + ПараметрыЗагрузки = Новый Структура("КодИсточникаЗагрузки, ПолеОшибки", КодИсточникаЗагрузки, "АдресЗагрузки"); + РезультатАнализа = АдресныйКлассификаторКлиентСервер.АнализДоступностиФайловКлассификатораВКаталоге(КодыРегионов, КаталогДанных, ПараметрыЗагрузки); + Если РезультатАнализа.Ошибки <> Неопределено Тогда + // Не хватает файлов для загрузки по указанным режимам + ОчиститьСообщения(); + ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(РезультатАнализа.Ошибки); + Возврат; + КонецЕсли; + + // Загружаем в фоне + УдалитьПослеПередачиНаСервер = Новый Массив; + РезультатАнализа.Вставить("УдалитьПослеПередачиНаСервер", УдалитьПослеПередачиНаСервер); + + ЗапуститьФоновуюЗагрузкуИзКаталогаКлиента(РезультатАнализа); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьКлассификаторИзКаталогаИТС(Знач КорневойКаталог) + КодыРегионов = КодыРегионовДляЗагрузки(); + + // Пробуем найти в указанном каталоге + КаталогДанных = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КорневойКаталог); + РазделительПути = Прав(КаталогДанных, 1); + + ВариантыКаталогов = Новый Массив; + ВариантыКаталогов.Добавить(КаталогДанных); + ВариантыКаталогов.Добавить(КаталогДанных + "EXE\KLADR\"); + ВариантыКаталогов.Добавить(КаталогДанных + "1CIts\EXE\KLADR\"); + ВариантыКаталогов.Добавить(КаталогДанных + "1CitsFr\EXE\KLADR\"); + ВариантыКаталогов.Добавить(КаталогДанных + "1CItsB\EXE\KLADR\"); + + ПараметрыЗагрузки = Новый Структура("КодИсточникаЗагрузки, ПолеОшибки", "ИТС", "АдресЗагрузки"); + ЕстьОшибки = Истина; + + Для Каждого Вариант Из ВариантыКаталогов Цикл + РезультатАнализа = АдресныйКлассификаторКлиентСервер.АнализДоступностиФайловКлассификатораВКаталоге(КодыРегионов, Вариант, ПараметрыЗагрузки); + Если РезультатАнализа.ЕстьВсеФайлы Тогда + ЕстьОшибки = Ложь; + Прервать; + КонецЕсли; + КонецЦикла; + + Если ЕстьОшибки Тогда + Ошибки = Неопределено; + ОбщегоНазначенияКлиентСервер.ДобавитьОшибкуПользователю(Ошибки, "АдресЗагрузки", НСтр("ru = 'В указанном каталоге 1С:ИТС не найдены файлы для загрузки'") ); ОчиститьСообщения(); + ОбщегоНазначенияКлиентСервер.СообщитьОшибкиПользователю(Ошибки); + Возврат; КонецЕсли; + // Загружаем в фоне, там же будет удаление лишнего + ЗапуститьФоновуюЗагрузкуИзКаталогаИТСКлиента(РезультатАнализа); КонецПроцедуры -// Заполняет переданную таблицу значений по значениям таблицы адресных объектов. -// Выбирается код, наименование и сокращение типа объекта. +&НаКлиенте +Процедура ЗагрузитьКлассификаторССайта(Знач Аутентификация = Неопределено) + + КодыРегионов = КодыРегионовДляЗагрузки(); + + Если Аутентификация = Неопределено Тогда + Аутентификация = СохраненныеДанныеАутентификацииСайта(); + КонецЕсли; + + Если ПустаяСтрока(Аутентификация.Логин) Тогда + // Нет сохраненных данных, проходим через форму авторизации + Оповещение = Новый ОписаниеОповещения("ЗагрузитьКлассификаторССайтаЗапросАутентификации", ЭтотОбъект, Новый Структура); + Оповещение.ДополнительныеПараметры.Вставить("КодыРегионов", КодыРегионов); + + ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.АвторизацияНаПользовательскомСайте", , ЭтотОбъект, , , ,Оповещение); + Возврат; + КонецЕсли; + + ЗагрузитьКлассификаторССайтаАутентификация(Аутентификация, КодыРегионов); +КонецПроцедуры + +// Завершение диалога авторизации // +&НаКлиенте +Процедура ЗагрузитьКлассификаторССайтаЗапросАутентификации(Знач Аутентификация, Знач ДополнительныеПараметры) Экспорт + + Если ТипЗнч(Аутентификация) <> Тип("Структура") Тогда + // Возвращаемся на страницу выбора + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + Возврат; + + ИначеЕсли ПустаяСтрока(Аутентификация.Логин) Тогда + // На повторный ввод пароля + ЗагрузитьКлассификаторССайта(Аутентификация); + Возврат; + + КонецЕсли; + + ЗагрузитьКлассификаторССайтаАутентификация(Аутентификация, ДополнительныеПараметры.КодыРегионов); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьКлассификаторССайтаАутентификация(Знач Аутентификация, Знач КодыРегионов) + + ОчиститьСообщения(); + + // Переключаем режим - страницу + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ОжиданиеЗагрузки; + ТекстСостоянияЗагрузки = НСтр("ru = 'Загрузка файлов с сайта поддержки пользователей ...'"); + + Элементы.ПрерватьЗагрузку.Доступность = Ложь; + + ПараметрыФоновойЗагрузкиКлассификатора = Новый Структура; + ПараметрыФоновойЗагрузкиКлассификатора.Вставить("Аутентификация", Аутентификация); + ПараметрыФоновойЗагрузкиКлассификатора.Вставить("КодыРегионов", КодыРегионов); + + ИспользуемыйКлассификатор = АдресныйКлассификаторКлиентСервер.ИспользуемыйАдресныйКлассификатор(); + Если ИспользуемыйКлассификатор <> "КЛАДР" Тогда + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не обрабатываемый тип адресного классификатора ""%1""'"), ИспользуемыйКлассификатор); + КонецЕсли; + + ПодключитьОбработчикОжидания("ЗагрузитьКлассификаторССайтаКЛАДР", 0.1, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьКлассификаторССайтаКЛАДР() + + КодыРегионов = ПараметрыФоновойЗагрузкиКлассификатора.КодыРегионов; + + Аутентификация = Новый Структура; + Аутентификация.Вставить("КодПользователя", ПараметрыФоновойЗагрузкиКлассификатора.Аутентификация.Логин); + Аутентификация.Вставить("Пароль", ПараметрыФоновойЗагрузкиКлассификатора.Аутентификация.Пароль); + + // Сбрасываем + ПараметрыФоновойЗагрузкиКлассификатора = Неопределено; + + // Первый файл - сокращения, заодно проверяется корректность авторизации + КаталогЗагрузки = АдресныйКлассификаторКлиент.ВременныйКаталогКлиента(); + УдалитьПослеПередачиНаСервер = Новый Массив; + УдалитьПослеПередачиНаСервер.Добавить(КаталогЗагрузки); + + Результат = АдресныйКлассификаторКлиент.ЗагрузитьКЛАДРСВебСервера("SO", Аутентификация, КаталогЗагрузки); + Если Не Результат.Статус Тогда + // Ошибка загрузки, выводим на повторный запрос авторизации + Если Найти(Результат.СообщениеОбОшибке, "401 Unauthorized") > 0 Тогда + ОбщегоНазначенияКлиентСервер.СообщитьПользователю( + НСтр("ru='Не удалось получить доступ к сайту 1C для загрузки файлов КЛАДР, возможно неверное имя пользователя или пароль.'")); + Иначе + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Ошибка загрузки файлов КЛАДР с сайта 1С. + |%1'"), + Результат.СообщениеОбОшибке)); + КонецЕсли; + + АдресныйКлассификаторКлиентСервер.УдалитьВременныйФайл(КаталогЗагрузки); + + Оповещение = Новый ОписаниеОповещения("ЗагрузитьКлассификаторССайтаЗапросАутентификации", ЭтотОбъект, Новый Структура); + Оповещение.ДополнительныеПараметры.Вставить("КодыРегионов", КодыРегионов); + + ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.АвторизацияНаПользовательскомСайте", , ЭтотОбъект, , , ,Оповещение); + Возврат; + КонецЕсли; + + ФайлыПоРегионам = Новый Соответствие; + + ПараметрыЗагрузки = Новый Структура; + ПараметрыЗагрузки.Вставить("ФайлыПоРегионам", ФайлыПоРегионам); + ПараметрыЗагрузки.Вставить("КодыРегионов", КодыРегионов); + + ФайлыПоРегионам.Вставить("*", Результат.Путь); + + Для Каждого КодРегиона Из КодыРегионов Цикл + ОбъектЗагрузки = Формат(КодРегиона, "ЧЦ=2; ЧН=; ЧВН=");; + Результат = АдресныйКлассификаторКлиент.ЗагрузитьКЛАДРСВебСервера(ОбъектЗагрузки, Аутентификация, КаталогЗагрузки); + Если Результат.Статус Тогда + ФайлыПоРегионам.Вставить(КодРегиона, Результат.Путь); + + Иначе + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru='Ошибка загрузки файлов КЛАДР с сайта 1С. + |%1'"), + Результат.СообщениеОбОшибке)); + + АдресныйКлассификаторКлиентСервер.УдалитьВременныйФайл(КаталогЗагрузки); + Возврат; + КонецЕсли; + КонецЦикла; + + ПараметрыЗагрузки.Вставить("Режим", "КЛАДРВебСайт"); + ПараметрыЗагрузки.Вставить("УдалитьПослеПередачиНаСервер", УдалитьПослеПередачиНаСервер); + + ЗапуститьФоновуюЗагрузкуИзКаталогаКлиента(ПараметрыЗагрузки) +КонецПроцедуры + +&НаКлиенте +Процедура ЗапуститьФоновуюЗагрузкуИзКаталогаИТСКлиента(Знач ПараметрыЗагрузки) + // Переключаем режим - страницу + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ОжиданиеЗагрузки; + ТекстСостоянияЗагрузки = НСтр("ru = 'Распаковка файлов 1С:ИТС ...'"); + + Элементы.ПрерватьЗагрузку.Доступность = Ложь; + ПараметрыФоновойЗагрузкиКлассификатора = ПараметрыЗагрузки; + ПодключитьОбработчикОжидания("ЗапуститьФоновуюЗагрузкуИзКаталогаИТСКлиентаПродолжение", 0.1, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ЗапуститьФоновуюЗагрузкуИзКаталогаИТСКлиентаПродолжение() + ПараметрыЗагрузки = ПараметрыФоновойЗагрузкиКлассификатора; + ПараметрыФоновойЗагрузкиКлассификатора = Неопределено; + + // РезультатАнализа - корректный источник + ИспользуемыйКлассификатор = АдресныйКлассификаторКлиентСервер.ИспользуемыйАдресныйКлассификатор(); + Если ИспользуемыйКлассификатор = "КЛАДР" Тогда + МаскаОжидаемогоПриРаспаковке = "*.DBF"; + Иначе + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не обрабатываемый тип адресного классификатора ""%1""'"), ИспользуемыйКлассификатор); + КонецЕсли; + + // Распаковываем файлы на клиенте (там исполняемый файл, на сервере нет разрешения на запуск) + УдалитьПослеПередачиНаСервер = Новый Массив; + ПараметрыЗагрузки.Вставить("УдалитьПослеПередачиНаСервер", УдалитьПослеПередачиНаСервер); + + Для Каждого КлючЗначение Из ПараметрыЗагрузки.ФайлыПоРегионам Цикл + ИсточникФайлов = КлючЗначение.Значение; + + Если ТипЗнч(ИсточникФайлов) = Тип("Массив") Тогда + Позиция = ИсточникФайлов.ВГраница(); + Пока Позиция >= 0 Цикл + ИмяФайла = ИсточникФайлов[Позиция]; + Если ВРег(Прав(ИмяФайла, 4)) = ".EXE" Тогда + ДанныеИТС = РаспаковатьАрхивИТС(ИмяФайла, МаскаОжидаемогоПриРаспаковке); + ИсточникФайлов[Позиция] = ДанныеИТС.ИмяФайла; + УдалитьПослеПередачиНаСервер.Добавить(ДанныеИТС.ИмяУдаляемогоФайла); + КонецЕсли; + Позиция = Позиция - 1; + КонецЦикла; + Иначе + Если ВРег(Прав(ИсточникФайлов, 4)) = ".EXE" Тогда + ДанныеИТС = РаспаковатьАрхивИТС(ИсточникФайлов, МаскаОжидаемогоПриРаспаковке); + ПараметрыЗагрузки.ФайлыПоРегионам[КлючЗначение.Ключ] = ДанныеИТС.ИмяФайла; + УдалитьПослеПередачиНаСервер.Добавить(ДанныеИТС.ИмяУдаляемогоФайла); + КонецЕсли; + КонецЕсли; + + КонецЦикла; + + // И запускаем передачу на сервер + ЗапуститьФоновуюЗагрузкуИзКаталогаКлиента(ПараметрыЗагрузки); +КонецПроцедуры + +&НаКлиенте +Процедура ЗапуститьФоновуюЗагрузкуИзКаталогаКлиента(Знач ПараметрыЗагрузки) + // Переключаем режим - страницу + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ОжиданиеЗагрузки; + ТекстСостоянияЗагрузки = НСтр("ru = 'Передача файлов на сервер приложения...'"); + + Элементы.ПрерватьЗагрузку.Доступность = Ложь; + ПараметрыФоновойЗагрузкиКлассификатора = ПараметрыЗагрузки; + ПодключитьОбработчикОжидания("ЗапуститьФоновуюЗагрузкуИзКаталогаКлиентаПродолжение", 0.1, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ЗапуститьФоновуюЗагрузкуИзКаталогаКлиентаПродолжение() + ПараметрыЗагрузки = ПараметрыФоновойЗагрузкиКлассификатора; + ПараметрыФоновойЗагрузкиКлассификатора = Неопределено; + + Если ПараметрыЗагрузки = Неопределено Тогда + // Возвращаемся на страницу выбора + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + Возврат; + КонецЕсли; + + // Очищаем возможно ранее помещенные файлы + Если ТипЗнч(ПомещенныеФайлы) = Тип("Массив") Тогда + Для Каждого Описание Из ПомещенныеФайлы Цикл + Если Не ПустаяСтрока(Описание.Хранение) Тогда + УдалитьИзВременногоХранилища(Описание.Хранение); + КонецЕсли; + КонецЦикла; + ПомещенныеФайлы.Очистить(); + КонецЕсли; + + // Список передаваемых на сервер файлов + ПомещаемыеФайлы = Новый Массив; + Для Каждого КлючЗначение Из ПараметрыЗагрузки.ФайлыПоРегионам Цикл + Если ТипЗнч(КлючЗначение.Значение) = Тип("Массив") Тогда + Для Каждого ИмяФайла Из КлючЗначение.Значение Цикл + ПомещаемыеФайлы.Добавить(Новый ОписаниеПередаваемогоФайла(ИмяФайла) ); + КонецЦикла; + Иначе + ПомещаемыеФайлы.Добавить(Новый ОписаниеПередаваемогоФайла(КлючЗначение.Значение) ); + КонецЕсли; + КонецЦикла; + + ПомещенныеФайлы = Новый Массив; + ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, УникальныйИдентификатор); + + // Сохраняем время изменения - версию + Для Позиция = 0 По ПомещенныеФайлы.ВГраница() Цикл + Описание = ПомещенныеФайлы[Позиция]; + + ДанныеФайла = Новый Структура("Имя, Хранение"); + ЗаполнитьЗначенияСвойств(ДанныеФайла, Описание); + + Файл = Новый Файл(Описание.Имя); + ДанныеФайла.Вставить("ВремяИзменения", Файл.ПолучитьУниверсальноеВремяИзменения()); + + ПомещенныеФайлы[Позиция] = ДанныеФайла; + КонецЦикла; + + // Удаляем локальные временные клиентские файлы + Для Каждого ИмяФайла Из ПараметрыЗагрузки.УдалитьПослеПередачиНаСервер Цикл + АдресныйКлассификаторКлиентСервер.УдалитьВременныйФайл(ИмяФайла); + КонецЦикла; + + // Запуск фонового по загрузке из переданных файлов + Если ЭтоАдресВременногоХранилища(ПараметрыДлительнойОперации.АдресРезультата) Тогда + УдалитьИзВременногоХранилища(ПараметрыДлительнойОперации.АдресРезультата); + КонецЕсли; + ПараметрыДлительнойОперации.АдресРезультата = Неопределено; + + Режим = Неопределено; + ПараметрыЗагрузки.Свойство("Режим", Режим); + + ЗапуститьФоновуюЗагрузкуНаСервере(ПараметрыЗагрузки.КодыРегионов, ПомещенныеФайлы, Режим); + ПодключитьОбработчикОжидания("Подключаемый_ОжиданиеДлительнойОперации", 0.1, Истина); +КонецПроцедуры + &НаСервере -Процедура ЗаполнитьТаблицуАдресныхОбъектов(ЗаданныеРегионыДляЗагрузки) +Процедура ЗапуститьФоновуюЗагрузкуНаСервере(Знач КодыРегионов, Знач ОписаниеФайловЗагрузки, Знач Режим = Неопределено) + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(КодыРегионов); - МассивЗагружаемыхАО = ЗагрузитьНастройкуЗагрузкиКЛАДР("ЗагружаемыеРегионы"); - - АдресныеОбъектыДляЗагрузки.Очистить(); - - КлассификаторАдресныхОбъектовXML = - РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; - - Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл + // Файлы преобразуем в двоичные данные - хранилище не может быть разделено с сеансом фонового задания + ОписаниеФайлов = Новый Массив; + Для Каждого Описание Из ОписаниеФайловЗагрузки Цикл - Наименование = СокрЛП(Лев(АдресныйОбъект.Code, 2) + " - " + АдресныйОбъект.Name + " " + АдресныйОбъект.Socr); - - НоваяСтрока = АдресныеОбъектыДляЗагрузки.Добавить(); - НоваяСтрока.НаименованиеАдресногоОбъекта = Наименование; - - Если ЗаданныеРегионыДляЗагрузки <> Неопределено Тогда - // - Если ЗаданныеРегионыДляЗагрузки.Найти(Лев(АдресныйОбъект.Code, 2)) <> Неопределено Тогда - НоваяСтрока.Пометка = Истина; - Иначе - НоваяСтрока.Пометка = Ложь; - КонецЕсли; - // - ИначеЕсли МассивЗагружаемыхАО <> Неопределено Тогда - // - Если МассивЗагружаемыхАО.Найти(Лев(АдресныйОбъект.Code, 2)) <> Неопределено Тогда - НоваяСтрока.Пометка = Истина; - Иначе - НоваяСтрока.Пометка = Ложь; - КонецЕсли; - Иначе - НоваяСтрока.Пометка = Ложь; - КонецЕсли; + ДанныеФайла = Новый Структура("Имя, ВремяИзменения"); + ЗаполнитьЗначенияСвойств(ДанныеФайла, Описание); + ДанныеФайла.Вставить("Хранение", ПолучитьИзВременногоХранилища(Описание.Хранение)); + ОписаниеФайлов.Добавить(ДанныеФайла); КонецЦикла; + ПараметрыМетода.Добавить(ОписаниеФайлов); - Если ЗаданныеРегионыДляЗагрузки <> Неопределено Тогда - // - Если ЗаданныеРегионыДляЗагрузки.Найти("AL") <> Неопределено Тогда - АдресныйОбъект = АдресныйКлассификатор.ИнформацияПоАдресномуОбъекту("AL"); - НоваяСтрока = АдресныеОбъектыДляЗагрузки.Добавить(); - НоваяСтрока.НаименованиеАдресногоОбъекта = СокрЛП(Лев(АдресныйОбъект.КодАдресногоОбъекта, 2) + " - " + АдресныйОбъект.Наименование); - НоваяСтрока.Пометка = Истина; - ОбязательныеАдресныеОбъекты.Добавить(НоваяСтрока.ПолучитьИдентификатор()); - КонецЕсли; - // - Если ЗаданныеРегионыДляЗагрузки.Найти("SO") <> Неопределено Тогда - АдресныйОбъект = АдресныйКлассификатор.ИнформацияПоАдресномуОбъекту("SO"); - НоваяСтрока = АдресныеОбъектыДляЗагрузки.Добавить(); - НоваяСтрока.НаименованиеАдресногоОбъекта = СокрЛП(Лев(АдресныйОбъект.КодАдресногоОбъекта, 2) + " - " + АдресныйОбъект.Наименование); - НоваяСтрока.Пометка = Истина; - ОбязательныеАдресныеОбъекты.Добавить(НоваяСтрока.ПолучитьИдентификатор()); - КонецЕсли; - КонецЕсли; + ПараметрыМетода.Добавить(Режим); + ПараметрыДлительнойОперации.Идентификатор = Неопределено; + ПараметрыДлительнойОперации.Завершено = Истина; + ПараметрыДлительнойОперации.АдресРезультата = Неопределено; + ПараметрыДлительнойОперации.Ошибка = Неопределено; + + Попытка + РезультатЗапуска = ДлительныеОперации.ЗапуститьВыполнениеВФоне( + УникальныйИдентификатор, + "АдресныйКлассификатор.ФоновоеЗаданиеЗагрузкиКлассификатораАдресов", + ПараметрыМетода, + НСтр("ru = 'Загрузка адресного классификатора'") + ); + Исключение + ПараметрыДлительнойОперации.Ошибка = ПодробноеПредставлениеОшибки( ИнформацияОбОшибке() ); + Возврат; + + КонецПопытки; + + ПараметрыДлительнойОперации.Идентификатор = РезультатЗапуска.ИдентификаторЗадания; + ПараметрыДлительнойОперации.Завершено = РезультатЗапуска.ЗаданиеВыполнено; + ПараметрыДлительнойОперации.АдресРезультата = РезультатЗапуска.АдресХранилища; + + // Запущенное + Элементы.ПрерватьЗагрузку.Доступность = Истина; КонецПроцедуры -// Возвращает количество помеченных адресных объектов -// -&НаКлиенте -Функция КоличествоОтмеченныхАдресныхОбъектов() +&НаСервере +Функция СостояниеФоновогоЗадания() + Результат = Новый Структура("Прогресс, Завершено, Ошибка"); - КоличествоОтмеченныхАдресныхОбъектов = 0; - - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъектыДляЗагрузки Цикл - Если ЭлементАдресныйОбъект.Пометка Тогда - КоличествоОтмеченныхАдресныхОбъектов = КоличествоОтмеченныхАдресныхОбъектов + 1; - КонецЕсли; - КонецЦикла; - - Возврат КоличествоОтмеченныхАдресныхОбъектов; - - Возврат НСтр("ru = '<не выбрано>'"); + Результат.Ошибка = ""; + Если ПараметрыДлительнойОперации.Идентификатор = Неопределено Тогда + Результат.Завершено = Истина; + Результат.Прогресс = Неопределено; + Результат.Ошибка = ПараметрыДлительнойОперации.Ошибка; + Иначе + Попытка + Результат.Завершено = ДлительныеОперации.ЗаданиеВыполнено(ПараметрыДлительнойОперации.Идентификатор); + Результат.Прогресс = ДлительныеОперации.ПрочитатьПрогресс(ПараметрыДлительнойОперации.Идентификатор); + Исключение + Результат.Ошибка = ПодробноеПредставлениеОшибки( ИнформацияОбОшибке() ); + КонецПопытки + КонецЕсли; + Возврат Результат; КонецФункции -// В зависимости от текущей страницы устанавливает доступность тех или иных полей для пользователя -// -&НаКлиенте -Процедура УстановитьИзмененияВИнтерфейсе() - - ИсточникДанныхДляЗагрузкиВыбран = ИсточникДанныхДляЗагрузкиВыбран(); - ВыбраноРегионовДляЗагрузки = КоличествоОтмеченныхАдресныхОбъектов(); - - ЗаголовокДалее = НСтр("ru = 'Далее >'"); - - Если Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборАдресныхОбъектов Тогда - Элементы.Назад.Видимость = Ложь; - Элементы.Далее.Доступность = Истина; - - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаВыборИсточника Тогда - Элементы.Назад.Видимость = Истина; - Элементы.Назад.Доступность = Истина; - Элементы.Далее.Доступность = Истина; - - Если ИсточникДанныхДляЗагрузки = 0 Тогда - ИсточникДанныхДляЗагрузки = 1; - КонецЕсли; - - Если ИсточникДанныхДляЗагрузки = 2 Тогда - Элементы.СтраницыСпособаЗагрузки.ТекущаяСтраница = Элементы.СтраницаЗагрузкаСДискаИТС; - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 Тогда - Элементы.СтраницыСпособаЗагрузки.ТекущаяСтраница = Элементы.СтраницаЗагрузкаФайлов; - Иначе - Элементы.СтраницыСпособаЗагрузки.ТекущаяСтраница = Элементы.ПустаяСтраница; - КонецЕсли; - - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаЗагрузка Тогда - Элементы.Назад.Доступность = Истина; - Элементы.Далее.Доступность = Истина; - - ЗаголовокДалее = НСтр("ru = 'Загрузить'"); - ИначеЕсли Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.СтраницаУспех Тогда - Элементы.Назад.Видимость = Ложь; - Элементы.Далее.Видимость = Истина; - Элементы.Далее.Доступность = Истина; - Элементы.Отмена.Видимость = Ложь; - - ЗаголовокДалее = НСтр("ru = 'Закрыть'"); - КонецЕсли; - - Элементы.Далее.Заголовок = ЗаголовокДалее; -КонецПроцедуры - -&НаКлиенте -Функция ИсточникДанныхДляЗагрузкиВыбран() - - ИсточникВыбран = Ложь; - - Если ИсточникДанныхДляЗагрузки = 1 Тогда - ИсточникВыбран = Истина; - ИначеЕсли ИсточникДанныхДляЗагрузки = 2 Тогда - Если АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловНаДискеИТС(ДискИТС) Тогда - ИсточникВыбран = Истина; - КонецЕсли; - ИначеЕсли ИсточникДанныхДляЗагрузки = 3 Тогда - Если АдресныйКлассификаторКлиент.ПроверитьНаличиеФайловДанныхВКаталоге(ПутьКФайламДанныхНаДиске) Тогда - ИсточникВыбран = Истина; - КонецЕсли; - КонецЕсли; - - Возврат ИсточникВыбран; - -КонецФункции - -&НаКлиентеНаСервереБезКонтекста -Процедура ОтметитьОбязательные(Контекст) - - Для каждого Описание Из Контекст.ОбязательныеАдресныеОбъекты Цикл - Контекст.АдресныеОбъектыДляЗагрузки.НайтиПоИдентификатору(Описание.Значение).Пометка = Истина; - КонецЦикла - -КонецПроцедуры - &НаСервереБезКонтекста -Процедура ОтменитьПроцессЗагрузки(ИдентификаторЗадания) - ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания); +Процедура ОтменитьФоновоеЗадание(Знач Идентификатор) + + Если Идентификатор <> Неопределено Тогда + Попытка + ДлительныеОперации.ОтменитьВыполнениеЗадания(Идентификатор); + Исключение + // Действие не требуется, запись в журнал регистрации уже произведена + КонецПопытки + КонецЕсли; + КонецПроцедуры &НаКлиенте -Функция ВыбранныеОбъектыЗагрузки() +Процедура Подключаемый_ОжиданиеДлительнойОперации() + + // Обновим статус + Состояние = СостояниеФоновогоЗадания(); + Если Не ПустаяСтрока(Состояние.Ошибка) Тогда + // Завершено с ошибкой, сообщим и вернемся на первую страницу + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Состояние.Ошибка); + Возврат; + + ИначеЕсли Состояние.Завершено Тогда + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.УспешноеЗавершение; + ТекстОписанияЗагрузки = НСтр("ru = 'Адресный классификатор успешно загружен.'"); + + Оповестить("ЗагруженАдресныйКлассификатор", , ЭтотОбъект); + + Элементы.Закрыть.КнопкаПоУмолчанию = Истина; + ТекущийЭлемент = Элементы.Закрыть; + ПодтверждениеЗакрытияФормы = Истина; + Возврат; + + КонецЕсли; + + // Процесс продолжается + Если ТипЗнч(Состояние.Прогресс) = Тип("Структура") Тогда + ТекстСостоянияЗагрузки = Состояние.Прогресс.Текст; + КонецЕсли; + ПодключитьОбработчикОжидания("Подключаемый_ОжиданиеДлительнойОперации", ПараметрыДлительнойОперации.ИнтервалОжидания, Истина); + +КонецПроцедуры + +&НаКлиенте +Функция КодыРегионовДляЗагрузки() Результат = Новый Массив; - // Первыми всегда идут сокращения - ИмяСокращений = "SO"; - Результат.Добавить(ИмяСокращений); - - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъектыДляЗагрузки Цикл - Идентификатор = ВРег(Лев(ЭлементАдресныйОбъект.НаименованиеАдресногоОбъекта, 2)); - Если ЭлементАдресныйОбъект.Пометка И Идентификатор<>ИмяСокращений Тогда - Результат.Добавить(Идентификатор); - КонецЕсли; + Для Каждого Регион Из СубъектыРФ.НайтиСтроки( Новый Структура("Загружать", Истина) ) Цикл + Результат.Добавить(Регион.КодСубъектаРФ); КонецЦикла; Возврат Результат; КонецФункции -&НаСервере -Функция СохраненныеДанныеАутентификацииСервер() - Перем КодПользователя, Пароль; +&НаКлиенте +Функция РаспаковатьАрхивИТС(Знач ПолноеИмяФайла, Знач МаскаОжидаемого) - АдресныйКлассификатор.ПолучитьПараметрыАутентификации(КодПользователя, Пароль); + КаталогКлиента = АдресныйКлассификаторКлиент.ВременныйКаталогКлиента(); + + Команда = """" + ПолноеИмяФайла + """ -s -d """ + КаталогКлиента + """"; + ЗапуститьПриложение(Команда, КаталогКлиента, Истина); - Возврат Новый Структура("КодПользователя, Пароль", КодПользователя, Пароль); + // Возвращаем первый файл по ожидаемой маске + Найденное = АдресныйКлассификаторКлиентСервер.НайтиФайл(КаталогКлиента, МаскаОжидаемого); + Если Не Найденное.Существует Тогда + Элементы.ШагиЗагрузки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка распаковки файла ""%1"", ожидаемое содержимое не получено'"), ПолноеИмяФайла); + КонецЕсли; + + Результат = Новый Структура; + Результат.Вставить("ИмяФайла", Найденное.ПолноеИмя); + Результат.Вставить("ИмяУдаляемогоФайла", КаталогКлиента); + + Возврат Результат; КонецФункции +&НаСервереБезКонтекста +Функция СохраненныеДанныеАутентификацииСайта() + + Возврат АдресныйКлассификатор.ПараметрыАутентификацииНаСайте(); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция КодИсточникаЗагрузкиПоУмолчанию() + + Возврат "КАТАЛОГ"; + +КонецФункции #КонецОбласти diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Form.form b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Form.form index 75e6bad92..21df9e496 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Form.form +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Form.form @@ -1,49 +1,297 @@ - - АдресныеОбъекты - 1 - true - true - - true - - - АдресныеОбъекты - - false - None - Add - Copy - CopyToClipboard - Delete - EndEdit - MoveDown - MoveUp - OutputList - SortListAsc - SortListDesc + + <key>ru</key> + <value>Очистка адресного классификатора</value> + + + ШагиОчистки + 59 - ГруппаСтрока - 10 - - Пометка - 4 + ВыборРегионовОчистки + 61 + + СубъектыРФ + 1 true true true - АдресныеОбъекты.Пометка + СубъектыРФ + None + Add + Change + Copy + Delete + EndEdit + MoveDown + MoveUp + SelectAll + + СубъектыРФОчищать + 20 + true + true + + true + + + СубъектыРФ.Очищать + + + OnChange + СубъектыРФОчищатьПриИзменении + + + СубъектыРФОчищатьРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + + СубъектыРФОчищатьКонтекстноеМеню + 21 + true + + CheckBoxField + Auto + true + Left + true + + + + СубъектыРФПредставление + 17 + true + true + + true + + + СубъектыРФ.Представление + + + СубъектыРФПредставлениеРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + + СубъектыРФПредставлениеКонтекстноеМеню + 18 + true + + LabelField + Left + Auto + true + Left + true + Left + + true + true + + + + СубъектыРФКоманднаяПанель + 3 + + СубъектыРФУстановитьФлажки + 47 + true + true + + true + + + СубъектыРФУстановитьФлажкиРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + Form.Command.УстановитьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + СубъектыРФСнятьФлажки + 49 + true + true + + true + + + СубъектыРФСнятьФлажкиРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + Form.Command.СнятьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + СубъектыРФНайти + 43 + true + true + + true + + + СубъектыРФНайтиРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + Form.Item.СубъектыРФ.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + СубъектыРФОтменитьПоиск + 45 + true + true + + true + + + СубъектыРФОтменитьПоискРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + Form.Item.СубъектыРФ.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + Left + - OnChange - ПометкаПриИзменении + Selection + СубъектыРФВыбор + + СубъектыРФСтрокаПоиска + 119 + + СубъектыРФСтрокаПоискаРасширеннаяПодсказка + 121 + Label + true + true + + Left + + + + СубъектыРФСтрокаПоискаКонтекстноеМеню + 120 + true + + СубъектыРФ + + true + + + + СубъектыРФСостояниеПросмотра + 122 + + СубъектыРФСостояниеПросмотраРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + + СубъектыРФСостояниеПросмотраКонтекстноеМеню + 123 + true + + ViewStatusAddition + СубъектыРФ + + true + + + + СубъектыРФУправлениеПоиском + 125 + + СубъектыРФУправлениеПоискомРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + + СубъектыРФУправлениеПоискомКонтекстноеМеню + 126 + true + + SearchControlAddition + СубъектыРФ + + true + + - ПометкаExtendedTooltip - 25 + СубъектыРФРасширеннаяПодсказка + 4 Label true true @@ -52,31 +300,161 @@ - ПометкаКонтекстноеМеню - 5 + СубъектыРФКонтекстноеМеню + 2 true - CheckBoxField - Enter - true - Left - true - + Tree + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + false + false + true + Auto + Auto + true + true + true + true + + СубъектыРФ.Загружено + + None + None + None + true + - - НаименованиеАдресногоОбъекта - 6 + + ГруппаКомандЗагрузки + 8 + + ВыбраноРегионовДляОчистки + 51 + true + true + + true + + + ВыбраноРегионовДляОчистки + + + ВыбраноРегионовДляОчисткиРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + + ВыбраноРегионовДляОчисткиКонтекстноеМеню + 52 + true + + LabelField + Left + Enter + true + Left + true + + 2 + true + true + false + + ru + ЧН=- + + + + + НадписьОтступ + 116 + true + true + + true + + + НадписьОтступРасширеннаяПодсказка + 118 + Label + true + true + + Left + + + + НадписьОтступКонтекстноеМеню + 117 + true + + Label + true + true + true + + Left + + + + Очистить + 10 + true + true + + true + + + ОчиститьРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + UsualButton + Form.Command.Очистить + Auto + true + true + true + UserCmds + Auto + true true true - - АдресныеОбъекты.НаименованиеАдресногоОбъекта - + + <key>ru</key> + <value>Группа команд загрузки</value> + + + ru + Группа команд загрузки + + true - НаименованиеАдресногоОбъектаExtendedTooltip - 26 + ГруппаКомандЗагрузкиРасширеннаяПодсказка + 9 Label true true @@ -84,24 +462,14 @@ Left - - НаименованиеАдресногоОбъектаКонтекстноеМеню - 7 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - Normal + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto true @@ -111,15 +479,15 @@ <key>ru</key> - <value>Группа строка</value> + <value>Выбор регионов очистки</value> ru - Группа строка + Выбор регионов очистки - ГруппаСтрокаExtendedTooltip - 24 + ВыборРегионовОчисткиРасширеннаяПодсказка + 62 Label true true @@ -127,28 +495,112 @@ Left - ColumnGroup - + Page + + Vertical auto - true - Top - - АдресныеОбъектыКоманднаяПанель - 3 - - ВыделитьВсе - 9 + + ОжиданиеОчистки + 63 + + ГруппаОписание + 65 + + КартинкаДлительнаяОперация + 67 + true + true + + true + + + КартинкаДлительнаяОперацияРасширеннаяПодсказка + 69 + Label + true + true + + Left + + + + КартинкаДлительнаяОперацияКонтекстноеМеню + 68 + true + + 10 + true + 4 + true + false + false + + + CommonPicture.ДлительнаяОперация48 + + + + + ТекстОписанияОчистки + 73 + true + true + + true + + + ТекстОписанияОчистки + + None + ShowBottom + + ТекстОписанияОчисткиРасширеннаяПодсказка + 75 + + <key>ru</key> + <value>Очистка адресного классификатора может занять длительное время, +которое зависит от количества выбранных регионов РФ.</value> + + Label + true + true + + Left + + + + ТекстОписанияОчисткиКонтекстноеМеню + 74 + true + + LabelField + Enter + true + Left + true + + true + true + + true true true - false + + <key>ru</key> + <value>Группа описание</value> + + + ru + Группа описание + - ВыделитьВсеExtendedTooltip - 19 + ГруппаОписаниеРасширеннаяПодсказка + 66 Label true true @@ -156,26 +608,189 @@ Left - Form.Command.ВыделитьВсе - Normal - Auto - true - true - UserCmds - Auto + UsualGroup + + Auto + true + true + Auto + Auto + - - ОтменитьВыделитьВсе - 8 + + ГруппаКомандОтмены + 76 + + Декорация2 + 80 + true + true + + true + + + Декорация2РасширеннаяПодсказка + 82 + Label + true + true + + Left + + + + Декорация2КонтекстноеМеню + 81 + true + + Label + true + true + true + + Left + + + + ТекстСостоянияЗагрузки + 88 + true + true + + true + + + ТекстСостоянияОчистки + + None + + ТекстСостоянияЗагрузкиРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + + ТекстСостоянияЗагрузкиКонтекстноеМеню + 89 + true + + LabelField + Enter + true + Left + true + + true + true + + + + Группа1 + 83 + + Декорация3 + 85 + true + true + + true + + + Декорация3РасширеннаяПодсказка + 87 + Label + true + true + + Left + + + + Декорация3КонтекстноеМеню + 86 + true + + Label + true + true + true + + Left + + + + ПрерватьОчистку + 78 + true + true + + true + + + ПрерватьОчисткуРасширеннаяПодсказка + 79 + Label + true + true + + Left + + + UsualButton + Form.Command.ПрерватьОчистку + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа1РасширеннаяПодсказка + 84 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + true true true - false + + <key>ru</key> + <value>Группа команд отмены</value> + + + ru + Группа команд отмены + + true + true - ОтменитьВыделитьВсеExtendedTooltip - 20 + ГруппаКомандОтменыРасширеннаяПодсказка + 77 Label true true @@ -183,80 +798,33 @@ Left - Form.Command.ОтменитьВыделитьВсе - Normal - Auto - true - true - UserCmds - Auto + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + - - Найти - 12 - true - true - - true - - false - - НайтиExtendedTooltip - 21 - Label - true - true - - Left - - - Form.Item.АдресныеОбъекты.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - Кнопка - 11 - true - true - - true - - false - - КнопкаExtendedTooltip - 22 - Label - true - true - - Left - - - Form.Item.АдресныеОбъекты.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - Left - - - Selection - АдресныеОбъектыВыбор - - - АдресныеОбъектыСтрокаПоиска - 35 + true + true + + true + + + <key>ru</key> + <value>Ожидание очистки</value> + + + ru + Ожидание очистки + - АдресныеОбъектыСтрокаПоискаРасширеннаяПодсказка - 37 + ОжиданиеОчисткиРасширеннаяПодсказка + 64 Label true true @@ -264,22 +832,299 @@ Left - - АдресныеОбъектыСтрокаПоискаКонтекстноеМеню - 36 - true - - АдресныеОбъекты - - true + Page + + Vertical + auto - - - АдресныеОбъектыСостояниеПросмотра - 38 + + + УспешноеЗавершение + 91 + + ГруппаОписаниеЗавершения + 93 + + КартинкаУспешноеЗавершение + 95 + + <key>ru</key> + <value>Длительная операция</value> + + true + true + + true + + + КартинкаУспешноеЗавершениеРасширеннаяПодсказка + 97 + Label + true + true + + Left + + + + КартинкаУспешноеЗавершениеКонтекстноеМеню + 96 + true + + 10 + true + 2 + true + false + false + + + CommonPicture.Успешно32 + + + + + ТекстОписанияОчисткиЗавершения + 98 + true + true + + true + + + ТекстОписанияОчистки + + None + ShowBottom + + ТекстОписанияОчисткиЗавершенияРасширеннаяПодсказка + 100 + Label + true + true + + Left + + + + ТекстОписанияОчисткиЗавершенияКонтекстноеМеню + 99 + true + + LabelField + true + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа описание</value> + + + ru + Группа описание + + + ГруппаОписаниеЗавершенияРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаКомандЗавершения + 101 + + Декорация4 + 103 + true + true + + true + + + Декорация4РасширеннаяПодсказка + 105 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 104 + true + + Label + true + true + true + + Left + + + + Группа2 + 109 + + Декорация5 + 111 + true + true + + true + + + Декорация5РасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 112 + true + + Label + true + true + true + + Left + + + + Закрыть + 114 + true + true + + true + + + ЗакрытьРасширеннаяПодсказка + 115 + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Close + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа2РасширеннаяПодсказка + 110 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа команд завершения</value> + + + ru + Группа команд отмены + + true + true + + ГруппаКомандЗавершенияРасширеннаяПодсказка + 102 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Успешное завершение</value> + + + ru + Успешное завершение + - АдресныеОбъектыСостояниеПросмотраРасширеннаяПодсказка - 40 + УспешноеЗавершениеРасширеннаяПодсказка + 92 Label true true @@ -287,96 +1132,28 @@ Left - - АдресныеОбъектыСостояниеПросмотраКонтекстноеМеню - 39 - true - - ViewStatusAddition - АдресныеОбъекты - - true + Page + + Vertical + auto - - - АдресныеОбъектыУправлениеПоиском - 41 - - АдресныеОбъектыУправлениеПоискомРасширеннаяПодсказка - 43 - Label - true - true - - Left - - - - АдресныеОбъектыУправлениеПоискомКонтекстноеМеню - 42 - true - - SearchControlAddition - АдресныеОбъекты - - true - - - - АдресныеОбъектыExtendedTooltip - 23 - Label - true - true - - Left - - - - АдресныеОбъектыКонтекстноеМеню - 2 - true - - true - true - true - true - true - Row - 1 - 1 - AutoUse - AutoUse - true - true - false - false - false - true - Auto - Auto - true - true - None - None - None - true - - - - КоличествоВыбраных - 32 + true true true - - КоличествоВыбранных - + + <key>ru</key> + <value>Шаги очистки</value> + + + ru + Шаги очистки + - КоличествоВыбраныхРасширеннаяПодсказка - 34 + ШагиОчисткиРасширеннаяПодсказка + 60 Label true true @@ -384,145 +1161,49 @@ Left - - КоличествоВыбраныхКонтекстноеМеню - 33 - true - - LabelField - Left - Enter - true - Left - true - - true - true - - ru - ЧН=- - - - System.DefaultGUIFont - true - false - false - false - + Pages + + Auto - Bottom - true ФормаКоманднаяПанель -1 - - Очистить - 13 - true - true - - true - - false - - ОчиститьExtendedTooltip - 16 - Label - true - true - - Left - - - Form.Command.Очистить - Auto - true - true - true - UserCmds - Auto - - - Отмена - 14 - true - true - - true - - false - - ОтменаExtendedTooltip - 17 - Label - true - true - - Left - - - Form.StandardCommand.Cancel - Normal - Auto - true - true - UserCmds - Auto - - - Справка - 15 - true - true - - true - - false - - СправкаExtendedTooltip - 18 - Label - true - true - - Left - - - Form.StandardCommand.Help - Normal - Auto - true - true - UserCmds - Auto - - Right + Left OnOpen ПриОткрытии + + BeforeClose + ПередЗакрытием + OnCreateAtServer ПриСозданииНаСервере + + OnClose + ПриЗакрытии + + 10 LockOwner + Use + UseList true - true true Vertical true true true - UseIfNecessary auto true - АдресныеОбъекты + СубъектыРФ <key>ru</key> - <value>Адресные объекты</value> + <value>Субъекты РФ</value> 1 @@ -535,14 +1216,17 @@ true - Пометка + КодСубъектаРФ <key>ru</key> - <value>Пометка</value> + <value>Код субъекта РФ</value> 1 - Boolean + Number + + 2 + true @@ -552,10 +1236,10 @@ - НаименованиеАдресногоОбъекта + Представление <key>ru</key> - <value>Наименование адресного объекта</value> + <value>Субъект РФ</value> 2 @@ -569,18 +1253,52 @@ true + + Загружено + + <key>ru</key> + <value>Загружено</value> + + 3 + + Boolean + + + true + + + true + + + + Очищать + + <key>ru</key> + <value>Очищать</value> + + 4 + + Boolean + + + true + + + true + + - КоличествоВыбранных + ВыбраноРегионовДляОчистки <key>ru</key> - <value>Выбрано регионов для очистки</value> + <value>Регионов</value> - 2 + 6 Number - 3 + 2 @@ -590,16 +1308,85 @@ true - - ВыделитьВсе + + ТекстОписанияОчистки <key>ru</key> - <value>Выбрать все</value> + <value>Текст описания очистки</value> - 1 + 7 + + String + + + + true + + + true + + + + ТекстСостоянияОчистки + + <key>ru</key> + <value>Текст состояния очистки</value> + + 8 + + String + + + + true + + + true + + + + ПараметрыДлительнойОперации + 10 + + + true + + + true + + + + Очистить + + <key>ru</key> + <value>Очистить</value> + + 2 ru - Выбрать все регионы для очистки загруженного по ним адресного классификатора. + Очистить + + + true + + + + Очистить + + + Auto + Auto + + + УстановитьФлажки + + <key>ru</key> + <value>Установить флажки</value> + + 3 + + ru + Выбрать все регионы для загрузки true @@ -609,22 +1396,22 @@ - ВыделитьВсеВыполнить + УстановитьФлажки Auto Auto - ОтменитьВыделитьВсе + СнятьФлажки <key>ru</key> - <value>Снять отметку со всех</value> + <value>Снять флажки</value> - 2 + 4 ru - Отменить выбор всех регионов для очистки загруженного по ним адресного классификатора. + Очистить пометку для загрузки у всех регионов true @@ -634,29 +1421,29 @@ - ОтменитьВыделитьВсеВыполнить + СнятьФлажки Auto Auto - Очистить + ПрерватьОчистку <key>ru</key> - <value>Очистить</value> + <value>Прервать</value> - 3 + 5 ru - Очистить + Прервать очистку true - ОчиститьВыполнить + ПрерватьОчистку Auto diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Help/ru.html b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Help/ru.html deleted file mode 100644 index 3c4c87697..000000000 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Help/ru.html +++ /dev/null @@ -1,2 +0,0 @@ - -

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

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Module.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Module.bsl index 897739386..f4e546b63 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Module.bsl +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ОчисткаАдресногоКлассификатора/Module.bsl @@ -1,46 +1,93 @@ +// Флаг подтверждения, используется при закрытии +&НаКлиенте +Перем ПодтверждениеЗакрытияФормы; + +// Хранилище передаваемых файлов +&НаКлиенте +Перем ПомещенныеФайлы; + +// Параметры загрузки для передачи между клиентскими вызовами +&НаКлиенте +Перем ПараметрыФоновойОчисткиКлассификатора; #Область ОбработчикиСобытийФормы -// Обработчик события "при создании на сервере" формы -// Заполняет таблицу по макету -// &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; - ЗаполнитьТаблицуПоМакетуАдресныхОбъектов(); + ПараметрыДлительнойОперации = Новый Структура("ИнтервалОжидания, Завершено, АдресРезультата, Идентификатор, Ошибка", 5); + // Получаем уже загруженные регионы + ТаблицаРегионов = РегистрыСведений.АдресныйКлассификатор.СведенияОЗагрузкеСубъектовРФ(); + ТаблицаРегионов.Колонки.Добавить("Очищать", Новый ОписаниеТипов("Булево")); + + Для Каждого Регион Из ТаблицаРегионов Цикл + Регион.Представление = Формат(Регион.КодСубъектаРФ, "ЧЦ=2; ЧН=; ЧВН=; ЧГ=") + ", " + Регион.Представление; + КонецЦикла; + + ЗначениеВРеквизитФормы(ТаблицаРегионов, "СубъектыРФ"); + + // Автосохранение настроек + СохраняемыеВНастройкахДанныеМодифицированы = Истина; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) - КоличествоВыбранных = КоличествоВыбранныхРегионов(); + ОбновитьИнтерфейсПоКоличествуОчищаемых(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) + + // Проверяем клиентскую переменную + Если ПодтверждениеЗакрытияФормы<>Истина Тогда + Оповещение = Новый ОписаниеОповещения("ЗакрытиеФормыЗавершение", ЭтотОбъект); + Отказ = Истина; + + Текст = НСтр("ru = 'Прервать очистку адресного классификатора?'"); + ПоказатьВопрос(Оповещение, Текст, РежимДиалогаВопрос.ДаНет); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии() + + Если ПараметрыДлительнойОперации.Идентификатор <> Неопределено Тогда + ОтменитьФоновоеЗадание(ПараметрыДлительнойОперации.Идентификатор); + КонецЕсли; КонецПроцедуры #КонецОбласти -#Область ОбработчикиСобытийЭлементовШапкиФормы +#Область ОбработчикиСобытийЭлементовФормы -// Обработчик события "выбор" элемента формы АдресныеОбъекты -// Инвертирует флаг выбора адресного объекта -// &НаКлиенте -Процедура АдресныеОбъектыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) +Процедура СубъектыРФВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; - Элемент.ТекущиеДанные.Пометка = Не Элемент.ТекущиеДанные.Пометка; - КоличествоВыбранных = КоличествоВыбранныхРегионов(); + Если Поле = Элементы.СубъектыРФПредставление Тогда + ТекущиеДанные = СубъектыРФ.НайтиПоИдентификатору(ВыбраннаяСтрока); + Если ТекущиеДанные <> Неопределено Тогда + ТекущиеДанные.Очищать = Не ТекущиеДанные.Очищать; + ОбновитьИнтерфейсПоКоличествуОчищаемых(); + КонецЕсли + КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура ПометкаПриИзменении(Элемент) +Процедура СубъектыРФОчищатьПриИзменении(Элемент) - КоличествоВыбранных = КоличествоВыбранныхРегионов(); + ОбновитьИнтерфейсПоКоличествуОчищаемых(); КонецПроцедуры @@ -48,159 +95,248 @@ #Область ОбработчикиКомандФормы -// Обработчик события нажатия на кнопку командной панели -// элемента управления АдресныеОбъекты. -// Устанавливает флаг выбора всем адресным объектам в списке -// &НаКлиенте -Процедура ВыделитьВсеВыполнить(Команда) +Процедура УстановитьФлажки(Команда) УстановитьПометкиСпискаРегионов(Истина); КонецПроцедуры -// Обработчик события нажатия на кнопку командной панели -// элемента управления АдресныеОбъекты. -// Снимает флаг выбора у всех адресных объектов в списке -// &НаКлиенте -Процедура ОтменитьВыделитьВсеВыполнить(Команда) +Процедура СнятьФлажки(Команда) УстановитьПометкиСпискаРегионов(Ложь); КонецПроцедуры -// Обработчик события нажатия на кнопку "Очистить" -// Проверяет корректность данных и вызывает диалог подтверждения -// очистки адресных сведений. -// &НаКлиенте -Процедура ОчиститьВыполнить(Команда) +Процедура Очистить(Команда) - ОчиститьСообщения(); + ОчиститьКлассификатор(); - Если КоличествоВыделенныхАдресныхОбъектов() = 0 Тогда - ОбщегоНазначенияКлиентСервер.СообщитьПользователю( - НСтр("ru = 'Необходимо выбрать как минимум один адресный объект.'"), , - "АдресныеОбъекты"); - Возврат; - КонецЕсли; - - // Список адресных объектов для очистки - ВыбранныеОбъекты = Новый Массив; - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъекты Цикл - Если ЭлементАдресныйОбъект.Пометка Тогда - ВыбранныеОбъекты.Добавить(Лев(ЭлементАдресныйОбъект.НаименованиеАдресногоОбъекта, 2)); - КонецЕсли; - КонецЦикла; - - ТекстВопроса = НСтр("ru = 'Адресные сведения по выбранным объектам будут удалены. Удалить адресные сведения?'"); - - Оповещение = Новый ОписаниеОповещения("ОчиститьВыполнитьЗавершение", ЭтотОбъект, Новый Структура); - Оповещение.ДополнительныеПараметры.Вставить("ВыбранныеОбъекты", ВыбранныеОбъекты); - ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ОКОтмена); КонецПроцедуры &НаКлиенте -Процедура ОчиститьВыполнитьЗавершение(Знач РезультатВопроса, Знач ДополнительныеПараметры) Экспорт - Если РезультатВопроса<>КодВозвратаДиалога.ОК Тогда - Возврат; - КонецЕсли; +Процедура ПрерватьОчистку(Команда) - ОчиститьАдресныеСведения(ДополнительныеПараметры.ВыбранныеОбъекты); + ПодтверждениеЗакрытияФормы = Неопределено; + Закрыть(); - Оповещение = Новый ОписаниеОповещения("ОчиститьВыполнитьЗавершениеПредупреждение", ЭтотОбъект, ); - ПоказатьПредупреждение(Оповещение, НСтр("ru='Адресные сведения успешно удалены.'"),,НСтр("ru='Удаление адресных сведений.'")); -КонецПроцедуры - -&НаКлиенте -Процедура ОчиститьВыполнитьЗавершениеПредупреждение(Знач ДополнительныеПараметры) Экспорт - Оповестить("Запись_АдресныйКлассификатор", Новый Структура("Событие", "Очистить")); - Закрыть(Истина); КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -// Устанавливаем пометку только видимым элементам -// +// Завершение диалога закрытия формы +&НаКлиенте +Процедура ЗакрытиеФормыЗавершение(Знач РезультатВопроса, Знач ДополнительныеПараметры) Экспорт + + Если РезультатВопроса = КодВозвратаДиалога.Да Тогда + ПодтверждениеЗакрытияФормы = Истина; + Закрыть(); + Иначе + ПодтверждениеЗакрытияФормы = Неопределено; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьРазрешениеОчистки(Знач КоличествоОчищаемых = Неопределено) + + Если КоличествоОчищаемых = Неопределено Тогда + КоличествоОчищаемых = СубъектыРФ.НайтиСтроки( Новый Структура("Очищать", Истина) ).Количество(); + КонецЕсли; + + Элементы.Очистить.Доступность = КоличествоОчищаемых > 0 +КонецПроцедуры + +&НаСервере +Процедура УстановитьУсловноеОформление() + УсловноеОформление.Элементы.Очистить(); + + Элемент = УсловноеОформление.Элементы.Добавить(); + + Поля = Элемент.Поля.Элементы; + Поля.Добавить().Поле = Новый ПолеКомпоновкиДанных("СубъектыРФКодСубъектаРФ"); + Поля.Добавить().Поле = Новый ПолеКомпоновкиДанных("СубъектыРФПредставление"); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("СубъектыРФ.Загружено"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = Ложь; + + Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.ТемноСерый); +КонецПроцедуры + &НаКлиенте Процедура УстановитьПометкиСпискаРегионов(Знач Пометка) - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъекты Цикл - ИдентификаторСтроки = ЭлементАдресныйОбъект.ПолучитьИдентификатор(); - Если Элементы.АдресныеОбъекты.ДанныеСтроки(ИдентификаторСтроки) <> Неопределено Тогда - // Строка видимая - ЭлементАдресныйОбъект.Пометка = Пометка; + // Устанавливаем пометки только для видимых строк + ЭлементТаблицы = Элементы.СубъектыРФ; + Для Каждого СтрокаРегиона Из СубъектыРФ Цикл + Если ЭлементТаблицы.ДанныеСтроки( СтрокаРегиона.ПолучитьИдентификатор() ) <> Неопределено Тогда + СтрокаРегиона.Очищать = Пометка; КонецЕсли; КонецЦикла; - КоличествоВыбранных = КоличествоВыбранныхРегионов(); + ОбновитьИнтерфейсПоКоличествуОчищаемых(); КонецПроцедуры &НаКлиенте -Функция КоличествоВыбранныхРегионов(); +Процедура ОбновитьИнтерфейсПоКоличествуОчищаемых() - Возврат АдресныеОбъекты.НайтиСтроки( Новый Структура("Пометка", Истина) ).Количество(); + // Страница выбора + ВыбраноРегионовДляОчистки = СубъектыРФ.НайтиСтроки( Новый Структура("Очищать", Истина) ).Количество(); -КонецФункции + // Страница загрузки + ТекстОписанияОчистки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Очищаются данные выбранных регионов (%1)'"), ВыбраноРегионовДляОчистки + ); + + УстановитьРазрешениеОчистки(ВыбраноРегионовДляОчистки); +КонецПроцедуры +&НаКлиенте +Процедура ОчиститьКлассификатор() + + ОчиститьСообщения(); + + // Переключаем режим - страницу + Элементы.ШагиОчистки.ТекущаяСтраница = Элементы.ОжиданиеОчистки; + ТекстСостоянияОчистки = НСтр("ru = 'Очистка адресного классификатора ...'"); + + Элементы.ПрерватьОчистку.Доступность = Ложь; + + ПараметрыФоновойОчисткиКлассификатора = Новый Структура; + ПараметрыФоновойОчисткиКлассификатора.Вставить("КодыРегионов", КодыРегионовДляОчистки() ); + + ИспользуемыйКлассификатор = АдресныйКлассификаторКлиентСервер.ИспользуемыйАдресныйКлассификатор(); + Если ИспользуемыйКлассификатор <> "КЛАДР" Тогда + Элементы.ШагиОчистки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не обрабатываемый тип адресного классификатора ""%1""'"), ИспользуемыйКлассификатор); + КонецЕсли; + + ПодключитьОбработчикОжидания("ОчиститьКлассификаторКЛАДР", 0.1, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ОчиститьКлассификаторКЛАДР() + + КодыРегионов = ПараметрыФоновойОчисткиКлассификатора.КодыРегионов; + ПараметрыФоновойОчисткиКлассификатора= Неопределено; + + ЗапуститьФоновуюОчисткуНаСервере(КодыРегионов); + ПодключитьОбработчикОжидания("Подключаемый_ОжиданиеДлительнойОперации", 0.1, Истина); + +КонецПроцедуры -// Заполняет переданную таблицу значений по значениям таблицы адресных объектов. -// Выбирается код, наименование и сокращение типа объекта. -// &НаСервере -Процедура ЗаполнитьТаблицуПоМакетуАдресныхОбъектов() +Процедура ЗапуститьФоновуюОчисткуНаСервере(Знач КодыРегионов) + ПараметрыМетода = Новый Массив; + ПараметрыМетода.Добавить(КодыРегионов); - АдресныеОбъекты.Очистить(); + ПараметрыДлительнойОперации.Идентификатор = Неопределено; + ПараметрыДлительнойОперации.Завершено = Истина; + ПараметрыДлительнойОперации.АдресРезультата = Неопределено; + ПараметрыДлительнойОперации.Ошибка = Неопределено; - КлассификаторАдресныхОбъектовXML = - РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("КлассификаторАдресныхОбъектовРоссии").ПолучитьТекст(); - - КлассификаторТаблица = ОбщегоНазначения.ПрочитатьXMLВТаблицу(КлассификаторАдресныхОбъектовXML).Данные; - - Для Каждого АдресныйОбъект Из КлассификаторТаблица Цикл + Попытка + РезультатЗапуска = ДлительныеОперации.ЗапуститьВыполнениеВФоне( + УникальныйИдентификатор, + "АдресныйКлассификатор.ФоновоеЗаданиеОчисткиКлассификатораАдресов", + ПараметрыМетода, + НСтр("ru = 'Очистка адресного классификатора'") + ); + Исключение + ПараметрыДлительнойОперации.Ошибка = ПодробноеПредставлениеОшибки( ИнформацияОбОшибке() ); + Возврат; - Наименование = Лев(АдресныйОбъект.Code, 2) - + " - " - + АдресныйОбъект.Name - + " " - + АдресныйОбъект.Socr; - - НоваяСтрока = АдресныеОбъекты.Добавить(); - НоваяСтрока.Пометка = Ложь; - НоваяСтрока.НаименованиеАдресногоОбъекта = Наименование; - - КонецЦикла; + КонецПопытки; + ПараметрыДлительнойОперации.Идентификатор = РезультатЗапуска.ИдентификаторЗадания; + ПараметрыДлительнойОперации.Завершено = РезультатЗапуска.ЗаданиеВыполнено; + ПараметрыДлительнойОперации.АдресРезультата = РезультатЗапуска.АдресХранилища; + + // Запущенное + Элементы.ПрерватьОчистку.Доступность = Истина; КонецПроцедуры -// Возвращает количество помеченных адресных объектов -// -&НаКлиенте -Функция КоличествоВыделенныхАдресныхОбъектов() +&НаСервере +Функция СостояниеФоновогоЗадания() + Результат = Новый Структура("Прогресс, Завершено, Ошибка"); - КоличествоВыделенныхАдресныхОбъектов = 0; - - Для Каждого ЭлементАдресныйОбъект Из АдресныеОбъекты Цикл - Если ЭлементАдресныйОбъект.Пометка Тогда - КоличествоВыделенныхАдресныхОбъектов = КоличествоВыделенныхАдресныхОбъектов + 1; - КонецЕсли; - КонецЦикла; - - Возврат КоличествоВыделенныхАдресныхОбъектов; + Результат.Ошибка = ""; + Если ПараметрыДлительнойОперации.Идентификатор = Неопределено Тогда + Результат.Завершено = Истина; + Результат.Прогресс = Неопределено; + Результат.Ошибка = ПараметрыДлительнойОперации.Ошибка; + Иначе + Попытка + Результат.Завершено = ДлительныеОперации.ЗаданиеВыполнено(ПараметрыДлительнойОперации.Идентификатор); + Результат.Прогресс = ДлительныеОперации.ПрочитатьПрогресс(ПараметрыДлительнойОперации.Идентификатор); + Исключение + Результат.Ошибка = ПодробноеПредставлениеОшибки( ИнформацияОбОшибке() ); + КонецПопытки + КонецЕсли; + Возврат Результат; КонецФункции -// Удаляет адресные сведения по выбранным адресным объектам -// &НаСервереБезКонтекста -Процедура ОчиститьАдресныеСведения(Знач ВыбранныеОбъекты) +Процедура ОтменитьФоновоеЗадание(Знач Идентификатор) - АдресныйКлассификатор.УдалитьАдресныеСведения(ВыбранныеОбъекты); - АдресныйКлассификатор.ЗагрузитьАдресныеОбъектыПервогоУровня(); + Если Идентификатор <> Неопределено Тогда + Попытка + ДлительныеОперации.ОтменитьВыполнениеЗадания(Идентификатор); + Исключение + // Действие не требуется, запись в журнал регистрации уже произведена + КонецПопытки + КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура Подключаемый_ОжиданиеДлительнойОперации() + + // Обновим статус + Состояние = СостояниеФоновогоЗадания(); + Если Не ПустаяСтрока(Состояние.Ошибка) Тогда + // Завершено с ошибкой, сообщим и вернемся на первую страницу + Элементы.ШагиОчистки.ТекущаяСтраница = Элементы.ВыборРегионовЗагрузки; + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Состояние.Ошибка); + Возврат; + + ИначеЕсли Состояние.Завершено Тогда + Элементы.ШагиОчистки.ТекущаяСтраница = Элементы.УспешноеЗавершение; + ТекстОписанияОчистки = НСтр("ru = 'Адресный классификатор успешно очищен.'"); + + Оповестить("ОчищенАдресныйКлассификатор", , ЭтотОбъект); + + Элементы.Закрыть.КнопкаПоУмолчанию = Истина; + ТекущийЭлемент = Элементы.Закрыть; + ПодтверждениеЗакрытияФормы = Истина; + Возврат; + + КонецЕсли; + + // Процесс продолжается + Если ТипЗнч(Состояние.Прогресс) = Тип("Структура") Тогда + ТекстСостоянияОчистки = Состояние.Прогресс.Текст; + КонецЕсли; + ПодключитьОбработчикОжидания("Подключаемый_ОжиданиеДлительнойОперации", ПараметрыДлительнойОперации.ИнтервалОжидания, Истина); + +КонецПроцедуры + +&НаКлиенте +Функция КодыРегионовДляОчистки() + Результат = Новый Массив; + + Для Каждого Регион Из СубъектыРФ.НайтиСтроки( Новый Структура("Очищать", Истина) ) Цикл + Результат.Добавить(Регион.КодСубъектаРФ); + КонецЦикла; + + Возврат Результат; +КонецФункции + #КонецОбласти diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Form.form b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Form.form index 5e9591d45..6cd8732af 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Form.form +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Form.form @@ -1,5 +1,41 @@ + + ГруппаПользовательскихНастроек + 73 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 74 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + Список 14 @@ -534,10 +570,10 @@
                                          СписокСтрокаПоиска - 73 + 75 СписокСтрокаПоискаРасширеннаяПодсказка - 75 + 77 Label true true @@ -547,7 +583,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 74 + 76 true Список @@ -557,10 +593,10 @@ СписокСостояниеПросмотра - 76 + 78 СписокСостояниеПросмотраРасширеннаяПодсказка - 78 + 80 Label true true @@ -570,7 +606,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 77 + 79 true ViewStatusAddition @@ -581,10 +617,10 @@ СписокУправлениеПоиском - 79 + 81 СписокУправлениеПоискомРасширеннаяПодсказка - 81 + 83 Label true true @@ -594,7 +630,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 80 + 82 true SearchControlAddition @@ -781,6 +817,7 @@ true + ГруппаПользовательскихНастроек
                                          @@ -806,6 +843,7 @@ Retry SaveValues Yes + 13 LockOwner Use UseList diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Module.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Module.bsl index 7c3704f62..4f99bdfea 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Module.bsl +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Forms/ФормаВыбора/Module.bsl @@ -55,6 +55,12 @@ Поля.Регион, Поля.Район, Поля.Город, Поля.НаселенныйПункт, Поля.Улица ); + // Если адрес содержит дополнительную территорию которая была получена из ФИАС + Если Параметры.Свойство("ДополнительнаяТерритория") И ЗначениеЗаполнено(Параметры.ДополнительнаяТерритория) Тогда + Элементы.ДополнительнаяТерритория.Видимость = Истина; + ДополнительнаяТерритория = Параметры.ДополнительнаяТерритория; + КонецЕсли; + // Уточним по коду КодТекущейСтроки = Неопределено; Если Уровень = 1 И Параметры.Свойство("РегионКодКлассификатора") Тогда @@ -401,7 +407,7 @@ СтруктураАдреса.Корпус = Корпус; СтруктураАдреса.Квартира = Квартира; - // Проверяем ещё раз и возвращаем структуру ошибок + // Проверяем еще раз и возвращаем структуру ошибок СтруктураПроверки = АдресныйКлассификатор.ПроверитьСоответствиеАдресаКЛАДРу( "", Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус); diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Help/ru.html b/SSL/src/InformationRegisters/АдресныйКлассификатор/Help/ru.html index e97ff8357..5bf55d833 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Help/ru.html +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Help/ru.html @@ -1,2 +1,28 @@ - -

                                          В адресном классификаторе хранятся адресные сведения, необходимые для работы в программе. Для всех регионов РФ имеется возможность загрузки адресных сведений с сайта поддержки пользователей системы "1С:Предприятие" фирмы "1С", с диска информационно-технологического сопровождения (1С:ИТС), а также из файлов, распространяемых ГНИВЦ ФНС РФ.

                                          \ No newline at end of file + +

                                          В адресном классификаторе хранятся адресные сведения, необходимые для работы в программе.

                                          +

                                          Для обеспечения единства структуры и состава адресной информации ГНИВЦ ФНС РФ выпускает классификатор адресных объектов (КЛАДР). В КЛАДР содержатся почтовые адреса РФ. Использование КЛАДР помогает заполнять адреса правильно и быстро. Без этого невозможна сдача отчетности. Например, при сдаче отчетности по работникам в налоговую инспекцию, в пенсионный фонд необходимо заполнить адреса по стандарту, иначе отчетность не будет принята. Кроме того, адреса могут меняться и не всегда можно уследить за этими изменениями самостоятельно. Программа позволяет управлять адресами и поддерживать их в актуальном состоянии с помощью КЛАДР.

                                          +

                                          Для всех регионов РФ имеется возможность загрузки адресных сведений с сайта поддержки пользователей программы 1С:Предприятие фирмы "1С", с диска информационно-технологического сопровождения (1С:ИТС), а также из файлов, распространяемых ГНИВЦ ФНС РФ.

                                          +

                                          Окно для работы с адресным классификатором открывается по команде Адресный классификатор раздела Администрирование - Поддержка и Обслуживание - Классификаторы или раздела Справочники.

                                          +

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

                                          +

                                          Загрузка адресного классификатора

                                          +
                                          • Нажмите Загрузить. +
                                          • При загрузке классификатора можно выбрать один, несколько или все регионы России, по которым необходимо загрузить адресные сведения. Это удобно, т.к. можно не загружать адреса тех регионов, которые заведомо не будут использоваться в работе. Включите флажки рядом с наименованиями нужных регионов. Незагруженные регионы неактивны, выделены серым цветом. Для того чтобы выбрать все регионы для загрузки, нажмите , для того чтобы отменить выбор, нажмите кнопку . Для поиска регионов в списке используйте кнопку Найти. В нижней части списка идет подсчет количества выбранных регионов. +
                                          • Гиперссылка в нижней части окна указывает, из какого источника будет происходить загрузка. По умолчанию гиперссылка принимает значение С сайта поддержки пользователей 1С:Предприятия. +
                                          • Для изменения источника загрузки классификатора перейдите по гиперссылке. Загрузка также возможна: +
                                            • Из каталога на диске. +
                                              • укажите путь к каталогу;
                                            • С диска 1С:ИТС. +
                                              • укажите путь к диску.
                                          • После указания всех параметров нажмите Загрузить. +
                                          • Во время загрузки программой выводится сообщение о состоянии загрузки: +
                                            • количество загружаемых регионов; +
                                            • источник загрузки; +
                                            • загружаемый в текущий момент регион.
                                          • После успешной загрузки выводится сообщение. Нажмите Закрыть для возврата в программу. +
                                          • При повторной загрузке адресных сведений, ранее загруженных в классификатор, они перезаписываются. +
                                          • В веб-клиенте загрузка адресного классификатора не поддерживается.

                                          Проверка обновления

                                          +
                                          • Программа хранит версию последнего загруженного КЛАДР и с помощью команды Проверить обновление позволяет проверить наличие обновления КЛАДР на сайте фирмы "1С". Проверка производится независимо от источника, из которого классификатор был загружен ранее. +
                                          • Если данные устарели, программа предлагает обновить версию адресного классификатора, а также программа указывает, по каким регионам доступно обновление. +
                                          • Для перехода к загрузке классификатора нажмите Обновить. Рядом с регионами, которые нужно обновить, флажки проставляются автоматически.

                                          Очистка адресного классификатора

                                          +
                                          • Нажмите Очистить, для того чтобы удалить адресные сведения (например, ошибочно загруженные). +
                                          • Включите флажки рядом с наименованиями нужных регионов. Незагруженные регионы неактивны, выделены серым цветом. +
                                          • Для того чтобы выбрать для очистки все регионы, нажмите , для того чтобы отменить выбор, нажмите . +
                                          • Для поиска регионов в списке используйте кнопку Найти. В нижней части списка идет подсчет количества выбранных регионов. +
                                          • После установки необходимых параметров нажмите Очистить.
                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/ManagerModule.bsl b/SSL/src/InformationRegisters/АдресныйКлассификатор/ManagerModule.bsl new file mode 100644 index 000000000..daff5810f --- /dev/null +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/ManagerModule.bsl @@ -0,0 +1,311 @@ +#Область СлужебныйПрограммныйИнтерфейс + +// Обновляет данные субъектов РФ в адресных объектах +// +// Записи сопоставляются по коду субъекта РФ - региону +// +Процедура ОбновитьСоставСубъектовРФПоКлассификатору() Экспорт + + Классификатор = КлассификаторСубъектовРФ(); + + // Выбираем только отсутствующие в регистре + Запрос = Новый Запрос(" + |ВЫБРАТЬ + | Параметр.КодСубъектаРФ КАК КодСубъектаРФ + |ПОМЕСТИТЬ + | Классификатор + |ИЗ + | &Классификатор КАК Параметр + |ИНДЕКСИРОВАТЬ ПО + | КодСубъектаРФ + |; + | + |ВЫБРАТЬ + | Классификатор.КодСубъектаРФ КАК КодСубъектаРФ + |ИЗ + | Классификатор КАК Классификатор + |ЛЕВОЕ СОЕДИНЕНИЕ + | РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор + |ПО + | АдресныйКлассификатор.ТипАдресногоЭлемента = 1 + | И АдресныйКлассификатор.КодАдресногоОбъектаВКоде = Классификатор.КодСубъектаРФ + | И АдресныйКлассификатор.КодРайонаВКоде = 0 + | И АдресныйКлассификатор.КодГородаВКоде = 0 + | И АдресныйКлассификатор.КодНаселенногоПунктаВКоде = 0 + | И АдресныйКлассификатор.КодУлицыВКоде = 0 + |ГДЕ + | АдресныйКлассификатор.Код ЕСТЬ NULL + |"); + Запрос.УстановитьПараметр("Классификатор", Классификатор); + НовыеСубъектыРФ = Запрос.Выполнить().Выгрузить(); + + // Перезаписываем только отсутствующих + Набор = РегистрыСведений.АдресныйКлассификатор.СоздатьНаборЗаписей(); + Отбор = Набор.Отбор; + + Отбор.ТипАдресногоЭлемента.Установить(1); + Отбор.КодРайонаВКоде.Установить(0); + Отбор.КодГородаВКоде.Установить(0); + Отбор.КодНаселенногоПунктаВКоде.Установить(0); + Отбор.КодУлицыВКоде.Установить(0); + + Для Каждого СубъектРФ Из НовыеСубъектыРФ Цикл + + ИсходныеДанные = Классификатор.Найти(СубъектРФ.КодСубъектаРФ, "КодСубъектаРФ"); + + Отбор.КодАдресногоОбъектаВКоде.Установить(СубъектРФ.КодСубъектаРФ); + Набор.Очистить(); + + НовыйСубъектРФ = Набор.Добавить(); + НовыйСубъектРФ.ТипАдресногоЭлемента = 1; + НовыйСубъектРФ.КодАдресногоОбъектаВКоде = СубъектРФ.КодСубъектаРФ; + НовыйСубъектРФ.Код = СубъектРФ.КодСубъектаРФ * 10000000000000000000; + + НовыйСубъектРФ.Наименование = ИсходныеДанные.Наименование; + НовыйСубъектРФ.Сокращение = ИсходныеДанные.Сокращение; + НовыйСубъектРФ.Индекс = ИсходныеДанные.ПочтовыйИндекс; + + Набор.Записать(); + КонецЦикла; + +КонецПроцедуры + +// Возвращает информацию из классификатора субъектов РФ +// +// Возвращаемое значение: +// ТаблицаЗначений - поставляемые данные. Содержит колонки: +// * КодСубъектаРФ - Число - код классифкатора субъекта, например 77 для Москвы +// * Наименование - Строка - наименование субъекта по классификатору. Например "Московская" +// * Сокращение - Строка - наименование субъекта по классификатору. Например "Обл" +// * ПочтовыйИндекс - Число - индекс региона. Если 0 - то неопределено +// * Идентификатор - УникальныйИдентификатор - идентификатор ФИАС +// +Функция КлассификаторСубъектовРФ() Экспорт + Макет = РегистрыСведений.АдресныйКлассификатор.ПолучитьМакет("СубъектыРФ"); + + Чтение = Новый ЧтениеXML; + Чтение.УстановитьСтроку(Макет.ПолучитьТекст()); + Результат = СериализаторXDTO.ПрочитатьXML(Чтение); + + Возврат Результат; +КонецФункции + +// Возвращает информацию о состоянии загруженности регионов +// +// Возвращаемое значение: +// ТаблицаЗначений - описание состояния. Содержит колонки +// * КодСубъектаРФ - Число - Код региона +// * Представление - Строка - Наименование и сокращение региона +// * Загружено - Булево - Истина, если классификатор по данному региону сейчас загружен +// +Функция СведенияОЗагрузкеСубъектовРФ() Экспорт + + Классификатор = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); + + // Выбираем все возможные данные - и из регистра, и из классификатора + Запрос = Новый Запрос(" + |ВЫБРАТЬ + | Параметр.Наименование КАК Наименование, + | Параметр.Сокращение КАК Сокращение, + | Параметр.КодСубъектаРФ КАК КодСубъектаРФ + |ПОМЕСТИТЬ + | Классификатор + |ИЗ + | &Классификатор КАК Параметр + |; + | + |ВЫБРАТЬ + | ВсеРегионы.Наименование + "" "" + ВсеРегионы.Сокращение КАК Представление, + | ВсеРегионы.КодСубъектаРФ КАК КодСубъектаРФ, + | + | ВЫБОР + | КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде = ВсеРегионы.КодСубъектаРФ И ТипАдресногоЭлемента = 2) ТОГДА ИСТИНА + | КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде = ВсеРегионы.КодСубъектаРФ И ТипАдресногоЭлемента = 3) ТОГДА ИСТИНА + | КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде = ВсеРегионы.КодСубъектаРФ И ТипАдресногоЭлемента = 4) ТОГДА ИСТИНА + | КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде = ВсеРегионы.КодСубъектаРФ И ТипАдресногоЭлемента = 5) ТОГДА ИСТИНА + | КОГДА 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.АдресныйКлассификатор ГДЕ КодАдресногоОбъектаВКоде = ВсеРегионы.КодСубъектаРФ И ТипАдресногоЭлемента = 6) ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК Загружено + |ИЗ ( + | + | ВЫБРАТЬ РАЗЛИЧНЫЕ + | АдресныйКлассификатор.Наименование КАК Наименование, + | АдресныйКлассификатор.Сокращение КАК Сокращение, + | АдресныйКлассификатор.КодАдресногоОбъектаВКоде КАК КодСубъектаРФ + | ИЗ + | РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор + | ГДЕ + | АдресныйКлассификатор.ТипАдресногоЭлемента = 1 + | И АдресныйКлассификатор.КодРайонаВКоде = 0 + | И АдресныйКлассификатор.КодГородаВКоде = 0 + | И АдресныйКлассификатор.КодНаселенногоПунктаВКоде = 0 + | И АдресныйКлассификатор.КодУлицыВКоде = 0 + | + | ОБЪЕДИНИТЬ ВЫБРАТЬ + | Классификатор.Наименование, + | Классификатор.Сокращение, + | Классификатор.КодСубъектаРФ + | ИЗ + | Классификатор КАК Классификатор + | + |) КАК ВсеРегионы + | + |УПОРЯДОЧИТЬ ПО + | ВсеРегионы.КодСубъектаРФ, + | ВсеРегионы.Наименование + "" "" + ВсеРегионы.Сокращение + |"); + Запрос.УстановитьПараметр("Классификатор", Классификатор); + + ЗагруженныеСведения = Запрос.Выполнить().Выгрузить(); + ЗагруженныеСведения.Индексы.Добавить("КодСубъектаРФ"); + ЗагруженныеСведения.Индексы.Добавить("Загружено"); + + Возврат ЗагруженныеСведения; +КонецФункции + +// Определяет наименование с сокращением региона по его коду. +// +// Параметры: +// КодСубъектаРФ - Строка, Число - код региона. +// +// Возвращаемое значение: +// Строка, Неопределено - наименование и сокращение региона. Если регион не найден, то возвращается Неопределено +// +Функция НаименованиеРегионаПоКоду(Знач КодСубъектаРФ) Экспорт + + Запрос = Новый Запрос(" + |ВЫБРАТЬ ПЕРВЫЕ 1 + | Наименование + "" "" + Сокращение КАК Наименование + |ИЗ + | РегистрСведений.АдресныйКлассификатор + |ГДЕ + | ТипАдресногоЭлемента = 1 + | И КодАдресногоОбъектаВКоде = &КодСубъектаРФ + |"); + + Если ТипЗнч(КодСубъектаРФ) = Тип("Строка") Тогда + ТипЧисло = Новый ОписаниеТипов("Число"); + КодСубъектаРФ = ТипЧисло.ПривестиЗначение(КодСубъектаРФ); + КонецЕсли; + + Запрос.УстановитьПараметр("КодСубъектаРФ", КодСубъектаРФ); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.Наименование; + КонецЕсли; + + // Если не нашли, то подсмотрим еще и в классификаторе - макете + Классификатор = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); + Вариант = Классификатор.Найти(КодСубъектаРФ, "КодСубъектаРФ"); + Если Вариант = Неопределено Тогда + // Не нашли + Возврат Неопределено; + КонецЕсли; + + Возврат Вариант.Наименование + " " + Вариант.Сокращение; +КонецФункции + +// Возвращает код региона по наименованию. +// +// Параметры: +// Название - Строка - наименование или полное наименование (с сокращением) региона. +// +// Возвращаемое значение: +// Число, Неопределено - код региона или Неопределено, если данные не найдены +// +Функция КодРегионаПоНаименованию(Знач Название) Экспорт + + Запрос = Новый Запрос(" + |ВЫБРАТЬ + | Варианты.КодСубъектаРФ + |ИЗ ( + | ВЫБРАТЬ ПЕРВЫЕ 1 + | 1 КАК Порядок, + | КодАдресногоОбъектаВКоде КАК КодСубъектаРФ + | ИЗ + | РегистрСведений.АдресныйКлассификатор + | ГДЕ + | ТипАдресногоЭлемента = 1 + | И Наименование = &Название + | + | ОБЪЕДИНИТЬ ВСЕ + | + | ВЫБРАТЬ ПЕРВЫЕ 1 + | 2 КАК Порядок, + | КодАдресногоОбъектаВКоде КАК КодСубъектаРФ + | ИЗ + | РегистрСведений.АдресныйКлассификатор + | ГДЕ + | ТипАдресногоЭлемента = 1 + | И Наименование = &Наименование + | И Сокращение = &Сокращение + |) КАК Варианты + | + |УПОРЯДОЧИТЬ ПО + | Варианты.Порядок + |"); + + ЧастиСлова = НаименованиеИСокращение(Название); + Запрос.УстановитьПараметр("Наименование", ЧастиСлова.Наименование); + Запрос.УстановитьПараметр("Сокращение", ЧастиСлова.Сокращение); + Запрос.УстановитьПараметр("Название", Название); + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.КодСубъектаРФ; + КонецЕсли; + + // Если не нашли, то подсмотрим еще и в классификаторе - макете + Классификатор = РегистрыСведений.АдресныйКлассификатор.КлассификаторСубъектовРФ(); + + Фильтр = Новый Структура("Наименование", Название); + Варианты = Классификатор.НайтиСтроки(Фильтр); + Если Варианты.Количество() = 0 Тогда + Фильтр.Вставить("Наименование", ЧастиСлова.Наименование); + Фильтр.Вставить("Сокращение", ЧастиСлова.Сокращение); + Варианты = Классификатор.НайтиСтроки(Фильтр); + КонецЕсли; + + Если Варианты.Количество() > 0 Тогда + Возврат Варианты[0].КодСубъектаРФ; + КонецЕсли; + + Возврат Неопределено; +КонецФункции + +// Разделяет исходный текст на наименование и сокращение. +// Сокращением считается последнее слово, отделенное пробельным символом +// +// Параметры: +// Название - Строка - Полное название, например "Москва г" +// +// Возвращаемое значение: +// Структура - содержит поля +// * Наименование - Строка - Наименование, например "Москва". Если сокращение выделить не удалось, то исходное название +// * Сокращение - Строка - Сокращение, например "г". Если сокращение выделить не удалось, то пустая строка +// +Функция НаименованиеИСокращение(Знач Название) + ТекстПоиска = СокрП(Название); + + Позиция = СтрДлина(ТекстПоиска); + Пока Позиция > 0 Цикл + Если ПустаяСтрока(Сред(ТекстПоиска, Позиция, 1)) Тогда + Прервать; + КонецЕсли; + Позиция = Позиция - 1; + КонецЦикла; + + Результат = Новый Структура("Наименование, Сокращение"); + Если Позиция = 0 Тогда + Результат.Наименование = ТекстПоиска; + Результат.Сокращение = ""; + Иначе + Результат.Наименование = СокрП(Лев(ТекстПоиска, Позиция)); + Результат.Сокращение = Сред(ТекстПоиска, Позиция + 1); + КонецЕсли; + + Возврат Результат; +КонецФункции + +#КонецОбласти + diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/КлассификаторАдресныхОбъектовРоссии/Template.txt b/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/КлассификаторАдресныхОбъектовРоссии/Template.txt deleted file mode 100644 index cdda26c5b..000000000 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/КлассификаторАдресныхОбъектовРоссии/Template.txt +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/СубъектыРФ/Template.txt b/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/СубъектыРФ/Template.txt new file mode 100644 index 000000000..68d100cbf --- /dev/null +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/Templates/СубъектыРФ/Template.txt @@ -0,0 +1,144 @@ + + + + КодСубъектаРФ + + xs:decimal + + + + + Наименование + + xs:string + + 120 + Variable + + + + + + Сокращение + + xs:string + + 10 + Variable + + + + + + ПочтовыйИндекс + + xs:decimal + + + + + Идентификатор + + UUID + + + + КодСубъектаРФ + Наименование + НаименованиеСокращение + Идентификатор + + 01Адыгея Респ 385000d8327a56-80de-4df2-815c-4f6ab1224c50 + 02Башкортостан Респ 4500006f2cbfd8-692a-4ee4-9b16-067210bde3fc + 03Бурятия Респ 670000a84ebed3-153d-4ba9-8532-8bdf879e1f5a + 04Алтай Респ 6490005c48611f-5de6-4771-9695-7e36a4e7529d + 05Дагестан Респ 3680000bb7fa19-736d-49cf-ad0e-9774c4dae09b + 06Ингушетия Респ 386000b2d8cd20-cabc-4deb-afad-f3c4b4d55821 + 07Кабардино-Балкарская Респ 0000001781f74e-be4a-4697-9c6b-493057c94818 + 08Калмыкия Респ 000000491cde9d-9d76-4591-ab46-ea93c079e686 + 09Карачаево-Черкесская Респ 00000061b95807-388a-4cb1-9bee-889f7cf811c8 + 10Карелия Респ 000000248d8071-06e1-425e-a1cf-d1ff4c4a14a8 + 11Коми Респ 000000c20180d9-ad9c-46d1-9eff-d60bc424592a + 12Марий Эл Респ 000000de2cbfdf-9662-44a4-a4a4-8ad237ae4a3e + 13Мордовия Респ 00000037a0c60a-9240-48b5-a87f-0d8c86cdb6e1 + 14Саха /Якутия/ Респ 000000c225d3db-1db6-4063-ace0-b3fe9ea3805f + 15Северная Осетия - Алания Респ 000000de459e9c-2933-4923-83d1-9c64cfd7a817 + 16Татарстан Респ 4200000c089b04-099e-4e0e-955a-6bf1ce525f1a + 17Тыва Респ 660000026bc56f-3731-48e9-8245-655331f596c0 + 18Удмуртская Респ 00000052618b9c-bcbb-47e7-8957-95c63f0b17cc + 19Хакасия Респ 6550008d3f1d35-f0f4-41b5-b5b7-e7cadf3e7bd7 + 20Чеченская Респ 000000de67dc49-b9ba-48a3-a4cc-c2ebfeca6c5e + 21Чувашская Республика - Чувашия000000878fc621-3708-46c7-a97f-5a13a4176b3e + 22Алтайский край 0000008276c6a1-1a86-4f0d-8920-aba34d4cc34a + 23Краснодарский край 000000d00e1013-16bd-4c09-b3d5-3cb09fc54bd8 + 24Красноярский край 000000db9c4f8b-b706-40e2-b2b4-d31b98dcd3d1 + 25Приморский край 00000043909681-d6e1-432d-b61f-ddac393cb5da + 26Ставропольский край 000000327a060b-878c-4fb4-8dc4-d5595871a3d8 + 27Хабаровский край 0000007d468b39-1afa-41ec-8c4f-97a8603cb3d4 + 28Амурская обл 675000844a80d6-5e31-4017-b422-4d9c01e9942c + 29Архангельская обл 000000294277aa-e25d-428c-95ad-46719c4ddb44 + 30Астраханская обл 00000083009239-25cb-4561-af8e-7ee111b1cb73 + 31Белгородская обл 000000639efe9d-3fc8-4438-8e70-ec4f2321f2a7 + 32Брянская обл 000000f5807226-8be0-4ea8-91fc-39d053aec1e2 + 33Владимирская обл 000000b8837188-39ee-4ff9-bc91-fcc9ed451bb3 + 34Волгоградская обл 000000da051ec8-da2e-4a66-b542-473b8d221ab4 + 35Вологодская обл 000000ed36085a-b2f5-454f-b9a9-1c9a678ee618 + 36Воронежская обл 000000b756fe6b-bbd3-44d5-9302-5bfcc740f46e + 37Ивановская обл 0000000824434f-4098-4467-af72-d4f702fed335 + 38Иркутская обл 0000006466c988-7ce3-45e5-8b97-90ae16cb1249 + 39Калининградская обл 00000090c7181e-724f-41b3-b6c6-bd3ec7ae3f30 + 40Калужская обл 00000018133adf-90c2-438e-88c4-62c41656de70 + 41Камчатский край 000000d02f30fc-83bf-4c0f-ac2b-5729a866a207 + 42Кемеровская обл 000000393aeccb-89ef-4a7e-ae42-08d5cebc2e30 + 43Кировская обл 6100000b940b96-103f-4248-850c-26b6c7296728 + 44Костромская обл 00000015784a67-8cea-425b-834a-6afe0e3ed61c + 45Курганская обл 6410004a3d970f-520e-46b9-b16c-50d4ca7535a8 + 46Курская обл 000000ee594d5e-30a9-40dc-b9f2-0add1be44ba1 + 47Ленинградская обл 0000006d1ebb35-70c6-4129-bd55-da3969658f5d + 48Липецкая обл 0000001490490e-49c5-421c-9572-5673ba5d80c8 + 49Магаданская обл 0000009c05e812-8679-4710-b8cb-5e8bd43cdf48 + 50Московская обл 00000029251dcf-00a1-4e34-98d4-5c47484a36d4 + 51Мурманская обл 0000001c727518-c96a-4f34-9ae6-fd510da3be03 + 52Нижегородская обл 00000088cd27e2-6a8a-4421-9718-719a28a0a088 + 53Новгородская обл 000000e5a84b81-8ea1-49e3-b3c4-0528651be129 + 54Новосибирская обл 0000001ac46b49-3209-4814-b7bf-a509ea1aecd9 + 55Омская обл 00000005426864-466d-41a3-82c4-11e61cdc98ce + 56Оренбургская обл 4600008bcec9d6-05bc-4e53-b45c-ba0c6f3a5c44 + 57Орловская обл 0000005e465691-de23-4c4e-9f46-f35a125b5970 + 58Пензенская обл 000000c99e7924-0428-4107-a302-4fd7c0cca3ff + 59Пермский край 0000004f8b1a21-e4bb-422f-9087-d3cbf4bebc14 + 60Псковская обл 000000f6e148a1-c9d0-4141-a608-93e3bd95e6c4 + 61Ростовская обл 000000f10763dc-63e3-48db-83e1-9c566fe3092b + 62Рязанская обл 390000963073ee-4dfc-48bd-9a70-d2dfc6bd1f31 + 63Самарская обл 000000df3d7359-afa9-4aaa-8ff9-197e73906b1c + 64Саратовская обл 410000df594e0e-a935-4664-9d26-0bae13f904fe + 65Сахалинская обл 693000aea6280f-4648-460f-b8be-c2bc18923191 + 66Свердловская обл 62000092b30014-4d52-4e2e-892d-928142b924bf + 67Смоленская обл 000000e8502180-6d08-431b-83ea-c7038f0df905 + 68Тамбовская обл 392000a9a71961-9363-44ba-91b5-ddf0463aebc2 + 69Тверская обл 00000061723327-1c20-42fe-8dfa-402638d9b396 + 70Томская обл 000000889b1f3a-98aa-40fc-9d3d-0f41192758ab + 71Тульская обл 000000d028ec4f-f6da-4843-ada6-b68b3e0efa3d + 72Тюменская обл 00000054049357-326d-4b8f-b224-3c6dc25d6dd3 + 73Ульяновская обл 433000fee76045-fe22-43a4-ad58-ad99e903bd58 + 74Челябинская обл 45400027eb7c10-a234-44da-a59c-8b1f864966de + 75Забайкальский край 000000b6ba5716-eb48-401b-8443-b197c9578734 + 76Ярославская обл 000000a84b2ef4-db03-474b-b552-6229e801ae9b + 77Москва г 0000000c5b2444-70a0-4932-980c-b4dc0d3f02b5 + 78Санкт-Петербург г 190000c2deb16a-0330-4f05-821f-1d09c93331e6 + 79Еврейская Аобл 0000001b507b09-48c9-434f-bf6f-65066211c73e + 80Забайкальский край Агинский Бурятский округ 00000053ec9705-ec3e-4cbf-921f-229968e10aeb + 81Коми-Пермяцкий АО 000000e3d95b95-cc2d-440d-95c6-65577fae076e + 82Корякский АО 0000001e97910c-34fb-428a-a113-13a0024684ae + 83Ненецкий АО 16600089db3198-6803-4106-9463-cbf781eff0b8 + 84Таймырский (Долгано-Ненецкий) АО 00000029a47e2d-7606-481d-98d5-444e755dec34 + 85Иркутская обл Усть-Ордынский Бурятский округ 669000c2f0810a-d71e-4af6-85f1-e0bbd81b3e4d + 86Ханты-Мансийский Автономный округ - ЮграАО 000000d66e5325-3a25-4d29-ba86-4ca351d9704b + 87Чукотский АО 000000f136159b-404a-4f1f-8d8d-d169e1374d5c + 88Эвенкийский АО 0000002d7468f0-bec1-4571-85f3-bdefd62b3d50 + 89Ямало-Ненецкий АО 629000826fa834-3ee8-404f-bdbc-13a5221cfb6e + 91Крым Респ 000000bd8e6511-e4b9-4841-90de-6bbc231a789e + 92Севастополь г 0000006fdecb78-893a-4e3f-a5ba-aa062459463b + 99Байконур г 46832063ed1a35-4be6-4564-a1ec-0c51f7383314 + + diff --git a/SSL/src/InformationRegisters/АдресныйКлассификатор/АдресныйКлассификатор.mdo b/SSL/src/InformationRegisters/АдресныйКлассификатор/АдресныйКлассификатор.mdo index 017aec797..0f0df50ac 100644 --- a/SSL/src/InformationRegisters/АдресныйКлассификатор/АдресныйКлассификатор.mdo +++ b/SSL/src/InformationRegisters/АдресныйКлассификатор/АдресныйКлассификатор.mdo @@ -149,7 +149,6 @@ - Index ПризнакАктуальности @@ -172,7 +171,6 @@ Use - Index ТипАдресногоЭлемента @@ -365,6 +363,33 @@ PersonalComputer MobileDevice + + АдресныйКлассификатор + + ru + Адресный классификатор + + PersonalComputer + MobileDevice + + + ЗагрузкаАдресногоКлассификатора + + ru + Загрузка адресного классификатора + + PersonalComputer + MobileDevice + + + ОчисткаАдресногоКлассификатора + + ru + Очистка адресного классификатора + + PersonalComputer + MobileDevice + ФормаВыбора @@ -374,53 +399,11 @@ PersonalComputer MobileDevice - - ЗагрузкаАдресногоКлассификатора + + СубъектыРФ ru - Загрузка адресного классификатора - - - - ru - - - PersonalComputer - MobileDevice - - - ОчисткаАдресногоКлассификатора - - ru - Очистка адресного классификатора - - - - ru - - - PersonalComputer - MobileDevice - - - АдресныйКлассификатор - - ru - Адресный классификатор - - - - ru - - - PersonalComputer - MobileDevice - - - КлассификаторАдресныхОбъектовРоссии - - ru - Классификатор адресных объектов россии + Субъекты РФ TextDocument diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Form.form b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Form.form new file mode 100644 index 000000000..91a3310ab --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Form.form @@ -0,0 +1,514 @@ + + + + РеквизитыОбъекта + 13 + true + true + + true + + + РеквизитыОбъекта + + None + Add + Change + Copy + CopyToClipboard + Delete + EndEdit + HierarchicalList + List + MoveDown + MoveUp + OutputList + SortListAsc + SortListDesc + Tree + + РеквизитыОбъектаГруппа1 + 23 + + РеквизитыОбъектаПометка + 20 + true + true + + true + + + РеквизитыОбъекта.Пометка + + + OnChange + РеквизитыОбъектаПометкаПриИзменении + + + РеквизитыОбъектаПометкаРасширеннаяПодсказка + 22 + Label + true + true + + Left + + + + РеквизитыОбъектаПометкаКонтекстноеМеню + 21 + true + + CheckBoxField + Auto + true + Left + true + + + + РеквизитыОбъектаСиноним + 25 + true + true + + true + + + РеквизитыОбъекта.Синоним + + + РеквизитыОбъектаСинонимРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + + РеквизитыОбъектаСинонимКонтекстноеМеню + 26 + true + + InputField + true + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + true + true + + true + + + РеквизитыОбъектаГруппа1РасширеннаяПодсказка + 24 + Label + true + true + + Left + + + ColumnGroup + + InCell + true + + + + РеквизитыОбъектаКоманднаяПанель + 15 + + РеквизитыОбъектаВыбрать + 32 + true + true + + true + + + РеквизитыОбъектаВыбратьРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + Form.Command.Выбрать + PictureAndText + true + true + true + UserCmds + + StdPicture.ChooseValue + + Auto + + + ФормаУстановитьФлажки + 28 + true + true + + true + + + ФормаУстановитьФлажкиРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + Form.Command.УстановитьФлажки + Normal + Auto + true + true + UserCmds + Auto + + + ФормаСнятьФлажки + 30 + true + true + + true + + + ФормаСнятьФлажкиРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + Form.Command.СнятьФлажки + Normal + Auto + true + true + UserCmds + Auto + + Left + + + РеквизитыОбъектаСтрокаПоиска + 34 + + РеквизитыОбъектаСтрокаПоискаРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + РеквизитыОбъектаСтрокаПоискаКонтекстноеМеню + 35 + true + + РеквизитыОбъекта + + true + + + + РеквизитыОбъектаСостояниеПросмотра + 37 + + РеквизитыОбъектаСостояниеПросмотраРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + РеквизитыОбъектаСостояниеПросмотраКонтекстноеМеню + 38 + true + + ViewStatusAddition + РеквизитыОбъекта + + true + + + + РеквизитыОбъектаУправлениеПоиском + 40 + + РеквизитыОбъектаУправлениеПоискомРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + РеквизитыОбъектаУправлениеПоискомКонтекстноеМеню + 41 + true + + SearchControlAddition + РеквизитыОбъекта + + true + + + + РеквизитыОбъектаРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + + РеквизитыОбъектаКонтекстноеМеню + 14 + true + + Tree + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + true + true + true + true + None + None + None + true + + + ФормаКоманднаяПанель + -1 + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Close + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + 15 + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + РеквизитыОбъекта + + <key>ru</key> + <value>Реквизиты объекта</value> + + 2 + + ValueTree + + + true + + + true + + + Имя + + <key>ru</key> + <value>Имя</value> + + 1 + + String + + + + true + + + true + + + + Пометка + + <key>ru</key> + <value>Пометка</value> + + 2 + + Boolean + + + true + + + true + + + + Синоним + + <key>ru</key> + <value>Синоним</value> + + 3 + + String + + + + true + + + true + + + + + УстановитьФлажки + + <key>ru</key> + <value>Установить флажки</value> + + 2 + + ru + Установить флажки + + + true + + + StdPicture.CheckAll + + + + УстановитьФлажки + + + Auto + Auto + + + СнятьФлажки + + <key>ru</key> + <value>Снять флажки</value> + + 3 + + ru + Снять флажки + + + true + + + StdPicture.UncheckAll + + + + СнятьФлажки + + + Auto + Auto + + + Выбрать + + <key>ru</key> + <value>Выбрать</value> + + 4 + + ru + Выбрать + + + true + + + + Выбрать + + + Auto + Auto + + + Ссылка + + AnyRef + + + + + + + diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Module.bsl b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Module.bsl new file mode 100644 index 000000000..9eb2117e2 --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборРеквизитовОбъекта/Module.bsl @@ -0,0 +1,117 @@ + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + КоллекцияРеквизитовОбъекта = РеквизитыОбъекта.ПолучитьЭлементы(); + + ОбъектМетаданных = Параметры.Ссылка.Метаданные(); + Для Каждого ОписаниеРеквизита Из ОбъектМетаданных.Реквизиты Цикл + Реквизит = КоллекцияРеквизитовОбъекта.Добавить(); + ЗаполнитьЗначенияСвойств(Реквизит, ОписаниеРеквизита); + Реквизит.Пометка = Параметры.Отбор.Найти(ОписаниеРеквизита.Имя) <> Неопределено; + Если ПустаяСтрока(Реквизит.Синоним) Тогда + Реквизит.Синоним = Реквизит.Имя; + КонецЕсли; + КонецЦикла; + + Для Каждого ОписаниеТабличнойЧасти Из ОбъектМетаданных.ТабличныеЧасти Цикл + ТабличнаяЧасть = КоллекцияРеквизитовОбъекта.Добавить(); + ЗаполнитьЗначенияСвойств(ТабличнаяЧасть, ОписаниеТабличнойЧасти); + Для Каждого ОписаниеРеквизита Из ОписаниеТабличнойЧасти.Реквизиты Цикл + Реквизит = ТабличнаяЧасть.ПолучитьЭлементы().Добавить(); + ЗаполнитьЗначенияСвойств(Реквизит, ОписаниеРеквизита); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьФлажки(Команда) + УстановитьСнятьФлажки(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура СнятьФлажки(Команда) + УстановитьСнятьФлажки(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура РеквизитыОбъектаПометкаПриИзменении(Элемент) + Пометка = Элементы.РеквизитыОбъекта.ТекущиеДанные.Пометка; + Для Каждого ВыделеннаяСтрока Из Элементы.РеквизитыОбъекта.ВыделенныеСтроки Цикл + Реквизит = Элементы.РеквизитыОбъекта.ДанныеСтроки(ВыделеннаяСтрока); + Реквизит.Пометка = Пометка; + Для Каждого ПодчиненныйРеквизит Из Реквизит.ПолучитьЭлементы() Цикл + ПодчиненныйРеквизит.Пометка = Пометка; + КонецЦикла; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьСнятьФлажки(Пометка) + Для Каждого Реквизит Из РеквизитыОбъекта.ПолучитьЭлементы() Цикл + Реквизит.Пометка = Пометка; + Для Каждого ПодчиненныйРеквизит Из Реквизит.ПолучитьЭлементы() Цикл + ПодчиненныйРеквизит.Пометка = Пометка; + КонецЦикла; + КонецЦикла; +КонецПроцедуры + + +&НаКлиенте +Процедура Выбрать(Команда) + Результат = Новый Структура; + Результат.Вставить("ВыбранныеРеквизиты", ВыбранныеРеквизиты(РеквизитыОбъекта.ПолучитьЭлементы())); + Результат.Вставить("ПредставлениеВыбранных", ПредставлениеВыбранныхРеквизитов()); + + Закрыть(Результат); +КонецПроцедуры + +&НаКлиенте +Функция ВыбранныеРеквизиты(КоллекцияРеквизитов) + Результат = Новый Массив; + + Для Каждого Реквизит Из КоллекцияРеквизитов Цикл + ПодчиненныеРеквизиты = Реквизит.ПолучитьЭлементы(); + Если ПодчиненныеРеквизиты.Количество() > 0 Тогда + СписокВыбранных = ВыбранныеРеквизиты(ПодчиненныеРеквизиты); + Для Каждого ПодчиненныйРеквизит Из СписокВыбранных Цикл + Результат.Добавить(Реквизит.Имя + "." + ПодчиненныйРеквизит); + КонецЦикла; + ИначеЕсли Реквизит.Пометка Тогда + Результат.Добавить(Реквизит.Имя); + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция ПредставлениеВыбранныхРеквизитов() + Возврат СтроковыеФункцииКлиентСервер.СтрокаИзМассиваПодстрок(СинонимыВыбранныхРеквизитов(РеквизитыОбъекта.ПолучитьЭлементы()), ", "); +КонецФункции + +&НаКлиенте +Функция СинонимыВыбранныхРеквизитов(КоллекцияРеквизитов) + Результат = Новый Массив; + + Для Каждого Реквизит Из КоллекцияРеквизитов Цикл + ПодчиненныеРеквизиты = Реквизит.ПолучитьЭлементы(); + Если ПодчиненныеРеквизиты.Количество() > 0 Тогда + СписокВыбранных = ВыбранныеРеквизиты(ПодчиненныеРеквизиты); + Для Каждого ПодчиненныйРеквизит Из СписокВыбранных Цикл + Результат.Добавить(Реквизит.Синоним + "." + ПодчиненныйРеквизит); + КонецЦикла; + ИначеЕсли Реквизит.Пометка Тогда + Результат.Добавить(Реквизит.Синоним); + КонецЕсли; + КонецЦикла; + + Возврат Результат; +КонецФункции + + diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Form.form b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Form.form index 7636605aa..609696284 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Form.form +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Form.form @@ -4,6 +4,230 @@ ru История изменений + + Реквизиты + 57 + + <key>ru</key> + <value>Изменения в реквизитах</value> + + true + true + + true + + + Реквизиты + + + ru + Показывать версии, в которых есть изменения выбранных реквизитов. + + + РеквизитыРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + + РеквизитыКонтекстноеМеню + 58 + true + + InputField + Enter + true + Left + true + + + StartChoice + РеквизитыНачалоВыбора + + + Clearing + РеквизитыОчистка + + true + true + true + true + true + true + true + Normal + + + + КоманднаяПанель + 63 + + ОткрытьВерсиюОбъекта + 19 + true + true + + true + + false + + ОткрытьВерсиюОбъектаExtendedTooltip + 39 + Label + true + true + + Left + + + Form.Command.ОткрытьВерсиюОбъекта + Auto + true + true + true + UserCmds + Auto + + + ОтчетПоИзменениям + 9 + true + true + + true + + false + + ОтчетПоИзменениямExtendedTooltip + 40 + Label + true + true + + Left + + + Form.Command.СформироватьОтчетПоИзменениям + Normal + Auto + true + true + UserCmds + Auto + + + ПерейтиНаВерсию + 34 + true + true + + true + + + ПерейтиНаВерсиюExtendedTooltip + 41 + Label + true + true + + Left + + + Form.Command.ПерейтиНаВерсию + Normal + PictureAndText + true + true + UserCmds + Auto + + + Найти + 29 + true + true + + true + + false + + НайтиExtendedTooltip + 42 + Label + true + true + + Left + + + Form.Item.СписокВерсий.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПоиск + 30 + true + true + + true + + false + + ОтменитьПоискExtendedTooltip + 43 + Label + true + true + + Left + + + Form.Item.СписокВерсий.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + CommandBar + + Left + Form + + ОсновнаяСтраница 21 @@ -171,6 +395,10 @@ СписокВерсий.Комментарий + + OnChange + СписокВерсийКомментарийПриИзменении + СписокВерсийКомментарийExtendedTooltip 53 @@ -187,7 +415,6 @@ true InputField - Auto true Left true @@ -215,12 +442,16 @@ OnActivateRow СписокВерсийПриАктивизацииСтроки + + BeforeRowChange + СписокВерсийПередНачаломИзменения + СписокВерсийСтрокаПоиска - 57 + 66 СписокВерсийСтрокаПоискаРасширеннаяПодсказка - 59 + 68 Label true true @@ -230,7 +461,7 @@ СписокВерсийСтрокаПоискаКонтекстноеМеню - 58 + 67 true СписокВерсий @@ -240,10 +471,10 @@ СписокВерсийСостояниеПросмотра - 60 + 69 СписокВерсийСостояниеПросмотраРасширеннаяПодсказка - 62 + 71 Label true true @@ -253,7 +484,7 @@ СписокВерсийСостояниеПросмотраКонтекстноеМеню - 61 + 70 true ViewStatusAddition @@ -264,10 +495,10 @@ СписокВерсийУправлениеПоиском - 63 + 72 СписокВерсийУправлениеПоискомРасширеннаяПодсказка - 65 + 74 Label true true @@ -277,7 +508,7 @@ СписокВерсийУправлениеПоискомКонтекстноеМеню - 64 + 73 true SearchControlAddition @@ -380,7 +611,6 @@ Auto - true 50 true true @@ -394,7 +624,7 @@ true true false - true + false Auto Auto true @@ -542,145 +772,49 @@ Auto
                                          + + ТехническиеСведенияОбИзмененииОбъекта + 60 + + <key>ru</key> + <value>Технические сведения об изменении объекта</value> + + true + true + + true + + + ТехническиеСведенияОбИзмененииОбъектаРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + + ТехническиеСведенияОбИзмененииОбъектаКонтекстноеМеню + 61 + true + + Label + true + true + + + Click + ЖурналРегистрацииНажатие + + true + Left + + ФормаКоманднаяПанель -1 - - ОткрытьВерсиюОбъекта - 19 - true - true - - true - - false - - ОткрытьВерсиюОбъектаExtendedTooltip - 39 - Label - true - true - - Left - - - Form.Command.ОткрытьВерсиюОбъекта - Auto - true - true - true - UserCmds - Auto - - - ОтчетПоИзменениям - 9 - true - true - - true - - false - - ОтчетПоИзменениямExtendedTooltip - 40 - Label - true - true - - Left - - - Form.Command.СформироватьОтчетПоИзменениям - Normal - Auto - true - true - UserCmds - Auto - - - ПерейтиНаВерсию - 34 - true - true - - true - - - ПерейтиНаВерсиюExtendedTooltip - 41 - Label - true - true - - Left - - - Form.Command.ПерейтиНаВерсию - Normal - PictureAndText - true - true - UserCmds - Auto - - - Найти - 29 - true - true - - true - - false - - НайтиExtendedTooltip - 42 - Label - true - true - - Left - - - Form.Item.СписокВерсий.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ОтменитьПоиск - 30 - true - true - - true - - false - - ОтменитьПоискExtendedTooltip - 43 - Label - true - true - - Left - - - Form.Item.СписокВерсий.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - Left - true OnOpen @@ -743,9 +877,7 @@ true - - true - + АвторВерсии @@ -755,15 +887,14 @@ 1 - String - + CatalogRef.ВнешниеПользователи + CatalogRef.Пользователи + ExchangePlanRef true - - true - + ДатаВерсии @@ -773,15 +904,13 @@ 3 - String - + Date + true - - true - + Комментарий @@ -810,6 +939,7 @@ 2 + BusinessProcessRef DocumentRef CatalogRef @@ -838,6 +968,44 @@ true
                                          + + Реквизиты + + <key>ru</key> + <value>Реквизиты</value> + + 4 + + String + + + + true + + + true + + + + Отбор + + <key>ru</key> + <value>Отбор</value> + + 5 + + ValueList + + + true + + + true + + + + + СформироватьОтчетПоИзменениям @@ -907,6 +1075,7 @@ <parameters> <name>Ссылка</name> <valueType> + <types>BusinessProcessRef</types> <types>DocumentRef</types> <types>CatalogRef</types> </valueType> diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Help/ru.html b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Help/ru.html new file mode 100644 index 000000000..7d7025a59 --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Help/ru.html @@ -0,0 +1,18 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для просмотра истории изменений объекта и выбора хранимых версий. История версий позволяет быстро ответить на вопросы: "Кто изменил объект?", "Когда произошли изменения?" и "Что было изменено в объекте?". </p> +<p>С помощью списка можно вести историю изменений документов и списков, просматривать любую версию объекта или сравнивать любые версии объекта между собой.</p> +<p>Для работы с историей изменений объектов необходимо выполнить предварительную <a href="InformationRegister.НастройкиВерсионированияОбъектов/Help">настройку</a> их версионирования. Настройку и просмотр истории версий выполняет администратор программы.</p> +<p>Для того чтобы посмотреть историю версий того или иного списка или документа, можно воспользоваться командой <strong>История изменений</strong> в его панели навигации. Команда доступна только администратору программы и только для тех объектов, у которых настроено версионирование.</p> +<p>В списке выводится:</p> +<ul><li><strong>№</strong> - порядковый номер версии, версии перечисляются по убыванию номеров, самая первая версия находится внизу списка; +</li><li><strong>Автор изменений</strong> - пользователь, который редактировал объект; +</li><li><strong>Дата</strong> - дата и время редактирования; +</li><li><strong>Комментарий</strong> - напишите подробную информацию по поводу этой версии. Программа автоматически заполняет это поле, например, при переходе на другую версию указывается, на какую версию и когда был выполнен переход.</li></ul><h3>Отбор версий</h3> +<ul><li> +<div>С помощью отбора <strong>Изменения в реквизитах</strong> можно отражать изменения определенных реквизитов. Для этого с помощью кнопки <img src="StdPicture.InputFieldSelect"></img> <strong>Выбрать</strong> откройте список реквизитов, выберите с помощью флажков реквизиты, изменения по которым необходимо отражать в списке версий.</div></li></ul><h3>Просмотр событий изменения объекта</h3> +<ul><li> +<div>По ссылке <strong>Технические сведения об изменении объекта</strong> сразу после внесения и записи изменений можно просмотреть <a href="DataProcessor.ЖурналРегистрации/Help">журнал регистрации</a>, отфильтрованный по событиям, связанным с этим объектом.</div></li></ul><h3>Просмотр версии</h3> +<ul><li>Нажав на кнопку <strong>Открыть версию</strong>, можно просмотреть отчет о состоянии объекта на интересующий момент времени.</li></ul><h3>Сравнение версий</h3> +<ul><li>Для того чтобы просмотреть отчет по изменению состояния объекта, выделите две или более версии в списке версий, нажмите <strong>Сравнить версии</strong>.</li></ul><h3>Возвращение к предыдущей версии</h3> +<ul><li>Для того чтобы вернуться к одной из предыдущих версий объекта, выделите нужную строку с версией объекта, нажмите <strong>Перейти на версию</strong>. Изменения, внесенные после сохранения этой версии, будут отменены. </li></ul><h3>См. также:</h3> +<ul><li><a href="v8help://frame/form_common">Работа с формами</a>.</li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Module.bsl b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Module.bsl index f326611ad..baa9d11ac 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Module.bsl +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ВыборХранимыхВерсий/Module.bsl @@ -1,4 +1,5 @@ + #Область ОбработчикиСобытийФормы &НаСервере @@ -17,12 +18,13 @@ Строка(Ссылка)); КонецЕсли; - ЗначениеВРеквизитФормы(СформироватьТаблицуВерсий(Ссылка), "СписокВерсий"); + ОбновитьСписокВерсий(); ПереходНаВерсиюРазрешен = Пользователи.ЭтоПолноправныйПользователь(); Элементы.ПерейтиНаВерсию.Видимость = ПереходНаВерсиюРазрешен; Элементы.СписокВерсийПерейтиНаВерсию.Видимость = ПереходНаВерсиюРазрешен; + Реквизиты = НСтр("ru = 'Все'") КонецПроцедуры &НаКлиенте @@ -37,16 +39,29 @@ #Область ОбработчикиСобытийЭлементовШапкиФормы &НаКлиенте -Процедура СписокВерсийПриАктивизацииСтроки(Элемент) - - УстановитьДоступность(); - +Процедура РеквизитыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + ОписаниеОповещения = Новый ОписаниеОповещения("ПриВыбореРеквизитов", ЭтотОбъект); + ОткрытьФорму("РегистрСведений.ВерсииОбъектов.Форма.ВыборРеквизитовОбъекта", Новый Структура( + "Ссылка,Отбор", Ссылка, Отбор.ВыгрузитьЗначения()), , , , , ОписаниеОповещения); +КонецПроцедуры + +&НаКлиенте +Процедура ЖурналРегистрацииНажатие(Элемент) + ЖурналРегистрацииКлиент.ОткрытьЖурналРегистрации(); КонецПроцедуры #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыСписокВерсий +&НаКлиенте +Процедура СписокВерсийПриАктивизацииСтроки(Элемент) + + УстановитьДоступность(); + +КонецПроцедуры + &НаКлиенте Процедура СписокВерсийВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) @@ -91,25 +106,39 @@ #Область СлужебныеПроцедурыИФункции -&НаСервереБезКонтекста -Функция СформироватьТаблицуВерсий(Ссылка) - - Запрос = Новый Запрос; - Запрос.Текст = "ВЫБРАТЬ - | НомерВерсии КАК НомерВерсии, - | АвторВерсии КАК АвторВерсии, - | ДатаВерсии КАК ДатаВерсии, - | Комментарий КАК Комментарий - | ИЗ - | РегистрСведений.ВерсииОбъектов - |ГДЕ - | Объект=&Ссылка - |УПОРЯДОЧИТЬ ПО НомерВерсии Убыв"; - Запрос.УстановитьПараметр("Ссылка", Ссылка); +&НаСервере +Функция СформироватьТаблицуВерсий() Если ВерсионированиеОбъектов.ЕстьПравоНаЧтениеВерсийОбъектов() Тогда УстановитьПривилегированныйРежим(Истина); КонецЕсли; + + НомераВерсий = Новый Массив; + Если Отбор.Количество() > 0 Тогда + НомераВерсий = НомераВерсийСИзменениямиВВыбранныхРеквизитах(); + КонецЕсли; + + ТекстЗапроса = + "ВЫБРАТЬ + | ВерсииОбъектов.НомерВерсии КАК НомерВерсии, + | ВерсииОбъектов.АвторВерсии КАК АвторВерсии, + | ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии, + | ВерсииОбъектов.Комментарий КАК Комментарий + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.Объект = &Ссылка + | И (&БезОтбора + | ИЛИ ВерсииОбъектов.НомерВерсии В (&НомераВерсий)) + | + |УПОРЯДОЧИТЬ ПО + | НомерВерсии УБЫВ"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("БезОтбора", Отбор.Количество() = 0); + Запрос.УстановитьПараметр("НомераВерсий", НомераВерсий); + Запрос.УстановитьПараметр("Ссылка", Ссылка); + Возврат Запрос.Выполнить().Выгрузить(); КонецФункции @@ -203,7 +232,7 @@ КонецЕсли; - ЗначениеВРеквизитФормы(СформироватьТаблицуВерсий(Ссылка), "СписокВерсий"); + ОбновитьСписокВерсий(); Возврат "ВосстановлениеВыполнено"; @@ -255,4 +284,170 @@ Элементы.СписокВерсийПерейтиНаВерсию.Доступность = Элементы.ПерейтиНаВерсию.Доступность; КонецПроцедуры +&НаКлиенте +Процедура ПриВыбореРеквизитов(РезультатВыбора, ДополнительныеПараметры) Экспорт + Если РезультатВыбора = Неопределено Тогда + Возврат; + КонецЕсли; + + Реквизиты = РезультатВыбора.ПредставлениеВыбранных; + Отбор.ЗагрузитьЗначения(РезультатВыбора.ВыбранныеРеквизиты); + ОбновитьСписокВерсий(); +КонецПроцедуры + +&НаСервере +Процедура ОбновитьСписокВерсий() + ЗначениеВРеквизитФормы(СформироватьТаблицуВерсий(), "СписокВерсий"); +КонецПроцедуры + +&НаКлиенте +Процедура РеквизитыОчистка(Элемент, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + Реквизиты = НСтр("ru = 'Все'"); + Отбор.Очистить(); + ОбновитьСписокВерсий(); +КонецПроцедуры + +&НаСервере +Функция НомераВерсийСИзменениямиВВыбранныхРеквизитах() + + ТекстЗапроса = + "ВЫБРАТЬ + | ВерсииОбъектов.НомерВерсии КАК НомерВерсии, + | ВерсииОбъектов.ВерсияОбъекта КАК Данные + |ИЗ + | РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов + |ГДЕ + | ВерсииОбъектов.ТипВерсииОбъекта = ЗНАЧЕНИЕ(Перечисление.ТипыВерсийОбъекта.ИзмененоПользователем) + | И ВерсииОбъектов.Объект = &Ссылка + | И ВерсииОбъектов.ЕстьДанныеВерсии + | + |УПОРЯДОЧИТЬ ПО + | НомерВерсии"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Ссылка", Ссылка); + ХранимыеВерсии = Запрос.Выполнить().Выгрузить(); + + ТекущаяВерсия = ХранимыеВерсии.Добавить(); + ТекущаяВерсия.Данные = Новый ХранилищеЗначения(ВерсионированиеОбъектов.СериализоватьОбъект(Ссылка.ПолучитьОбъект()), Новый СжатиеДанных(9)); + ТекущаяВерсия.НомерВерсии = ВерсионированиеОбъектов.НомерПоследнейВерсии(Ссылка); + + ПредыдущаяВерсия = ВерсионированиеОбъектов.РазборПредставленияОбъектаXML(ХранимыеВерсии[0].Данные.Получить(), Ссылка); + + Результат = Новый Массив; + Результат.Добавить(ХранимыеВерсии[0].НомерВерсии); + + Для НомерВерсии = 1 По ХранимыеВерсии.Количество() - 1 Цикл + Версия = ХранимыеВерсии[НомерВерсии]; + ТекущаяВерсия = ВерсионированиеОбъектов.РазборПредставленияОбъектаXML(Версия.Данные.Получить(), Ссылка); + Если ЕстьИзменениеРеквизитов(ТекущаяВерсия, ПредыдущаяВерсия, Отбор.ВыгрузитьЗначения()) Тогда + Результат.Добавить(Версия.НомерВерсии); + КонецЕсли; + ПредыдущаяВерсия = ТекущаяВерсия; + КонецЦикла; + + Возврат Результат; +КонецФункции + +&НаСервере +Функция ЕстьИзменениеРеквизитов(ТекущаяВерсия, ПредыдущаяВерсия, СписокРеквизитов) + Для Каждого Реквизит Из СписокРеквизитов Цикл + ИмяТабличнойЧасти = Неопределено; + ИмяРеквизита = Реквизит; + Если Найти(ИмяРеквизита, ".") > 0 Тогда + ЧастиИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИмяРеквизита, ".", Истина); + Если ЧастиИмени.Количество() > 1 Тогда + ИмяТабличнойЧасти = ЧастиИмени[0]; + ИмяРеквизита = ЧастиИмени[1]; + КонецЕсли; + КонецЕсли; + + // проверка изменения реквизита табличной части + Если ИмяТабличнойЧасти <> Неопределено Тогда + ТекущаяТабличнаяЧасть = ТекущаяВерсия.ТабличныеЧасти[ИмяТабличнойЧасти]; + ПредыдущаяТабличнаяЧасть = ПредыдущаяВерсия.ТабличныеЧасти[ИмяТабличнойЧасти]; + + // табличная часть отсутствует + Если ТекущаяТабличнаяЧасть = Неопределено Или ПредыдущаяТабличнаяЧасть = Неопределено Тогда + Возврат Не ТекущаяТабличнаяЧасть = Неопределено И ПредыдущаяТабличнаяЧасть = Неопределено; + КонецЕсли; + + // если изменилось количество строк ТЧ + Если ТекущаяТабличнаяЧасть.Количество() <> ПредыдущаяТабличнаяЧасть.Количество() Тогда + Возврат Истина; + КонецЕсли; + + // реквизит отсутствует + ТекущийРеквизитСуществует = ТекущаяТабличнаяЧасть.Колонки.Найти(ИмяРеквизита) <> Неопределено; + ПредыдущийРеквизитСуществует = ПредыдущаяТабличнаяЧасть.Колонки.Найти(ИмяРеквизита) <> Неопределено; + Если ТекущийРеквизитСуществует <> ПредыдущийРеквизитСуществует Тогда + Возврат Истина; + КонецЕсли; + Если Не ТекущийРеквизитСуществует Тогда + Возврат Ложь; + КонецЕсли; + + // сравнение по строкам + Для НомерСтроки = 0 По ТекущаяТабличнаяЧасть.Количество() - 1 Цикл + Если ТекущаяТабличнаяЧасть[НомерСтроки][ИмяРеквизита] <> ПредыдущаяТабличнаяЧасть[НомерСтроки][ИмяРеквизита] Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + КонецЕсли; + + // проверка реквизита шапки + + ТекущийРеквизит = ТекущаяВерсия.Реквизиты.Найти(ИмяРеквизита, "НаименованиеРеквизита"); + ТекущийРеквизитСуществует = ТекущийРеквизит <> Неопределено; + ЗначениеТекущегоРеквизита = Неопределено; + Если ТекущийРеквизитСуществует Тогда + ЗначениеТекущегоРеквизита = ТекущийРеквизит.ЗначениеРеквизита; + КонецЕсли; + + ПредыдущийРеквизит = ПредыдущаяВерсия.Реквизиты.Найти(ИмяРеквизита, "НаименованиеРеквизита"); + ПредыдущийРеквизитСуществует = ПредыдущийРеквизит <> Неопределено; + ЗначениеПредыдущегоРеквизита = Неопределено; + Если ПредыдущийРеквизитСуществует Тогда + ЗначениеПредыдущегоРеквизита = ПредыдущийРеквизит.ЗначениеРеквизита; + КонецЕсли; + + Если ТекущийРеквизитСуществует <> ПредыдущийРеквизитСуществует + Или ЗначениеТекущегоРеквизита <> ЗначениеПредыдущегоРеквизита Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; +КонецФункции + +&НаКлиенте +Процедура СписокВерсийКомментарийПриИзменении(Элемент) + ТекущиеДанные = Элементы.СписокВерсий.ТекущиеДанные; + Если ТекущиеДанные <> Неопределено Тогда + ДобавитьКомментарийКВерсии(Ссылка, ТекущиеДанные.НомерВерсии, ТекущиеДанные.Комментарий); + КонецЕсли; +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьКомментарийКВерсии(СсылкаНаОбъект, НомерВерсии, Комментарий); + ВерсионированиеОбъектов.ДобавитьКомментарийКВерсии(СсылкаНаОбъект, НомерВерсии, Комментарий); +КонецПроцедуры + +&НаКлиенте +Процедура СписокВерсийПередНачаломИзменения(Элемент, Отказ) + Если Не РедактированиеКомментарияРазрешено(Элемент.ТекущиеДанные.АвторВерсии) Тогда + Отказ = Истина; + КонецЕсли; +КонецПроцедуры +//// + +&НаСервере +Функция РедактированиеКомментарияРазрешено(АвторВерсии) + Возврат Пользователи.ЭтоПолноправныйПользователь() + Или АвторВерсии = Пользователи.ТекущийПользователь(); +КонецФункции + #КонецОбласти diff --git a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/ДополнительноеОписание/Form.form b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Form.form similarity index 58% rename from SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/ДополнительноеОписание/Form.form rename to SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Form.form index e9001d053..2b6403ba7 100644 --- a/SSL/src/DataProcessors/ПомощникСозданияОбменаДанными/Forms/ДополнительноеОписание/Form.form +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Form.form @@ -1,20 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form"> <items xsi:type="form:FormField"> - <name>ПолеHTMLДокумента</name> - <id>1</id> + <name>Комментарий</name> + <id>3</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>ПолеHTMLДокумента</segments> + <segments>Комментарий</segments> </dataPath> - <skipOnInput>true</skipOnInput> <titleLocation>None</titleLocation> <extendedTooltip> - <name>ПолеHTMLДокументаExtendedTooltip</name> + <name>КомментарийРасширеннаяПодсказка</name> <id>5</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -24,22 +23,24 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПолеHTMLДокументаКонтекстноеМеню</name> - <id>2</id> + <name>КомментарийКонтекстноеМеню</name> + <id>4</id> <autoFill>true</autoFill> </contextMenu> - <type>HTMLDocumentField</type> + <type>InputField</type> <editMode>Enter</editMode> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> - <extInfo xsi:type="form:HtmlFieldExtInfo"> - <width>70</width> + <extInfo xsi:type="form:InputFieldExtInfo"> <autoMaxWidth>true</autoMaxWidth> - <height>20</height> <autoMaxHeight>true</autoMaxHeight> - <horizontalStretch>true</horizontalStretch> - <verticalStretch>true</verticalStretch> + <wrap>true</wrap> + <multiLine>true</multiLine> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> </extInfo> </items> <commandBarLocation>Bottom</commandBarLocation> @@ -48,16 +49,16 @@ <name>ФормаКоманднаяПанель</name> <id>-1</id> <items xsi:type="form:Button"> - <name>ФормаЗакрыть</name> - <id>3</id> + <name>ФормаОК</name> + <id>6</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> <extendedTooltip> - <name>ФормаЗакрытьExtendedTooltip</name> - <id>4</id> + <name>ФормаОКРасширеннаяПодсказка</name> + <id>7</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -65,8 +66,8 @@ <horizontalAlign>Left</horizontalAlign> </extInfo> </extendedTooltip> - <commandName>Form.StandardCommand.Close</commandName> - <representation>PictureAndText</representation> + <commandName>Form.Command.ОК</commandName> + <representation>Auto</representation> <defaultButton>true</defaultButton> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -74,6 +75,7 @@ <representationInContextMenu>Auto</representationInContextMenu> </items> <horizontalAlign>Right</horizontalAlign> + <autoFill>true</autoFill> </autoCommandBar> <handlers> <event>OnCreateAtServer</event> @@ -81,6 +83,8 @@ </handlers> <excludedCommands>Abort</excludedCommands> <excludedCommands>Cancel</excludedCommands> + <excludedCommands>Close</excludedCommands> + <excludedCommands>CustomizeForm</excludedCommands> <excludedCommands>Help</excludedCommands> <excludedCommands>Ignore</excludedCommands> <excludedCommands>No</excludedCommands> @@ -89,21 +93,55 @@ <excludedCommands>Retry</excludedCommands> <excludedCommands>SaveValues</excludedCommands> <excludedCommands>Yes</excludedCommands> + <width>40</width> + <height>6</height> <windowOpeningMode>LockOwner</windowOpeningMode> <saveWindowSettings>true</saveWindowSettings> + <autoTitle>true</autoTitle> <autoUrl>true</autoUrl> <group>Vertical</group> + <autoFillCheck>true</autoFillCheck> + <allowFormCustomize>true</allowFormCustomize> <enabled>true</enabled> - <verticalScroll>UseIfNecessary</verticalScroll> <showTitle>auto</showTitle> <showCloseButton>true</showCloseButton> <attributes> - <name>ПолеHTMLДокумента</name> + <name>СсылкаНаОбъект</name> <title> <key>ru</key> - <value>Поле HTMLДокумента</value> + <value>Ссылка на объект</value> + + 1 + + AnyRef + + + + + + НомерВерсии + + <key>ru</key> + <value>Номер версии</value> 2 + + Number + + 10 + true + + + + + + + Комментарий + + <key>ru</key> + <value>Комментарий</value> + + 3 String @@ -114,14 +152,30 @@ true + true - - ИмяМакета - - String - - - + + ОК + + <key>ru</key> + <value>ОК</value> + + 1 + + ru + ОК + + + true + + + + ОК + + + Auto + Auto + diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Module.bsl b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Module.bsl new file mode 100644 index 000000000..a9a59d4c5 --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/КомментарийКВерсии/Module.bsl @@ -0,0 +1,24 @@ + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + СсылкаНаОбъект = Параметры.СсылкаНаОбъект; + НомерВерсии = ВерсионированиеОбъектов.НомерПоследнейВерсии(СсылкаНаОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура ОК(Команда) + Если Модифицированность Тогда + ДобавитьКомментарийКВерсии(); + КонецЕсли; + Закрыть(); +КонецПроцедуры + +&НаСервере +Процедура ДобавитьКомментарийКВерсии() + ВерсионированиеОбъектов.ДобавитьКомментарийКВерсии(СсылкаНаОбъект, НомерВерсии, Комментарий); +КонецПроцедуры + diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ОтчетПоВерсиямОбъекта/Module.bsl b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ОтчетПоВерсиямОбъекта/Module.bsl index 38dd0f52d..bae7a4b3a 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ОтчетПоВерсиямОбъекта/Module.bsl +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ОтчетПоВерсиямОбъекта/Module.bsl @@ -87,7 +87,7 @@ Если Макет = Неопределено Тогда - ВерсияОбъекта = РазборПредставленияОбъектаXML(СериализованныйXML, СсылкаНаОбъект); + ВерсияОбъекта = ВерсионированиеОбъектов.РазборПредставленияОбъектаXML(СериализованныйXML, СсылкаНаОбъект); ВерсияОбъекта.Вставить("ИмяОбъекта", Строка(СсылкаНаОбъект)); ВерсияОбъекта.Вставить("АвторИзменения", ""); ВерсияОбъекта.Вставить("ДатаИзменения", ТекущаяДатаСеанса()); @@ -221,7 +221,7 @@ Для Каждого ЭлементРеквизит Из ВерсияОбъекта.Реквизиты Цикл - НаименованиеРеквизита = ПолучитьПредставлениеРеквизитаНаЯзыке(ЭлементРеквизит.НаименованиеРеквизита); + НаименованиеРеквизита = ВерсионированиеОбъектов.ПолучитьПредставлениеРеквизитаНаЯзыке(ЭлементРеквизит.НаименованиеРеквизита); ОписаниеРеквизита = СсылкаНаОбъект.Метаданные().Реквизиты.Найти(НаименованиеРеквизита); @@ -237,7 +237,11 @@ ЗначениеРеквизита = ?(ЭлементРеквизит.ЗначениеРеквизита = Неопределено, "", ЭлементРеквизит.ЗначениеРеквизита); ВыводимоеНаименование = НаименованиеРеквизита; - ПредставлениеЗначения = Строка(ЗначениеРеквизита); + Если ОписаниеРеквизита <> Неопределено И Не ПустаяСтрока(ОписаниеРеквизита.Синоним) Тогда + ВыводимоеНаименование = ОписаниеРеквизита.Синоним; + КонецЕсли; + + ПредставлениеЗначения = ПредставлениеЗначенияРеквизита(ЗначениеРеквизита, ОписаниеРеквизита); УстановитьСвойстваТекста(Секция.Область("R1C2"), ВыводимоеНаименование, , , , Истина); УстановитьСвойстваТекста(Секция.Область("R1C3"), ПредставлениеЗначения); @@ -331,7 +335,7 @@ Для Каждого СтрокаТабличнойЧасти Из ТабличнаяЧасть Цикл НомерСтроки = НомерСтроки + 1; Значение = ?(СтрокаТабличнойЧасти[НаименованиеПоля] = Неопределено, "", СтрокаТабличнойЧасти[НаименованиеПоля]); - ПредставлениеЗначения = Строка(Значение); + ПредставлениеЗначения = ПредставлениеЗначенияРеквизита(Значение, ОписаниеПоля); УстановитьСвойстваТекста(Секция.Область("R" + НомерСтроки + "C1"), ПредставлениеЗначения, , , , , Истина); Если СтрДлина(ПредставлениеЗначения) > (СоответствиеРазмерностиКолонок[НомерКолонки] - 4) Тогда @@ -443,27 +447,26 @@ РезультатСравнения = РассчитатьИзменения(НомерВерсии, ВерсияОбъекта_Пред, ВерсияОбъекта); - ИзмРек = РезультатСравнения["Реквизиты"]["и"]; - ДобРек = РезультатСравнения["Реквизиты"]["д"]; - УдлРек = РезультатСравнения["Реквизиты"]["у"]; - // заполнение таблицы отчета по реквизитам - ЗаполнитьХарактеристикуИзмененияРеквизита(ИзмРек, "И", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); - ЗаполнитьХарактеристикуИзмененияРеквизита(ДобРек, "Д", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); - ЗаполнитьХарактеристикуИзмененияРеквизита(УдлРек, "У", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); + ЗаполнитьХарактеристикуИзмененияРеквизита(РезультатСравнения["Реквизиты"]["и"], + "И", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); + ЗаполнитьХарактеристикуИзмененияРеквизита(РезультатСравнения["Реквизиты"]["д"], + "Д", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); + ЗаполнитьХарактеристикуИзмененияРеквизита(РезультатСравнения["Реквизиты"]["у"], + "У", ТаблицаИзмененийРеквизитов, ИмяКолонкиТекущейВерсии, ВерсияОбъекта); // Изменения в табличных частях - ИзмТЧ = РезультатСравнения["ТабличныеЧасти"]["и"]; + ИзмененияВТабличныхЧастях = РезультатСравнения["ТабличныеЧасти"]["и"]; // Данная функциональность пока не реализуется - ДобТЧ = РезультатСравнения["ТабличныеЧасти"]["д"]; - УдлТЧ = РезультатСравнения["ТабличныеЧасти"]["у"]; + ДобавленныеТабличныеЧасти = РезультатСравнения["ТабличныеЧасти"]["д"]; + УдаленныеТабличныеЧасти = РезультатСравнения["ТабличныеЧасти"]["у"]; Для Каждого ЭлементСоответствия Из ВерсияОбъекта.ТабличныеЧасти Цикл ИмяТаблицы = ЭлементСоответствия.Ключ; - Если ЗначениеЗаполнено(ДобТЧ.Найти(ИмяТаблицы)) - Или ЗначениеЗаполнено(УдлТЧ.Найти(ИмяТаблицы)) Тогда + Если ЗначениеЗаполнено(ДобавленныеТабличныеЧасти.Найти(ИмяТаблицы)) + Или ЗначениеЗаполнено(УдаленныеТабличныеЧасти.Найти(ИмяТаблицы)) Тогда Продолжить; КонецЕсли; @@ -474,7 +477,7 @@ СсылкаНаВерсиюТаблицы.ЗаполнитьЗначения(Неопределено, "Версионирование_ИдСтроки"); СсылкаНаВерсиюТаблицы.Колонки.Добавить("Версионирование_Модификация"); СсылкаНаВерсиюТаблицы.ЗаполнитьЗначения(Неопределено, "Версионирование_Модификация"); - ТаблицаСИзменениями = ИзмТЧ.Получить(ИмяТаблицы); + ТаблицаСИзменениями = ИзмененияВТабличныхЧастях.Получить(ИмяТаблицы); Если ТаблицаСИзменениями <> Неопределено Тогда ИзмТЧ_СтрокиИ = ТаблицаСИзменениями["И"]; ИзмТЧ_СтрокиД = ТаблицаСИзменениями["Д"]; @@ -564,23 +567,23 @@ Для Каждого ЭлементМодРеквизит Из ТаблицаИзмененийРеквизитов Цикл Если ЭлементМодРеквизит.Версионирование_Модификация = Истина Тогда - // получаем имя реквизита - НаименованиеРеквизита = ЭлементМодРеквизит.Наименование; - // выводим наименование, предварительно заменяя его на другое, если - // оно является предопределенным - ВыводимоеНаименование = ПолучитьПредставлениеРеквизитаНаЯзыке(НаименованиеРеквизита); - - ОписаниеРеквизита = СсылкаНаОбъект.Метаданные().Реквизиты.Найти(ВыводимоеНаименование); + НаименованиеРеквизита = ВерсионированиеОбъектов.ПолучитьПредставлениеРеквизитаНаЯзыке(ЭлементМодРеквизит.Наименование); + ОписаниеРеквизита = СсылкаНаОбъект.Метаданные().Реквизиты.Найти(НаименованиеРеквизита); Если ОписаниеРеквизита = Неопределено Тогда Для Каждого ОписаниеСтандартногоРеквизита Из СсылкаНаОбъект.Метаданные().СтандартныеРеквизиты Цикл - Если ОписаниеСтандартногоРеквизита.Имя = ПолучитьПредставлениеРеквизитаНаЯзыке(НаименованиеРеквизита) Тогда + Если ОписаниеСтандартногоРеквизита.Имя = НаименованиеРеквизита Тогда ОписаниеРеквизита = ОписаниеСтандартногоРеквизита; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; + ВыводимоеНаименование = НаименованиеРеквизита; + Если ОписаниеРеквизита <> Неопределено И Не ПустаяСтрока(ОписаниеРеквизита.Синоним) Тогда + ВыводимоеНаименование = ОписаниеРеквизита.Синоним; + КонецЕсли; + ПустаяЯчейка = ОбщийШаблон.ПолучитьОбласть("ПустаяЯчейка"); ТЧОтчета.Вывести(ПустаяЯчейка);; @@ -1204,7 +1207,7 @@ СведенияОВерсии = ВерсионированиеОбъектов.СведенияОВерсииОбъекта(Ссылка, НомерВерсии); - Результат = РазборПредставленияОбъектаXML(СведенияОВерсии.ВерсияОбъекта, Ссылка); + Результат = ВерсионированиеОбъектов.РазборПредставленияОбъектаXML(СведенияОВерсии.ВерсияОбъекта, Ссылка); Результат.Вставить("ИмяОбъекта", Строка(Ссылка)); Результат.Вставить("АвторИзменения", СокрЛП(Строка(СведенияОВерсии.АвторВерсии))); Результат.Вставить("ДатаИзменения", СведенияОВерсии.ДатаВерсии); @@ -1300,220 +1303,6 @@ КонецФункции -// Процедура считывает данные XML из файла и заполняет структуры данных -// -// Возвращаемое значение: -// Структура, содержащая два соответствия: ТабличныеЧасти, Реквизиты -// Структура хранения данных: -// Соответствие ТабличныеЧасти, которое содержит в себе значения табличных частей -// формат: -// СоответствиеИмя1 -> ТаблицаЗначений1 -// | | ... | -// Поле1 Поле2 ПолеM1 -// -// СоответствиеИмя2 -> ТаблицаЗначений2 -// | | ... | -// Поле1 Поле2 ПолеM2 -// -// -// СоответствиеИмяN -> ТаблицаЗначенийN -// | | ... | -// Поле1 Поле2 ПолеM3 -// -// Соответствие ЗначенияРеквизитов -// ИмяРеквизита1 -> Значение1 -// ИмяРеквизита2 -> Значение2 -// ... -// ИмяРеквизитаN -> ЗначениеN -// -Функция РазборПредставленияОбъектаXML(ДвоичныеДанные, Ссылка) - - // содержит имя метаданного измененного объекта - Перем ИмяОбъекта; - - // Содержит положение маркера в дереве XML. - // Требуется для идентификации текущего элемента. - Перем УровеньЧтения; - - // Содержат значения реквизитов справочников / документов - ЗначенияРеквизитов = Новый ТаблицаЗначений; - - ЗначенияРеквизитов.Колонки.Добавить("НаименованиеРеквизита"); - ЗначенияРеквизитов.Колонки.Добавить("ЗначениеРеквизита"); - ЗначенияРеквизитов.Колонки.Добавить("ТипРеквизита"); - ЗначенияРеквизитов.Колонки.Добавить("Тип"); - - ТабличныеЧасти = Новый Соответствие; - - ЧтениеXML = Новый ЧтениеFastInfoSet; - - ЧтениеXML.УстановитьДвоичныеДанные(ДвоичныеДанные); - - // уровень позиции маркера в иерархии XML: - // 0 - уровень не задан - // 1 - первый элемент (имя объекта) - // 2 - описание реквизита или табличной части - // 3 - описание строки табличной части - // 4 - описание поля строки табличной части - УровеньЧтения = 0; - - МетаданныеОбъекта = Ссылка.Метаданные(); - ТабличныеЧастиМТД = МетаданныеОбъекта.ТабличныеЧасти; - - ТипЗначения = ""; - - ТипЗначенияПоляТЧ = ""; - - // основной цикл разбора по XML - Пока ЧтениеXML.Прочитать() Цикл - - Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда - УровеньЧтения = УровеньЧтения + 1; - Если УровеньЧтения = 1 Тогда // указатель на первом элементе XML - корень XML - ИмяОбъекта = ЧтениеXML.Имя; - ИначеЕсли УровеньЧтения = 2 Тогда // указатель на втором уровне - это реквизит или имя табличной части - ИмяРеквизита = ЧтениеXML.Имя; - - // любой реквизит "может оказаться" табличной частью, поэтому на всякий случай его запомним. - ИмяТабличнойЧасти = ИмяРеквизита; - Если МетаданныеОбъекта.ТабличныеЧасти.Найти(ИмяТабличнойЧасти) <> Неопределено И ТабличныеЧасти[ИмяТабличнойЧасти] = Неопределено Тогда - ТабличныеЧасти.Вставить(ИмяТабличнойЧасти, Новый ТаблицаЗначений); - КонецЕсли; - - НовоеЗР = ЗначенияРеквизитов.Добавить(); - НовоеЗР.НаименованиеРеквизита = ИмяРеквизита; - - Если ЧтениеXML.КоличествоАтрибутов() > 0 Тогда - Пока ЧтениеXML.ПрочитатьАтрибут() Цикл - Если ЧтениеXML.ТипУзла = ТипУзлаXML.Атрибут - И ЧтениеXML.Имя = "xsi:type" Тогда - НовоеЗР.ТипРеквизита = ЧтениеXML.Значение; - - XMLТип = ЧтениеXML.Значение; - - Если Лев(XMLТип, 3) = "xs:" Тогда - НовоеЗР.Тип = ИзXMLТипа(Новый ТипДанныхXML(Прав(XMLТип, СтрДлина(XMLТип)-3), "http://www.w3.org/2001/XMLSchema")); - Иначе - НовоеЗР.Тип = ИзXMLТипа(Новый ТипДанныхXML(XMLТип, "")); - КонецЕсли; - - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Если Не ЗначениеЗаполнено(НовоеЗР.Тип) Тогда - - ОписаниеРеквизита = МетаданныеОбъекта.Реквизиты.Найти(НовоеЗР.НаименованиеРеквизита); - - Если ОписаниеРеквизита = Неопределено Тогда - - НаименованиеРеквизита = ПолучитьПредставлениеРеквизитаНаЯзыке(НовоеЗР.НаименованиеРеквизита); - - Если ОбщегоНазначения.ЭтоСтандартныйРеквизит(МетаданныеОбъекта.СтандартныеРеквизиты, НаименованиеРеквизита) Тогда - - ОписаниеРеквизита = МетаданныеОбъекта.СтандартныеРеквизиты[НаименованиеРеквизита]; - - КонецЕсли; - - КонецЕсли; - - Если ОписаниеРеквизита <> Неопределено - И ОписаниеРеквизита.Тип.Типы().Количество() = 1 Тогда - НовоеЗР.Тип = ОписаниеРеквизита.Тип.Типы()[0]; - КонецЕсли; - - КонецЕсли; - - ИначеЕсли (УровеньЧтения = 3) и (ЧтениеXML.Имя = "Row") Тогда // указатель на поле табличной части - Если ТабличныеЧасти[ИмяТабличнойЧасти] = Неопределено Тогда - ТабличныеЧасти.Вставить(ИмяТабличнойЧасти, Новый ТаблицаЗначений); - КонецЕсли; - - ТабличныеЧасти[ИмяТабличнойЧасти].Добавить(); - ИначеЕсли УровеньЧтения = 4 Тогда // указатель на поле табличной части - - ТипЗначенияПоляТЧ = ""; - - ИмяПоляТЧ = ЧтениеXML.Имя; // - Таблица = ТабличныеЧасти[ИмяТабличнойЧасти]; - Если Таблица.Колонки.Найти(ИмяПоляТЧ)= Неопределено Тогда - Таблица.Колонки.Добавить(ИмяПоляТЧ); - КонецЕсли; - - Если ЧтениеXML.КоличествоАтрибутов() > 0 Тогда - Пока ЧтениеXML.ПрочитатьАтрибут() Цикл - Если ЧтениеXML.ТипУзла = ТипУзлаXML.Атрибут - И ЧтениеXML.Имя = "xsi:type" Тогда - XMLТип = ЧтениеXML.Значение; - - Если Лев(XMLТип, 3) = "xs:" Тогда - ТипЗначенияПоляТЧ = ИзXMLТипа(Новый ТипДанныхXML(Прав(XMLТип, СтрДлина(XMLТип)-3), "http://www.w3.org/2001/XMLSchema")); - Иначе - ТипЗначенияПоляТЧ = ИзXMLТипа(Новый ТипДанныхXML(XMLТип, "")); - КонецЕсли; - - КонецЕсли; - КонецЦикла; - КонецЕсли; - - КонецЕсли; - ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда - УровеньЧтения = УровеньЧтения - 1; - ТипЗначения = ""; - ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда - Если (УровеньЧтения = 2) Тогда // значение реквизита - Попытка - НовоеЗР.ЗначениеРеквизита = ?(ЗначениеЗаполнено(НовоеЗР.Тип), XMLЗначение(НовоеЗР.Тип, ЧтениеXML.Значение), ЧтениеXML.Значение); - Исключение - НовоеЗР.ЗначениеРеквизита = ЧтениеXML.Значение; - КонецПопытки; - ИначеЕсли (УровеньЧтения = 4) Тогда // значение реквизита - ПоследняяСтрока = ТабличныеЧасти[ИмяТабличнойЧасти].Получить(ТабличныеЧасти[ИмяТабличнойЧасти].Количество()-1); - - Если ТипЗначенияПоляТЧ = "" Тогда - ОписаниеРТЧ = Неопределено; - Если ТабличныеЧастиМТД.Найти(ИмяТабличнойЧасти) <> Неопределено Тогда - ОписаниеРТЧ = ТабличныеЧастиМТД[ИмяТабличнойЧасти].Реквизиты.Найти(ИмяПоляТЧ); - - Если ОписаниеРТЧ <> Неопределено - И ОписаниеРТЧ.Тип.Типы().Количество() = 1 Тогда - ТипЗначенияПоляТЧ = ОписаниеРТЧ.Тип.Типы()[0]; - КонецЕсли; - КонецЕсли; - КонецЕсли; - - ПоследняяСтрока[ИмяПоляТЧ] = ?(ЗначениеЗаполнено(ТипЗначенияПоляТЧ), XMLЗначение(ТипЗначенияПоляТЧ, ЧтениеXML.Значение), ЧтениеXML.Значение); - КонецЕсли; - КонецЕсли; - КонецЦикла; - - // 2-й этап: из списка реквизитов исключаем табличные части - Для Каждого Элемент Из ТабличныеЧасти Цикл - ЗначенияРеквизитов.Удалить(ЗначенияРеквизитов.Найти(Элемент.Ключ)); - КонецЦикла; - //ТабличныеЧастиМТД - Для Каждого ЭлементСоответствия Из ТабличныеЧасти Цикл - Таблица = ЭлементСоответствия.Значение; - Если Таблица.Колонки.Количество() = 0 Тогда - ТаблицаМТД = ТабличныеЧастиМТД.Найти(ЭлементСоответствия.Ключ); - Если ТаблицаМТД <> Неопределено Тогда - Для Каждого ОписаниеКолонки Из ТаблицаМТД.Реквизиты Цикл - Если Таблица.Колонки.Найти(ОписаниеКолонки.Имя)= Неопределено Тогда - Таблица.Колонки.Добавить(ОписаниеКолонки.Имя); - КонецЕсли; - КонецЦикла; - КонецЕсли; - КонецЕсли; - КонецЦикла; - - Результат = Новый Структура; - Результат.Вставить("Реквизиты", ЗначенияРеквизитов); - Результат.Вставить("ТабличныеЧасти", ТабличныеЧасти); - - Возврат Результат; - -КонецФункции - Процедура ПодготовитьКолонкиТаблицИзмененийДляСоответствия(Соответствие, МассивНомеровВерсий) Количество = МассивНомеровВерсий.Количество(); @@ -1566,38 +1355,6 @@ КонецФункции -// Получает представление наименования системного реквизита -// -Функция ПолучитьПредставлениеРеквизитаНаЯзыке(Знач ИмяРеквизита) - - Если ИмяРеквизита = "Number" Тогда - Возврат НСтр("ru = 'Номер'; en='Number'"); - ИначеЕсли ИмяРеквизита = "Name" Тогда - Возврат НСтр("ru = 'Наименование'; en='Name'"); - ИначеЕсли ИмяРеквизита = "Code" Тогда - Возврат НСтр("ru = 'Код'; en='Code'"); - ИначеЕсли ИмяРеквизита = "IsFolder" Тогда - Возврат НСтр("ru = 'ЭтоГруппа'; en='Is folder'"); - ИначеЕсли ИмяРеквизита = "Description" Тогда - Возврат НСтр("ru = 'Наименование'; en='Description'"); - ИначеЕсли ИмяРеквизита = "Date" Тогда - Возврат НСтр("ru = 'Дата'; en='Date'"); - ИначеЕсли ИмяРеквизита = "Posted" Тогда - Возврат НСтр("ru = 'Проведен'; en='Posted'"); - ИначеЕсли ИмяРеквизита = "DeletionMark" Тогда - Возврат НСтр("ru = 'ПометкаУдаления'; en='Deletion mark'"); - ИначеЕсли ИмяРеквизита = "Ref" Тогда - Возврат НСтр("ru = 'Ссылка'; en='Ref'"); - ИначеЕсли ИмяРеквизита = "Parent" Тогда - Возврат НСтр("ru = 'Родитель'; en='Parent'"); - ИначеЕсли ИмяРеквизита = "Owner" Тогда - Возврат НСтр("ru = 'Владелец'; en='Owner'"); - Иначе - Возврат ИмяРеквизита; - КонецЕсли; - -КонецФункции - // Используется для вывода текста в область табличного документа // с условным оформлением // @@ -2138,4 +1895,22 @@ Возврат Ложь; КонецФункции +&НаСервере +Функция ПредставлениеЗначенияРеквизита(ЗначениеРеквизита, ОбъектМетаданныхРеквизит) + + ФорматнаяСтрока = ""; + Если ОбъектМетаданныхРеквизит <> Неопределено Тогда + Если ТипЗнч(ЗначениеРеквизита) = Тип("Дата") Тогда + ФорматнаяСтрока = "ДЛФ=DT"; + Если ОбъектМетаданныхРеквизит.Тип.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Дата Тогда + ФорматнаяСтрока = "ДЛФ=D"; + ИначеЕсли ОбъектМетаданныхРеквизит.Тип.КвалификаторыДаты.ЧастиДаты = ЧастиДаты.Время Тогда + ФорматнаяСтрока = "ДЛФ=T"; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Возврат Формат(ЗначениеРеквизита, ФорматнаяСтрока); + +КонецФункции #КонецОбласти diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаЗаписи/Help/ru.html b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаЗаписи/Help/ru.html new file mode 100644 index 000000000..d1844dbab --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаЗаписи/Help/ru.html @@ -0,0 +1 @@ +Форма записи \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаСписка/Form.form index 057f531ef..a5f5344e3 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/Forms/ФормаСписка/Form.form @@ -1,5 +1,100 @@ + + ГруппаПользовательскихНастроек + 28 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 30 + + УдалитьЗаписи + 14 + true + true + + true + + false + + УдалитьЗаписиExtendedTooltip + 15 + Label + true + true + + Left + + + Form.Command.УдалитьЗаписи + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -201,6 +296,74 @@ true + + РазмерДанных + 22 + true + true + + + Список.РазмерДанных + + + РазмерДанныхРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + + РазмерДанныхКонтекстноеМеню + 23 + true + + LabelField + Enter + true + Left + true + + true + true + + + + КонтрольнаяСумма + 25 + true + true + + + Список.КонтрольнаяСумма + + + КонтрольнаяСуммаРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + + КонтрольнаяСуммаКонтекстноеМеню + 26 + true + + LabelField + Enter + true + Left + true + + true + true + + None СписокКоманднаяПанель @@ -214,10 +377,10 @@ СписокСтрокаПоиска - 22 + 32 СписокСтрокаПоискаРасширеннаяПодсказка - 24 + 34 Label true true @@ -227,7 +390,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 23 + 33 true Список @@ -237,10 +400,10 @@ СписокСостояниеПросмотра - 25 + 35 СписокСостояниеПросмотраРасширеннаяПодсказка - 27 + 37 Label true true @@ -250,7 +413,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 26 + 36 true ViewStatusAddition @@ -261,10 +424,10 @@ СписокУправлениеПоиском - 28 + 38 СписокУправлениеПоискомРасширеннаяПодсказка - 30 + 40 Label true true @@ -274,7 +437,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 29 + 39 true SearchControlAddition @@ -333,40 +496,13 @@ true true + ГруппаПользовательскихНастроек
                                          ФормаКоманднаяПанель -1 - - УдалитьЗаписи - 14 - true - true - - true - - false - - УдалитьЗаписиExtendedTooltip - 15 - Label - true - true - - Left - - - Form.Command.УдалитьЗаписи - Normal - Auto - true - true - UserCmds - Auto - Left - true Change Copy diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/RecordSetModule.bsl b/SSL/src/InformationRegisters/ВерсииОбъектов/RecordSetModule.bsl new file mode 100644 index 000000000..82d0c2742 --- /dev/null +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/RecordSetModule.bsl @@ -0,0 +1,30 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ, Замещение) + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Для Каждого Запись Из ЭтотОбъект Цикл + Запись.РазмерДанных = РазмерДанных(Запись.ВерсияОбъекта); + ВерсияОбъекта = Запись.ВерсияОбъекта.Получить(); + Запись.ЕстьДанныеВерсии = ВерсияОбъекта <> Неопределено; + Если Запись.ЕстьДанныеВерсии Тогда + Запись.КонтрольнаяСумма = ВерсионированиеОбъектов.КонтрольнаяСумма(ВерсияОбъекта); + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция РазмерДанных(Данные) + Возврат Base64Значение(СериализаторXDTO.XMLСтрока(Данные)).Размер(); +КонецФункции + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ВерсииОбъектов/ВерсииОбъектов.mdo b/SSL/src/InformationRegisters/ВерсииОбъектов/ВерсииОбъектов.mdo index 4628cfd00..8b2e706f6 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектов/ВерсииОбъектов.mdo +++ b/SSL/src/InformationRegisters/ВерсииОбъектов/ВерсииОбъектов.mdo @@ -14,8 +14,6 @@ ru Версии объектов - InformationRegister.ВерсииОбъектов.Form.ФормаЗаписи - InformationRegister.ВерсииОбъектов.Form.ФормаСписка Use Active @@ -113,6 +111,7 @@ + Index Use Use @@ -179,6 +178,73 @@ Use + + РазмерДанных + + ru + Размер данных + + + Number + + 15 + true + + + + ru + Размер данных хранимой версии в байтах + + + + Use + Use + + + + КонтрольнаяСумма + + ru + Контрольная сумма + + + String + + 32 + + + + ru + Контрольная сумма данных версии по алгоритму MD5 + + + + Use + Use + + + + + + ЕстьДанныеВерсии + + ru + Есть данные версии + + + Boolean + + + ru + Признак наличия данных версии + + + + Index + Use + Use + + Объект @@ -221,6 +287,7 @@ + Index Use 0 @@ -251,6 +318,11 @@ ru Форма записи + + + ru + + PersonalComputer MobileDevice @@ -260,6 +332,29 @@ ru Выбор хранимых версий + + + ru + + + PersonalComputer + MobileDevice + + + ВыборРеквизитовОбъекта + + ru + Выбор реквизитов объекта + + PersonalComputer + MobileDevice + + + КомментарийКВерсии + + ru + Комментарий к версии + PersonalComputer MobileDevice diff --git a/SSL/src/InformationRegisters/ВерсииОбъектовАдресногоКлассификатора/ВерсииОбъектовАдресногоКлассификатора.mdo b/SSL/src/InformationRegisters/ВерсииОбъектовАдресногоКлассификатора/ВерсииОбъектовАдресногоКлассификатора.mdo index 288c1d714..2884ec344 100644 --- a/SSL/src/InformationRegisters/ВерсииОбъектовАдресногоКлассификатора/ВерсииОбъектовАдресногоКлассификатора.mdo +++ b/SSL/src/InformationRegisters/ВерсииОбъектовАдресногоКлассификатора/ВерсииОбъектовАдресногоКлассификатора.mdo @@ -53,29 +53,18 @@ ДатаВыпускаВерсии ru - Дата выпуска версии + UTC дата версии Date - - Date - + - - ru - ДФ=dd.MM.yyyy - - - ru - ДФ=dd.MM.yyyy - ru - Дата выпуска версии классификатора в формате дд.мм.гггг + UTC дата версии классификатора - Use Use 0001-01-01T00:00:00 @@ -99,7 +88,6 @@ - Use Use Index @@ -124,7 +112,6 @@ Index - Use Use diff --git a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Form.form index 1ce58d88a..1eba91160 100644 --- a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Form.form @@ -1,5 +1,121 @@ + + ГруппаПользовательскихНастроек + 43 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 45 + + ФормаОбновитьДанныеРегистра + 25 + true + true + + true + + + ФормаОбновитьДанныеРегистраExtendedTooltip + 28 + Label + true + true + + Left + + + Form.Command.ОбновитьДанныеРегистра + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаВключитьВозможностьРедактирования + 24 + true + true + + true + + + ФормаВключитьВозможностьРедактированияExtendedTooltip + 29 + Label + true + true + + Left + + + Form.Command.ВключитьВозможностьРедактирования + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -15,7 +131,7 @@ None Copy - ГруппаДанных + СписокГруппаДанных 26 true true @@ -26,7 +142,7 @@ Список.ГруппаДанных - ГруппаДанныхРасширеннаяПодсказка + СписокГруппаДанныхРасширеннаяПодсказка 42 Label true @@ -36,7 +152,7 @@ - ГруппаДанныхКонтекстноеМеню + СписокГруппаДанныхКонтекстноеМеню 27 true @@ -53,10 +169,10 @@ - ЗначениеДоступаСКартинкой + СписокГруппаЗначениеДоступаСКартинкой 22 - КартинкаЗначенияДоступа + СписокНомерКартинкиЗначенияДоступа 18 true true @@ -68,7 +184,7 @@ None - КартинкаЗначенияДоступаExtendedTooltip + СписокНомерКартинкиЗначенияДоступаРасширеннаяПодсказка 33 Label true @@ -78,7 +194,7 @@ - КартинкаЗначенияДоступаКонтекстноеМеню + СписокНомерКартинкиЗначенияДоступаКонтекстноеМеню 19 true @@ -102,7 +218,7 @@ - ЗначениеДоступа + СписокЗначениеДоступа 6 true true @@ -114,7 +230,7 @@ true - ЗначениеДоступаExtendedTooltip + СписокЗначениеДоступаРасширеннаяПодсказка 34 Label true @@ -124,7 +240,7 @@ - ЗначениеДоступаКонтекстноеМеню + СписокЗначениеДоступаКонтекстноеМеню 7 true @@ -145,10 +261,10 @@ <key>ru</key> - <value>Значение доступа с картинкой</value> + <value>Список группа значение доступа с картинкой</value> - ЗначениеДоступаСКартинкойExtendedTooltip + СписокГруппаЗначениеДоступаСКартинкойРасширеннаяПодсказка 32 Label true @@ -165,10 +281,10 @@ - ГруппаДоступаСКартинкой + СписокГруппаДоступаСКартинкой 23 - НомерКартинкиГруппыЗначенийДоступа + СписокНомерКартинкиГруппыЗначенийДоступа 20 true true @@ -180,7 +296,7 @@ None - НомерКартинкиГруппыЗначенийДоступаExtendedTooltip + СписокНомерКартинкиГруппыЗначенийДоступаРасширеннаяПодсказка 37 Label true @@ -190,7 +306,7 @@ - НомерКартинкиГруппыЗначенийДоступаКонтекстноеМеню + СписокНомерКартинкиГруппыЗначенийДоступаКонтекстноеМеню 21 true @@ -214,7 +330,7 @@ - ГруппаЗначенийДоступа + СписокГруппаЗначенийДоступа 10 true true @@ -226,7 +342,7 @@ true - ГруппаЗначенийДоступаExtendedTooltip + СписокГруппаЗначенийДоступаРасширеннаяПодсказка 38 Label true @@ -236,7 +352,7 @@ - ГруппаЗначенийДоступаКонтекстноеМеню + СписокГруппаЗначенийДоступаКонтекстноеМеню 11 true @@ -257,10 +373,14 @@ <key>ru</key> - <value>Группа доступа с картинкой</value> + <value>Список группа доступа с картинкой</value> + + ru + Список группа доступа с картинкой + - ГруппаДоступаСКартинкойExtendedTooltip + СписокГруппаДоступаСКартинкойРасширеннаяПодсказка 36 Label true @@ -284,10 +404,10 @@ СписокСтрокаПоиска - 43 + 47 СписокСтрокаПоискаРасширеннаяПодсказка - 45 + 49 Label true true @@ -297,7 +417,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 44 + 48 true Список @@ -307,10 +427,10 @@ СписокСостояниеПросмотра - 46 + 50 СписокСостояниеПросмотраРасширеннаяПодсказка - 48 + 52 Label true true @@ -320,7 +440,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 47 + 51 true ViewStatusAddition @@ -331,10 +451,10 @@ СписокУправлениеПоиском - 49 + 53 СписокУправлениеПоискомРасширеннаяПодсказка - 51 + 55 Label true true @@ -344,7 +464,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 50 + 54 true SearchControlAddition @@ -403,67 +523,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 - - ФормаОбновитьДанныеРегистра - 25 - true - true - - true - - - ФормаОбновитьДанныеРегистраExtendedTooltip - 28 - Label - true - true - - Left - - - Form.Command.ОбновитьДанныеРегистра - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаВключитьВозможностьРедактирования - 24 - true - true - - true - - - ФормаВключитьВозможностьРедактированияExtendedTooltip - 29 - Label - true - true - - Left - - - Form.Command.ВключитьВозможностьРедактирования - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Module.bsl index 5d70d539f..3816f848d 100644 --- a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/Forms/ФормаСписка/Module.bsl @@ -48,27 +48,32 @@ &НаСервере Процедура УстановитьУсловноеОформление() - + УсловноеОформление.Элементы.Очистить(); + + ОформитьГруппуДанных(0, НСтр("ru = 'Стандартные значения доступа'")); + ОформитьГруппуДанных(1, НСтр("ru = 'Обычные/внешние пользователи'")); + ОформитьГруппуДанных(2, НСтр("ru = 'Обычные/внешние группы пользователей'")); + ОформитьГруппуДанных(3, НСтр("ru = 'Группы исполнителей'")); + ОформитьГруппуДанных(4, НСтр("ru = 'Объекты авторизации'")); + +КонецПроцедуры - // - +&НаСервере +Процедура ОформитьГруппуДанных(ГруппаДанных, Текст) + Элемент = УсловноеОформление.Элементы.Добавить(); - + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ГруппаДанных.Имя); - + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокГруппаДанных.Имя); + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ГруппаДанных"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; - ОтборЭлемента.ПравоеЗначение = 0; - - Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Стандартные значения доступа'")); - Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Обычные/внешние пользователи'")); - Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Обычные/внешние группы пользователей'")); - Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Группы исполнителей'")); - Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'Объекты авторизации'")); - + ОтборЭлемента.ПравоеЗначение = ГруппаДанных; + + Элемент.Оформление.УстановитьЗначениеПараметра("Текст", Текст); + КонецПроцедуры &НаСервере diff --git a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/ManagerModule.bsl b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/ManagerModule.bsl index a39f7aa88..72c4d585f 100644 --- a/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/ГруппыЗначенийДоступа/ManagerModule.bsl @@ -542,7 +542,7 @@ // <Состав поля ГруппаДанных> // а) для вида доступа // Пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийПользователь} // // Пользователь 1 - Тот же Пользователь. @@ -552,7 +552,7 @@ // // б) для вида доступа // Внешние пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийВнешнийПользователь} // // Внешний пользователь 1 - Тот же Внешний пользователь. @@ -624,7 +624,7 @@ // <Состав поля ГруппаДанных> // а) для вида доступа // Пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийПользователь} // // Группа пользователей 2 - Та же Группа пользователей. @@ -634,7 +634,7 @@ // // б) для вида доступа // Внешние пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийВнешнийПользователь} // // Группа внешних пользователей 2 - Та же Группа внешних пользователей. @@ -732,10 +732,10 @@ // по видам доступа Пользователи и ВнешниеПользователи. // // <Состав поля ЗначениеДоступа> <Состав поля ГруппаЗначенийДоступа> -// <Состав поля ГруппаДанных> +// <Состав поля ГруппаДанных> // а) для вида доступа // Пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийПользователь} // // Группа исполнителей 3 - Пользователь @@ -746,7 +746,7 @@ // // б) для вида доступа // Внешние пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийВнешнийПользователь} // // Группа исполнителей 3 - Внешний пользователь @@ -969,7 +969,7 @@ // <Состав поля ГруппаДанных> // б) для вида доступа // Внешние пользователи -// {cравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} +// {сравнение с Т.<поле>} {Сравнение с ЗначенияГруппДоступа.ЗначениеДоступа} // {Сравнение с &ТекущийВнешнийПользователь} // // Объект авторизации 4 - Внешний пользователь diff --git a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Form.form b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Form.form index bfb8efd77..ac71ef8e3 100644 --- a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Form.form +++ b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Form.form @@ -4,6 +4,227 @@ ru Мои бизнес-процессы + + ГруппаПользовательскихНастроек + 72 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 74 + + ФормаИзменить + 67 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ФормаПометкаУдаления + 31 + true + true + + true + + + ФормаПометкаУдаленияExtendedTooltip + 47 + Label + true + true + + Left + + + Form.Command.ПометкаУдаления + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ГруппаПоиск + 34 + + ФормаОтменитьПоиск + 33 + true + true + + true + + + ФормаОтменитьПоискExtendedTooltip + 49 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + + ФормаНайти + 32 + true + true + + true + + + ФормаНайтиExtendedTooltip + 50 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Поиск</value> + + + ГруппаПоискExtendedTooltip + 48 + Label + true + true + + Left + + + + + + ФормаКартаМаршрута + 35 + true + true + + true + + + ФормаКартаМаршрутаExtendedTooltip + 51 + Label + true + true + + Left + + + Form.Command.КартаМаршрута + Normal + PictureAndText + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -25,10 +246,6 @@ Номер 6 - - <key>ru</key> - <value>Номер</value> - true true @@ -110,10 +327,6 @@ Дата 8 - - <key>ru</key> - <value>Дата</value> - true true @@ -146,6 +359,7 @@ true true + false true true true @@ -155,10 +369,6 @@ Стартован 12 - - <key>ru</key> - <value>Стартован</value> - true true @@ -168,6 +378,11 @@ Список.Стартован true + None + + ru + Стартован + СтартованExtendedTooltip 63 @@ -186,6 +401,9 @@ CheckBoxField Enter true + + StdPicture.BusinessProcessStart + Left true @@ -193,10 +411,6 @@ Завершен 10 - - <key>ru</key> - <value>Завершен</value> - true true @@ -206,6 +420,11 @@ Список.Завершен true + None + + ru + Завершен + ЗавершенExtendedTooltip 64 @@ -224,6 +443,9 @@ CheckBoxField Enter true + + CommonPicture.Успешно + Left true @@ -233,7 +455,7 @@ 16 <key>ru</key> - <value>Дата завершения</value> + <value>Завершен</value> true true @@ -267,12 +489,47 @@ true true + false true true true Normal + + БизнесПроцесс + 69 + true + true + + + Список.БизнесПроцесс + + + БизнесПроцессРасширеннаяПодсказка + 71 + Label + true + true + + Left + + + + БизнесПроцессКонтекстноеМеню + 70 + true + + LabelField + Enter + true + Left + true + + true + true + + None СписокКоманднаяПанель @@ -290,10 +547,10 @@ СписокСтрокаПоиска - 67 + 76 СписокСтрокаПоискаРасширеннаяПодсказка - 69 + 78 Label true true @@ -303,7 +560,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 68 + 77 true Список @@ -313,10 +570,10 @@ СписокСостояниеПросмотра - 70 + 79 СписокСостояниеПросмотраРасширеннаяПодсказка - 72 + 81 Label true true @@ -326,7 +583,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 71 + 80 true ViewStatusAddition @@ -337,10 +594,10 @@ СписокУправлениеПоиском - 73 + 82 СписокУправлениеПоискомРасширеннаяПодсказка - 75 + 84 Label true true @@ -350,7 +607,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 74 + 83 true SearchControlAddition @@ -583,6 +840,7 @@ true + ГруппаПользовательскихНастроек @@ -623,137 +881,11 @@ true + None + false ФормаКоманднаяПанель -1 - - ФормаПометкаУдаления - 31 - true - true - - true - - - ФормаПометкаУдаленияExtendedTooltip - 47 - Label - true - true - - Left - - - Form.Command.ПометкаУдаления - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаПоиск - 34 - - ФормаОтменитьПоиск - 33 - true - true - - true - - - ФормаОтменитьПоискExtendedTooltip - 49 - Label - true - true - - Left - - - Form.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - - ФормаНайти - 32 - true - true - - true - - - ФормаНайтиExtendedTooltip - 50 - Label - true - true - - Left - - - Form.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Поиск</value> - - - ГруппаПоискExtendedTooltip - 48 - Label - true - true - - Left - - - - - - ФормаКартаМаршрута - 35 - true - true - - true - - - ФормаКартаМаршрутаExtendedTooltip - 51 - Label - true - true - - Left - - - Form.Command.КартаМаршрута - Normal - Auto - true - true - UserCmds - Auto - Left true @@ -815,8 +947,8 @@ РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления, ВЫБОР КОГДА РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления - ТОГДА 4 - ИНАЧЕ 3 + ТОГДА 20 + ИНАЧЕ 19 КОНЕЦ КАК КартинкаСтроки ИЗ РегистрСведений.ДанныеБизнесПроцессов КАК РегистрСведенийДанныеБизнесПроцессов diff --git a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Module.bsl b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Module.bsl index 924eb5550..68955ff52 100644 --- a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Module.bsl +++ b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/МоиБизнесПроцессы/Module.bsl @@ -10,8 +10,8 @@ УстановитьОтбор(Новый Структура("ПоказыватьЗавершенные", ПоказыватьЗавершенные)); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Автор", Пользователи.ТекущийПользователь()); - + Список, "Автор", Пользователи.ТекущийПользователь()); + БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление); КонецПроцедуры &НаКлиенте @@ -89,13 +89,8 @@ &НаСервере Процедура УстановитьОтбор(ПараметрыОтбора) - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Завершен"); - - Если НЕ ПараметрыОтбора["ПоказыватьЗавершенные"] Тогда - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Завершен", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - КонецЕсли; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Завершен", Ложь,,, Не ПараметрыОтбора["ПоказыватьЗавершенные"]); КонецПроцедуры diff --git a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Form.form index d91dc4601..b5bf1b8a2 100644 --- a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Form.form @@ -1,5 +1,222 @@ + + ГруппаПользовательскихНастроек + 63 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 65 + + ФормаИзменить + 58 + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ФормаПометкаУдаления + 24 + true + true + + true + + + ФормаПометкаУдаленияExtendedTooltip + 38 + Label + true + true + + Left + + + Form.Command.ПометкаУдаления + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ГруппаПоиск + 36 + + ФормаНайти + 35 + true + true + + true + + + ФормаНайтиExtendedTooltip + 40 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ФормаОтменитьПоиск + 34 + true + true + + true + + + ФормаОтменитьПоискExtendedTooltip + 41 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ГруппаПоискExtendedTooltip + 39 + Label + true + true + + Left + + + + + + ФормаКартаМаршрута + 33 + true + true + + true + + + ФормаКартаМаршрутаExtendedTooltip + 42 + Label + true + true + + Left + + + Form.Command.КартаМаршрута + Normal + PictureAndText + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 66 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -210,6 +427,11 @@ Список.Стартован true + None + + ru + Стартован + СтартованExtendedTooltip 55 @@ -228,6 +450,9 @@ CheckBoxField Enter true + + StdPicture.BusinessProcessStart + Left true @@ -248,6 +473,11 @@ Список.Завершен true + None + + ru + Завершен + ЗавершенExtendedTooltip 56 @@ -266,6 +496,9 @@ CheckBoxField Enter true + + CommonPicture.Успешно + Left true @@ -315,6 +548,40 @@ Normal + + БизнесПроцесс + 60 + true + true + + + Список.БизнесПроцесс + + + БизнесПроцессРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + + БизнесПроцессКонтекстноеМеню + 61 + true + + LabelField + Enter + true + Left + true + + true + true + + None СписокКоманднаяПанель @@ -332,10 +599,10 @@ СписокСтрокаПоиска - 58 + 67 СписокСтрокаПоискаРасширеннаяПодсказка - 60 + 69 Label true true @@ -345,7 +612,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 59 + 68 true Список @@ -355,10 +622,10 @@ СписокСостояниеПросмотра - 61 + 70 СписокСостояниеПросмотраРасширеннаяПодсказка - 63 + 72 Label true true @@ -368,7 +635,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 62 + 71 true ViewStatusAddition @@ -379,10 +646,10 @@ СписокУправлениеПоиском - 64 + 73 СписокУправлениеПоискомРасширеннаяПодсказка - 66 + 75 Label true true @@ -392,7 +659,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 65 + 74 true SearchControlAddition @@ -626,135 +893,14 @@ true true + ГруппаПользовательскихНастроек + None + false ФормаКоманднаяПанель -1 - - ФормаПометкаУдаления - 24 - true - true - - true - - - ФормаПометкаУдаленияExtendedTooltip - 38 - Label - true - true - - Left - - - Form.Command.ПометкаУдаления - Normal - Auto - true - true - UserCmds - Auto - - - ГруппаПоиск - 36 - - ФормаНайти - 35 - true - true - - true - - - ФормаНайтиExtendedTooltip - 40 - Label - true - true - - Left - - - Form.StandardCommand.Find - Normal - Auto - true - true - UserCmds - Auto - - - ФормаОтменитьПоиск - 34 - true - true - - true - - - ФормаОтменитьПоискExtendedTooltip - 41 - Label - true - true - - Left - - - Form.StandardCommand.CancelSearch - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - ГруппаПоискExtendedTooltip - 39 - Label - true - true - - Left - - - - - - ФормаКартаМаршрута - 33 - true - true - - true - - - ФормаКартаМаршрутаExtendedTooltip - 42 - Label - true - true - - Left - - - Form.Command.КартаМаршрута - Normal - Auto - true - true - UserCmds - Auto - Left true @@ -762,6 +908,10 @@ NotificationProcessing ОбработкаОповещения + + OnCreateAtServer + ПриСозданииНаСервере + DontBlock true true @@ -808,8 +958,8 @@ РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления, ВЫБОР КОГДА РегистрСведенийДанныеБизнесПроцессов.ПометкаУдаления - ТОГДА 4 - ИНАЧЕ 3 + ТОГДА 20 + ИНАЧЕ 19 КОНЕЦ КАК КартинкаСтроки ИЗ РегистрСведений.ДанныеБизнесПроцессов КАК РегистрСведенийДанныеБизнесПроцессов diff --git a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Module.bsl index 9df477dfb..b5ccb320f 100644 --- a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Forms/ФормаСписка/Module.bsl @@ -1,6 +1,13 @@ #Область ОбработчикиСобытийФормы +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + БизнесПроцессыИЗадачиСервер.УстановитьОформлениеБизнесПроцессов(Список.УсловноеОформление); + +КонецПроцедуры + &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "Запись_ЗадачаИсполнителя" Тогда diff --git a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Help/ru.html b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Help/ru.html index 2736ce548..22b9f2826 100644 --- a/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Help/ru.html +++ b/SSL/src/InformationRegisters/ДанныеБизнесПроцессов/Help/ru.html @@ -1,4 +1,17 @@ - -

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

                                          -

                                          См. также

                                          - \ No newline at end of file + +

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

                                          +

                                          Открывается по команде Мои бизнес-процессы в разделе Бизнес-процессы и задачи.

                                          +

                                          В списке выводится:

                                          +
                                          • Номер - присваивается автоматически. Рядом с номером программа автоматически проставляет значок, обозначающий вид бизнес-процесса; +
                                          • Наименование - полное наименование бизнес-процесса; +
                                          • Дата - дата и время создания бизнес-процесса; +
                                          •   - начатые бизнес-процессы обозначаются с помощью флажка в колонке Стартован; +
                                          •  - завершенные бизнес-процессы обозначаются с помощью флажка в колонке Завершен; +
                                          • Завершен - программа автоматически указывает дату и время выполнения бизнес-процесса.

                                          Включение в список завершенных бизнес-процессов

                                          +
                                          • Установив соответствующий флажок в нижней части окна, можно вывести в списке также завершенные бизнес-процессы (по умолчанию снят).

                                          Работа с бизнес-процессом

                                          +
                                          • +
                                            Выделите бизнес-процесс (например,  Задание) в списке, нажмите Изменить.

                                          Просмотр карты маршрута бизнес-процесса

                                          +

                                          См. также

                                          + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ДанныеПроизводственногоКалендаря/Templates/ДанныеПроизводственныхКалендарей/Template.txt b/SSL/src/InformationRegisters/ДанныеПроизводственногоКалендаря/Templates/ДанныеПроизводственныхКалендарей/Template.txt index 4f4cd71cc..7961173a3 100644 --- a/SSL/src/InformationRegisters/ДанныеПроизводственногоКалендаря/Templates/ДанныеПроизводственныхКалендарей/Template.txt +++ b/SSL/src/InformationRegisters/ДанныеПроизводственногоКалендаря/Templates/ДанныеПроизводственныхКалендарей/Template.txt @@ -5112,4 +5112,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Form.form b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Form.form index accd69e91..5a3d0e136 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Form.form +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Form.form @@ -270,6 +270,33 @@ UserCmds Auto
                                          + + ПользователиДобавить + 397 + true + true + + true + + + ПользователиДобавитьРасширеннаяПодсказка + 398 + Label + true + true + + Left + + + Form.Item.Пользователи.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + ПользователиСтандартныеКоманды 177 @@ -336,10 +363,10 @@ ПользователиСтрокаПоиска - 398 + 412 ПользователиСтрокаПоискаРасширеннаяПодсказка - 400 + 414 Label true true @@ -349,7 +376,7 @@ ПользователиСтрокаПоискаКонтекстноеМеню - 399 + 413 true Пользователи @@ -359,10 +386,10 @@ ПользователиСостояниеПросмотра - 401 + 415 ПользователиСостояниеПросмотраРасширеннаяПодсказка - 403 + 417 Label true true @@ -372,7 +399,7 @@ ПользователиСостояниеПросмотраКонтекстноеМеню - 402 + 416 true ViewStatusAddition @@ -383,10 +410,10 @@ ПользователиУправлениеПоиском - 404 + 418 ПользователиУправлениеПоискомРасширеннаяПодсказка - 406 + 420 Label true true @@ -396,7 +423,7 @@ ПользователиУправлениеПоискомКонтекстноеМеню - 405 + 419 true SearchControlAddition @@ -423,6 +450,7 @@ true true true + 3 true
                                          true
                                          1 @@ -451,50 +479,6 @@ true
                                          - - ТекущийПользовательПредставление - 214 - true - true - - true - - - ТекущийПользовательПредставление - - None - - ТекущийПользовательПредставлениеExtendedTooltip - 330 - Label - true - true - - Left - - - - ТекущийПользовательПредставлениеКонтекстноеМеню - 215 - true - - LabelField - Enter - true - Left - true - - true - true - - System.DefaultGUIFont - true - false - false - false - - - true true @@ -529,228 +513,187 @@
                                          - ДанныеПользователя - 266 + ТекущийПользовательПредставление + 409 - СтраницаПользовательНеВыбран - 267 - - ПользовательНеВыбран - 269 - - <key>ru</key> - <value>Пользователь не выбран</value> - - true - true - - true - - - ПользовательНеВыбранExtendedTooltip - 333 - Label - true - true - - Left - - - - ПользовательНеВыбранКонтекстноеМеню - 270 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Страница пользователь не выбран</value> - - - ru - Страница пользователь не выбран - - - СтраницаПользовательНеВыбранExtendedTooltip - 332 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СтраницаПользовательВыбран - 268 - - СпособУказанияДатыЗапрета - 216 - true - true - - true - - - СпособУказанияДатыЗапрета - - - СпособУказанияДатыЗапретаExtendedTooltip - 335 - Label - true - true - - Left - - - - СпособУказанияДатыЗапретаКонтекстноеМеню - 217 - true - - InputField - Enter - true - Left - true - - - Clearing - СпособУказанияДатыЗапретаОчистка - - - ChoiceProcessing - СпособУказанияДатыЗапретаОбработкаВыбора - - 24 - true - true - false - true - true - true - true - - - ru - Общая дата - - - ОбщаяДата - - - - - ru - По разделам - - - ПоРазделам - - - - - ru - По разделам и объектам - - - ПоРазделамИОбъектам - - - - - ru - По объектам - - - ПоОбъектам - - - - Style.ФонУправляющегоПоля - - Normal - - + ДанныеПользователя + 266 - СпособыУказания - 218 - - СпособУказанияОбщаяДата - 219 - - Отступ - 220 - true - true - - true - - - ОтступExtendedTooltip - 338 - Label - true - true - - Left - - - - ОтступКонтекстноеМеню - 221 - true - + СтраницаПользовательНеВыбран + 267 + + ПользовательНеВыбран + 269 + + <key>ru</key> + <value>Пользователь не выбран</value> + + true + true + + true + + + ПользовательНеВыбранExtendedTooltip + 333 Label true true Left - - - ДатаЗапретаСОписанием - 222 - - ОписаниеДатыЗапрета - 223 - + </extendedTooltip> + <contextMenu> + <name>ПользовательНеВыбранКонтекстноеМеню</name> + <id>270</id> + <autoFill>true</autoFill> + </contextMenu> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </items> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Страница пользователь не выбран</value> + + + ru + Страница пользователь не выбран + + + СтраницаПользовательНеВыбранExtendedTooltip + 332 + Label + true + true + + Left + + + Page + + Vertical + auto + + + + СтраницаПользовательВыбран + 268 + + СпособУказанияДатыЗапрета + 216 + true + true + + true + + + СпособУказанияДатыЗапрета + + + СпособУказанияДатыЗапретаExtendedTooltip + 335 + Label + true + true + + Left + + + + СпособУказанияДатыЗапретаКонтекстноеМеню + 217 + true + + InputField + Enter + true + Left + true + + + Clearing + СпособУказанияДатыЗапретаОчистка + + + ChoiceProcessing + СпособУказанияДатыЗапретаОбработкаВыбора + + 24 + true + true + false + true + true + true + true + + ru - Дата запрета - + Общая дата + + + ОбщаяДата + + + + + ru + По разделам + + + ПоРазделам + + + + + ru + По разделам и объектам + + + ПоРазделамИОбъектам + + + + + ru + По объектам + + + ПоОбъектам + + + + Style.ФонУправляющегоПоля + + Normal + + + + СпособыУказания + 218 + + СпособУказанияОбщаяДата + 219 + + Отступ + 220 true true true - - ОписаниеДатыЗапрета - - - OnChange - ОписаниеДатыЗапретаПриИзменении - - ОписаниеДатыЗапретаExtendedTooltip - 340 + ОтступExtendedTooltip + 338 Label true true @@ -759,316 +702,42 @@ - ОписаниеДатыЗапретаКонтекстноеМеню - 224 + ОтступКонтекстноеМеню + 221 true - InputField - Enter - true - Left - true - - true - true - false - true - true - true - true - - - ru - Произвольная дата - - - ПроизвольнаяДата - - - - - ru - Конец прошлого года - - - КонецПрошлогоГода - - - - - ru - Конец прошлого квартала - - - КонецПрошлогоКвартала - - - - - ru - Конец прошлого месяца - - - КонецПрошлогоМесяца - - - - - ru - Конец прошлой недели - - - КонецПрошлойНедели - - - - - ru - Предыдущий день - - - ПредыдущийДень - - - - Style.ФонУправляющегоПоля - - Normal - - - - ПроизвольнаяДата - 225 - - ПроизвольнаяДатаИспользуется - 226 - - ДатаЗапрета - 227 - - <key>ru</key> - <value> </value> - - true - true - - true - - - ДатаЗапрета - - None - - OnChange - ДатаЗапретаПриИзменении - - - ДатаЗапретаExtendedTooltip - 343 - Label - true - true - - Left - - - - ДатаЗапретаКонтекстноеМеню - 228 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Произвольная дата используется</value> - - - ru - Произвольная дата используется - - - ПроизвольнаяДатаИспользуетсяExtendedTooltip - 342 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ПроизвольнаяДатаНеИспользуется - 229 - - ПустаяНадписьДляОтображенияСтраницы1 - 230 - true - true - - true - - - ПустаяНадписьДляОтображенияСтраницы1ExtendedTooltip - 345 - Label - true - true - - Left - - - - ПустаяНадписьДляОтображенияСтраницы1КонтекстноеМеню - 231 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Произвольная дата не используется</value> - - - ru - Произвольная дата не используется - - - ПроизвольнаяДатаНеИспользуетсяExtendedTooltip - 344 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Произвольная дата</value> - - - ru - Произвольная дата - - - ПроизвольнаяДатаExtendedTooltip - 341 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - - - <key>ru</key> - <value>Дата запрета с описанием</value> - - - ru - Дата запрета с описанием - - - ДатаЗапретаСОписаниемExtendedTooltip - 339 Label true true Left - - UsualGroup - - Auto - true - true - Auto - Auto - - - - СвойстваНепроизвольнойДаты - 232 + - НепроизвольнаяДатаИспользуется - 233 + ДатаЗапретаСОписанием + 222 - РазрешитьИзменениеДанныхДоДатыЗапрета - 234 + ОписаниеДатыЗапрета + 223 + + <key>ru</key> + <value>Дата запрета</value> + true true true - РазрешитьИзменениеДанныхДоДатыЗапрета + ОписаниеДатыЗапрета - Right OnChange - РазрешитьИзменениеДанныхДоДатыЗапретаПриИзменении + ОписаниеДатыЗапретаПриИзменении - РазрешитьИзменениеДанныхДоДатыЗапретаExtendedTooltip - 348 + ОписаниеДатыЗапретаExtendedTooltip + 340 Label true true @@ -1077,63 +746,95 @@ - РазрешитьИзменениеДанныхДоДатыЗапретаКонтекстноеМеню - 235 + ОписаниеДатыЗапретаКонтекстноеМеню + 224 true - CheckBoxField + InputField Enter true Left true - + + true + true + false + true + true + true + true + + + ru + Произвольная дата + + + ПроизвольнаяДата + + + + + ru + Конец прошлого года + + + КонецПрошлогоГода + + + + + ru + Конец прошлого квартала + + + КонецПрошлогоКвартала + + + + + ru + Конец прошлого месяца + + + КонецПрошлогоМесяца + + + + + ru + Конец прошлой недели + + + КонецПрошлойНедели + + + + + ru + Предыдущий день + + + ПредыдущийДень + + + + Style.ФонУправляющегоПоля + + Normal + - СвойствоКоличествоДнейРазрешенияИзменения - 236 + ПроизвольнаяДата + 225 - ИзменениеДанныхДоДатыЗапретаРазрешено - 237 - - КоличествоДнейРазрешенияЗаголовок - 238 - - <key>ru</key> - <value>В течение</value> - - true - true - - true - - - КоличествоДнейРазрешенияЗаголовокExtendedTooltip - 351 - Label - true - true - - Left - - - - КоличествоДнейРазрешенияЗаголовокКонтекстноеМеню - 239 - true - - Label - true - true - - Left - - + ПроизвольнаяДатаИспользуется + 226 - КоличествоДнейРазрешения - 240 + ДатаЗапрета + 227 <key>ru</key> - <value> дней после даты запрета</value> + <value> </value> true true @@ -1141,16 +842,16 @@ true - КоличествоДнейРазрешения + ДатаЗапрета - Right + None OnChange - КоличествоДнейРазрешенияПриИзменении + ДатаЗапретаПриИзменении - КоличествоДнейРазрешенияExtendedTooltip - 352 + ДатаЗапретаExtendedTooltip + 343 Label true true @@ -1159,8 +860,8 @@ - КоличествоДнейРазрешенияКонтекстноеМеню - 241 + ДатаЗапретаКонтекстноеМеню + 228 true InputField @@ -1169,13 +870,10 @@ Left true - - AutoComplete - КоличествоДнейРазрешенияАвтоПодбор - true true true + true true true true @@ -1189,15 +887,15 @@ <key>ru</key> - <value>Изменение данных до даты запрета разрешено</value> + <value>Произвольная дата используется</value> ru - Изменение данных до даты запрета разрешено + Произвольная дата используется - ИзменениеДанныхДоДатыЗапретаРазрешеноExtendedTooltip - 350 + ПроизвольнаяДатаИспользуетсяExtendedTooltip + 342 Label true true @@ -1207,23 +905,24 @@ Page + Vertical auto - ИзменениеДанныхДоДатыЗапретаНеРазрешено - 242 + ПроизвольнаяДатаНеИспользуется + 229 - ПустаяНадписьДляОтображенияСтраницы2 - 243 + ПустаяНадписьДляОтображенияСтраницы1 + 230 true true true - ПустаяНадписьДляОтображенияСтраницы2ExtendedTooltip - 354 + ПустаяНадписьДляОтображенияСтраницы1ExtendedTooltip + 345 Label true true @@ -1232,8 +931,8 @@ - ПустаяНадписьДляОтображенияСтраницы2КонтекстноеМеню - 244 + ПустаяНадписьДляОтображенияСтраницы1КонтекстноеМеню + 231 true Label @@ -1250,15 +949,15 @@ <key>ru</key> - <value>Изменение данных до даты запрета не разрешено</value> + <value>Произвольная дата не используется</value> ru - Изменение данных до даты запрета не разрешено + Произвольная дата не используется - ИзменениеДанныхДоДатыЗапретаНеРазрешеноExtendedTooltip - 353 + ПроизвольнаяДатаНеИспользуетсяExtendedTooltip + 344 Label true true @@ -1279,15 +978,15 @@ <key>ru</key> - <value>Свойство количество дней разрешения изменения</value> + <value>Произвольная дата</value> ru - Свойство количество дней разрешения изменения + Произвольная дата - СвойствоКоличествоДнейРазрешенияИзмененияExtendedTooltip - 349 + ПроизвольнаяДатаExtendedTooltip + 341 Label true true @@ -1300,41 +999,6 @@ Auto - - ПояснениеНепроизвольнойДаты - 245 - true - true - - true - - - ПояснениеНепроизвольнойДатыExtendedTooltip - 355 - Label - true - true - - Left - - - - ПояснениеНепроизвольнойДатыКонтекстноеМеню - 246 - true - - Label - 53 - true - 3 - true - - 128 - - - Left - - true true @@ -1342,15 +1006,15 @@ <key>ru</key> - <value>Непроизвольная дата используется</value> + <value>Дата запрета с описанием</value> ru - Непроизвольная дата используется + Дата запрета с описанием - НепроизвольнаяДатаИспользуетсяExtendedTooltip - 347 + ДатаЗапретаСОписаниемExtendedTooltip + 339 Label true true @@ -1358,153 +1022,40 @@ Left - Page - - Vertical + UsualGroup + + Auto + true + true + Auto + Auto - НепроизвольнаяДатаНеИспользуется - 247 - - ПустаяНадписьДляОтображенияСтраницы3 - 248 - true - true - - true - - - ПустаяНадписьДляОтображенияСтраницы3ExtendedTooltip - 357 - Label - true - true - - Left - - - - ПустаяНадписьДляОтображенияСтраницы3КонтекстноеМеню - 249 - true - - Label - true - true - - Left - - - true - true - - true - - - <key>ru</key> - <value>Непроизвольная дата не используется</value> - - - ru - Непроизвольная дата не используется - - - НепроизвольнаяДатаНеИспользуетсяExtendedTooltip - 356 - Label - true - true - - Left - - - Page - - Vertical - auto - - - true - true - - true - - - <key>ru</key> - <value>Свойства непроизвольной даты</value> - - - ru - Свойства непроизвольной даты - - - СвойстваНепроизвольнойДатыExtendedTooltip - 346 - Label - true - true - - Left - - - Pages - - Auto - - - true - true - - true - - - <key>ru</key> - <value>Способ указания общая дата</value> - - - ru - Способ указания общая дата - - - СпособУказанияОбщаяДатаExtendedTooltip - 337 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - СпособУказанияПоРазделамОбъектам - 250 - - ДатыЗапретаКомандныеПанели - 277 - - ДатыЗапретаБезВыбораРазделовБезВыбораОбъектов - 303 + СвойстваНепроизвольнойДаты + 232 - ДатыЗапретаКоманднаяПанельБезВыбораРазделовБезВыбораОбъектов - 305 - - ДатыЗапретаИзменить4 - 308 + НепроизвольнаяДатаИспользуется + 233 + + РазрешитьИзменениеДанныхДоДатыЗапрета + 234 true true true + + РазрешитьИзменениеДанныхДоДатыЗапрета + + Right + + OnChange + РазрешитьИзменениеДанныхДоДатыЗапретаПриИзменении + - ДатыЗапретаИзменить4ExtendedTooltip - 362 + РазрешитьИзменениеДанныхДоДатыЗапретаExtendedTooltip + 348 Label true true @@ -1512,25 +1063,218 @@ Left - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto + + РазрешитьИзменениеДанныхДоДатыЗапретаКонтекстноеМеню + 235 + true + + CheckBoxField + Enter + true + Left + true + - - ДатыЗапретаУдалить4 - 309 + + СвойствоКоличествоДнейРазрешенияИзменения + 236 + + ИзменениеДанныхДоДатыЗапретаРазрешено + 237 + + КоличествоДнейРазрешенияЗаголовок + 238 + + <key>ru</key> + <value>В течение</value> + + true + true + + true + + + КоличествоДнейРазрешенияЗаголовокExtendedTooltip + 351 + Label + true + true + + Left + + + + КоличествоДнейРазрешенияЗаголовокКонтекстноеМеню + 239 + true + + Label + true + true + + Left + + + + КоличествоДнейРазрешения + 240 + + <key>ru</key> + <value> дней после даты запрета</value> + + true + true + + true + + + КоличествоДнейРазрешения + + Right + + OnChange + КоличествоДнейРазрешенияПриИзменении + + + КоличествоДнейРазрешенияExtendedTooltip + 352 + Label + true + true + + Left + + + + КоличествоДнейРазрешенияКонтекстноеМеню + 241 + true + + InputField + Enter + true + Left + true + + + AutoComplete + КоличествоДнейРазрешенияАвтоПодбор + + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Изменение данных до даты запрета разрешено</value> + + + ru + Изменение данных до даты запрета разрешено + + + ИзменениеДанныхДоДатыЗапретаРазрешеноExtendedTooltip + 350 + Label + true + true + + Left + + + Page + + auto + + + + ИзменениеДанныхДоДатыЗапретаНеРазрешено + 242 + + ПустаяНадписьДляОтображенияСтраницы2 + 243 + true + true + + true + + + ПустаяНадписьДляОтображенияСтраницы2ExtendedTooltip + 354 + Label + true + true + + Left + + + + ПустаяНадписьДляОтображенияСтраницы2КонтекстноеМеню + 244 + true + + Label + true + true + + Left + + + true + true + + true + + + <key>ru</key> + <value>Изменение данных до даты запрета не разрешено</value> + + + ru + Изменение данных до даты запрета не разрешено + + + ИзменениеДанныхДоДатыЗапретаНеРазрешеноExtendedTooltip + 353 + Label + true + true + + Left + + + Page + + Vertical + auto + + true true true + + <key>ru</key> + <value>Свойство количество дней разрешения изменения</value> + + + ru + Свойство количество дней разрешения изменения + - ДатыЗапретаУдалить4ExtendedTooltip - 363 + СвойствоКоличествоДнейРазрешенияИзмененияExtendedTooltip + 349 Label true true @@ -1538,13 +1282,45 @@ Left - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto + Pages + + Auto + + + + ПояснениеНепроизвольнойДаты + 245 + true + true + + true + + + ПояснениеНепроизвольнойДатыExtendedTooltip + 355 + Label + true + true + + Left + + + + ПояснениеНепроизвольнойДатыКонтекстноеМеню + 246 + true + + Label + 53 true + 3 true - UserCmds - Auto + + 128 + + + Left + true true @@ -1553,15 +1329,15 @@ <key>ru</key> - <value>Даты запрета командная панель без выбора разделов без выбора объектов</value> + <value>Непроизвольная дата используется</value> ru - Даты запрета командная панель без выбора разделов без выбора объектов + Непроизвольная дата используется - ДатыЗапретаКоманднаяПанельБезВыбораРазделовБезВыбораОбъектовExtendedTooltip - 361 + НепроизвольнаяДатаИспользуетсяExtendedTooltip + 347 Label true true @@ -1569,57 +1345,25 @@ Left - CommandBar - - Left + Page + + Vertical - true - true - - true - - - <key>ru</key> - <value>Даты запрета без выбора разделов без выбора объектов</value> - - - ru - Даты запрета без выбора разделов без выбора объектов - - - ДатыЗапретаБезВыбораРазделовБезВыбораОбъектовExtendedTooltip - 360 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ДатыЗапретаСВыборомРазделовБезВыбораОбъектов - 304 - ДатыЗапретаКоманднаяПанельСВыборомРазделовБезВыбораОбъектов - 310 - - ДатыЗапретаРазделы1 - 311 + НепроизвольнаяДатаНеИспользуется + 247 + + ПустаяНадписьДляОтображенияСтраницы3 + 248 true true true - ДатыЗапретаРазделы1ExtendedTooltip - 366 + ПустаяНадписьДляОтображенияСтраницы3ExtendedTooltip + 357 Label true true @@ -1627,65 +1371,17 @@ Left - Form.Command.Разделы - Normal - Auto + + ПустаяНадписьДляОтображенияСтраницы3КонтекстноеМеню + 249 + true + + Label true true - UserCmds - Auto - - - ДатыЗапретаИзменить5 - 314 - true - true - - true - - - ДатыЗапретаИзменить5ExtendedTooltip - 367 - Label - true - true - - Left - - - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаУдалить5 - 315 - true - true - - true - - - ДатыЗапретаУдалить5ExtendedTooltip - 368 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto + + Left + true true @@ -1694,174 +1390,15 @@ <key>ru</key> - <value>Даты запрета командная панель с выбором разделов без выбора объектов</value> + <value>Непроизвольная дата не используется</value> - - ДатыЗапретаКоманднаяПанельСВыборомРазделовБезВыбораОбъектовExtendedTooltip - 365 - Label - true - true - - Left - - - CommandBar - - Left - - - true - true - - true - - - <key>ru</key> - <value>Даты запрета с выбором разделов без выбора объектов</value> - - - ru - Даты запрета с выбором разделов без выбора объектов - - - ДатыЗапретаСВыборомРазделовБезВыбораОбъектовExtendedTooltip - 364 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ДатыЗапретаБезВыбораРазделовСВыборомОбъектов - 279 - - ДатыЗапретаКоманднаяПанельБезВыбораРазделовСВыборомОбъектов - 280 - - ДатыЗапретаПодобрать1 - 282 - true - true - - true - - - ДатыЗапретаПодобрать1ExtendedTooltip - 371 - Label - true - true - - Left - - - Form.Command.ПодобратьОбъекты - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаДобавить1 - 283 - true - true - - true - - - ДатыЗапретаДобавить1ExtendedTooltip - 372 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаИзменить1 - 284 - true - true - - true - - - ДатыЗапретаИзменить1ExtendedTooltip - 373 - Label - true - true - - Left - - - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаУдалить1 - 285 - true - true - - true - - - ДатыЗапретаУдалить1ExtendedTooltip - 374 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - + <toolTip> <key>ru</key> - <value>Даты запрета командная панель без выбора разделов с выбором объектов</value> - + Непроизвольная дата не используется + - ДатыЗапретаКоманднаяПанельБезВыбораРазделовСВыборомОбъектовExtendedTooltip - 370 + НепроизвольнаяДатаНеИспользуетсяExtendedTooltip + 356 Label true true @@ -1869,9 +1406,10 @@ Left - CommandBar - - Left + Page + + Vertical + auto true @@ -1881,15 +1419,15 @@ <key>ru</key> - <value>Даты запрета без выбора разделов с выбором объектов</value> + <value>Свойства непроизвольной даты</value> ru - Даты запрета без выбора разделов с выбором объектов + Свойства непроизвольной даты - ДатыЗапретаБезВыбораРазделовСВыборомОбъектовExtendedTooltip - 369 + СвойстваНепроизвольнойДатыExtendedTooltip + 346 Label true true @@ -1897,392 +1435,9 @@ Left - Page - - Vertical - auto - - - - ДатыЗапретаСВыборомРазделовСВыборомОбъектов - 278 - - ДатыЗапретаКоманднаяПанельСВыборомРазделов - 281 - - ДатыЗапретаРазделы - 264 - true - true - - true - - - ДатыЗапретаРазделыExtendedTooltip - 377 - Label - true - true - - Left - - - Form.Command.Разделы - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаПодобрать2 - 286 - true - true - - true - - - ДатыЗапретаПодобрать2ExtendedTooltip - 378 - Label - true - true - - Left - - - Form.Command.ПодобратьОбъекты - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаДобавить2 - 287 - true - true - - true - - - ДатыЗапретаДобавить2ExtendedTooltip - 379 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаИзменить2 - 288 - true - true - - true - - - ДатыЗапретаИзменить2ExtendedTooltip - 380 - Label - true - true - - Left - - - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаУдалить2 - 289 - true - true - - true - - - ДатыЗапретаУдалить2ExtendedTooltip - 381 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Даты запрета командная панель с выбором разделов</value> - - - ДатыЗапретаКоманднаяПанельСВыборомРазделовExtendedTooltip - 376 - Label - true - true - - Left - - - CommandBar - - Left - - - true - true - - true - - - <key>ru</key> - <value>Даты запрета с выбором разделов с выбором объектов</value> - - - ru - Даты запрета с выбором разделов с выбором объектов - - - ДатыЗапретаСВыборомРазделовСВыборомОбъектовExtendedTooltip - 375 - Label - true - true - - Left - - - Page - - Vertical - auto - - - - ДатыЗапретаСВыборомОбщейДатыСВыборомОбъектов - 296 - - ДатыЗапретаКоманднаяПанельСВыборомОбщейДатыСВыборомОбъектов - 297 - - ДатыЗапретаОбщаяДата - 298 - - <key>ru</key> - <value>Общая дата</value> - - true - true - - true - - - ДатыЗапретаОбщаяДатаExtendedTooltip - 384 - Label - true - true - - Left - - - Form.Command.Разделы - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаПодобрать3 - 299 - true - true - - true - - - ДатыЗапретаПодобрать3ExtendedTooltip - 385 - Label - true - true - - Left - - - Form.Command.ПодобратьОбъекты - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаДобавить3 - 300 - true - true - - true - - - ДатыЗапретаДобавить3ExtendedTooltip - 386 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаИзменить3 - 301 - true - true - - true - - - ДатыЗапретаИзменить3ExtendedTooltip - 387 - Label - true - true - - Left - - - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаУдалить3 - 302 - true - true - - true - - - ДатыЗапретаУдалить3ExtendedTooltip - 388 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - true - true - - true - - - <key>ru</key> - <value>Даты запрета командная панель с выбором общей даты с выбором объектов</value> - - - ДатыЗапретаКоманднаяПанельСВыборомОбщейДатыСВыборомОбъектовExtendedTooltip - 383 - Label - true - true - - Left - - - CommandBar - - Left - - - true - true - - true - - - <key>ru</key> - <value>Даты запрета с выбором общей даты с выбором объектов</value> - - - ru - Даты запрета с выбором общей даты с выбором объектов - - - ДатыЗапретаСВыборомОбщейДатыСВыборомОбъектовExtendedTooltip - 382 - Label - true - true - - Left - - - Page - - Vertical - auto + Pages + + Auto true @@ -2292,15 +1447,15 @@ <key>ru</key> - <value>Даты запрета командные панели</value> + <value>Способ указания общая дата</value> ru - Даты запрета командные панели + Способ указания общая дата - ДатыЗапретаКомандныеПанелиExtendedTooltip - 359 + СпособУказанияОбщаяДатаExtendedTooltip + 337 Label true true @@ -2308,298 +1463,598 @@ Left - Pages - - Auto + Page + + Vertical + auto - - ДатыЗапрета - 132 + + СпособУказанияПоРазделамОбъектам + 250 + + ДатыЗапрета + 132 + true + true + + true + + + ДатыЗапрета + + None + Change + Copy + EndEdit + HierarchicalList + List + MoveDown + MoveUp + OutputList + SortListAsc + SortListDesc + Tree + + ДатыЗапретаПолноеПредставление + 143 + true + true + + true + + + ДатыЗапрета.ПолноеПредставление + + + ru + Раздел дат запрета изменения и объекты разделов + + + ДатыЗапретаПолноеПредставлениеExtendedTooltip + 394 + Label + true + true + + Left + + + + ДатыЗапретаПолноеПредставлениеКонтекстноеМеню + 144 + true + + InputField + Auto + true + Left + true + + + StartChoice + ДатыЗапретаПолноеПредставлениеНачалоВыбора + + + Clearing + ДатыЗапретаПолноеПредставлениеОчистка + + + ChoiceProcessing + ДатыЗапретаПолноеПредставлениеОбработкаВыбора + + 16 + true + true + true + true + true + true + Normal + + + + ДатыЗапретаОписаниеДатыЗапретаПредставление + 141 + + <key>ru</key> + <value>Дата запрета</value> + + true + true + + true + + + ДатыЗапрета.ОписаниеДатыЗапретаПредставление + + + ДатыЗапретаОписаниеДатыЗапретаПредставлениеExtendedTooltip + 395 + Label + true + true + + Left + + + + ДатыЗапретаОписаниеДатыЗапретаПредставлениеКонтекстноеМеню + 142 + true + + InputField + Auto + true + Left + true + + 16 + true + true + true + true + true + true + Normal + + + + ДатыЗапретаДатаЗапрета + 135 + + <key>ru</key> + <value>Запрет изменения по</value> + + true + true + + true + + + ДатыЗапрета.ДатаЗапрета + + + OnChange + ДатыЗапретаДатаЗапретаПриИзменении + + + ДатыЗапретаДатаЗапретаExtendedTooltip + 396 + Label + true + true + + Left + + + + ДатыЗапретаДатаЗапретаКонтекстноеМеню + 136 + true + + InputField + Auto + true + Left + true + + 16 + true + true + true + true + true + true + true + Normal + + + + ДатыЗапретаКоманднаяПанель + 134 + + ДатыЗапретаРазделы + 399 + true + true + + true + + + ДатыЗапретаРазделыРасширеннаяПодсказка + 400 + Label + true + true + + Left + + + Form.Command.Разделы + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаПодобрать + 401 + true + true + + true + + + ДатыЗапретаПодобратьРасширеннаяПодсказка + 402 + Label + true + true + + Left + + + Form.Command.ПодобратьОбъекты + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаДобавить + 405 + true + true + + true + + + ДатыЗапретаДобавитьРасширеннаяПодсказка + 406 + Label + true + true + + Left + + + Form.Item.ДатыЗапрета.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ДатыЗапретаИзменить + 407 + true + true + + true + + + ДатыЗапретаИзменитьРасширеннаяПодсказка + 408 + Label + true + true + + Left + + + Form.Command.ДатыЗапретаИзменить + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаСтандартныеКоманды + 403 + true + true + + true + + + <key>ru</key> + <value>Даты запрета стандартные команды</value> + + + ru + Даты запрета стандартные команды + + + ДатыЗапретаСтандартныеКомандыРасширеннаяПодсказка + 404 + Label + true + true + + Left + + + + Item.ДатыЗапрета + + + Left + + + OnEditEnd + ДатыЗапретаПриОкончанииРедактирования + + + Selection + ДатыЗапретаВыбор + + + BeforeAddRow + ДатыЗапретаПередНачаломДобавления + + + BeforeDeleteRow + ДатыЗапретаПередУдалением + + + OnActivateRow + ДатыЗапретаПриАктивизацииСтроки + + + ChoiceProcessing + ДатыЗапретаОбработкаВыбора + + + BeforeRowChange + ДатыЗапретаПередНачаломИзменения + + + OnStartEdit + ДатыЗапретаПриНачалеРедактирования + + + ДатыЗапретаСтрокаПоиска + 436 + + ДатыЗапретаСтрокаПоискаРасширеннаяПодсказка + 438 + Label + true + true + + Left + + + + ДатыЗапретаСтрокаПоискаКонтекстноеМеню + 437 + true + + ДатыЗапрета + + true + + + + ДатыЗапретаСостояниеПросмотра + 439 + + ДатыЗапретаСостояниеПросмотраРасширеннаяПодсказка + 441 + Label + true + true + + Left + + + + ДатыЗапретаСостояниеПросмотраКонтекстноеМеню + 440 + true + + ViewStatusAddition + ДатыЗапрета + + true + + + + ДатыЗапретаУправлениеПоиском + 442 + + ДатыЗапретаУправлениеПоискомРасширеннаяПодсказка + 444 + Label + true + true + + Left + + + + ДатыЗапретаУправлениеПоискомКонтекстноеМеню + 443 + true + + SearchControlAddition + ДатыЗапрета + + true + + + + ДатыЗапретаExtendedTooltip + 393 + Label + true + true + + Left + + + + ДатыЗапретаКонтекстноеМеню + 133 + + ДатыЗапретаКонтекстноеМенюДобавить + 274 + true + true + + true + + + ДатыЗапретаКонтекстноеМенюДобавитьExtendedTooltip + 389 + Label + true + true + + Left + + + Form.Item.ДатыЗапрета.StandardCommand.Add + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаКонтекстноеМенюИзменить + 273 + true + true + + true + + + ДатыЗапретаКонтекстноеМенюИзменитьExtendedTooltip + 390 + Label + true + true + + Left + + + Form.Command.ДатыЗапретаИзменить + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаКонтекстноеМенюУдалить + 276 + true + true + + true + + + ДатыЗапретаКонтекстноеМенюУдалитьExtendedTooltip + 391 + Label + true + true + + Left + + + Form.Item.ДатыЗапрета.StandardCommand.Delete + Normal + Auto + true + true + UserCmds + Auto + + + ДатыЗапретаКонтекстноеМенюСтандартныеКоманды + 275 + true + true + + true + + + <key>ru</key> + <value>Даты запрета контекстное меню стандартные команды</value> + + + ДатыЗапретаКонтекстноеМенюСтандартныеКомандыExtendedTooltip + 392 + Label + true + true + + Left + + + + Item.ДатыЗапрета + + + + Tree + true + true + true + 3 + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + false + true + Auto + Auto + ExpandAllLevels + true + true + true + true + None + None + None + true +
                                          true true true - - ДатыЗапрета - - None - Change - Copy - EndEdit - HierarchicalList - List - MoveDown - MoveUp - OutputList - SortListAsc - SortListDesc - Tree - - ДатыЗапретаПолноеПредставление - 143 - true - true - - true - - - ДатыЗапрета.ПолноеПредставление - - - ru - Раздел дат запрета изменения и объекты разделов - - - ДатыЗапретаПолноеПредставлениеExtendedTooltip - 394 - Label - true - true - - Left - - - - ДатыЗапретаПолноеПредставлениеКонтекстноеМеню - 144 - true - - InputField - Auto - true - Left - true - - - StartChoice - ДатыЗапретаПолноеПредставлениеНачалоВыбора - - - Clearing - ДатыЗапретаПолноеПредставлениеОчистка - - - ChoiceProcessing - ДатыЗапретаПолноеПредставлениеОбработкаВыбора - - true - true - true - true - true - true - Normal - - - - ДатыЗапретаОписаниеДатыЗапретаПредставление - 141 - - <key>ru</key> - <value>Дата запрета</value> - - true - true - - true - - - ДатыЗапрета.ОписаниеДатыЗапретаПредставление - - - ДатыЗапретаОписаниеДатыЗапретаПредставлениеExtendedTooltip - 395 - Label - true - true - - Left - - - - ДатыЗапретаОписаниеДатыЗапретаПредставлениеКонтекстноеМеню - 142 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ДатыЗапретаДатаЗапрета - 135 - - <key>ru</key> - <value>Запрет изменения по</value> - - true - true - - true - - - ДатыЗапрета.ДатаЗапрета - - - OnChange - ДатыЗапретаДатаЗапретаПриИзменении - - - ДатыЗапретаДатаЗапретаExtendedTooltip - 396 - Label - true - true - - Left - - - - ДатыЗапретаДатаЗапретаКонтекстноеМеню - 136 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - true - Normal - - - None - - ДатыЗапретаКоманднаяПанель - 134 - Left - - - OnEditEnd - ДатыЗапретаПриОкончанииРедактирования - - - Selection - ДатыЗапретаВыбор - - - BeforeAddRow - ДатыЗапретаПередНачаломДобавления - - - BeforeDeleteRow - ДатыЗапретаПередУдалением - - - OnActivateRow - ДатыЗапретаПриАктивизацииСтроки - - - ChoiceProcessing - ДатыЗапретаОбработкаВыбора - - - BeforeRowChange - ДатыЗапретаПередНачаломИзменения - - - OnStartEdit - ДатыЗапретаПриНачалеРедактирования - - - ДатыЗапретаСтрокаПоиска - 423 - - ДатыЗапретаСтрокаПоискаРасширеннаяПодсказка - 425 - Label - true - true - - Left - - - - ДатыЗапретаСтрокаПоискаКонтекстноеМеню - 424 - true - - ДатыЗапрета - - true - - - - ДатыЗапретаСостояниеПросмотра - 426 - - ДатыЗапретаСостояниеПросмотраРасширеннаяПодсказка - 428 - Label - true - true - - Left - - - - ДатыЗапретаСостояниеПросмотраКонтекстноеМеню - 427 - true - - ViewStatusAddition - ДатыЗапрета - - true - - - - ДатыЗапретаУправлениеПоиском - 429 - - ДатыЗапретаУправлениеПоискомРасширеннаяПодсказка - 431 - Label - true - true - - Left - - - - ДатыЗапретаУправлениеПоискомКонтекстноеМеню - 430 - true - - SearchControlAddition - ДатыЗапрета - - true - - + + <key>ru</key> + <value>Способ указания по разделам объектам</value> + + + ru + Способ указания по разделам объектам + - ДатыЗапретаExtendedTooltip - 393 + СпособУказанияПоРазделамОбъектамExtendedTooltip + 358 Label true true @@ -2607,139 +2062,11 @@ Left - - ДатыЗапретаКонтекстноеМеню - 133 - - ДатыЗапретаКонтекстноеМенюДобавить - 274 - true - - true - - - ДатыЗапретаКонтекстноеМенюДобавитьExtendedTooltip - 389 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Add - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаКонтекстноеМенюИзменить - 273 - true - true - - true - - - ДатыЗапретаКонтекстноеМенюИзменитьExtendedTooltip - 390 - Label - true - true - - Left - - - Form.Command.ДатыЗапретаИзменить - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаКонтекстноеМенюУдалить - 276 - true - true - - true - - - ДатыЗапретаКонтекстноеМенюУдалитьExtendedTooltip - 391 - Label - true - true - - Left - - - Form.Item.ДатыЗапрета.StandardCommand.Delete - Normal - Auto - true - true - UserCmds - Auto - - - ДатыЗапретаКонтекстноеМенюСтандартныеКоманды - 275 - true - true - - true - - - <key>ru</key> - <value>Даты запрета контекстное меню стандартные команды</value> - - - ДатыЗапретаКонтекстноеМенюСтандартныеКомандыExtendedTooltip - 392 - Label - true - true - - Left - - - - Item.ДатыЗапрета - - - - Tree - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - false - true - Auto - Auto - ExpandAllLevels - true - true - true - true - None - None - None - true + Page + + Vertical + auto +
                                          true true @@ -2748,15 +2075,15 @@ <key>ru</key> - <value>Способ указания по разделам объектам</value> + <value>Способы указания</value> ru - Способ указания по разделам объектам + Способы указания - СпособУказанияПоРазделамОбъектамExtendedTooltip - 358 + СпособыУказанияExtendedTooltip + 336 Label true true @@ -2764,10 +2091,9 @@ Left - Page - - Vertical - auto + Pages + + Auto
                                          true @@ -2777,15 +2103,15 @@ <key>ru</key> - <value>Способы указания</value> + <value>Страница пользователь выбран</value> ru - Способы указания + Страница пользователь выбран - СпособыУказанияExtendedTooltip - 336 + СтраницаПользовательВыбранExtendedTooltip + 334 Label true true @@ -2793,9 +2119,10 @@ Left - Pages - - Auto + Page + + Vertical + auto
                                          true @@ -2803,17 +2130,9 @@ true - - <key>ru</key> - <value>Страница пользователь выбран</value> - - - ru - Страница пользователь выбран - - СтраницаПользовательВыбранExtendedTooltip - 334 + ДанныеПользователяExtendedTooltip + 331 Label true true @@ -2821,10 +2140,9 @@ Left - Page - - Vertical - auto + Pages + + Auto
                                          true @@ -2832,17 +2150,9 @@ true - - <key>ru</key> - <value>Данные пользователя</value> - - - ru - Данные пользователя - - ДанныеПользователяExtendedTooltip - 331 + ТекущийПользовательПредставлениеРасширеннаяПодсказка + 410 Label true true @@ -2850,8 +2160,13 @@ Left - Pages - + UsualGroup + + Vertical + Auto + true + true + Auto Auto
                                          @@ -3052,7 +2367,6 @@ OnClose ПриЗакрытии - CustomizeForm 60 DontBlock true @@ -3278,6 +2592,23 @@ true + + ЗаписьСуществует + + <key>ru</key> + <value>Запись существует</value> + + 9 + + Boolean + + + true + + + true + + ПользователиДатЗапрета @@ -3804,24 +3135,6 @@ true - - ТекущийПользовательПредставление - - <key>ru</key> - <value>Текущий пользователь представление</value> - - 20 - - String - - - - true - - - true - - КоличествоДнейРазрешения @@ -3987,6 +3300,23 @@ <common>true</common> </edit> </attributes> + <attributes> + <name>ИнтерфейсВерсия82</name> + <title> + <key>ru</key> + <value>Интерфейс версия82</value> + + 28 + + Boolean + + + true + + + true + + ДатыЗапретаПоПользователям diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Module.bsl b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Module.bsl index 082310110..2146b49b5 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Module.bsl +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ДатыЗапретаИзменения/Module.bsl @@ -12,8 +12,14 @@ Возврат; КонецЕсли; + Если ТекущийВариантИнтерфейсаКлиентскогоПриложения() = ВариантИнтерфейсаКлиентскогоПриложения.Версия8_2 Тогда + ИнтерфейсВерсия82 = Истина; + Элементы.ПользователиДобавить.ТолькоВоВсехДействиях = Ложь; + Элементы.ДатыЗапретаДобавить.ТолькоВоВсехДействиях = Ложь; + КонецЕсли; + // Заполнение свойств разделов - СвойстваРазделов = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); + СвойстваРазделов = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); ЗаполнитьЗначенияСвойств(ЭтотОбъект, СвойстваРазделов, , "ТипыОбъектовРазделов"); ЗначениеВРеквизитФормы(СвойстваРазделов.ТипыОбъектовРазделов, "ТипыОбъектовРазделов"); ПервыйРаздел = ?( @@ -21,11 +27,11 @@ // Настройка полей формы Если Параметры.ДатыЗапретаЗагрузкиДанных Тогда - // + Если НЕ СвойстваРазделов.ИспользоватьДатыЗапретаЗагрузкиДанных Тогда ВызватьИсключение(НСтр("ru = 'Даты запрета загрузки данных не используются.'")); КонецЕсли; - // + Заголовок = НСтр("ru = 'Даты запрета загрузки данных'"); Элементы.УстановкаДатыЗапрета.СписокВыбора.НайтиПоЗначению("НетЗапрета").Представление = НСтр("ru = 'Нет запрета загрузки данных'"); @@ -33,7 +39,7 @@ НСтр("ru = 'Для всех информационных баз'"); Элементы.УстановкаДатыЗапрета.СписокВыбора.НайтиПоЗначению("ПоПользователям").Представление = НСтр("ru = 'По информационным базам'"); - // + Элементы.Отчеты.Подсказка = НСтр("ru = 'Отчеты по датам запрета загрузки данных, |установленным ""По информационным базам"".'"); @@ -119,6 +125,9 @@ ОбновитьНаСервере(); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп( + ЭтотОбъект, "ТекущийПользовательПредставление"); + КонецПроцедуры &НаКлиенте @@ -323,6 +332,10 @@ &НаКлиенте Процедура КоличествоДнейРазрешенияАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка) + Если ПустаяСтрока(Текст) Тогда + Возврат; + КонецЕсли; + КоличествоДнейРазрешения = Текст; ОбщаяДатаЗапретаСОписаниемПриИзменении(ЭтотОбъект); @@ -890,7 +903,8 @@ КонецЕсли; Иначе Если ЗначениеЗаполнено(ТекущиеДанные.Представление) - И ДатаЗапретаУстановлена(ТекущиеДанные, ТекущийПользователь) Тогда + И (ТекущиеДанные.ЗаписьСуществует + Или ДатаЗапретаУстановлена(ТекущиеДанные, ТекущийПользователь)) Тогда // Удаление даты запрета для объекта по разделу ПоказатьВопрос( @@ -1869,7 +1883,7 @@ Новый Структура("Пользователь", Контекст.ТекущийПользователь)); Если НайденныеСтроки.Количество() > 0 Тогда - Контекст.ТекущийПользовательПредставление = НайденныеСтроки[0].Представление; + Контекст.Элементы.ТекущийПользовательПредставление.Заголовок = НайденныеСтроки[0].Представление; КонецЕсли; КонецЕсли; @@ -2030,7 +2044,7 @@ ДанныеПользователя = Новый СписокЗначений; ПоляСтроки = "ПолноеПредставление, Представление, Раздел, Объект, |ДатаЗапрета, ОписаниеДатыЗапрета, КоличествоДнейРазрешения, - |БезДатыЗапрета, ЭтоРаздел, СписокПодстрок"; + |БезДатыЗапрета, ЭтоРаздел, СписокПодстрок, ЗаписьСуществует"; Для каждого Строка Из ПрочитанныеДатыЗапрета.Строки Цикл СтруктураСтроки = Новый Структура(ПоляСтроки); @@ -2115,7 +2129,8 @@ | ДатыЗапретаИзменения.ДатаЗапрета, | ДатыЗапретаИзменения.ОписаниеДатыЗапрета, | ЛОЖЬ КАК ЭтоРаздел, - | 0 КАК КоличествоДнейРазрешения + | 0 КАК КоличествоДнейРазрешения, + | ИСТИНА КАК ЗаписьСуществует |ИЗ | Разделы КАК Разделы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения @@ -2155,6 +2170,7 @@ Строка.ЭтоРаздел = Истина; СтрокаРаздела = Строка.Строки.Найти(Строка.Раздел, "Объект"); Если СтрокаРаздела <> Неопределено Тогда + Строка.ЗаписьСуществует = Истина; Строка.ДатаЗапрета = СтрокаРаздела.ДатаЗапрета; Если ЗначениеЗаполнено(СтрокаРаздела.ОписаниеДатыЗапрета) Тогда ЗаполнитьПоВнутреннемуОписаниюДатыЗапрета(Строка, СтрокаРаздела.ОписаниеДатыЗапрета); @@ -2168,6 +2184,7 @@ КонецЕсли; Если Строка.Строки.Количество() = 1 И Строка.Строки[0].Объект = Null Тогда + Строка.Строки.Удалить(Строка.Строки[0]); КонецЕсли; КонецЕсли; @@ -2198,7 +2215,8 @@ | ЕСТЬNULL(ОбщаяДата.ДатаЗапрета, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) КАК ДатаЗапрета, | ЕСТЬNULL(ОбщаяДата.ОписаниеДатыЗапрета, """") КАК ОписаниеДатыЗапрета, | ИСТИНА КАК ЭтоРаздел, - | 0 КАК КоличествоДнейРазрешения + | 0 КАК КоличествоДнейРазрешения, + | ИСТИНА КАК ЗаписьСуществует |ИЗ | (ВЫБРАТЬ | ИСТИНА КАК ЗначениеИстина) КАК Значение @@ -2216,7 +2234,7 @@ | ВЫБОР | КОГДА &Пользователь = &ЗначениеДляВсехПользователей | ТОГДА ИСТИНА - | ИНАЧЕ (НЕ ОбщаяДата.ДатаЗапрета ЕСТЬ NULL ) + | ИНАЧЕ НЕ ОбщаяДата.ДатаЗапрета ЕСТЬ NULL | КОНЕЦ | |ОБЪЕДИНИТЬ ВСЕ @@ -2229,7 +2247,8 @@ | ДатыЗапретаИзменения.ДатаЗапрета, | ДатыЗапретаИзменения.ОписаниеДатыЗапрета, | ЛОЖЬ, - | 0 + | 0, + | ИСТИНА |ИЗ | РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения |ГДЕ @@ -2976,23 +2995,14 @@ &НаКлиенте Процедура ДатыЗапретаУстановитьДоступностьКоманд(Знач Доступность) - Элементы.ДатыЗапретаИзменить1.Доступность = Доступность; - Элементы.ДатыЗапретаИзменить2.Доступность = Доступность; - Элементы.ДатыЗапретаИзменить3.Доступность = Доступность; - Элементы.ДатыЗапретаИзменить4.Доступность = Доступность; - Элементы.ДатыЗапретаИзменить5.Доступность = Доступность; + Элементы.ДатыЗапретаИзменить.Доступность = Доступность; Если СпособУказанияДатыЗапрета = "ПоОбъектам" Тогда Доступность = Истина; КонецЕсли; - Элементы.ДатыЗапретаПодобрать1.Доступность = Доступность; - Элементы.ДатыЗапретаПодобрать2.Доступность = Доступность; - Элементы.ДатыЗапретаПодобрать3.Доступность = Доступность; - - Элементы.ДатыЗапретаДобавить1.Доступность = Доступность; - Элементы.ДатыЗапретаДобавить2.Доступность = Доступность; - Элементы.ДатыЗапретаДобавить3.Доступность = Доступность; + Элементы.ДатыЗапретаПодобрать.Доступность = Доступность; + Элементы.ДатыЗапретаДобавить.Доступность = Доступность; КонецПроцедуры @@ -3265,9 +3275,9 @@ | (ДатыЗапретаИзменения.Пользователь = НЕОПРЕДЕЛЕНО | ИЛИ ВЫБОР | КОГДА ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.Пользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.группыПользователей) + | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыПользователей) | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ВнешниеПользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.группыВнешнихПользователей) + | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыВнешнихПользователей) | ИЛИ ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(Перечисление.ВидыНазначенияДатЗапрета.ДляВсехПользователей) | ТОГДА &ДатыЗапретаЗагрузкиДанных = ЛОЖЬ | ИНАЧЕ &ДатыЗапретаЗагрузкиДанных = ИСТИНА @@ -3283,9 +3293,9 @@ | (ДатыЗапретаИзменения.Пользователь = НЕОПРЕДЕЛЕНО | ИЛИ ВЫБОР | КОГДА ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.Пользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.группыПользователей) + | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыПользователей) | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ВнешниеПользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.группыВнешнихПользователей) + | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыВнешнихПользователей) | ТОГДА &ДатыЗапретаЗагрузкиДанных = ЛОЖЬ | ИНАЧЕ &ДатыЗапретаЗагрузкиДанных = ИСТИНА | КОНЕЦ) @@ -3321,8 +3331,13 @@ Возврат; КонецЕсли; - ИзменитьВидимость( - Элементы.УстановкаПоПользователям, УстановкаДатыЗапрета <> "ДляВсехПользователей"); + Если УстановкаДатыЗапрета <> "ДляВсехПользователей" Тогда + ИзменитьВидимость(Элементы.УстановкаПоПользователям, Истина); + Элементы.ТекущийПользовательПредставление.ОтображатьЗаголовок = Истина; + Иначе + ИзменитьВидимость(Элементы.УстановкаПоПользователям, Ложь); + Элементы.ТекущийПользовательПредставление.ОтображатьЗаголовок = Ложь; + КонецЕсли; Если УстановкаДатыЗапрета <> "ПоПользователям" Тогда Элементы.ДанныеПользователя.ТекущаяСтраница = Элементы.СтраницаПользовательВыбран; @@ -3437,12 +3452,6 @@ | И &Пользователь <> ""*"") | И НЕ(ДатыЗапретаИзменения.Раздел = ЗНАЧЕНИЕ(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка) | И ДатыЗапретаИзменения.Объект = ЗНАЧЕНИЕ(ПланВидовХарактеристик.РазделыДатЗапретаИзменения.ПустаяСсылка)) - | И ВЫБОР - | КОГДА ДатыЗапретаИзменения.Пользователь = &ЗначениеДляВсехПользователей - | ТОГДА НЕ(ДатыЗапретаИзменения.ДатаЗапрета = &ПустаяДата - | И ДатыЗапретаИзменения.ОписаниеДатыЗапрета = """") - | ИНАЧЕ ИСТИНА - | КОНЕЦ |; | |//////////////////////////////////////////////////////////////////////////////// @@ -3878,26 +3887,68 @@ &НаКлиентеНаСервереБезКонтекста Процедура УстановитьКоманднуюПанельДатЗапрета(Контекст) + Элементы = Контекст.Элементы; + Если НазначениеДляВсех(Контекст.ТекущийПользователь) Тогда Если Контекст.СпособУказанияДатыЗапрета = "ПоРазделам" Тогда - ТекущаяПанель = "ДатыЗапретаБезВыбораРазделовБезВыбораОбъектов"; + // ДатыЗапретаБезВыбораРазделовБезВыбораОбъектов + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаПодобрать.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаКонтекстноеМенюДобавить.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.Отображение, ОтображениеКнопки.Текст); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.ТолькоВоВсехДействиях, Ложь); Иначе - ТекущаяПанель = "ДатыЗапретаБезВыбораРазделовСВыборомОбъектов"; + // ДатыЗапретаБезВыбораРазделовСВыборомОбъектов + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаПодобрать.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаКонтекстноеМенюДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.Отображение, ОтображениеКнопки.Авто); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.ТолькоВоВсехДействиях, Не Контекст.ИнтерфейсВерсия82); КонецЕсли; Иначе Если Контекст.СпособУказанияДатыЗапрета = "ПоРазделам" Тогда - ТекущаяПанель = "ДатыЗапретаСВыборомРазделовБезВыбораОбъектов"; + // ДатыЗапретаСВыборомРазделовБезВыбораОбъектов + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Заголовок, НСтр("ru = 'Разделы'")); + УстановитьСвойство(Элементы.ДатыЗапретаПодобрать.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаКонтекстноеМенюДобавить.Видимость, Ложь); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.Отображение, ОтображениеКнопки.Авто); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.ТолькоВоВсехДействиях, Не Контекст.ИнтерфейсВерсия82); ИначеЕсли Контекст.СпособУказанияДатыЗапрета = "ПоОбъектам" Тогда - ТекущаяПанель = "ДатыЗапретаСВыборомОбщейДатыСВыборомОбъектов"; + // ДатыЗапретаСВыборомОбщейДатыСВыборомОбъектов + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Заголовок, НСтр("ru = 'Общая дата'")); + УстановитьСвойство(Элементы.ДатыЗапретаПодобрать.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаКонтекстноеМенюДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.Отображение, ОтображениеКнопки.Авто); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.ТолькоВоВсехДействиях, Не Контекст.ИнтерфейсВерсия82); Иначе - ТекущаяПанель = "ДатыЗапретаСВыборомРазделовСВыборомОбъектов"; + // ДатыЗапретаСВыборомРазделовСВыборомОбъектов + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаРазделы.Заголовок, НСтр("ru = 'Разделы'")); + УстановитьСвойство(Элементы.ДатыЗапретаПодобрать.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаКонтекстноеМенюДобавить.Видимость, Истина); + УстановитьСвойство(Элементы.ДатыЗапретаДобавить.ТолькоВоВсехДействиях, Не Контекст.ИнтерфейсВерсия82); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.Отображение, ОтображениеКнопки.Авто); + УстановитьСвойство(Элементы.ДатыЗапретаИзменить.ТолькоВоВсехДействиях, Не Контекст.ИнтерфейсВерсия82); КонецЕсли; КонецЕсли; - Контекст.Элементы.ДатыЗапретаКомандныеПанели.ТекущаяСтраница = Контекст.Элементы[ТекущаяПанель]; КонецПроцедуры +&НаКлиентеНаСервереБезКонтекста +Процедура УстановитьСвойство(Свойство, Значение) + Если Свойство <> Значение Тогда + Свойство = Значение; + КонецЕсли; +КонецПроцедуры + &НаКлиентеНаСервереБезКонтекста Функция КомментарийТекущегоПользователя(Контекст) diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаЗаписи/Form.form b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаЗаписи/Form.form index c33d071dc..3b22e8615 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаЗаписи/Form.form +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаЗаписи/Form.form @@ -12,7 +12,7 @@ <segments>Запись.Раздел</segments> </dataPath> <extendedTooltip> - <name>РазделExtendedTooltip</name> + <name>РазделРасширеннаяПодсказка</name> <id>14</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -53,7 +53,7 @@ <segments>Запись.Объект</segments> </dataPath> <extendedTooltip> - <name>ОбъектExtendedTooltip</name> + <name>ОбъектРасширеннаяПодсказка</name> <id>15</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -94,7 +94,7 @@ <segments>Запись.Пользователь</segments> </dataPath> <extendedTooltip> - <name>ПользовательExtendedTooltip</name> + <name>ПользовательРасширеннаяПодсказка</name> <id>16</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -140,7 +140,7 @@ </dataPath> <titleLocation>Left</titleLocation> <extendedTooltip> - <name>ОписаниеДатыЗапретаExtendedTooltip</name> + <name>ОписаниеДатыЗапретаРасширеннаяПодсказка</name> <id>18</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -186,7 +186,7 @@ <segments>Запись.ДатаЗапрета</segments> </dataPath> <extendedTooltip> - <name>ДатаЗапретаExtendedTooltip</name> + <name>ДатаЗапретаРасширеннаяПодсказка</name> <id>19</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -230,7 +230,7 @@ <value>Горизонтальная группа</value> </toolTip> <extendedTooltip> - <name>ГоризонтальнаяГруппаExtendedTooltip</name> + <name>ГоризонтальнаяГруппаРасширеннаяПодсказка</name> <id>17</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -262,7 +262,7 @@ <segments>Запись.Комментарий</segments> </dataPath> <extendedTooltip> - <name>КомментарийExtendedTooltip</name> + <name>КомментарийРасширеннаяПодсказка</name> <id>20</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Form.form index c11244563..c38095188 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Form.form @@ -1,382 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> - <items xsi:type="form:Table"> - <name>Список</name> - <id>1</id> + <items xsi:type="form:FormGroup"> + <name>ГруппаПользовательскихНастроек</name> + <id>30</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>Список</segments> - </dataPath> - <defaultItem>true</defaultItem> - <titleLocation>None</titleLocation> - <excludedCommands>Copy</excludedCommands> - <excludedCommands>Create</excludedCommands> - <items xsi:type="form:FormField"> - <name>Пользователь</name> - <id>8</id> - <title> - <key>ru</key> - <value>Пользователь (значение)</value> - - true - true - - - Список.Пользователь - - true - - ПользовательExtendedTooltip - 23 - Label - true - true - - Left - - - - ПользовательКонтекстноеМеню - 9 - true - - LabelField - Enter - true - Left - true - - true - true - -
                                          - - ПользовательПредставление - 18 - - <key>ru</key> - <value>Пользователь</value> - - true - true - - true - - - Список.ПользовательПредставление - - - ru - Представление адресата настройки запрета: -- пользователь, -- группа пользователей, -- внешний пользователь, -- группа внешних пользователей, -- план обмена (пустая ссылка на узел), -- узел плана обмена - - - ПользовательПредставлениеExtendedTooltip - 24 - Label - true - true - - Left - - - - ПользовательПредставлениеКонтекстноеМеню - 19 - true - - LabelField - Enter - true - Left - true - - 30 - true - true - - - - Раздел - 4 - true - true - - true - - - Список.Раздел - - true - - РазделExtendedTooltip - 25 - Label - true - true - - Left - - - - РазделКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Объект - 6 - true - true - - true - - - Список.Объект - - true - - ОбъектExtendedTooltip - 26 - Label - true - true - - Left - - - - ОбъектКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - 25 - true - true - - - - ОписаниеДатыЗапрета - 12 - true - true - - true - - - Список.ОписаниеДатыЗапрета - - true - - ОписаниеДатыЗапретаExtendedTooltip - 27 - Label - true - true - - Left - - - - ОписаниеДатыЗапретаКонтекстноеМеню - 13 - true - - LabelField - Enter - true - Left - true - - 22 - true - true - - - - ДатаЗапрета - 10 - true - true - - true - - - Список.ДатаЗапрета - - true - - ДатаЗапретаExtendedTooltip - 28 - Label - true - true - - Left - - - - ДатаЗапретаКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Комментарий - 14 - true - true - - true - - - Список.Комментарий - - true - - КомментарийExtendedTooltip - 29 - Label - true - true - - Left - - - - КомментарийКонтекстноеМеню - 15 - true - - LabelField - Enter - true - Left - true - - 25 - true - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - BeforeAddRow - СписокПередНачаломДобавления - - - СписокСтрокаПоиска - 30 - - СписокСтрокаПоискаРасширеннаяПодсказка - 32 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 31 - true - - Список - - true - - - - СписокСостояниеПросмотра - 33 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 35 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 34 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 36 - - СписокУправлениеПоискомРасширеннаяПодсказка - 38 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 37 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 22 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 31 Label true true @@ -384,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                          - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 32 ФормаДатыЗапретаИзмененияДанных 16 @@ -481,8 +89,414 @@ UserCmds Auto + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + Create + + СписокПользователь + 8 + + <key>ru</key> + <value>Пользователь</value> + + true + true + + true + + + Список.Пользователь + + true + + СписокПользовательРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + + СписокПользовательКонтекстноеМеню + 9 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокРаздел + 4 + true + true + + true + + + Список.Раздел + + true + + СписокРазделРасширеннаяПодсказка + 25 + Label + true + true + + Left + + + + СписокРазделКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокОбъект + 6 + true + true + + true + + + Список.Объект + + true + + СписокОбъектРасширеннаяПодсказка + 26 + Label + true + true + + Left + + + + СписокОбъектКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + + + + СписокОписаниеДатыЗапрета + 12 + true + true + + true + + + Список.ОписаниеДатыЗапрета + + true + + СписокОписаниеДатыЗапретаРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + + СписокОписаниеДатыЗапретаКонтекстноеМеню + 13 + true + + LabelField + Enter + true + Left + true + + 22 + true + true + + + + СписокДатаЗапрета + 10 + true + true + + true + + + Список.ДатаЗапрета + + true + + СписокДатаЗапретаРасширеннаяПодсказка + 28 + Label + true + true + + Left + + + + СписокДатаЗапретаКонтекстноеМеню + 11 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокКомментарий + 14 + true + true + + true + + + Список.Комментарий + + true + + СписокКомментарийРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + + СписокКомментарийКонтекстноеМеню + 15 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + BeforeAddRow + СписокПередНачаломДобавления + + + СписокСтрокаПоиска + 34 + + СписокСтрокаПоискаРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 35 + true + + Список + + true + + + + СписокСостояниеПросмотра + 37 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 38 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 40 + + СписокУправлениеПоискомРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 41 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 22 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 8 + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                          + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer @@ -514,6 +528,9 @@ true + + Список.ПользовательПредставление + Список.ДатаЗапрета @@ -526,9 +543,6 @@ Список.Пользователь - - Список.ПользовательПредставление - Список.Раздел @@ -538,7 +552,6 @@ ДатыЗапретаИзменения.Раздел, ДатыЗапретаИзменения.Объект, ДатыЗапретаИзменения.Пользователь, - &ПользовательПредставление КАК ПользовательПредставление, ДатыЗапретаИзменения.ДатаЗапрета, ДатыЗапретаИзменения.ОписаниеДатыЗапрета, ДатыЗапретаИзменения.Комментарий diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Module.bsl index 7e3d03c44..96ea733de 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Forms/ФормаСписка/Module.bsl @@ -4,72 +4,13 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + УстановитьУсловноеОформление(); Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; - ПредставлениеТиповПлановОбмена = ""; - ПредставлениеУзловПлановОбмена = ""; - Для каждого ТипПользователя Из Метаданные.РегистрыСведений.ДатыЗапретаИзменения.Измерения.Пользователь.Тип.Типы() Цикл - ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипПользователя); - Если НЕ Метаданные.ПланыОбмена.Содержит(ОбъектМетаданных) Тогда - Продолжить; - КонецЕсли; - // - ПредставлениеТиповПлановОбмена = ПредставлениеТиповПлановОбмена + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - " - | КОГДА ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(%1.ПустаяСсылка) - | ТОГДА ""%2""", - ОбъектМетаданных.ПолноеИмя(), - ОбъектМетаданных.Представление() + ": " + НСтр("ru = '<Все узлы>'")); - // - ПредставлениеУзловПлановОбмена = ПредставлениеУзловПлановОбмена + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - " - | КОГДА ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = Тип(%1) - | ТОГДА ""%2: "" + ВЫРАЗИТЬ(ДатыЗапретаИзменения.Пользователь КАК %1).Наименование", - ОбъектМетаданных.ПолноеИмя(), - ОбъектМетаданных.Представление()); - КонецЦикла; - ПредставлениеПлановОбмена = ПредставлениеТиповПлановОбмена + ПредставлениеУзловПлановОбмена; - - ПользовательПредставление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( - "ВЫБОР - | КОГДА ДатыЗапретаИзменения.Пользователь = НЕОПРЕДЕЛЕНО - | ТОГДА ""%1"" - | КОГДА ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка) - | ТОГДА ""%2"" - | КОГДА ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ПустаяСсылка) - | ТОГДА ""%3"" - | КОГДА ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(Справочник.ВнешниеПользователи.ПустаяСсылка) - | ТОГДА ""%4"" - | КОГДА ДатыЗапретаИзменения.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыВнешнихПользователей.ПустаяСсылка) - | ТОГДА ""%5"" - | КОГДА ДатыЗапретаИзменения.Пользователь = Значение(Перечисление.ВидыНазначенияДатЗапрета.ДляВсехПользователей) - | ТОГДА ""%6"" - | КОГДА ДатыЗапретаИзменения.Пользователь = Значение(Перечисление.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз) - | ТОГДА ""%7"" - | КОГДА ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.Пользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыПользователей) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ВнешниеПользователи) - | ИЛИ ТИПЗНАЧЕНИЯ(ДатыЗапретаИзменения.Пользователь) = ТИП(Справочник.ГруппыВнешнихПользователей) - | ТОГДА ПРЕДСТАВЛЕНИЕ(ДатыЗапретаИзменения.Пользователь) - |%8 - | ИНАЧЕ ""%9"" - |КОНЕЦ", - НСтр("ru = 'Неопределено'"), - НСтр("ru = 'Пустой пользователь'"), - НСтр("ru = 'Пустая группа пользователей'"), - НСтр("ru = 'Пустой внешний пользователь'"), - НСтр("ru = 'Пустая группа внешних пользователей'"), - "<" + Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей + ">", - "<" + Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз + ">", - ПредставлениеПлановОбмена, - НСтр("ru = 'Неизвестный тип'")); - - Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "&ПользовательПредставление", ПользовательПредставление); - // Настройка команды - СвойстваРазделов = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); + СвойстваРазделов = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); Элементы.ФормаДатыЗапретаЗагрузкиДанных.Видимость = СвойстваРазделов.ИспользоватьДатыЗапретаЗагрузкиДанных; // Настройка порядка @@ -79,19 +20,19 @@ Порядок.Элементы.Очистить(); ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных")); - ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Пользователь"); + ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокПользователь.Имя); ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр; ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементПорядка.Использование = Истина; ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных")); - ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Раздел"); + ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокРаздел.Имя); ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр; ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементПорядка.Использование = Истина; ЭлементПорядка = Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных")); - ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных("Объект"); + ЭлементПорядка.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокОбъект.Имя); ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр; ЭлементПорядка.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; ЭлементПорядка.Использование = Истина; @@ -129,3 +70,62 @@ КонецПроцедуры #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура УстановитьУсловноеОформление() + + УсловноеОформление.Элементы.Очистить(); + + Для каждого ТипПользователя Из Метаданные.РегистрыСведений.ДатыЗапретаИзменения.Измерения.Пользователь.Тип.Типы() Цикл + ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипПользователя); + Если НЕ Метаданные.ПланыОбмена.Содержит(ОбъектМетаданных) Тогда + Продолжить; + КонецЕсли; + + ОформитьЗначение(ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ОбъектМетаданных.ПолноеИмя()).ПустаяСсылка(), + ОбъектМетаданных.Представление() + ": " + НСтр("ru = '<Все информационные базы>'")); + КонецЦикла; + + ОформитьЗначение(Неопределено, + НСтр("ru = 'Неопределено'")); + + ОформитьЗначение(Справочники.Пользователи.ПустаяСсылка(), + НСтр("ru = 'Пустой пользователь'")); + + ОформитьЗначение(Справочники.ГруппыПользователей.ПустаяСсылка(), + НСтр("ru = 'Пустая группа пользователей'")); + + ОформитьЗначение(Справочники.ВнешниеПользователи.ПустаяСсылка(), + НСтр("ru = 'Пустой внешний пользователь'")); + + ОформитьЗначение(Справочники.ГруппыВнешнихПользователей.ПустаяСсылка(), + НСтр("ru = 'Пустая группа внешних пользователей'")); + + ОформитьЗначение(Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей, + "<" + Перечисления.ВидыНазначенияДатЗапрета.ДляВсехПользователей + ">"); + + ОформитьЗначение(Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз, + "<" + Перечисления.ВидыНазначенияДатЗапрета.ДляВсехИнформационныхБаз + ">"); + +КонецПроцедуры + +&НаСервере +Процедура ОформитьЗначение(Значение, Текст) + + Элемент = УсловноеОформление.Элементы.Добавить(); + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокПользователь.Имя); + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Пользователь"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ОтборЭлемента.ПравоеЗначение = Значение; + + Элемент.Оформление.УстановитьЗначениеПараметра("Текст", Текст); + +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Help/ru.html b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Help/ru.html index cbb7273a8..373ff2aec 100644 --- a/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Help/ru.html +++ b/SSL/src/InformationRegisters/ДатыЗапретаИзменения/Help/ru.html @@ -1,14 +1,57 @@ - + +

                                          Предназначена для установки даты запрета изменения (загрузки) данных.

                                          +

                                          Запреты загрузки данных могут не использоваться. В этом случае доступно только окно настройки дат запрета изменения данных.

                                          +

                                          Установка даты запрета изменения данных и различные настройки, связанные с ней, выполняются по соответствующей команде в разделе Администрирование - Поддержка и обслуживание.

                                          +

                                          Установка даты запрета загрузки данных выполняется по соответствующей команде в разделе Синхронизация данных.

                                          О запрете изменения (загрузки) данных

                                          -

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

                                          -

                                          Проявление установленного запрета

                                          -

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

                                          -

                                          Возможности установки дат запрета

                                          -

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

                                          -

                                          Если дату запрета необходимо установить для всех пользователей системы (для всех узлов планов обмена), то в поле Установка даты запрета необходимо выбрать значение Для всех пользователей (Для всех узлов планов обмена). При этом в форме станут доступны поля Способ указания даты запрета и поле Дата запрета.

                                          -

                                          Если разным пользователям (узлам планов обмена) необходимо устанавливать разные значения даты запрета, то в поле Установка даты запрета необходимо выбрать значение По пользователям (По узлам планов обмена). При этом в форме будет доступен список, в который можно добавлять пользователей/группы пользователей  (узлы планов обмена) и настраивать для каждого из них свое значение даты запрета. В списке по умолчанию всегда присутствует элемент <Для всех пользователей> (<Для всех узлов планов обмена>). Элемент нельзя удалить или изменить. Настройки даты запрета выполненные для этого элемента будут использоваться для всех пользователей (узлов планов обмена) кроме тех, которые содержаться в списке. Для того что бы выполнить настройку даты запрета, необходимо выделить в списке нужного пользователя/группу пользователей (узел плана обмена) или элемент   <Для всех пользователей> (<Для всех узлов планов обмена>), а сами настройки выполнить ниже в полях Способ указания даты запрета и Дата запрета.

                                          -

                                          Способ указания даты запрета может принимать следующие значения:

                                          -
                                          • Общая дата – при этом способе одна дата запрета задается для всех элементов данных ИБ. -
                                          • По разделам – для каждого раздела программы устанавливается своя дата запрета. Когда дата запрета задается по разделам, в форме доступен список, в который можно добавлять Разделы (соответствующей командой) и указывать для каждого раздела свое значение даты запрета. В списке по умолчанию присутствует элемент <Общая дата>. Значение даты запрета для этого элемента будет использоваться для всех разделов по умолчанию кроме тех, которые уже содержаться в списке. Если в поле Установка даты запрета  указано Для всех пользователей (Для всех узлов планов обмена), то удалить элемент <Общая дата> и разделы нельзя. Если в поле Установка даты запрета  указано По пользователям (По узлам планов обмена), то удалить элемент <Общая дата> и разделы можно. -
                                          • По объектам – даты запрета задаются в разрезе объектов программы. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то в форме доступен список в который можно добавлять объекты (соответствующей командой) и указывать для каждого объекта свое значение даты запрета. Так же как и в предыдущем способе в списке для аналогичных целей содержится элемент <Общая дата>. -
                                          • По разделам и объектам – при этом способе даты запрета задаются и в разрезе разделов и в разрезе объектов. Когда дата запрета задается по разделам и объектам, в форме доступен список в который можно добавлять разделы и объекты, указывая для каждого раздела и каждого объекта свое значение даты запрета. Так же как и в предыдущих способах в списке содержится элемент <Общая дата> для аналогичных целей.

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

                                          \ No newline at end of file +
                                          • Иногда при работе с программой требуется установить запрет изменения каких-либо данных до определенной даты. Например, после сдачи квартальной бухгалтерской отчетности в налоговую инспекцию обычно устанавливается запрет изменения тех данных, которые использовались для формирования этой отчетности, то есть данных по последний день отчетного периода. +
                                          • Запрет загрузки, в отличие от запрета изменения, может быть установлен для данных, которые должны редактироваться только в одном узле информационной базы, а также по правилам, которые следуют из требований синхронизации данных, а не из типовых бизнес-процессов организации. Например, решение редактировать данные по некоторым организациям только в центральном офисе (в центральном узле), для того чтобы технически обеспечить закрепление ответственности за эти данные за конкретным сотрудником центрального офиса, является основанием запрета загрузки данных из других узлов.

                                          Проявление установленного запрета

                                          +
                                          • Если дата запрета изменения данных установлена, то при попытке внести изменения в программу до даты запрета изменения выводится сообщение о невозможности изменения данных. +
                                            • Если в закрытом периоде есть объекты, помеченные на удаление, то их удаление будет невозможно. +
                                            • Если дата запрета изменения не установлена, то ограничения не действуют.
                                          • Если дата запрета загрузки данных установлена, то при попытке получить данные в программу до даты запрета загрузки все запрещенные для получения данные будут пропущены, сведения о них будут записаны в журнал регистрации, а разрешенные данные будут получены.

                                          Установка даты запрета

                                          +
                                          • +
                                            В программе предусмотрена возможность установить или отключить дату запрета изменений (дату запрета загрузки данных). Для этого в поле Установка даты запрета выберите соответствующее значение:
                                            +
                                            • Нет запрета изменения (загрузки) данных - в этом случае отключаются все установленные ранее даты запрета. +
                                            • Для всех пользователей (Для всех информационных баз). При этом становятся доступными поля Способ указания даты запрета и Дата запрета. +
                                            • По пользователям (По информационным базам). Эту возможность можно использовать, если дату запрета необходимо установить для конкретного пользователя или группы пользователей (для конкретной информационной базы), или разным пользователям (информационным базам) необходимо установить разные значения даты запрета. +
                                              • При этом становится доступным список, в который можно добавлять пользователей/группы пользователей  (информационные базы) и настраивать для каждого из них свое значение даты запрета. +
                                              • Список состоит из колонок: +
                                                • Пользователь, группа пользователей (Программа: информационная база - наименование программы и информационной базы для этой программы). +
                                                • Комментарий - напишите дополнительную информацию о пользователе (об информационной базе).
                                              • В списке по умолчанию всегда присутствует элемент <Для всех пользователей> (<Для всех информационных баз>). Элемент нельзя удалить или изменить. Настройки даты запрета, выполненные для этого элемента, будут использоваться для всех пользователей (информационных баз), кроме тех, которые содержатся в списке.  +
                                              • При необходимости добавьте в список нужных пользователей /группу пользователей (информационные базы): +
                                                • Нажмите Подобрать, для того чтобы выбрать из списка несколько пользователей (информационных баз). +
                                                • Нажмите Все действия (в интерфейсе Такси Еще) - Добавить над списком, для того чтобы   Выбрать пользователя/группу пользователей (программу и информационную базу для этой программы. Для каждой программы можно также выбрать элемент <Все информационные базы>).
                                          • Для того чтобы выполнить настройку даты запрета, необходимо выделить в списке нужного пользователя/группу пользователей (информационную базу) или элемент <Для всех пользователей> (<Для всех информационных баз>), а сами настройки выполнить ниже в полях Способ указания даты запрета и Дата запрета.

                                          Способы указания даты запрета

                                          +

                                          Программа позволяет задавать различные Способы указания даты запрета изменений:

                                          +
                                          • Общая дата – при этом способе одна дата запрета задается для всех элементов данных программы. +
                                          • По разделам – для каждого раздела программы устанавливается своя дата запрета.  +
                                            • Когда дата запрета задается по разделам, становится доступным список, в который можно добавлять Разделы (соответствующей командой) и указывать для каждого раздела свое значение даты запрета. Список состоит из колонок: +
                                              • Раздел, объект - в данном случае в колонке перечисляются разделы программы; +
                                              • Дата запрета - выберите из списка тип значения даты запрета (можно выбрать произвольную дату или одну из относительных дат); +
                                              • Запрет изменения по - для произвольной даты напишите или  выберите значение, для относительной даты значение проставляется программой автоматически.
                                            • В списке по умолчанию присутствует элемент <Общая дата>. Значение даты запрета для этого элемента будет использоваться для всех разделов по умолчанию, кроме тех, которые уже содержатся в списке. +
                                            • Если в поле Установка даты запрета  указано Для всех пользователей (Для всех информационных баз), то удалить элемент <Общая дата> и разделы нельзя, при этом по умолчанию доступны все разделы, их можно только Изменить - указать Дату запрета. +
                                            • Если в поле Установка даты запрета указано По пользователям (По информационным базам), то удалить элемент <Общая дата> и разделы можно. Если дата запрета изменений устанавливается для определенного пользователя/группы пользователей (информационной базы), то необходимо выбрать один или несколько разделов. +
                                              • Для добавления раздела выполните команду Разделы, выберите нужные с помощью флажков, затем нажмите кнопку ОК.
                                          • По объектам – даты запрета задаются в разрезе объектов программы. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты (соответствующей командой) и указывать для каждого объекта свое значение даты запрета. Так же, как и в предыдущем способе, в списке для аналогичных целей содержится элемент <Общая дата>. +
                                          • По разделам и объектам – даты запрета задаются и в разрезе разделов, и в разрезе объектов.  +
                                            • При этом становится доступным список, в который можно добавлять разделы и объекты, указывая для каждого раздела и каждого объекта свое значение даты запрета. Так же, как и в предыдущих способах, в списке содержится элемент <Общая дата> для аналогичных целей.   +
                                              • Для выбора разделов выполните команду Разделы. +
                                                • Для выбора нескольких объектов в выделенном разделе выполните команду Подобрать. +
                                                • Также в нужном разделе можно выполнить команду Добавить контекстного меню по правой кнопки мыши, затем указать объект с помощью кнопки  Выбрать. Также можно воспользоваться аналогичной командой меню Все действия (в интерфейсе Такси Еще).

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

                                          +

                                          Дата запрета

                                          +
                                          • При установке даты запрета можно задавать не только произвольную дату (в этом случае дату можно написать или выбрать из календаря, нажав ), но и относительную. +
                                          • Значения относительных дат: +
                                            • Конец прошлого года; +
                                            • Конец прошлого квартала; +
                                            • Конец прошлого месяца; +
                                            • Конец прошлой недели; +
                                            • Предыдущий день.
                                          • +
                                            Для относительных дат (кроме значения Предыдущий день) можно задать количество дней «отсрочки» до установки даты запрета, в течение которых изменение данных все еще будет разрешено.
                                            +
                                            • +
                                              Для этого необходимо включить флажок Разрешить изменение данных до даты запрета. Затем задайте количество дней "отсрочки", например, в течение 10 дней после даты запрета.
                                          • +
                                            Если установлена относительная дата, то для того, чтобы дата запрета изменения в будущем изменялась по заданным правилам автоматически, в программе используется регламентное задание "Пересчет текущих значений относительных дат запрета изменения".
                                            +
                                          • +
                                            Если по каким-либо причинам использование регламентных заданий невозможно (например, в файловом варианте работы программы и в других случаях может потребоваться выполнить пересчет текущих значений относительных дат запрета вручную), то перерасчет текущих значений относительных дат запрета можно выполнять с помощью команды Все действия (В интерфейсе Такси Еще) - Пересчитать даты. При этом команду необходимо выполнять периодически в соответствии с установленной относительной датой. Например, если установлено значение Предыдущий день, то команду необходимо выполнять ежедневно; если установлено значение Конец прошлого месяца, то команду необходимо выполнять ежемесячно.

                                          Отчеты по датам запрета

                                          +

                                          Отчеты доступны по соответствующей команде. В отчетах возможна группировка данных:

                                          +
                                          • по разделам/объектам: выберите отчет Даты запрета по разделам и объектам для пользователей (Даты запрета по разделам и объектам для информационных баз); +
                                          • по пользователям (по информационным базам): выберите отчет Даты запрета по пользователям (Даты запрета по информационным базам).

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

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ДополнительныеСведения/Help/ru.html b/SSL/src/InformationRegisters/ДополнительныеСведения/Help/ru.html index 323de0a34..eb66df87d 100644 --- a/SSL/src/InformationRegisters/ДополнительныеСведения/Help/ru.html +++ b/SSL/src/InformationRegisters/ДополнительныеСведения/Help/ru.html @@ -1,3 +1,3 @@ - +

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

                                          См. также: Дополнительные свойства, Наборы свойств.

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ЗависимостиПравДоступа/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ЗависимостиПравДоступа/Forms/ФормаСписка/Form.form index 4a191c479..fcf87ff0a 100644 --- a/SSL/src/InformationRegisters/ЗависимостиПравДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ЗависимостиПравДоступа/Forms/ФормаСписка/Form.form @@ -1,220 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 47 true true true - - Список - - true - false - None - Copy - - ПодчиненнаяТаблица - 4 - true - true - - true - - - Список.ПодчиненнаяТаблица - - true - - ПодчиненнаяТаблицаExtendedTooltip - 41 - Label - true - true - - Left - - - - ПодчиненнаяТаблицаКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ВедущаяТаблица - 24 - true - true - - true - - - Список.ВедущаяТаблица - - - ru - При проверке права на элемент данных подчиненной таблицы проверяется право и ограничение права на объект ведущей таблицы - - - ВедущаяТаблицаExtendedTooltip - 42 - Label - true - true - - Left - - - - ВедущаяТаблицаКонтекстноеМеню - 25 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ПроверитьЧтениеВместоИзменения - 44 - - <key>ru</key> - <value>Проверить чтение -вместо изменения</value> - - true - true - - true - - - Список.ПроверитьЧтениеВместоИзменения - - - ru - При проверке права Изменение объекта подчиненной таблицы, у объекта -ведущей таблицы выполнить проверку права Чтение вместо права Изменение. - - - ПроверитьЧтениеВместоИзмененияРасширеннаяПодсказка - 46 - Label - true - true - - Left - - - - ПроверитьЧтениеВместоИзмененияКонтекстноеМеню - 45 - true - - CheckBoxField - Enter - true - Left - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 47 - - СписокСтрокаПоискаРасширеннаяПодсказка - 49 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 48 - true - - Список - - true - - - - СписокСостояниеПросмотра - 50 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 52 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 51 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 53 - - СписокУправлениеПоискомРасширеннаяПодсказка - 55 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 54 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 40 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 48 Label true true @@ -222,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 2 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                          - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 49 ФормаВключитьВозможностьРедактирования 36 @@ -321,8 +91,301 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + Copy + + СписокПодчиненнаяТаблица + 4 + true + true + + true + + + Список.ПодчиненнаяТаблица + + true + + СписокПодчиненнаяТаблицаРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + + СписокПодчиненнаяТаблицаКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокВедущаяТаблица + 24 + true + true + + true + + + Список.ВедущаяТаблица + + + ru + При проверке права на элемент данных подчиненной таблицы проверяется право и ограничение права на объект ведущей таблицы + + + СписокВедущаяТаблицаРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + СписокВедущаяТаблицаКонтекстноеМеню + 25 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокПроверитьЧтениеВместоИзменения + 44 + + <key>ru</key> + <value>Проверить чтение +вместо изменения</value> + + true + true + + true + + + Список.ПроверитьЧтениеВместоИзменения + + + ru + При проверке права Изменение объекта подчиненной таблицы, у объекта +ведущей таблицы выполнить проверку права Чтение вместо права Изменение. + + + СписокПроверитьЧтениеВместоИзмененияРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + + СписокПроверитьЧтениеВместоИзмененияКонтекстноеМеню + 45 + true + + CheckBoxField + Enter + true + Left + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 51 + + СписокСтрокаПоискаРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 52 + true + + Список + + true + + + + СписокСостояниеПросмотра + 54 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 55 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 57 + + СписокУправлениеПоискомРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 58 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 40 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + true + 8 + true + MultiRow +
                                          true
                                          + 2 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                          + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ЗамерыВремени/Help/ru.html b/SSL/src/InformationRegisters/ЗамерыВремени/Help/ru.html index 25694db89..b97c6f2ec 100644 --- a/SSL/src/InformationRegisters/ЗамерыВремени/Help/ru.html +++ b/SSL/src/InformationRegisters/ЗамерыВремени/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Открыть список можно по команде Замеры времени на панели навигации ключевой операции.

                                          В списке выводятся:

                                          @@ -15,4 +15,4 @@
                                        • Минимально допустимый уровень - выводится из списка ключевых операций; 
                                        • Целевое время - выводится из списка ключевых операций.

                                        Данные о замерах программа заполняет автоматически при выполнении ключевых операций. Однако при необходимости можно ввести данные о замере времени вручную. Эту возможность можно использовать для отладки, например. Нажмите Создать, заполните необходимые поля.

                                        См. также:

                                        -

                                        Работа с формами.

                                        \ No newline at end of file + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ЗамерыВремени/ЗамерыВремени.mdo b/SSL/src/InformationRegisters/ЗамерыВремени/ЗамерыВремени.mdo index bfba3a476..84f44c638 100644 --- a/SSL/src/InformationRegisters/ЗамерыВремени/ЗамерыВремени.mdo +++ b/SSL/src/InformationRegisters/ЗамерыВремени/ЗамерыВремени.mdo @@ -49,6 +49,7 @@ + true ru @@ -70,6 +71,10 @@ true + + ru + Служебный ресурс + Use @@ -86,6 +91,10 @@ Date + + ru + Служебный реквизит + Use @@ -106,6 +115,10 @@ + + ru + Служебный реквизит + Use @@ -124,6 +137,10 @@ 128 + + ru + Служебный реквизит + Use @@ -134,12 +151,16 @@ ДатаЗаписиЛокальная ru - Локальная дата записи + Дата записи локальная Date + + ru + Служебный реквизит + Use @@ -158,6 +179,10 @@ CatalogRef.КлючевыеОперации + + ru + Служебное измерение + true @@ -178,6 +203,10 @@ Date + + ru + Служебное измерение + true @@ -202,6 +231,10 @@ true + + ru + Служебное измерение + Use diff --git a/SSL/src/InformationRegisters/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.mdo b/SSL/src/InformationRegisters/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.mdo index 79859dbfc..540624e5c 100644 --- a/SSL/src/InformationRegisters/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.mdo +++ b/SSL/src/InformationRegisters/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов/ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.mdo @@ -96,7 +96,7 @@ Use - + Имя ru @@ -113,10 +113,10 @@ - Идентификатор + ИдентификаторЗапроса ru - Идентификатор + Идентификатор запроса UUID @@ -128,10 +128,10 @@ true - Владелец + ТипПрограммногоМодуля ru - Владелец + Тип программного модуля AnyRef @@ -144,4 +144,22 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + diff --git a/SSL/src/InformationRegisters/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.mdo b/SSL/src/InformationRegisters/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.mdo index 4c60f9295..3a1ac8593 100644 --- a/SSL/src/InformationRegisters/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.mdo +++ b/SSL/src/InformationRegisters/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов/ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.mdo @@ -130,10 +130,10 @@ - Идентификатор + ИдентификаторЗапроса ru - Идентификатор + Идентификатор запроса UUID @@ -161,10 +161,10 @@ true - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -177,11 +177,29 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -194,4 +212,22 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + diff --git a/SSL/src/InformationRegisters/ЗначенияГруппДоступа/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ЗначенияГруппДоступа/Forms/ФормаСписка/Form.form index 590517ada..2aa16cb44 100644 --- a/SSL/src/InformationRegisters/ЗначенияГруппДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ЗначенияГруппДоступа/Forms/ФормаСписка/Form.form @@ -1,213 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 24 true true true - - Список - - true - None - Copy - - ГруппаДоступа - 4 - true - true - - true - - - Список.ГруппаДоступа - - true - - ГруппаДоступаExtendedTooltip - 17 - Label - true - true - - Left - - - - ГруппаДоступаКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ЗначениеДоступа - 10 - true - true - - true - - - Список.ЗначениеДоступа - - true - - ЗначениеДоступаExtendedTooltip - 20 - Label - true - true - - Left - - - - ЗначениеДоступаКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ЗначениеРазрешено - 21 - true - true - - true - - - Список.ЗначениеРазрешено - - - ЗначениеРазрешеноРасширеннаяПодсказка - 23 - Label - true - true - - Left - - - - ЗначениеРазрешеноКонтекстноеМеню - 22 - true - - LabelField - Enter - true - Left - true - - true - true - - ru - БЛ=Нет; БИ=Да - - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 24 - - СписокСтрокаПоискаРасширеннаяПодсказка - 26 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 25 - true - - Список - - true - - - - СписокСостояниеПросмотра - 27 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 29 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 28 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 30 - - СписокУправлениеПоискомРасширеннаяПодсказка - 32 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 31 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 16 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 25 Label true true @@ -215,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                        true
                                        - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                        - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 26 ФормаОбновитьДанныеРегистра 13 @@ -314,8 +91,294 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 27 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + + СписокГруппаДоступа + 4 + true + true + + true + + + Список.ГруппаДоступа + + true + + СписокГруппаДоступаРасширеннаяПодсказка + 17 + Label + true + true + + Left + + + + СписокГруппаДоступаКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокЗначениеДоступа + 10 + true + true + + true + + + Список.ЗначениеДоступа + + true + + СписокЗначениеДоступаРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + + СписокЗначениеДоступаКонтекстноеМеню + 11 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокЗначениеРазрешено + 21 + true + true + + true + + + Список.ЗначениеРазрешено + + + СписокЗначениеРазрешеноРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + + СписокЗначениеРазрешеноКонтекстноеМеню + 22 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + БЛ=Нет; БИ=Да + + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 28 + + СписокСтрокаПоискаРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 29 + true + + Список + + true + + + + СписокСостояниеПросмотра + 31 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 32 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 34 + + СписокУправлениеПоискомРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 35 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 16 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 10 + true + true + MultiRow +
                                        true
                                        + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                        + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Form.form index 8ee9ae34d..121f0728f 100644 --- a/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Form.form @@ -1,5 +1,121 @@ + + ГруппаПользовательскихНастроек + 30 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 32 + + ФормаОбновитьДанныеРегистра + 13 + true + true + + true + + + ФормаОбновитьДанныеРегистраExtendedTooltip + 14 + Label + true + true + + Left + + + Form.Command.ОбновитьДанныеРегистра + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаВключитьВозможностьРедактирования + 12 + true + true + + true + + + ФормаВключитьВозможностьРедактированияExtendedTooltip + 15 + Label + true + true + + Left + + + Form.Command.ВключитьВозможностьРедактирования + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -15,7 +131,7 @@ None Copy - ГруппаДоступа + СписокГруппаДоступа 4 true true @@ -27,7 +143,7 @@ true - ГруппаДоступаExtendedTooltip + СписокГруппаДоступаРасширеннаяПодсказка 17 Label true @@ -37,7 +153,7 @@ - ГруппаДоступаКонтекстноеМеню + СписокГруппаДоступаКонтекстноеМеню 5 true @@ -52,7 +168,7 @@ - ТипЗначенийДоступа + СписокТипЗначенийДоступа 27 <key>ru</key> @@ -72,7 +188,7 @@ который соответствует виду доступа в группе доступа.</value> </toolTip> <extendedTooltip> - <name>ТипЗначенийДоступаРасширеннаяПодсказка</name> + <name>СписокТипЗначенийДоступаРасширеннаяПодсказка</name> <id>29</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -82,7 +198,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ТипЗначенийДоступаКонтекстноеМеню</name> + <name>СписокТипЗначенийДоступаКонтекстноеМеню</name> <id>28</id> <autoFill>true</autoFill> </contextMenu> @@ -98,7 +214,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ВсеРазрешены</name> + <name>СписокВсеРазрешены</name> <id>21</id> <visible>true</visible> <enabled>true</enabled> @@ -109,7 +225,7 @@ <segments>Список.ВсеРазрешены</segments> </dataPath> <extendedTooltip> - <name>ВсеРазрешеныРасширеннаяПодсказка</name> + <name>СписокВсеРазрешеныРасширеннаяПодсказка</name> <id>23</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -119,7 +235,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ВсеРазрешеныКонтекстноеМеню</name> + <name>СписокВсеРазрешеныКонтекстноеМеню</name> <id>22</id> <autoFill>true</autoFill> </contextMenu> @@ -138,7 +254,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>БезНастройки</name> + <name>СписокБезНастройки</name> <id>24</id> <visible>true</visible> <enabled>true</enabled> @@ -149,7 +265,7 @@ <segments>Список.БезНастройки</segments> </dataPath> <extendedTooltip> - <name>БезНастройкиРасширеннаяПодсказка</name> + <name>СписокБезНастройкиРасширеннаяПодсказка</name> <id>26</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -159,7 +275,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>БезНастройкиКонтекстноеМеню</name> + <name>СписокБезНастройкиКонтекстноеМеню</name> <id>25</id> <autoFill>true</autoFill> </contextMenu> @@ -185,10 +301,10 @@ </autoCommandBar> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>30</id> + <id>34</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>32</id> + <id>36</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -198,7 +314,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>31</id> + <id>35</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -208,10 +324,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>33</id> + <id>37</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>35</id> + <id>39</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -221,7 +337,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>34</id> + <id>38</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -232,10 +348,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>36</id> + <id>40</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>38</id> + <id>42</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -245,7 +361,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>37</id> + <id>41</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -304,67 +420,13 @@ <topLevelParent xsi:type="core:UndefinedValue"/> <showRoot>true</showRoot> <allowGettingCurrentRowURL>true</allowGettingCurrentRowURL> + <userSettingsGroup>ГруппаПользовательскихНастроек</userSettingsGroup> </extInfo> </items> <autoCommandBar> <name>ФормаКоманднаяПанель</name> <id>-1</id> - <items xsi:type="form:Button"> - <name>ФормаОбновитьДанныеРегистра</name> - <id>13</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <extendedTooltip> - <name>ФормаОбновитьДанныеРегистраExtendedTooltip</name> - <id>14</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.ОбновитьДанныеРегистра</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> - </items> - <items xsi:type="form:Button"> - <name>ФормаВключитьВозможностьРедактирования</name> - <id>12</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <extendedTooltip> - <name>ФормаВключитьВозможностьРедактированияExtendedTooltip</name> - <id>15</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <commandName>Form.Command.ВключитьВозможностьРедактирования</commandName> - <buttonImportance>Normal</buttonImportance> - <representation>Auto</representation> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <placementArea>UserCmds</placementArea> - <representationInContextMenu>Auto</representationInContextMenu> - <locationInCommandBar>InAdditionalSubmenu</locationInCommandBar> - </items> <horizontalAlign>Left</horizontalAlign> - <autoFill>true</autoFill> </autoCommandBar> <handlers> <event>OnCreateAtServer</event> diff --git a/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Module.bsl index e661d3357..02d0dd075 100644 --- a/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/ЗначенияГруппДоступаПоУмолчанию/Forms/ФормаСписка/Module.bsl @@ -83,7 +83,7 @@ ЭлементОтбораДанных.Использование = Истина; ЭлементОформляемогоПоля = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); - ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных("ТипЗначенийДоступа"); + ЭлементОформляемогоПоля.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокТипЗначенийДоступа.Имя); ЭлементОформляемогоПоля.Использование = Истина; КонецЦикла; diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Form.form b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Form.form index fb3c23425..e6be2697c 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Form.form +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Form.form @@ -1,47 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> - <items xsi:type="form:FormField"> - <name>ОсновнойОбъектАдресации</name> - <id>14</id> - <titleFont xsi:type="core:AutoFont"/> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>ОсновнойОбъектАдресации</segments> - </dataPath> - <handlers> - <event>OnChange</event> - <name>ПолеОсновнойОбъектАдресацииПриИзменении</name> - </handlers> - <extendedTooltip> - <name>ОсновнойОбъектАдресацииExtendedTooltip</name> - <id>77</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>ОсновнойОбъектАдресацииКонтекстноеМеню</name> - <id>15</id> - <autoFill>true</autoFill> - </contextMenu> - <type>LabelField</type> - <editMode>Enter</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:LabelFieldExtInfo"> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <font xsi:type="core:AutoFont"/> - </extInfo> - </items> <items xsi:type="form:Table"> <name>Список</name> <id>45</id> @@ -158,10 +116,10 @@ </handlers> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>89</id> + <id>90</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>91</id> + <id>92</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -171,7 +129,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>90</id> + <id>91</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -181,10 +139,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>92</id> + <id>93</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>94</id> + <id>95</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -194,7 +152,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>93</id> + <id>94</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -205,10 +163,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>95</id> + <id>96</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>97</id> + <id>98</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -218,7 +176,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>96</id> + <id>97</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -245,7 +203,7 @@ <id>54</id> <title> <key>ru</key> - <value>Назначить исполнителей</value> + <value>Назначить исполнителей на роль</value> true true @@ -270,6 +228,32 @@ UserCmds Auto + + СписокКонтекстноеМенюСведенияОРоли + 88 + true + true + + true + + + СписокКонтекстноеМенюСведенияОРолиРасширеннаяПодсказка + 89 + Label + true + true + + Left + + + Form.Command.ОткрытьСведенияОРоли + Normal + Auto + true + true + UserCmds + Auto + СписокКонтекстноеМенюГруппа 63 @@ -434,7 +418,6 @@ AutoUse true true - false true Auto Auto @@ -460,7 +443,7 @@ 67 <key>ru</key> - <value>Назначить исполнителей</value> + <value>Назначить исполнителей на роль</value> true true @@ -484,6 +467,7 @@ true UserCmds Auto + InCommandBarAndInAdditionalSubmenu ГруппаПоиск @@ -949,39 +933,16 @@ Auto Auto - - НазначитьИсполнителей - - <key>ru</key> - <value>Назначить исполнителей</value> - - 3 - - ru - Назначить исполнителей - - - true - - F2 - - - НазначитьИсполнителей - - - Auto - Auto - СписокРолей <key>ru</key> - <value>Список ролей</value> + <value>Роли исполнителей</value> 4 ru - Список ролей исполнителей + Открыть список ролей исполнителей true @@ -994,6 +955,28 @@ Auto Auto + + ОткрытьСведенияОРоли + + <key>ru</key> + <value>Открыть сведения о роли</value> + + 5 + + ru + Открыть сведения о роли + + + true + + + + ОткрытьСведенияОРоли + + + Auto + Auto + ОсновнойОбъектАдресации diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Help/ru.html b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Help/ru.html index 639c6df4c..07d154c9d 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Help/ru.html +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Help/ru.html @@ -1,6 +1,17 @@ - -

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

                                        -

                                        Роли, на которые не назначено ни одного исполнителя, отмечены значком "внимание". Такая ситуация может приводить к возникновению зависших задач (т.е. задач, у которых не существует реального исполнителя). Для контроля зависших задач предназначен Отчет по зависшим задачам, для получения уведомлений по зависшим задачам - предопределенная роль "Координатор выполнения задач".

                                        -

                                        См. также:

                                        - \ No newline at end of file + +

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

                                        +

                                        Перед началом работы с бизнес-процессами и задачами рекомендуется заполнить список.

                                        +

                                        Для того чтобы назначить исполнителей ролей, которые участвуют в бизнес-процессах без объектов адресации, выполните команду Роли и исполнители задач в разделе Администрирование - Органайзер.

                                        +

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

                                        +

                                        В списке выводится:

                                        +
                                        • Роль - наименование роли. Роли, на которые не назначено ни одного исполнителя, отмечены значком Внимание. Такая ситуация может приводить к возникновению зависших задач (т.е. задач, у которых не существует реального исполнителя). Для контроля зависших задач предназначен Отчет по зависшим задачам, для получения уведомлений по зависшим задачам - предопределенная роль Координатор выполнения задач. +
                                        • Исполнители - имя пользователя (если на роль назначен 1 исполнитель) или количество человек, назначенных на эту роль.

                                        Назначение исполнителей на роль

                                        +
                                        • Выделите роль, нажмите Назначить исполнителей на роль, подберите исполнителей из списка пользователей. +
                                        • Также можно воспользоваться двойным щелчком мыши.

                                        Предопределенные роли

                                        +

                                        В составе программы поставляются следующие роли:

                                        +

                                        + + +
                                        РольКраткое описание
                                        Координатор выполнения задачПредопределенная роль, используется для получения уведомлений о просроченных и зависших задачах. Сотрудники, назначенные на роль, получают уведомление по всем таким задачам, адресованным любым исполнителям.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Module.bsl b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Module.bsl index a3b5da9fa..ae077cc9b 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Module.bsl +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъекту/Module.bsl @@ -8,12 +8,7 @@ Возврат; КонецЕсли; - Если Параметры.ОсновнойОбъектАдресации <> Неопределено Тогда - ОсновнойОбъектАдресации = Параметры.ОсновнойОбъектАдресации; - Иначе - Элементы.ОсновнойОбъектАдресации.Видимость = Ложь; - КонецЕсли; - + ОсновнойОбъектАдресации = Параметры.ОсновнойОбъектАдресации; ОбновитьДанныеЭлементов(); БизнесПроцессыИЗадачиСервер.ПриОпределенииИспользованияВнешнихЗадачИБизнесПроцессов(ИспользоватьВнешниеЗадачиИБизнесПроцессы); @@ -28,15 +23,6 @@ #КонецОбласти -#Область ОбработчикиСобытийЭлементовШапкиФормы - -&НаКлиенте -Процедура ПолеОсновнойОбъектАдресацииПриИзменении(Элемент) - ОбновитьДанныеЭлементов(); -КонецПроцедуры - -#КонецОбласти - #Область ОбработчикиСобытийЭлементовТаблицыФормыСписок &НаКлиенте @@ -97,6 +83,17 @@ ОткрытьФорму("Справочник.РолиИсполнителей.ФормаСписка",,ЭтотОбъект); КонецПроцедуры +&НаКлиенте +Процедура ОткрытьСведенияОРоли(Команда) + + Если Элементы.Список.ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + ПоказатьЗначение(, Элементы.Список.ТекущиеДанные.РольСсылка); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -104,9 +101,6 @@ &НаСервере Процедура ОбновитьДанныеЭлементов() - Если ОсновнойОбъектАдресации <> Неопределено И ОсновнойОбъектАдресации <> "" Тогда - Элементы.ОсновнойОбъектАдресации.Заголовок = ОсновнойОбъектАдресации.Метаданные().ПредставлениеОбъекта; - КонецЕсли; ВыборкаЗапроса = БизнесПроцессыИЗадачиСервер.ВыбратьРолиСКоличествомИсполнителей(ОсновнойОбъектАдресации); СписокОбъект = РеквизитФормыВЗначение("Список"); СписокОбъект.Очистить(); diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Form.form b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Form.form index 23d4f3c8c..1f8d3afbd 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Form.form +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Form.form @@ -116,6 +116,13 @@ true Left true + + НаборЗаписей.RowsCount + + + ru + Всего исполнителей назначено: + true true @@ -278,6 +285,7 @@ MultiRow
                                        true
                                        1 +
                                        true
                                        1 AutoUse AutoUse diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Help/ru.html b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Help/ru.html index b1c1412c8..f65bf5617 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Help/ru.html +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Help/ru.html @@ -1,6 +1,9 @@ - -

                                        В этом списке содержится актуальная (текущая) информация о назначении пользователей на роль исполнителей по указанному объекту адресации задач.

                                        -

                                        Роли, на которые не назначено ни одного исполнителя, отмечены значком "внимание". Такая ситуация может приводить к возникновению зависших задач (т.е. задач, у которых не существует реального исполнителя). Для контроля зависших задач предназначен Отчет по зависшим задачам, для получения уведомлений по зависшим задачам - предопределенная роль "Координатор выполнения задач".

                                        -

                                        См. также:

                                        - \ No newline at end of file + +

                                        Предназначен для назначения пользователей на роль исполнителя.

                                        +

                                        Открывается по команде Назначить исполнителей на роль из списка Роли и исполнители задач.

                                        +

                                        В нижней части списка ведется подсчет назначенных исполнителей.

                                        +

                                        Добавление исполнителя

                                        +
                                        • Для выбора одного исполнителя нажмите Добавить, выберите пользователя из списка.

                                        Подбор исполнителей

                                        +
                                        • Для подбора одного или нескольких исполнителей нажмите Подобрать, выберите нужных пользователей из списка.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Module.bsl b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Module.bsl index 66cc070e6..93d41eb9d 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Module.bsl +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/АдресацияПоОбъектуИРоли/Module.bsl @@ -66,6 +66,11 @@ Процедура СписокОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Для каждого Значение Из ВыбранноеЗначение Цикл + + Если НаборЗаписей.НайтиСтроки(Новый Структура("Исполнитель", Значение)).Количество() > 0 Тогда + Продолжить; + КонецЕсли; + Исполнитель = НаборЗаписей.Добавить(); Исполнитель.Исполнитель = Значение; Если Роль <> Неопределено Тогда @@ -74,8 +79,8 @@ Если ОсновнойОбъектАдресации <> Неопределено Тогда Исполнитель.ОсновнойОбъектАдресации = ОсновнойОбъектАдресации; КонецЕсли; + Модифицированность = Истина; КонецЦикла; - Модифицированность = Истина; КонецПроцедуры diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Form.form b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Form.form index 507e2e1b6..349bbd393 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Form.form +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Form.form @@ -232,9 +232,6 @@ true true true - - Исполнители.DefaultPicture - None None None diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Help/ru.html b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Help/ru.html index b1c1412c8..68b843877 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Help/ru.html +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Help/ru.html @@ -1,6 +1,8 @@ - -

                                        В этом списке содержится актуальная (текущая) информация о назначении пользователей на роль исполнителей по указанному объекту адресации задач.

                                        -

                                        Роли, на которые не назначено ни одного исполнителя, отмечены значком "внимание". Такая ситуация может приводить к возникновению зависших задач (т.е. задач, у которых не существует реального исполнителя). Для контроля зависших задач предназначен Отчет по зависшим задачам, для получения уведомлений по зависшим задачам - предопределенная роль "Координатор выполнения задач".

                                        -

                                        См. также:

                                        - \ No newline at end of file + +

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

                                        +

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

                                        +

                                        Ввод исполнителя роли

                                        +

                                        Нажмите Создать, заполните необходимые поля.

                                        +

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Module.bsl b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Module.bsl index 1daf6a05d..9c1182dbe 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Module.bsl +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ИсполнителиРоли/Module.bsl @@ -21,7 +21,6 @@ ПолеГруппировки.Использование = Истина; КонецЕсли; КонецЕсли; - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Form.form b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Form.form index 6fcf09844..f31c66b81 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Form.form +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Form.form @@ -88,20 +88,159 @@ Normal
                                        - - ОсновнойОбъектАдресации - 12 + + ГруппаУточнение + 20 + + Декорация1 + 24 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 26 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 25 + true + + Label + true + true + + Left + + + + Группа1 + 22 + + ОсновнойОбъектАдресации + 12 + true + true + + true + + + Запись.ОсновнойОбъектАдресации + + + ОсновнойОбъектАдресацииExtendedTooltip + 18 + Label + true + true + + Left + + + + ОсновнойОбъектАдресацииКонтекстноеМеню + 13 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ДополнительныйОбъектАдресации + 14 + true + true + + true + + + Запись.ДополнительныйОбъектАдресации + + + ДополнительныйОбъектАдресацииExtendedTooltip + 19 + Label + true + true + + Left + + + + ДополнительныйОбъектАдресацииКонтекстноеМеню + 15 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + Группа1РасширеннаяПодсказка + 23 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + true true true - - Запись.ОсновнойОбъектАдресации - + + <key>ru</key> + <value>Уточнение роли</value> + - ОсновнойОбъектАдресацииExtendedTooltip - 18 + ГруппаУточнениеРасширеннаяПодсказка + 21 Label true true @@ -109,63 +248,13 @@ Left - - ОсновнойОбъектАдресацииКонтекстноеМеню - 13 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДополнительныйОбъектАдресации - 14 - true - true - - true - - - Запись.ДополнительныйОбъектАдресации - - - ДополнительныйОбъектАдресацииExtendedTooltip - 19 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 15 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal + UsualGroup + + Auto + true + true + Auto + Auto diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Help/ru.html b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Help/ru.html new file mode 100644 index 000000000..460ab62b3 --- /dev/null +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаЗаписи/Help/ru.html @@ -0,0 +1,8 @@ + +

                                        Сведения об исполнителе задач при ролевой адресации.

                                        +

                                        Открывается по команде Создать из списка Исполнители роли.

                                        +

                                        Ввод исполнителя роли

                                        +

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаСписка/Form.form index 032a8df03..08edbb040 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Forms/ФормаСписка/Form.form @@ -1,5 +1,65 @@ + + ГруппаПользовательскихНастроек + 17 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаКоманднаяПанель + 19 + true + true + + true + + + <key>ru</key> + <value>Группа командная панель</value> + + + ГруппаКоманднаяПанельРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -199,10 +259,10 @@
                                        СписокСтрокаПоиска - 17 + 21 СписокСтрокаПоискаРасширеннаяПодсказка - 19 + 23 Label true true @@ -212,7 +272,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 18 + 22 true Список @@ -222,10 +282,10 @@ СписокСостояниеПросмотра - 20 + 24 СписокСостояниеПросмотраРасширеннаяПодсказка - 22 + 26 Label true true @@ -235,7 +295,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 21 + 25 true ViewStatusAddition @@ -246,10 +306,10 @@ СписокУправлениеПоиском - 23 + 27 СписокУправлениеПоискомРасширеннаяПодсказка - 25 + 29 Label true true @@ -259,7 +319,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 24 + 28 true SearchControlAddition @@ -317,8 +377,11 @@ true true + ГруппаПользовательскихНастроек
                                        + None + false ФормаКоманднаяПанель -1 diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/Help/ru.html b/SSL/src/InformationRegisters/ИсполнителиЗадач/Help/ru.html index 177bec8cf..797f1194f 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/Help/ru.html +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/Help/ru.html @@ -1,34 +1,35 @@ - -

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

                                        + +

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

                                        +

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

                                        Примеры заполнения списка ролевой адресации:

                                        - + - + - + -
                                        Роль исполнителя ПользовательПояснение
                                        Старший по залуПояснение
                                        Старший по залу Иванов И.Задачи, назначенные на роль "Старший по залу", попадут в список задач Иванова И.
                                        Старший по залуЗадачи, назначенные на роль Старший по залу, попадут в список задач Иванова И.
                                        Старший по залу Федоров К.Задачи, назначенные на роль "Старший по залу", попадут в список задач Федорова К.
                                        РуководительЗадачи, назначенные на роль Старший по залу, попадут в список задач Федорова К.
                                        Руководитель Петров А.Поручения выданные руководителю попадут в список поручений Петрова А.

                                         

                                        -

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

                                        +Поручения, выданные роли Руководителя, попадут в список поручений Петрова А.

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

                                        - + - + - + -
                                        Роль исполнителя Основной объект адресации
                                        (тип, значение)
                                        Дополнительный объект адресации
                                        (тип, значение)
                                        ПользовательПояснение
                                        Руководитель подразделенияПояснение
                                        Руководитель подразделения Структурное подразделение,
                                        Отдел бухгалтерии
                                        - Федоров К.Задачи, выданные роли "Руководитель подразделения" подразделения "Отдел бухгалтерии", попадут в список задач Федорова К.
                                        Руководитель проектаЗадачи, выданные роли Руководитель подразделения структурного подразделения Отдел бухгалтерии, попадут в список задач Федорова К.
                                        Руководитель проекта Проект,
                                        Проект по внедрению системы бухучета
                                        Структурное подразделение,
                                        Отдел бухгалтерии
                                        Иванов И.Задачи, выданные роли "Руководитель проекта" по проекту "Проект по внедрению системы бухучета" подразделения "Отдел бухгалтерии", попадут в список задач Иванова И.
                                        Руководитель компанииЗадачи, выданные роли Руководитель проекта по проекту "Проект по внедрению системы бухучета" подразделения "Отдел бухгалтерии", попадут в список задач Иванова И.
                                        Руководитель компании - - Петров А.Задачи, выданные руководителю компании, попадут в список задач Петрова А.

                                         

                                        -

                                        См. также:

                                        - \ No newline at end of file +Задачи, выданные роли Руководитель компании, попадут в список задач Петрова А.

                                        Таким образом, с помощью объектов адресации происходит уточнение, руководителям какого проекта и в каком подразделении адресуется задача. Соответствие исполнителей ролям и объектам адресации задается перед началом работы с бизнес-процессами и задачами, используется программой для доставки поручений конкретным исполнителям.

                                        +

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/RecordSetModule.bsl b/SSL/src/InformationRegisters/ИсполнителиЗадач/RecordSetModule.bsl index 5c42469ae..5adc51da2 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/RecordSetModule.bsl +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/RecordSetModule.bsl @@ -107,7 +107,7 @@ | Итог.ГруппаИсполнителейЗадач <> ЗНАЧЕНИЕ(Справочник.ГруппыИсполнителейЗадач.ПустаяСсылка)"; УсловияОтбора = "Истина"; - Для каждого ЭлементОтбора ИЗ Отбор Цикл + Для каждого ЭлементОтбора Из Отбор Цикл Если ЭлементОтбора.Использование Тогда УсловияОтбора = УсловияОтбора + " |И ИсполнителиЗадач." + ЭлементОтбора.Имя + " = &" + ЭлементОтбора.Имя; diff --git a/SSL/src/InformationRegisters/ИсполнителиЗадач/ИсполнителиЗадач.mdo b/SSL/src/InformationRegisters/ИсполнителиЗадач/ИсполнителиЗадач.mdo index abd702f56..958f7f97b 100644 --- a/SSL/src/InformationRegisters/ИсполнителиЗадач/ИсполнителиЗадач.mdo +++ b/SSL/src/InformationRegisters/ИсполнителиЗадач/ИсполнителиЗадач.mdo @@ -184,7 +184,7 @@ АдресацияПоОбъекту ru - Роли и исполнители бизнес-процессов + Роли и исполнители задач @@ -228,6 +228,11 @@ ru Форма записи + + + ru + + PersonalComputer MobileDevice @@ -244,13 +249,13 @@ НастройкаРолевойАдресации ru - Роли и исполнители бизнес-процессов + Роли и исполнители задач NavigationPanelOrdinary Auto ru - Назначить исполнителей на роли бизнес-процессов + Назначить исполнителей на роли diff --git a/SSL/src/InformationRegisters/КалендарныеГрафики/Help/ru.html b/SSL/src/InformationRegisters/КалендарныеГрафики/Help/ru.html index 7cae9b628..caf7e8612 100644 --- a/SSL/src/InformationRegisters/КалендарныеГрафики/Help/ru.html +++ b/SSL/src/InformationRegisters/КалендарныеГрафики/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                        \ No newline at end of file diff --git a/SSL/src/InformationRegisters/КонтактыВзаимодействий/ManagerModule.bsl b/SSL/src/InformationRegisters/КонтактыВзаимодействий/ManagerModule.bsl index 821816712..cf3218451 100644 --- a/SSL/src/InformationRegisters/КонтактыВзаимодействий/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/КонтактыВзаимодействий/ManagerModule.bsl @@ -9,7 +9,6 @@ // Папка - Ссылка на документ взаимодействия, Неопределено - взаимодействие, запись о котором удаляется. // Если указано значение Неопределено, то регистр будет очищен полностью. // - Процедура УдалитьНаборЗаписейПоВзаимодействию(Взаимодействие = Неопределено) Экспорт УстановитьПривилегированныйРежим(Истина); diff --git a/SSL/src/InformationRegisters/КурсыВалют/Help/ru.html b/SSL/src/InformationRegisters/КурсыВалют/Help/ru.html index 12c4b26ab..02005c45a 100644 --- a/SSL/src/InformationRegisters/КурсыВалют/Help/ru.html +++ b/SSL/src/InformationRegisters/КурсыВалют/Help/ru.html @@ -1,4 +1,4 @@ - +

                                        Предназначен для хранения и просмотра курсов валют.

                                        Курсы валют можно загружать с сайта РБК, автоматически (с помощью регламентного задания) или вручную (см. загрузка курсов валют).

                                        Если нет возможности загружать курсы с сайта РБК, их можно ввести вручную.

                                        diff --git a/SSL/src/InformationRegisters/КурсыВалют/RecordSetModule.bsl b/SSL/src/InformationRegisters/КурсыВалют/RecordSetModule.bsl index 3fc239018..4e16285f3 100644 --- a/SSL/src/InformationRegisters/КурсыВалют/RecordSetModule.bsl +++ b/SSL/src/InformationRegisters/КурсыВалют/RecordSetModule.bsl @@ -1,5 +1,7 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +Перем ОшибкаРасчетаКурсаПоФормуле; + #Область ОбработчикиСобытий // При записи контролируются курсы подчиненных валют @@ -10,16 +12,16 @@ Возврат; КонецЕсли; - Если НЕ ДополнительныеСвойства.Свойство("ОтключитьКонтрольПодчиненныхВалют") Тогда - - ДополнительныеСвойства.Вставить("ЗависимыеВалюты", Новый Соответствие); - - Если Количество() > 0 Тогда - ЗагрузитьКурсыПодчиненныхВалют(); - Иначе - УдалитьКурсыПодчиненныхВалют(); - КонецЕсли; + Если ДополнительныеСвойства.Свойство("ОтключитьКонтрольПодчиненныхВалют") Тогда + Возврат; + КонецЕсли; + ДополнительныеСвойства.Вставить("ЗависимыеВалюты", Новый Соответствие); + + Если Количество() > 0 Тогда + ОбновитьКурсыПодчиненныхВалют(); + Иначе + УдалитьКурсыПодчиненныхВалют(); КонецЕсли; КонецПроцедуры @@ -30,32 +32,67 @@ // Находит все зависимые валюты и изменяет их курс // -Процедура ЗагрузитьКурсыПодчиненныхВалют() +Процедура ОбновитьКурсыПодчиненныхВалют() - Для Каждого ЗаписьВалютыВладельца Из ЭтотОбъект Цикл - - ЗависимыеВалюты = РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(ЗаписьВалютыВладельца.Валюта, ДополнительныеСвойства); - Для Каждого СтрокаТаблицы Из ЗависимыеВалюты Цикл - - НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Валюта.Установить(СтрокаТаблицы.Ссылка, Истина); - НаборЗаписей.Отбор.Период.Установить(ЗаписьВалютыВладельца.Период, Истина); - - ЗаписьКурсовВалют = НаборЗаписей.Добавить(); - ЗаписьКурсовВалют.Валюта = СтрокаТаблицы.Ссылка; - ЗаписьКурсовВалют.Период = ЗаписьВалютыВладельца.Период; - ЗаписьКурсовВалют.Курс = ЗаписьВалютыВладельца.Курс + ЗаписьВалютыВладельца.Курс * СтрокаТаблицы.Наценка / 100; - ЗаписьКурсовВалют.Кратность = ЗаписьВалютыВладельца.Кратность; - - НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); - НаборЗаписей.Записать(); - - КонецЦикла; + ЗависимаяВалюта = Неопределено; + ДополнительныеСвойства.Свойство("ОбновитьКурсЗависимойВалюты", ЗависимаяВалюта); + Если ЗависимаяВалюта <> Неопределено Тогда + ЗависимаяВалюта = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЗависимаяВалюта, + "Ссылка,Наценка,СпособУстановкиКурса,ФормулаРасчетаКурса"); + КонецЕсли; + + Для Каждого ЗаписьОсновнойВалюты Из ЭтотОбъект Цикл + + Если ЗависимаяВалюта <> Неопределено Тогда // нужно обновить курс только указанной валюты + ОбновленныеПериоды = Неопределено; + Если Не ДополнительныеСвойства.Свойство("ОбновленныеПериоды", ОбновленныеПериоды) Тогда + ОбновленныеПериоды = Новый Соответствие; + ДополнительныеСвойства.Вставить("ОбновленныеПериоды", ОбновленныеПериоды); + КонецЕсли; + // повторно не обновляем курс за один и тот же период + Если ОбновленныеПериоды[ЗаписьОсновнойВалюты.Период] = Неопределено Тогда + ОбновитьКурсЗависимойВалюты(ЗависимаяВалюта, ЗаписьОсновнойВалюты); + ОбновленныеПериоды.Вставить(ЗаписьОсновнойВалюты.Период, Истина); + КонецЕсли; + Иначе // обновить курс всех зависимых валют + ЗависимыеВалюты = РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(ЗаписьОсновнойВалюты.Валюта, ДополнительныеСвойства); + Для Каждого ЗависимаяВалюта Из ЗависимыеВалюты Цикл + ОбновитьКурсЗависимойВалюты(ЗависимаяВалюта, ЗаписьОсновнойВалюты); + КонецЦикла; + КонецЕсли; КонецЦикла; КонецПроцедуры +Процедура ОбновитьКурсЗависимойВалюты(ЗависимаяВалюта, ЗаписьОсновнойВалюты) + + НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Валюта.Установить(ЗависимаяВалюта.Ссылка, Истина); + НаборЗаписей.Отбор.Период.Установить(ЗаписьОсновнойВалюты.Период, Истина); + + ЗаписьКурсовВалют = НаборЗаписей.Добавить(); + ЗаписьКурсовВалют.Валюта = ЗависимаяВалюта.Ссылка; + ЗаписьКурсовВалют.Период = ЗаписьОсновнойВалюты.Период; + Если ЗависимаяВалюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты Тогда + ЗаписьКурсовВалют.Курс = ЗаписьОсновнойВалюты.Курс + ЗаписьОсновнойВалюты.Курс * ЗависимаяВалюта.Наценка / 100; + ЗаписьКурсовВалют.Кратность = ЗаписьОсновнойВалюты.Кратность; + Иначе // по формуле + Курс = КурсВалютыПоФормуле(ЗависимаяВалюта.Ссылка, ЗависимаяВалюта.ФормулаРасчетаКурса, ЗаписьОсновнойВалюты.Период); + Если Курс <> Неопределено Тогда + ЗаписьКурсовВалют.Курс = Курс; + ЗаписьКурсовВалют.Кратность = 1; + КонецЕсли; + КонецЕсли; + + НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); + + Если ЗаписьКурсовВалют.Курс > 0 Тогда + НаборЗаписей.Записать(); + КонецЕсли; + +КонецПроцедуры + // Очищает курсы зависимых валют // Процедура УдалитьКурсыПодчиненныхВалют() @@ -63,17 +100,73 @@ ВалютаВладелец = Отбор.Валюта.Значение; Период = Отбор.Период; - ЗависимыеВалюты = РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(ВалютаВладелец, ДополнительныеСвойства); - Для Каждого СтрокаТаблицы Из ЗависимыеВалюты Цикл - НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Валюта.Установить(СтрокаТаблицы.Ссылка, Истина); - НаборЗаписей.Отбор.Период.Установить(Период, Истина); - НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); - НаборЗаписей.Записать(); - КонецЦикла; + ЗависимаяВалюта = Неопределено; + Если ДополнительныеСвойства.Свойство("ОбновитьКурсЗависимойВалюты", ЗависимаяВалюта) Тогда + УдалитьКурсыВалюты(ЗависимаяВалюта, Период); + Иначе + ЗависимыеВалюты = РаботаСКурсамиВалют.ПолучитьСписокЗависимыхВалют(ВалютаВладелец, ДополнительныеСвойства); + Для Каждого ЗависимаяВалюта Из ЗависимыеВалюты Цикл + УдалитьКурсыВалюты(ЗависимаяВалюта.Ссылка, Период); + КонецЦикла; + КонецЕсли; КонецПроцедуры +Процедура УдалитьКурсыВалюты(ВалютаСсылка, Период) + НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Валюта.Установить(ВалютаСсылка); + НаборЗаписей.Отбор.Период.Установить(Период); + НаборЗаписей.ДополнительныеСвойства.Вставить("ОтключитьКонтрольПодчиненныхВалют", Истина); + НаборЗаписей.Записать(); +КонецПроцедуры + +Функция КурсВалютыПоФормуле(Валюта, Формула, Период) + ТекстЗапроса = + "ВЫБРАТЬ + | Валюты.Наименование КАК СимвольныйКод, + | КурсыВалютСрезПоследних.Курс / КурсыВалютСрезПоследних.Кратность КАК Курс + |ИЗ + | Справочник.Валюты КАК Валюты + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Период, ) КАК КурсыВалютСрезПоследних + | ПО КурсыВалютСрезПоследних.Валюта = Валюты.Ссылка + |ГДЕ + | Валюты.СпособУстановкиКурса <> ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.НаценкаНаКурсДругойВалюты) + | И Валюты.СпособУстановкиКурса <> ЗНАЧЕНИЕ(Перечисление.СпособыУстановкиКурсаВалюты.РасчетПоФормуле)"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Период", Период); + Выражение = СтрЗаменить(Формула, ",", "."); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Выражение = СтрЗаменить(Выражение, Выборка.СимвольныйКод, Формат(Выборка.Курс, "ЧРД=.; ЧГ=0")); + КонецЦикла; + + Попытка + Результат = РаботаВБезопасномРежиме.ВычислитьВБезопасномРежиме(Выражение); + Исключение + Если ОшибкаРасчетаКурсаПоФормуле = Неопределено Тогда + ОшибкаРасчетаКурсаПоФормуле = Новый Соответствие; + КонецЕсли; + Если ОшибкаРасчетаКурсаПоФормуле[Валюта] = Неопределено Тогда + ОшибкаРасчетаКурсаПоФормуле.Вставить(Валюта, Истина); + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Расчет курса валюты ""%1"" по формуле ""%2"" не выполнен:'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), Валюта, Формула); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке), Валюта, "Объект.ФормулаРасчетаКурса"); + Если ДополнительныеСвойства.Свойство("ОбновитьКурсЗависимойВалюты") Тогда + ВызватьИсключение ТекстОшибки + Символы.ПС + КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Иначе + ЗаписьЖурналаРегистрации(НСтр("ru = 'Валюты.Загрузка курсов валют'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()), + УровеньЖурналаРегистрации.Ошибка, Валюта.Метаданные(), Валюта, + ТекстОшибки + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + КонецЕсли; + КонецЕсли; + Результат = Неопределено; + КонецПопытки; + + Возврат Результат; +КонецФункции + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/InformationRegisters/КурсыВалют/КурсыВалют.mdo b/SSL/src/InformationRegisters/КурсыВалют/КурсыВалют.mdo index a2db7563b..78b0a3c61 100644 --- a/SSL/src/InformationRegisters/КурсыВалют/КурсыВалют.mdo +++ b/SSL/src/InformationRegisters/КурсыВалют/КурсыВалют.mdo @@ -63,6 +63,7 @@ Day true + true ru diff --git a/SSL/src/InformationRegisters/КэшПрограммныхИнтерфейсов/RecordSetModule.bsl b/SSL/src/InformationRegisters/КэшПрограммныхИнтерфейсов/RecordSetModule.bsl index 4124c7df9..54e23f8ee 100644 --- a/SSL/src/InformationRegisters/КэшПрограммныхИнтерфейсов/RecordSetModule.bsl +++ b/SSL/src/InformationRegisters/КэшПрограммныхИнтерфейсов/RecordSetModule.bsl @@ -1,7 +1,28 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда Перем ТребуетсяКонтроль; -Перем ТаблицаКонтроля; +Перем ДанныеДляЗаписи; +Перем ПодготовленыДанные; + +Процедура ПодготовитьДанныеДляЗаписи() Экспорт + + ПараметрыПолучения = Неопределено; + Если Не ДополнительныеСвойства.Свойство("ПараметрыПолучения", ПараметрыПолучения) Тогда + ВызватьИсключение НСтр("ru = 'Не определены параметры получения данных'"); + КонецЕсли; + + ДанныеДляЗаписи = ЭтотОбъект.Выгрузить(); + + Для Каждого Строка Из ДанныеДляЗаписи Цикл + + Данные = ОбщегоНазначения.ПодготовитьДанныеКэшаВерсий(Строка.ТипДанных, ПараметрыПолучения); + Строка.Данные = Новый ХранилищеЗначения(Данные); + + КонецЦикла; + + ПодготовленыДанные = Истина; + +КонецПроцедуры Процедура ПередЗаписью(Отказ, Замещение) @@ -12,29 +33,8 @@ // Данный регистр не должен входить в любые обмены или операции выгрузки / загрузки данных при включенном // разделении по областям данных. - ТребуетсяКонтроль = ОбщегоНазначенияПовтИсп.РазделениеВключено() И ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных(); - - Если ТребуетсяКонтроль Тогда - - ПараметрыПолучения = Неопределено; - Если Не ДополнительныеСвойства.Свойство("ПараметрыПолучения", ПараметрыПолучения) Тогда - - ВызватьИсключение НСтр("ru = 'При записи данных в регистр сведений КэшПрограммныхИнтерфейсов из сеансов - |с включенным разделением требуется передавать параметры получения данных для кэша - |интерфейсов в дополнительном свойстве набора записей ПараметрыПолучения!'"); - - КонецЕсли; - - Для Каждого Запись Из ЭтотОбъект Цикл - - Данные = ОбщегоНазначения.ПодготовитьДанныеКэшаВерсий( - Запись.ТипДанных, ПараметрыПолучения); - Запись.Данные = Новый ХранилищеЗначения(Данные); - - КонецЦикла; - - ТаблицаКонтроля = ЭтотОбъект.Выгрузить(); - + Если ПодготовленыДанные Тогда + ЭтотОбъект.Загрузить(ДанныеДляЗаписи); КонецЕсли; КонецПроцедуры @@ -52,7 +52,7 @@ Для Каждого Запись Из ЭтотОбъект Цикл - КонтрольныеСтроки = ТаблицаКонтроля.НайтиСтроки( + КонтрольныеСтроки = ДанныеДляЗаписи.НайтиСтроки( Новый Структура("Идентификатор, ТипДанных", Запись.Идентификатор, Запись.ТипДанных)); Если КонтрольныеСтроки.Количество() <> 1 Тогда @@ -83,4 +83,8 @@ КонецПроцедуры +ДанныеДляЗаписи = Новый ТаблицаЗначений(); +ТребуетсяКонтроль = ОбщегоНазначенияПовтИсп.РазделениеВключено() И ОбщегоНазначенияПовтИсп.ДоступноИспользованиеРазделенныхДанных(); +ПодготовленыДанные = Ложь; + #КонецЕсли diff --git a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Form.form index 3369d1754..fb7553a0b 100644 --- a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Form.form @@ -1,5 +1,94 @@ + + ГруппаПользовательскихНастроек + 58 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + + + КоманднаяПанель + 60 + + ФормаВключитьВозможностьРедактирования + 36 + true + true + + true + + + ФормаВключитьВозможностьРедактированияExtendedTooltip + 37 + Label + true + true + + Left + + + Form.Command.ВключитьВозможностьРедактирования + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 61 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -16,7 +105,7 @@ None Copy - Объект + СписокОбъект 4 true true @@ -28,7 +117,7 @@ true - ОбъектExtendedTooltip + СписокОбъектРасширеннаяПодсказка 39 Label true @@ -38,7 +127,7 @@ - ОбъектКонтекстноеМеню + СписокОбъектКонтекстноеМеню 5 true @@ -53,7 +142,7 @@ - НомерНабора + СписокНомерНабора 6 true true @@ -64,7 +153,7 @@ Список.НомерНабора - НомерНабораExtendedTooltip + СписокНомерНабораРасширеннаяПодсказка 40 Label true @@ -74,7 +163,7 @@ - НомерНабораКонтекстноеМеню + СписокНомерНабораКонтекстноеМеню 7 true @@ -89,7 +178,7 @@ - ЗначениеДоступа + СписокЗначениеДоступа 10 true true @@ -100,7 +189,7 @@ Список.ЗначениеДоступа - ЗначениеДоступаExtendedTooltip + СписокЗначениеДоступаРасширеннаяПодсказка 42 Label true @@ -110,7 +199,7 @@ - ЗначениеДоступаКонтекстноеМеню + СписокЗначениеДоступаКонтекстноеМеню 11 true @@ -125,7 +214,7 @@ - Уточнение + СписокУточнение 46 true true @@ -136,7 +225,7 @@ Список.Уточнение - УточнениеРасширеннаяПодсказка + СписокУточнениеРасширеннаяПодсказка 48 Label true @@ -146,7 +235,7 @@ - УточнениеКонтекстноеМеню + СписокУточнениеКонтекстноеМеню 47 true @@ -161,7 +250,7 @@ - Чтение + СписокЧтение 12 true true @@ -172,7 +261,7 @@ Список.Чтение - ЧтениеExtendedTooltip + СписокЧтениеРасширеннаяПодсказка 43 Label true @@ -182,7 +271,7 @@ - ЧтениеКонтекстноеМеню + СписокЧтениеКонтекстноеМеню 13 true @@ -194,7 +283,7 @@ - Изменение + СписокИзменение 16 true true @@ -205,7 +294,7 @@ Список.Изменение - ИзменениеExtendedTooltip + СписокИзменениеРасширеннаяПодсказка 45 Label true @@ -215,7 +304,7 @@ - ИзменениеКонтекстноеМеню + СписокИзменениеКонтекстноеМеню 17 true @@ -227,7 +316,7 @@ - СтандартноеЗначение + СписокСтандартноеЗначение 52 true true @@ -238,7 +327,7 @@ Список.СтандартноеЗначение - СтандартноеЗначениеРасширеннаяПодсказка + СписокСтандартноеЗначениеРасширеннаяПодсказка 54 Label true @@ -248,7 +337,7 @@ - СтандартноеЗначениеКонтекстноеМеню + СписокСтандартноеЗначениеКонтекстноеМеню 53 true @@ -260,7 +349,7 @@ - ЗначениеБезГрупп + СписокЗначениеБезГрупп 55 true true @@ -271,7 +360,7 @@ Список.ЗначениеБезГрупп - ЗначениеБезГруппРасширеннаяПодсказка + СписокЗначениеБезГруппРасширеннаяПодсказка 57 Label true @@ -281,7 +370,7 @@ - ЗначениеБезГруппКонтекстноеМеню + СписокЗначениеБезГруппКонтекстноеМеню 56 true @@ -300,10 +389,10 @@
                                        СписокСтрокаПоиска - 58 + 62 СписокСтрокаПоискаРасширеннаяПодсказка - 60 + 64 Label true true @@ -313,7 +402,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 59 + 63 true Список @@ -323,10 +412,10 @@ СписокСостояниеПросмотра - 61 + 65 СписокСостояниеПросмотраРасширеннаяПодсказка - 63 + 67 Label true true @@ -336,7 +425,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 62 + 66 true ViewStatusAddition @@ -347,10 +436,10 @@ СписокУправлениеПоиском - 64 + 68 СписокУправлениеПоискомРасширеннаяПодсказка - 66 + 70 Label true true @@ -360,7 +449,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 65 + 69 true SearchControlAddition @@ -387,6 +476,7 @@ true true true + 8 true true MultiRow @@ -419,40 +509,13 @@ true true + ГруппаПользовательскихНастроек
                                        ФормаКоманднаяПанель -1 - - ФормаВключитьВозможностьРедактирования - 36 - true - true - - true - - - ФормаВключитьВозможностьРедактированияExtendedTooltip - 37 - Label - true - true - - Left - - - Form.Command.ВключитьВозможностьРедактирования - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Module.bsl index a76a8a5ac..3f7597f57 100644 --- a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/Forms/ФормаСписка/Module.bsl @@ -39,7 +39,7 @@ Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Уточнение.Имя); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокУточнение.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.ЭтоПроверкаПраваТаблицы"); diff --git a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/НаборыЗначенийДоступа.mdo b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/НаборыЗначенийДоступа.mdo index 20336b556..26635ee7d 100644 --- a/SSL/src/InformationRegisters/НаборыЗначенийДоступа/НаборыЗначенийДоступа.mdo +++ b/SSL/src/InformationRegisters/НаборыЗначенийДоступа/НаборыЗначенийДоступа.mdo @@ -230,7 +230,7 @@ ru Уточняет значение доступа: - если идентификатор объекта метаданных, тогда уточняет проверку права -(ПустаяСсылка - Чтение, иначе Изменение); +(пустая ссылка - Чтение, иначе Изменение); - если владелец настроек прав, тогда уточняет таблицу для выбора настроек прав. diff --git a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss b/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss deleted file mode 100644 index 61e6fb4bb..000000000 --- a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Attributes/Список/ExtInfo/ListSettings.dcss +++ /dev/null @@ -1,17 +0,0 @@ - - - - Normal - dfcece9d-5077-440b-b6b3-45a5cb4538eb - - - Normal - 88619765-ccb3-46c6-ac52-38e9c992ebd4 - - - Normal - b75fecce-942b-4aed-abc9-e6a02e460fb3 - - Normal - 911b6018-f537-43e8-a417-da56b22f9aec - diff --git a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Module.bsl deleted file mode 100644 index aca6cf8c4..000000000 --- a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/Forms/ФормаСписка/Module.bsl +++ /dev/null @@ -1,17 +0,0 @@ - -#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. - Возврат; - КонецЕсли; - - Если Параметры.РежимОткрытияИзФормы Тогда - Элементы.ОбъектНазначения.Видимость = Ложь; - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти diff --git a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/НазначениеДополнительныхОбработок.mdo b/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/НазначениеДополнительныхОбработок.mdo index d88a94312..019059c6d 100644 --- a/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/НазначениеДополнительныхОбработок.mdo +++ b/SSL/src/InformationRegisters/НазначениеДополнительныхОбработок/НазначениеДополнительныхОбработок.mdo @@ -16,7 +16,6 @@ true InDialog - InformationRegister.НазначениеДополнительныхОбработок.Form.ФормаСписка Use Active @@ -190,15 +189,6 @@
                                        - - ФормаСписка - - ru - Форма списка - - PersonalComputer - MobileDevice - НазначениеДополнительныхОбработок diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Form.form b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Form.form index 1abfaa63b..df0f1f1a3 100644 --- a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Form.form +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Form.form @@ -4,264 +4,25 @@ ru Мои напоминания - - Список - 1 + + ГруппаПользовательскихНастроек + 27 true true true - - Список - - true - None - Copy - - СрокНапоминания - 8 - true - true - - true - - - Список.СрокНапоминания - - true - - СрокНапоминанияExtendedTooltip - 23 - Label - true - true - - Left - - - - СрокНапоминанияКонтекстноеМеню - 9 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Описание - 10 - true - true - - true - - - Список.Описание - - true - - ОписаниеExtendedTooltip - 24 - Label - true - true - - Left - - - - ОписаниеКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ВремяСобытия - 4 - true - true - - true - - - Список.ВремяСобытия - - true - - ВремяСобытияExtendedTooltip - 25 - Label - true - true - - Left - - - - ВремяСобытияКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Источник - 6 - - <key>ru</key> - <value>Источник</value> - - true - true - - true - - - Список.ПредставлениеИсточника - - true - - ИсточникExtendedTooltip - 26 - Label - true - true - - Left - - - - ИсточникКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - BeforeDeleteRow - СписокПередУдалением - - - OnActivateRow - СписокПриАктивизацииСтроки - - - BeforeRowChange - СписокПередНачаломИзменения - - - СписокСтрокаПоиска - 27 - - СписокСтрокаПоискаРасширеннаяПодсказка - 29 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 28 - true - - Список - - true - - - - СписокСостояниеПросмотра - 30 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 32 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 31 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 33 - - СписокУправлениеПоискомРасширеннаяПодсказка - 35 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 34 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + - СписокExtendedTooltip - 22 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 28 Label true true @@ -269,51 +30,19 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                        true
                                        - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + true + true + Auto + Auto
                                        - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 29 КнопкаСоздать 12 @@ -452,13 +181,355 @@ UserCmds Auto + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + CommandBar + + Left + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + + СрокНапоминания + 8 + true + true + + true + + + Список.СрокНапоминания + + true + + СрокНапоминанияExtendedTooltip + 23 + Label + true + true + + Left + + + + СрокНапоминанияКонтекстноеМеню + 9 + true + + LabelField + Enter + true + Left + true + + 8 + true + true + + + + Описание + 10 + true + true + + true + + + Список.Описание + + true + + ОписаниеExtendedTooltip + 24 + Label + true + true + + Left + + + + ОписаниеКонтекстноеМеню + 11 + true + + LabelField + Enter + true + true + Left + true + + 30 + true + true + + + + ВремяСобытия + 4 + true + true + + true + + + Список.ВремяСобытия + + true + + ВремяСобытияExtendedTooltip + 25 + Label + true + true + + Left + + + + ВремяСобытияКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + Источник + 6 + + <key>ru</key> + <value>Источник</value> + + true + true + + true + + + Список.ПредставлениеИсточника + + true + + ИсточникExtendedTooltip + 26 + Label + true + true + + Left + + + + ИсточникКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + 20 + true + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + BeforeDeleteRow + СписокПередУдалением + + + OnActivateRow + СписокПриАктивизацииСтроки + + + BeforeRowChange + СписокПередНачаломИзменения + + + СписокСтрокаПоиска + 31 + + СписокСтрокаПоискаРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 32 + true + + Список + + true + + + + СписокСостояниеПросмотра + 34 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 35 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 37 + + СписокУправлениеПоискомРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 38 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 22 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + true + true + MultiRow +
                                        true
                                        + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                        + + ФормаКоманднаяПанель + -1 Left OnCreateAtServer ПриСозданииНаСервере - Change Copy Create Delete @@ -540,7 +611,7 @@ Создать - TextPicture + Text Auto Auto @@ -566,6 +637,7 @@ Изменить + Text Auto Auto diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Help/ru.html b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Help/ru.html new file mode 100644 index 000000000..618006bb7 --- /dev/null +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/МоиНапоминания/Help/ru.html @@ -0,0 +1,17 @@ + +

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

                                        +

                                        В списке выводится:

                                        +
                                        • Срок напоминания - время срабатывания напоминания; +
                                        • Описание - текст напоминания; +
                                        • Время события - время, на которое было назначено напоминание в момент его создания, или время в предмете напоминания, если Срок напоминания относительный; +
                                        • Источник - объект программы, с которым это напоминание связано.

                                        Ввод напоминания

                                        +
                                        • Можно ввести напоминание по поводу какого-либо персонального события или дела, не связанного ни с каким конкретным объектом программы. +
                                        • Нажмите Создать, заполните необходимые поля. +
                                        • В колонке Источник у таких напоминаний в списке указано Не задан.

                                        Просмотр напоминания

                                        +
                                        • +
                                          Для того чтобы просмотреть или отредактировать напоминание, выделите нужную строку в списке, нажмите Изменить.

                                        Отмена напоминания

                                        +
                                        • +
                                          Выделите нужную строку в списке, нажмите Прекратить.
                                          +
                                        • +
                                          Программа выводит сообщение для подтверждения. Нажмите Прекратить. Для того чтобы отменить свое действие, нажмите Не прекращать.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Form.form b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Form.form index 477c908fb..f95e6d050 100644 --- a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Form.form +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Form.form @@ -878,6 +878,33 @@ UserCmds Auto
                                        + + ФормаСправка + 128 + true + true + + true + + + ФормаСправкаРасширеннаяПодсказка + 129 + Label + true + true + + Left + + + Form.StandardCommand.Help + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + Left true diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Help/ru.html b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Help/ru.html new file mode 100644 index 000000000..2812454ca --- /dev/null +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/Напоминание/Help/ru.html @@ -0,0 +1,17 @@ + +

                                        В программе можно вводить напоминания, указав время и предмет, по поводу которого в программе в указанное время будет выведен список напоминаний.

                                        +

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

                                        +

                                        Открывается по команде Органайзер - Напомнить из различных объектов программы. При этом можно ввести только одно напоминание для одного объекта.

                                        +

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

                                        +

                                        Ввод напоминания

                                        +
                                        • Откорректируйте или напишите текст напоминания. Если напоминание связано с документом, справочником или другим объектом программы, то в тексте напоминания по умолчанию будет подставлено его наименование. +
                                        • В поле Напомнить выберите один из вариантов: +
                                          • В указанное время - для указания точной даты и времени напоминания. Введите дату вручную или выберите из календаря с помощью кнопки .  +
                                          • Через определенный интервал. Для этого выберите значение из списка для задания интервала, через который напоминание сработает. Также можно с помощью клавиатуры указать произвольное количество часов, например, через 10 часов. +
                                          • Относительно предмета - для указания времени напоминания относительно даты в предмете напоминания, например, относительно срока исполнения в задаче. Это значение поля Напомнить отображается и предлагается программой по умолчанию, когда у предмета существует по меньшей мере одно поле с датой в будущем времени. Выберите из списка, за сколько времени до Срока необходимо вывести напоминание. Если такая дата в предмете меняется, автоматически меняется и срок напоминания. Если дата в предмете по какой-то причине будет сброшена, то срок напоминания будет считаться подошедшим и напоминание будет выведено досрочно. +
                                          • Периодически - для периодических напоминаний, например, можно выбрать из списка значение по понедельникам в 9-00, или ввести другое расписание. Для ввода своего расписания выберите из списка значение по заданному расписанию и произведите необходимые настройки.

                                        Отмена напоминания

                                        +
                                        • +
                                          Для того чтобы отменить напоминание, нажмите Прекратить.
                                          +
                                        • +
                                          Программа выводит сообщение, в котором требует подтверждения. Для подтверждения нажмите Прекратить. Для отмены своего действия нажмите Не прекращать.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Form.form b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Form.form index 9f0f24a42..2562213ff 100644 --- a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Form.form +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Form.form @@ -1017,7 +1017,7 @@ 4 ru - Открыть + Открыть предмет напоминания true diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Help/ru.html b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Help/ru.html new file mode 100644 index 000000000..c94c027bf --- /dev/null +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Forms/ФормаОповещения/Help/ru.html @@ -0,0 +1,8 @@ + +

                                        Предназначен для вывода сработавших напоминаний.

                                        +

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

                                        +

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

                                        +

                                        По команде Отложить все напоминания в списке можно отложить на время, указанное в поле Напомнить через. Для заполнения поля выберите значение из списка, или с помощью клавиатуры, указав произвольное значение времени.

                                        +

                                        Периодическое напоминание после нажатия на кнопку Прекратить продолжает действовать согласно настроенному расписанию. Полность прекратить такое напоминание можно в списке Мои напоминания.

                                        +

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/Help/ru.html b/SSL/src/InformationRegisters/НапоминанияПользователя/Help/ru.html new file mode 100644 index 000000000..809bc7f0e --- /dev/null +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/Help/ru.html @@ -0,0 +1,12 @@ + +

                                        В программе можно вводить напоминания, указав время и предмет, по поводу которого в программе в указанное время будет выведен список напоминаний.

                                        +

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

                                        +

                                        Открывается по команде Органайзер - Напомнить из различных объектов программы. При этом можно ввести только одно напоминание для одного объекта.

                                        +

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

                                        +

                                        Список напоминаний

                                        +

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

                                        +

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

                                        +

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

                                        +

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

                                        +

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НапоминанияПользователя/НапоминанияПользователя.mdo b/SSL/src/InformationRegisters/НапоминанияПользователя/НапоминанияПользователя.mdo index f4f6a3ddc..18262e6be 100644 --- a/SSL/src/InformationRegisters/НапоминанияПользователя/НапоминанияПользователя.mdo +++ b/SSL/src/InformationRegisters/НапоминанияПользователя/НапоминанияПользователя.mdo @@ -49,6 +49,12 @@ + true + + + ru + + Managed ru @@ -287,6 +293,11 @@ ru Напоминание
                                        + + + ru + + PersonalComputer MobileDevice @@ -296,6 +307,11 @@ ru Форма оповещения + + + ru + + PersonalComputer MobileDevice @@ -305,6 +321,11 @@ ru Мои напоминания + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/InformationRegisters/НаследованиеНастроекПравОбъектов/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/НаследованиеНастроекПравОбъектов/Forms/ФормаСписка/Form.form index 0e216bc95..6f662a58b 100644 --- a/SSL/src/InformationRegisters/НаследованиеНастроекПравОбъектов/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/НаследованиеНастроекПравОбъектов/Forms/ФормаСписка/Form.form @@ -1,242 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 27 true true true - - Список - - true - None - - Объект - 4 - true - true - - true - - - Список.Объект - - true - - ОбъектExtendedTooltip - 19 - Label - true - true - - Left - - - - ОбъектКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Родитель - 6 - true - true - - true - - - Список.Родитель - - true - - РодительExtendedTooltip - 20 - Label - true - true - - Left - - - - РодительКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Наследовать - 8 - true - true - - true - - - Список.Наследовать - - true - - НаследоватьExtendedTooltip - 21 - Label - true - true - - Left - - - - НаследоватьКонтекстноеМеню - 9 - true - - CheckBoxField - Enter - true - Left - true - - - - УровеньИспользования - 22 - true - true - - true - - - Список.УровеньИспользования - - - УровеньИспользованияРасширеннаяПодсказка - 24 - Label - true - true - - Left - - - - УровеньИспользованияКонтекстноеМеню - 23 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 27 - - СписокСтрокаПоискаРасширеннаяПодсказка - 29 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 28 - true - - Список - - true - - - - СписокСостояниеПросмотра - 30 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 32 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 31 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 33 - - СписокУправлениеПоискомРасширеннаяПодсказка - 35 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 34 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 18 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 28 Label true true @@ -244,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                        true
                                        - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                        - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 29 ФормаОбновитьДанныеРегистра 25 @@ -343,8 +91,323 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + + СписокОбъект + 4 + true + true + + true + + + Список.Объект + + true + + СписокОбъектРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + + СписокОбъектКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокРодитель + 6 + true + true + + true + + + Список.Родитель + + true + + СписокРодительРасширеннаяПодсказка + 20 + Label + true + true + + Left + + + + СписокРодительКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокНаследовать + 8 + true + true + + true + + + Список.Наследовать + + true + + СписокНаследоватьРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + + СписокНаследоватьКонтекстноеМеню + 9 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокУровеньИспользования + 22 + true + true + + true + + + Список.УровеньИспользования + + + СписокУровеньИспользованияРасширеннаяПодсказка + 24 + Label + true + true + + Left + + + + СписокУровеньИспользованияКонтекстноеМеню + 23 + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 31 + + СписокСтрокаПоискаРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 32 + true + + Список + + true + + + + СписокСостояниеПросмотра + 34 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 36 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 35 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 37 + + СписокУправлениеПоискомРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 38 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 18 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 8 + true + true + MultiRow +
                                        true
                                        + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                        + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/ManagerModule.bsl b/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/ManagerModule.bsl index 445aacab4..f8a980f58 100644 --- a/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/ManagerModule.bsl @@ -1,25 +1,48 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область ОбработчикиСобытий +#Область СлужебныеПроцедурыИФункции -// Применяет настройки панели отчетов для текущего пользователя -// -Процедура СохранитьНастройкиПользователяВРазделе(ИзмененныеНастройки) Экспорт +// Записывает таблицу настроек в данные регистра по указанным измерениям. +Процедура ЗаписатьПакетНастроек(ТаблицаНастроек, Измерения, Ресурсы, УдалятьСтарые) Экспорт - ТекущийПользователь = Пользователи.ТекущийПользователь(); - Для Каждого Настройка Из ИзмененныеНастройки Цикл - - МенеджерЗаписи = СоздатьМенеджерЗаписи(); - ЗаполнитьЗначенияСвойств(МенеджерЗаписи, Настройка, "Вариант, РазделИлиГруппа, Видимость, БыстрыйДоступ"); - МенеджерЗаписи.Пользователь = ТекущийПользователь; - МенеджерЗаписи.Записать(Истина); - + НаборЗаписей = СоздатьНаборЗаписей(); + Для Каждого КлючИЗначение Из Измерения Цикл + НаборЗаписей.Отбор[КлючИЗначение.Ключ].Установить(КлючИЗначение.Значение, Истина); + ТаблицаНастроек.Колонки.Добавить(КлючИЗначение.Ключ); + ТаблицаНастроек.ЗаполнитьЗначения(КлючИЗначение.Значение, КлючИЗначение.Ключ); КонецЦикла; + Для Каждого КлючИЗначение Из Ресурсы Цикл + ТаблицаНастроек.Колонки.Добавить(КлючИЗначение.Ключ); + ТаблицаНастроек.ЗаполнитьЗначения(КлючИЗначение.Значение, КлючИЗначение.Ключ); + КонецЦикла; + Если Не УдалятьСтарые Тогда + НаборЗаписей.Прочитать(); + СтарыеЗаписи = НаборЗаписей.Выгрузить(); + ПоискПоИзмерениям = Новый Структура("Пользователь, Подсистема, Вариант"); + Для Каждого СтараяЗапись Из СтарыеЗаписи Цикл + ЗаполнитьЗначенияСвойств(ПоискПоИзмерениям, СтараяЗапись); + Если ТаблицаНастроек.НайтиСтроки(ПоискПоИзмерениям).Количество() = 0 Тогда + ЗаполнитьЗначенияСвойств(ТаблицаНастроек.Добавить(), СтараяЗапись); + КонецЕсли; + КонецЦикла; + КонецЕсли; + НаборЗаписей.Загрузить(ТаблицаНастроек); + НаборЗаписей.Записать(Истина); КонецПроцедуры -// Очищает настройки текущего пользователя в разделе. -// +// Очищает настройки по варианту отчета. +Процедура СброситьНастройки(ВариантСсылка = Неопределено) Экспорт + + НаборЗаписей = СоздатьНаборЗаписей(); + Если ВариантСсылка <> Неопределено Тогда + НаборЗаписей.Отбор.Вариант.Установить(ВариантСсылка, Истина); + КонецЕсли; + НаборЗаписей.Записать(Истина); + +КонецПроцедуры + +// Очищает настройки указанного (или текущего) пользователя в разделе. Процедура СброситьНастройкиПользователяВРазделе(РазделСсылка, Пользователь = Неопределено) Экспорт Если Пользователь = Неопределено Тогда Пользователь = Пользователи.ТекущийПользователь(); @@ -39,20 +62,9 @@ НаборЗаписей = СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Пользователь.Установить(Пользователь, Истина); Для Каждого ПодсистемаСсылка Из МассивПодсистем Цикл - НаборЗаписей.Отбор.РазделИлиГруппа.Установить(ПодсистемаСсылка, Истина); + НаборЗаписей.Отбор.Подсистема.Установить(ПодсистемаСсылка, Истина); НаборЗаписей.Записать(Истина); - КонецЦикла; - -КонецПроцедуры - -// Очищает настройки по варианту отчета. -// -Процедура СброситьНастройкиВариантаОтчета(ВариантСсылка) Экспорт - - НаборЗаписей = СоздатьНаборЗаписей(); - НаборЗаписей.Отбор.Вариант.Установить(ВариантСсылка, Истина); - НаборЗаписей.Записать(Истина); - + КонецЦикла; КонецПроцедуры #КонецОбласти diff --git a/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/НастройкиВариантовОтчетов.mdo b/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/НастройкиВариантовОтчетов.mdo index efa6b6e28..139f09f13 100644 --- a/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/НастройкиВариантовОтчетов.mdo +++ b/SSL/src/InformationRegisters/НастройкиВариантовОтчетов/НастройкиВариантовОтчетов.mdo @@ -110,10 +110,10 @@ true - РазделИлиГруппа + Подсистема ru - Раздел или группа + Подсистема CatalogRef.ИдентификаторыОбъектовМетаданных diff --git a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Form.form b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Form.form index e035a397c..05f8d1358 100644 --- a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Form.form +++ b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Form.form @@ -193,6 +193,51 @@ Normal
                                        + + СрокХраненияВерсий + 54 + true + true + + true + + + ДеревоОбъектовМетаданных.СрокХраненияВерсий + + + OnChange + СрокХраненияВерсийПриИзменении + + + СрокХраненияВерсийРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + + СрокХраненияВерсийКонтекстноеМеню + 55 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + None ДеревоОбъектовМетаданныхКоманднаяПанель @@ -206,10 +251,10 @@ ДеревоОбъектовМетаданныхСтрокаПоиска - 54 + 121 ДеревоОбъектовМетаданныхСтрокаПоискаРасширеннаяПодсказка - 56 + 123 Label true true @@ -219,7 +264,7 @@ ДеревоОбъектовМетаданныхСтрокаПоискаКонтекстноеМеню - 55 + 122 true ДеревоОбъектовМетаданных @@ -229,10 +274,10 @@ ДеревоОбъектовМетаданныхСостояниеПросмотра - 57 + 124 ДеревоОбъектовМетаданныхСостояниеПросмотраРасширеннаяПодсказка - 59 + 126 Label true true @@ -242,7 +287,7 @@ ДеревоОбъектовМетаданныхСостояниеПросмотраКонтекстноеМеню - 58 + 125 true ViewStatusAddition @@ -253,10 +298,10 @@ ДеревоОбъектовМетаданныхУправлениеПоиском - 60 + 127 ДеревоОбъектовМетаданныхУправлениеПоискомРасширеннаяПодсказка - 62 + 129 Label true true @@ -266,7 +311,7 @@ ДеревоОбъектовМетаданныхУправлениеПоискомКонтекстноеМеню - 61 + 128 true SearchControlAddition @@ -288,102 +333,55 @@ ДеревоОбъектовМетаданныхКонтекстноеМеню 12 - - КМ_УстановитьВариантВерсионированияПриПроведении - 30 - true - true - - true - - false - - КМ_УстановитьВариантВерсионированияПриПроведенииExtendedTooltip - 44 - Label - true - true - - Left - - - Form.Command.УстановитьВариантВерсионированияПриПроведении - Normal - Auto - true - true - UserCmds - Auto - - - КМ_УстановитьВариантВерсионированияВсегда - 29 - true - true - - true - - false - - КМ_УстановитьВариантВерсионированияВсегдаExtendedTooltip - 45 - Label - true - true - - Left - - - Form.Command.УстановитьВариантВерсионированияПриЗаписи - Normal - Auto - true - true - UserCmds - Auto - - - КМ_УстановитьВариантВерсионированияНеВерсионировать - 28 - true - true - - true - - false - - КМ_УстановитьВариантВерсионированияНеВерсионироватьExtendedTooltip - 46 - Label - true - true - - Left - - - Form.Command.УстановитьВариантВерсионированияНеВерсионировать - Normal - Auto - true - true - UserCmds - Auto - - ДеревоОбъектовМетаданныхКонтекстноеМенюГруппаКнопок - 32 - - КМ_УстановитьНастройкиПоУмолчанию - 31 + ПодменюУстановитьВариантВерсионирования + 111 + + ДеревоОбъектовМетаданныхКонтекстноеМенюГруппаКнопок + 32 + + КМ_УстановитьНастройкиПоУмолчанию + 31 + true + true + + true + + false + + КМ_УстановитьНастройкиПоУмолчаниюExtendedTooltip + 48 + Label + true + true + + Left + + + Form.Command.УстановитьНастройкиПоУмолчанию + Normal + Auto + true + true + UserCmds + Auto + true true true - false + + <key>ru</key> + <value>Дерево объектов метаданных контекстное меню группа кнопок</value> + + + ru + Дерево объектов метаданных контекстное меню группа кнопок + - КМ_УстановитьНастройкиПоУмолчаниюExtendedTooltip - 48 + ДеревоОбъектовМетаданныхКонтекстноеМенюГруппаКнопокExtendedTooltip + 47 Label true true @@ -391,7 +389,82 @@ Left - Form.Command.УстановитьНастройкиПоУмолчанию + + + + КМ_УстановитьВариантВерсионированияНеВерсионировать + 28 + true + true + + true + + false + + КМ_УстановитьВариантВерсионированияНеВерсионироватьExtendedTooltip + 46 + Label + true + true + + Left + + + Form.Command.УстановитьВариантВерсионированияНеВерсионировать + Normal + Auto + true + true + UserCmds + Auto + + + КМ_УстановитьВариантВерсионированияВсегда + 29 + true + true + + true + + false + + КМ_УстановитьВариантВерсионированияВсегдаExtendedTooltip + 45 + Label + true + true + + Left + + + Form.Command.УстановитьВариантВерсионированияПриЗаписи + Normal + Auto + true + true + UserCmds + Auto + + + КМ_УстановитьВариантВерсионированияПриПроведении + 30 + true + true + + true + + false + + КМ_УстановитьВариантВерсионированияПриПроведенииExtendedTooltip + 44 + Label + true + true + + Left + + + Form.Command.УстановитьВариантВерсионированияПриПроведении Normal Auto true @@ -406,15 +479,15 @@ <key>ru</key> - <value>Дерево объектов метаданных контекстное меню группа кнопок</value> + <value>Установить вариант версионирования</value> ru - Дерево объектов метаданных контекстное меню группа кнопок + Подменю установить вариант версионирования - ДеревоОбъектовМетаданныхКонтекстноеМенюГруппаКнопокExtendedTooltip - 47 + ПодменюУстановитьВариантВерсионированияРасширеннаяПодсказка + 112 Label true true @@ -422,7 +495,199 @@ Left - + Popup + + Auto + Normal + + + + ПодменюУстановитьСрокХраненияВерсий + 113 + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнююНеделю + 99 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнююНеделюРасширеннаяПодсказка + 100 + Label + true + true + + Left + + + Form.Command.ЗаПоследнююНеделю + Normal + Auto + true + true + UserCmds + Auto + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнийМесяц + 101 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнийМесяцРасширеннаяПодсказка + 102 + Label + true + true + + Left + + + Form.Command.ЗаПоследнийМесяц + Normal + Auto + true + true + UserCmds + Auto + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследниеТриМесяца + 103 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследниеТриМесяцаРасширеннаяПодсказка + 104 + Label + true + true + + Left + + + Form.Command.ЗаПоследниеТриМесяца + Normal + Auto + true + true + UserCmds + Auto + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследниеШестьМесяцев + 105 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследниеШестьМесяцевРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + Form.Command.ЗаПоследниеШестьМесяцев + Normal + Auto + true + true + UserCmds + Auto + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнийГод + 107 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюЗаПоследнийГодРасширеннаяПодсказка + 108 + Label + true + true + + Left + + + Form.Command.ЗаПоследнийГод + Normal + Auto + true + true + UserCmds + Auto + + + СрокХраненияВерсийКонтекстноеМенюБессрочно + 109 + true + true + + true + + + СрокХраненияВерсийКонтекстноеМенюБессрочноРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + Form.Command.Бессрочно + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Установить срок хранения версий</value> + + + ru + Подменю установить срок хранения версий + + + ПодменюУстановитьСрокХраненияВерсийРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + Popup + + Auto + Normal + Tree @@ -451,6 +716,305 @@ None true + + КоличествоИОбъемХранимыхВерсийОбъектов + 119 + true + true + + true + + + КоличествоИОбъемХранимыхВерсийОбъектовРасширеннаяПодсказка + 120 + Label + true + true + + Left + + + Hyperlink + Form.Command.КоличествоИОбъемХранимыхВерсийОбъектов + Normal + Auto + true + true + UserCmds + Auto + + + ОчисткаУстаревшихВерсий + 57 + + ИнформацияОбУстаревшихВерсиях + 59 + + <key>ru</key> + <value>Всего устаревших версий: 1 234 (1,2Мб)</value> + + true + true + + true + + + ИнформацияОбУстаревшихВерсияхРасширеннаяПодсказка + 61 + Label + true + true + + Left + + + + ИнформацияОбУстаревшихВерсияхКонтекстноеМеню + 60 + true + + Label + true + true + + Left + + + + Очистить + 62 + true + true + + true + + + ОчиститьРасширеннаяПодсказка + 63 + Label + true + true + + Left + + + UsualButton + Form.Command.Очистить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Очистка устаревших версий</value> + + + ru + Очистка устаревших версий + + + ОчисткаУстаревшихВерсийРасширеннаяПодсказка + 58 + Label + true + true + + Left + + + UsualGroup + + Auto + WeakSeparation + true + true + auto + Auto + Auto + + + + УдалениеВерсийПоРасписанию + 64 + + НастройкиУдаления + 79 + + АвтоматическиУдалятьУстаревшиеВерсии + 66 + true + true + + true + + + АвтоматическиУдалятьУстаревшиеВерсии + + Right + + OnChange + АвтоматическиУдалятьУстаревшиеВерсииПриИзменении + + + АвтоматическиУдалятьУстаревшиеВерсииРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + + АвтоматическиУдалятьУстаревшиеВерсииКонтекстноеМеню + 67 + true + + CheckBoxField + Enter + true + Left + true + + + + НастроитьРасписание + 81 + true + true + + true + + + НастроитьРасписаниеРасширеннаяПодсказка + 82 + Label + true + true + + Left + + + Hyperlink + Form.Command.НастроитьРасписание + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройки удаления</value> + + + ru + Настройки удаления + + + НастройкиУдаленияРасширеннаяПодсказка + 80 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + Расписание + 74 + + <key>ru</key> + <value>каждый день, по дням недели [вторник, среда, четверг, пятница, суббота ]; с 3:00:00 один раз в день, завершать после 7:00:00</value> + + true + true + + true + + + РасписаниеРасширеннаяПодсказка + 76 + Label + true + true + + Left + + + + РасписаниеКонтекстноеМеню + 75 + true + + Label + true + true + + Style.ПоясняющийТекст + + + Left + Top + + + true + true + + true + + + <key>ru</key> + <value>Удаление версий по расписанию</value> + + + ru + Удаление версий по расписанию + + + УдалениеВерсийПоРасписаниюРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + ФормаКоманднаяПанель -1 @@ -538,6 +1102,32 @@ UserCmds Auto + + ФормаВерсионироватьПослеСтарта + 97 + true + true + + true + + + ФормаВерсионироватьПослеСтартаРасширеннаяПодсказка + 98 + Label + true + true + + Left + + + Form.Command.ВерсионироватьПриСтарте + Normal + Auto + true + true + UserCmds + Auto + КоманднаяПанельГруппаКнопок 33 @@ -604,7 +1194,7 @@ ru - Установитьрежим версионирования для выделенных объектов + Установить режим версионирования для выделенных объектов ВариантВерсионированияГруппаExtendedTooltip @@ -622,6 +1212,194 @@ Normal + + УстановитьСрокХраненияВерсий + 83 + + ФормаЗаПоследнююНеделю + 85 + true + true + + true + + + ФормаЗаПоследнююНеделюРасширеннаяПодсказка + 86 + Label + true + true + + Left + + + Form.Command.ЗаПоследнююНеделю + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗаПоследнийМесяц + 87 + true + true + + true + + + ФормаЗаПоследнийМесяцРасширеннаяПодсказка + 88 + Label + true + true + + Left + + + Form.Command.ЗаПоследнийМесяц + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗаПоследниеТриМесяца + 89 + true + true + + true + + + ФормаЗаПоследниеТриМесяцаРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + Form.Command.ЗаПоследниеТриМесяца + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗаПоследниеШестьМесяцев + 91 + true + true + + true + + + ФормаЗаПоследниеШестьМесяцевРасширеннаяПодсказка + 92 + Label + true + true + + Left + + + Form.Command.ЗаПоследниеШестьМесяцев + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗаПоследнийГод + 93 + true + true + + true + + + ФормаЗаПоследнийГодРасширеннаяПодсказка + 94 + Label + true + true + + Left + + + Form.Command.ЗаПоследнийГод + Normal + Auto + true + true + UserCmds + Auto + + + ФормаБессрочно + 95 + true + true + + true + + + ФормаБессрочноРасширеннаяПодсказка + 96 + Label + true + true + + Left + + + Form.Command.Бессрочно + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Установить срок хранения версий</value> + + + ru + Установить срок хранения версий + + + УстановитьСрокХраненияВерсийРасширеннаяПодсказка + 84 + Label + true + true + + Left + + + Popup + + Auto + Normal + + КомандыСписка 34 @@ -822,6 +1600,23 @@ true + + СрокХраненияВерсий + + <key>ru</key> + <value>Срок хранения версий</value> + + 7 + + EnumRef.СрокиХраненияВерсий + + + true + + + true + + СписокВыбораПолный @@ -863,6 +1658,40 @@ + + АвтоматическиУдалятьУстаревшиеВерсии + + <key>ru</key> + <value>Автоматически удалять устаревшие версии</value> + + 4 + + Boolean + + + true + + + true + + + + ИдентификаторФоновогоЗадания + + <key>ru</key> + <value>Идентификатор фонового задания</value> + + 5 + + UUID + + + true + + + true + + УстановитьНастройкиПоУмолчанию @@ -977,6 +1806,226 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> + <formCommands> + <name>Очистить</name> + <title> + <key>ru</key> + <value>Очистить</value> + + 6 + + ru + Очистить + + + true + + + + Очистить + + + Auto + Auto + + + НастроитьРасписание + + <key>ru</key> + <value>Настроить расписание</value> + + 7 + + ru + Настроить расписание + + + true + + + + НастроитьРасписание + + + Auto + Auto + + + ЗаПоследнююНеделю + + <key>ru</key> + <value>За последнюю неделю</value> + + 8 + + ru + За последнюю неделю + + + true + + + + ЗаПоследнююНеделю + + + Auto + Auto + + + ЗаПоследнийМесяц + + <key>ru</key> + <value>За последний месяц</value> + + 9 + + ru + За последний месяц + + + true + + + + ЗаПоследнийМесяц + + + Auto + Auto + + + ЗаПоследниеТриМесяца + + <key>ru</key> + <value>За последние три месяца</value> + + 10 + + ru + За последние три месяца + + + true + + + + ЗаПоследниеТриМесяца + + + Auto + Auto + + + ЗаПоследниеШестьМесяцев + + <key>ru</key> + <value>За последние шесть месяцев</value> + + 11 + + ru + За последние шесть месяцев + + + true + + + + ЗаПоследниеШестьМесяцев + + + Auto + Auto + + + ЗаПоследнийГод + + <key>ru</key> + <value>За последний год</value> + + 12 + + ru + За последний год + + + true + + + + ЗаПоследнийГод + + + Auto + Auto + + + Бессрочно + + <key>ru</key> + <value>Бессрочно</value> + + 13 + + ru + Бессрочно + + + true + + + + Бессрочно + + + Auto + Auto + + + ВерсионироватьПриСтарте + + <key>ru</key> + <value>Версионировать при старте</value> + + 14 + + ru + Версионировать при старте + + + true + + + + ВерсионироватьПриСтарте + + + Auto + Auto + + + КоличествоИОбъемХранимыхВерсийОбъектов + + <key>ru</key> + <value>Количество и объем хранимых версий объектов</value> + + 15 + + ru + Количество и объем хранимых версий объектов + + + true + + + + КоличествоИОбъемХранимыхВерсийОбъектов + + + Auto + Auto + diff --git a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Module.bsl b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Module.bsl index 37cc72eb6..c0b4b85e0 100644 --- a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Module.bsl +++ b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Forms/ВерсионированиеОбъектов/Module.bsl @@ -1,4 +1,5 @@ + #Область ОбработчикиСобытийФормы &НаСервере @@ -19,6 +20,18 @@ СписокВыбораБезПроведения.Добавить(Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриЗаписи); СписокВыбораБезПроведения.Добавить(Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать); + ПоказыватьНастройкиОчисткиУстаревшихВерсий = Не ОбщегоНазначенияПовтИсп.РазделениеВключено(); + Элементы.КоличествоИОбъемХранимыхВерсийОбъектов.Видимость = ПоказыватьНастройкиОчисткиУстаревшихВерсий; + Элементы.ОчисткаУстаревшихВерсий.Видимость = ПоказыватьНастройкиОчисткиУстаревшихВерсий; + Элементы.УдалениеВерсийПоРасписанию.Видимость = ПоказыватьНастройкиОчисткиУстаревшихВерсий; + Элементы.СрокХраненияВерсий.Видимость = ПоказыватьНастройкиОчисткиУстаревшихВерсий; + Элементы.УстановитьСрокХраненияВерсий.Видимость = ПоказыватьНастройкиОчисткиУстаревшихВерсий; + Если ПоказыватьНастройкиОчисткиУстаревшихВерсий Тогда + Элементы.Расписание.Заголовок = ТекущееРасписание(); + АвтоматическиУдалятьУстаревшиеВерсии = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОчисткаУстаревшихВерсийОбъектов).Использование; + ОбновитьИнформациюОбУстаревшихВерсиях(); + КонецЕсли; + КонецПроцедуры #КонецОбласти @@ -46,13 +59,13 @@ &НаКлиенте Процедура ДеревоОбъектовМетаданныхПередНачаломИзменения(Элемент, Отказ) - Если Элемент.ТекущиеДанные.КлассОбъекта = "01КлассСправочникиКорень" - Или Элемент.ТекущиеДанные.КлассОбъекта = "02КлассДокументыКорень" Тогда + Если Элемент.ТекущиеДанные.ПолучитьРодителя() = Неопределено Тогда Отказ = Истина; КонецЕсли; - // не проверяем что это за элемент, так как это всегда ВариантВерсионирования - ЗаполнитьСписокВыбора(Элементы.ДеревоОбъектовМетаданных.ТекущийЭлемент); + Если Элемент.ТекущийЭлемент = Элементы.ВариантВерсионирования Тогда + ЗаполнитьСписокВыбора(Элементы.ДеревоОбъектовМетаданных.ТекущийЭлемент); + КонецЕсли; КонецПроцедуры @@ -126,6 +139,8 @@ &НаСервере Процедура ЗаполнитьТипыОбъектовВДеревеЗначений() + НастройкиВерсионирования = ТекущиеНастройкиВерсионирования(); + ДеревоОМ = РеквизитФормыВЗначение("ДеревоОбъектовМетаданных"); ДеревоОМ.Строки.Очистить(); @@ -136,45 +151,57 @@ ЕстьДокументы = Ложь; ВсеСправочники = Справочники.ТипВсеСсылки(); ВсеДокументы = Документы.ТипВсеСсылки(); - УзелСправочники = НеОпределено; - УзелДокументы = НеОпределено; + УзелСправочники = Неопределено; + УзелДокументы = Неопределено; + УзелБизнесПроцессы = Неопределено; Для Каждого Тип Из МассивТипов Цикл Если ВсеСправочники.СодержитТип(Тип) Тогда Если УзелСправочники = НеОпределено Тогда УзелСправочники = ДеревоОМ.Строки.Добавить(); - УзелСправочники.СинонимНаименованияОбъекта = "Справочники"; + УзелСправочники.СинонимНаименованияОбъекта = НСтр("ru = 'Справочники'"); УзелСправочники.КлассОбъекта = "01КлассСправочникиКорень"; УзелСправочники.КодКартинки = 2; КонецЕсли; НоваяСтрокаТаблицы = УзелСправочники.Строки.Добавить(); НоваяСтрокаТаблицы.КодКартинки = 19; НоваяСтрокаТаблицы.КлассОбъекта = "КлассСправочники"; - ИначеЕсли ВсеДокументы.СодержитТип(Тип) Тогда Если УзелДокументы = НеОпределено Тогда УзелДокументы = ДеревоОМ.Строки.Добавить(); - УзелДокументы.СинонимНаименованияОбъекта = "Документы"; + УзелДокументы.СинонимНаименованияОбъекта = НСтр("ru = 'Документы'"); УзелДокументы.КлассОбъекта = "02КлассДокументыКорень"; УзелДокументы.КодКартинки = 3; КонецЕсли; НоваяСтрокаТаблицы = УзелДокументы.Строки.Добавить(); НоваяСтрокаТаблицы.КодКартинки = 20; НоваяСтрокаТаблицы.КлассОбъекта = "КлассДокументы"; + ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(Тип) Тогда + Если УзелБизнесПроцессы = Неопределено Тогда + УзелБизнесПроцессы = ДеревоОМ.Строки.Добавить(); + УзелБизнесПроцессы.СинонимНаименованияОбъекта = НСтр("ru = 'Бизнес-процессы'"); + УзелДокументы.КлассОбъекта = "03БизнесПроцессыКорень"; + УзелБизнесПроцессы.ТипОбъекта = "БизнесПроцессы"; + КонецЕсли; + НоваяСтрокаТаблицы = УзелБизнесПроцессы.Строки.Добавить(); + НоваяСтрокаТаблицы.КлассОбъекта = "КлассБизнесПроцессы"; КонецЕсли; МетаданныеОбъекта = Метаданные.НайтиПоТипу(Тип); НоваяСтрокаТаблицы.ТипОбъекта = МетаданныеОбъекта.ПолноеИмя(); НоваяСтрокаТаблицы.СинонимНаименованияОбъекта = МетаданныеОбъекта.Синоним; - ВариантВерсионирования = ПолучитьФункциональнуюОпцию("ВариантыВерсионированияОбъектов", - Новый Структура("ТипВерсионируемогоОбъекта", НоваяСтрокаТаблицы.ТипОбъекта)); - - Если ВариантВерсионирования = Ложь Тогда - ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать; + НайденныеНастройки = НастройкиВерсионирования.НайтиСтроки(Новый Структура("ТипОбъекта", НоваяСтрокаТаблицы.ТипОбъекта)); + Если НайденныеНастройки.Количество() > 0 Тогда + НоваяСтрокаТаблицы.ВариантВерсионирования = НайденныеНастройки[0].ВариантВерсионирования; + НоваяСтрокаТаблицы.СрокХраненияВерсий = НайденныеНастройки[0].СрокХраненияВерсий; + Если Не ЗначениеЗаполнено(НайденныеНастройки[0].СрокХраненияВерсий) Тогда + НоваяСтрокаТаблицы.СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.Бессрочно; + КонецЕсли; + Иначе + НоваяСтрокаТаблицы.ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать; + НоваяСтрокаТаблицы.СрокХраненияВерсий = Перечисления.СрокиХраненияВерсий.Бессрочно; КонецЕсли; - НоваяСтрокаТаблицы.ВариантВерсионирования = ВариантВерсионирования; - Если НоваяСтрокаТаблицы.КлассОбъекта = "КлассДокументы" Тогда НоваяСтрокаТаблицы.Проводится = ? (МетаданныеОбъекта.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить, Истина, Ложь); КонецЕсли; @@ -213,7 +240,7 @@ Для Каждого ИдентификаторСтроки Из Элементы.ДеревоОбъектовМетаданных.ВыделенныеСтроки Цикл ЭлементДерева = ДеревоОбъектовМетаданных.НайтиПоИдентификатору(ИдентификаторСтроки); - Если ПустаяСтрока(ЭлементДерева.ТипОбъекта) Тогда + Если ЭлементДерева.ПолучитьРодителя() = Неопределено Тогда Для Каждого ПодчиненныйЭлементДерева Из ЭлементДерева.ПолучитьЭлементы() Цикл УстановитьВариантВерсионированияДляЭлементаДерева(ПодчиненныйЭлементДерева, ВариантВерсионирования); КонецЦикла; @@ -230,19 +257,247 @@ Если ВариантВерсионирования = Неопределено Тогда Если ЭлементДерева.КлассОбъекта = "КлассДокументы" Тогда ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриПроведении; + ИначеЕсли ЭлементДерева.ПолучитьРодителя().ТипОбъекта = "БизнесПроцессы" Тогда + ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриСтарте; Иначе ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.НеВерсионировать; КонецЕсли; КонецЕсли; Если ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриПроведении - И Не ЭлементДерева.Проводится Тогда - ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриЗаписи; + И Не ЭлементДерева.Проводится + Или ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриСтарте + И ЭлементДерева.КлассОбъекта <> "КлассБизнесПроцессы" Тогда + ВариантВерсионирования = Перечисления.ВариантыВерсионированияОбъектов.ВерсионироватьПриЗаписи; КонецЕсли; - + ЭлементДерева.ВариантВерсионирования = ВариантВерсионирования; ВерсионированиеОбъектов.ЗаписатьНастройкуВерсионированияПоОбъекту(ЭлементДерева.ТипОбъекта, ВариантВерсионирования); КонецПроцедуры +&НаСервере +Процедура УстановитьСрокХраненияВерсийДляВыбранныхОбъектов(СрокХраненияВерсий) + + Для Каждого ИдентификаторСтроки Из Элементы.ДеревоОбъектовМетаданных.ВыделенныеСтроки Цикл + ЭлементДерева = ДеревоОбъектовМетаданных.НайтиПоИдентификатору(ИдентификаторСтроки); + Если ЭлементДерева.ПолучитьРодителя() = Неопределено Тогда + Для Каждого ПодчиненныйЭлементДерева Из ЭлементДерева.ПолучитьЭлементы() Цикл + УстановитьСрокХраненияВерсийДляВыбранногоОбъекта(ПодчиненныйЭлементДерева, СрокХраненияВерсий); + КонецЦикла; + Иначе + УстановитьСрокХраненияВерсийДляВыбранногоОбъекта(ЭлементДерева, СрокХраненияВерсий); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьСрокХраненияВерсийДляВыбранногоОбъекта(ВыбранныйОбъект, СрокХраненияВерсий) + + ВыбранныйОбъект.СрокХраненияВерсий = СрокХраненияВерсий; + ЗаписатьТекущиеНастройкиПоОбъекту(ВыбранныйОбъект.ТипОбъекта, ВыбранныйОбъект.ВариантВерсионирования, СрокХраненияВерсий); + +КонецПроцедуры + +&НаКлиенте +Процедура СрокХраненияВерсийПриИзменении(Элемент) + ТекущиеДанные = Элементы.ДеревоОбъектовМетаданных.ТекущиеДанные; + ЗаписатьТекущиеНастройкиПоОбъекту(ТекущиеДанные.ТипОбъекта, ТекущиеДанные.ВариантВерсионирования, ТекущиеДанные.СрокХраненияВерсий); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьТекущиеНастройкиПоОбъекту(ТипОбъекта, ВариантВерсионирования, СрокХраненияВерсий) + Настройка = РегистрыСведений.НастройкиВерсионированияОбъектов.СоздатьМенеджерЗаписи(); + Настройка.ТипОбъекта = ТипОбъекта; + Настройка.Вариант = ВариантВерсионирования; + Настройка.СрокХраненияВерсий = СрокХраненияВерсий; + Настройка.Записать(); +КонецПроцедуры + +&НаСервере +Функция ТекущиеНастройкиВерсионирования() + УстановитьПривилегированныйРежим(Истина); + ТекстЗапроса = + "ВЫБРАТЬ + | НастройкиВерсионированияОбъектов.ТипОбъекта КАК ТипОбъекта, + | НастройкиВерсионированияОбъектов.Вариант КАК ВариантВерсионирования, + | НастройкиВерсионированияОбъектов.СрокХраненияВерсий КАК СрокХраненияВерсий + |ИЗ + | РегистрСведений.НастройкиВерсионированияОбъектов КАК НастройкиВерсионированияОбъектов"; + Запрос = Новый Запрос(ТекстЗапроса); + Возврат Запрос.Выполнить().Выгрузить(); +КонецФункции + + +&НаКлиенте +Процедура ЗаПоследнююНеделю(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.ЗаПоследнююНеделю")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаПоследнийМесяц(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.ЗаПоследнийМесяц")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаПоследниеТриМесяца(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.ЗаПоследниеТриМесяца")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаПоследниеШестьМесяцев(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.ЗаПоследниеШестьМесяцев")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаПоследнийГод(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.ЗаПоследнийГод")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура Бессрочно(Команда) + УстановитьСрокХраненияВерсийДляВыбранныхОбъектов( + ПредопределенноеЗначение("Перечисление.СрокиХраненияВерсий.Бессрочно")); + ОбновитьИнформациюОбУстаревшихВерсиях(); +КонецПроцедуры + +&НаКлиенте +Процедура ВерсионироватьПриСтарте(Команда) + УстановитьВариантВерсионированияДляВыделенныхСтрок( + ПредопределенноеЗначение("Перечисление.ВариантыВерсионированияОбъектов.ВерсионироватьПриСтарте")); +КонецПроцедуры + +&НаКлиенте +Процедура НастроитьРасписание(Команда) + ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(ТекущееРасписание()); + ОписаниеОповещения = Новый ОписаниеОповещения("НастроитьРасписаниеЗавершение", ЭтотОбъект); + ДиалогРасписания.Показать(ОписаниеОповещения); +КонецПроцедуры + +&НаКлиенте +Процедура НастроитьРасписаниеЗавершение(Расписание, ДополнительныеПараметры) Экспорт + Если Расписание = Неопределено Тогда + Возврат; + КонецЕсли; + + УстановитьРасписаниеРегламентногоЗадания(Расписание); + Элементы.Расписание.Заголовок = Расписание; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьРасписаниеРегламентногоЗадания(Расписание); + РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОчисткаУстаревшихВерсийОбъектов); + РегламентноеЗадание.Расписание = Расписание; + РегламентноеЗадание.Записать(); +КонецПроцедуры + +&НаСервере +Функция ТекущееРасписание() + Возврат РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОчисткаУстаревшихВерсийОбъектов).Расписание; +КонецФункции + +&НаКлиенте +Процедура АвтоматическиУдалятьУстаревшиеВерсииПриИзменении(Элемент) + ВключитьОтключитьРегламентноеЗадание(); +КонецПроцедуры + +&НаСервере +Процедура ВключитьОтключитьРегламентноеЗадание() + РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОчисткаУстаревшихВерсийОбъектов); + РегламентноеЗадание.Использование = Не РегламентноеЗадание.Использование; + РегламентноеЗадание.Записать(); +КонецПроцедуры + +&НаКлиенте +Процедура Очистить(Команда) + ЗапуститьРегламентноеЗадание(); + ПодключитьОбработчикОжидания("ПроверитьВыполнениеФоновогоЗадания", 2, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьВыполнениеФоновогоЗадания() + Если Не ЗаданиеВыполнено(ИдентификаторФоновогоЗадания) Тогда + ПодключитьОбработчикОжидания("ПроверитьВыполнениеФоновогоЗадания", 5, Истина); + Иначе + ИдентификаторФоновогоЗадания = ""; + ОбновитьИнформациюОбУстаревшихВерсиях(); + КонецЕсли; +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ЗаданиеВыполнено(ИдентификаторФоновогоЗадания) + Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторФоновогоЗадания); +КонецФункции + +&НаСервере +Процедура ЗапуститьРегламентноеЗадание() + + РегламентноеЗадание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОчисткаУстаревшихВерсийОбъектов); + + Отбор = Новый Структура; + Отбор.Вставить("РегламентноеЗадание", РегламентноеЗадание); + Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + ФоновыеЗаданияОчистки = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор); + Если ФоновыеЗаданияОчистки.Количество() > 0 Тогда + ИдентификаторФоновогоЗадания = ФоновыеЗаданияОчистки[0].УникальныйИдентификатор; + Иначе + НаименованиеФоновогоЗадания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Запуск вручную: %1'"), РегламентноеЗадание.Метаданные.Синоним); + + ФоновоеЗадание = ФоновыеЗадания.Выполнить( + РегламентноеЗадание.Метаданные.ИмяМетода, + РегламентноеЗадание.Параметры, + Строка(РегламентноеЗадание.УникальныйИдентификатор), + НаименованиеФоновогоЗадания); + + ИдентификаторФоновогоЗадания = ФоновоеЗадание.УникальныйИдентификатор; + КонецЕсли; + + ОбновитьИнформациюОбУстаревшихВерсиях(); + +КонецПроцедуры + +&НаСервере +Процедура ОбновитьИнформациюОбУстаревшихВерсиях() + + Элементы.Очистить.Доступность = Не ЗначениеЗаполнено(ИдентификаторФоновогоЗадания); + Если ЗначениеЗаполнено(ИдентификаторФоновогоЗадания) Тогда + Элементы.ИнформацияОбУстаревшихВерсиях.Заголовок = НСтр("ru = 'Выполняется очистка устаревших версий...'"); + Возврат; + КонецЕсли; + + ИнформацияОбУстаревшихВерсиях = ВерсионированиеОбъектов.ИнформацияОбУстаревшихВерсиях(); + + Если ИнформацияОбУстаревшихВерсиях.РазмерДанных > 0 Тогда + Элементы.ИнформацияОбУстаревшихВерсиях.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Всего устаревших версий: %1 (%2)'"), + ИнформацияОбУстаревшихВерсиях.КоличествоВерсий, + ВерсионированиеОбъектов.РазмерДанныхСтрокой(ИнформацияОбУстаревшихВерсиях.РазмерДанных)); + Иначе + Элементы.ИнформацияОбУстаревшихВерсиях.Заголовок = НСтр("ru = 'Всего устаревших версий: нет'"); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура КоличествоИОбъемХранимыхВерсийОбъектов(Команда) + ОткрытьФорму("Отчет.АнализВерсийОбъектов.ФормаОбъекта"); +КонецПроцедуры + #КонецОбласти + + + + diff --git a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Help/ru.html b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Help/ru.html index 96237f919..a0be455f8 100644 --- a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Help/ru.html +++ b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/Help/ru.html @@ -1,5 +1,40 @@ - -

                                        С помощью настройки версионирования документов и справочников можно отслеживать историю изменений.

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

                                        Также возможна настройка версионирования сразу для группы выделенных объектов в списке.

                                        \ No newline at end of file + +

                                        Предназначен для настройки версионирования объектов.

                                        +

                                        С помощью версионирования документов и справочников можно отслеживать историю изменений.

                                        +

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

                                        +

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

                                        +

                                        В списке выводится:

                                        +
                                        • Объект - список объектов программы в виде дерева с группировкой по типам объектов. +
                                        • Вариант версионирования - выбранный вариант версионирования. +
                                        • Срок хранения версий - выбранный срок хранения версий.

                                        Выбор варианта версионирования

                                        +
                                        • +
                                          Выберите один или несколько объектов, затем выполните команду Установить вариант версионирования, из выпадающего списка выберите нужный вариант версионирования для каждого типа документов и справочников (также можно найти команду в меню Еще (Все действия) или в контекстном меню по правой кнопке мыши):
                                          +
                                          • Не версионировать - история версий объекта не ведется; +
                                          • Версионировать при записи - новая запись заносится в историю версий каждый раз при изменении (или создании нового) справочника или документа; +
                                          • Версионировать при проведении - версии сохраняются только при проведении; применимо только для документов, для которых разрешено проведение. +
                                          • Версионировать при старте - версии сохраняются только после запуска бизнес-процесса; применимо только для бизнес-процессов; +
                                          • По умолчанию - установить рекомендуемые настройки (для справочников - не версионировать, для документов - версионировать при проведении).
                                        • +
                                          Также возможна настройка версионирования сразу для группы объектов программы, например, можно выбрать все документы или справочники.

                                        Выбор срока хранения версий

                                        +
                                        • +
                                          Выполните команду Установить срок хранения версий, затем из выпадающего списка выберите нужный срок хранения версий для каждого типа документов и справочников: версии можно хранить За последнюю неделю, За последний месяц, За последние три месяца, За последние шесть месяцев, За последний год и Бессрочно.

                                        Просмотр отчета "Количество и объем хранимых версий объектов"

                                        +
                                        • +
                                          По соответствующей ссылке можно перейти к просмотру отчета Количество и объем хранимых версий объектов.

                                        Очистка устаревших версий

                                        +
                                        • +
                                          В поле Всего устаревших версий выдается информация о количестве и объеме устаревших версий в программе.
                                          +
                                        • +
                                          Нажмите Очистить, для того чтобы удалить устаревшие версии.
                                          +
                                        • +
                                          Для того чтобы Автоматически удалять устаревшие версии, включите соответствующий флажок.
                                          +
                                        • +
                                          Перейдите по соответствующей ссылке, для того чтобы Настроить расписание. Настроенное расписание выводится в нижней части окна.

                                        Применение версионирования

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

                                        Особенности режима "Версионировать при проведении"

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

                                        Особенности режима "Версионировать при старте"

                                        +
                                        • +
                                          Если у бизнес-процесса установлен режим Версионировать при старте, то первая версия будет записана только после его старта. Режим позволяет не создавать лишние версии бизнес-процессов в то время, пока их подготавливают к запуску.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/НастройкиВерсионированияОбъектов.mdo b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/НастройкиВерсионированияОбъектов.mdo index 7ef4aa68d..d5c22bb4b 100644 --- a/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/НастройкиВерсионированияОбъектов.mdo +++ b/SSL/src/InformationRegisters/НастройкиВерсионированияОбъектов/НастройкиВерсионированияОбъектов.mdo @@ -101,6 +101,26 @@ Use + + СрокХраненияВерсий + + ru + Срок хранения версий + + + EnumRef.СрокиХраненияВерсий + + + ru + Определяет, через какое время версия объекта считается устаревшей и подлежит очистке. + + + + Use + Use + + Index + ТипОбъекта diff --git a/SSL/src/InformationRegisters/НастройкиОтправителя/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/НастройкиОтправителя/Forms/ФормаСписка/Form.form index e17f622d4..735cfc317 100644 --- a/SSL/src/InformationRegisters/НастройкиОтправителя/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/НастройкиОтправителя/Forms/ФормаСписка/Form.form @@ -1,5 +1,73 @@ + + ГруппаПользовательскихНастроек + 11 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + + ru + Группа пользовательских настроек + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 12 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 13 + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -95,10 +163,10 @@
                                        СписокСтрокаПоиска - 11 + 15 СписокСтрокаПоискаРасширеннаяПодсказка - 13 + 17 Label true true @@ -108,7 +176,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 12 + 16 true Список @@ -118,10 +186,10 @@ СписокСостояниеПросмотра - 14 + 18 СписокСостояниеПросмотраРасширеннаяПодсказка - 16 + 20 Label true true @@ -131,7 +199,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 15 + 19 true ViewStatusAddition @@ -142,10 +210,10 @@ СписокУправлениеПоиском - 17 + 21 СписокУправлениеПоискомРасширеннаяПодсказка - 19 + 23 Label true true @@ -155,7 +223,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 18 + 22 true SearchControlAddition @@ -214,13 +282,13 @@ true true + ГруппаПользовательскихНастроек ФормаКоманднаяПанель -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Form.form index ca2a5a7d9..0a7609140 100644 --- a/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Form.form @@ -1,704 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 69 true true true - - Список - - true - None - Copy - - Объект - 4 - true - true - - true - - - Список.Объект - - true - - ОбъектРасширеннаяПодсказка - 42 - Label - true - true - - Left - - - - ОбъектКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Пользователь - 6 - true - true - - true - - - Список.Пользователь - - true - - ПользовательExtendedTooltip - 43 - Label - true - true - - Left - - - - ПользовательКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Право - 8 - true - true - - true - - - Список.Право - - true - - ПравоExtendedTooltip - 44 - Label - true - true - - Left - - - - ПравоКонтекстноеМеню - 9 - true - - LabelField - Enter - true - Left - true - - 20 - true - true - - - - ЗначениеПрава - 38 - - ПравоЗапрещено - 12 - true - true - - true - - - Список.ПравоЗапрещено - - true - - ПравоЗапрещеноРасширеннаяПодсказка - 46 - Label - true - true - - Left - - - - ПравоЗапрещеноКонтекстноеМеню - 13 - true - - CheckBoxField - Enter - true - Left - true - - - - НаследованиеРазрешено - 14 - true - true - - true - - - Список.НаследованиеРазрешено - - true - - НаследованиеРазрешеноРасширеннаяПодсказка - 47 - Label - true - true - - Left - - - - НаследованиеРазрешеноКонтекстноеМеню - 15 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Значение права</value> - - - ru - Значение права - - - ЗначениеПраваExtendedTooltip - 45 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - Порядок - 66 - true - true - - true - - - Список.ПорядокНастройки - - - ПорядокРасширеннаяПодсказка - 68 - Label - true - true - - Left - - - - ПорядокКонтекстноеМеню - 67 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УровеньПрава - 58 - - УровеньРазрешенияПрава - 60 - true - true - - true - - - Список.УровеньРазрешенияПрава - - - УровеньРазрешенияПраваРасширеннаяПодсказка - 62 - Label - true - true - - Left - - - - УровеньРазрешенияПраваКонтекстноеМеню - 61 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УровеньЗапрещенияПрава - 63 - true - true - - true - - - Список.УровеньЗапрещенияПрава - - - УровеньЗапрещенияПраваРасширеннаяПодсказка - 65 - Label - true - true - - Left - - - - УровеньЗапрещенияПраваКонтекстноеМеню - 64 - true - - LabelField - Enter - true - Left - true - - true - true - - - true - true - - true - - - <key>ru</key> - <value>Уровень права</value> - - - ru - Уровень права - - - УровеньПраваРасширеннаяПодсказка - 59 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - Таблица - 10 - true - true - - true - - - Список.Таблица - - true - - ТаблицаExtendedTooltip - 48 - Label - true - true - - Left - - - - ТаблицаКонтекстноеМеню - 11 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УровеньЧтения - 34 - - УровеньРазрешенияЧтения - 16 - true - true - - true - - - Список.УровеньРазрешенияЧтения - - true - - УровеньРазрешенияЧтенияРасширеннаяПодсказка - 50 - Label - true - true - - Left - - - - УровеньРазрешенияЧтенияКонтекстноеМеню - 17 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УровеньЗапрещенияЧтения - 18 - true - true - - true - - - Список.УровеньЗапрещенияЧтения - - true - - УровеньЗапрещенияЧтенияРасширеннаяПодсказка - 51 - Label - true - true - - Left - - - - УровеньЗапрещенияЧтенияКонтекстноеМеню - 19 - true - - LabelField - Enter - true - Left - true - - true - true - - - true - true - - true - - - <key>ru</key> - <value>Уровень чтения</value> - - - ru - Уровень чтения - - - УровеньЧтенияРасширеннаяПодсказка - 49 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - УровеньИзменения - 36 - - УровеньРазрешенияИзменения - 24 - true - true - - true - - - Список.УровеньРазрешенияИзменения - - true - - УровеньРазрешенияИзмененияРасширеннаяПодсказка - 56 - Label - true - true - - Left - - - - УровеньРазрешенияИзмененияКонтекстноеМеню - 25 - true - - LabelField - Enter - true - Left - true - - true - true - - - - УровеньЗапрещенияИзменения - 26 - true - true - - true - - - Список.УровеньЗапрещенияИзменения - - true - - УровеньЗапрещенияИзмененияРасширеннаяПодсказка - 57 - Label - true - true - - Left - - - - УровеньЗапрещенияИзмененияКонтекстноеМеню - 27 - true - - LabelField - Enter - true - Left - true - - true - true - - - true - true - - true - - - <key>ru</key> - <value>Уровень изменения</value> - - - ru - Уровень изменения - - - УровеньИзмененияРасширеннаяПодсказка - 55 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 69 - - СписокСтрокаПоискаРасширеннаяПодсказка - 71 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 70 - true - - Список - - true - - - - СписокСостояниеПросмотра - 72 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 74 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 73 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 75 - - СписокУправлениеПоискомРасширеннаяПодсказка - 77 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 76 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 41 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 70 Label true true @@ -706,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                        true
                                        - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                        - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 71 ФормаОбновитьВспомогательныеДанныеРегистра 33 @@ -805,8 +91,769 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 72 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + + СписокОбъект + 4 + true + true + + true + + + Список.Объект + + true + + СписокОбъектРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + СписокОбъектКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокПользователь + 6 + true + true + + true + + + Список.Пользователь + + true + + СписокПользовательРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + + СписокПользовательКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокПраво + 8 + true + true + + true + + + Список.Право + + true + + СписокПравоРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + + СписокПравоКонтекстноеМеню + 9 + true + + LabelField + Enter + true + Left + true + + 20 + true + true + + + + СписокГруппаЗначениеПрава + 38 + + СписокПравоЗапрещено + 12 + true + true + + true + + + Список.ПравоЗапрещено + + true + + СписокПравоЗапрещеноРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + + СписокПравоЗапрещеноКонтекстноеМеню + 13 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокНаследованиеРазрешено + 14 + true + true + + true + + + Список.НаследованиеРазрешено + + true + + СписокНаследованиеРазрешеноРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + + СписокНаследованиеРазрешеноКонтекстноеМеню + 15 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа значение права</value> + + + СписокГруппаЗначениеПраваРасширеннаяПодсказка + 45 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокПорядокНастройки + 66 + true + true + + true + + + Список.ПорядокНастройки + + + СписокПорядокНастройкиРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + + СписокПорядокНастройкиКонтекстноеМеню + 67 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокГруппаУровеньПрава + 58 + + СписокУровеньРазрешенияПрава + 60 + true + true + + true + + + Список.УровеньРазрешенияПрава + + + СписокУровеньРазрешенияПраваРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + + СписокУровеньРазрешенияПраваКонтекстноеМеню + 61 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокУровеньЗапрещенияПрава + 63 + true + true + + true + + + Список.УровеньЗапрещенияПрава + + + СписокУровеньЗапрещенияПраваРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + + СписокУровеньЗапрещенияПраваКонтекстноеМеню + 64 + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа уровень права</value> + + + СписокГруппаУровеньПраваРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокТаблица + 10 + true + true + + true + + + Список.Таблица + + true + + СписокТаблицаРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + СписокТаблицаКонтекстноеМеню + 11 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокГруппаУровеньЧтения + 34 + + СписокУровеньРазрешенияЧтения + 16 + true + true + + true + + + Список.УровеньРазрешенияЧтения + + true + + СписокУровеньРазрешенияЧтенияРасширеннаяПодсказка + 50 + Label + true + true + + Left + + + + СписокУровеньРазрешенияЧтенияКонтекстноеМеню + 17 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокУровеньЗапрещенияЧтения + 18 + true + true + + true + + + Список.УровеньЗапрещенияЧтения + + true + + СписокУровеньЗапрещенияЧтенияРасширеннаяПодсказка + 51 + Label + true + true + + Left + + + + СписокУровеньЗапрещенияЧтенияКонтекстноеМеню + 19 + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа уровень чтения</value> + + + СписокГруппаУровеньЧтенияРасширеннаяПодсказка + 49 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокГруппаУровеньИзменения + 36 + + СписокУровеньРазрешенияИзменения + 24 + true + true + + true + + + Список.УровеньРазрешенияИзменения + + true + + СписокУровеньРазрешенияИзмененияРасширеннаяПодсказка + 56 + Label + true + true + + Left + + + + СписокУровеньРазрешенияИзмененияКонтекстноеМеню + 25 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокУровеньЗапрещенияИзменения + 26 + true + true + + true + + + Список.УровеньЗапрещенияИзменения + + true + + СписокУровеньЗапрещенияИзмененияРасширеннаяПодсказка + 57 + Label + true + true + + Left + + + + СписокУровеньЗапрещенияИзмененияКонтекстноеМеню + 27 + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа уровень изменения</value> + + + СписокГруппаУровеньИзмененияРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 73 + + СписокСтрокаПоискаРасширеннаяПодсказка + 75 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 74 + true + + Список + + true + + + + СписокСостояниеПросмотра + 76 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 78 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 77 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 79 + + СписокУправлениеПоискомРасширеннаяПодсказка + 81 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 80 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 41 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 8 + true + true + MultiRow +
                                        true
                                        + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                        + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Module.bsl index 0358270b2..523d7192a 100644 --- a/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/НастройкиПравОбъектов/Forms/ФормаСписка/Module.bsl @@ -57,7 +57,7 @@ Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); - ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Таблица.Имя); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокТаблица.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Таблица"); diff --git a/SSL/src/InformationRegisters/НастройкиПравОбъектов/ManagerModule.bsl b/SSL/src/InformationRegisters/НастройкиПравОбъектов/ManagerModule.bsl index 93a5c9929..e69782607 100644 --- a/SSL/src/InformationRegisters/НастройкиПравОбъектов/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/НастройкиПравОбъектов/ManagerModule.bsl @@ -839,8 +839,10 @@ ПоТипамСсылок.Вставить(ТипСсылки, МассивПравВладельца); ПоТипам.Вставить(ТипСсылки, ПраваВладельца); ПоТипам.Вставить(ТипОбъекта, ПраваВладельца); - ИерархическиеТаблицы.Вставить(ТипСсылки, ИерархическийОбъектМетаданных(ОбъектМетаданныхВладельца)); - ИерархическиеТаблицы.Вставить(ТипОбъекта, ИерархическийОбъектМетаданных(ОбъектМетаданныхВладельца)); + Если ИерархическийОбъектМетаданных(ОбъектМетаданныхВладельца) Тогда + ИерархическиеТаблицы.Вставить(ТипСсылки, Истина); + ИерархическиеТаблицы.Вставить(ТипОбъекта, Истина); + КонецЕсли; ТипыВладельцев.Добавить(ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени( ВозможноеПраво.ВладелецПрав).ПустаяСсылка()); @@ -1033,11 +1035,9 @@ Возврат Ложь; КонецЕсли; - Если НЕ Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда - Возврат Ложь; - КонецЕсли; - - Если НЕ Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) Тогда + Если НЕ Метаданные.Справочники.Содержит(ОбъектМетаданных) + И НЕ Метаданные.ПланыВидовХарактеристик.Содержит(ОбъектМетаданных) Тогда + Возврат Ложь; КонецЕсли; diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/НастройкаПодключенияКСервису/Form.form b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/НастройкаПодключенияКСервису/Form.form index 97feed4bf..2e85c4989 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/НастройкаПодключенияКСервису/Form.form +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/НастройкаПодключенияКСервису/Form.form @@ -281,7 +281,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ПовторнаяСинхронизацияДанныхПередЗапуском/Module.bsl b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ПовторнаяСинхронизацияДанныхПередЗапуском/Module.bsl index 5221d72a6..78e170173 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ПовторнаяСинхронизацияДанныхПередЗапуском/Module.bsl +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ПовторнаяСинхронизацияДанныхПередЗапуском/Module.bsl @@ -3,7 +3,7 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - Если Параметры.Свойство("АвтоТест") Тогда + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -73,7 +73,7 @@ ИначеЕсли СтатусОбновления = "ОбновлениеКонфигурации" Тогда - ТекстПредупреждения = НСтр("ru = 'Из главного узла получены изменения, которые ещё не применены. + ТекстПредупреждения = НСтр("ru = 'Из главного узла получены изменения, которые еще не применены. |Требуется открыть конфигуратор и обновить конфигурацию базы данных.'"); КонецЕсли; @@ -348,7 +348,7 @@ Если НЕ ОбновлениеИнформационнойБазы.НеобходимоОбновлениеИнформационнойБазы() Тогда Если Константы.ЗагрузитьСообщениеОбменаДанными.Получить() = Истина Тогда Константы.ЗагрузитьСообщениеОбменаДанными.Установить(Ложь); - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОбменДаннымиСервер.ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); КонецЕсли; КонецЕсли; @@ -393,7 +393,7 @@ // Процедура ВключитьПовторениеЗагрузкиСообщенияОбменаДаннымиПередЗапуском() - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить(Новый ХранилищеЗначения(Неопределено)); + ОбменДаннымиСервер.ОчиститьСообщениеОбменаДаннымиИзГлавногоУзла(); Константы.ПовторитьЗагрузкуСообщенияОбменаДаннымиПередЗапуском.Установить(Истина); @@ -535,9 +535,8 @@ Возврат; КонецПопытки; - СообщениеОбмена = Новый ДвоичныеДанные(ФайлСообщенияОбмена); - Константы.СообщениеОбменаДаннымиИзГлавногоУзла.Установить( - Новый ХранилищеЗначения(СообщениеОбмена, Новый СжатиеДанных(9))); + НовоеСообщение = Новый ДвоичныеДанные(ФайлСообщенияОбмена); + ОбменДаннымиСервер.УстановитьСообщениеОбменаДаннымиИзГлавногоУзла(НовоеСообщение, УзелИнформационнойБазы); Попытка УдалитьФайлы(ФайлСообщенияОбмена); diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ФормаЗаписи/Form.form b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ФормаЗаписи/Form.form index e8252296e..c953be83a 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ФормаЗаписи/Form.form +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Forms/ФормаЗаписи/Form.form @@ -434,6 +434,10 @@ COMПарольПользователя 59 + + <key>ru</key> + <value>Пароль</value> + true true @@ -496,45 +500,17 @@ Auto
                                        - - Группа2 - 99 - - ПроверитьПодключениеCOM - 67 - true - true - - true - - - ПроверитьПодключениеCOMExtendedTooltip - 136 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеCOM - Normal - Auto - 20 - true - true - UserCmds - Auto - + + Декорация3 + 190 true true true - Группа2ExtendedTooltip - 135 + Декорация3РасширеннаяПодсказка + 192 Label true true @@ -542,15 +518,46 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + + Декорация3КонтекстноеМеню + 191 + true + + Label + true + true + true + + Left + + ПроверитьПодключениеCOM + 67 + true + true + + true + + + ПроверитьПодключениеCOMExtendedTooltip + 136 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеCOM + Normal + Auto + true + true + UserCmds + Auto + true true @@ -827,6 +834,37 @@ UserCmds Auto + + Декорация4 + 193 + true + true + + true + + + Декорация4РасширеннаяПодсказка + 195 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 194 + true + + Label + true + true + true + + Left + + ПроверитьПодключениеWS 96 @@ -937,34 +975,6 @@ Normal - - ПроверитьПодключениеFILE - 42 - true - true - - true - - false - - ПроверитьПодключениеFILEExtendedTooltip - 150 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеFILE - Normal - Auto - true - true - UserCmds - Auto - Группа1 100 @@ -1072,6 +1082,96 @@ Auto + + Декорация5 + 196 + true + true + + true + + + Декорация5РасширеннаяПодсказка + 198 + Label + true + true + + Left + + + + Декорация5КонтекстноеМеню + 197 + true + + Label + true + true + true + + Left + + + + Декорация6 + 199 + true + true + + true + + + Декорация6РасширеннаяПодсказка + 201 + Label + true + true + + Left + + + + Декорация6КонтекстноеМеню + 200 + true + + Label + true + true + true + + Left + + + + ПроверитьПодключениеFILE + 42 + true + true + + true + + false + + ПроверитьПодключениеFILEExtendedTooltip + 150 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеFILE + Normal + Auto + true + true + UserCmds + Auto + true true @@ -1507,34 +1607,6 @@ UserCmds Auto - - ПроверитьПодключениеFTP - 41 - true - true - - true - - false - - ПроверитьПодключениеFTPExtendedTooltip - 166 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеFTP - Normal - Auto - true - true - UserCmds - Auto - Группа3 103 @@ -1642,6 +1714,65 @@ Auto + + Декорация7 + 202 + true + true + + true + + + Декорация7РасширеннаяПодсказка + 204 + Label + true + true + + Left + + + + Декорация7КонтекстноеМеню + 203 + true + + Label + true + true + true + + Left + + + + ПроверитьПодключениеFTP + 41 + true + true + + true + + false + + ПроверитьПодключениеFTPExtendedTooltip + 166 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеFTP + Normal + Auto + true + true + UserCmds + Auto + true true @@ -1818,34 +1949,6 @@ Auto - - ПроверитьПодключениеEMAIL - 43 - true - true - - true - - false - - ПроверитьПодключениеEMAILExtendedTooltip - 175 - Label - true - true - - Left - - - UsualButton - Form.Command.ПроверитьПодключениеEMAIL - Normal - Auto - true - true - UserCmds - Auto - Группа4 104 @@ -1953,6 +2056,65 @@ Auto + + Декорация8 + 205 + true + true + + true + + + Декорация8РасширеннаяПодсказка + 207 + Label + true + true + + Left + + + + Декорация8КонтекстноеМеню + 206 + true + + Label + true + true + true + + Left + + + + ПроверитьПодключениеEMAIL + 43 + true + true + + true + + false + + ПроверитьПодключениеEMAILExtendedTooltip + 175 + Label + true + true + + Left + + + UsualButton + Form.Command.ПроверитьПодключениеEMAIL + Normal + Auto + true + true + UserCmds + Auto + true true @@ -2107,7 +2269,7 @@ Copy Delete WriteAndClose - 85 + 78 LockOwner true true diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Help/ru.html b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Help/ru.html index 01f97cc6d..90550a05e 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Help/ru.html +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                        Параметры подключения также указываются во время настройки синхронизации данных в Помощнике создания синхронизации данных. Эти настройки выводятся по умолчанию. Их можно изменить.

                                        Перейти к настройке Параметров подключения можно по соответствующей команде из настройки синхронизации данных.

                                        diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/НастройкиТранспортаОбмена.mdo b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/НастройкиТранспортаОбмена.mdo index 945c137b9..0bbebdcb0 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/НастройкиТранспортаОбмена.mdo +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбмена/НастройкиТранспортаОбмена.mdo @@ -204,7 +204,6 @@ - Use Use @@ -490,7 +489,6 @@ - Use Use @@ -547,13 +545,13 @@ 50 + true ru Пароль пользователя - Use Use @@ -634,6 +632,7 @@ 50 + true ru Поле для задания пароля для сжатия и распаковки архива данных. Подразумевается, что пароль сжатия в базе источнике и пароль распаковки в базе приемнике должны совпадать. diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/ManagerModule.bsl b/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/ManagerModule.bsl index b9280aeee..7cabdc9b8 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/ManagerModule.bsl @@ -1,6 +1,5 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - // Процедура обновляет запись в регистре по переданным значениям структуры // Процедура ОбновитьЗапись(СтруктураЗаписи) Экспорт @@ -11,6 +10,11 @@ // +// Определяет настройки транспорта для указанной конечной точки +// +// Параметры: +// КонечнаяТочкаКорреспондента - ПланОбменаСсылка.ОбменСообщениями +// Функция НастройкиТранспорта(Знач КонечнаяТочкаКорреспондента) Экспорт ТекстЗапроса = diff --git a/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/НастройкиТранспортаОбменаОбластейДанных.mdo b/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/НастройкиТранспортаОбменаОбластейДанных.mdo index e49768003..1d20dd752 100644 --- a/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/НастройкиТранспортаОбменаОбластейДанных.mdo +++ b/SSL/src/InformationRegisters/НастройкиТранспортаОбменаОбластейДанных/НастройкиТранспортаОбменаОбластейДанных.mdo @@ -267,6 +267,7 @@ 50 + true ru Поле для задания пароля для сжатия и распаковки архива сообщения обмена. Подразумевается, что пароль сжатия в базе источнике и пароль распаковки в базе приемнике должны быть одинаковыми для пары обменивающихся конфигураций. diff --git a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Form.form b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Form.form index 7a68460e4..c60c9cbd2 100644 --- a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Form.form +++ b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Form.form @@ -120,40 +120,6 @@ Ответственные 75 - - Отступ - 76 - - <key>ru</key> - <value> </value> - - true - true - - true - - - ОтступExtendedTooltip - 86 - Label - true - true - - Left - - - - ОтступКонтекстноеМеню - 77 - true - - Label - true - true - - Left - - СтраницыОтветственный 55 @@ -726,7 +692,7 @@ - СтраницаПодписи + СтраницаПодписьДляНового 47 ГруппаДляНовыхСообщений @@ -1105,6 +1071,37 @@ Auto + true + true + + true + + + <key>ru</key> + <value>Подпись для нового</value> + + + ru + Страница подпись для нового + + + СтраницаПодписьДляНовогоРасширеннаяПодсказка + 99 + Label + true + true + + Left + + + Page + + auto + + + + СтраницаПодписьПриОтвете + 120 ГруппаПриОтветеПересылке 18 @@ -1489,15 +1486,15 @@
                                        <key>ru</key> - <value>Подписи</value> + <value>Подпись при ответе</value> ru - Страница подписи + Страница подпись при ответе - СтраницаПодписиExtendedTooltip - 99 + СтраницаПодписьПриОтветеРасширеннаяПодсказка + 121 Label true true @@ -1507,6 +1504,7 @@ Page + Vertical auto @@ -1685,6 +1683,10 @@ + + AfterWriteAtServer + ПослеЗаписиНаСервере + OnReadAtServer ПриЧтенииНаСервере diff --git a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Help/ru.html b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Help/ru.html index d7a9e6554..e393db756 100644 --- a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Help/ru.html +++ b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Help/ru.html @@ -1,25 +1,74 @@ - -

                                        Настройки учетных записей электронной почты

                                        + +

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

                                        +

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

                                        Как настроить использование учетной записи во встроенном почтовом клиенте?

                                        -

                                        На что влияет флаг Персональная учетная запись?

                                        -

                                        На что влияет флаг Удалять письма после отправки?

                                        -

                                        На что влияет флаг Помещать письма в папку письма основания?

                                        +

                                        На что влияет флажок Персональная учетная запись?

                                        +

                                        Как можно использовать коллективную учетную запись?

                                        +

                                        На что влияет флажок Удалять письма после отправки?

                                        +

                                        На что влияет флажок Помещать письма в папку письма основания?

                                        Как указать, что в представление отправителя письма необходимо включать имя пользователя, указанное в учетной записи?

                                        Как настроить подпись к письму?

                                        -

                                        Как настроить использование учетной записи во встроенном почтовом клиенте?

                                        -
                                        • Если необходимо получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте, то выберите соответствующее значение. -
                                        • Если использование во внутреннем почтовом клиенте не предполагается, например эта учетная запись используется для обменов с другими информационными базами, то выберите значение Не использовать.
                                        -

                                        На что влияет флаг Персональная учетная запись?

                                        -


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

                                        -

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

                                        На что влияет флаг Удалять письма после отправки?

                                        -


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

                                        -

                                        На что влияет флаг Помещать письма в папку письма основания?

                                        -


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

                                        -

                                        Как указать, что в представление отправителя письма необходимо включать имя пользователя, указанное в учетной записи?

                                        -


                                        Установите флаг В представление включать имя пользователя на закладке Основное

                                        -

                                        Как настроить подпись к письму?

                                        -


                                        Настройка подписей производится на закладке Подписи. Можно создать подпись двух видов: для новых сообщений и для сообщений при ответе или пересылке.
                                        Установите флаг Включить для нужного вида подписи. Укажите формат подписи. Создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.

                                        -

                                        -
                                        Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе Администрирование/Органайзер отредактировав значение флага Исходящие письма в формате HTML.

                                         

                                        \ No newline at end of file +

                                        Настройка использования учетной записи во встроенном почтовом клиенте

                                        +
                                        • Настройки производятся на вкладке Основное с помощью переключателя Использование для встроенного почтового клиента: +
                                          • Выберите значение Получать, сохранять и отправлять письма с этой учетной записи во встроенном почтовом клиенте, если с данной учетной записи электронной почты планируется переписка. +
                                          • Если использование во внутреннем почтовом клиенте не предполагается (например, эта учетная запись используется для обменов с другими программами), то выберите значение Не использовать.

                                        Назначение флажка Персональная учетная запись

                                        +
                                        • +
                                          Настройка производится на вкладке Основное.
                                          +
                                        • +
                                          Учетные записи электронной почты во встроенном почтовом клиенте делятся на два типа: Персональные и Коллективные.
                                          +
                                        • +
                                          Если учетная запись Персональная, то для нее флажок должен быть включен.
                                          +
                                          • +
                                            Выберите Пользователя учетной записи (ответственного за учетную запись) из списка пользователей. Поле является обязательным для заполнения.
                                            +
                                          • +
                                            Для персональной учетной записи ответственный за нее управляет составом папок и является ответственным за обработку писем.
                                        • +
                                          Для коллективной учетной записи ответственным за папки может быть один пользователь, а ответственным за обработку писем по умолчанию другой (например, администратор программы).
                                          +
                                          • +
                                            Выберите Ответственного за обработку писем из списка пользователей. Поле является обязательным для заполнения.
                                            +
                                          • +
                                            Выберите Ответственного за ведение папок из списка пользователей. Поле является обязательным для заполнения.

                                        Пример использования коллективной учетной записи

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

                                        Назначение флажка Удалять письма после отправки

                                        +
                                        • +
                                          Настройка производится на вкладке Основное.
                                          +
                                        • +
                                          Если нет необходимости хранить исходящие письма, успешно отправленные с данной учетной записи, то этот флажок должен быть включен.
                                          +
                                        • +
                                          В этом случае после отправки письма будут удалены.

                                        Назначение флажка Помещать письма в папку письма-основания

                                        +
                                        • +
                                          Настройка производится на вкладке Основное.
                                          +
                                        • +
                                          Если данный флажок включен, то для писем, которые являются ответом или пересылаемым письмом, не будут применяться правила обработки.
                                          +
                                        • +
                                          Такие письма всегда будут помещаться в ту же папку, что и письмо-основание.
                                        +

                                        Включение имени пользователя, указанного в учетной записи, в представление отправителя письма

                                        +
                                        • +
                                          Установите флажок В представление включать имя пользователя на вкладке Основное.
                                        +

                                        Настройка подписи к письму

                                        +
                                        • +
                                          Можно создать подпись двух видов:
                                          +
                                          • +
                                            для новых сообщений - на вкладке Подпись для нового.
                                            +
                                          • +
                                            для сообщений при ответе или пересылке - на вкладке Подпись при ответе.
                                        • +
                                          Установите флажок Включить для нужного вида подписи.
                                          +
                                        • +
                                          Выберите из списка формат подписи:
                                          +
                                          • +
                                            Обычный текст;
                                            +
                                          • +
                                            HTML - создание подписи в формате HTML позволит форматировать текст и вставлять в него картинки.
                                        • +
                                          Напишите подпись в соответствующем поле. При выборе формата HTML можно форматировать текст различными способами, вставлять картинки и гиперссылки. Текст можно форматировать с помощью соответствующих кнопок, а также команд меню Все действия (в интерфейсе Такси Еще).
                                          +
                                        • +
                                          Необходимо учитывать, что при переключении ранее введенной подписи из формата HTML в Обычный текст часть информации (например, картинки, гиперссылки и другие элементы, которые существуют только в формате HTML), удаляется безвозвратно. Программа выводит об этом предупреждение. Для подтверждения нажмите Да.
                                          +
                                        • +
                                          Также подписи можно настроить по команде Персональные настройки из списка взаимодействий.

                                        +
                                        +

                                        Важно. Создание подписей в формате HTML доступно, если это предусмотрено настройками программы. Данную настройку можно изменить в разделе Администрирование - Органайзер, включив флажок Исходящие письма в формате HTML.

                                        См. также:

                                        + \ No newline at end of file diff --git a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Module.bsl b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Module.bsl index 4041a98bc..7bcc094d7 100644 --- a/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Module.bsl +++ b/SSL/src/InformationRegisters/НастройкиУчетныхЗаписейЭлектроннойПочты/Forms/ФормаЗаписи/Module.bsl @@ -77,6 +77,23 @@ КонецЕсли; + УстановитьКартинкиСтраниц(); + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + УстановитьКартинкиСтраниц(); + +КонецПроцедуры + +&НаСервере +Процедура УстановитьКартинкиСтраниц() + + Элементы.СтраницаПодписьПриОтвете.Картинка = ВзаимодействияКлиентСервер.ПолучитьКартинкуСтраницыПодписи(Запись.ВключатьПодписьПриОтветеПересылке); + Элементы.СтраницаПодписьДляНового.Картинка = ВзаимодействияКлиентСервер.ПолучитьКартинкуСтраницыПодписи(Запись.ВключатьПодписьДляНовыхСообщений); + КонецПроцедуры &НаСервере @@ -212,7 +229,8 @@ Процедура ОбновитьСостояниеЭлементовФормы(Форма) ВзаимодействияКлиентСервер.УстановитьСвойствоЭлементовГруппы(Форма.Элементы.ГруппаОсновныеНастройки, "Доступность", НЕ Форма.Запись.НеИспользоватьВоВстроенномПочтовомКлиенте); - Форма.Элементы.СтраницаПодписи.Доступность = НЕ Форма.Запись.НеИспользоватьВоВстроенномПочтовомКлиенте; + Форма.Элементы.СтраницаПодписьДляНового.Доступность = НЕ Форма.Запись.НеИспользоватьВоВстроенномПочтовомКлиенте; + Форма.Элементы.СтраницаПодписьПриОтвете.Доступность = НЕ Форма.Запись.НеИспользоватьВоВстроенномПочтовомКлиенте; Если Форма.Запись.ФорматПодписиДляНовыхСообщений = ПредопределенноеЗначение( "Перечисление.СпособыРедактированияЭлектронныхПисем.HTML") Тогда @@ -284,4 +302,5 @@ КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/Help/ru.html b/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/Help/ru.html index 01c538eaf..82829145b 100644 --- a/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/Help/ru.html +++ b/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/Help/ru.html @@ -1,6 +1,6 @@ - +

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

                                        -

                                        Список можно просмотреть по команде Настройка сканирования - Открыть номера отсканированных файлов на закладке Настройки работы с файлами в персональных настройках программы.

                                        +

                                        Список можно просмотреть по команде Настройка сканирования - Открыть номера отсканированных файлов на закладке Работа с файлами в персональных настройках программы.

                                        Программа автоматически присваивает номер отсканированным файлам. В списке можно отследить движение файлов, увидеть, какие файлы были удалены.

                                        В списке выводится:

                                        • Владелец - объект программы. Если номер был использован в нескольких объектах программы, то это можно увидеть в списке; diff --git a/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/НомераОтсканированныхФайлов.mdo b/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/НомераОтсканированныхФайлов.mdo index 317a69b55..732bde3f2 100644 --- a/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/НомераОтсканированныхФайлов.mdo +++ b/SSL/src/InformationRegisters/НомераОтсканированныхФайлов/НомераОтсканированныхФайлов.mdo @@ -48,6 +48,7 @@ + true ru diff --git a/SSL/src/InformationRegisters/ОбластиДанных/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ОбластиДанных/Forms/ФормаСписка/Form.form index c2bd09864..f75443878 100644 --- a/SSL/src/InformationRegisters/ОбластиДанных/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ОбластиДанных/Forms/ФормаСписка/Form.form @@ -30,8 +30,8 @@ true - ОбластьДанныхExtendedTooltip - 24 + ОбластьДанныхРасширеннаяПодсказка + 33 Label true true @@ -66,8 +66,8 @@ Список.Представление - ПредставлениеExtendedTooltip - 25 + ПредставлениеРасширеннаяПодсказка + 34 Label true true @@ -103,8 +103,8 @@ true - СтатусExtendedTooltip - 26 + СтатусРасширеннаяПодсказка + 35 Label true true @@ -140,8 +140,8 @@ true - ПовторExtendedTooltip - 27 + ПовторРасширеннаяПодсказка + 36 Label true true @@ -177,8 +177,8 @@ true - ОшибкаОбработкиExtendedTooltip - 28 + ОшибкаОбработкиРасширеннаяПодсказка + 37 Label true true @@ -210,8 +210,8 @@ Список.ЧасовойПояс - ЧасовойПоясExtendedTooltip - 29 + ЧасовойПоясРасширеннаяПодсказка + 38 Label true true @@ -246,8 +246,8 @@ Список.Префикс - ПрефиксExtendedTooltip - 30 + ПрефиксРасширеннаяПодсказка + 39 Label true true @@ -283,8 +283,8 @@ true - ИдентификаторВыгрузкиExtendedTooltip - 31 + ИдентификаторВыгрузкиРасширеннаяПодсказка + 40 Label true true @@ -320,8 +320,8 @@ true - ВариантExtendedTooltip - 32 + ВариантРасширеннаяПодсказка + 41 Label true true @@ -352,10 +352,10 @@ СписокСтрокаПоиска - 33 + 24 СписокСтрокаПоискаРасширеннаяПодсказка - 35 + 26 Label true true @@ -365,7 +365,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 34 + 25 true Список @@ -375,10 +375,10 @@ СписокСостояниеПросмотра - 36 + 27 СписокСостояниеПросмотраРасширеннаяПодсказка - 38 + 29 Label true true @@ -388,7 +388,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 37 + 28 true ViewStatusAddition @@ -399,10 +399,10 @@ СписокУправлениеПоиском - 39 + 30 СписокУправлениеПоискомРасширеннаяПодсказка - 41 + 32 Label true true @@ -412,7 +412,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 40 + 31 true SearchControlAddition @@ -422,7 +422,7 @@ - СписокExtendedTooltip + СписокРасширеннаяПодсказка 23 Label true diff --git a/SSL/src/InformationRegisters/ПодпискиПолучателей/Forms/НастройкаПодписокЭтойКонечнойТочки/Module.bsl b/SSL/src/InformationRegisters/ПодпискиПолучателей/Forms/НастройкаПодписокЭтойКонечнойТочки/Module.bsl index 97533e979..769167b64 100644 --- a/SSL/src/InformationRegisters/ПодпискиПолучателей/Forms/НастройкаПодписокЭтойКонечнойТочки/Module.bsl +++ b/SSL/src/InformationRegisters/ПодпискиПолучателей/Forms/НастройкаПодписокЭтойКонечнойТочки/Module.bsl @@ -10,7 +10,6 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(Список, "Получатель", ОбменСообщениямиВнутренний.ЭтотУзел() ); - КонецПроцедуры #КонецОбласти diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ВыбораРежимаОткрытияМакета/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ВыбораРежимаОткрытияМакета/Help/ru.html index e1703c348..f49b6cf1d 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ВыбораРежимаОткрытияМакета/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ВыбораРежимаОткрытияМакета/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Предназначена для выбора режима открытия макета.

                                          Для открытия макета в списке Макеты печатных форм можно:

                                          • нажать клавишу Enter - необходимо выбрать режим открытия макета; @@ -9,6 +9,6 @@
                                            • Только для просмотра - макет не будет помечен как занятый Вами для редактирования и откроется внешним приложением в режиме "только просмотр".
                                            • Для просмотра и редактирования - макет будет помечен как занятый Вами для редактирования и откроется внешним приложением с возможностью внесения и сохранения изменений.

                                            Прекращение вывода сообщения

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

                                            См. также:

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

                                          См. также:

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ДиалогПовтораПечати/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ДиалогПовтораПечати/Help/ru.html index 524554ec2..274883930 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ДиалогПовтораПечати/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ДиалогПовтораПечати/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Произошла ошибка. Необходимо указать другую папку для получения файла.

                                          Нажмите Изменить рабочий каталог печати, введите путь к папке на компьютере.

                                          После этого нажмите Повторить печать.

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Form.form b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Form.form index 337716ea3..62296e24b 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Form.form +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Form.form @@ -784,6 +784,10 @@ NotificationProcessing ОбработкаОповещения + + OnOpen + ПриОткрытии + BeforeClose ПередЗакрытием diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Help/ru.html index f38a4f7d4..615d8dc9a 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Открыть список можно с помощью команды Макеты печатных форм раздела Администрирование - Печатные формы, отчеты и обработки.

                                          В списке выводится:

                                          diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Module.bsl b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Module.bsl index f0a04085b..d6e1f3fae 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Module.bsl +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/МакетыПечатныхФорм/Module.bsl @@ -11,7 +11,11 @@ КонецЕсли; ЗаполнитьТаблицуМакетовПечатныхФорм(); - ОтборПоИспользованиюМакета = Элементы.ОтборПоИспользованиюМакета.СписокВыбора[0].Значение; + Если Параметры.Свойство("ПоказыватьТолькоПользовательскиеИзмененные") Тогда + ОтборПоИспользованиюМакета = "ИспользуемыеИзмененные"; + Иначе + ОтборПоИспользованиюМакета = Элементы.ОтборПоИспользованиюМакета.СписокВыбора[0].Значение; + КонецЕсли; СпрашиватьРежимОткрытияМакета = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить( "НастройкаОткрытияМакетов", "СпрашиватьРежимОткрытияМакета", Истина); @@ -76,6 +80,11 @@ КонецПроцедуры +&НаКлиенте +Процедура ПриОткрытии(Отказ) + УстановитьОтборМакетов(); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыМакетыПечатныхФорм diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/НастройкаКаталогаФайловПечати/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/НастройкаКаталогаФайловПечати/Help/ru.html index e28a8d219..b6791ee95 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/НастройкаКаталогаФайловПечати/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/НастройкаКаталогаФайловПечати/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          -

                                          Вызывается по команде Настройка рабочего каталога печати в персональных настройках программы.

                                          +

                                          Вызывается по команде Настройка рабочего каталога печати в персональных настройках программы на странице Печать.

                                          С помощью кнопки  выберите путь к папке на компьютере. Нажмите ОК.

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Form.form b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Form.form new file mode 100644 index 000000000..ad31f00db --- /dev/null +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Form.form @@ -0,0 +1,262 @@ + + + + ГруппаСообщениеПользователю + 7 + + КартинкаСообщения + 9 + + <key>ru</key> + <value>Картинка сообщения</value> + + true + true + + true + + + КартинкаСообщенияРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + + КартинкаСообщенияКонтекстноеМеню + 10 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ТекстСообщения + 12 + + <key>ru</key> + <value>Рекомендуется проверить совместимость отредактированных макетов +печатных форм с текущей версией программы. +Если печатные формы открываются некорректно, то рекомендуется использовать стандартный макет.</value> + + true + true + + true + + + ТекстСообщенияРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + + ТекстСообщенияКонтекстноеМеню + 13 + true + + Label + true + true + + Left + + + true + true + + true + + + ГруппаСообщениеПользователюРасширеннаяПодсказка + 8 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + Bottom + true + + ФормаКоманднаяПанель + -1 + + ФормаПерейтиКСписку + 3 + true + true + + true + + + ФормаПерейтиКСпискуРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Form.Command.ПерейтиКСписку + Auto + true + true + true + UserCmds + Auto + + + ФормаПроверено + 1 + true + true + + true + + + ФормаПровереноРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Form.Command.Проверено + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗакрыть + 5 + true + true + + true + + + ФормаЗакрытьРасширеннаяПодсказка + 6 + Label + true + true + + Left + + + Form.Command.Закрыть + Normal + Auto + true + true + UserCmds + Auto + + Right + + 60 + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + Проверено + + <key>ru</key> + <value>Проверено</value> + + 1 + + ru + Не выводить больше это сообщение до следующего обновления программы. + + + true + + + + Проверено + + + Auto + Auto + + + ПерейтиКСписку + + <key>ru</key> + <value>Перейти к списку</value> + + 2 + + true + + + + ПерейтиКСписку + + + Auto + Auto + + + Закрыть + + <key>ru</key> + <value>Отмена</value> + + 3 + + true + + + + ЗакрытьФорму + + + Auto + Auto + + + + + + diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Module.bsl b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Module.bsl new file mode 100644 index 000000000..b970c99af --- /dev/null +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/ПроверкаПечатныхФорм/Module.bsl @@ -0,0 +1,35 @@ +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ПерейтиКСписку(Команда) + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ПоказыватьТолькоПользовательскиеИзмененные", Истина); + + ОткрытьФорму("РегистрСведений.ПользовательскиеМакетыПечати.Форма.МакетыПечатныхФорм", ПараметрыФормы); +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму(Команда) + Закрыть(); +КонецПроцедуры + +&НаКлиенте +Процедура Проверено(Команда) + ОтметитьВыполнениеДела(); + Закрыть(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ОтметитьВыполнениеДела() + + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "ПечатныеФормы", ТекущаяВерсия); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/РедактированиеМакета/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/РедактированиеМакета/Help/ru.html index 55b41c85e..91cdb4154 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/РедактированиеМакета/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Forms/РедактированиеМакета/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Макеты в виде табличного документа редактируются в самой программе, а для редактирования макетов в виде офисных документов в форматах Microsoft Word и OpenOffice.org Writer на компьютере должны быть установлены соответствующие офисные программы.

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

                                          diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Help/ru.html b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Help/ru.html index e0cf8e95b..0b016f7d6 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Help/ru.html +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Многие документы, справочники и другие объекты программы имеют свои печатные формы. Печатные формы могут формироваться в виде табличных документов или офисных документов в форматах Microsoft Word, OpenOffice.org Writer, Adobe PDF, HTML, Microsoft Excel, а также в формате табличного документа 1С:Предприятие (.mxl). При этом не требуется, чтобы сами эти программы были установлены на компьютере.

                                          В то же время, для формирования печатных форм, которые сразу выводятся в форматах Microsoft Word и OpenOffice.org Writer, необходимо, чтобы на компьютере были установлены соответствующие офисные программы.

                                          Особенности формирования печатных форм в веб-клиенте

                                          diff --git a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/ПользовательскиеМакетыПечати.mdo b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/ПользовательскиеМакетыПечати.mdo index 994777c38..f8b3bcaa6 100644 --- a/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/ПользовательскиеМакетыПечати.mdo +++ b/SSL/src/InformationRegisters/ПользовательскиеМакетыПечати/ПользовательскиеМакетыПечати.mdo @@ -217,4 +217,13 @@ PersonalComputer MobileDevice + + ПроверкаПечатныхФорм + + ru + Проверка печатных форм + + PersonalComputer + MobileDevice + diff --git a/SSL/src/InformationRegisters/ПраваРолей/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ПраваРолей/Forms/ФормаСписка/Form.form index 715599d8f..7aca703db 100644 --- a/SSL/src/InformationRegisters/ПраваРолей/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ПраваРолей/Forms/ФормаСписка/Form.form @@ -1,603 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 56 true true true - - Список - - true - None - Copy - Create - - ОбъектМетаданных - 6 - true - true - - true - - - Список.ОбъектМетаданных - - true - - ru - Представление объекта метаданных с типом. - - - ОбъектМетаданныхExtendedTooltip - 39 - Label - true - true - - Left - - - - ОбъектМетаданныхКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Роль - 4 - - <key>ru</key> - <value>Роль</value> - - true - true - - true - - - Список.Роль - - true - - РольExtendedTooltip - 40 - Label - true - true - - Left - - - - РольКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - 25 - true - true - - - - ПравоЧтение - 31 - - Чтение - 29 - true - true - - true - - - Список.Чтение - - - ru - Право Чтение, установленное в роли. - - - ЧтениеExtendedTooltip - 42 - Label - true - true - - Left - - - - ЧтениеКонтекстноеМеню - 30 - true - - CheckBoxField - Enter - true - Left - true - - - - ЧтениеБезОграничения - 14 - - <key>ru</key> - <value>Без ограничения</value> - - true - true - - true - - - Список.ЧтениеБезОграничения - - true - - ЧтениеБезОграниченияExtendedTooltip - 43 - Label - true - true - - Left - - - - ЧтениеБезОграниченияКонтекстноеМеню - 15 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Право чтение</value> - - - ru - Право чтение - - - ПравоЧтениеExtendedTooltip - 41 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - ПравоДобавление - 32 - - Добавление - 8 - true - true - - true - - - Список.Добавление - - true - - ДобавлениеExtendedTooltip - 45 - Label - true - true - - Left - - - - ДобавлениеКонтекстноеМеню - 9 - true - - CheckBoxField - Enter - true - Left - true - - - - ДобавлениеБезОграничения - 16 - - <key>ru</key> - <value>Без ограничения</value> - - true - true - - true - - - Список.ДобавлениеБезОграничения - - true - - ДобавлениеБезОграниченияExtendedTooltip - 46 - Label - true - true - - Left - - - - ДобавлениеБезОграниченияКонтекстноеМеню - 17 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Право добавление</value> - - - ru - Право добавление - - - ПравоДобавлениеExtendedTooltip - 44 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - ПравоИзменение - 33 - - Изменение - 10 - true - true - - true - - - Список.Изменение - - true - - ИзменениеExtendedTooltip - 48 - Label - true - true - - Left - - - - ИзменениеКонтекстноеМеню - 11 - true - - CheckBoxField - Enter - true - Left - true - - - - ИзменениеБезОграничения - 18 - - <key>ru</key> - <value>Без ограничения</value> - - true - true - - true - - - Список.ИзменениеБезОграничения - - true - - ИзменениеБезОграниченияExtendedTooltip - 49 - Label - true - true - - Left - - - - ИзменениеБезОграниченияКонтекстноеМеню - 19 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Право изменение</value> - - - ru - Право изменение - - - ПравоИзменениеExtendedTooltip - 47 - Label - true - true - - Left - - - ColumnGroup - - Vertical - auto - true - - - - Просмотр - 22 - true - true - - true - - - Список.Просмотр - - true - - ПросмотрExtendedTooltip - 53 - Label - true - true - - Left - - - - ПросмотрКонтекстноеМеню - 23 - true - - CheckBoxField - Enter - true - Left - true - - - - ИнтерактивноеДобавление - 24 - true - true - - true - - - Список.ИнтерактивноеДобавление - - true - - ИнтерактивноеДобавлениеExtendedTooltip - 54 - Label - true - true - - Left - - - - ИнтерактивноеДобавлениеКонтекстноеМеню - 25 - true - - CheckBoxField - Enter - true - Left - true - - - - Редактирование - 26 - true - true - - true - - - Список.Редактирование - - true - - РедактированиеExtendedTooltip - 55 - Label - true - true - - Left - - - - РедактированиеКонтекстноеМеню - 27 - true - - CheckBoxField - Enter - true - Left - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 56 - - СписокСтрокаПоискаРасширеннаяПодсказка - 58 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 57 - true - - Список - - true - - - - СписокСостояниеПросмотра - 59 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 61 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 60 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 62 - - СписокУправлениеПоискомРасширеннаяПодсказка - 64 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 63 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 38 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 57 Label true true @@ -605,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                          - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 58 ФормаОбновитьДанныеРегистра 35 @@ -704,8 +91,672 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 59 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + Create + + СписокОбъектМетаданных + 6 + true + true + + true + + + Список.ОбъектМетаданных + + true + + ru + Представление объекта метаданных с типом. + + + СписокОбъектМетаданныхРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + + СписокОбъектМетаданныхКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокРоль + 4 + + <key>ru</key> + <value>Роль</value> + + true + true + + true + + + Список.Роль + + true + + СписокРольРасширеннаяПодсказка + 40 + Label + true + true + + Left + + + + СписокРольКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + 25 + true + true + + + + СписокГруппаПравоЧтение + 31 + + СписокЧтение + 29 + true + true + + true + + + Список.Чтение + + + ru + Право Чтение, установленное в роли. + + + СписокЧтениеРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + СписокЧтениеКонтекстноеМеню + 30 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокЧтениеБезОграничения + 14 + + <key>ru</key> + <value>Без ограничения</value> + + true + true + + true + + + Список.ЧтениеБезОграничения + + true + + СписокЧтениеБезОграниченияРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + + СписокЧтениеБезОграниченияКонтекстноеМеню + 15 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа право чтение</value> + + + СписокГруппаПравоЧтениеРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокГруппаПравоДобавление + 32 + + СписокДобавление + 8 + true + true + + true + + + Список.Добавление + + true + + СписокДобавлениеРасширеннаяПодсказка + 45 + Label + true + true + + Left + + + + СписокДобавлениеКонтекстноеМеню + 9 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокДобавлениеБезОграничения + 16 + + <key>ru</key> + <value>Без ограничения</value> + + true + true + + true + + + Список.ДобавлениеБезОграничения + + true + + СписокДобавлениеБезОграниченияРасширеннаяПодсказка + 46 + Label + true + true + + Left + + + + СписокДобавлениеБезОграниченияКонтекстноеМеню + 17 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа право добавление</value> + + + СписокГруппаПравоДобавлениеРасширеннаяПодсказка + 44 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокГруппаПравоИзменение + 33 + + СписокИзменение + 10 + true + true + + true + + + Список.Изменение + + true + + СписокИзменениеРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + СписокИзменениеКонтекстноеМеню + 11 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокИзменениеБезОграничения + 18 + + <key>ru</key> + <value>Без ограничения</value> + + true + true + + true + + + Список.ИзменениеБезОграничения + + true + + СписокИзменениеБезОграниченияРасширеннаяПодсказка + 49 + Label + true + true + + Left + + + + СписокИзменениеБезОграниченияКонтекстноеМеню + 19 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Список группа право изменение</value> + + + СписокГруппаПравоИзменениеРасширеннаяПодсказка + 47 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + СписокПросмотр + 22 + true + true + + true + + + Список.Просмотр + + true + + СписокПросмотрРасширеннаяПодсказка + 53 + Label + true + true + + Left + + + + СписокПросмотрКонтекстноеМеню + 23 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокИнтерактивноеДобавление + 24 + true + true + + true + + + Список.ИнтерактивноеДобавление + + true + + СписокИнтерактивноеДобавлениеРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + + СписокИнтерактивноеДобавлениеКонтекстноеМеню + 25 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокРедактирование + 26 + true + true + + true + + + Список.Редактирование + + true + + СписокРедактированиеРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + + СписокРедактированиеКонтекстноеМеню + 27 + true + + CheckBoxField + Enter + true + Left + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 60 + + СписокСтрокаПоискаРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 61 + true + + Список + + true + + + + СписокСостояниеПросмотра + 63 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 65 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 64 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 66 + + СписокУправлениеПоискомРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 67 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 38 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 8 + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                          + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ПраваРолей/ManagerModule.bsl b/SSL/src/InformationRegisters/ПраваРолей/ManagerModule.bsl index 834fa5cb8..374db1d5a 100644 --- a/SSL/src/InformationRegisters/ПраваРолей/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/ПраваРолей/ManagerModule.bsl @@ -12,6 +12,8 @@ УстановитьПривилегированныйРежим(Истина); + СтандартныеПодсистемыПовтИсп.СправочникИдентификаторыОбъектовМетаданныхПроверкаИспользования(Истина); + Если ТолькоПроверка ИЛИ МонопольныйРежим() Тогда СнятьМонопольныйРежим = Ложь; Иначе @@ -22,46 +24,64 @@ ВозможныеПраваОбъектовМетаданных = ВозможныеПраваОбъектовМетаданных(); ПраваРолей = РегистрыСведений.ПраваРолей.СоздатьНаборЗаписей().Выгрузить(); + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Идентификаторы.Ссылка КАК Идентификатор, + | Идентификаторы.ПолноеИмя + |ИЗ + | Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы + |ГДЕ + | НЕ Идентификаторы.ПометкаУдаления"; + + ТаблицаИдентификаторов = Запрос.Выполнить().Выгрузить(); + ТаблицаИдентификаторов.Колонки.Добавить("ОбъектМетаданных", Новый ОписаниеТипов("ОбъектМетаданных")); + ТаблицаИдентификаторов.Индексы.Добавить("ПолноеИмя"); + ТаблицаИдентификаторов.Индексы.Добавить("ОбъектМетаданных"); + Для каждого ВозможныеПрава Из ВозможныеПраваОбъектовМетаданных Цикл Для каждого ОбъектМетаданных Из Метаданные[ВозможныеПрава.Коллекция] Цикл - Идентификатор = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(ОбъектМетаданных); - Поля = ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных); + ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); + Идентификатор = ИдентификаторОбъектаМетаданных(ТаблицаИдентификаторов, ПолноеИмя); + Поля = ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, ПолноеИмя); Для каждого Роль Из Метаданные.Роли Цикл - Если ПравоДоступа("Чтение", ОбъектМетаданных, Роль) Тогда - НоваяСтрока = ПраваРолей.Добавить(); - - НоваяСтрока.Роль = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Роль); - НоваяСтрока.ОбъектМетаданных = Идентификатор; - - НоваяСтрока.Добавление = ВозможныеПрава.ПравоДобавления - И ПравоДоступа("Добавление", ОбъектМетаданных, Роль); - - НоваяСтрока.Изменение = ВозможныеПрава.ПравоИзменения - И ПравоДоступа("Изменение", ОбъектМетаданных, Роль); - - НоваяСтрока.ЧтениеБезОграничения = - НЕ ПараметрыДоступа("Чтение", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; - - НоваяСтрока.ДобавлениеБезОграничения = - НоваяСтрока.Добавление - И НЕ ПараметрыДоступа("Добавление", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; - - НоваяСтрока.ИзменениеБезОграничения = - НоваяСтрока.Изменение - И НЕ ПараметрыДоступа("Изменение", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; - - НоваяСтрока.Просмотр = ПравоДоступа("Просмотр", ОбъектМетаданных, Роль); - - НоваяСтрока.Редактирование = ВозможныеПрава.ПравоИзменения - И ПравоДоступа("Редактирование", ОбъектМетаданных, Роль); - - НоваяСтрока.ИнтерактивноеДобавление = - ВозможныеПрава.ПравоДобавления - И ПравоДоступа("ИнтерактивноеДобавление", ОбъектМетаданных, Роль); + Если Не ПравоДоступа("Чтение", ОбъектМетаданных, Роль) Тогда + Продолжить; КонецЕсли; + + НоваяСтрока = ПраваРолей.Добавить(); + + НоваяСтрока.Роль = ИдентификаторОбъектаМетаданных(ТаблицаИдентификаторов, Роль); + НоваяСтрока.ОбъектМетаданных = Идентификатор; + + НоваяСтрока.Добавление = ВозможныеПрава.ПравоДобавления + И ПравоДоступа("Добавление", ОбъектМетаданных, Роль); + + НоваяСтрока.Изменение = ВозможныеПрава.ПравоИзменения + И ПравоДоступа("Изменение", ОбъектМетаданных, Роль); + + НоваяСтрока.ЧтениеБезОграничения = + НЕ ПараметрыДоступа("Чтение", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; + + НоваяСтрока.ДобавлениеБезОграничения = + НоваяСтрока.Добавление + И НЕ ПараметрыДоступа("Добавление", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; + + НоваяСтрока.ИзменениеБезОграничения = + НоваяСтрока.Изменение + И НЕ ПараметрыДоступа("Изменение", ОбъектМетаданных, Поля, Роль).ОграничениеУсловием; + + НоваяСтрока.Просмотр = ПравоДоступа("Просмотр", ОбъектМетаданных, Роль); + + НоваяСтрока.Редактирование = ВозможныеПрава.ПравоИзменения + И ПравоДоступа("Редактирование", ОбъектМетаданных, Роль); + + НоваяСтрока.ИнтерактивноеДобавление = + ВозможныеПрава.ПравоДобавления + И ПравоДоступа("ИнтерактивноеДобавление", ОбъектМетаданных, Роль); КонецЦикла; КонецЦикла; @@ -272,6 +292,38 @@ КонецФункции +Функция ИдентификаторОбъектаМетаданных(ТаблицаИдентификаторов, ОбъектМетаданных) + + Если ТипЗнч(ОбъектМетаданных) = Тип("ОбъектМетаданных") Тогда + СтрокаТаблицы = ТаблицаИдентификаторов.Найти(ОбъектМетаданных, "ОбъектМетаданных"); + Если СтрокаТаблицы <> Неопределено Тогда + Возврат СтрокаТаблицы.Идентификатор; + КонецЕсли; + ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); + Иначе + ПолноеИмя = ОбъектМетаданных; + КонецЕсли; + + СтрокаТаблицы = ТаблицаИдентификаторов.Найти(ПолноеИмя, "ПолноеИмя"); + Если СтрокаТаблицы = Неопределено Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка при выполнении функции ОбщегоНазначения.ИдентификаторОбъектаМетаданных(). + | + |Для объекта метаданных ""%1"" + |не найден идентификатор + |в справочнике ""Идентификаторы объектов метаданных"".'") + + СтандартныеПодсистемыСервер.УточнениеОшибкиПараметровРаботыПрограммыДляРазработчика(), + ПолноеИмя); + КонецЕсли; + + Если ТипЗнч(ОбъектМетаданных) = Тип("ОбъектМетаданных") Тогда + СтрокаТаблицы.ОбъектМетаданных = ОбъектМетаданных; + КонецЕсли; + + Возврат СтрокаТаблицы.Идентификатор; + +КонецФункции + // Функция возвращает поля объекта метаданных по которым может ограничиваться доступ. // // Параметры: @@ -284,11 +336,11 @@ // Если ПолучитьМассивИмен = Истина, тогда Массив строк. // Функция ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, + ПолноеИмя, ОбъектИБ = Неопределено, ПолучитьМассивИмен = Ложь) ИменаКоллекций = Новый Массив; - ПолноеИмя = ОбъектМетаданных.ПолноеИмя(); ИмяТипа = Лев(ПолноеИмя, Найти(ПолноеИмя, ".") - 1); Если ИмяТипа = "Справочник" Тогда @@ -439,10 +491,18 @@ ИмяПоля, ОбъектИБ.Метаданные.Роли.ПолныеПрава); КонецЕсли; - ИменаПолей.Добавить(ИмяПоля); + ПараметрыДоступаМожноПолучить = Истина; Исключение + // Некоторые поля, по которым не может быть настроено отдельное ограничение чтения + // могут вызывать ошибку при попытке получить параметры доступа. + // Эти поля нужно сразу исключить - для них проверка наличия ограничения не требуется. + ПараметрыДоступаМожноПолучить = Ложь; КонецПопытки; + Если ПараметрыДоступаМожноПолучить Тогда + ИменаПолей.Добавить(ИмяПоля); + КонецЕсли; + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Form.form new file mode 100644 index 000000000..b8da0a85a --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Form.form @@ -0,0 +1,1838 @@ + + + + <key>ru</key> + <value>Правила для синхронизации с %1</value> + + + ГруппаОсновная + 25 + + ИсточникПравил + 29 + true + true + + true + + + ИсточникПравил + + None + + OnChange + ИсточникПравилПриИзменении + + + ИсточникПравилExtendedTooltip + 56 + Label + true + true + + Left + + + + ИсточникПравилКонтекстноеМеню + 30 + true + + RadioButtonField + Enter + true + Left + true + + 1 + + + ru + Из конфигурации + + + ТиповыеИзКонфигурации + + + + + ru + Из файла на компьютере + + + ЗагруженныеИзФайла + + + Vertical + + + + ГруппаИсточникиПравил + 15 + + ИсточникМакетКонфигурации + 16 + + СтраницаОдинМакет + 97 + + ПустаяДекорация + 99 + true + true + + true + + + ПустаяДекорацияРасширеннаяПодсказка + 101 + Label + true + true + + Left + + + + ПустаяДекорацияКонтекстноеМеню + 100 + true + + Label + true + true + + Left + + + true + true + + true + + + ru + Страница один макет + + + СтраницаОдинМакетРасширеннаяПодсказка + 98 + Label + true + true + + Left + + + Page + + Vertical + auto + + + true + true + + true + + + <key>ru</key> + <value>Источник макет конфигурации</value> + + + ru + Источник макет конфигурации + + + ИсточникМакетКонфигурацииExtendedTooltip + 58 + Label + true + true + + Left + + + Pages + + Auto + + + + ИсточникФайл + 17 + + ЗагрузитьТиповыеПравила + 19 + true + true + + true + + true + + ЗагрузитьТиповыеПравилаExtendedTooltip + 61 + Label + true + true + + Left + + + UsualButton + Form.Command.ЗагрузитьПравила + Normal + Auto + true + 1 + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Источник файл</value> + + + ru + Источник файл + + + ИсточникФайлExtendedTooltip + 63 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Группа источники правил</value> + + + ГруппаИсточникиПравилExtendedTooltip + 57 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + ru + Группа основная + + + ГруппаОсновнаяExtendedTooltip + 55 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаИнформацияОПолученииПравил + 109 + + Декорация2 + 114 + true + true + + true + + + Декорация2РасширеннаяПодсказка + 116 + Label + true + true + + Left + + + + Декорация2КонтекстноеМеню + 115 + true + + Label + 1 + true + true + + Left + + + + Декорация1 + 111 + true + + true + + + Декорация1РасширеннаяПодсказка + 113 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 112 + true + + 2 + true + 1 + true + + + CommonPicture.Информация + + + + + ДекорацияИнформацияОПолученииПравил + 106 + + <key>ru</key> + <value>Информация о правилах</value> + + true + true + + true + + + ДекорацияИнформацияОПолученииПравилРасширеннаяПодсказка + 108 + Label + true + true + + Left + + + + ДекорацияИнформацияОПолученииПравилКонтекстноеМеню + 107 + true + + Label + true + true + + Style.ПоясняющийТекст + + + + URLProcessing + ДекорацияИнформацияОПолученииПравилОбработкаНавигационнойСсылки + + Left + + + true + true + + true + + + ГруппаИнформацияОПолученииПравилРасширеннаяПодсказка + 110 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + ГруппаИнформацияОКомплекте + 104 + + ИнформацияОПравилах + 11 + true + true + + true + + + ИнформацияОПравилахОбщая + + + ИнформацияОПравилахExtendedTooltip + 79 + Label + true + true + + Left + + + + ИнформацияОПравилахКонтекстноеМеню + 12 + true + + InputField + true + Enter + true + Left + true + + true + 6 + true + true + true + true + true + true + Normal + + + true + true + + true + + + ГруппаИнформацияОКомплектеРасширеннаяПодсказка + 105 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + NormalSeparation + true + true + Auto + Auto + + + + ГруппаОтладки + 31 + + ВключитьРежимОтладки + 88 + + <key>ru</key> + <value>Включить режим отладки</value> + + true + true + + true + + + РежимОтладки + + Right + + OnChange + ВключитьРежимОтладкиПриИзменении + + + ВключитьРежимОтладкиРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + + ВключитьРежимОтладкиКонтекстноеМеню + 89 + true + + CheckBoxField + Enter + true + Left + true + + + + ГруппаНастройкиОтладки + 102 + + Декорация4 + 122 + true + true + + true + + + Декорация4РасширеннаяПодсказка + 124 + Label + true + true + + Left + + + + Декорация4КонтекстноеМеню + 123 + true + + Label + 1 + true + true + + Left + + + + Группа1 + 120 + + ГруппаОтладкиВыгрузки + 38 + + ВключитьОтладкуВыгрузки + 32 + + <key>ru</key> + <value>Подключить внешнюю обработку для отладки выгрузки</value> + + true + true + + true + + + РежимОтладкиВыгрузки + + Right + + OnChange + ВключитьОтладкуВыгрузкиПриИзменении + + + ВключитьОтладкуВыгрузкиExtendedTooltip + 70 + Label + true + true + + Left + + + + ВключитьОтладкуВыгрузкиКонтекстноеМеню + 33 + true + + CheckBoxField + Enter + true + Left + true + + + + ВнешняяОбработкаДляОтладкиВыгрузки + 40 + true + false + + true + + + ИмяФайлаОбработкиДляОтладкиВыгрузки + + None + + ВнешняяОбработкаДляОтладкиВыгрузкиExtendedTooltip + 71 + Label + true + true + + Left + + + + ВнешняяОбработкаДляОтладкиВыгрузкиКонтекстноеМеню + 41 + true + + InputField + Enter + true + Left + true + + + StartChoice + ВнешняяОбработкаДляОтладкиВыгрузкиНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа отладки выгрузки</value> + + + ru + Группа отладки выгрузки + + + ГруппаОтладкиВыгрузкиExtendedTooltip + 69 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаОтладкиЗагрузки + 39 + + ВключитьОтладкуЗагрузки + 34 + + <key>ru</key> + <value>Подключить внешнюю обработку для отладки загрузки</value> + + true + true + + true + + + РежимОтладкиЗагрузки + + Right + + OnChange + ВключитьОтладкуЗагрузкиПриИзменении + + + ВключитьОтладкуЗагрузкиExtendedTooltip + 73 + Label + true + true + + Left + + + + ВключитьОтладкуЗагрузкиКонтекстноеМеню + 35 + true + + CheckBoxField + Enter + true + Left + true + + + + ВнешняяОбработкаДляОтладкиЗагрузки + 36 + true + false + + true + + + ИмяФайлаОбработкиДляОтладкиЗагрузки + + None + + ВнешняяОбработкаДляОтладкиЗагрузкиExtendedTooltip + 74 + Label + true + true + + Left + + + + ВнешняяОбработкаДляОтладкиЗагрузкиКонтекстноеМеню + 37 + true + + InputField + Enter + true + Left + true + + + StartChoice + ВнешняяОбработкаДляОтладкиЗагрузкиНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа отладки загрузки</value> + + + ru + Группа отладки загрузки + + + ГруппаОтладкиЗагрузкиExtendedTooltip + 72 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПротокол + 42 + + ВключитьПротоколированиеОбменаДанными + 43 + true + true + + true + + + РежимПротоколированияОбменаДанными + + Right + + OnChange + ВключитьПротоколированиеОбменаДаннымиПриИзменении + + + ВключитьПротоколированиеОбменаДаннымиExtendedTooltip + 76 + Label + true + true + + Left + + + + ВключитьПротоколированиеОбменаДаннымиКонтекстноеМеню + 44 + true + + CheckBoxField + Enter + true + Left + true + + + + ФайлПротоколаОбмена + 45 + true + false + + true + + + ИмяФайлаПротоколаОбмена + + None + + ФайлПротоколаОбменаExtendedTooltip + 77 + Label + true + true + + Left + + + + ФайлПротоколаОбменаКонтекстноеМеню + 46 + true + + InputField + Enter + true + Left + true + + + StartChoice + ФайлПротоколаОбменаНачалоВыбора + + + Opening + ФайлПротоколаОбменаОткрытие + + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа протокол</value> + + + ru + Группа протокол + + + ГруппаПротоколExtendedTooltip + 75 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + НеОстанавливатьПоОшибке + 47 + + <key>ru</key> + <value>Не останавливать выполнение обмена данными при возникновении ошибки</value> + + true + true + + true + + + НеОстанавливатьПоОшибке + + Right + + НеОстанавливатьПоОшибкеExtendedTooltip + 78 + Label + true + true + + Left + + + + НеОстанавливатьПоОшибкеКонтекстноеМеню + 48 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + Группа1РасширеннаяПодсказка + 121 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + ГруппаНастройкиОтладкиРасширеннаяПодсказка + 103 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Настройка режима отладки</value> + + + ru + Группа отладки + + + ГруппаОтладкиРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + UsualGroup + + Vertical + Collapsible + true + true + true + auto + Auto + Auto + + + + ГруппаДополнительно + 18 + + ИспользоватьФильтрВыборочнойРегистрацииОбъектов + 13 + true + true + + true + + + ИспользоватьФильтрВыборочнойРегистрацииОбъектов + + Right + + ИспользоватьФильтрВыборочнойРегистрацииОбъектовExtendedTooltip + 81 + Label + true + true + + Left + + + + ИспользоватьФильтрВыборочнойРегистрацииОбъектовКонтекстноеМеню + 14 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + + <key>ru</key> + <value>Дополнительно</value> + + true + + ГруппаДополнительноExtendedTooltip + 80 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + LeftWidest + Auto + Auto + + + Top + true + + ФормаКоманднаяПанель + -1 + + ФормаЗаписатьИЗакрыть + 82 + true + true + + true + + + ФормаЗаписатьИЗакрытьРасширеннаяПодсказка + 83 + Label + true + true + + Left + + + Form.Command.ЗаписатьИЗакрыть + Auto + true + true + true + UserCmds + Auto + + + ФормаЗаписать + 84 + true + true + + true + + + ФормаЗаписатьРасширеннаяПодсказка + 85 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + + + ФормаПеречитать + 50 + true + true + + true + + + ФормаПеречитатьExtendedTooltip + 52 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаУдалить + 86 + true + true + + true + + + ФормаУдалитьРасширеннаяПодсказка + 87 + Label + true + true + + Left + + + 0 + Normal + Auto + true + true + UserCmds + Auto + + + СохранитьПравилаВФайл + 20 + true + true + + true + + true + + СохранитьПравилаВФайлРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + Form.Command.СохранитьПравилаКонвертацииВФайл + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + Left + true + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + 77 + LockOwner + true + true + Vertical + true + true + true + UseIfNecessary + auto + true + + ИнформацияОПравилахРегистрации + + <key>ru</key> + <value>Информация о правилах регистрации</value> + + 2 + + String + + + + true + + + true + + + + ИсточникПравилКонвертации + + <key>ru</key> + <value>Источник правил конвертации</value> + + 3 + + EnumRef.ИсточникиПравилДляОбменаДанными + + + true + + + true + + true + + + СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными + + <key>ru</key> + <value>Событие журнала регистрации загрузка правил для обмена данными</value> + + 4 + + String + + + + true + + + true + + + + ИмяПланаОбмена + + <key>ru</key> + <value>Имя плана обмена</value> + + 5 + + String + + + + true + + + true + + + + ИмяМакетаПравилКонвертации + + <key>ru</key> + <value>Имя макета правил конвертации</value> + + 6 + + String + + + + true + + + true + + + + ИмяФайлаПравилКонвертации + + <key>ru</key> + <value>Имя файла правил конвертации</value> + + 7 + + String + + + + true + + + true + + + + РежимОтладки + + <key>ru</key> + <value>Режим отладки</value> + + 8 + + Boolean + + + true + + + true + + + + ИспользоватьФильтрВыборочнойРегистрацииОбъектов + + <key>ru</key> + <value>Использовать фильтр выборочной регистрации объектов</value> + + 9 + + Boolean + + + true + + + true + + + + НеОстанавливатьПоОшибке + + <key>ru</key> + <value>Не останавливать по ошибке</value> + + 10 + + Boolean + + + true + + + true + + + + РежимПротоколированияОбменаДанными + + <key>ru</key> + <value>Режим протоколирования обмена данными</value> + + 11 + + Boolean + + + true + + + true + + + + РежимОтладкиЗагрузки + + <key>ru</key> + <value>Режим отладки загрузки</value> + + 12 + + Boolean + + + true + + + true + + + + РежимОтладкиВыгрузки + + <key>ru</key> + <value>Режим отладки выгрузки</value> + + 13 + + Boolean + + + true + + + true + + + + ИмяФайлаОбработкиДляОтладкиВыгрузки + + <key>ru</key> + <value>Имя файла обработки для отладки выгрузки</value> + + 14 + + String + + + + true + + + true + + + + ИмяФайлаОбработкиДляОтладкиЗагрузки + + <key>ru</key> + <value>Имя файла обработки для отладки загрузки</value> + + 15 + + String + + + + true + + + true + + + + ИмяФайлаПротоколаОбмена + + <key>ru</key> + <value>Имя файла протокола обмена</value> + + 16 + + String + + + + true + + + true + + + + ИмяМакетаПравилРегистрации + + <key>ru</key> + <value>Имя макета правил</value> + + 17 + + String + + + + true + + + true + + + + ИмяФайлаПравилРегистрации + + <key>ru</key> + <value>Имя файла правил</value> + + 18 + + String + + + + true + + + true + + + + ИнформацияОПравилахКонвертации + + <key>ru</key> + <value>Информация о правилах</value> + + 19 + + String + + + + true + + + true + + + + ИсточникПравилРегистрации + + <key>ru</key> + <value>Источник правил</value> + + 20 + + EnumRef.ИсточникиПравилДляОбменаДанными + + + true + + + true + + true + + + ИнформацияОПравилахОбщая + + <key>ru</key> + <value>Информация о комплекте правил</value> + + 21 + + String + + + + true + + + true + + + + ИсточникПравил + + <key>ru</key> + <value>Источник правил</value> + + 22 + + String + + + + true + + + true + + true + + + ИмяМакетаПравилКорреспондента + + <key>ru</key> + <value>Имя макета правил конвертации</value> + + 23 + + String + + + + true + + + true + + + + ИмяФайлаПравил + + <key>ru</key> + <value>Имя файла правил конвертации</value> + + 24 + + String + + + + true + + + true + + + + РасположениеКомплектаПравил + + <key>ru</key> + <value>Расположение комплекта правил</value> + + 1 + + + true + + + true + + + + ИмяПрограммы + + <key>ru</key> + <value>Имя программы</value> + + 25 + + String + + + + true + + + true + + + + РежимСовместимости + + <key>ru</key> + <value>Режим совместимости</value> + + 26 + + Boolean + + + true + + + true + + + + ЗагрузитьПравила + + <key>ru</key> + <value>Загрузить</value> + + 1 + + ru + Загрузить правила + + + true + + + StdPicture.OpenFile + + + + ЗагрузитьПравила + + + TextPicture + true + Auto + Auto + + + СохранитьПравилаКонвертацииВФайл + + <key>ru</key> + <value>Сохранить правила в файл ...</value> + + 2 + + ru + Сохранить комплект правил синхронизации данных в файл + + + true + + + + ВыгрузитьПравила + + + TextPicture + true + Auto + Auto + + + ЗаписатьИЗакрыть + + <key>ru</key> + <value>Записать и закрыть</value> + + 3 + + ru + Записать и закрыть + + + true + + + StdPicture.WriteAndClose + + + + ЗаписатьИЗакрыть + + + Text + Auto + Auto + + + ИмяПланаОбмена + + String + + + + + + + + diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Help/ru.html b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Help/ru.html new file mode 100644 index 000000000..1664fcb6c --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Help/ru.html @@ -0,0 +1,57 @@ + +

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

                                          +

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

                                          +

                                          Правила конвертации объектов можно открыть из настройки синхронизации данных по команде Все действия - Загрузить правила конвертации объектов.

                                          +

                                          Источник правил

                                          +

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

                                          +

                                          С помощью переключателя Источник правил можно установить, откуда брать правила регистрации объектов:

                                          +
                                          • +
                                            Типовые правила из конфигурации (выбраны по умолчанию).
                                            +
                                          • +
                                            Правила из файла. Использование правил, загруженных из файла, может привести к ошибкам при переходе на новую версию программы.
                                            +
                                          • +
                                            Режим отладки. Если выбран Режим отладки, то становятся доступными следующие настройки:
                                            +
                                            • +
                                              Подключить внешнюю обработку для отладки выгрузки – указывается файл внешней обработки, содержащей отладочный модуль обработчиков выгрузки, сформированный в конфигурации "Конвертация данных". В клиент-серверном режиме работы указывается путь на сервере.
                                              +
                                            • +
                                              Подключить внешнюю обработку для отладки загрузки – указывается файл внешней обработки, содержащей отладочный модуль обработчиков загрузки, сформированный в конфигурации "Конвертация данных". В клиент-серверном режиме работы указывается путь на сервере.
                                              +
                                            • +
                                              Режим протоколирования синхронизации данных – если включено, то в процессе обмена данными возникающие события и ошибки будут записываться в указанный файл. Если файл не задан, то сообщения будут выводиться в Журнал регистрации.
                                              +
                                            • +
                                              Не останавливать выполнение обмена данными при возникновении ошибки – если установлено, то выполнение синхронизации данных не будет остановлено при возникновении какой-либо ошибки. Обмен данными завершится до конца с выводом отладочных сообщений в файл протокола обмена или журнал регистрации.

                                          Ниже выводится наименование правил, которые в данный момент используются.

                                          +

                                          Информация о правилах

                                          +

                                          Для контроля выводится информация о правилах:

                                          +
                                          • +
                                            Предупреждение о возможности возникновения ошибок при использовании правил из внешнего файла;
                                            +
                                          • +
                                            Правила конвертации этой программы от - указывается дата и время создания правил;
                                            +
                                          • +
                                            Конфигурация источник - указывается версия правил конвертации объектов;
                                            +
                                          • +
                                            Конфигурация приемник - указывается версия правил конвертации объектов;
                                            +
                                          • +
                                            Правила конвертации корреспондента от - указывается дата и время создания правил;
                                            +
                                          • Конфигурация источник - указывается версия правил конвертации объектов; +
                                          • Конфигурация приемник - указывается версия правил конвертации объектов.

                                          Дополнительно

                                          +
                                          • Включите флажок Использовать фильтр выборочной регистрации объектов.

                                          Загрузка правил

                                          +
                                          • +
                                            Установите переключатель Источник правил в нужное положение.
                                            +
                                          • +
                                            +
                                            Нажмите Загрузить правила.
                                            +
                                          • +
                                            +
                                            При необходимости укажите путь к файлу с правилами.

                                          Выгрузка правил

                                          +

                                          При необходимости правила регистрации можно выгрузить в файл.

                                          +
                                          • +
                                            Для этого нажмите Выгрузить правила.
                                            +
                                          • +
                                            Выберите способ выгрузки:
                                            +
                                            • +
                                              Обычным файлом;
                                              +
                                            • +
                                              В архиве .zip.
                                          • +
                                            Выберите путь к файлу на компьютере или на сетевом диске, наименование проставляется программой по умолчанию. Нажмите Сохранить.

                                          Замена типовых правил конвертации объектов правилами из внешнего файла

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

                                          Примечание: правила конвертации объектов и правила регистрации объектов используются для всех однотипных синхронизаций данных (которые основываются на одном плане обмена; например: на базе плана обмена Полный настроено две синхронизации данных "Синхронизация с филиалом в Краснодаре" и "Синхронизация с представительством в Киеве"). Поэтому если в программе настроено несколько однотипных синхронизаций, то замену правил достаточно выполнить однократно (выбрав любую из настроенных синхронизаций данных).

                                          \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Module.bsl new file mode 100644 index 000000000..268c5c816 --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ЗагрузитьПравилаСинхронизацииДанных/Module.bsl @@ -0,0 +1,823 @@ + +&НаКлиенте +Перем ВнешниеРесурсыРазрешены; + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. + Возврат; + КонецЕсли; + + ИмяПланаОбмена = Параметры.ИмяПланаОбмена; + РежимСовместимости = Ложь; + + Если Не ЗначениеЗаполнено(ИмяПланаОбмена) Тогда + Возврат; + КонецЕсли; + + Заголовок = СтрЗаменить(Заголовок, "%1", Метаданные.ПланыОбмена[ИмяПланаОбмена].Синоним); + + ОбновитьСписокВыбораМакетаПравил(); + + ОбновитьИнформациюОПравилах(); + + Элементы.ГруппаОтладки.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + Элементы.ГруппаНастройкиОтладки.Доступность = РежимОтладки; + Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + + СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными = ОбменДаннымиСервер.СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными(); + + ИмяПрограммы = Метаданные.ПланыОбмена[ИмяПланаОбмена].Синоним; + РасположениеКомплектаПравил = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, + "ПутьКФайлуКомплектаПравилНаПользовательскомСайте, ПутьКФайлуКомплектаПравилВКаталогеШаблонов"); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + ШаблонПодсказки = Нстр("ru = 'Комплект правил можно скачать с %1 + |или найти в %2'"); + + ШаблонКаталогОбновлений = Нстр("ru = 'каталоге поставки программы ""%1""'"); + ШаблонКаталогОбновлений = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонКаталогОбновлений, ИмяПрограммы); + Если Не ПустаяСтрока(РасположениеКомплектаПравил.ПутьКФайлуКомплектаПравилВКаталогеШаблонов) Тогда + + КаталогШаблонов = КаталогШаблонов(); + + РасположениеФайла = КаталогШаблонов() + РасположениеКомплектаПравил.ПутьКФайлуКомплектаПравилВКаталогеШаблонов; + + Если ФайлСуществуетНаКлиенте(РасположениеФайла) Тогда + ШаблонКаталогОбновлений = Новый ФорматированнаяСтрока(ШаблонКаталогОбновлений,,,, РасположениеФайла); + КонецЕсли; + + КонецЕсли; + + ШаблонПользовательскийСайт = Нстр("ru = 'сайта поддержки пользователей системы ""1C:Предприятие 8""'"); + Если Не ПустаяСтрока(РасположениеКомплектаПравил.ПутьКФайлуКомплектаПравилНаПользовательскомСайте) Тогда + + ШаблонПользовательскийСайт = Новый ФорматированнаяСтрока(ШаблонПользовательскийСайт,,,, РасположениеКомплектаПравил.ПутьКФайлуКомплектаПравилНаПользовательскомСайте); + + КонецЕсли; + + ТекстПодсказки = ПодставитьПараметрыВФорматированнуюСтроку(ШаблонПодсказки, ШаблонПользовательскийСайт, ШаблонКаталогОбновлений); + + Элементы.ДекорацияИнформацияОПолученииПравил.Заголовок = ТекстПодсказки; + +КонецПроцедуры + +&НаКлиенте +Функция ПроверитьЗаполнениеНаКлиенте() + + ЕстьНезаполненныеПоля = Ложь; + + Если РежимОтладки Тогда + + Если РежимОтладкиВыгрузки Тогда + + СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ИмяФайлаОбработкиДляОтладкиВыгрузки); + ИмяФайла = СтруктураИмениФайла.ИмяБезРасширения; + + Если Не ЗначениеЗаполнено(ИмяФайла) Тогда + + СтрокаСообщения = НСтр("ru = 'Не задано имя файла внешней обработки.'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения,, "ИмяФайлаОбработкиДляОтладкиВыгрузки",, ЕстьНезаполненныеПоля); + + КонецЕсли; + + КонецЕсли; + + Если РежимОтладкиЗагрузки Тогда + + СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ИмяФайлаОбработкиДляОтладкиЗагрузки); + ИмяФайла = СтруктураИмениФайла.ИмяБезРасширения; + + Если Не ЗначениеЗаполнено(ИмяФайла) Тогда + + СтрокаСообщения = НСтр("ru = 'Не задано имя файла внешней обработки.'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения,, "ИмяФайлаОбработкиДляОтладкиЗагрузки",, ЕстьНезаполненныеПоля); + + КонецЕсли; + + КонецЕсли; + + Если РежимПротоколированияОбменаДанными Тогда + + СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ИмяФайлаПротоколаОбмена); + ИмяФайла = СтруктураИмениФайла.ИмяБезРасширения; + + Если Не ЗначениеЗаполнено(ИмяФайла) Тогда + + СтрокаСообщения = НСтр("ru = 'Не задано имя файла протокола обмена.'"); + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения,, "ИмяФайлаПротоколаОбмена",, ЕстьНезаполненныеПоля); + + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Возврат Не ЕстьНезаполненныеПоля; + +КонецФункции + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ИсточникПравилПриИзменении(Элемент) + + Элементы.ГруппаОтладки.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + + Если ИсточникПравил = "ТиповыеИзКонфигурации" Тогда + + РежимОтладки = Ложь; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВключитьОтладкуВыгрузкиПриИзменении(Элемент) + + Элементы.ВнешняяОбработкаДляОтладкиВыгрузки.Доступность = РежимОтладкиВыгрузки; + +КонецПроцедуры + +&НаКлиенте +Процедура ВнешняяОбработкаДляОтладкиВыгрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + НастройкиДиалога = Новый Структура; + НастройкиДиалога.Вставить("Фильтр", НСтр("ru = 'Внешняя обработка(*.epf)'") + "|*.epf" ); + + ОбменДаннымиКлиент.ОбработчикВыбораФайла(ЭтотОбъект, "ИмяФайлаОбработкиДляОтладкиВыгрузки", СтандартнаяОбработка, НастройкиДиалога); + +КонецПроцедуры + +&НаКлиенте +Процедура ВнешняяОбработкаДляОтладкиЗагрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + НастройкиДиалога = Новый Структура; + НастройкиДиалога.Вставить("Фильтр", НСтр("ru = 'Внешняя обработка(*.epf)'") + "|*.epf" ); + + СтандартнаяОбработка = Ложь; + ОбменДаннымиКлиент.ОбработчикВыбораФайла(ЭтотОбъект, "ИмяФайлаОбработкиДляОтладкиЗагрузки", СтандартнаяОбработка, НастройкиДиалога); + +КонецПроцедуры + +&НаКлиенте +Процедура ВключитьОтладкуЗагрузкиПриИзменении(Элемент) + + Элементы.ВнешняяОбработкаДляОтладкиЗагрузки.Доступность = РежимОтладкиЗагрузки; + +КонецПроцедуры + +&НаКлиенте +Процедура ВключитьПротоколированиеОбменаДаннымиПриИзменении(Элемент) + + Элементы.ФайлПротоколаОбмена.Доступность = РежимПротоколированияОбменаДанными; + +КонецПроцедуры + +&НаКлиенте +Процедура ФайлПротоколаОбменаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + НастройкиДиалога = Новый Структура; + НастройкиДиалога.Вставить("Фильтр", НСтр("ru = 'Текстовый документ(*.txt)'")+ "|*.txt" ); + НастройкиДиалога.Вставить("ПроверятьСуществованиеФайла", Ложь); + + ОбменДаннымиКлиент.ОбработчикВыбораФайла(ЭтотОбъект, "ИмяФайлаПротоколаОбмена", СтандартнаяОбработка, НастройкиДиалога); + +КонецПроцедуры + +&НаКлиенте +Процедура ФайлПротоколаОбменаОткрытие(Элемент, СтандартнаяОбработка) + + ОбменДаннымиКлиент.ОбработчикОткрытияФайлаИлиКаталога(ЭтотОбъект, "ИмяФайлаПротоколаОбмена", СтандартнаяОбработка); + +КонецПроцедуры + +&НаКлиенте +Процедура ВключитьРежимОтладкиПриИзменении(Элемент) + + Элементы.ГруппаНастройкиОтладки.Доступность = РежимОтладки; + +КонецПроцедуры + +&НаКлиенте +Процедура ДекорацияИнформацияОПолученииПравилОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылка, СтандартнаяОбработка) + + Если Найти(НавигационнаяСсылка, "http") = 0 Тогда + СтандартнаяОбработка = Ложь; + ЗапуститьПриложение(НавигационнаяСсылка); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ЗагрузитьПравила(Команда) + + // Из файла с клиента + ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ИмяФайлаПравил); + + ПараметрыДиалога = Новый Структура; + ПараметрыДиалога.Вставить("Заголовок", НСтр("ru = 'Укажите архив с правилами обмена'")); + ПараметрыДиалога.Вставить("Фильтр", НСтр("ru = 'Архивы ZIP (*.zip)'") + "|*.zip"); + ПараметрыДиалога.Вставить("ПолноеИмяФайла", ЧастиИмени.ПолноеИмя); + + Оповещение = Новый ОписаниеОповещения("ЗагрузитьПравилаЗавершение", ЭтотОбъект); + ОбменДаннымиКлиент.ВыбратьИПередатьФайлНаСервер(Оповещение, ПараметрыДиалога, УникальныйИдентификатор); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыгрузитьПравила(Команда) + + ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(ИмяФайлаПравил); + + // Выгружаем как архив + АдресХранения = ПолучитьАдресВременногоХранилищаАрхиваПравилНаСервере(); + + Если ПустаяСтрока(АдресХранения) Тогда + Возврат; + КонецЕсли; + + Если ПустаяСтрока(ЧастиИмени.ИмяБезРасширения) Тогда + ПолноеИмяФайла = НСтр("ru = 'Правила конвертации'"); + Иначе + ПолноеИмяФайла = ЧастиИмени.ИмяБезРасширения; + КонецЕсли; + + ПараметрыДиалога = Новый Структура; + ПараметрыДиалога.Вставить("Режим", РежимДиалогаВыбораФайла.Сохранение); + ПараметрыДиалога.Вставить("Заголовок", НСтр("ru = 'Укажите в какой файл выгрузить правила'") ); + ПараметрыДиалога.Вставить("ПолноеИмяФайла", ПолноеИмяФайла); + ПараметрыДиалога.Вставить("Фильтр", НСтр("ru = 'Архивы ZIP (*.zip)'") + "|*.zip"); + + ПолучаемыйФайл = Новый Структура("Имя, Хранение", ПолноеИмяФайла, АдресХранения); + + ОбменДаннымиКлиент.ВыбратьИСохранитьФайлНаКлиенте(ПолучаемыйФайл, ПараметрыДиалога); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаписатьИЗакрыть(Команда) + + Если ИсточникПравил = "ТиповыеИзКонфигурации" Тогда + ПередЗагрузкойПравил(Неопределено, ""); + Иначе + Если ИсточникПравилКонвертации = ПредопределенноеЗначение("Перечисление.ИсточникиПравилДляОбменаДанными.МакетКонфигурации") Тогда + + ОписаниеОшибки = НСтр("ru = 'Правила из файла не загружены. Закрытие приведет к использованию типовых правил конвертации. + |Использовать типовые правила конвертации?'"); + + Оповещение = Новый ОписаниеОповещения("ЗакрытьФормуЗагрузкиПравил", ЭтотОбъект); + + Кнопки = Новый СписокЗначений; + Кнопки.Добавить("Использовать", Нстр("ru = 'Использовать'")); + Кнопки.Добавить("Отмена", Нстр("ru = 'Отмена'")); + + ПараметрыФормы = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю(); + ПараметрыФормы.КнопкаПоУмолчанию = "Использовать"; + ПараметрыФормы.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь; + + СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Оповещение, ОписаниеОшибки, Кнопки, ПараметрыФормы); + Иначе + Закрыть(); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ОбновитьСписокВыбораМакетаПравил() + + Элементы.ИсточникМакетКонфигурации.ТекущаяСтраница = Элементы.СтраницаОдинМакет; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьПравилаЗавершение(Знач РезультатПомещенияФайлов, Знач ДополнительныеПараметры) Экспорт + + АдресПомещенногоФайла = РезультатПомещенияФайлов.Хранение; + ТекстОшибки = РезультатПомещенияФайлов.ОписаниеОшибки; + + Если ПустаяСтрока(ТекстОшибки) И ПустаяСтрока(АдресПомещенногоФайла) Тогда + ТекстОшибки = НСтр("ru = 'Ошибка передачи файла настроек синхронизации данных на сервер'"); + КонецЕсли; + + Если Не ПустаяСтрока(ТекстОшибки) Тогда + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки); + Возврат; + КонецЕсли; + + // Успешно передали файл, загружаем на сервере + ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(РезультатПомещенияФайлов.Имя); + + Если НРег(ЧастиИмени.Расширение) <> ".zip" Тогда + ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Некорректный формат файла комплекта правил. Ожидается zip архив, содержащий три файла: + |ExchangeRules.xml - правила конвертации для текущей программы; + |CorrespondentExchangeRules.xml - правила конвертации для программы-корреспондента; + |RegistrationRules.xml - правила регистрации для текущей программы.'")); + КонецЕсли; + + ПередЗагрузкойПравил(АдресПомещенногоФайла, ЧастиИмени.Имя); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьЗагрузкуПравил(Знач АдресПомещенногоФайла, Знач ИмяФайла, ОписаниеОшибки = Неопределено) + + Отказ = Ложь; + + Состояние(НСтр("ru = 'Выполняется загрузка правил в информационную базу...'")); + ЗагрузитьПравилаНаСервере(Отказ, АдресПомещенногоФайла, ИмяФайла, ОписаниеОшибки); + Состояние(); + + Если ТипЗнч(ОписаниеОшибки) <> Тип("Булево") И ОписаниеОшибки <> Неопределено Тогда + + Если ОписаниеОшибки.ВидОшибки = "ТребуетсяПовторЗапросаРазрешений" Тогда + + ПередЗагрузкойПравил(АдресПомещенногоФайла, ИмяФайла); + + Иначе + + Кнопки = Новый СписокЗначений; + + Если ОписаниеОшибки.ВидОшибки = "НекорректнаяКонфигурация" Тогда + Кнопки.Добавить("Отмена", Нстр("ru = 'Закрыть'")); + Иначе + Кнопки.Добавить("Продолжить", Нстр("ru = 'Продолжить'")); + Кнопки.Добавить("Отмена", Нстр("ru = 'Отмена'")); + КонецЕсли; + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("АдресПомещенногоФайла", АдресПомещенногоФайла); + ДополнительныеПараметры.Вставить("ИмяФайла", ИмяФайла); + Оповещение = Новый ОписаниеОповещения("ПослеПроверкиПравилКонвертацииНаСовместимость", ЭтотОбъект, ДополнительныеПараметры); + + ПараметрыФормы = СтандартныеПодсистемыКлиент.ПараметрыВопросаПользователю(); + ПараметрыФормы.КнопкаПоУмолчанию = "Отмена"; + ПараметрыФормы.Картинка = ОписаниеОшибки.Картинка; + ПараметрыФормы.ПредлагатьБольшеНеЗадаватьЭтотВопрос = Ложь; + Если ОписаниеОшибки.ВидОшибки = "НекорректнаяКонфигурация" Тогда + ПараметрыФормы.Заголовок = Нстр("ru = 'Правила не могут быть загружены'"); + Иначе + ПараметрыФормы.Заголовок = Нстр("ru = 'Синхронизация данных может работать некорректно'"); + КонецЕсли; + + СтандартныеПодсистемыКлиент.ПоказатьВопросПользователю(Оповещение, ОписаниеОшибки.ТекстОшибки, Кнопки, ПараметрыФормы); + + КонецЕсли; + + ИначеЕсли Отказ Тогда + ТекстОшибки = НСтр("ru = 'В процессе загрузки правил были обнаружены ошибки. + |Перейти в журнал регистрации?'"); + Оповещение = Новый ОписаниеОповещения("ПоказатьЖурналРегистрацииПриОшибке", ЭтотОбъект); + ПоказатьВопрос(Оповещение, ТекстОшибки, РежимДиалогаВопрос.ДаНет, ,КодВозвратаДиалога.Нет); + Иначе + ПоказатьОповещениеПользователя(,, НСтр("ru = 'Правила успешно загружены в информационную базу.'")); + Закрыть(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьЖурналРегистрацииПриОшибке(Ответ, ДополнительныеПараметры) Экспорт + + Если Ответ = КодВозвратаДиалога.Да Тогда + + Отбор = Новый Структура; + Отбор.Вставить("СобытиеЖурналаРегистрации", СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными); + ОткрытьФорму("Обработка.ЖурналРегистрации.Форма", Отбор, ЭтотОбъект, , , , , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ЗагрузитьПравилаНаСервере(Отказ, АдресВременногоХранилища, ИмяФайлаПравил, ОписаниеОшибки) + + ИсточникПравилКомплекта = ?(ИсточникПравил = "ТиповыеИзКонфигурации", + Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, Перечисления.ИсточникиПравилДляОбменаДанными.Файл); + + ЗаписьПравилКонвертации = РегистрыСведений.ПравилаДляОбменаДанными.СоздатьМенеджерЗаписи(); + ЗаписьПравилКонвертации.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов; + ЗаписьПравилКонвертации.ИмяМакетаПравил = ИмяМакетаПравилКонвертации; + ЗаписьПравилКонвертации.ИмяМакетаПравилКорреспондента = ИмяМакетаПравилКорреспондента; + ЗаписьПравилКонвертации.ИнформацияОПравилах = ИнформацияОПравилахКонвертации; + + ЗаполнитьЗначенияСвойств(ЗаписьПравилКонвертации, ЭтотОбъект); + ЗаписьПравилКонвертации.ИсточникПравил = ИсточникПравилКомплекта; + + ЗаписьПравилРегистрации = РегистрыСведений.ПравилаДляОбменаДанными.СоздатьМенеджерЗаписи(); + ЗаписьПравилРегистрации.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов; + ЗаписьПравилРегистрации.ИмяМакетаПравил = ИмяМакетаПравилРегистрации; + ЗаписьПравилРегистрации.ИнформацияОПравилах = ИнформацияОПравилахРегистрации; + ЗаписьПравилРегистрации.ИмяФайлаПравил = ИмяФайлаПравил; + ЗаписьПравилРегистрации.ИмяПланаОбмена = ИмяПланаОбмена; + ЗаписьПравилРегистрации.ИсточникПравил = ИсточникПравилКомплекта; + + СтруктураЗаписейРегистра = Новый Структура(); + СтруктураЗаписейРегистра.Вставить("ЗаписьПравилКонвертации", ЗаписьПравилКонвертации); + СтруктураЗаписейРегистра.Вставить("ЗаписьПравилРегистрации", ЗаписьПравилРегистрации); + + РегистрыСведений.ПравилаДляОбменаДанными.ЗагрузитьКомплектПравил(Отказ, СтруктураЗаписейРегистра, + ОписаниеОшибки, АдресВременногоХранилища, ИмяФайлаПравил); + + Если Не Отказ Тогда + + Если Не ОбщегоНазначенияПовтИсп.РазделениеВключено() И РежимОтладки + И РежимСовместимости <> ЗаписьПравилКонвертации.РежимСовместимости Тогда + + РежимСовместимости = ЗаписьПравилКонвертации.РежимСовместимости; + ОписаниеОшибки = Новый Структура("ВидОшибки", "ТребуетсяПовторЗапросаРазрешений"); + Возврат; + + КонецЕсли; + + ЗаписьПравилКонвертации.Записать(); + ЗаписьПравилРегистрации.Записать(); + + Модифицированность = Ложь; + + // кеш открытых сеансов для механизма регистрации стал неактуальным + ОбменДаннымиВызовСервера.СброситьКэшМеханизмаРегистрацииОбъектов(); + ОбновитьПовторноИспользуемыеЗначения(); + ОбновитьИнформациюОПравилах(); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ПолучитьАдресВременногоХранилищаАрхиваПравилНаСервере() + + // Создаем временный каталог на сервере и формируем пути к файлам и папкам + ИмяВременнойПапки = ПолучитьИмяВременногоФайла(""); + СоздатьКаталог(ИмяВременнойПапки); + + ПутьКФайлу = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "ExchangeRules"; + ПутьКФайлуКорреспондента = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "CorrespondentExchangeRules"; + ПутьКФайлуРегистрации = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "RegistrationRules"; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ПравилаXML, + | ПравилаДляОбменаДанными.ПравилаXMLКорреспондента, + | ПравилаДляОбменаДанными.ВидПравил + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Результат = Запрос.Выполнить(); + + Если Результат.Пустой() Тогда + + НСтрока = НСтр("ru = 'Не удалось получить правила обмена.'"); + ОбменДаннымиСервер.СообщитьОбОшибке(НСтрока); + Возврат ""; + + Иначе + + Выборка = Результат.Выбрать(); + + Пока Выборка.Следующий() Цикл + + Если Выборка.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда + + // Получаем, сохраняем и архивируем файл правил конвертации во временном каталоге + ДвоичныеДанныеПравил = Выборка.ПравилаXML.Получить(); + ДвоичныеДанныеПравил.Записать(ПутьКФайлу + ".xml"); + + // Получаем, сохраняем и архивируем файл правил конвертации корреспондента во временном каталоге + ДвоичныеДанныеПравилКорреспондента = Выборка.ПравилаXMLКорреспондента.Получить(); + ДвоичныеДанныеПравилКорреспондента.Записать(ПутьКФайлуКорреспондента + ".xml"); + + Иначе + // Получаем, сохраняем и архивируем файл правил регистрации во временном каталоге + ДвоичныеДанныеПравилРегистрации = Выборка.ПравилаXML.Получить(); + ДвоичныеДанныеПравилРегистрации.Записать(ПутьКФайлуРегистрации + ".xml"); + КонецЕсли; + + КонецЦикла; + + МаскаУпаковкиФайлов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(ИмяВременнойПапки) + "*.xml"; + ОбменДаннымиСервер.ЗапаковатьВZipФайл(ПутьКФайлу + ".zip", МаскаУпаковкиФайлов); + + // Помещаем архив правил в хранилище + ДвоичныеДанныеАрхиваПравил = Новый ДвоичныеДанные(ПутьКФайлу + ".zip"); + АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанныеАрхиваПравил); + + Возврат АдресВременногоХранилища; + + КонецЕсли; + +КонецФункции + +&НаСервере +Процедура ОбновитьИнформациюОПравилах() + + ИнформацияОПравилах(); + + ИсточникПравил = ?(ИсточникПравилРегистрации = Перечисления.ИсточникиПравилДляОбменаДанными.Файл + ИЛИ ИсточникПравилКонвертации = Перечисления.ИсточникиПравилДляОбменаДанными.Файл, + "ЗагруженныеИзФайла", "ТиповыеИзКонфигурации"); + + ИнформацияОПравилахОбщая = "[ИнформацияОбИспользовании] + | + |[ИнформацияОПравилахРегистрации] + | + |[ИнформацияОПравилахКонвертации]"; + + Если ИсточникПравил = "ЗагруженныеИзФайла" Тогда + ИнформацияОбИспользовании = НСтр("ru = 'Используются правила загруженные из файла.'"); + Иначе + ИнформацияОбИспользовании = НСтр("ru = 'Используются типовые правила из состава конфигурации.'"); + КонецЕсли; + + ИнформацияОПравилахОбщая = СтрЗаменить(ИнформацияОПравилахОбщая, "[ИнформацияОбИспользовании]", ИнформацияОбИспользовании); + ИнформацияОПравилахОбщая = СтрЗаменить(ИнформацияОПравилахОбщая, "[ИнформацияОПравилахКонвертации]", ИнформацияОПравилахКонвертации); + ИнформацияОПравилахОбщая = СтрЗаменить(ИнформацияОПравилахОбщая, "[ИнформацияОПравилахРегистрации]", ИнформацияОПравилахРегистрации); + +КонецПроцедуры + +&НаСервере +Процедура ИнформацияОПравилах() + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Запрос.Текст = "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ИмяМакетаПравил КАК ИмяМакетаПравилКонвертации, + | ПравилаДляОбменаДанными.ИмяМакетаПравилКорреспондента КАК ИмяМакетаПравилКорреспондента, + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиВыгрузки, + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиЗагрузки, + | ПравилаДляОбменаДанными.ИмяФайлаПравил КАК ИмяФайлаПравилКонвертации, + | ПравилаДляОбменаДанными.ИмяФайлаПротоколаОбмена, + | ПравилаДляОбменаДанными.ИнформацияОПравилах КАК ИнформацияОПравилахКонвертации, + | ПравилаДляОбменаДанными.ИспользоватьФильтрВыборочнойРегистрацииОбъектов, + | ПравилаДляОбменаДанными.ИсточникПравил КАК ИсточникПравилКонвертации, + | ПравилаДляОбменаДанными.НеОстанавливатьПоОшибке, + | ПравилаДляОбменаДанными.РежимОтладки, + | ПравилаДляОбменаДанными.РежимОтладкиВыгрузки, + | ПравилаДляОбменаДанными.РежимОтладкиЗагрузки, + | ПравилаДляОбменаДанными.РежимПротоколированияОбменаДанными + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов)"; + + Выборка = Запрос.Выполнить().Выбрать(); + + Если Выборка.Следующий() Тогда + ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка); + КонецЕсли; + + Запрос.Текст = "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ИмяМакетаПравил КАК ИмяМакетаПравилРегистрации, + | ПравилаДляОбменаДанными.ИмяФайлаПравил КАК ИмяФайлаПравилРегистрации, + | ПравилаДляОбменаДанными.ИнформацияОПравилах КАК ИнформацияОПравилахРегистрации, + | ПравилаДляОбменаДанными.ИсточникПравил КАК ИсточникПравилРегистрации + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов)"; + + Выборка = Запрос.Выполнить().Выбрать(); + + Если Выборка.Следующий() Тогда + ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗагрузкойПравил(Знач АдресПомещенногоФайла, Знач ИмяФайла) + + Если Не ПроверитьЗаполнениеНаКлиенте() Тогда + Возврат; + КонецЕсли; + + Если ВнешниеРесурсыРазрешены <> Истина Тогда + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("АдресПомещенногоФайла", АдресПомещенногоФайла); + ДополнительныеПараметры.Вставить("ИмяФайла", ИмяФайла); + ОповещениеОЗакрытии = Новый ОписаниеОповещения("РазрешитьВнешнийРесурсЗавершение", ЭтотОбъект, ДополнительныеПараметры); + Запросы = СоздатьЗапросНаИспользованиеВнешнихРесурсов(); + РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов(Запросы, ЭтотОбъект, ОповещениеОЗакрытии); + Возврат; + + КонецЕсли; + ВнешниеРесурсыРазрешены = Ложь; + + ВыполнитьЗагрузкуПравил(АдресПомещенногоФайла, ИмяФайла); + +КонецПроцедуры + +&НаКлиенте +Процедура РазрешитьВнешнийРесурсЗавершение(Результат, ДополнительныеПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.ОК Тогда + ВнешниеРесурсыРазрешены = Истина; + ПередЗагрузкойПравил(ДополнительныеПараметры.АдресПомещенногоФайла, ДополнительныеПараметры.ИмяФайла); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция СоздатьЗапросНаИспользованиеВнешнихРесурсов() + + ЗапросыРазрешений = Новый Массив; + ПравилаРегистрацииИзФайла = (ИсточникПравил <> "ТиповыеИзКонфигурации"); + СтруктураЗаписи = Новый Структура; + СтруктураЗаписи.Вставить("ИмяПланаОбмена", ИмяПланаОбмена); + СтруктураЗаписи.Вставить("РежимСовместимости", РежимСовместимости); + СтруктураЗаписи.Вставить("РежимОтладки", РежимОтладки); + СтруктураЗаписи.Вставить("РежимОтладкиВыгрузки", РежимОтладкиВыгрузки); + СтруктураЗаписи.Вставить("РежимОтладкиЗагрузки", РежимОтладкиЗагрузки); + СтруктураЗаписи.Вставить("РежимПротоколированияОбменаДанными", РежимПротоколированияОбменаДанными); + СтруктураЗаписи.Вставить("ИмяФайлаОбработкиДляОтладкиВыгрузки", ИмяФайлаОбработкиДляОтладкиВыгрузки); + СтруктураЗаписи.Вставить("ИмяФайлаОбработкиДляОтладкиЗагрузки", ИмяФайлаОбработкиДляОтладкиЗагрузки); + СтруктураЗаписи.Вставить("ИмяФайлаПротоколаОбмена", ИмяФайлаПротоколаОбмена); + РегистрыСведений.ПравилаДляОбменаДанными.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, СтруктураЗаписи, Истина, ПравилаРегистрацииИзФайла); + Возврат ЗапросыРазрешений; + +КонецФункции + +&НаКлиенте +// Возвращает форматированную строку, построенную по шаблону, например "%1 пошел в %2" +// +// Параметры: +// Шаблон - Строка - заготовка для формирования +// Строка1 - Строка, ФорматированнаяСтрока, Картинка, Неопределено - подставляемое значение +// Строка2 - Строка, ФорматированнаяСтрока, Картинка, Неопределено - подставляемое значение +// +// Возвращаемое значение: +// ФорматированнаяСтрока - сформированная по входящим параметрам +// +Функция ПодставитьПараметрыВФорматированнуюСтроку(Знач Шаблон, + Знач Строка1 = Неопределено, Знач Строка2 = Неопределено) + + ЧастиСтроки = Новый Массив; + ДопустимыеТипы = Новый ОписаниеТипов("Строка, ФорматированнаяСтрока, Картинка"); + Начало = 1; + + Пока Истина Цикл + + Фрагмент = Сред(Шаблон, Начало); + + Позиция = Найти(Фрагмент, "%"); + + Если Позиция = 0 Тогда + + ЧастиСтроки.Добавить(Фрагмент); + + Прервать; + + КонецЕсли; + + Следующий = Сред(Фрагмент, Позиция + 1, 1); + + Если Следующий = "1" Тогда + + Значение = Строка1; + + ИначеЕсли Следующий = "2" Тогда + + Значение = Строка2; + + ИначеЕсли Следующий = "%" Тогда + + Значение = "%"; + + Иначе + + Значение = Неопределено; + + Позиция = Позиция - 1; + + КонецЕсли; + + ЧастиСтроки.Добавить(Лев(Фрагмент, Позиция - 1)); + + Если Значение <> Неопределено Тогда + + Значение = ДопустимыеТипы.ПривестиЗначение(Значение); + + Если Значение <> Неопределено Тогда + + ЧастиСтроки.Добавить( Значение ); + + КонецЕсли; + + КонецЕсли; + + Начало = Начало + Позиция + 1; + + КонецЦикла; + + Возврат Новый ФорматированнаяСтрока(ЧастиСтроки); + +КонецФункции + +// Определение каталога шаблонов конфигураций и обновлений на данном компьютере. +// +&НаКлиенте +Функция КаталогШаблонов() + + Постфикс = "1C\1Cv8\tmplts\"; + + КаталогПоУмолчанию = КаталогAppData() + Постфикс; + ИмяФайла = КаталогAppData() + "1C\1CEStart\1CEStart.cfg"; + Если Не ФайлСуществуетНаКлиенте(ИмяФайла) Тогда + Возврат КаталогПоУмолчанию; + КонецЕсли; + Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF16); + Стр = ""; + Пока Стр <> Неопределено Цикл + Стр = Текст.ПрочитатьСтроку(); + Если Стр = Неопределено Тогда + Прервать; + КонецЕсли; + Если Найти(ВРег(Стр), ВРег("ConfigurationTemplatesLocation")) = 0 Тогда + Продолжить; + КонецЕсли; + ПозицияРазделителя = Найти(Стр, "="); + Если ПозицияРазделителя = 0 Тогда + Продолжить; + КонецЕсли; + НайденныйКаталог = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(СокрЛП(Сред(Стр, ПозицияРазделителя + 1))); + Возврат ?(ФайлСуществуетНаКлиенте(НайденныйКаталог), НайденныйКаталог, КаталогПоУмолчанию); + КонецЦикла; + + Возврат КаталогПоУмолчанию; + +КонецФункции + +// Определение каталога "Мои документы" текущего пользователя Windows +// +&НаКлиенте +Функция КаталогAppData() + + App = Новый COMОбъект("Shell.Application"); + Folder = App.Namespace(26); + Результат = Folder.Self.Path; + Возврат ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(Результат); + +КонецФункции + +// Проверка существования файла или каталога. +// +// Параметр: +// ПутьКФайлу - Строка - путь к файлу или каталогу, существование которого +// нужно проверить. +// +// Возвращаемое значение: +// Булево - признак существования файла или каталога. +&НаКлиенте +Функция ФайлСуществуетНаКлиенте(Знач ПутьКФайлу) + Файл = Новый Файл(ПутьКФайлу); + Возврат Файл.Существует(); +КонецФункции + +&НаКлиенте +Процедура ПослеПроверкиПравилКонвертацииНаСовместимость(Результат, ДополнительныеПараметры) Экспорт + + Если Результат <> Неопределено И Результат.Значение = "Продолжить" Тогда + + ОписаниеОшибки = Истина; + ВыполнитьЗагрузкуПравил(ДополнительныеПараметры.АдресПомещенногоФайла, ДополнительныеПараметры.ИмяФайла, ОписаниеОшибки); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФормуЗагрузкиПравил(Результат, ДополнительныеПараметры) Экспорт + Если Результат <> Неопределено И Результат.Значение = "Использовать" Тогда + Закрыть(); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Form.form index 6892d4ce4..193f4a508 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Form.form +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Form.form @@ -10,6 +10,10 @@ ИмяПланаОбмена 1 + + <key>ru</key> + <value>Синхронизация с программой</value> + true true @@ -130,28 +134,19 @@ ru - Типовые правила из конфигурации + Использовать типовые правила - - 0 + + ТиповыеИзКонфигурации ru - Правила из файла + Загрузить из файла на компьютере: - - 1 - - - - - ru - Режим отладки - - - 2 + + ЗагруженныеИзФайла Vertical @@ -163,25 +158,72 @@ ИсточникМакетКонфигурации 16 - - ИмяМакетаПравил - 7 + + СтраницаНесколькоМакетов + 95 + + ИмяМакетаПравил + 7 + + <key>ru</key> + <value>Типовые правила</value> + + true + true + + true + + + Запись.ИмяМакетаПравил + + None + + OnChange + ИмяМакетаПравилПриИзменении + + + ИмяМакетаПравилExtendedTooltip + 59 + Label + true + true + + Left + + + + ИмяМакетаПравилКонтекстноеМеню + 8 + true + + InputField + Enter + true + Left + true + + true + true + true + false + true + true + true + Normal + + true true true - - Запись.ИмяМакетаПравил - - None - - OnChange - ИмяМакетаПравилПриИзменении - + + ru + Страница несколько макетов + - ИмяМакетаПравилExtendedTooltip - 59 + СтраницаНесколькоМакетовРасширеннаяПодсказка + 96 Label true true @@ -189,42 +231,26 @@ Left - - ИмяМакетаПравилКонтекстноеМеню - 8 - true - - InputField - Enter - true - Left - true - - true - true - true - false - true - true - true - Normal + Page + + Vertical + auto - ГруппаДействияСТиповымиПравилами - 27 - - ЗагрузитьТиповыеПравила - 19 + СтраницаОдинМакет + 97 + + ПустаяДекорация + 99 true true true - true - ЗагрузитьТиповыеПравилаExtendedTooltip - 61 + ПустаяДекорацияРасширеннаяПодсказка + 101 Label true true @@ -232,59 +258,30 @@ Left - UsualButton - Form.Command.ЗагрузитьПравила - Normal - Auto + + ПустаяДекорацияКонтекстноеМеню + 100 + true + + Label true true - UserCmds - Auto - - - ВыгрузитьТиповыеПравила - 20 - true - true - - true - - true - - ВыгрузитьТиповыеПравилаExtendedTooltip - 62 - Label - true - true - - Left - - - UsualButton - Form.Command.ВыгрузитьПравила - Normal - Auto - true - true - UserCmds - Auto + + Left + true true true - - <key>ru</key> - <value>Группа действия с типовыми правилами</value> - ru - Группа действия с типовыми правилами + Страница один макет - ГруппаДействияСТиповымиПравиламиExtendedTooltip - 60 + СтраницаОдинМакетРасширеннаяПодсказка + 98 Label true true @@ -292,13 +289,10 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + Vertical + auto true @@ -324,9 +318,9 @@ Left
                                          - Page - - auto + Pages + + Auto @@ -367,6 +361,7 @@ true true + 1 true true true @@ -375,81 +370,18 @@ Normal - - ГруппаДействияСПравиламиИзФайла - 28 - - ЗагрузитьПравилаИзФайла - 21 - true - true - - true - - true - - ЗагрузитьПравилаИзФайлаExtendedTooltip - 66 - Label - true - true - - Left - - - UsualButton - Form.Command.ЗагрузитьПравила - Normal - Auto - true - true - UserCmds - Auto - - - ВыгрузитьПравилаВФайл - 22 - true - true - - true - - true - - ВыгрузитьПравилаВФайлExtendedTooltip - 67 - Label - true - true - - Left - - - UsualButton - Form.Command.ВыгрузитьПравила - Normal - Auto - true - true - UserCmds - Auto - + + ЗагрузитьТиповыеПравила + 19 true true true - - <key>ru</key> - <value>Группа действия с правилами из файла</value> - - - ru - Группа действия с правилами из файла - + true - ГруппаДействияСПравиламиИзФайлаExtendedTooltip - 65 + ЗагрузитьТиповыеПравилаExtendedTooltip + 61 Label true true @@ -457,14 +389,15 @@ Left
                                          - UsualGroup - - Auto - true - true - Auto - Auto - + UsualButton + Form.Command.ЗагрузитьПравила + Normal + Auto + true + 1 + true + UserCmds + Auto true true @@ -489,9 +422,13 @@ Left
                                          - Page - - auto + UsualGroup + + Auto + true + true + Auto + Auto true @@ -503,10 +440,6 @@ ru Группа источники правил - - ru - Группа источники правил - ГруппаИсточникиПравилExtendedTooltip 57 @@ -517,459 +450,12 @@ Left
                                          - Pages - - Auto - - - - ГруппаОтладки - 31 - - ГруппаОтладкиВыгрузки - 38 - - ВключитьОтладкуВыгрузки - 32 - - <key>ru</key> - <value>Подключить внешнюю обработку для отладки выгрузки</value> - - true - true - - true - - - Запись.РежимОтладкиВыгрузки - - Right - - OnChange - ВключитьОтладкуВыгрузкиПриИзменении - - - ВключитьОтладкуВыгрузкиExtendedTooltip - 70 - Label - true - true - - Left - - - - ВключитьОтладкуВыгрузкиКонтекстноеМеню - 33 - true - - CheckBoxField - Enter - true - Left - true - - - - ВнешняяОбработкаДляОтладкиВыгрузки - 40 - true - false - - true - - - Запись.ИмяФайлаОбработкиДляОтладкиВыгрузки - - None - - ВнешняяОбработкаДляОтладкиВыгрузкиExtendedTooltip - 71 - Label - true - true - - Left - - - - ВнешняяОбработкаДляОтладкиВыгрузкиКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - - StartChoice - ВнешняяОбработкаДляОтладкиВыгрузкиНачалоВыбора - - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа отладки выгрузки</value> - - - ru - Группа отладки выгрузки - - - ГруппаОтладкиВыгрузкиExtendedTooltip - 69 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаОтладкиЗагрузки - 39 - - ВключитьОтладкуЗагрузки - 34 - - <key>ru</key> - <value>Подключить внешнюю обработку для отладки загрузки</value> - - true - true - - true - - - Запись.РежимОтладкиЗагрузки - - Right - - OnChange - ВключитьОтладкуЗагрузкиПриИзменении - - - ВключитьОтладкуЗагрузкиExtendedTooltip - 73 - Label - true - true - - Left - - - - ВключитьОтладкуЗагрузкиКонтекстноеМеню - 35 - true - - CheckBoxField - Enter - true - Left - true - - - - ВнешняяОбработкаДляОтладкиЗагрузки - 36 - true - false - - true - - - Запись.ИмяФайлаОбработкиДляОтладкиЗагрузки - - None - - ВнешняяОбработкаДляОтладкиЗагрузкиExtendedTooltip - 74 - Label - true - true - - Left - - - - ВнешняяОбработкаДляОтладкиЗагрузкиКонтекстноеМеню - 37 - true - - InputField - Enter - true - Left - true - - - StartChoice - ВнешняяОбработкаДляОтладкиЗагрузкиНачалоВыбора - - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа отладки загрузки</value> - - - ru - Группа отладки загрузки - - - ГруппаОтладкиЗагрузкиExtendedTooltip - 72 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаПротокол - 42 - - ВключитьПротоколированиеОбменаДанными - 43 - true - true - - true - - - Запись.РежимПротоколированияОбменаДанными - - Right - - OnChange - ВключитьПротоколированиеОбменаДаннымиПриИзменении - - - ВключитьПротоколированиеОбменаДаннымиExtendedTooltip - 76 - Label - true - true - - Left - - - - ВключитьПротоколированиеОбменаДаннымиКонтекстноеМеню - 44 - true - - CheckBoxField - Enter - true - Left - true - - - - ФайлПротоколаОбмена - 45 - true - false - - true - - - Запись.ИмяФайлаПротоколаОбмена - - None - - ФайлПротоколаОбменаExtendedTooltip - 77 - Label - true - true - - Left - - - - ФайлПротоколаОбменаКонтекстноеМеню - 46 - true - - InputField - Enter - true - Left - true - - - StartChoice - ФайлПротоколаОбменаНачалоВыбора - - - Opening - ФайлПротоколаОбменаОткрытие - - true - true - true - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа протокол</value> - - - ru - Группа протокол - - - ГруппаПротоколExtendedTooltip - 75 - Label - true - true - - Left - - - UsualGroup - - Vertical - Auto - true - true - Auto - Auto - - - - НеОстанавливатьПоОшибке - 47 - - <key>ru</key> - <value>Не останавливать выполнение обмена данными при возникновении ошибки</value> - - true - true - - true - - - Запись.НеОстанавливатьПоОшибке - - Right - - НеОстанавливатьПоОшибкеExtendedTooltip - 78 - Label - true - true - - Left - - - - НеОстанавливатьПоОшибкеКонтекстноеМеню - 48 - true - - CheckBoxField - Enter - true - Left - true - - - true - true - - true - - - <key>ru</key> - <value>Настройка режима отладки</value> - - - ru - Группа отладки - - - ГруппаОтладкиExtendedTooltip - 68 - Label - true - true - - Left - - UsualGroup Vertical Auto - StrongSeparation true true - auto Auto Auto @@ -981,7 +467,7 @@ <key>ru</key> - <value>Источник правил</value> + <value>Правила конвертации для программы "%1":</value> ru @@ -999,9 +485,7 @@
                                          UsualGroup - Vertical Auto - StrongSeparation true true auto @@ -1053,6 +537,586 @@ Normal + + ГруппаОтладки + 31 + + ВключитьРежимОтладки + 88 + + <key>ru</key> + <value>Включить режим отладки</value> + + true + true + + true + + + Запись.РежимОтладки + + Right + + OnChange + ВключитьРежимОтладкиПриИзменении + + + ВключитьРежимОтладкиРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + + ВключитьРежимОтладкиКонтекстноеМеню + 89 + true + + CheckBoxField + Enter + true + Left + true + + + + Группа1 + 104 + + Декорация1 + 106 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 108 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 107 + true + + Label + 1 + true + true + + Left + + + + ГруппаНастройкиОтладки + 102 + + ГруппаОтладкиВыгрузки + 38 + + ВключитьОтладкуВыгрузки + 32 + + <key>ru</key> + <value>Подключить внешнюю обработку для отладки выгрузки</value> + + true + true + + true + + + Запись.РежимОтладкиВыгрузки + + Right + + OnChange + ВключитьОтладкуВыгрузкиПриИзменении + + + ВключитьОтладкуВыгрузкиExtendedTooltip + 70 + Label + true + true + + Left + + + + ВключитьОтладкуВыгрузкиКонтекстноеМеню + 33 + true + + CheckBoxField + Enter + true + Left + true + + + + ВнешняяОбработкаДляОтладкиВыгрузки + 40 + true + false + + true + + + Запись.ИмяФайлаОбработкиДляОтладкиВыгрузки + + None + + ВнешняяОбработкаДляОтладкиВыгрузкиExtendedTooltip + 71 + Label + true + true + + Left + + + + ВнешняяОбработкаДляОтладкиВыгрузкиКонтекстноеМеню + 41 + true + + InputField + Enter + true + Left + true + + + StartChoice + ВнешняяОбработкаДляОтладкиВыгрузкиНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа отладки выгрузки</value> + + + ru + Группа отладки выгрузки + + + ГруппаОтладкиВыгрузкиExtendedTooltip + 69 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаОтладкиЗагрузки + 39 + + ВключитьОтладкуЗагрузки + 34 + + <key>ru</key> + <value>Подключить внешнюю обработку для отладки загрузки</value> + + true + true + + true + + + Запись.РежимОтладкиЗагрузки + + Right + + OnChange + ВключитьОтладкуЗагрузкиПриИзменении + + + ВключитьОтладкуЗагрузкиExtendedTooltip + 73 + Label + true + true + + Left + + + + ВключитьОтладкуЗагрузкиКонтекстноеМеню + 35 + true + + CheckBoxField + Enter + true + Left + true + + + + ВнешняяОбработкаДляОтладкиЗагрузки + 36 + true + false + + true + + + Запись.ИмяФайлаОбработкиДляОтладкиЗагрузки + + None + + ВнешняяОбработкаДляОтладкиЗагрузкиExtendedTooltip + 74 + Label + true + true + + Left + + + + ВнешняяОбработкаДляОтладкиЗагрузкиКонтекстноеМеню + 37 + true + + InputField + Enter + true + Left + true + + + StartChoice + ВнешняяОбработкаДляОтладкиЗагрузкиНачалоВыбора + + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа отладки загрузки</value> + + + ru + Группа отладки загрузки + + + ГруппаОтладкиЗагрузкиExtendedTooltip + 72 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаПротокол + 42 + + ВключитьПротоколированиеОбменаДанными + 43 + true + true + + true + + + Запись.РежимПротоколированияОбменаДанными + + Right + + OnChange + ВключитьПротоколированиеОбменаДаннымиПриИзменении + + + ВключитьПротоколированиеОбменаДаннымиExtendedTooltip + 76 + Label + true + true + + Left + + + + ВключитьПротоколированиеОбменаДаннымиКонтекстноеМеню + 44 + true + + CheckBoxField + Enter + true + Left + true + + + + ФайлПротоколаОбмена + 45 + true + false + + true + + + Запись.ИмяФайлаПротоколаОбмена + + None + + ФайлПротоколаОбменаExtendedTooltip + 77 + Label + true + true + + Left + + + + ФайлПротоколаОбменаКонтекстноеМеню + 46 + true + + InputField + Enter + true + Left + true + + + StartChoice + ФайлПротоколаОбменаНачалоВыбора + + + Opening + ФайлПротоколаОбменаОткрытие + + true + true + true + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа протокол</value> + + + ru + Группа протокол + + + ГруппаПротоколExtendedTooltip + 75 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + НеОстанавливатьПоОшибке + 47 + + <key>ru</key> + <value>Не останавливать выполнение обмена данными при возникновении ошибки</value> + + true + true + + true + + + Запись.НеОстанавливатьПоОшибке + + Right + + НеОстанавливатьПоОшибкеExtendedTooltip + 78 + Label + true + true + + Left + + + + НеОстанавливатьПоОшибкеКонтекстноеМеню + 48 + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + ГруппаНастройкиОтладкиРасширеннаяПодсказка + 103 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + Группа1РасширеннаяПодсказка + 105 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Настройка режима отладки</value> + + + ru + Группа отладки + + + ГруппаОтладкиРасширеннаяПодсказка + 68 + Label + true + true + + Left + + + UsualGroup + + Vertical + Collapsible + true + true + true + auto + Auto + Auto + + ГруппаДополнительно 18 @@ -1092,17 +1156,11 @@ true true - - true - + <key>ru</key> <value>Дополнительно</value> - - ru - Группа дополнительно - true ГруппаДополнительноExtendedTooltip @@ -1117,11 +1175,9 @@ UsualGroup Auto - WeakSeparation true true LeftWidest - auto Auto Auto @@ -1199,7 +1255,7 @@ Left - Form.StandardCommand.Reread + 0 Normal Auto true @@ -1226,7 +1282,34 @@ Left
                                          - Form.StandardCommand.Delete + 0 + Normal + Auto + true + true + UserCmds + Auto + + + СохранитьПравилаВФайл + 20 + true + true + + true + + true + + СохранитьПравилаВФайлРасширеннаяПодсказка + 62 + Label + true + true + + Left + + + Form.Command.СохранитьПравилаКонвертацииВФайл Normal Auto true @@ -1242,7 +1325,10 @@ ПриСозданииНаСервере Copy + Delete + Reread WriteAndClose + 77 LockOwner true true @@ -1294,11 +1380,8 @@ 3 - Number - - 1 - true - + String + true @@ -1330,7 +1413,7 @@ ЗагрузитьПравила <key>ru</key> - <value>Загрузить правила</value> + <value>Загрузить</value> 1 @@ -1354,29 +1437,25 @@ Auto - ВыгрузитьПравила + СохранитьПравилаКонвертацииВФайл <key>ru</key> - <value>Выгрузить правила</value> + <value>Сохранить правила конвертации в файл</value> 2 ru - Выгрузить правила в файл + Сохранить правила конвертации в файл на компьютере true - - StdPicture.SaveFile - ВыгрузитьПравила TextPicture - true Auto Auto diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Help/ru.html b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Help/ru.html index ef4fc7402..1664fcb6c 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Help/ru.html +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                          Правила конвертации объектов можно открыть из настройки синхронизации данных по команде Все действия - Загрузить правила конвертации объектов.

                                          diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Module.bsl index c823e7eaf..2d571aacf 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Module.bsl +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаКонвертацииОбъектов/Module.bsl @@ -1,3 +1,4 @@ + &НаКлиенте Перем ВнешниеРесурсыРазрешены; @@ -16,9 +17,13 @@ ОбновитьИнформациюОПравилах(); - ОбновитьИсточникПравил(); + ИсточникПравил = ?(Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, + "ТиповыеИзКонфигурации", "ЗагруженныеИзФайла"); + Элементы.ГруппаПланаОбмена.Видимость = ПустаяСтрока(Запись.ИмяПланаОбмена); - УстановитьВидимость(); + Элементы.ГруппаОтладки.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + Элементы.ГруппаНастройкиОтладки.Доступность = Запись.РежимОтладки; + Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными = ОбменДаннымиСервер.СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными(); @@ -39,10 +44,16 @@ РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов(Запросы, ЭтотОбъект, ОповещениеОЗакрытии); Отказ = Истина; + Возврат; КонецЕсли; ВнешниеРесурсыРазрешены = Ложь; + Если ИсточникПравил = "ТиповыеИзКонфигурации" Тогда + // Из конфигурации + ВыполнитьЗагрузкуПравил(Неопределено, "", Ложь); + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -50,7 +61,7 @@ ЕстьНезаполненныеПоля = Ложь; - Если ИсточникПравил <> 0 И ПустаяСтрока(Запись.ИмяФайлаПравил) Тогда + Если ИсточникПравил = "ЗагруженныеИзФайла" И ПустаяСтрока(Запись.ИмяФайлаПравил) Тогда СтрокаСообщения = Нстр("ru = 'Не задан файл правил обмена.'"); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения,,,, ЕстьНезаполненныеПоля); @@ -133,10 +144,14 @@ &НаКлиенте Процедура ИсточникПравилПриИзменении(Элемент) - // вызов сервера - УстановитьВидимость(); + Элементы.ГруппаОтладки.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); + Элементы.ИсточникФайл.Доступность = (ИсточникПравил = "ЗагруженныеИзФайла"); - Запись.РежимОтладки = (ИсточникПравил = 2); + Если ИсточникПравил = "ТиповыеИзКонфигурации" Тогда + + Запись.РежимОтладки = Ложь; + + КонецЕсли; КонецПроцедуры @@ -206,6 +221,13 @@ Запись.ИмяМакетаПравилКорреспондента = Запись.ИмяМакетаПравил + "Корреспондента"; КонецПроцедуры +&НаКлиенте +Процедура ВключитьРежимОтладкиПриИзменении(Элемент) + + Элементы.ГруппаНастройкиОтладки.Доступность = Запись.РежимОтладки; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -213,12 +235,6 @@ &НаКлиенте Процедура ЗагрузитьПравила(Команда) - Если ИсточникПравил = 0 Тогда - // Из конфигурации - ВыполнитьЗагрузкуПравил(Неопределено, "", Ложь); - Возврат; - КонецЕсли; - // Из файла с клиента ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Запись.ИмяФайлаПравил); @@ -287,21 +303,27 @@ &НаСервере Процедура ОбновитьСписокВыбораМакетаПравил() - Если Запись.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда + Если ПустаяСтрока(Запись.ИмяПланаОбмена) Тогда - СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилОбмена(Запись.ИмяПланаОбмена); + Элементы.ГруппаОсновная.Заголовок = Нстр("ru = 'Правила конвертации'"); - Иначе // ПравилаРегистрацииОбъектов + Иначе - СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилРегистрации(Запись.ИмяПланаОбмена); + Элементы.ГруппаОсновная.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Элементы.ГруппаОсновная.Заголовок, Метаданные.ПланыОбмена[Запись.ИмяПланаОбмена].Синоним); КонецЕсли; + СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилОбмена(Запись.ИмяПланаОбмена); + СписокВыбора = Элементы.ИмяМакетаПравил.СписокВыбора; СписокВыбора.Очистить(); ЗаполнитьСписок(СписокМакетов, СписокВыбора); + Элементы.ИсточникМакетКонфигурации.ТекущаяСтраница = ?(СписокМакетов.Количество() = 1, + Элементы.СтраницаОдинМакет, Элементы.СтраницаНесколькоМакетов); + КонецПроцедуры &НаСервере @@ -370,30 +392,11 @@ КонецПроцедуры -&НаСервере -Процедура УстановитьВидимость() - - // если план обмена был ранее задан, то изменять его не даем - Элементы.ГруппаПланаОбмена.Видимость = ПустаяСтрока(Запись.ИмяПланаОбмена); - - ГруппаИсточникиПравил = Элементы.ГруппаИсточникиПравил; - - ГруппаИсточникиПравил.ТекущаяСтраница = ?(ИсточникПравил = 0, - ГруппаИсточникиПравил.ПодчиненныеЭлементы.ИсточникМакетКонфигурации, - ГруппаИсточникиПравил.ПодчиненныеЭлементы.ИсточникФайл); - - Элементы.ВнешняяОбработкаДляОтладкиВыгрузки.Доступность = Запись.РежимОтладкиВыгрузки; - Элементы.ВнешняяОбработкаДляОтладкиЗагрузки.Доступность = Запись.РежимОтладкиЗагрузки; - Элементы.ФайлПротоколаОбмена.Доступность = Запись.РежимПротоколированияОбменаДанными; - - Элементы.ГруппаОтладки.Доступность = ?(ИсточникПравил = 2, Истина, Ложь); - -КонецПроцедуры - &НаСервере Процедура ЗагрузитьПравилаНаСервере(Отказ, АдресВременногоХранилища, ИмяФайлаПравил, ЭтоАрхив) - Запись.ИсточникПравил = ?(ИсточникПравил = 0, Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, Перечисления.ИсточникиПравилДляОбменаДанными.Файл); + Запись.ИсточникПравил = ?(ИсточникПравил = "ТиповыеИзКонфигурации", + Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, Перечисления.ИсточникиПравилДляОбменаДанными.Файл); Объект = РеквизитФормыВЗначение("Запись"); @@ -488,19 +491,6 @@ КонецПроцедуры -&НаСервере -Процедура ОбновитьИсточникПравил() - - ИсточникПравил = ?(Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, 0, 1); - - Если Запись.РежимОтладки Тогда - - ИсточникПравил = 2; - - КонецЕсли; - -КонецПроцедуры - &НаКлиенте Процедура РазрешитьВнешнийРесурсЗавершение(Результат, ПараметрыЗаписи) Экспорт @@ -515,7 +505,8 @@ Функция СоздатьЗапросНаИспользованиеВнешнихРесурсов(Знач Запись) ЗапросыРазрешений = Новый Массив; - РегистрыСведений.ПравилаДляОбменаДанными.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, Запись); + ПравилаРегистрацииИзФайла = РегистрыСведений.ПравилаДляОбменаДанными.ПравилаРегистрацииИзФайла(Запись.ИмяПланаОбмена); + РегистрыСведений.ПравилаДляОбменаДанными.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, Запись, Истина, ПравилаРегистрацииИзФайла); Возврат ЗапросыРазрешений; КонецФункции diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Form.form index e8435be99..9afdac62e 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Form.form +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Form.form @@ -10,6 +10,10 @@ ИмяПланаОбмена 1 + + <key>ru</key> + <value>Синхронизация с программой</value> + true true @@ -101,10 +105,6 @@ ИсточникПравил None - - OnChange - ИсточникПравилПриИзменении - ИсточникПравилExtendedTooltip 37 @@ -130,19 +130,19 @@ ru - Типовые правила из конфигурации + Использовать типовые правила - - 0 + + ТиповыеИзКонфигурации ru - Правила из файла (только для целей отладки) + Загрузить из файла на компьютере: - - 1 + + ЗагруженныеИзФайла Vertical @@ -154,21 +154,60 @@ ИсточникМакетКонфигурации 16 - - ИмяМакетаПравил - 7 + + СтраницаНесколькоМакетов + 60 + + ИмяМакетаПравил + 7 + true + true + + true + + + Запись.ИмяМакетаПравил + + None + + ИмяМакетаПравилExtendedTooltip + 40 + Label + true + true + + Left + + + + ИмяМакетаПравилКонтекстноеМеню + 8 + true + + InputField + Enter + true + Left + true + + true + true + true + false + true + true + true + Normal + + true true true - - Запись.ИмяМакетаПравил - - None - ИмяМакетаПравилExtendedTooltip - 40 + СтраницаНесколькоМакетовРасширеннаяПодсказка + 61 Label true true @@ -176,42 +215,26 @@ Left - - ИмяМакетаПравилКонтекстноеМеню - 8 - true - - InputField - Enter - true - Left - true - - true - true - true - false - true - true - true - Normal + Page + + Vertical + auto - ГруппаДействияСТиповымиПравилами - 27 - - ЗагрузитьТиповыеПравила - 19 + СтраницаОдинМакет + 62 + + ПустаяДекорация + 64 true true true - true - ЗагрузитьТиповыеПравилаExtendedTooltip - 42 + ПустаяДекорацияРасширеннаяПодсказка + 66 Label true true @@ -219,59 +242,26 @@ Left - UsualButton - Form.Command.ЗагрузитьПравила - Normal - Auto + + ПустаяДекорацияКонтекстноеМеню + 65 + true + + Label true true - UserCmds - Auto - - - ВыгрузитьТиповыеПравила - 20 - true - true - - true - - true - - ВыгрузитьТиповыеПравилаExtendedTooltip - 43 - Label - true - true - - Left - - - UsualButton - Form.Command.ВыгрузитьПравила - Normal - Auto - true - true - UserCmds - Auto + + Left + true true true - - <key>ru</key> - <value>Группа действия с типовыми правилами</value> - - - ru - Группа действия с типовыми правилами - - ГруппаДействияСТиповымиПравиламиExtendedTooltip - 41 + СтраницаОдинМакетРасширеннаяПодсказка + 63 Label true true @@ -279,13 +269,10 @@ Left - UsualGroup - - Auto - true - true - Auto - Auto + Page + + Vertical + auto true @@ -293,14 +280,6 @@ true - - <key>ru</key> - <value>Источник макет конфигурации</value> - - - ru - Источник макет конфигурации - ИсточникМакетКонфигурацииExtendedTooltip 39 @@ -311,9 +290,9 @@ Left - Page - - auto + Pages + + Auto @@ -393,34 +372,6 @@ UserCmds Auto - - ВыгрузитьПравилаВФайл - 22 - true - true - - true - - true - - ВыгрузитьПравилаВФайлExtendedTooltip - 48 - Label - true - true - - Left - - - UsualButton - Form.Command.ВыгрузитьПравила - Normal - Auto - true - true - UserCmds - Auto - true true @@ -458,14 +409,6 @@ true - - <key>ru</key> - <value>Источник файл</value> - - - ru - Источник файл - ИсточникФайлExtendedTooltip 44 @@ -476,9 +419,13 @@ Left - Page - - auto + UsualGroup + + Auto + true + true + Auto + Auto true @@ -486,14 +433,6 @@ true - - <key>ru</key> - <value>Группа источники правил</value> - - - ru - Группа источники правил - ГруппаИсточникиПравилExtendedTooltip 38 @@ -504,8 +443,13 @@ Left - Pages - + UsualGroup + + Vertical + Auto + true + true + Auto Auto @@ -516,7 +460,7 @@ <key>ru</key> - <value>Источник правил</value> + <value>Правила регистрации для программы "%1":</value> ru @@ -534,9 +478,7 @@
                                          UsualGroup - Vertical Auto - StrongSeparation true true auto @@ -578,6 +520,7 @@ true true + 6 true true true @@ -670,16 +613,16 @@ InAdditionalSubmenu - ФормаУдалить - 56 + ФормаСохранитьПравилаРегистрацииВФайл + 58 true true true - ФормаУдалитьРасширеннаяПодсказка - 57 + ФормаСохранитьПравилаРегистрацииВФайлРасширеннаяПодсказка + 59 Label true true @@ -687,7 +630,7 @@ Left
                                          - Form.StandardCommand.Delete + Form.Command.СохранитьПравилаРегистрацииВФайл Normal Auto true @@ -703,7 +646,9 @@ ПриСозданииНаСервере Copy + Delete WriteAndClose + 77 LockOwner true true @@ -755,11 +700,8 @@ 3 - Number - - 1 - true - + String + true @@ -791,7 +733,7 @@ ЗагрузитьПравила <key>ru</key> - <value>Загрузить правила</value> + <value>Загрузить</value> 1 @@ -815,10 +757,10 @@ Auto - ВыгрузитьПравила + СохранитьПравилаРегистрацииВФайл <key>ru</key> - <value>Выгрузить правила</value> + <value>Сохранить правила регистрации в файл</value> 2 @@ -828,16 +770,12 @@ true - - StdPicture.SaveFile - ВыгрузитьПравила TextPicture - true Auto Auto diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Help/ru.html b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Help/ru.html index f07097adb..bdcafa1a5 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Help/ru.html +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                          Правила регистрации объектов можно открыть из настройки синхронизации данных по команде Все действия - Загрузить правила регистрации объектов.

                                          diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Module.bsl index 60effe155..14edea2e7 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Module.bsl +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПравилаРегистрацииОбъектов/Module.bsl @@ -20,7 +20,8 @@ СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными = ОбменДаннымиСервер.СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными(); - УстановитьВидимость(); + Элементы.ГруппаПланаОбмена.Видимость = ПустаяСтрока(Запись.ИмяПланаОбмена); + КонецПроцедуры &НаКлиенте @@ -33,10 +34,16 @@ РаботаВБезопасномРежимеКлиент.ПрименитьЗапросыНаИспользованиеВнешнихРесурсов(Запросы, ЭтотОбъект, ОповещениеОЗакрытии); Отказ = Истина; + Возврат; КонецЕсли; ВнешниеРесурсыРазрешены = Ложь; + Если ИсточникПравил = "ТиповыеИзКонфигурации" Тогда + // Из конфигурации + ВыполнитьЗагрузкуПравил(Неопределено, "", Ложь); + КонецЕсли; + КонецПроцедуры &НаКлиенте @@ -62,14 +69,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ИсточникПравилПриИзменении(Элемент) - - // вызов сервера - УстановитьВидимость(); - -КонецПроцедуры - #КонецОбласти #Область ОбработчикиКомандФормы @@ -77,19 +76,15 @@ &НаКлиенте Процедура ЗагрузитьПравила(Команда) - Если ИсточникПравил = 0 Тогда - // Из конфигурации - ВыполнитьЗагрузкуПравил(Неопределено, "", Ложь); - Возврат; - КонецЕсли; + ОчиститьСообщения(); // Из файла с клиента ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Запись.ИмяФайлаПравил); ПараметрыДиалога = Новый Структура; - ПараметрыДиалога.Вставить("Заголовок", НСтр("ru = 'Укажите из какого файла загрузить правила'")); + ПараметрыДиалога.Вставить("Заголовок", НСтр("ru = 'Укажите, из какого файла загрузить правила'")); ПараметрыДиалога.Вставить("Фильтр", - НСтр("ru = 'Файлы правил (*.xml)'") + "|*.xml|" + НСтр("ru = 'Файлы правил регистрации (*.xml)'") + "|*.xml|" + НСтр("ru = 'Архивы ZIP (*.zip)'") + "|*.zip" ); @@ -103,6 +98,8 @@ &НаКлиенте Процедура ВыгрузитьПравила(Команда) + ОчиститьСообщения(); + ВариантыВыгрузки = Новый СписокЗначений; ВариантыВыгрузки.Добавить(Ложь, НСтр("ru = 'Обычным файлом'") ); ВариантыВыгрузки.Добавить(Истина, НСтр("ru = 'В архиве zip'") ); @@ -150,21 +147,27 @@ &НаСервере Процедура ОбновитьСписокВыбораМакетаПравил() - Если Запись.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда + Если ПустаяСтрока(Запись.ИмяПланаОбмена) Тогда - СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилОбмена(Запись.ИмяПланаОбмена); + Элементы.ГруппаОсновная.Заголовок = Нстр("ru = 'Правила конвертации'"); - Иначе // ПравилаРегистрацииОбъектов + Иначе - СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилРегистрации(Запись.ИмяПланаОбмена); + Элементы.ГруппаОсновная.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Элементы.ГруппаОсновная.Заголовок, Метаданные.ПланыОбмена[Запись.ИмяПланаОбмена].Синоним); КонецЕсли; + СписокМакетов = ОбменДаннымиПовтИсп.ПолучитьСписокТиповыхПравилРегистрации(Запись.ИмяПланаОбмена); + СписокВыбора = Элементы.ИмяМакетаПравил.СписокВыбора; СписокВыбора.Очистить(); ЗаполнитьСписок(СписокМакетов, СписокВыбора); + Элементы.ИсточникМакетКонфигурации.ТекущаяСтраница = ?(СписокМакетов.Количество() = 1, + Элементы.СтраницаОдинМакет, Элементы.СтраницаНесколькоМакетов); + КонецПроцедуры &НаСервере @@ -178,24 +181,11 @@ КонецПроцедуры -&НаСервере -Процедура УстановитьВидимость() - - // если план обмена был ранее задан, то изменять его не даем - Элементы.ГруппаПланаОбмена.Видимость = ПустаяСтрока(Запись.ИмяПланаОбмена); - - ГруппаИсточникиПравил = Элементы.ГруппаИсточникиПравил; - - ГруппаИсточникиПравил.ТекущаяСтраница = ?(ИсточникПравил = 0, - ГруппаИсточникиПравил.ПодчиненныеЭлементы.ИсточникМакетКонфигурации, - ГруппаИсточникиПравил.ПодчиненныеЭлементы.ИсточникФайл); - -КонецПроцедуры - &НаСервере Процедура ЗагрузитьПравилаНаСервере(Отказ, АдресВременногоХранилища, ИмяФайлаПравил, ЭтоАрхив) - Запись.ИсточникПравил = ?(ИсточникПравил = 0, Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, Перечисления.ИсточникиПравилДляОбменаДанными.Файл); + Запись.ИсточникПравил = ?(ИсточникПравил = "ТиповыеИзКонфигурации", + Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, Перечисления.ИсточникиПравилДляОбменаДанными.Файл); Объект = РеквизитФормыВЗначение("Запись"); @@ -215,7 +205,7 @@ ЗначениеВРеквизитФормы(Объект, "Запись"); ОбновитьИнформациюОПравилах(); - УстановитьВидимость(); + Элементы.ГруппаПланаОбмена.Видимость = ПустаяСтрока(Запись.ИмяПланаОбмена); КонецПроцедуры @@ -300,7 +290,8 @@ &НаСервере Процедура ОбновитьИсточникПравил() - ИсточникПравил = ?(Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, 0, 1); + ИсточникПравил = ?(Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации, + "ТиповыеИзКонфигурации", "ЗагруженныеИзФайла"); КонецПроцедуры @@ -369,7 +360,7 @@ ТекстОшибки = РезультатПомещенияФайлов.ОписаниеОшибки; Если ПустаяСтрока(ТекстОшибки) И ПустаяСтрока(АдресПомещенногоФайла) Тогда - ТекстОшибки = НСтр("ru = 'Ошибка передачи файла настроек синхронизации данных на сервер'"); + ТекстОшибки = НСтр("ru = 'Ошибка передачи файла на сервер'"); КонецЕсли; Если Не ПустаяСтрока(ТекстОшибки) Тогда @@ -377,10 +368,12 @@ Возврат; КонецЕсли; + ИсточникПравил = "ЗагруженныеИзФайла"; + // Успешно передали файл, загружаем на сервере ЧастиИмени = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(РезультатПомещенияФайлов.Имя); - ВыполнитьЗагрузкуПравил(АдресПомещенногоФайла, ЧастиИмени.Имя, НРег(ЧастиИмени.Расширение) = ".zip"); + КонецПроцедуры &НаКлиенте @@ -397,7 +390,11 @@ Функция СоздатьЗапросНаИспользованиеВнешнихРесурсов(Знач Запись) ЗапросыРазрешений = Новый Массив; - РегистрыСведений.ПравилаДляОбменаДанными.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, Запись); + ПравилаКонвертацииИзФайла = РегистрыСведений.ПравилаДляОбменаДанными.ПравилаКонвертацииИзФайла(Запись.ИмяПланаОбмена); + ЕстьПравилаКонвертации = (ПравилаКонвертацииИзФайла <> Неопределено); + ПравилаРегистрацииИзФайла = (Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.Файл); + РегистрыСведений.ПравилаДляОбменаДанными.ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, + ?(ЕстьПравилаКонвертации, ПравилаКонвертацииИзФайла, Запись), ЕстьПравилаКонвертации, ПравилаРегистрацииИзФайла); Возврат ЗапросыРазрешений; КонецФункции diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Form.form new file mode 100644 index 000000000..91ea7cb6b --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Form.form @@ -0,0 +1,263 @@ + + + + ГруппаСообщениеПользователю + 7 + + КартинкаСообщения + 9 + + <key>ru</key> + <value>Картинка сообщения</value> + + true + true + + true + + + КартинкаСообщенияРасширеннаяПодсказка + 11 + Label + true + true + + Left + + + + КартинкаСообщенияКонтекстноеМеню + 10 + true + + 4 + true + 2 + true + + + CommonPicture.Информация32 + + + + + ТекстСообщения + 12 + + <key>ru</key> + <value>Для синхронизации данных с другими программами используются нетиповые правила +конвертации или регистрации, которые были загружены из внешнего файла. +Рекомендуется проверить работоспособность синхронизации данных и при необходимости обновить правила.</value> + + true + true + + true + + + ТекстСообщенияРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + + ТекстСообщенияКонтекстноеМеню + 13 + true + + Label + true + 5 + true + + Left + + + true + true + + true + + + ГруппаСообщениеПользователюРасширеннаяПодсказка + 8 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + Bottom + true + + ФормаКоманднаяПанель + -1 + + ФормаПерейтиКСписку + 3 + true + true + + true + + + ФормаПерейтиКСпискуРасширеннаяПодсказка + 4 + Label + true + true + + Left + + + Form.Command.ПерейтиКСписку + Auto + true + true + true + UserCmds + Auto + + + ФормаПроверено + 1 + true + true + + true + + + ФормаПровереноРасширеннаяПодсказка + 2 + Label + true + true + + Left + + + Form.Command.Проверено + Normal + Auto + true + true + UserCmds + Auto + + + ФормаЗакрыть + 5 + true + true + + true + + + ФормаЗакрытьРасширеннаяПодсказка + 6 + Label + true + true + + Left + + + Form.Command.Закрыть + Normal + Auto + true + true + UserCmds + Auto + + Right + + 60 + LockOwner + true + true + true + Vertical + true + true + true + auto + true + + Проверено + + <key>ru</key> + <value>Проверено</value> + + 1 + + ru + Не выводить больше это сообщение до следующего обновления программы. + + + true + + + + Проверено + + + Auto + Auto + + + ПерейтиКСписку + + <key>ru</key> + <value>Перейти к списку</value> + + 2 + + true + + + + ПерейтиКСписку + + + Auto + Auto + + + Закрыть + + <key>ru</key> + <value>Закрыть</value> + + 3 + + true + + + + ЗакрытьФорму + + + Auto + Auto + + + + + + diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Module.bsl new file mode 100644 index 000000000..f1ebec3a2 --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ПроверкаПлановОбмена/Module.bsl @@ -0,0 +1,35 @@ +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ПерейтиКСписку(Команда) + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ПланыОбменаСПравиламиИзФайла", Истина); + + ОткрытьФорму("РегистрСведений.ПравилаДляОбменаДанными.Форма.ФормаСписка", ПараметрыФормы); +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму(Команда) + Закрыть(); +КонецПроцедуры + +&НаКлиенте +Процедура Проверено(Команда) + ОтметитьВыполнениеДела(); + Закрыть(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ОтметитьВыполнениеДела() + + ВерсияМассив = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Метаданные.Версия, "."); + ТекущаяВерсия = ВерсияМассив[0] + ВерсияМассив[1] + ВерсияМассив[2]; + ХранилищеОбщихНастроек.Сохранить("ТекущиеДела", "ПланыОбмена", ТекущаяВерсия); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Form.form new file mode 100644 index 000000000..8cc581b82 --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Form.form @@ -0,0 +1,619 @@ + + + + <key>ru</key> + <value>Не удалось выполнить обновление</value> + + + Группа2 + 24 + + Декорация2 + 26 + true + true + + true + + + Декорация2РасширеннаяПодсказка + 28 + Label + true + true + + Left + + + + Декорация2КонтекстноеМеню + 27 + true + + 4 + true + 2 + true + + + CommonPicture.Ошибка32 + + + + + Группа3 + 39 + + ТекстСообщенияОбОшибке + 21 + + <key>ru</key> + <value>При выполнении правил регистрации для программы +"%1" +возникла ошибка: +%2</value> + + true + true + + true + + + ТекстСообщенияОбОшибкеРасширеннаяПодсказка + 23 + Label + true + true + + Left + + + + ТекстСообщенияОбОшибкеКонтекстноеМеню + 22 + true + + Label + true + true + + Left + + + + ПерейтиВЖурналРегистрации + 54 + true + true + + true + + + ПерейтиВЖурналРегистрацииРасширеннаяПодсказка + 55 + Label + true + true + + Left + + + Hyperlink + Form.Command.ПерейтиВЖурналРегистрации + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа3РасширеннаяПодсказка + 40 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + Группа2РасширеннаяПодсказка + 25 + Label + true + true + + Left + + + UsualGroup + + Auto + NormalSeparation + true + true + Auto + Auto + + + + ГруппаЗагрузкиПравил + 60 + + ТекстПравилаИзФайла + 41 + + <key>ru</key> + <value>Для программы "%1" +используются устаревшие правила %2, загруженные из файла. Рекомендуется +использовать правила из конфигурации или загрузить новые правила из файла.</value> + + true + true + + true + + + ТекстПравилаИзФайлаРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + + ТекстПравилаИзФайлаКонтекстноеМеню + 42 + true + + Label + true + true + + Left + + + + ЗагрузитьКомплектПравил + 65 + true + true + + true + + + ЗагрузитьКомплектПравилРасширеннаяПодсказка + 66 + Label + true + true + + Left + + + Hyperlink + Form.Command.ЗагрузитьКомплектПравил + Normal + Auto + true + true + UserCmds + + StdPicture.MoveRight + + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа загрузки правил</value> + + + ru + Группа загрузки правил + + + ГруппаЗагрузкиПравилРасширеннаяПодсказка + 61 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + Декорация1 + 62 + true + true + + true + + + Декорация1РасширеннаяПодсказка + 64 + Label + true + true + + Left + + + + Декорация1КонтекстноеМеню + 63 + true + + Label + true + true + + Left + + + + КоманднаяПанель + 13 + + Перезапустить + 17 + true + true + + true + + + ПерезапуститьРасширеннаяПодсказка + 18 + Label + true + true + + Left + + + Form.Command.Перезапустить + Auto + true + true + true + UserCmds + Auto + + + ЗавершитьРаботу + 15 + true + true + + true + + + ЗавершитьРаботуРасширеннаяПодсказка + 16 + Label + true + true + + Left + + + Form.Command.ЗавершитьРаботу + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + ru + Командная панель + + + КоманднаяПанельРасширеннаяПодсказка + 14 + Label + true + true + + Left + + + CommandBar + + Right + + + + ФормаКоманднаяПанель + -1 + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwner + true + true + Vertical + true + true + true + auto + true + + Объект + 1 + + String + + + + true + + + true + +
                                          true
                                          +
                                          + + ВремяНачалаОбновления + + <key>ru</key> + <value>Время начала обновления</value> + + 2 + + Date + + + + true + + + true + + + + ВремяОкончанияОбновления + + <key>ru</key> + <value>Время окончания обновления</value> + + 4 + + Date + + + + true + + + true + + + + ИмяПланаОбмена + + <key>ru</key> + <value>Имя плана обмена</value> + + 5 + + String + + + + true + + + true + + + + ПравилаКонвертацииОбъектов + + <key>ru</key> + <value>Правила конвертации объектов</value> + + 6 + + EnumRef.ВидыПравилДляОбменаДанными + + + true + + + true + + + + ПравилаРегистрацииОбъектов + + <key>ru</key> + <value>Правила конвертации объектов</value> + + 7 + + EnumRef.ВидыПравилДляОбменаДанными + + + true + + + true + + + + Перезапустить + + <key>ru</key> + <value>Перезапустить и продолжить</value> + + 1 + + ru + Перезапустить + + + true + + + + Перезапустить + + + Auto + Auto + + + ЗавершитьРаботу + + <key>ru</key> + <value>Завершить работу</value> + + 2 + + ru + Завершить работу + + + true + + + + ЗавершитьРаботу + + + Auto + Auto + + + ПерейтиВЖурналРегистрации + + <key>ru</key> + <value>Техническая информация об ошибке</value> + + 4 + + ru + Перейти в журнал регистрации + + + true + + + + ПерейтиВЖурналРегистрации + + + Auto + Auto + + + ЗагрузитьКомплектПравил + + <key>ru</key> + <value>Загрузить новые правила</value> + + 3 + + ru + Загрузить комплект правил + + + true + + + + ЗагрузитьКомплектПравил + + + Auto + Auto + + + ИмяПланаОбмена + + String + + + + + ПодробноеСообщениеОбОшибке + + String + + + + + КраткоеСообщениеОбОшибке + + String + + + + + ВремяНачалаОбновления + + Date + + + + + ВремяОкончанияОбновления + + Date + + + + + + + +
                                          diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Module.bsl new file mode 100644 index 000000000..c9283cc61 --- /dev/null +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/СообщениеОНеудачномОбновлении/Module.bsl @@ -0,0 +1,102 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + ИмяПланаОбмена = Параметры.ИмяПланаОбмена; + СинонимПланаОбмена = Метаданные.ПланыОбмена[ИмяПланаОбмена].Синоним; + + ПравилаКонвертацииОбъектов = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов; + ПравилаРегистрацииОбъектов = Перечисления.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов; + + ЗаписьЖурналаРегистрации(ОбновлениеИнформационнойБазы.СобытиеЖурналаРегистрации(), УровеньЖурналаРегистрации.Ошибка,,, + Параметры.ПодробноеСообщениеОбОшибке); + + СообщениеОбОшибке = Элементы.ТекстСообщенияОбОшибке.Заголовок; + СообщениеОбОшибке = СтрЗаменить(СообщениеОбОшибке, "%2", Параметры.КраткоеСообщениеОбОшибке); + СообщениеОбОшибке = СтрЗаменитьСВыделением(СообщениеОбОшибке, "%1", СинонимПланаОбмена); + Элементы.ТекстСообщенияОбОшибке.Заголовок = СообщениеОбОшибке; + + ПравилаИзФайла = РегистрыСведений.ПравилаДляОбменаДанными.ИспользуютсяПравилаИзФайла(ИмяПланаОбмена, Истина); + + Если ПравилаИзФайла.ПравилаКонвертации И ПравилаИзФайла.ПравилаРегистрации Тогда + ТипПравил = Нстр("ru = 'конвертации и регистрации'"); + ИначеЕсли ПравилаИзФайла.ПравилаКонвертации Тогда + ТипПравил = Нстр("ru = 'конвертации'"); + ИначеЕсли ПравилаИзФайла.ПравилаРегистрации Тогда + ТипПравил = Нстр("ru = 'регистрации'"); + КонецЕсли; + + Элементы.ТекстПравилаИзФайла.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + Элементы.ТекстПравилаИзФайла.Заголовок, СинонимПланаОбмена, ТипПравил); + + ВремяНачалаОбновления = Параметры.ВремяНачалаОбновления; + Если Параметры.ВремяОкончанияОбновления = Неопределено Тогда + ВремяОкончанияОбновления = ТекущаяДатаСеанса(); + Иначе + ВремяОкончанияОбновления = Параметры.ВремяОкончанияОбновления; + КонецЕсли; + + Элементы.ЗагрузитьПравилаКонвертации.Видимость = ПравилаИзФайла.ПравилаКонвертации; + Элементы.ЗагрузитьПравилаРегистрации.Видимость = ПравилаИзФайла.ПравилаРегистрации; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ЗавершитьРаботу(Команда) + Закрыть(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ПерейтиВЖурналРегистрации(Команда) + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ДатаНачала", ВремяНачалаОбновления); + ПараметрыФормы.Вставить("ДатаОкончания", ВремяОкончанияОбновления); + ПараметрыФормы.Вставить("ЗапускатьНеВФоне", Истина); + + ОткрытьФорму("Обработка.ЖурналРегистрации.Форма.ЖурналРегистрации", ПараметрыФормы); + +КонецПроцедуры + +&НаКлиенте +Процедура Перезапустить(Команда) + Закрыть(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьКомплектПравил(Команда) + + ОбменДаннымиКлиент.ЗагрузитьПравилаСинхронизацииДанных(ИмяПланаОбмена); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Функция СтрЗаменитьСВыделением(Строка, ПодстрокаПоиска, ПодстрокаЗамены) + + ПозицияНачала = Найти(Строка, ПодстрокаПоиска); + + МассивСтроки = Новый Массив; + + МассивСтроки.Добавить(Лев(Строка, ПозицияНачала - 1)); + МассивСтроки.Добавить(Новый ФорматированнаяСтрока(ПодстрокаЗамены, Новый Шрифт(,,Истина))); + МассивСтроки.Добавить(Сред(Строка, ПозицияНачала + СтрДлина(ПодстрокаПоиска))); + + Возврат Новый ФорматированнаяСтрока(МассивСтроки); + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Form.form index 85dfb51a9..2670ff1c7 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Form.form @@ -1,209 +1,24 @@ - - Список - 1 + + <key>ru</key> + <value>Правила обмена для синхронизации данных</value> + + + ПользовательскиеОтборы + 44 true true true - - Список - - true - None - - ИмяПланаОбмена - 4 - true - true - - true - - - Список.ИмяПланаОбмена - - true - - ИмяПланаОбменаExtendedTooltip - 37 - Label - true - true - - Left - - - - ИмяПланаОбменаКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ВидПравил - 6 - true - true - - true - - - Список.ВидПравил - - true - - ВидПравилExtendedTooltip - 38 - Label - true - true - - Left - - - - ВидПравилКонтекстноеМеню - 7 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ИсточникПравил - 12 - true - true - - true - - - Список.ИсточникПравил - - true - - ИсточникПравилExtendedTooltip - 39 - Label - true - true - - Left - - - - ИсточникПравилКонтекстноеМеню - 13 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 40 - - СписокСтрокаПоискаРасширеннаяПодсказка - 42 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 41 - true - - Список - - true - - - - СписокСостояниеПросмотра - 43 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 45 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 44 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 46 - - СписокУправлениеПоискомРасширеннаяПодсказка - 48 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 47 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Пользовательские отборы</value> + - СписокExtendedTooltip - 36 + ПользовательскиеОтборыРасширеннаяПодсказка + 45 Label true true @@ -211,49 +26,18 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Auto + true + true + Auto + Auto
                                          - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 42 ФормаИзменить 23 @@ -284,6 +68,32 @@ ФормаГруппа3 24 + + ФормаИспользоватьТиповыеПравила + 40 + true + true + + true + + + ФормаИспользоватьТиповыеПравилаРасширеннаяПодсказка + 41 + Label + true + true + + Left + + + Form.Command.ИспользоватьТиповыеПравила + Normal + Auto + true + true + UserCmds + Auto + ФормаОбновитьВсеТиповыеПравила 14 @@ -309,6 +119,7 @@ true UserCmds Auto + InAdditionalSubmenu true true @@ -526,11 +337,298 @@
                                          + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 43 + Label + true + true + + Left + + + CommandBar + + Left + + + + Список + 1 + true + true + + true + + + Список + + true + None + + ИмяПланаОбмена + 4 + + <key>ru</key> + <value>Программа</value> + + true + true + + true + + + Список.ИмяПланаОбмена + + true + + ИмяПланаОбменаExtendedTooltip + 37 + Label + true + true + + Left + + + + ИмяПланаОбменаКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВидПравил + 6 + true + true + + true + + + Список.ВидПравил + + true + + ВидПравилExtendedTooltip + 38 + Label + true + true + + Left + + + + ВидПравилКонтекстноеМеню + 7 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ИсточникПравил + 12 + true + true + + true + + + Список.ИсточникПравил + + true + + ИсточникПравилExtendedTooltip + 39 + Label + true + true + + Left + + + + ИсточникПравилКонтекстноеМеню + 13 + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 46 + + СписокСтрокаПоискаРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 47 + true + + Список + + true + + + + СписокСостояниеПросмотра + 49 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 51 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 50 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 52 + + СписокУправлениеПоискомРасширеннаяПодсказка + 54 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 53 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 36 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ПользовательскиеОтборы + +
                                          + + ФормаКоманднаяПанель + -1 Left + + OnCreateAtServer + ПриСозданииНаСервере + DontBlock true - true true Vertical true @@ -582,6 +680,24 @@ Auto Auto + + ИспользоватьТиповыеПравила + + <key>ru</key> + <value>Использовать типовые правила</value> + + 2 + + true + + + + ИспользоватьТиповыеПравила + + + Auto + Auto + diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Module.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Module.bsl index c1260ebec..b5645fdae 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Forms/ФормаСписка/Module.bsl @@ -1,3 +1,21 @@ +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("ПланыОбменаСПравиламиИзФайла") Тогда + + Элементы.ИсточникПравил.Видимость = Ложь; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, + "ИсточникПравил", + Перечисления.ИсточникиПравилДляОбменаДанными.Файл, + ВидСравненияКомпоновкиДанных.Равно); + + КонецЕсли; +КонецПроцедуры + +#КонецОбласти #Область ОбработчикиКомандФормы @@ -24,4 +42,31 @@ КонецПроцедуры +&НаКлиенте +Процедура ИспользоватьТиповыеПравила(Команда) + ИспользоватьТиповыеПравилаНаСервере(); + Элементы.Список.Обновить(); + ПоказатьОповещениеПользователя(НСтр("ru = 'Обновление правил успешно завершено.'")); +КонецПроцедуры + +&НаСервере +Процедура ИспользоватьТиповыеПравилаНаСервере() + + Для Каждого Запись Из Элементы.Список.ВыделенныеСтроки Цикл + МенеджерЗаписи = РегистрыСведений.ПравилаДляОбменаДанными.СоздатьМенеджерЗаписи(); + ЗаполнитьЗначенияСвойств(МенеджерЗаписи, Запись); + МенеджерЗаписи.Прочитать(); + МенеджерЗаписи.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации; + ЕстьОшибки = Ложь; + РегистрыСведений.ПравилаДляОбменаДанными.ЗагрузитьПравила(ЕстьОшибки, МенеджерЗаписи); + Если Не ЕстьОшибки Тогда + МенеджерЗаписи.Записать(); + КонецЕсли; + КонецЦикла; + + ОбменДаннымиВызовСервера.СброситьКэшМеханизмаРегистрацииОбъектов(); + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + #КонецОбласти diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Help/ru.html b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Help/ru.html index 95dae2770..188bce674 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Help/ru.html +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Типовые правила обмена состоят из правил конвертации объектов и правил регистрации объектов. Правила конвертации данных используются при синхронизации данных двух программ. Правила регистрации предусмотрены для всех видов синхронизации данных. Комплект актуальных правил обмена публикуется на сайте технической поддержки http://users.v8.1c.ru. Исправительные версии правил обмена также публикуются на данном сайте.

                                          Контроль актуальности правил синхронизации

                                          diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ManagerModule.bsl b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ManagerModule.bsl index 2011ea38e..086e211f1 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ManagerModule.bsl @@ -233,6 +233,208 @@ КонецПроцедуры +Процедура ЗагрузитьКомплектПравил(Отказ, ДанныеДляЗаписи, ОписаниеОшибки, АдресВременногоХранилища = "", ИмяФайлаПравил = "") Экспорт + + ЗаписьПравилКонвертации = ДанныеДляЗаписи.ЗаписьПравилКонвертации; + ЗаписьПравилРегистрации = ДанныеДляЗаписи.ЗаписьПравилРегистрации; + + // Получаем двоичные данные правил из файла или макета конфигурации + Если ЗаписьПравилКонвертации.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.МакетКонфигурации Тогда + + ДвоичныеДанные = ПолучитьДвоичныеДанныеИзМакетаКонфигурации(Отказ, ЗаписьПравилКонвертации.ИмяПланаОбмена, ЗаписьПравилКонвертации.ИмяМакетаПравил); + ДвоичныеДанныеКорреспондента = ПолучитьДвоичныеДанныеИзМакетаКонфигурации(Отказ, ЗаписьПравилКонвертации.ИмяПланаОбмена, ЗаписьПравилКонвертации.ИмяМакетаПравилКорреспондента); + ДвоичныеДанныеРегистрации = ПолучитьДвоичныеДанныеИзМакетаКонфигурации(Отказ, ЗаписьПравилРегистрации.ИмяПланаОбмена, ЗаписьПравилРегистрации.ИмяМакетаПравил); + + Иначе + + ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); + + КонецЕсли; + + Если ЗаписьПравилКонвертации.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.Файл Тогда + + // Получаем файл архива из двоичных данных + ИмяВременногоАрхива = ПолучитьИмяВременногоФайла("zip"); + ДвоичныеДанные.Записать(ИмяВременногоАрхива); + + // Распаковываем архив + ИмяВременнойПапки = ПолучитьИмяВременногоФайла(""); + Если ОбменДаннымиСервер.РаспаковатьZipФайл(ИмяВременногоАрхива, ИмяВременнойПапки) Тогда + + СписокРаспакованныхФайлов = НайтиФайлы(ИмяВременнойПапки, "*.*", Истина); + + // В архиве не было ни одного файла - отказываемся от загрузки + Если СписокРаспакованныхФайлов.Количество() = 0 Тогда + НСтрока = НСтр("ru = 'При распаковке архива не найден файл с правилами.'"); + ОбменДаннымиСервер.СообщитьОбОшибке(НСтрока, Отказ); + КонецЕсли; + + // В архиве количество файлов не соответсвует ожидаемому - отказываемся от загрузки + Если СписокРаспакованныхФайлов.Количество() <> 3 Тогда + НСтрока = НСтр("ru = 'Не верный формат комплекта правил. Ожидаемое количество файлов в архиве - три. Ожидаются файлы: + |ExchangeRules.xml - правила конвертации для текущей программы; + |CorrespondentExchangeRules.xml - правила конвертации для программы-корреспондента; + |RegistrationRules.xml - правила регистрации для текущей программы.'"); + ОбменДаннымиСервер.СообщитьОбОшибке(НСтрока, Отказ); + КонецЕсли; + + // Закладываем полученный файл правил обратно в двоичные данные + Для Каждого ПолученныйФайл Из СписокРаспакованныхФайлов Цикл + + Если ПолученныйФайл.Имя = "ExchangeRules.xml" Тогда + ДвоичныеДанные = Новый ДвоичныеДанные(ПолученныйФайл.ПолноеИмя); + ИначеЕсли ПолученныйФайл.Имя ="CorrespondentExchangeRules.xml" Тогда + ДвоичныеДанныеКорреспондента = Новый ДвоичныеДанные(ПолученныйФайл.ПолноеИмя); + ИначеЕсли ПолученныйФайл.Имя ="RegistrationRules.xml" Тогда + ДвоичныеДанныеРегистрации = Новый ДвоичныеДанные(ПолученныйФайл.ПолноеИмя); + Иначе + НСтрока = НСтр("ru = 'Имена файлов в архиве не соответствуют ожидаемым. Ожидаются файлы: + |ExchangeRules.xml - правила конвертации для текущей программы; + |CorrespondentExchangeRules.xml - правила конвертации для программы-корреспондента; + |RegistrationRules.xml - правила регистрации для текущей программы.'"); + ОбменДаннымиСервер.СообщитьОбОшибке(НСтрока, Отказ); + Прервать; + КонецЕсли; + + КонецЦикла; + + Иначе + // Если не удалось распаковать файл - отказываемся от загрузки + НСтрока = НСтр("ru = 'Не удалось распаковать архив с правилами.'"); + ОбменДаннымиСервер.СообщитьОбОшибке(НСтрока, Отказ); + КонецЕсли; + + // Удаляем временный архив и временную папку, в которую был распакован архив + УдалитьВременныйФайл(ИмяВременнойПапки); + УдалитьВременныйФайл(ИмяВременногоАрхива); + + КонецЕсли; + + Если Отказ Тогда + Возврат; + КонецЕсли; + + ИнформацияОПравилахКонвертации = "[ИнформацияОПравилахИсточника] + | + |[ИнформацияОПравилахКорреспондента]"; + + // получаем имя временного файла конвертации в локальной ФС на сервере + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml"); + + // получаем файл правил для зачитки + ДвоичныеДанные.Записать(ИмяВременногоФайла); + + // зачитываем правила конвертации + КонвертацияОбъектовИнформационныхБаз = Обработки.КонвертацияОбъектовИнформационныхБаз.Создать(); + + // свойства обработки + КонвертацияОбъектовИнформационныхБаз.РежимОбмена = "Выгрузка"; + КонвертацияОбъектовИнформационныхБаз.ИмяПланаОбменаВРО = ЗаписьПравилКонвертации.ИмяПланаОбмена; + КонвертацияОбъектовИнформационныхБаз.КлючСообщенияЖурналаРегистрации = ОбменДаннымиСервер.СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными(); + + ОбменДаннымиСервер.УстановитьНастройкиОтладкиВыгрузкиДляПравилОбмена(КонвертацияОбъектовИнформационныхБаз, ЗаписьПравилКонвертации.ИмяПланаОбмена, ЗаписьПравилКонвертации.РежимОтладки); + + // методы обработки + Если ЗаписьПравилКонвертации.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.Файл И ОписаниеОшибки = Неопределено + И Не ПравилаКонвертацииСовместимыСТекущейВерсией(ЗаписьПравилКонвертации.ИмяПланаОбмена, ОписаниеОшибки, ИнформацияОПравилахИзФайла(ИмяВременногоФайла)) Тогда + + Отказ = Истина; + Возврат; + + КонецЕсли; + + ПравилаЗачитанные = КонвертацияОбъектовИнформационныхБаз.ПолучитьСтруктуруПравилОбмена(ИмяВременногоФайла); + + РежимСовместимости = Ложь; + ИнформацияОПравилахИсточника = КонвертацияОбъектовИнформационныхБаз.ПолучитьИнформациюОПравилах(Ложь, РежимСовместимости); + + Если КонвертацияОбъектовИнформационныхБаз.ФлагОшибки() Тогда + Отказ = Истина; + КонецЕсли; + + // получаем имя временного файла конвертации корреспондента в локальной ФС на сервере + ИмяВременногоФайлаКорреспондента = ПолучитьИмяВременногоФайла("xml"); + // получаем файл правил для зачитки + ДвоичныеДанныеКорреспондента.Записать(ИмяВременногоФайлаКорреспондента); + + // зачитываем правила конвертации + КонвертацияОбъектовИнформационныхБаз = Обработки.КонвертацияОбъектовИнформационныхБаз.Создать(); + + // свойства обработки + КонвертацияОбъектовИнформационныхБаз.РежимОбмена = "Загрузка"; + КонвертацияОбъектовИнформационныхБаз.ИмяПланаОбменаВРО = ЗаписьПравилКонвертации.ИмяПланаОбмена; + КонвертацияОбъектовИнформационныхБаз.КлючСообщенияЖурналаРегистрации = ОбменДаннымиСервер.СобытиеЖурналаРегистрацииЗагрузкаПравилДляОбменаДанными(); + + // методы обработки + ПравилаЗачитанныеКорреспондента = КонвертацияОбъектовИнформационныхБаз.ПолучитьСтруктуруПравилОбмена(ИмяВременногоФайлаКорреспондента); + + РежимСовместимостиКорреспондента = Ложь; + ИнформацияОПравилахКорреспондента = КонвертацияОбъектовИнформационныхБаз.ПолучитьИнформациюОПравилах( + Истина, РежимСовместимостиКорреспондента); + + Если КонвертацияОбъектовИнформационныхБаз.ФлагОшибки() Тогда + Отказ = Истина; + КонецЕсли; + + ИнформацияОПравилахКонвертации = СтрЗаменить(ИнформацияОПравилахКонвертации, "[ИнформацияОПравилахИсточника]", ИнформацияОПравилахИсточника); + ИнформацияОПравилахКонвертации = СтрЗаменить(ИнформацияОПравилахКонвертации, "[ИнформацияОПравилахКорреспондента]", ИнформацияОПравилахКорреспондента); + + // получаем имя временного файла регистрации в локальной ФС на сервере + ИмяВременногоФайлаРегистрации = ПолучитьИмяВременногоФайла("xml"); + // получаем файл правил для зачитки + ДвоичныеДанныеРегистрации.Записать(ИмяВременногоФайлаРегистрации); + + + // зачитываем правила регистрации + ЗагрузкаПравилРегистрации = Обработки.ЗагрузкаПравилРегистрацииОбъектов.Создать(); + + // свойства обработки + ЗагрузкаПравилРегистрации.ИмяПланаОбменаДляЗагрузки = ЗаписьПравилРегистрации.ИмяПланаОбмена; + + // методы обработки + ЗагрузкаПравилРегистрации.ЗагрузитьПравила(ИмяВременногоФайлаРегистрации); + ПравилаРегистрацииЗачитанные = ЗагрузкаПравилРегистрации.ПравилаРегистрацииОбъектов; + ИнформацияОПравилахРегистрации = ЗагрузкаПравилРегистрации.ПолучитьИнформациюОПравилах(); + + Если ЗагрузкаПравилРегистрации.ФлагОшибки Тогда + Отказ = Истина; + КонецЕсли; + + // удаляем временные файлы правил + УдалитьВременныйФайл(ИмяВременногоФайла); + УдалитьВременныйФайл(ИмяВременногоФайлаКорреспондента); + УдалитьВременныйФайл(ИмяВременногоФайлаРегистрации); + + Если Не Отказ Тогда + + //Сделаем запись правил конвертации + ЗаписьПравилКонвертации.ПравилаXML = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); + ЗаписьПравилКонвертации.ПравилаЗачитанные = Новый ХранилищеЗначения(ПравилаЗачитанные); + ЗаписьПравилКонвертации.ПравилаXMLКорреспондента = Новый ХранилищеЗначения(ДвоичныеДанныеКорреспондента, Новый СжатиеДанных()); + ЗаписьПравилКонвертации.ПравилаЗачитанныеКорреспондента = Новый ХранилищеЗначения(ПравилаЗачитанныеКорреспондента); + ЗаписьПравилКонвертации.ИнформацияОПравилах = ИнформацияОПравилахКонвертации; + ЗаписьПравилКонвертации.ИмяФайлаПравил = ИмяФайлаПравил; + ЗаписьПравилКонвертации.ПравилаЗагружены = Истина; + ЗаписьПравилКонвертации.ИмяПланаОбменаИзПравил = ЗаписьПравилКонвертации.ИмяПланаОбмена; + + Если РежимСовместимости <> РежимСовместимостиКорреспондента Тогда + ВызватьИсключение Нстр("ru = 'Резличаются режимы совместимости правил обмена текущей конфигурации и конфигурации-корреспондента.'"); + Иначе + ЗаписьПравилКонвертации.РежимСовместимости = РежимСовместимости; + КонецЕсли; + + //Сделаем запись правил регистрации + ЗаписьПравилРегистрации.ПравилаXML = Новый ХранилищеЗначения(ДвоичныеДанныеРегистрации, Новый СжатиеДанных()); + ЗаписьПравилРегистрации.ПравилаЗачитанные = Новый ХранилищеЗначения(ПравилаРегистрацииЗачитанные); + ЗаписьПравилРегистрации.ИнформацияОПравилах = ИнформацияОПравилахРегистрации; + ЗаписьПравилРегистрации.ИмяФайлаПравил = ИмяФайлаПравил; + ЗаписьПравилРегистрации.ПравилаЗагружены = Истина; + ЗаписьПравилРегистрации.ИмяПланаОбменаИзПравил = ЗаписьПравилРегистрации.ИмяПланаОбмена; + + КонецЕсли; + +КонецПроцедуры + // Получает зачитанные правила конвертации объектов из ИБ для плана обмена // // Параметры: @@ -280,6 +482,43 @@ КонецФункции +Функция ИспользуютсяПравилаИзФайла(ИмяПланаОбмена, ПодробныйРезультат = Ложь) Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ + | ПравилаДляОбменаДанными.ИмяПланаОбмена КАК ИмяПланаОбмена, + | ПравилаДляОбменаДанными.ВидПравил КАК ВидПравил + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ИсточникПравил = ЗНАЧЕНИЕ(Перечисление.ИсточникиПравилДляОбменаДанными.Файл) + | И ПравилаДляОбменаДанными.ПравилаЗагружены + | И ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + Результат = Запрос.Выполнить(); + + Если ПодробныйРезультат Тогда + + ПравилаИзФайла = Новый Структура("ПравилаРегистрации, ПравилаКонвертации", Ложь, Ложь); + + Выборка = Результат.Выбрать(); + Пока Выборка.Следующий() Цикл + Если Выборка.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда + ПравилаИзФайла.ПравилаКонвертации = Истина; + ИначеЕсли Выборка.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов Тогда + ПравилаИзФайла.ПравилаРегистрации = Истина; + КонецЕсли; + КонецЦикла; + + Возврат ПравилаИзФайла; + + Иначе + Возврат Не Результат.Пустой(); + КонецЕсли; + +КонецФункции + Процедура ЗагрузитьИнформациюОПравилах(Отказ, АдресВременногоХранилища, СтрокаИнформацииОПравилах) Экспорт Перем ВидПравил; @@ -453,6 +692,95 @@ КонецПроцедуры +Функция ИнформацияОПравилахИзФайла(ИмяФайлаПравил) + + ПравилаОбмена = Новый ЧтениеXML(); + ПравилаОбмена.ОткрытьФайл(ИмяФайлаПравил); + ПравилаОбмена.Прочитать(); + + Если Не ((ПравилаОбмена.ЛокальноеИмя = "ПравилаОбмена") И (ПравилаОбмена.ТипУзла = ТипУзлаXML.НачалоЭлемента)) Тогда + ВызватьИсключение НСтр("ru = 'Ошибка формата правил обмена'"); + КонецЕсли; + + Пока ПравилаОбмена.Прочитать() Цикл + + ИмяУзла = ПравилаОбмена.ЛокальноеИмя; + + Если ИмяУзла = "Источник" И ПравилаОбмена.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда + + ИнформацияОПравилах = Новый Структура; + ИнформацияОПравилах.Вставить("ВерсияКонфигурации", ПравилаОбмена.ПолучитьАтрибут("ВерсияКонфигурации")); + ИнформацияОПравилах.Вставить("СинонимКонфигурацииВПравилах", ПравилаОбмена.ПолучитьАтрибут("СинонимКонфигурации")); + ПравилаОбмена.Прочитать(); + ИнформацияОПравилах.Вставить("ИмяКонфигурации", ПравилаОбмена.Значение); + + ИначеЕсли (ИмяУзла = "Источник") И (ПравилаОбмена.ТипУзла = ТипУзлаXML.КонецЭлемента) Тогда + + ПравилаОбмена.Закрыть(); + Возврат ИнформацияОПравилах; + + КонецЕсли; + + КонецЦикла; + + ВызватьИсключение НСтр("ru = 'Ошибка формата правил обмена'"); + +КонецФункции + +Функция ПравилаКонвертацииСовместимыСТекущейВерсией(ИмяПланаОбмена, ОписаниеОшибки, ДанныеОПравилах) + + Если Не ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ПредупреждатьОНесоответствииВерсийПравилОбмена") Тогда + Возврат Истина; + КонецЕсли; + + Если ДанныеОПравилах.ИмяКонфигурации <> Метаданные.Имя Тогда + + ОписаниеОшибки = Новый Структура; + ОписаниеОшибки.Вставить("ТекстОшибки", Нстр("ru = 'Правила не могут быть загружены, т.к. они предназначены для программы ""%1"". Следует использовать правила из конфигурации или загрузить корректный комплект правил из файла.'")); + ОписаниеОшибки.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ОписаниеОшибки.ТекстОшибки, + ДанныеОПравилах.СинонимКонфигурацииВПравилах); + ОписаниеОшибки.Вставить("ВидОшибки", "НекорректнаяКонфигурация"); + ОписаниеОшибки.Вставить("Картинка", БиблиотекаКартинок.Ошибка32); + Возврат Ложь; + + КонецЕсли; + + ВерсияВПравилахБезСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(ДанныеОПравилах.ВерсияКонфигурации); + ВерсияКонфигурацииБезСборки = ОбщегоНазначенияКлиентСервер.ВерсияКонфигурацииБезНомераСборки(Метаданные.Версия); + РезультатСравнения = ОбменДаннымиСервер.СравнитьВерсииБезНомераСБорки(ВерсияВПравилахБезСборки, ВерсияКонфигурацииБезСборки); + + Если РезультатСравнения <> 0 Тогда + + Если РезультатСравнения < 0 Тогда + + ТекстОшибки = Нстр("ru = 'Синхронизация данных может работать некорректно, так как загружаемые правила предназначены для предыдущей версии программы ""%1"" (%2). Рекомендуется использовать правила из конфигурации или загрузить комплект правил, предназначенный для текущей версии программы (%3).'"); + ВидОшибки = "УстаревшаяВерсияКонфигурации"; + + Иначе + + ТекстОшибки = Нстр("ru = 'Синхронизация данных может работать некорректно, так как загружаемые правила предназначены для более новой версии программы ""%1"" (%2). Рекомендуется обновить версию программы или использовать комплект правил, предназначенный для текущей версии программы (%3).'"); + ВидОшибки = "УстаревшиеПравила"; + + КонецЕсли; + + ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, Метаданные.Синоним, + ВерсияВПравилахБезСборки, ВерсияКонфигурацииБезСборки); + + ОписаниеОшибки = Новый Структура; + ОписаниеОшибки.Вставить("ТекстОшибки", ТекстОшибки); + ОписаниеОшибки.Вставить("ВидОшибки", ВидОшибки); + ОписаниеОшибки.Вставить("Картинка", БиблиотекаКартинок.Предупреждение32); + Возврат Ложь; + + КонецЕсли; + + Возврат Истина; + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Профили безопасности + Процедура ПриЗаполненииРазрешенийНаДоступКВнешнимРесурсам(ЗапросыРазрешений) Экспорт ЗагруженныеПравила = ЗагруженныеПравила(); @@ -465,42 +793,149 @@ КонецПроцедуры +Функция ПравилаРегистрацииИзФайла(ИмяПланаОбмена) Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 1 + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов) + | И ПравилаДляОбменаДанными.ИсточникПравил = ЗНАЧЕНИЕ(Перечисление.ИсточникиПравилДляОбменаДанными.Файл) + | И ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Возврат Не Запрос.Выполнить().Пустой(); + +КонецФункции + +Функция ПравилаКонвертацииИзФайла(ИмяПланаОбмена) Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ПравилаДляОбменаДанными.ИмяПланаОбмена, + | ПравилаДляОбменаДанными.РежимСовместимости, + | ПравилаДляОбменаДанными.РежимОтладки, + | ПравилаДляОбменаДанными.РежимОтладкиВыгрузки, + | ПравилаДляОбменаДанными.РежимОтладкиЗагрузки, + | ПравилаДляОбменаДанными.РежимПротоколированияОбменаДанными, + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиВыгрузки, + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиЗагрузки, + | ПравилаДляОбменаДанными.ИмяФайлаПротоколаОбмена + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов) + | И ПравилаДляОбменаДанными.ИмяПланаОбмена = &ИмяПланаОбмена"; + + Запрос.УстановитьПараметр("ИмяПланаОбмена", ИмяПланаОбмена); + + Результат = Запрос.Выполнить(); + + Если Результат.Пустой() Тогда + + Возврат Неопределено; + + Иначе + + Выборка = Результат.Выбрать(); + Выборка.Следующий(); + Возврат Выборка; + + КонецЕсли; + +КонецФункции + Функция ЗагруженныеПравила() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПравилаДляОбменаДанными.ИмяПланаОбмена, - | ПравилаДляОбменаДанными.ИсточникПравил, - | ПравилаДляОбменаДанными.ВидПравил, | ПравилаДляОбменаДанными.РежимСовместимости, | ПравилаДляОбменаДанными.РежимОтладки, | ПравилаДляОбменаДанными.РежимОтладкиВыгрузки, - | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиВыгрузки, | ПравилаДляОбменаДанными.РежимОтладкиЗагрузки, - | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиЗагрузки, | ПравилаДляОбменаДанными.РежимПротоколированияОбменаДанными, - | ПравилаДляОбменаДанными.ИмяФайлаПротоколаОбмена + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиВыгрузки, + | ПравилаДляОбменаДанными.ИмяФайлаОбработкиДляОтладкиЗагрузки, + | ПравилаДляОбменаДанными.ИмяФайлаПротоколаОбмена, + | ИСТИНА КАК ЕстьПравилаКонвертации + |ПОМЕСТИТЬ ПравилаКонвертации |ИЗ | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными |ГДЕ - | ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА"; + | ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов) + | И ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | ПравилаДляОбменаДанными.ИмяПланаОбмена, + | ИСТИНА КАК ПравилаРегистрацииИзФайла + |ПОМЕСТИТЬ ПравилаРегистрации + |ИЗ + | РегистрСведений.ПравилаДляОбменаДанными КАК ПравилаДляОбменаДанными + |ГДЕ + | ПравилаДляОбменаДанными.ПравилаЗагружены = ИСТИНА + | И ПравилаДляОбменаДанными.ВидПравил = ЗНАЧЕНИЕ(Перечисление.ВидыПравилДляОбменаДанными.ПравилаРегистрацииОбъектов) + | И ПравилаДляОбменаДанными.ИсточникПравил = ЗНАЧЕНИЕ(Перечисление.ИсточникиПравилДляОбменаДанными.Файл) + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | ВЫБОР + | КОГДА ПравилаРегистрации.ПравилаРегистрацииИзФайла + | ТОГДА ПравилаРегистрации.ИмяПланаОбмена + | ИНАЧЕ ПравилаКонвертации.ИмяПланаОбмена + | КОНЕЦ КАК ИмяПланаОбмена, + | ПравилаКонвертации.РежимСовместимости, + | ПравилаКонвертации.РежимОтладки, + | ПравилаКонвертации.РежимОтладкиВыгрузки, + | ПравилаКонвертации.РежимОтладкиЗагрузки, + | ПравилаКонвертации.РежимПротоколированияОбменаДанными, + | ПравилаКонвертации.ИмяФайлаОбработкиДляОтладкиВыгрузки, + | ПравилаКонвертации.ИмяФайлаОбработкиДляОтладкиЗагрузки, + | ПравилаКонвертации.ИмяФайлаПротоколаОбмена, + | ЕСТЬNULL(ПравилаРегистрации.ПравилаРегистрацииИзФайла, ЛОЖЬ) КАК ПравилаРегистрацииИзФайла, + | ЕСТЬNULL(ПравилаКонвертации.ЕстьПравилаКонвертации, ЛОЖЬ) КАК ЕстьПравилаКонвертации + |ИЗ + | ПравилаКонвертации КАК ПравилаКонвертации + | ПОЛНОЕ СОЕДИНЕНИЕ ПравилаРегистрации КАК ПравилаРегистрации + | ПО ПравилаКонвертации.ИмяПланаОбмена = ПравилаРегистрации.ИмяПланаОбмена"; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выбрать(); КонецФункции -Процедура ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, Запись) Экспорт +Процедура ЗапросНаИспользованиеВнешнихРесурсов(ЗапросыРазрешений, Запись, ЕстьПравилаКонвертации = Неопределено, ПравилаРегистрацииИзФайла = Неопределено) Экспорт Разрешения = Новый Массив; - Если Запись.ВидПравил = Перечисления.ВидыПравилДляОбменаДанными.ПравилаКонвертацииОбъектов Тогда + Если ПравилаРегистрацииИзФайла = Неопределено Тогда + ПравилаРегистрацииИзФайла = Запись.ПравилаРегистрацииИзФайла; + КонецЕсли; + + Если ЕстьПравилаКонвертации = Неопределено Тогда + ЕстьПравилаКонвертации = Запись.ЕстьПравилаКонвертации; + КонецЕсли; + + Если ПравилаРегистрацииИзФайла Тогда + Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима()); + КонецЕсли; + + Если ЕстьПравилаКонвертации Тогда Если (Не Запись.РежимСовместимости Или ОбщегоНазначенияПовтИсп.РазделениеВключено()) И Не Запись.РежимОтладки Тогда // Запрос на персональный профиль не требуется Иначе - Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима()); + Если Не ПравилаРегистрацииИзФайла Тогда + Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима()); + КонецЕсли; Если Запись.РежимОтладки Тогда @@ -508,7 +943,7 @@ СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Запись.ИмяФайлаОбработкиДляОтладкиВыгрузки); Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы( - СтруктураИмениФайла.Путь, Истина, Ложь)); + СтруктураИмениФайла.Путь, Истина, Ложь)); КонецЕсли; @@ -516,7 +951,7 @@ СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Запись.ИмяФайлаОбработкиДляОтладкиВыгрузки); Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы( - СтруктураИмениФайла.Путь, Истина, Ложь)); + СтруктураИмениФайла.Путь, Истина, Ложь)); КонецЕсли; @@ -524,7 +959,7 @@ СтруктураИмениФайла = ОбщегоНазначенияКлиентСервер.РазложитьПолноеИмяФайла(Запись.ИмяФайлаОбработкиДляОтладкиВыгрузки); Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы( - СтруктураИмениФайла.Путь, Истина, Истина)); + СтруктураИмениФайла.Путь, Истина, Истина)); КонецЕсли; @@ -532,14 +967,6 @@ КонецЕсли; - Иначе // Правила регистрации - - Если Запись.ИсточникПравил = Перечисления.ИсточникиПравилДляОбменаДанными.Файл Тогда - Разрешения.Добавить(РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима()); - Иначе - // Правила будут выполняться под профилем конфигурации - КонецЕсли; - КонецЕсли; ИдентификаторПланаОбмена = ОбщегоНазначения.ИдентификаторОбъектаМетаданных(Метаданные.ПланыОбмена[Запись.ИмяПланаОбмена]); diff --git a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ПравилаДляОбменаДанными.mdo b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ПравилаДляОбменаДанными.mdo index 5e1a8e68f..a903f38e2 100644 --- a/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ПравилаДляОбменаДанными.mdo +++ b/SSL/src/InformationRegisters/ПравилаДляОбменаДанными/ПравилаДляОбменаДанными.mdo @@ -528,11 +528,11 @@ Enum.ВидыПравилДляОбменаДанными.EmptyRef - - ПравилаРегистрацииОбъектов + + ЗагрузитьПравилаСинхронизацииДанных ru - Правила регистрации объектов + Загрузить правила синхронизации данных @@ -556,6 +556,38 @@ PersonalComputer MobileDevice + + ПравилаРегистрацииОбъектов + + ru + Правила регистрации объектов + + + + ru + + + PersonalComputer + MobileDevice + + + ПроверкаПлановОбмена + + ru + Проверка синхронизации данных + + PersonalComputer + MobileDevice + + + СообщениеОНеудачномОбновлении + + ru + Сообщение о неудачном обновлении + + PersonalComputer + MobileDevice + ФормаСписка diff --git a/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/ManagerModule.bsl index 0e016efcc..b7ba6c8fd 100644 --- a/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -37,11 +43,17 @@ Для Каждого XDTOПредставление Из XDTOПредставления Цикл - Ключ = Новый Структура("ВнешнийМодуль,Владелец", ВнешнийМодуль, Владелец); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваВладельца.Идентификатор); Если Таблица.НайтиСтроки(Ключ).Количество() = 0 Тогда Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; КонецЕсли; КонецЦикла; @@ -77,19 +89,27 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | ИСТИНА КАК РазрешенПереходВПривилегированныйРежим, - | РазрешенияПереходаВПривилегированныйРежим.Владелец КАК Владелец, - | РазрешенияПереходаВПривилегированныйРежим.ВнешнийМодуль КАК ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенияПереходаВПривилегированныйРежим КАК РазрешенияПереходаВПривилегированныйРежим"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенияПереходаВПривилегированныйРежим.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | ИСТИНА КАК РазрешенПереходВПривилегированныйРежим, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля + |ИЗ + | РегистрСведений.РазрешенияПереходаВПривилегированныйРежим КАК Разрешения"; + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | ИСТИНА КАК РазрешенПереходВПривилегированныйРежим, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенияПереходаВПривилегированныйРежим КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -102,25 +122,29 @@ Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ | ИСТИНА КАК РазрешенПереходВПривилегированныйРежим, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_До КАК ВТ_До | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля |ГДЕ - | ВТ_После.ВнешнийМодуль ЕСТЬ NULL + | ВТ_После.ТипПрограммногоМодуля ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ИСТИНА КАК РазрешенПереходВПривилегированныйРежим, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_После КАК ВТ_После | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля |ГДЕ - | ВТ_До.ВнешнийМодуль ЕСТЬ NULL"; + | ВТ_До.ТипПрограммногоМодуля ЕСТЬ NULL "; КонецФункции diff --git a/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/РазрешенияПереходаВПривилегированныйРежим.mdo b/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/РазрешенияПереходаВПривилегированныйРежим.mdo index cb0383775..1286dd353 100644 --- a/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/РазрешенияПереходаВПривилегированныйРежим.mdo +++ b/SSL/src/InformationRegisters/РазрешенияПереходаВПривилегированныйРежим/РазрешенияПереходаВПривилегированныйРежим.mdo @@ -67,10 +67,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -83,6 +83,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -100,10 +118,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -116,4 +134,22 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + diff --git a/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/ManagerModule.bsl index 991b49ac1..ccc9b822b 100644 --- a/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -37,11 +43,18 @@ Для Каждого XDTOПредставление Из XDTOПредставления Цикл - Ключ = Новый Структура("ВнешнийМодуль,Владелец,ProgId", ВнешнийМодуль, Владелец, XDTOПредставление.ProgId); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца,ProgId", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваВладельца.Идентификатор, + XDTOПредставление.ProgId); Если Таблица.НайтиСтроки(Ключ).Количество() = 0 Тогда Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; Строка.ProgId = XDTOПредставление.ProgId; Строка.CLSID = XDTOПредставление.CLSID; Строка.ИмяКомпьютера = XDTOПредставление.ComputerName; @@ -84,21 +97,32 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РазрешенныеCOMКлассы.ProgId, - | РазрешенныеCOMКлассы.CLSID, - | РазрешенныеCOMКлассы.ИмяКомпьютера, - | РазрешенныеCOMКлассы.Владелец КАК Владелец, - | РазрешенныеCOMКлассы.ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенныеCOMКлассы КАК РазрешенныеCOMКлассы"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенныеCOMКлассы.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ProgId, + | Разрешения.CLSID, + | Разрешения.ИмяКомпьютера, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля + |ИЗ + | РегистрСведений.РазрешенныеCOMКлассы КАК Разрешения"; + + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ProgId, + | Разрешения.CLSID, + | Разрешения.ИмяКомпьютера, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенныеCOMКлассы КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -113,11 +137,13 @@ | ВТ_До.ProgId, | ВТ_До.CLSID, | ВТ_До.ИмяКомпьютера, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_До КАК ВТ_До | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля | И ВТ_До.ProgId = ВТ_После.ProgId |ГДЕ | ВТ_После.ProgId ЕСТЬ NULL @@ -128,11 +154,13 @@ | ВТ_После.ProgId, | ВТ_После.CLSID, | ВТ_После.ИмяКомпьютера, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_После КАК ВТ_После | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля | И ВТ_После.ProgId = ВТ_До.ProgId |ГДЕ | ВТ_До.ProgId ЕСТЬ NULL "; diff --git a/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/РазрешенныеCOMКлассы.mdo b/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/РазрешенныеCOMКлассы.mdo index 8d4bed7e0..adbf15209 100644 --- a/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/РазрешенныеCOMКлассы.mdo +++ b/SSL/src/InformationRegisters/РазрешенныеCOMКлассы/РазрешенныеCOMКлассы.mdo @@ -102,10 +102,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -118,6 +118,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -135,10 +153,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -151,6 +169,24 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + ProgId @@ -160,7 +196,7 @@ String - 400 + 350 diff --git a/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/ManagerModule.bsl index 263d11db0..cd32f1e25 100644 --- a/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -37,7 +43,12 @@ Для Каждого XDTOПредставление Из XDTOПредставления Цикл - Ключ = Новый Структура("ВнешнийМодуль,Владелец,ИмяМакета", ВнешнийМодуль, Владелец, XDTOПредставление.TemplateName); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца,ИмяМакета", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваВладельца.Идентификатор, + XDTOПредставление.TemplateName); Если Таблица.НайтиСтроки(Ключ).Количество() = 0 Тогда СтруктураИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(XDTOПредставление.TemplateName, "."); @@ -110,8 +121,10 @@ ХэшСуммаПреобразованнаяКСтрокеBase64 = Base64Строка(ХэшСумма); Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; Строка.ИмяМакета = XDTOПредставление.TemplateName; Строка.ИмяФайла = ОписаниеКомпоненты.path; Строка.ХэшСумма = ХэшСуммаПреобразованнаяКСтрокеBase64; @@ -173,21 +186,32 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РазрешенныеВнешниеКомпоненты.ИмяМакета, - | РазрешенныеВнешниеКомпоненты.ИмяФайла, - | РазрешенныеВнешниеКомпоненты.ХэшСумма, - | РазрешенныеВнешниеКомпоненты.Владелец КАК Владелец, - | РазрешенныеВнешниеКомпоненты.ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенныеВнешниеКомпоненты КАК РазрешенныеВнешниеКомпоненты"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенныеВнешниеКомпоненты.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ИмяМакета, + | Разрешения.ИмяФайла, + | Разрешения.ХэшСумма, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля + |ИЗ + | РегистрСведений.РазрешенныеВнешниеКомпоненты КАК Разрешения"; + + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ИмяМакета, + | Разрешения.ИмяФайла, + | Разрешения.ХэшСумма, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенныеВнешниеКомпоненты КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -202,11 +226,13 @@ | ВТ_До.ИмяМакета, | ВТ_До.ИмяФайла, | ВТ_До.ХэшСумма, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_До КАК ВТ_До | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля | И ВТ_До.ИмяМакета = ВТ_После.ИмяМакета |ГДЕ | ВТ_После.ИмяМакета ЕСТЬ NULL @@ -217,11 +243,13 @@ | ВТ_После.ИмяМакета, | ВТ_После.ИмяФайла, | ВТ_После.ХэшСумма, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_После КАК ВТ_После | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля | И ВТ_После.ИмяМакета = ВТ_До.ИмяМакета |ГДЕ | ВТ_До.ИмяМакета ЕСТЬ NULL "; diff --git a/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/РазрешенныеВнешниеКомпоненты.mdo b/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/РазрешенныеВнешниеКомпоненты.mdo index ea3ecb84e..4695cd9f0 100644 --- a/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/РазрешенныеВнешниеКомпоненты.mdo +++ b/SSL/src/InformationRegisters/РазрешенныеВнешниеКомпоненты/РазрешенныеВнешниеКомпоненты.mdo @@ -85,10 +85,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -101,6 +101,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -118,10 +136,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -134,6 +152,24 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + ИмяМакета @@ -143,7 +179,7 @@ String - 200 + 150 @@ -162,7 +198,7 @@ String - 200 + 100 diff --git a/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/ManagerModule.bsl index 9a25f3349..96178760c 100644 --- a/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -39,12 +45,19 @@ Псевдоним = НРег(XDTOПредставление.Protocol) + ":\\" + НРег(XDTOПредставление.Host) + ":" + Формат(XDTOПредставление.Port, "ЧГ=0"); - Ключ = Новый Структура("ВнешнийМодуль,Владелец,Псевдоним", ВнешнийМодуль, Владелец, Псевдоним); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца,Псевдоним", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + Псевдоним); Если Таблица.НайтиСтроки(Ключ).Количество() = 0 Тогда Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; Строка.Псевдоним = Псевдоним; Строка.Протокол = НРег(XDTOПредставление.Protocol); Строка.Адрес = НРег(XDTOПредставление.Host); @@ -90,22 +103,32 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РазрешенныеИнтернетРесурсы.Псевдоним, - | РазрешенныеИнтернетРесурсы.Протокол, - | РазрешенныеИнтернетРесурсы.Адрес, - | РазрешенныеИнтернетРесурсы.Порт, - | РазрешенныеИнтернетРесурсы.Владелец КАК Владелец, - | РазрешенныеИнтернетРесурсы.ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенныеИнтернетРесурсы КАК РазрешенныеИнтернетРесурсы"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенныеИнтернетРесурсы.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.Псевдоним, + | Разрешения.Протокол, + | Разрешения.Адрес, + | Разрешения.Порт + |ИЗ + | РегистрСведений.РазрешенныеИнтернетРесурсы КАК Разрешения"; + + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.Псевдоним, + | Разрешения.Протокол, + | Разрешения.Адрес, + | Разрешения.Порт, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенныеИнтернетРесурсы КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -121,13 +144,16 @@ | ВТ_До.Протокол, | ВТ_До.Адрес, | ВТ_До.Порт, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ - | ВТ_До КАК ВТ_До ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ВТ_До КАК ВТ_До + | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля | И ВТ_До.Псевдоним = ВТ_После.Псевдоним |ГДЕ - | ВТ_После.Псевдоним ЕСТЬ NULL + | ВТ_После.Псевдоним ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// @@ -136,13 +162,16 @@ | ВТ_После.Протокол, | ВТ_После.Адрес, | ВТ_После.Порт, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ - | ВТ_После КАК ВТ_После ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ВТ_После КАК ВТ_После + | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля | И ВТ_После.Псевдоним = ВТ_До.Псевдоним |ГДЕ - | ВТ_До.Псевдоним ЕСТЬ NULL"; + | ВТ_До.Псевдоним ЕСТЬ NULL "; КонецФункции diff --git a/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/РазрешенныеИнтернетРесурсы.mdo b/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/РазрешенныеИнтернетРесурсы.mdo index 3bbd1b21b..109070409 100644 --- a/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/РазрешенныеИнтернетРесурсы.mdo +++ b/SSL/src/InformationRegisters/РазрешенныеИнтернетРесурсы/РазрешенныеИнтернетРесурсы.mdo @@ -121,10 +121,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -137,6 +137,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -154,10 +172,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -170,6 +188,24 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + Псевдоним @@ -179,7 +215,7 @@ String - 400 + 255 diff --git a/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/ManagerModule.bsl index 49f9547e2..f8a39d4f5 100644 --- a/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -37,13 +43,20 @@ Для Каждого XDTOПредставление Из XDTOПредставления Цикл - Ключ = Новый Структура("ВнешнийМодуль,Владелец,Адрес", ВнешнийМодуль, Владелец, XDTOПредставление.Path); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца,Адрес", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваВладельца.Идентификатор, + XDTOПредставление.Path); СтрокиПоКлючу = Таблица.НайтиСтроки(Ключ); Если СтрокиПоКлючу.Количество() = 0 Тогда Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; Строка.Адрес = XDTOПредставление.Path; Строка.РазрешеноЧтениеДанных = XDTOПредставление.AllowedRead; Строка.РазрешенаЗаписьДанных = XDTOПредставление.AllowedWrite; @@ -109,21 +122,30 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РазрешенныеКаталогиФайловойСистемы.Адрес, - | РазрешенныеКаталогиФайловойСистемы.РазрешеноЧтениеДанных, - | РазрешенныеКаталогиФайловойСистемы.РазрешенаЗаписьДанных, - | РазрешенныеКаталогиФайловойСистемы.Владелец КАК Владелец, - | РазрешенныеКаталогиФайловойСистемы.ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенныеКаталогиФайловойСистемы КАК РазрешенныеКаталогиФайловойСистемы"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенныеКаталогиФайловойСистемы.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.Адрес, + | Разрешения.РазрешеноЧтениеДанных, + | Разрешения.РазрешенаЗаписьДанных + |ИЗ + | РегистрСведений.РазрешенныеКаталогиФайловойСистемы КАК Разрешения"; + + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.Адрес, + | Разрешения.РазрешеноЧтениеДанных, + | Разрешения.РазрешенаЗаписьДанных, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенныеКаталогиФайловойСистемы КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -138,11 +160,13 @@ | ВТ_До.Адрес, | ВТ_До.РазрешеноЧтениеДанных, | ВТ_До.РазрешенаЗаписьДанных, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_До КАК ВТ_До | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля | И ВТ_До.Адрес = ВТ_После.Адрес |ГДЕ | ВТ_После.Адрес ЕСТЬ NULL @@ -153,11 +177,13 @@ | ВТ_После.Адрес, | ВТ_После.РазрешеноЧтениеДанных, | ВТ_После.РазрешенаЗаписьДанных, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_После КАК ВТ_После | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля | И ВТ_После.Адрес = ВТ_До.Адрес |ГДЕ | ВТ_До.Адрес ЕСТЬ NULL "; diff --git a/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/РазрешенныеКаталогиФайловойСистемы.mdo b/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/РазрешенныеКаталогиФайловойСистемы.mdo index 4e0de3ddc..17ab6f96c 100644 --- a/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/РазрешенныеКаталогиФайловойСистемы.mdo +++ b/SSL/src/InformationRegisters/РазрешенныеКаталогиФайловойСистемы/РазрешенныеКаталогиФайловойСистемы.mdo @@ -97,10 +97,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -113,6 +113,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -130,10 +148,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -146,6 +164,24 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + Адрес @@ -155,7 +191,7 @@ String - 400 + 255 diff --git a/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/ManagerModule.bsl b/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/ManagerModule.bsl index e491036b0..648f7344b 100644 --- a/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/ManagerModule.bsl @@ -24,8 +24,14 @@ Функция НаборЗаписейИзXDTOПредставления(Знач XDTOПредставления, Знач ВнешнийМодуль, Знач Владелец, Знач ДляУдаления) Экспорт Набор = СоздатьНаборЗаписей(); - Набор.Отбор.ВнешнийМодуль.Установить(ВнешнийМодуль); - Набор.Отбор.Владелец.Установить(Владелец); + + СвойстваПрограммногоМодуля = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(ВнешнийМодуль); + Набор.Отбор.ТипПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Тип); + Набор.Отбор.ИдентификаторПрограммногоМодуля.Установить(СвойстваПрограммногоМодуля.Идентификатор); + + СвойстваВладельца = Обработки.НастройкаРазрешенийНаИспользованиеВнешнихРесурсов.СвойстваДляРегистраРазрешений(Владелец); + Набор.Отбор.ТипВладельца.Установить(СвойстваВладельца.Тип); + Набор.Отбор.ИдентификаторВладельца.Установить(СвойстваВладельца.Идентификатор); Если ДляУдаления Тогда @@ -37,12 +43,19 @@ Для Каждого XDTOПредставление Из XDTOПредставления Цикл - Ключ = Новый Структура("ВнешнийМодуль,Владелец,ШаблонСтрокиЗапуска", ВнешнийМодуль, Владелец, XDTOПредставление.CommandMask); + Ключ = Новый Структура("ТипПрограммногоМодуля,ИдентификаторПрограммногоМодуля,ТипВладельца,ИдентификаторВладельца,ШаблонСтрокиЗапуска", + СвойстваПрограммногоМодуля.Тип, + СвойстваПрограммногоМодуля.Идентификатор, + СвойстваВладельца.Тип, + СвойстваВладельца.Идентификатор, + XDTOПредставление.CommandMask); Если Таблица.НайтиСтроки(Ключ).Количество() = 0 Тогда Строка = Таблица.Добавить(); - Строка.ВнешнийМодуль = ВнешнийМодуль; - Строка.Владелец = Владелец; + Строка.ТипПрограммногоМодуля = СвойстваПрограммногоМодуля.Тип; + Строка.ИдентификаторПрограммногоМодуля = СвойстваПрограммногоМодуля.Идентификатор; + Строка.ТипВладельца = СвойстваВладельца.Тип; + Строка.ИдентификаторВладельца = СвойстваВладельца.Идентификатор; Строка.ШаблонСтрокиЗапуска = XDTOПредставление.CommandMask; КонецЕсли; @@ -83,19 +96,28 @@ // Функция ЗапросТекущегоСреза(Знач СвернутьВладельцев = Истина) Экспорт - Результат = "ВЫБРАТЬ РАЗЛИЧНЫЕ - | РазрешенныеПриложенияОперационнойСистемы.ШаблонСтрокиЗапуска, - | РазрешенныеПриложенияОперационнойСистемы.Владелец КАК Владелец, - | РазрешенныеПриложенияОперационнойСистемы.ВнешнийМодуль - |ИЗ - | РегистрСведений.РазрешенныеПриложенияОперационнойСистемы КАК РазрешенныеПриложенияОперационнойСистемы"; - Если СвернутьВладельцев Тогда - Результат = СтрЗаменить(Результат, "РазрешенныеПриложенияОперационнойСистемы.Владелец КАК Владелец,", ""); + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ШаблонСтрокиЗапуска, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля + |ИЗ + | РегистрСведений.РазрешенныеПриложенияОперационнойСистемы КАК Разрешения"; + + Иначе + + Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ + | Разрешения.ШаблонСтрокиЗапуска, + | Разрешения.ТипПрограммногоМодуля КАК ТипПрограммногоМодуля, + | Разрешения.ИдентификаторПрограммногоМодуля КАК ИдентификаторПрограммногоМодуля, + | Разрешения.ТипВладельца КАК ТипВладельца, + | Разрешения.ИдентификаторВладельца КАК ИдентификаторВладельца + |ИЗ + | РегистрСведений.РазрешенныеПриложенияОперационнойСистемы КАК Разрешения"; + КонецЕсли; - Возврат Результат; - КонецФункции // Возвращает текст запроса для получения дельты измения разрешений по данному @@ -108,27 +130,31 @@ Возврат "ВЫБРАТЬ РАЗЛИЧНЫЕ | ВТ_До.ШаблонСтрокиЗапуска, - | ВТ_До.ВнешнийМодуль + | ВТ_До.ТипПрограммногоМодуля, + | ВТ_До.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_До КАК ВТ_До | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_После КАК ВТ_После - | ПО ВТ_До.ВнешнийМодуль = ВТ_После.ВнешнийМодуль + | ПО ВТ_До.ТипПрограммногоМодуля = ВТ_После.ТипПрограммногоМодуля + | И ВТ_До.ИдентификаторПрограммногоМодуля = ВТ_После.ИдентификаторПрограммногоМодуля | И ВТ_До.ШаблонСтрокиЗапуска = ВТ_После.ШаблонСтрокиЗапуска |ГДЕ - | ВТ_После.ШаблонСтрокиЗапуска ЕСТЬ NULL + | ВТ_После.ШаблонСтрокиЗапуска ЕСТЬ NULL |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ВТ_После.ШаблонСтрокиЗапуска, - | ВТ_После.ВнешнийМодуль + | ВТ_После.ТипПрограммногоМодуля, + | ВТ_После.ИдентификаторПрограммногоМодуля |ИЗ | ВТ_После КАК ВТ_После | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_До КАК ВТ_До - | ПО ВТ_После.ВнешнийМодуль = ВТ_До.ВнешнийМодуль + | ПО ВТ_После.ТипПрограммногоМодуля = ВТ_До.ТипПрограммногоМодуля + | И ВТ_После.ИдентификаторПрограммногоМодуля = ВТ_До.ИдентификаторПрограммногоМодуля | И ВТ_После.ШаблонСтрокиЗапуска = ВТ_До.ШаблонСтрокиЗапуска |ГДЕ - | ВТ_До.ШаблонСтрокиЗапуска ЕСТЬ NULL"; + | ВТ_До.ШаблонСтрокиЗапуска ЕСТЬ NULL "; КонецФункции diff --git a/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/РазрешенныеПриложенияОперационнойСистемы.mdo b/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/РазрешенныеПриложенияОперационнойСистемы.mdo index 743129add..0de532b4b 100644 --- a/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/РазрешенныеПриложенияОперационнойСистемы.mdo +++ b/SSL/src/InformationRegisters/РазрешенныеПриложенияОперационнойСистемы/РазрешенныеПриложенияОперационнойСистемы.mdo @@ -67,10 +67,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -83,6 +83,24 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + БезопасныйРежим @@ -100,10 +118,10 @@ true - Владелец + ТипВладельца ru - Владелец + Тип владельца AnyRef @@ -116,6 +134,24 @@ true + + ИдентификаторВладельца + + ru + Идентификатор владельца + + + String + + 36 + + + + + Use + + true + ШаблонСтрокиЗапуска @@ -125,7 +161,7 @@ String - 400 + 255 diff --git a/SSL/src/InformationRegisters/РежимыПодключенияВнешнихМодулей/РежимыПодключенияВнешнихМодулей.mdo b/SSL/src/InformationRegisters/РежимыПодключенияВнешнихМодулей/РежимыПодключенияВнешнихМодулей.mdo index 0a0b87026..f99000716 100644 --- a/SSL/src/InformationRegisters/РежимыПодключенияВнешнихМодулей/РежимыПодключенияВнешнихМодулей.mdo +++ b/SSL/src/InformationRegisters/РежимыПодключенияВнешнихМодулей/РежимыПодключенияВнешнихМодулей.mdo @@ -66,10 +66,10 @@ - ВнешнийМодуль + ТипПрограммногоМодуля ru - Внешний модуль + Тип программного модуля AnyRef @@ -82,4 +82,22 @@ true + + ИдентификаторПрограммногоМодуля + + ru + Идентификатор программного модуля + + + String + + 36 + + + + + Use + + true + diff --git a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Form.form b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Form.form index 8ead8b2d2..641a5cd34 100644 --- a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Form.form +++ b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Form.form @@ -256,6 +256,44 @@ НепроведенныеДокументы None + + НепроведенныеДокументыСсылка + 255 + true + true + + + НепроведенныеДокументы.Ссылка + + + ru + Ссылка на документ + + + НепроведенныеДокументыСсылкаExtendedTooltip + 396 + Label + true + true + + Left + + + + НепроведенныеДокументыСсылкаКонтекстноеМеню + 256 + true + + LabelField + Enter + true + Left + true + + true + true + + НепроведенныеДокументыГруппаКартинки 258 @@ -292,6 +330,7 @@ Left true + 9 true true true @@ -379,44 +418,6 @@ true - - НепроведенныеДокументыСсылка - 255 - true - true - - - НепроведенныеДокументы.Ссылка - - - ru - Ссылка на документ - - - НепроведенныеДокументыСсылкаExtendedTooltip - 396 - Label - true - true - - Left - - - - НепроведенныеДокументыСсылкаКонтекстноеМеню - 256 - true - - LabelField - Enter - true - Left - true - - true - true - - НепроведенныеДокументыНомерДокумента 251 @@ -457,6 +458,7 @@ Left true + 14 true true @@ -497,6 +499,7 @@ Left true + 15 true true @@ -537,6 +540,7 @@ Left true + 10 true true @@ -581,6 +585,7 @@ Left true + 15 true true @@ -625,6 +630,7 @@ Left true + 15 true true @@ -5222,9 +5228,6 @@ true - - ПоказыватьПроигнорированныеКонфликты - ПоказыватьПроигнорированныеНезаполненные @@ -5242,9 +5245,6 @@ true - - ПоказыватьПроигнорированныеНезаполненные - ПоказыватьПроигнорированныеНепринятые @@ -5262,9 +5262,6 @@ true - - ПоказыватьПроигнорированныеНепринятые - ПоказыватьПроигнорированныеНепроведенные @@ -5282,9 +5279,6 @@ true - - ПоказыватьПроигнорированныеНепроведенные - ПричинаКонфликта diff --git a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Module.bsl b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Module.bsl index e7f517a59..84bb16cd3 100644 --- a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Module.bsl +++ b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Forms/Форма/Module.bsl @@ -205,14 +205,14 @@ Если Элемент.ТекущиеДанные.ДругаяВерсияПринята Тогда - ПричинаКонфликта = НСтр("ru = 'Конфликт был разрешен автоматически в пользу программы ""%1"". - |Версия в этой программе была замененена на версию из другой программы.'"); + ПричинаКонфликта = Нстр("ru = 'Конфликт был разрешен автоматически в пользу программы ""%1"". + |Версия в этой программе была замененена на версию из другой программы.'"); ПричинаКонфликта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ПричинаКонфликта, Элемент.ТекущиеДанные.АвторДругойВерсии); Иначе - ПричинаКонфликта =НСтр("ru = 'Конфликт был разрешен автоматически в пользу этой программы. - |Версия в этой программе была сохранена, версия из другой программы была отклонена.'"); + ПричинаКонфликта =Нстр("ru = 'Конфликт был разрешен автоматически в пользу этой программы. + |Версия в этой программе была сохранена, версия из другой программы была отклонена.'"); КонецЕсли; @@ -421,7 +421,7 @@ Процедура ПоказыватьПроигнорированныеКонфликты(Команда) ПоказыватьПроигнорированныеКонфликты = Не ПоказыватьПроигнорированныеКонфликты; - ПоказыватьПроигнорированныеКонфликтыНаСервере(); + ПоказыватьПроигнорированныеКонфликтыНаСервере(ПоказыватьПроигнорированныеКонфликты); КонецПроцедуры @@ -429,7 +429,7 @@ Процедура ПоказыватьПроигнорированныеНезаполненные(Команда) ПоказыватьПроигнорированныеНезаполненные = Не ПоказыватьПроигнорированныеНезаполненные; - ПоказыватьПроигнорированныеНезаполненныеНаСервере(); + ПоказыватьПроигнорированныеНезаполненныеНаСервере(Истина); КонецПроцедуры @@ -437,7 +437,7 @@ Процедура ПоказыватьПроигнорированныеНепринятые(Команда) ПоказыватьПроигнорированныеНепринятые = Не ПоказыватьПроигнорированныеНепринятые; - ПоказыватьПроигнорированныеНепринятыеНаСервере(); + ПоказыватьПроигнорированныеНепринятыеНаСервере(Истина); КонецПроцедуры @@ -445,7 +445,7 @@ Процедура ПоказыватьПроигнорированныеНепроведенные(Команда) ПоказыватьПроигнорированныеНепроведенные = Не ПоказыватьПроигнорированныеНепроведенные; - ПоказыватьПроигнорированныеНепроведенныеНаСервере(); + ПоказыватьПроигнорированныеНепроведенныеНаСервере(Истина); КонецПроцедуры @@ -503,86 +503,72 @@ КонецПроцедуры + &НаСервере -Процедура ПоказыватьПроигнорированныеКонфликтыНаСервере(Обновлять= Истина) +Процедура ПоказыватьПроигнорированныеКонфликтыНаСервере(Обновлять = Истина) Элементы.КоллизииПоказыватьПроигнорированныеКонфликты.Пометка = ПоказыватьПроигнорированныеКонфликты; - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Коллизии, - "ВерсияПроигнорирована", - , - , - , - Не ПоказыватьПроигнорированныеКонфликты); + + Отбор = Коллизии.КомпоновщикНастроек.Настройки.Отбор; + ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.Коллизии.ВерсияПроигнорирована ); + ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеКонфликты; + ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеКонфликты; Если Обновлять Тогда - ОбновитьНаСервере("Коллизии"); - КонецЕсли; КонецПроцедуры &НаСервере -Процедура ПоказыватьПроигнорированныеНезаполненныеНаСервере(Обновлять= Истина) +Процедура ПоказыватьПроигнорированныеНезаполненныеНаСервере(Обновлять = Истина) Элементы.НезаполненныеРеквизитыПоказыватьПроигнорированныеНезаполненные.Пометка = ПоказыватьПроигнорированныеНезаполненные; - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - НезаполненныеРеквизиты, - "Пропущена", - , - , - , - Не ПоказыватьПроигнорированныеНезаполненные); + + Отбор = НезаполненныеРеквизиты.КомпоновщикНастроек.Настройки.Отбор; + ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НезаполненныеРеквизиты.Пропущена ); + ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНезаполненные; + ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНезаполненные; Если Обновлять Тогда - ОбновитьНаСервере("НезаполненныеРеквизиты"); - КонецЕсли; КонецПроцедуры &НаСервере -Процедура ПоказыватьПроигнорированныеНепринятыеНаСервере(Обновлять= Истина) +Процедура ПоказыватьПроигнорированныеНепринятыеНаСервере(Обновлять = Истина) Элементы.НепринятыеПоДатеПоказыватьПроигнорированныеНепринятые.Пометка = ПоказыватьПроигнорированныеНепринятые; - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - НепринятыеПоДате, - "ВерсияПроигнорирована", - , - , - , - Не ПоказыватьПроигнорированныеНепринятые); + + Отбор = НепринятыеПоДате.КомпоновщикНастроек.Настройки.Отбор; + ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НепринятыеПоДате.ВерсияПроигнорирована ); + ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНепринятые; + ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНепринятые; Если Обновлять Тогда - ОбновитьНаСервере("НепринятыеПоДате"); - КонецЕсли; КонецПроцедуры &НаСервере -Процедура ПоказыватьПроигнорированныеНепроведенныеНаСервере(Обновлять= Истина) +Процедура ПоказыватьПроигнорированныеНепроведенныеНаСервере(Обновлять = Истина) Элементы.НепроведенныеДокументыПоказыватьПроигнорированныеНепроведенные.Пометка = ПоказыватьПроигнорированныеНепроведенные; - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - НепроведенныеДокументы, - "Пропущена", - , - , - , - Не ПоказыватьПроигнорированныеНепроведенные); + + Отбор = НепроведенныеДокументы.КомпоновщикНастроек.Настройки.Отбор; + ЭлементОтбора = Отбор.ПолучитьОбъектПоИдентификатору( НастройкиОтборовДинамическихСписков.НепроведенныеДокументы.Пропущена ); + ЭлементОтбора.ПравоеЗначение = ПоказыватьПроигнорированныеНепроведенные; + ЭлементОтбора.Использование = Не ПоказыватьПроигнорированныеНепроведенные; Если Обновлять Тогда - ОбновитьНаСервере("НепроведенныеДокументы"); - КонецЕсли; КонецПроцедуры + &НаСервере Процедура ПровестиДокументы(Знач ВыделенныеСтроки) @@ -777,8 +763,9 @@ УзлыОбмена = ?(ЗначениеЗаполнено(УзелИнформационнойБазы), УзелИнформационнойБазы, СписокУзлов); - Возврат ОбменДаннымиСервер.КоличествоПроблемВерсионирования(УзлыОбмена, Истина, - ПоказыватьПроигнорированныеКонфликты, Период, СтрокаПоиска); + Возврат ОбменДаннымиСервер.КоличествоПроблемВерсионирования( + УзлыОбмена, Истина, ПоказыватьПроигнорированныеКонфликты, Период, СтрокаПоиска + ); КонецФункции @@ -1056,7 +1043,7 @@ Результат = Новый Структура; // Непроведенные документы - Отбор = НепроведенныеДокументы.Отбор; + Отбор = НепроведенныеДокументы.КомпоновщикНастроек.Настройки.Отбор; Результат.Вставить("НепроведенныеДокументы", Новый Структура); Настройка = Результат.НепроведенныеДокументы; @@ -1074,7 +1061,7 @@ ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "УзелИнформационнойБазы", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, , Ложь))); // Незаполненные реквизиты - Отбор = НезаполненныеРеквизиты.Отбор; + Отбор = НезаполненныеРеквизиты.КомпоновщикНастроек.Настройки.Отбор; Результат.Вставить("НезаполненныеРеквизиты", Новый Структура); Настройка = Результат.НезаполненныеРеквизиты; @@ -1094,7 +1081,7 @@ Если ИспользуетсяВерсионирование Тогда // Конфликты - Отбор = Коллизии.Отбор; + Отбор = Коллизии.КомпоновщикНастроек.Настройки.Отбор; Результат.Вставить("Коллизии", Новый Структура); Настройка = Результат.Коллизии; @@ -1110,7 +1097,7 @@ ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "АвторДругойВерсии", ВидСравненияКомпоновкиДанных.ВСписке, Неопределено, ,Ложь))); // Непринятые по дате запрета - Отбор = НепринятыеПоДате.Отбор; + Отбор = НепринятыеПоДате.КомпоновщикНастроек.Настройки.Отбор; Результат.Вставить("НепринятыеПоДате", Новый Структура); Настройка = Результат.НепринятыеПоДате; @@ -1133,7 +1120,7 @@ &НаСервереБезКонтекста Функция ЭлементОтбораДинамическогоСписка(Знач ДинамическийСписок, Знач Идентификатор) - Возврат ДинамическийСписок.Отбор.ПолучитьОбъектПоИдентификатору(Идентификатор); + Возврат ДинамическийСписок.КомпоновщикНастроек.Настройки.Отбор.ПолучитьОбъектПоИдентификатору(Идентификатор); КонецФункции &НаСервере diff --git a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Help/ru.html b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Help/ru.html index 88eb9e34a..3897ae392 100644 --- a/SSL/src/InformationRegisters/РезультатыОбменаДанными/Help/ru.html +++ b/SSL/src/InformationRegisters/РезультатыОбменаДанными/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Предназначен для просмотра статистики по результатам синхронизации данных.

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

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

                                          diff --git a/SSL/src/InformationRegisters/РезультатыОбменаДанными/РезультатыОбменаДанными.mdo b/SSL/src/InformationRegisters/РезультатыОбменаДанными/РезультатыОбменаДанными.mdo index 4b818b4aa..a3fa0a843 100644 --- a/SSL/src/InformationRegisters/РезультатыОбменаДанными/РезультатыОбменаДанными.mdo +++ b/SSL/src/InformationRegisters/РезультатыОбменаДанными/РезультатыОбменаДанными.mdo @@ -49,6 +49,7 @@ + true ru diff --git a/SSL/src/InformationRegisters/РейтингАктивностиОбластейДанных/РейтингАктивностиОбластейДанных.mdo b/SSL/src/InformationRegisters/РейтингАктивностиОбластейДанных/РейтингАктивностиОбластейДанных.mdo index aa6ce0e04..cd3fe7ec3 100644 --- a/SSL/src/InformationRegisters/РейтингАктивностиОбластейДанных/РейтингАктивностиОбластейДанных.mdo +++ b/SSL/src/InformationRegisters/РейтингАктивностиОбластейДанных/РейтингАктивностиОбластейДанных.mdo @@ -88,7 +88,7 @@ ru - Номер области данных информационной базы + Область данных diff --git a/SSL/src/InformationRegisters/СоответствияОбъектовИнформационныхБаз/ManagerModule.bsl b/SSL/src/InformationRegisters/СоответствияОбъектовИнформационныхБаз/ManagerModule.bsl index 74a606dd6..1f3263de5 100644 --- a/SSL/src/InformationRegisters/СоответствияОбъектовИнформационныхБаз/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/СоответствияОбъектовИнформационныхБаз/ManagerModule.bsl @@ -38,7 +38,7 @@ Процедура УдалитьНеактуальныеЗаписиРежимаВыгрузкиПоСсылке(УзелИнформационнойБазы) Экспорт ТекстЗапроса = " - |//////////////////////////////////////////////////////////{СоответствияОбъектовИнформационныхБазПоСсылке} + |////////////////////////////////////////////////////////// {СоответствияОбъектовИнформационныхБазПоСсылке} |ВЫБРАТЬ | СоответствияОбъектовИнформационныхБаз.УзелИнформационнойБазы, | СоответствияОбъектовИнформационныхБаз.УникальныйИдентификаторИсточника, diff --git a/SSL/src/InformationRegisters/СоставыГруппПользователей/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/СоставыГруппПользователей/Forms/ФормаСписка/Form.form index 269c0855a..b58495394 100644 --- a/SSL/src/InformationRegisters/СоставыГруппПользователей/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/СоставыГруппПользователей/Forms/ФормаСписка/Form.form @@ -1,5 +1,110 @@ + + ГруппаПользовательскихНастроек + 18 + true + true + + true + + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 19 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + + + КоманднаяПанель + 20 + + ФормаВключитьВозможностьРедактирования + 8 + true + true + + true + + + ФормаВключитьВозможностьРедактированияExtendedTooltip + 12 + Label + true + true + + Left + + + Form.Command.ВключитьВозможностьРедактирования + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОбновитьДанныеРегистра + 9 + true + true + + true + + + ФормаОбновитьДанныеРегистраExtendedTooltip + 13 + Label + true + true + + Left + + + Form.Command.ОбновитьДанныеРегистра + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + КоманднаяПанельРасширеннаяПодсказка + 21 + Label + true + true + + Left + + + CommandBar + + Left + Form + + Список 1 @@ -129,10 +234,10 @@ СписокСтрокаПоиска - 18 + 22 СписокСтрокаПоискаРасширеннаяПодсказка - 20 + 24 Label true true @@ -142,7 +247,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 19 + 23 true Список @@ -152,10 +257,10 @@ СписокСостояниеПросмотра - 21 + 25 СписокСостояниеПросмотраРасширеннаяПодсказка - 23 + 27 Label true true @@ -165,7 +270,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 22 + 26 true ViewStatusAddition @@ -176,10 +281,10 @@ СписокУправлениеПоиском - 24 + 28 СписокУправлениеПоискомРасширеннаяПодсказка - 26 + 30 Label true true @@ -189,7 +294,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 25 + 29 true SearchControlAddition @@ -248,67 +353,13 @@ true true + ГруппаПользовательскихНастроек
                                          ФормаКоманднаяПанель -1 - - ФормаВключитьВозможностьРедактирования - 8 - true - true - - true - - - ФормаВключитьВозможностьРедактированияExtendedTooltip - 12 - Label - true - true - - Left - - - Form.Command.ВключитьВозможностьРедактирования - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - ФормаОбновитьДанныеРегистра - 9 - true - true - - true - - - ФормаОбновитьДанныеРегистраExtendedTooltip - 13 - Label - true - true - - Left - - - Form.Command.ОбновитьДанныеРегистра - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/Forms/ФормаСписка/Form.form index 93d51a934..5868a6dfa 100644 --- a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/Forms/ФормаСписка/Form.form @@ -1,281 +1,21 @@ - - Список - 1 + + ГруппаПользовательскихНастроек + 36 true true true - - Список - - true - None - Copy - - Таблица - 4 - true - true - - true - - - Список.Таблица - - true - - ТаблицаExtendedTooltip - 29 - Label - true - true - - Left - - - - ТаблицаКонтекстноеМеню - 5 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ГруппаДоступа - 8 - true - true - - true - - - Список.ГруппаДоступа - - true - - ГруппаДоступаExtendedTooltip - 30 - Label - true - true - - Left - - - - ГруппаДоступаКонтекстноеМеню - 9 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Чтение - 24 - true - true - - true - - - Список.Чтение - - - ru - Флажок, установленный истина, показывает наличие права добавления в заданной таблице для заданного пользователя в пределах заданной группы доступа - - - ЧтениеExtendedTooltip - 31 - Label - true - true - - Left - - - - ЧтениеКонтекстноеМеню - 25 - true - - CheckBoxField - Enter - true - Left - true - - - - Изменение - 12 - true - true - - true - - - Список.Изменение - - true - - ИзменениеExtendedTooltip - 33 - Label - true - true - - Left - - - - ИзменениеКонтекстноеМеню - 13 - true - - CheckBoxField - Enter - true - Left - true - - - - ТипТаблицы - 16 - true - true - - true - - - Список.ТипТаблицы - - true - - ТипТаблицыExtendedTooltip - 35 - Label - true - true - - Left - - - - ТипТаблицыКонтекстноеМеню - 17 - true - - LabelField - Enter - true - Left - true - - true - true - - - None - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска - 36 - - СписокСтрокаПоискаРасширеннаяПодсказка - 38 - Label - true - true - - Left - - - - СписокСтрокаПоискаКонтекстноеМеню - 37 - true - - Список - - true - - - - СписокСостояниеПросмотра - 39 - - СписокСостояниеПросмотраРасширеннаяПодсказка - 41 - Label - true - true - - Left - - - - СписокСостояниеПросмотраКонтекстноеМеню - 40 - true - - ViewStatusAddition - Список - - true - - - - СписокУправлениеПоиском - 42 - - СписокУправлениеПоискомРасширеннаяПодсказка - 44 - Label - true - true - - Left - - - - СписокУправлениеПоискомКонтекстноеМеню - 43 - true - - SearchControlAddition - Список - - true - - + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false - СписокExtendedTooltip - 28 + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 37 Label true true @@ -283,51 +23,20 @@ Left - - СписокКонтекстноеМеню - 2 - true - - true - true - true - true - true - MultiRow -
                                          true
                                          - 1 - 1 - AutoUse - AutoUse - true - true - Auto - Auto - ExpandTopLevel - true - true - true - - Список.DefaultPicture - - None - None - None - true - - 60 - - 0001-01-01T00:00:00 - 0001-01-01T00:00:00 - - - true - true + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto
                                          - - ФормаКоманднаяПанель - -1 + + КоманднаяПанель + 38 ФормаВключитьВозможностьРедактирования 22 @@ -382,8 +91,362 @@ Auto InAdditionalSubmenu + true + true + + true + + + <key>ru</key> + <value>Командная панель</value> + + + КоманднаяПанельРасширеннаяПодсказка + 39 + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + Список + 1 + true + true + + true + + + Список + + true + None + Copy + + СписокТаблица + 4 + true + true + + true + + + Список.Таблица + + true + + СписокТаблицаРасширеннаяПодсказка + 29 + Label + true + true + + Left + + + + СписокТаблицаКонтекстноеМеню + 5 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокГруппаДоступа + 8 + true + true + + true + + + Список.ГруппаДоступа + + true + + СписокГруппаДоступаРасширеннаяПодсказка + 30 + Label + true + true + + Left + + + + СписокГруппаДоступаКонтекстноеМеню + 9 + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокЧтение + 24 + true + true + + true + + + Список.Чтение + + + ru + Флажок, установленный истина, показывает наличие права добавления в заданной таблице для заданного пользователя в пределах заданной группы доступа + + + СписокЧтениеРасширеннаяПодсказка + 31 + Label + true + true + + Left + + + + СписокЧтениеКонтекстноеМеню + 25 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокИзменение + 12 + true + true + + true + + + Список.Изменение + + true + + СписокИзменениеРасширеннаяПодсказка + 33 + Label + true + true + + Left + + + + СписокИзменениеКонтекстноеМеню + 13 + true + + CheckBoxField + Enter + true + Left + true + + + + СписокТипТаблицы + 16 + true + true + + true + + + Список.ТипТаблицы + + true + + СписокТипТаблицыРасширеннаяПодсказка + 35 + Label + true + true + + Left + + + + СписокТипТаблицыКонтекстноеМеню + 17 + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 40 + + СписокСтрокаПоискаРасширеннаяПодсказка + 42 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 41 + true + + Список + + true + + + + СписокСостояниеПросмотра + 43 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 45 + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 44 + true + + ViewStatusAddition + Список + + true + + + + СписокУправлениеПоиском + 46 + + СписокУправлениеПоискомРасширеннаяПодсказка + 48 + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 47 + true + + SearchControlAddition + Список + + true + + + + СписокExtendedTooltip + 28 + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + + true + true + true + 8 + true + true + MultiRow +
                                          true
                                          + 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + None + None + None + true + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + true + ГруппаПользовательскихНастроек + +
                                          + + ФормаКоманднаяПанель + -1 Left - true OnCreateAtServer diff --git a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ManagerModule.bsl b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ManagerModule.bsl index f713a5fd8..3fbcfa52a 100644 --- a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ManagerModule.bsl +++ b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ManagerModule.bsl @@ -60,13 +60,31 @@ Таблицы = Неопределено, ЕстьИзменения = Неопределено) Экспорт + УстановитьПривилегированныйРежим(Истина); + Если ТипЗнч(Таблицы) = Тип("Массив") И Таблицы.Количество() > 500 Тогда Таблицы = Неопределено; КонецЕсли; - УстановитьПривилегированныйРежим(Истина); + ЗапросПустыхЗаписей = Новый Запрос; + ЗапросПустыхЗаписей.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ИСТИНА КАК ЗначениеИстина + |ИЗ + | РегистрСведений.ТаблицыГруппДоступа КАК ТаблицыГруппДоступа + |ГДЕ + | ТаблицыГруппДоступа.Таблица = ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка) + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ ПЕРВЫЕ 1 + | ИСТИНА КАК ЗначениеИстина + |ИЗ + | РегистрСведений.ТаблицыГруппДоступа КАК ТаблицыГруппДоступа + |ГДЕ + | ТаблицыГруппДоступа.ГруппаДоступа = ЗНАЧЕНИЕ(Справочник.ГруппыДоступа.ПустаяСсылка)"; ТекстЗапросовВременныхТаблиц = "ВЫБРАТЬ @@ -152,6 +170,20 @@ НачатьТранзакцию(); Попытка Блокировка.Заблокировать(); + Результаты = ЗапросПустыхЗаписей.ВыполнитьПакет(); + Если Не Результаты[0].Пустой() Тогда + НаборЗаписей = РегистрыСведений.ТаблицыГруппДоступа.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Таблица.Установить(Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); + НаборЗаписей.Записать(); + ЕстьИзменения = Истина; + КонецЕсли; + Если Не Результаты[1].Пустой() Тогда + НаборЗаписей = РегистрыСведений.ТаблицыГруппДоступа.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.ГруппаДоступа.Установить(Справочники.ГруппыДоступа.ПустаяСсылка()); + НаборЗаписей.Записать(); + ЕстьИзменения = Истина; + КонецЕсли; + Изменения = Запрос.Выполнить().Выгрузить(); Если ГруппыДоступа <> Неопределено diff --git a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ТаблицыГруппДоступа.mdo b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ТаблицыГруппДоступа.mdo index 31cf0e25e..16f69fd0c 100644 --- a/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ТаблицыГруппДоступа.mdo +++ b/SSL/src/InformationRegisters/ТаблицыГруппДоступа/ТаблицыГруппДоступа.mdo @@ -112,8 +112,8 @@ ShowError - true Use + true true @@ -133,7 +133,6 @@ ShowError - true Use true diff --git a/SSL/src/InformationRegisters/УдалитьВерсииПодсистем/УдалитьВерсииПодсистем.mdo b/SSL/src/InformationRegisters/УдалитьВерсииПодсистем/УдалитьВерсииПодсистем.mdo index 5299eddd1..057d47d2c 100644 --- a/SSL/src/InformationRegisters/УдалитьВерсииПодсистем/УдалитьВерсииПодсистем.mdo +++ b/SSL/src/InformationRegisters/УдалитьВерсииПодсистем/УдалитьВерсииПодсистем.mdo @@ -83,6 +83,10 @@ ValueStorage + + ru + Служебный реквизит + Use diff --git a/SSL/src/InformationRegisters/УдалитьЗамерыВремени/УдалитьЗамерыВремени.mdo b/SSL/src/InformationRegisters/УдалитьЗамерыВремени/УдалитьЗамерыВремени.mdo index d004ebf56..1c39024bb 100644 --- a/SSL/src/InformationRegisters/УдалитьЗамерыВремени/УдалитьЗамерыВремени.mdo +++ b/SSL/src/InformationRegisters/УдалитьЗамерыВремени/УдалитьЗамерыВремени.mdo @@ -63,6 +63,10 @@ true + + ru + Служебный ресурс + Use @@ -83,6 +87,10 @@ + + ru + Служебный ресурс + Use @@ -103,6 +111,10 @@ + + ru + Служебный ресурс + Use @@ -119,6 +131,10 @@ Date + + ru + Служебный ресурс + Use @@ -135,6 +151,10 @@ Date + + ru + Служебный ресурс + Use @@ -153,6 +173,10 @@ 100 + + ru + Служебный реквизит + Use @@ -168,6 +192,10 @@ CatalogRef.КлючевыеОперации + + ru + Служебное измерение + true @@ -188,6 +216,10 @@ Date + + ru + Служебное измерение + true @@ -209,6 +241,10 @@ 36 + + ru + Служебное измерение + true diff --git a/SSL/src/InformationRegisters/УдалитьОбластиДанных/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/УдалитьОбластиДанных/Forms/ФормаСписка/Form.form index 741795692..05abb52b7 100644 --- a/SSL/src/InformationRegisters/УдалитьОбластиДанных/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/УдалитьОбластиДанных/Forms/ФормаСписка/Form.form @@ -29,8 +29,8 @@ true - ОбластьДанныхExtendedTooltip - 25 + ОбластьДанныхРасширеннаяПодсказка + 34 Label true true @@ -66,8 +66,8 @@ None - ПредставлениеExtendedTooltip - 26 + ПредставлениеРасширеннаяПодсказка + 35 Label true true @@ -96,8 +96,8 @@ true - Группа1ExtendedTooltip - 24 + Группа1РасширеннаяПодсказка + 33 Label true true @@ -125,8 +125,8 @@ true - СтатусExtendedTooltip - 27 + СтатусРасширеннаяПодсказка + 36 Label true true @@ -162,8 +162,8 @@ true - ПовторExtendedTooltip - 28 + ПовторРасширеннаяПодсказка + 37 Label true true @@ -199,8 +199,8 @@ true - ОшибкаОбработкиExtendedTooltip - 29 + ОшибкаОбработкиРасширеннаяПодсказка + 38 Label true true @@ -232,8 +232,8 @@ Список.ЧасовойПояс - ЧасовойПоясExtendedTooltip - 30 + ЧасовойПоясРасширеннаяПодсказка + 39 Label true true @@ -268,8 +268,8 @@ Список.Префикс - ПрефиксExtendedTooltip - 31 + ПрефиксРасширеннаяПодсказка + 40 Label true true @@ -305,8 +305,8 @@ true - ИдентификаторВыгрузкиExtendedTooltip - 32 + ИдентификаторВыгрузкиРасширеннаяПодсказка + 41 Label true true @@ -342,8 +342,8 @@ true - ВариантExtendedTooltip - 33 + ВариантРасширеннаяПодсказка + 42 Label true true @@ -374,10 +374,10 @@
                                          СписокСтрокаПоиска - 34 + 24 СписокСтрокаПоискаРасширеннаяПодсказка - 36 + 26 Label true true @@ -387,7 +387,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 35 + 25 true Список @@ -397,10 +397,10 @@ СписокСостояниеПросмотра - 37 + 27 СписокСостояниеПросмотраРасширеннаяПодсказка - 39 + 29 Label true true @@ -410,7 +410,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 38 + 28 true ViewStatusAddition @@ -421,10 +421,10 @@ СписокУправлениеПоиском - 40 + 30 СписокУправлениеПоискомРасширеннаяПодсказка - 42 + 32 Label true true @@ -434,7 +434,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 41 + 31 true SearchControlAddition @@ -444,7 +444,7 @@ - СписокExtendedTooltip + СписокРасширеннаяПодсказка 23 Label true diff --git a/SSL/src/InformationRegisters/УдалитьОчередьЗаданий/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/УдалитьОчередьЗаданий/Forms/ФормаСписка/Form.form index 65456b529..0e1412a6e 100644 --- a/SSL/src/InformationRegisters/УдалитьОчередьЗаданий/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/УдалитьОчередьЗаданий/Forms/ФормаСписка/Form.form @@ -26,8 +26,8 @@ true - ОбластьДанныхExtendedTooltip - 33 + ОбластьДанныхРасширеннаяПодсказка + 42 Label true true @@ -63,8 +63,8 @@ true - ЗаданиеExtendedTooltip - 34 + ЗаданиеРасширеннаяПодсказка + 43 Label true true @@ -100,8 +100,8 @@ true - ИспользованиеExtendedTooltip - 35 + ИспользованиеРасширеннаяПодсказка + 44 Label true true @@ -134,8 +134,8 @@ true - ЗапланированныйМоментЗапускаExtendedTooltip - 36 + ЗапланированныйМоментЗапускаРасширеннаяПодсказка + 45 Label true true @@ -171,8 +171,8 @@ true - СостояниеЗаданияExtendedTooltip - 37 + СостояниеЗаданияРасширеннаяПодсказка + 46 Label true true @@ -208,8 +208,8 @@ true - ИсполняющееФоновоеЗаданиеExtendedTooltip - 38 + ИсполняющееФоновоеЗаданиеРасширеннаяПодсказка + 47 Label true true @@ -244,8 +244,8 @@ Список.Шаблон - ШаблонExtendedTooltip - 39 + ШаблонРасширеннаяПодсказка + 48 Label true true @@ -281,8 +281,8 @@ true - ЭксклюзивноеВыполнениеExtendedTooltip - 40 + ЭксклюзивноеВыполнениеРасширеннаяПодсказка + 49 Label true true @@ -315,8 +315,8 @@ true - НомерПопыткиExtendedTooltip - 41 + НомерПопыткиРасширеннаяПодсказка + 50 Label true true @@ -352,8 +352,8 @@ true - РегламентноеЗаданиеExtendedTooltip - 42 + РегламентноеЗаданиеРасширеннаяПодсказка + 51 Label true true @@ -389,8 +389,8 @@ true - ИмяМетодаExtendedTooltip - 43 + ИмяМетодаРасширеннаяПодсказка + 52 Label true true @@ -426,8 +426,8 @@ true - ДатаНачалаПоследнегоЗапускаExtendedTooltip - 44 + ДатаНачалаПоследнегоЗапускаРасширеннаяПодсказка + 53 Label true true @@ -462,8 +462,8 @@ Список.Ключ - КлючExtendedTooltip - 45 + КлючРасширеннаяПодсказка + 54 Label true true @@ -506,8 +506,8 @@ Количество повторов при аварийном завершении - КоличествоПовторовПриАварийномЗавершенииExtendedTooltip - 46 + КоличествоПовторовПриАварийномЗавершенииРасширеннаяПодсказка + 55 Label true true @@ -538,10 +538,10 @@ СписокСтрокаПоиска - 47 + 33 СписокСтрокаПоискаРасширеннаяПодсказка - 49 + 35 Label true true @@ -551,7 +551,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 48 + 34 true Список @@ -561,10 +561,10 @@ СписокСостояниеПросмотра - 50 + 36 СписокСостояниеПросмотраРасширеннаяПодсказка - 52 + 38 Label true true @@ -574,7 +574,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 51 + 37 true ViewStatusAddition @@ -585,10 +585,10 @@ СписокУправлениеПоиском - 53 + 39 СписокУправлениеПоискомРасширеннаяПодсказка - 55 + 41 Label true true @@ -598,7 +598,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 54 + 40 true SearchControlAddition @@ -608,7 +608,7 @@ - СписокExtendedTooltip + СписокРасширеннаяПодсказка 32 Label true diff --git a/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Forms/ФормаСписка/Form.form b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Forms/ФормаСписка/Form.form index 4968ba864..bd2f7d8f3 100644 --- a/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Forms/ФормаСписка/Form.form +++ b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Forms/ФормаСписка/Form.form @@ -1,5 +1,39 @@ + + ГруппаПользовательскихНастроек + 31 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 32 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto + + Список 1 @@ -15,7 +49,7 @@ false None - Владелец + СписокВерсияВладелец 18 true true @@ -26,7 +60,7 @@ Список.Версия.Owner - ВладелецExtendedTooltip + СписокВерсияВладелецРасширеннаяПодсказка 23 Label true @@ -36,7 +70,7 @@ - ВладелецКонтекстноеМеню + СписокВерсияВладелецКонтекстноеМеню 19 true @@ -55,7 +89,7 @@ - Версия + СписокВерсия 4 <key>ru</key> @@ -71,7 +105,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>ВерсияExtendedTooltip</name> + <name>СписокВерсияРасширеннаяПодсказка</name> <id>24</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -81,7 +115,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ВерсияКонтекстноеМеню</name> + <name>СписокВерсияКонтекстноеМеню</name> <id>5</id> <autoFill>true</autoFill> </contextMenu> @@ -100,7 +134,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Пользователь</name> + <name>СписокПользователь</name> <id>6</id> <title> <key>ru</key> @@ -116,7 +150,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>ПользовательExtendedTooltip</name> + <name>СписокПользовательРасширеннаяПодсказка</name> <id>25</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -126,7 +160,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПользовательКонтекстноеМеню</name> + <name>СписокПользовательКонтекстноеМеню</name> <id>7</id> <autoFill>true</autoFill> </contextMenu> @@ -145,7 +179,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Путь</name> + <name>СписокПуть</name> <id>8</id> <title> <key>ru</key> @@ -161,7 +195,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>ПутьExtendedTooltip</name> + <name>СписокПутьРасширеннаяПодсказка</name> <id>26</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -171,7 +205,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ПутьКонтекстноеМеню</name> + <name>СписокПутьКонтекстноеМеню</name> <id>9</id> <autoFill>true</autoFill> </contextMenu> @@ -190,7 +224,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>Размер</name> + <name>СписокРазмер</name> <id>10</id> <title> <key>ru</key> @@ -206,7 +240,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>РазмерExtendedTooltip</name> + <name>СписокРазмерРасширеннаяПодсказка</name> <id>27</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -216,7 +250,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>РазмерКонтекстноеМеню</name> + <name>СписокРазмерКонтекстноеМеню</name> <id>11</id> <autoFill>true</autoFill> </contextMenu> @@ -235,7 +269,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ДатаПомещенияВРабочийКаталог</name> + <name>СписокДатаПомещенияВРабочийКаталог</name> <id>12</id> <title> <key>ru</key> @@ -251,7 +285,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>ДатаПомещенияВРабочийКаталогExtendedTooltip</name> + <name>СписокДатаПомещенияВРабочийКаталогРасширеннаяПодсказка</name> <id>28</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -261,7 +295,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ДатаПомещенияВРабочийКаталогКонтекстноеМеню</name> + <name>СписокДатаПомещенияВРабочийКаталогКонтекстноеМеню</name> <id>13</id> <autoFill>true</autoFill> </contextMenu> @@ -280,7 +314,7 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>НаЧтение</name> + <name>СписокНаЧтение</name> <id>14</id> <title> <key>ru</key> @@ -296,7 +330,7 @@ </dataPath> <defaultItem>true</defaultItem> <extendedTooltip> - <name>НаЧтениеExtendedTooltip</name> + <name>СписокНаЧтениеРасширеннаяПодсказка</name> <id>29</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -306,7 +340,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>НаЧтениеКонтекстноеМеню</name> + <name>СписокНаЧтениеКонтекстноеМеню</name> <id>15</id> <autoFill>true</autoFill> </contextMenu> @@ -318,7 +352,7 @@ <extInfo xsi:type="form:CheckBoxFieldExtInfo"/> </items> <items xsi:type="form:FormField"> - <name>ВРабочемКаталогеВладельца</name> + <name>СписокВРабочемКаталогеВладельца</name> <id>20</id> <visible>true</visible> <enabled>true</enabled> @@ -329,7 +363,7 @@ <segments>Список.ВРабочемКаталогеВладельца</segments> </dataPath> <extendedTooltip> - <name>ВРабочемКаталогеВладельцаExtendedTooltip</name> + <name>СписокВРабочемКаталогеВладельцаРасширеннаяПодсказка</name> <id>30</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> @@ -339,7 +373,7 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ВРабочемКаталогеВладельцаКонтекстноеМеню</name> + <name>СписокВРабочемКаталогеВладельцаКонтекстноеМеню</name> <id>21</id> <autoFill>true</autoFill> </contextMenu> @@ -359,10 +393,10 @@ </autoCommandBar> <searchStringAddition> <name>СписокСтрокаПоиска</name> - <id>31</id> + <id>33</id> <extendedTooltip> <name>СписокСтрокаПоискаРасширеннаяПодсказка</name> - <id>33</id> + <id>35</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -372,7 +406,7 @@ </extendedTooltip> <contextMenu> <name>СписокСтрокаПоискаКонтекстноеМеню</name> - <id>32</id> + <id>34</id> <autoFill>true</autoFill> </contextMenu> <source>Список</source> @@ -382,10 +416,10 @@ </searchStringAddition> <viewStatusAddition> <name>СписокСостояниеПросмотра</name> - <id>34</id> + <id>36</id> <extendedTooltip> <name>СписокСостояниеПросмотраРасширеннаяПодсказка</name> - <id>36</id> + <id>38</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -395,7 +429,7 @@ </extendedTooltip> <contextMenu> <name>СписокСостояниеПросмотраКонтекстноеМеню</name> - <id>35</id> + <id>37</id> <autoFill>true</autoFill> </contextMenu> <type>ViewStatusAddition</type> @@ -406,10 +440,10 @@ </viewStatusAddition> <searchControlAddition> <name>СписокУправлениеПоиском</name> - <id>37</id> + <id>39</id> <extendedTooltip> <name>СписокУправлениеПоискомРасширеннаяПодсказка</name> - <id>39</id> + <id>41</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -419,7 +453,7 @@ </extendedTooltip> <contextMenu> <name>СписокУправлениеПоискомКонтекстноеМеню</name> - <id>38</id> + <id>40</id> <autoFill>true</autoFill> </contextMenu> <type>SearchControlAddition</type> @@ -477,6 +511,7 @@ <topLevelParent xsi:type="core:UndefinedValue"/> <showRoot>true</showRoot> <allowGettingCurrentRowURL>true</allowGettingCurrentRowURL> + <userSettingsGroup>ГруппаПользовательскихНастроек</userSettingsGroup> </extInfo> </items> <autoCommandBar> diff --git a/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Help/ru.html b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Help/ru.html new file mode 100644 index 000000000..0e074c2f0 --- /dev/null +++ b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/Help/ru.html @@ -0,0 +1 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body>В списке перечислены файлы, занятые для редактирования. </body></html> \ No newline at end of file diff --git a/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/ФайлыВРабочемКаталоге.mdo b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/ФайлыВРабочемКаталоге.mdo index c82c18a36..2a2d25235 100644 --- a/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/ФайлыВРабочемКаталоге.mdo +++ b/SSL/src/InformationRegisters/ФайлыВРабочемКаталоге/ФайлыВРабочемКаталоге.mdo @@ -48,6 +48,11 @@ <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> </standardAttributes> + <help> + <pages> + <lang>ru</lang> + </pages> + </help> <dataLockControlMode>Managed</dataLockControlMode> <resources uuid="1026fbcb-acd8-40dc-b638-6e02c6378c55"> <name>Путь</name> diff --git a/SSL/src/Reports/АнализВерсийОбъектов/Help/ru.html b/SSL/src/Reports/АнализВерсийОбъектов/Help/ru.html new file mode 100644 index 000000000..8e204bcc2 --- /dev/null +++ b/SSL/src/Reports/АнализВерсийОбъектов/Help/ru.html @@ -0,0 +1,10 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></meta><link rel="stylesheet" type="text/css" href="v8help://service_book/service_style"></link><meta name="GENERATOR" content="MSHTML 9.00.8112.16421"></meta></head><body> +<p>Предназначен для получения статистики по хранимым версиям объектов программы.</p> +<p>Открывается по команде <strong>Количество и объем хранимых версий объектов</strong> из <a href="InformationRegister.НастройкиВерсионированияОбъектов/Help">настроек версионирования</a>.</p> +<p>Если дисковое пространство, предназначенное для хранения данных программы, ограничено, с помощью отчета можно контролировать объем хранимых версий объектов в сравнении и принять решение о сокращении числа хранимых версий.</p> +<p>В отчете выводится:</p> +<ul><li>Диаграмма <strong>Объем хранимых версий по типам объектов</strong>; +</li><li>Диаграмма <strong>Количество хранимых версий по типам объектов</strong>; +</li><li>Числовые данные по количеству и объему хранимых версий объектов.</li></ul><h3>См. также:</h3> +<ul><li> +<div><a href="CommonForm.ФормаОтчета/Help">Форма отчета</a>.</div></li></ul></body></html> \ No newline at end of file diff --git a/SSL/src/Reports/АнализВерсийОбъектов/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/АнализВерсийОбъектов/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs new file mode 100644 index 000000000..24c9ccc4c --- /dev/null +++ b/SSL/src/Reports/АнализВерсийОбъектов/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <dataSource> + <name>ИсточникДанных1</name> + <dataSourceType>Local</dataSourceType> + </dataSource> + <dataSet xsi:type="DataSetQuery"> + <name>НаборДанных1</name> + <field xsi:type="DataSetFieldField"> + <dataPath>Количество</dataPath> + <field>Количество</field> + <title xsi:type="v8:LocalStringType"> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Количество</v8:content> + </v8:item> + + + + РазмерДанных + РазмерДанных + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Размер данных (Мб)</v8:content> + </v8:item> + + + + Формат + ЧДЦ=2 + + + + + ТипОбъекта + ТипОбъекта + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тип объекта</v8:content> + </v8:item> + + + ИсточникДанных1 + ВЫБРАТЬ + ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) КАК ТипОбъекта, + СУММА(ВерсииОбъектов.РазмерДанных / 1024 / 1024) КАК РазмерДанных, + СУММА(1) КАК Количество +ИЗ + РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов +ГДЕ + ВерсииОбъектов.РазмерДанных > 0 + +СГРУППИРОВАТЬ ПО + ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) + +УПОРЯДОЧИТЬ ПО + РазмерДанных УБЫВ, + Количество УБЫВ + + + Количество + Сумма(Количество) + + + РазмерДанных + Сумма(РазмерДанных) + + + Основной + + + ru + Количество и объем хранимых версий объектов + + + + + + ТипОбъекта + + + Количество + + + РазмерДанных + + + + + false + Заголовок + + + + + + + + ТипОбъекта + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + РазмерДанных + Desc + + + ТипОбъекта + Asc + + + + + + + + + РазмерДанных + + + + + Заголовок + + + ru + Объем хранимых версий по типам объектов + + + + + + + + + + ТипОбъекта + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + Количество + Desc + + + ТипОбъекта + Asc + + + + + + + + + Количество + + + + + Заголовок + + + ru + Количество хранимых версий по типам объектов + + + + + + + + + + + + Заголовок + + + ru + Количество и объем хранимых версий объектов + + + + + + + + \ No newline at end of file diff --git a/SSL/src/Reports/АнализВерсийОбъектов/АнализВерсийОбъектов.mdo b/SSL/src/Reports/АнализВерсийОбъектов/АнализВерсийОбъектов.mdo new file mode 100644 index 000000000..4eec4e37a --- /dev/null +++ b/SSL/src/Reports/АнализВерсийОбъектов/АнализВерсийОбъектов.mdo @@ -0,0 +1,27 @@ + + + + + + + АнализВерсийОбъектов + + ru + Анализ версий объектов + + true + Report.АнализВерсийОбъектов.Template.ОсновнаяСхемаКомпоновкиДанных + + + ru + + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + DataCompositionSchema + + diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/Forms/СведенияОРегламентномЗадании/Help/ru.html b/SSL/src/Reports/АнализЖурналаРегистрации/Forms/СведенияОРегламентномЗадании/Help/ru.html new file mode 100644 index 000000000..f5998662a --- /dev/null +++ b/SSL/src/Reports/АнализЖурналаРегистрации/Forms/СведенияОРегламентномЗадании/Help/ru.html @@ -0,0 +1,17 @@ + +

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

                                          +

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

                                          +

                                          Выводится за день.

                                          +

                                          В отчете выводятся сведения:

                                          +
                                          • Регламентное задание - наименование регламентного задания; +
                                          • Общая продолжительность - общее время выполнения регламентного задания в секундах; +
                                          • Количество Запусков; +
                                          • Отменено заданий - количество отмененных заданий; +
                                          • Количество Ошибок выполнения;

                                          Приводятся сведения о Сеансах регламентного задания:

                                          +
                                          • Начало - дата и время начала сеанса; +
                                          • Завершение - дата и время завершения сеанса; +
                                          • Длительность - время выполнения задания в секундах; +
                                          • Сеанс - сведения о сеансе.

                                          Редактирование расписания регламентного задания

                                          +
                                          • Нажмите кнопку Изменить расписание, для того чтобы настроить новое расписание регламентного задания.

                                          Просмотр журнала регистрации по сеансу задания

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

                                          См. также:

                                          +

                                           

                                          \ No newline at end of file diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/Help/ru.html b/SSL/src/Reports/АнализЖурналаРегистрации/Help/ru.html index a77b0432c..40fa0c9b7 100644 --- a/SSL/src/Reports/АнализЖурналаРегистрации/Help/ru.html +++ b/SSL/src/Reports/АнализЖурналаРегистрации/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Отчет открывается из раздела Администрирование - Поддержка и обслуживание - Отчеты и обработки - Отчеты администратора.

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

                                          diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/ManagerModule.bsl b/SSL/src/Reports/АнализЖурналаРегистрации/ManagerModule.bsl index e88ee9474..9f33d10a0 100644 --- a/SSL/src/Reports/АнализЖурналаРегистрации/ManagerModule.bsl +++ b/SSL/src/Reports/АнализЖурналаРегистрации/ManagerModule.bsl @@ -1,5 +1,47 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. +// +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Ложь); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "АнализАктивностиПользователей"); + НастройкиВарианта.Описание = + НСтр("ru = 'Позволяет выполнять мониторинг активности пользователей + |в программе (насколько интенсивно и с какими объектами работают пользователи).'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "АктивностьПользователя"); + НастройкиВарианта.Описание = + НСтр("ru = 'Подробная информация о том, + |с какими объектами работал пользователь в программе.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "КонтрольЖурналаРегистрации"); + НастройкиВарианта.Описание = НСтр("ru = 'Список критичных записей журнала регистрации.'"); + НастройкиВарианта.НастройкиДляПоиска.ИменаМакетов = "МакетОтчетаПоОшибкамВЖурналеРегистрации"; + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПродолжительностьРаботыРегламентныхЗаданий"); + НастройкиВарианта.Описание = НСтр("ru = 'Выводит график выполнения регламентных заданий в программе.'"); + НастройкиВарианта.НастройкиДляПоиска.ИменаМакетов = "ПродолжительностьРаботыРегламентныхЗаданий, РасшифровкаРегламентныхЗаданий"; +КонецПроцедуры + +#КонецОбласти + #Область ПрограммныйИнтерфейс // Функция получает информацию по активности пользователей из журнала регистрации @@ -204,7 +246,7 @@ КонецЕсли; - // Расчёт количества созданных документов и справочников + // Расчет количества созданных документов и справочников Если СтрокаДанныхЖурналаРегистрации.Событие = "_$Data$_.New" Тогда Если Найти(СтрокаДанныхЖурналаРегистрации.Метаданные, "Документ.") > 0 @@ -237,7 +279,7 @@ КонецЕсли; - // Расчёт количества изменённых документов и справочников + // Расчет количества измененных документов и справочников Если СтрокаДанныхЖурналаРегистрации.Событие = "_$Data$_.Update" Тогда Если Найти(СтрокаДанныхЖурналаРегистрации.Метаданные, "Документ.") > 0 @@ -270,7 +312,7 @@ КонецЕсли; - // Расчёт количества созданных БизнесПроцессов и Задач + // Расчет количества созданных БизнесПроцессов и Задач Если СтрокаДанныхЖурналаРегистрации.Событие = "_$Data$_.New" Тогда Если Найти(СтрокаДанныхЖурналаРегистрации.Метаданные, "БизнесПроцесс.") > 0 @@ -303,7 +345,7 @@ КонецЕсли; - // Расчёт количества измененных БизнесПроцессов и задач + // Расчет количества измененных БизнесПроцессов и задач Если СтрокаДанныхЖурналаРегистрации.Событие = "_$Data$_.Update" Тогда Если Найти(СтрокаДанныхЖурналаРегистрации.Метаданные, "БизнесПроцесс.") > 0 diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index 68c0e1308..7a0d04025 100644 --- a/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -2191,6 +2191,7 @@ КонецВыборки + Normal 5b96c047-cb1c-40e6-9166-28ae35f8f401 @@ -2214,6 +2215,7 @@ СкрытьРегламентныеЗадания + Normal 90775166-bde1-4f36-9ab7-3e8e34927d56 diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Template.mxlx b/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Template.mxlx index 8812fae81..eda15fa5b 100644 --- a/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Template.mxlx +++ b/SSL/src/Reports/АнализЖурналаРегистрации/Templates/ПродолжительностьРаботыРегламентныхЗаданий/Template.mxlx @@ -2986,9 +2986,9 @@ Day 1 true - 2014-06-10T10:00:00 - 2014-06-19T10:59:59 - 2014-06-10T10:00:00 + 2014-11-28T10:00:00 + 2014-12-07T10:59:59 + 2014-11-28T10:00:00 Gradient 3 Day diff --git a/SSL/src/Reports/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo b/SSL/src/Reports/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo index 1f0310032..b63109ce8 100644 --- a/SSL/src/Reports/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo +++ b/SSL/src/Reports/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo @@ -15,6 +15,7 @@ Report.АнализЖурналаРегистрации.Form.ФормаНастроек Report.АнализЖурналаРегистрации.Form.ФормаВарианта SettingsStorage.ХранилищеВариантовОтчетов + true ru @@ -35,6 +36,11 @@ ru Сведения о регламентном задании + + + ru + + PersonalComputer MobileDevice diff --git a/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Form.form b/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Form.form index 600e2e444..88639d938 100644 --- a/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Form.form +++ b/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Form.form @@ -36,8 +36,10 @@ Left true + 25 true true + false true true true diff --git a/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Module.bsl b/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Module.bsl index 96001a41c..b300145e2 100644 --- a/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Module.bsl +++ b/SSL/src/Reports/АнализОпроса/Forms/РасшифровкаПростыхОтветов/Module.bsl @@ -12,17 +12,17 @@ Отказ = Истина; КонецЕсли; - ТекстЗаголовка = НСтр("ru = 'Ответы на вопрос № %1 опроса %2 от %3'"); - Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстЗаголовка, ПолныйКод, НаименованиеОпроса, Формат(ДатаОпроса,"ДФ=dd.MM.yyyy")); + ШаблонЗаголовка = НСтр("ru = 'Ответы на вопрос № %1 опроса %2 + от %3.'"); + Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонЗаголовка, ПолныйКод, НаименованиеОпроса , Формат(ДатаОпроса,"ДФ=dd.MM.yyyy")); - СформироватьОтчёт(); + СформироватьОтчет(); КонецПроцедуры &НаКлиенте Процедура ВариантОтчетаПриИзменении(Элемент) - СформироватьОтчёт(); + СформироватьОтчет(); КонецПроцедуры @@ -31,7 +31,7 @@ #Область СлужебныеПроцедурыИФункции &НаСервере -Процедура СформироватьОтчёт() +Процедура СформироватьОтчет() ТаблицаОтчета.Очистить(); СКД = Отчеты.АнализОпроса.ПолучитьМакет("ПростыеВопросы"); diff --git a/SSL/src/Reports/АнализОпроса/Forms/ФормаОтчета/Form.form b/SSL/src/Reports/АнализОпроса/Forms/ФормаОтчета/Form.form index afb3d7dbf..91a4092e4 100644 --- a/SSL/src/Reports/АнализОпроса/Forms/ФормаОтчета/Form.form +++ b/SSL/src/Reports/АнализОпроса/Forms/ФормаОтчета/Form.form @@ -35,7 +35,7 @@ Left true - 45 + 40 true true false @@ -44,6 +44,7 @@ true true Normal + 40
                                          @@ -78,6 +79,7 @@ Left true + 15 true true false diff --git a/SSL/src/Reports/АнализОпроса/Help/ru.html b/SSL/src/Reports/АнализОпроса/Help/ru.html new file mode 100644 index 000000000..83efc08f2 --- /dev/null +++ b/SSL/src/Reports/АнализОпроса/Help/ru.html @@ -0,0 +1,28 @@ + +

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

                                          +

                                          Открывается по команде Анализ опроса в разделе Анкетирование.

                                          +

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

                                          +

                                          Анализ ответов

                                          +
                                          • +
                                            Если ответы числовые, то по таким ответам может быть дополнительно выведена различная статистическая информация: минимальное, максимальное, среднее значение, а также сумма (выделяется значком ). Сумма выводится для вопросов с включенным флажком Агрегировать сумму в отчетах.
                                            +
                                          • +
                                            Первое число - это количество респондентов, ответивших на вопрос.
                                            +
                                          • +
                                            Статистическая информация выводится через дробь после первого числа в таком порядке: /Минимум/Максимум/Среднее.
                                            +
                                          • +
                                            У отчета существует расшифровка, которая дает информацию о том, кто и как отвечал на тот или иной вопрос.
                                            +
                                            • +
                                              Для того чтобы получить расшифровку по вопросу, дважды щелкните мышью по соответствующей строке отчета.
                                              +
                                            • +
                                              Выберите Вариант отчета:
                                              +
                                              • +
                                                С группировкой по респонденту (по умолчанию);
                                                +
                                              • +
                                                С группировкой по ответам.

                                          Анализ ответивших

                                          +
                                          • При помощи отчета Анализ опроса можно получить информацию о ходе анкетирования в разрезе участвующих в нем респондентов. Информация в отчете сгруппирована по респондентам, которые еще не заполнили или уже заполнили свои анкеты.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/АнализОпроса/ManagerModule.bsl b/SSL/src/Reports/АнализОпроса/ManagerModule.bsl new file mode 100644 index 000000000..173a4baf4 --- /dev/null +++ b/SSL/src/Reports/АнализОпроса/ManagerModule.bsl @@ -0,0 +1,40 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. +// +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, ""); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о респондентах заполнивших анкеты по опросу, + |количестве ответов на вопросы, количестве данных вариантов ответов.'"); + НастройкиВарианта.НастройкиДляПоиска.НаименованияПолей = + НСтр("ru = 'Респондент + |Опрос + |Вопрос + |Ответ'"); + НастройкиВарианта.НастройкиДляПоиска.НаименованияПараметровИОтборов = + НСтр("ru = 'Опрос + |Вид отчета'"); +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/АнализОпроса/АнализОпроса.mdo b/SSL/src/Reports/АнализОпроса/АнализОпроса.mdo index 03b16a161..a8a054758 100644 --- a/SSL/src/Reports/АнализОпроса/АнализОпроса.mdo +++ b/SSL/src/Reports/АнализОпроса/АнализОпроса.mdo @@ -12,6 +12,11 @@ true Report.АнализОпроса.Form.ФормаОтчета SettingsStorage.ХранилищеВариантовОтчетов + + + ru + + ФормаОтчета diff --git a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Help/ru.html b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Help/ru.html new file mode 100644 index 000000000..a9befe0b0 --- /dev/null +++ b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Help/ru.html @@ -0,0 +1,16 @@ + +

                                          Предназначен для анализа ответов респондентов на анкеты.

                                          +

                                          Открывается по команде Аналитический отчет по анкетированию в разделе Анкетирование.

                                          +

                                          Отчет позволяет просматривать результаты анкетирования в различных представлениях: ответы на простые вопросы и вопросы с агрегируемыми показателями, ответы на табличные вопросы; а также сравнивать ответы на одни и те же вопросы, заданные в разных опросах.

                                          +

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

                                          +

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

                                          +
                                          • Просмотр ответов на простые вопросы - в отчете выводятся ответы респондентов на простые вопросы (все, кроме табличных). Данные могут быть сгруппированы по опросу, респондентам и вопросам. Можно также установить отбор по опросам, респондентам и вопросам. +
                                          • Просмотр ответов на табличные вопросы (плоский вид) - в отчете выводятся табличные вопросы. Данные группируются по респондентам и вопросам, также можно установить отбор по опросу, респонденту и вопросам. С помощью двойного щелчка мышью по респонденту можно перейти в соответствующий список программы и посмотреть данные по этому респонденту, с помощью двойного щелчка мышью по соответствующей строке можно посмотреть более подробно вопрос, на который был получен данный ответ. +
                                          • Просмотр ответов на табличные вопросы (табличный вид) отличается от предыдущего варианта внешним видом: данные выводятся не в одной таблице с группировкой, а в отдельных таблицах по каждому респонденту. +
                                          • Простые вопросы с агрегируемыми показателями - в отчет выводятся простые вопросы с числовым ответом. По каждому вопросу рассчитывается количество ответивших респондентов, среднее, минимальное и максимальное значение ответа, а также рассчитывается сумма всех ответов. Можно установить отбор по опросу и вопросам. +
                                          • Количество ответов на простые вопросы - отчет показывает количество ответов на все простые вопросы. Можно установить отбор по опросу и вопросу. +
                                          • Сравнение по опросам количества ответов на простые вопросы - отчет показывает количество ответов на все простые вопросы в разрезе опросов (опросы выводятся в колонках). Можно установить отбор по вопросам и опросу. +
                                          • Если в табличных вопросах используются числовые агрегируемые ответы, то с помощью варианта Табличные вопросы с агрегируемыми показателями по каждому вопросу можно получить количество ответивших, среднее, минимальное, максимальное значение или сумму ответа. Можно установить отбор по опросу и вопросу. +
                                          • Если табличные вопросы с агрегируемыми ответами используются в разных опросах, то с помощью варианта Сравнение по опросам табличных вопросов с агрегируемыми показателями можно сравнить табличные вопросы. +
                                          • Количество ответов на табличные вопросы - отчет показывает количество ответов на все табличные вопросы. Можно отобрать ответы по различным признакам, например, по вопросу.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/ManagerModule.bsl b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/ManagerModule.bsl new file mode 100644 index 000000000..95528157f --- /dev/null +++ b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/ManagerModule.bsl @@ -0,0 +1,68 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. +// +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Ложь); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПросмотрОтветовПростыеВопросы"); + НастройкиВарианта.Описание = НСтр("ru = 'Информация о том, как отвечали респонденты на простые вопросы.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПросмотрТабличныхВопросовПлоскийВид"); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о том, как отвечали респонденты на табличные вопросы. + |Выводится в виде списка с группировками.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПросмотрТабличныхВопросовТабличныйВид"); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о том, как отвечали респонденты на табличные вопросы. + |Каждый ответ респондента представлен в виде таблицы.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПростыеВопросыКоличествоОтветов"); + НастройкиВарианта.Описание = НСтр("ru = 'Информация о том, сколько раз был дан вариант ответа на простой вопрос.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПростыеВопросыАгрегируемыеПоказатели"); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о среднем, минимальном, максимальном ответе на простой вопрос, + |который требует числового ответа.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТабличныеВопросыКоличествоОтветов"); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о том, сколько раз был дан варианта ответа для табличных вопросов, + |который требует указания числового значения.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТабличныеВопросыАгрегируемыеПоказатели"); + НастройкиВарианта.Описание = + НСтр("ru = 'Информация о среднем, минимальном, максимальном ответе в ячейке табличного вопроса, + |который требует указания числового значения.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПростыеВопросыКоличествоОтветовСравнениеПоОпросам"); + НастройкиВарианта.Описание = + НСтр("ru = 'Сравнительный анализ количества данных вариантов ответов + |на простые вопросы в разных опросах.'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТабличныеВопросыАгрегируемыеПоказателиСравнениеПоОпросам"); + НастройкиВарианта.Описание = + НСтр("ru = 'Сравнительный анализ агрегируемых показателей ответов в ячейках + |табличных вопросов разных опросов.'"); +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index ba6fa3b9d..8471c4c2b 100644 --- a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -533,6 +533,7 @@ Вопрос Equal Справочник.ВопросыШаблонаАнкеты.ПустаяСсылка + Normal dcc264b8-2942-4c9b-9ce6-0c88eb10b562 @@ -721,23 +722,27 @@ false Аналитика1 Equal + Normal false Аналитика2 Equal + Normal false Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false Вопрос Equal Справочник.ВопросыШаблонаАнкеты.ПустаяСсылка + Normal 2e00559b-826d-4378-bfe2-5b45dbde0ec7 @@ -745,12 +750,14 @@ Опрос Equal Документ.НазначениеОпросов.ПустаяСсылка + Normal 69da8568-f153-42e8-b285-3340e1f7948b false Ответ Equal + Normal false @@ -914,12 +921,14 @@ Вопрос.ТипВопроса Equal Перечисление.ТипыВопросовШаблонаАнкеты.Табличный + Normal false Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -939,11 +948,13 @@ false ОтветРесурс Equal + Normal false Респондент Equal + Normal ec8c942e-54d8-4e8c-b148-92f04183db30 @@ -951,16 +962,19 @@ ШаблонАнкеты Equal Справочник.ШаблоныАнкет.ПустаяСсылка + Normal false Аналитика1 Equal + Normal false Аналитика2 Equal + Normal Normal 9f06ab2f-b51a-40c4-ae3a-b9330d025663 @@ -1107,6 +1121,7 @@ Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -1119,6 +1134,7 @@ false КоличествоОтветов Equal + Normal false @@ -1131,11 +1147,13 @@ false Ответ Equal + Normal false Респондент Equal + Normal Вопрос.ТипВопроса @@ -1147,6 +1165,7 @@ false ЭлементарныйВопрос Equal + Normal Normal 90fb2a81-084b-4b26-899c-624f3cd5656c @@ -1276,6 +1295,7 @@ Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -1288,16 +1308,19 @@ false КоличествоОтветов Equal + Normal false МаксимальныйОтвет Equal + Normal false МинимальныйОтвет Equal + Normal false @@ -1310,26 +1333,31 @@ false Ответ Equal + Normal false ОткрытыйОтвет Equal + Normal false Респондент Equal + Normal false СреднийОтвет Equal + Normal false СуммаОтвет Equal + Normal Вопрос.ТипВопроса @@ -1348,11 +1376,13 @@ ШаблонАнкеты Equal Справочник.ШаблоныАнкет.ПустаяСсылка + Normal false ЭлементарныйВопрос Equal + Normal Normal 3a64d9b5-24f2-4ab8-82bd-e295137906f3 @@ -1455,17 +1485,20 @@ false Аналитика1 Equal + Normal false Аналитика2 Equal + Normal false Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -1485,16 +1518,19 @@ false Ответ Equal + Normal false Респондент Equal + Normal false КоличествоОтветов Equal + Normal Вопрос.ТипВопроса @@ -1507,12 +1543,14 @@ ШаблонАнкеты Equal Справочник.ШаблоныАнкет.ПустаяСсылка + Normal false ЭлементарныйВопрос Equal ПланВидовХарактеристик.ВопросыДляАнкетирования.ПустаяСсылка + Normal Normal fff43570-4afb-47be-a9ab-7c0b9a9da692 @@ -1665,17 +1703,20 @@ false Аналитика1 Equal + Normal false Аналитика2 Equal + Normal false Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -1688,16 +1729,19 @@ false КоличествоОтветов Equal + Normal false МинимальныйОтвет Equal + Normal false МаксимальныйОтвет Equal + Normal false @@ -1710,21 +1754,25 @@ false Ответ Equal + Normal false Респондент Equal + Normal false СреднийОтвет Equal + Normal false СуммаОтвет Equal + Normal Вопрос.ТипВопроса @@ -1743,12 +1791,14 @@ ШаблонАнкеты Equal Справочник.ШаблоныАнкет.ПустаяСсылка + Normal false ЭлементарныйВопрос Equal ПланВидовХарактеристик.ВопросыДляАнкетирования.ПустаяСсылка + Normal Normal 8bdce37a-09a3-4b8f-a482-ec72ffd6e94e @@ -1860,6 +1910,7 @@ Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -1871,6 +1922,7 @@ false КоличествоОтветов Equal + Normal false @@ -1883,11 +1935,13 @@ false Ответ Equal + Normal false Респондент Equal + Normal Вопрос.ТипВопроса @@ -1899,6 +1953,7 @@ false ЭлементарныйВопрос Equal + Normal a53bcbc0-1350-44dd-9a86-4f3d62e20c0d Normal @@ -2047,17 +2102,20 @@ false Аналитика1 Equal + Normal false Аналитика2 Equal + Normal false Анкета Equal Документ.Анкета.ПустаяСсылка + Normal false @@ -2069,16 +2127,19 @@ false КоличествоОтветов Equal + Normal false МинимальныйОтвет Equal + Normal false МаксимальныйОтвет Equal + Normal false @@ -2091,22 +2152,26 @@ false Ответ Equal + Normal false Респондент Equal + Normal 652da0d5-9a13-43ab-bd22-29ecaf309c3c false СреднийОтвет Equal + Normal false СуммаОтвет Equal + Normal Вопрос.ТипВопроса @@ -2125,12 +2190,14 @@ ШаблонАнкеты Equal Справочник.ШаблоныАнкет.ПустаяСсылка + Normal false ЭлементарныйВопрос Equal ПланВидовХарактеристик.ВопросыДляАнкетирования.ПустаяСсылка + Normal fce963d4-971e-45d8-b669-2a483f95d074 Normal diff --git a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/АналитическийОтчетПоАнкетированию.mdo b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/АналитическийОтчетПоАнкетированию.mdo index e641fab0e..47a9c91e8 100644 --- a/SSL/src/Reports/АналитическийОтчетПоАнкетированию/АналитическийОтчетПоАнкетированию.mdo +++ b/SSL/src/Reports/АналитическийОтчетПоАнкетированию/АналитическийОтчетПоАнкетированию.mdo @@ -12,6 +12,11 @@ true Report.АналитическийОтчетПоАнкетированию.Template.ОсновнаяСхемаКомпоновкиДанных SettingsStorage.ХранилищеВариантовОтчетов + + + ru + + ОсновнаяСхемаКомпоновкиДанных diff --git a/SSL/src/Reports/БизнесПроцессы/Help/ru.html b/SSL/src/Reports/БизнесПроцессы/Help/ru.html new file mode 100644 index 000000000..99c8718ee --- /dev/null +++ b/SSL/src/Reports/БизнесПроцессы/Help/ru.html @@ -0,0 +1,11 @@ + +

                                          Предназначен для мониторинга бизнес-процессов.

                                          +

                                          Выдается только по завершенным бизнес-процессам.

                                          +

                                          Открывается по команде Список бизнес-процессов в списке Отчеты по задачам раздела Бизнес-процессы и задачи.

                                          +

                                          Варианты отчета

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

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/БизнесПроцессы/ManagerModule.bsl b/SSL/src/Reports/БизнесПроцессы/ManagerModule.bsl index bea698eae..2a6cf4be6 100644 --- a/SSL/src/Reports/БизнесПроцессы/ManagerModule.bsl +++ b/SSL/src/Reports/БизнесПроцессы/ManagerModule.bsl @@ -1,25 +1,33 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Список и сводная статистика по всем бизнес-процессам.'"); - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.БизнесПроцессы); - Отчет.Описание = НСтр("ru = 'Список и сводная статистика по всем бизнес-процессам.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СписокБизнесПроцессов"); - Вариант.Описание = НСтр("ru = 'Список бизнес-процессов определенных видов за указанный интервал.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СтатистикаПоВидам"); - Вариант.Описание = НСтр("ru = 'Сводная диаграмма по количеству активных и завершенных бизнес-процессов.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СписокБизнесПроцессов"); + НастройкиВарианта.Описание = НСтр("ru = 'Список бизнес-процессов определенных видов за указанный интервал.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СтатистикаПоВидам"); + НастройкиВарианта.Описание = НСтр("ru = 'Сводная диаграмма по количеству активных и завершенных бизнес-процессов.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/БизнесПроцессы/Templates/Макет/Template.dcs b/SSL/src/Reports/БизнесПроцессы/Templates/Макет/Template.dcs index 9fbc28f33..8701e2468 100644 --- a/SSL/src/Reports/БизнесПроцессы/Templates/Макет/Template.dcs +++ b/SSL/src/Reports/БизнесПроцессы/Templates/Макет/Template.dcs @@ -214,8 +214,40 @@ false ВидБизнесПроцесса InList + Normal 68c21fb2-0c55-4303-92c4-ecfcdf71607a + + false + Автор + InList + + + -1 + + Normal + + + false + Стартован + Equal + true + Normal + + + false + Завершен + Equal + false + Normal + + + false + СостояниеБизнесПроцессов + Equal + false + Normal + @@ -301,6 +333,16 @@ + + + ВыводитьПараметрыДанных + DontOutput + + + ВыводитьОтбор + DontOutput + + @@ -347,8 +389,40 @@ false ВидБизнесПроцесса InList + Normal f555e331-a53e-4ed4-a1b3-2e39c6264cd6 + + false + Автор + InList + + + -1 + + Normal + + + false + Стартован + Equal + true + Normal + + + false + Завершен + Equal + false + Normal + + + false + СостояниеБизнесПроцессов + Equal + false + Normal + @@ -456,7 +530,12 @@ 516adb45-eacf-4811-813b-a0adc3aea0b1 - Показать завершенные бизнес-процессы отдельно + + + ru + Вывести завершенные бизнес-процессы отдельно + + diff --git a/SSL/src/Reports/БизнесПроцессы/БизнесПроцессы.mdo b/SSL/src/Reports/БизнесПроцессы/БизнесПроцессы.mdo index 47e6c3457..08b97a8e8 100644 --- a/SSL/src/Reports/БизнесПроцессы/БизнесПроцессы.mdo +++ b/SSL/src/Reports/БизнесПроцессы/БизнесПроцессы.mdo @@ -12,6 +12,12 @@ true Report.БизнесПроцессы.Template.Макет SettingsStorage.ХранилищеВариантовОтчетов + true + + + ru + + ru Отчет по бизнес-процессам diff --git a/SSL/src/Reports/ДатыЗапретаЗагрузки/Forms/ФормаОтчета/Module.bsl b/SSL/src/Reports/ДатыЗапретаЗагрузки/Forms/ФормаОтчета/Module.bsl index 38d81444a..9dff73299 100644 --- a/SSL/src/Reports/ДатыЗапретаЗагрузки/Forms/ФормаОтчета/Module.bsl +++ b/SSL/src/Reports/ДатыЗапретаЗагрузки/Forms/ФормаОтчета/Module.bsl @@ -8,7 +8,7 @@ Возврат; КонецЕсли; - Свойства = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); + Свойства = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); // Установка варианта отчета. Если Параметры.ПоРазделамОбъектам = Истина Тогда diff --git a/SSL/src/Reports/ДатыЗапретаЗагрузки/ManagerModule.bsl b/SSL/src/Reports/ДатыЗапретаЗагрузки/ManagerModule.bsl index 41e01b189..2a2ed10d9 100644 --- a/SSL/src/Reports/ДатыЗапретаЗагрузки/ManagerModule.bsl +++ b/SSL/src/Reports/ДатыЗапретаЗагрузки/ManagerModule.bsl @@ -1,148 +1,68 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область СлужебныеПроцедурыИФункции +#Область СлужебныйПрограммныйИнтерфейс -// Обработчики событий подсистемы ВариантыОтчетов. - -// Содержит настройки размещения вариантов отчетов в панели отчетов. +// Настройки размещения в панели отчетов. // // Параметры: // Настройки - Коллекция - Используется для описания настроек отчетов и вариантов // см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). // // Описание: -// В данной процедуре необходимо указать каким именно образом предопределенные варианты отчетов -// будут регистрироваться в программе и показываться в панели отчетов. +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // // Вспомогательные методы: -// НастройкиОтчета = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.<ИмяОтчета>); // НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. // -// Данные функции получают соответственно настройки отчета и настройки варианта отчета следующей структуры: -// * Включен - Булево - -// Если Ложь, то вариант отчета не регистрируется в подсистеме. -// Используется для удаления технических и контекстных вариантов отчетов из всех интерфейсов. -// Эти варианты отчета по прежнему можно открывать в форме отчета программно при помощи -// параметров открытия (см. справку по "Расширение управляемой формы для отчета.КлючВарианта"). -// * ВидимостьПоУмолчанию - Булево - -// Если Ложь, то вариант отчета по умолчанию скрыт в панели отчетов. -// Пользователь может "включить" его в режиме настройки панели отчетов -// или открыть через форму "Все отчеты". -// * Описание - Строка - Дополнительная информация по варианту отчета. -// В панели отчетов выводится в качестве подсказки. -// Должно расшифровывать для пользователя содержимое варианта отчета -// и не должно дублировать наименование варианта отчета. -// * Размещение - Соответствие - Настройки размещения варианта отчета в разделах. -// ** Ключ - ОбъектМетаданных: Подсистема - Подсистема, в которой размещается отчет или вариант отчета -// ** Значение - Строка - Необязательный. Настройки размещения в подсистеме. -// "" - Выводить отчет в своей группе обычным шрифтом. -// "Важный" - Выводить отчет в своей группе жирным шрифтом. -// "СмТакже" - Выводить отчет в группе "См. также". -// * ФункциональныеОпции - Массив из Строка - -// Имена функциональных опций варианта отчета. -// -// Например: -// -// (1) Добавить в подсистему вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (2) Отключить вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Включен = Ложь; -// -// (3) Отключить все варианты отчета, кроме требуемого. -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Включен = Ложь; -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта"); -// Вариант.Включен = Истина; -// -// (4) Результат исполнения 4.1 и 4.2 будет одинаковым: -// (4.1) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (4.2) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Отчет.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// Важно: -// Отчет выступает в качестве контейнера вариантов. -// Изменяя настройки отчета можно сразу изменять настройки всех его вариантов. -// Однако, если явно получить настройки варианта отчета, то они станут самостоятельными, -// т.е. более не будут наследовать изменения настроек от отчета. См. примеры 3 и 4. -// -// Начальная настройка размещения отчетов по подсистемам зачитывается из метаданных, -// ее дублирование в коде не требуется. -// -// Функциональные опции вариантов объединяются с функциональными опциями отчетов по следующим правилам: -// (ФункциональнаяОпция1Отчета ИЛИ ФункциональнаяОпция2Отчета) И (ФункциональнаяОпция3Варианта ИЛИ ФункциональнаяОпция4Варианта). -// Функциональные опции отчетов не зачитываются из метаданных, -// они применяются на этапе использования подсистемы пользователем. -// Через ОписаниеОтчета можно добавлять функциональные опции, которые будут соединяться по указанным выше правилам, -// но надо помнить, что эти функциональные опции будут действовать только для предопределенных вариантов этого отчета. -// Для пользовательских вариантов отчета действуют только функциональные опции отчета -// - они отключаются только с отключением всего отчета. -// -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - - Свойства = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Включен = Ложь; - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ДатыЗапретаЗагрузки); - Отчет.Включен = Ложь; - + Свойства = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); Если Свойства.ПоказыватьРазделы И НЕ Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаЗагрузкиПоРазделамОбъектамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоРазделамОбъектамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для пользователей, |сгруппированные по разделам с объектами.'"); ИначеЕсли Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаЗагрузкиПоРазделамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоРазделамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для пользователей, |сгруппированные по разделам.'"); Иначе - УстановитьВариант = "ДатыЗапретаЗагрузкиПоОбъектамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоОбъектамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для пользователей, |сгруппированные по объектам.'"); КонецЕсли; - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, УстановитьВариант); - Вариант.Включен = Истина; - Вариант.Описание = Описание; + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, ИмяВарианта); + НастройкиВарианта.Включен = Истина; + НастройкиВарианта.Описание = ОписаниеВарианта; Если Свойства.ПоказыватьРазделы И НЕ Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаЗагрузкиПоПользователям"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоПользователям"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для разделов с объектами, |сгруппированные по пользователям.'"); ИначеЕсли Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаЗагрузкиПоПользователямБезОбъектов"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоПользователямБезОбъектов"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для разделов, |сгруппированные по пользователям.'"); Иначе - УстановитьВариант = "ДатыЗапретаЗагрузкиПоПользователямБезРазделов"; - Описание = + ИмяВарианта = "ДатыЗапретаЗагрузкиПоПользователямБезРазделов"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета загрузки для объектов, |сгруппированные по пользователям.'"); КонецЕсли; - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, УстановитьВариант); - Вариант.Включен = Истина; - Вариант.Описание = Описание; - + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, ИмяВарианта); + НастройкиВарианта.Включен = Истина; + НастройкиВарианта.Описание = ОписаниеВарианта; КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Reports/ДатыЗапретаИзменения/Forms/ФормаОтчета/Module.bsl b/SSL/src/Reports/ДатыЗапретаИзменения/Forms/ФормаОтчета/Module.bsl index 7b0d2868c..0ad62b395 100644 --- a/SSL/src/Reports/ДатыЗапретаИзменения/Forms/ФормаОтчета/Module.bsl +++ b/SSL/src/Reports/ДатыЗапретаИзменения/Forms/ФормаОтчета/Module.bsl @@ -8,7 +8,7 @@ Возврат; КонецЕсли; - Свойства = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); + Свойства = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); // Установка варианта отчета. Если Параметры.ПоРазделамОбъектам = Истина Тогда diff --git a/SSL/src/Reports/ДатыЗапретаИзменения/ManagerModule.bsl b/SSL/src/Reports/ДатыЗапретаИзменения/ManagerModule.bsl index 140440bc0..ce3bedbf0 100644 --- a/SSL/src/Reports/ДатыЗапретаИзменения/ManagerModule.bsl +++ b/SSL/src/Reports/ДатыЗапретаИзменения/ManagerModule.bsl @@ -1,148 +1,68 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область СлужебныеПроцедурыИФункции +#Область СлужебныйПрограммныйИнтерфейс -// Обработчики событий подсистемы ВариантыОтчетов. - -// Содержит настройки размещения вариантов отчетов в панели отчетов. +// Настройки размещения в панели отчетов. // // Параметры: // Настройки - Коллекция - Используется для описания настроек отчетов и вариантов // см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). // // Описание: -// В данной процедуре необходимо указать каким именно образом предопределенные варианты отчетов -// будут регистрироваться в программе и показываться в панели отчетов. +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // // Вспомогательные методы: -// НастройкиОтчета = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.<ИмяОтчета>); // НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. // -// Данные функции получают соответственно настройки отчета и настройки варианта отчета следующей структуры: -// * Включен - Булево - -// Если Ложь, то вариант отчета не регистрируется в подсистеме. -// Используется для удаления технических и контекстных вариантов отчетов из всех интерфейсов. -// Эти варианты отчета по прежнему можно открывать в форме отчета программно при помощи -// параметров открытия (см. справку по "Расширение управляемой формы для отчета.КлючВарианта"). -// * ВидимостьПоУмолчанию - Булево - -// Если Ложь, то вариант отчета по умолчанию скрыт в панели отчетов. -// Пользователь может "включить" его в режиме настройки панели отчетов -// или открыть через форму "Все отчеты". -// * Описание - Строка - Дополнительная информация по варианту отчета. -// В панели отчетов выводится в качестве подсказки. -// Должно расшифровывать для пользователя содержимое варианта отчета -// и не должно дублировать наименование варианта отчета. -// * Размещение - Соответствие - Настройки размещения варианта отчета в разделах. -// ** Ключ - ОбъектМетаданных: Подсистема - Подсистема, в которой размещается отчет или вариант отчета -// ** Значение - Строка - Необязательный. Настройки размещения в подсистеме. -// "" - Выводить отчет в своей группе обычным шрифтом. -// "Важный" - Выводить отчет в своей группе жирным шрифтом. -// "СмТакже" - Выводить отчет в группе "См. также". -// * ФункциональныеОпции - Массив из Строка - -// Имена функциональных опций варианта отчета. -// -// Например: -// -// (1) Добавить в подсистему вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (2) Отключить вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Включен = Ложь; -// -// (3) Отключить все варианты отчета, кроме требуемого. -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Включен = Ложь; -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта"); -// Вариант.Включен = Истина; -// -// (4) Результат исполнения 4.1 и 4.2 будет одинаковым: -// (4.1) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (4.2) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Отчет.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// Важно: -// Отчет выступает в качестве контейнера вариантов. -// Изменяя настройки отчета можно сразу изменять настройки всех его вариантов. -// Однако, если явно получить настройки варианта отчета, то они станут самостоятельными, -// т.е. более не будут наследовать изменения настроек от отчета. См. примеры 3 и 4. -// -// Начальная настройка размещения отчетов по подсистемам зачитывается из метаданных, -// ее дублирование в коде не требуется. -// -// Функциональные опции вариантов объединяются с функциональными опциями отчетов по следующим правилам: -// (ФункциональнаяОпция1Отчета ИЛИ ФункциональнаяОпция2Отчета) И (ФункциональнаяОпция3Варианта ИЛИ ФункциональнаяОпция4Варианта). -// Функциональные опции отчетов не зачитываются из метаданных, -// они применяются на этапе использования подсистемы пользователем. -// Через ОписаниеОтчета можно добавлять функциональные опции, которые будут соединяться по указанным выше правилам, -// но надо помнить, что эти функциональные опции будут действовать только для предопределенных вариантов этого отчета. -// Для пользовательских вариантов отчета действуют только функциональные опции отчета -// - они отключаются только с отключением всего отчета. -// -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - - Свойства = ДатыЗапретаИзмененияПовтИсп.СвойстваРазделов(); +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Включен = Ложь; - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ДатыЗапретаИзменения); - Отчет.Включен = Ложь; - + Свойства = ДатыЗапретаИзмененияСлужебныйПовтИсп.СвойстваРазделов(); Если Свойства.ПоказыватьРазделы И НЕ Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаИзмененияПоРазделамОбъектамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоРазделамОбъектамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для пользователей, |сгруппированные по разделам с объектами.'"); ИначеЕсли Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаИзмененияПоРазделамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоРазделамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для пользователей, |сгруппированные по разделам.'"); Иначе - УстановитьВариант = "ДатыЗапретаИзмененияПоОбъектамДляПользователей"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоОбъектамДляПользователей"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для пользователей, |сгруппированные по объектам.'"); КонецЕсли; - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, УстановитьВариант); - Вариант.Включен = Истина; - Вариант.Описание = Описание; + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, ИмяВарианта); + НастройкиВарианта.Включен = Истина; + НастройкиВарианта.Описание = ОписаниеВарианта; Если Свойства.ПоказыватьРазделы И НЕ Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаИзмененияПоПользователям"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоПользователям"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для разделов с объектами, |сгруппированные по пользователям.'"); ИначеЕсли Свойства.ВсеРазделыБезОбъектов Тогда - УстановитьВариант = "ДатыЗапретаИзмененияПоПользователямБезОбъектов"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоПользователямБезОбъектов"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для разделов, |сгруппированные по пользователям.'"); Иначе - УстановитьВариант = "ДатыЗапретаИзмененияПоПользователямБезРазделов"; - Описание = + ИмяВарианта = "ДатыЗапретаИзмененияПоПользователямБезРазделов"; + ОписаниеВарианта = НСтр("ru = 'Выводит даты запрета изменения для объектов, |сгруппированные по пользователям.'"); КонецЕсли; - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, УстановитьВариант); - Вариант.Включен = Истина; - Вариант.Описание = Описание; - + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, ИмяВарианта); + НастройкиВарианта.Включен = Истина; + НастройкиВарианта.Описание = ОписаниеВарианта; КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Reports/ЗависшиеЗадачи/Help/ru.html b/SSL/src/Reports/ЗависшиеЗадачи/Help/ru.html index 4d9fa03fb..5f573b000 100644 --- a/SSL/src/Reports/ЗависшиеЗадачи/Help/ru.html +++ b/SSL/src/Reports/ЗависшиеЗадачи/Help/ru.html @@ -1,8 +1,11 @@ - -

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

                                          -

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

                                          -

                                          Чтобы установить группировку списка зависших задач по объектам адресации, выберите вариант отчета "Зависшие задачи".

                                          -

                                          Вариант отчета "Зависшие задачи по ролям" позволяет включить группировку по ролям исполнителей.

                                          -

                                          Вариант отчета "Зависшие задачи по объектам адресации" позволяет посмотреть количество зависших задач в разрезе ролей исполнителей.

                                          -

                                          Для просмотра одновременно как зависших, так и просроченных задач предназначен вариант отчета "Просроченные задачи".

                                          -

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

                                          \ No newline at end of file + +

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

                                          +

                                          Если установлен отбор по Координатору, то в отчет будут выводиться только те задачи, которые назначены исполнителям в объектах адресации, за которые отвечает указанный координатор выполнения задач. Можно установить фильтр по Автору задачи. Также предусмотрен отбор по Периоду.

                                          +

                                          Варианты отчета

                                          +
                                          • Для того чтобы установить группировку списка зависших задач по объектам адресации, выберите вариант отчета Сводка по зависшим задачам. В отчете выводятся основной и дополнительный объекты адресации, ответственный, задача. Для сокращения выведенной в отчете информации снимите флажок Подробно, в этом случае не выводятся наименование задачи. +
                                            • Можно отобрать задачи по Ответственному и по Автору.
                                          • Вариант отчета Зависшие задачи по объектам адресации позволяет посмотреть количество зависших задач в разрезе ролей исполнителей и объектов адресации. Выводится основной и дополнительный объект адресации, задача. +
                                            • Можно установить отбор зависших задач по конкретному исполнителю роли, например, по Координатору.
                                          • Вариант отчета Зависшие задачи по ответственным позволяет включить группировку по ролям исполнителей, например, по Координатору.  +
                                          • Для просмотра одновременно как зависших, так и просроченных задач предназначен вариант отчета Просроченные задачи. +
                                            • Зависшие задачи в отчете выделяются красным цветом (для этого включите флажок Выделять задачи без назначенных исполнителей в настройках отчета). +
                                            • Можно установить отбор по конкретному исполнителю роли, например, по Координатору.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/ЗависшиеЗадачи/ManagerModule.bsl b/SSL/src/Reports/ЗависшиеЗадачи/ManagerModule.bsl index b0559b1a0..ef8b81c68 100644 --- a/SSL/src/Reports/ЗависшиеЗадачи/ManagerModule.bsl +++ b/SSL/src/Reports/ЗависшиеЗадачи/ManagerModule.bsl @@ -1,32 +1,39 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Анализ зависших задач, которые не могут быть выполнены, так как у них не назначены исполнители.'"); - // ЗависшиеЗадачи - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ЗависшиеЗадачи); - Отчет.Описание = НСтр("ru = 'Анализ зависших задач, которые не могут быть выполнены, так как у них не назначены исполнители.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СводкаПоЗависшимЗадачам"); + НастройкиВарианта.Описание = НСтр("ru = 'Сводка по количеству зависших задач, назначенных на роли, для которых не задано ни одного исполнителя.'"); - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СводкаПоЗависшимЗадачам"); - Вариант.Описание = НСтр("ru = 'Сводка по количеству зависших задач, назначенных на роли, для которых не задано ни одного исполнителя.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ЗависшиеЗадачиПоИсполнителям"); + НастройкиВарианта.Описание = НСтр("ru = 'Список зависших задач, назначенных на роли, для которых не задано ни одного исполнителя.'"); - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ЗависшиеЗадачиПоИсполнителям"); - Вариант.Описание = НСтр("ru = 'Список зависших задач, назначенных на роли, для которых не задано ни одного исполнителя.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ЗависшиеЗадачиПоОбъектамАдресации"); - Вариант.Описание = НСтр("ru = 'Список зависших задач по объектам адресации.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ПросроченныеЗадачи"); - Вариант.Описание = НСтр("ru = 'Список просроченных и зависших задач, которые не могут быть выполнены, так как у них не назначены исполнители.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ЗависшиеЗадачиПоОбъектамАдресации"); + НастройкиВарианта.Описание = НСтр("ru = 'Список зависших задач по объектам адресации.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ПросроченныеЗадачи"); + НастройкиВарианта.Описание = НСтр("ru = 'Список просроченных и зависших задач, которые не могут быть выполнены, так как у них не назначены исполнители.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/ЗависшиеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/ЗависшиеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index fd8012eb0..5576f840a 100644 --- a/SSL/src/Reports/ЗависшиеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/ЗависшиеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -30,7 +30,7 @@ <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Исполнитель</v8:content> + <v8:content>Ответственный</v8:content> </v8:item> @@ -148,7 +148,7 @@ <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Координатор выполнения задач</v8:content> + <v8:content>Ответственный</v8:content> </v8:item> @@ -172,12 +172,6 @@ - - - - Количество - - ПризнакНаличияИсполнителей @@ -190,6 +184,7 @@ Автор Equal Справочник.Пользователи.ПустаяСсылка + Normal 7da04b8a-5d82-4dc2-8ef2-bfdfbba3f062 @@ -258,7 +253,7 @@ ru - Исполнитель не назначен + Ответственный не назначен
                                          @@ -325,11 +320,26 @@ - - ОсновнойОбъектАдресации - - - ДополнительныйОбъектАдресации + + + ОсновнойОбъектАдресации + + + ru + Основной + + + + + ДополнительныйОбъектАдресации + + + ru + доп. объект адресации задач + + + + Together Количество @@ -353,6 +363,23 @@ РольИсполнителя + + + + + + + Ссылка + + + 4a22c52f-9466-49c6-ab5a-e08b38d9d6fa + + + ru + Подробно + + + @@ -366,7 +393,7 @@ ru - Зависшие задачи по исполнителям + Зависшие задачи по ответственным @@ -541,16 +568,41 @@ - - ОсновнойОбъектАдресации + + + ОсновнойОбъектАдресации + + + ru + Основной + + + + + ДополнительныйОбъектАдресации + + + ru + доп. объект адресации + + + + Together - ДополнительныйОбъектАдресации - - - Ссылка + Количество + + + + + + + Ссылка + + + @@ -711,11 +763,26 @@ - - ОсновнойОбъектАдресации - - - ДополнительныйОбъектАдресации + + + ОсновнойОбъектАдресации + + + ru + Основной + + + + + ДополнительныйОбъектАдресации + + + ru + доп. объект адресации + + + + Together Количество @@ -815,8 +882,14 @@ style:ПросроченныеДанныеЦвет
                                          + Normal 8f0025cd-eb21-4541-81ac-0c30842ca2cf - Выделять задачи без назначенных исполнителей + + + ru + Выделять задачи без назначенных исполнителей + + @@ -836,7 +909,7 @@ ru - Не указан + Объект адресации не указан @@ -866,6 +939,25 @@ + + + + Ссылка.СрокИсполнения + + + + + + Формат + + + ru + ДЛФ=D + + + + + @@ -907,11 +999,26 @@ - - ОсновнойОбъектАдресации - - - ДополнительныйОбъектАдресации + + + ОсновнойОбъектАдресации + + + ru + Основной + + + + + ДополнительныйОбъектАдресации + + + ru + доп. объект адресации + + + + Together Количество @@ -920,10 +1027,26 @@ + + Ссылка.СрокИсполнения + Asc + - - Ссылка + + + Ссылка + + + Ссылка.СрокИсполнения + + + ru + Срок + + + + Horizontally diff --git a/SSL/src/Reports/ЗависшиеЗадачи/ЗависшиеЗадачи.mdo b/SSL/src/Reports/ЗависшиеЗадачи/ЗависшиеЗадачи.mdo index 398897f0d..8b01b089e 100644 --- a/SSL/src/Reports/ЗависшиеЗадачи/ЗависшиеЗадачи.mdo +++ b/SSL/src/Reports/ЗависшиеЗадачи/ЗависшиеЗадачи.mdo @@ -12,6 +12,7 @@ true Report.ЗависшиеЗадачи.Template.ОсновнаяСхемаКомпоновкиДанных SettingsStorage.ХранилищеВариантовОтчетов + true ru diff --git a/SSL/src/Reports/Задания/Help/ru.html b/SSL/src/Reports/Задания/Help/ru.html new file mode 100644 index 000000000..428376e4e --- /dev/null +++ b/SSL/src/Reports/Задания/Help/ru.html @@ -0,0 +1,10 @@ + +

                                          Предназначен для мониторинга бизнес-процесса Задание.

                                          +

                                          Открывается по команде Список заданий за период из списка Отчеты по задачам раздела Бизнес-Процессы и задачи.

                                          +

                                          Варианты отчета

                                          +
                                          • Список заданий за период - предназначен для контроля хода выполнения бизнес-процессов Задание. В строках отчета выводятся наименование бизнес-процесса, статус его завершения (Да/Нет), автор и дата старта, а также указывается, сколько дней длился бизнес-процесс, и сколько в процессе произошло циклов. Можно вывести все, завершенные или только незавершенные задания. Отчет формируется за Период. +
                                            •  Возможен отбор по Периоду и по Автору. 
                                          • Статистика циклов выполнения-проверки заданий - в отчете в наглядной форме (в виде диаграммы) представлено сравнение количества циклов выполнения-проверки заданий по Авторам. В отчете необходимо задать Период. +
                                            • Можно произвести отбор только по завершенным заданиям и по Автору. 
                                          • Средняя длительность выполнения заданий - предназначен для контроля сроков выполнения заданий. В этом отчете в наглядной форме (в виде диаграммы) для анализа представлены самые продолжительные бизнес-процессы за определенный Период. Отчет выдается по завершенным заданиям. +
                                            • Можно отобрать задания за Период и по Автору.
                                          • Статистика результатов выполнения заданий - в наглядной форме (в виде диаграммы) показывает, сколько заданий выполняется и сколько выполнено. Отчет формируется за определенный Период. +
                                            • Можно произвести отбор только по завершенным заданиям и по Автору.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/Задания/ManagerModule.bsl b/SSL/src/Reports/Задания/ManagerModule.bsl index 277da51d0..4737b9cd1 100644 --- a/SSL/src/Reports/Задания/ManagerModule.bsl +++ b/SSL/src/Reports/Задания/ManagerModule.bsl @@ -1,31 +1,39 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Список и сводная статистика по выполнению заданий.'"); - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.Задания); - Отчет.Описание = НСтр("ru = 'Список и сводная статистика по выполнению заданий.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СписокЗаданий"); + НастройкиВарианта.Описание = НСтр("ru = 'Список всех заданий за указанный период.'"); - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СписокЗаданий"); - Вариант.Описание = НСтр("ru = 'Список всех заданий за указанный период.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СтатистикаЗаданий"); + НастройкиВарианта.Описание = НСтр("ru = 'Сводная диаграмма по всем выполненным, отмененным заданиям и заданиям в работе.'"); - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СтатистикаЗаданий"); - Вариант.Описание = НСтр("ru = 'Сводная диаграмма по всем выполненным, отмененным заданиям и заданиям в работе.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СтатистикаЦикловВыполненияПроверки"); - Вариант.Описание = НСтр("ru = 'Топ 10 авторов по среднему количеству перепроверок заданий.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СтатистикаДлительности"); - Вариант.Описание = НСтр("ru = 'Топ 10 авторов по средней длительности выполнения заданий.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СтатистикаЦикловВыполненияПроверки"); + НастройкиВарианта.Описание = НСтр("ru = 'Топ 10 авторов по среднему количеству перепроверок заданий.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СтатистикаДлительности"); + НастройкиВарианта.Описание = НСтр("ru = 'Топ 10 авторов по средней длительности выполнения заданий.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/Задания/ObjectModule.bsl b/SSL/src/Reports/Задания/ObjectModule.bsl new file mode 100644 index 000000000..deb8a34a1 --- /dev/null +++ b/SSL/src/Reports/Задания/ObjectModule.bsl @@ -0,0 +1,15 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) + + ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"); + СрокИсполнения = СхемаКомпоновкиДанных.НаборыДанных[0].Поля.Найти("СрокИсполнения"); + СрокИсполнения.Оформление.УстановитьЗначениеПараметра("Формат", ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D")); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/Задания/Templates/Макет/Template.dcs b/SSL/src/Reports/Задания/Templates/Макет/Template.dcs index 9e7e64a2b..a0f851422 100644 --- a/SSL/src/Reports/Задания/Templates/Макет/Template.dcs +++ b/SSL/src/Reports/Задания/Templates/Макет/Template.dcs @@ -325,6 +325,19 @@ Дней
                                          + + + false + Автор + InList + + + -1 + + Normal + 3ccfa365-1ee2-4354-8079-c0ebf230c7ad + + false @@ -336,11 +349,6 @@ d64e623b-4b8f-40d4-912a-e023f7b44b8b - - false - Завершен - false - @@ -481,6 +489,15 @@ Количество.ПроцентОбщий + + + false + Автор + Equal + Normal + 7a64b393-5d62-4712-b96e-963d64c8eb7e + + Период @@ -639,6 +656,19 @@ НомерИтерации
                                          + + + false + Автор + InList + + + -1 + + Normal + 6fdad48d-01c3-4ab1-a735-75c785a5ee5d + + Период @@ -783,6 +813,17 @@ true Inaccessible + + false + Автор + InList + + + -1 + + Normal + 35df2a2a-907c-415d-b1a9-6d92531a2727 + diff --git a/SSL/src/Reports/Задания/Задания.mdo b/SSL/src/Reports/Задания/Задания.mdo index 87d5b887e..20f1bbbaa 100644 --- a/SSL/src/Reports/Задания/Задания.mdo +++ b/SSL/src/Reports/Задания/Задания.mdo @@ -12,6 +12,12 @@ true Report.Задания.Template.Макет SettingsStorage.ХранилищеВариантовОтчетов + true + + + ru + + ru Отчет по заданиям diff --git a/SSL/src/Reports/Задачи/Help/ru.html b/SSL/src/Reports/Задачи/Help/ru.html index 088c651d8..eb51b758d 100644 --- a/SSL/src/Reports/Задачи/Help/ru.html +++ b/SSL/src/Reports/Задачи/Help/ru.html @@ -1,15 +1,15 @@ - -

                                          Для формирования отчета выберите один из вариантов и нажмите кнопку "Сформировать".

                                          -

                                          Текущие задачи

                                          -

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

                                          -

                                          - - - - - - -
                                          АвторБудут отобраны только задачи указанного куратора
                                          Дата исполненияБудут отобраны только задачи, дата исполнения которых соответствует указанной
                                          ИсполнительБудут отобраны только задачи, адресованные указанному исполнителю
                                          Срок исполненияБудут отобраны только задачи, срок исполнения которых соответствует указанной дате
                                          Дата созданияБудут отобраны только задачи, созданные за указанный период
                                          ВыполненаПозволяет отобрать только выполненные или не выполненные задачи

                                           

                                          -

                                          Справка по исполнительской дисциплине

                                          -

                                          По умолчанию в отчет попадут все задачи за текущий месяц.

                                          -

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

                                          \ No newline at end of file + +

                                          Предназначен для мониторинга задач.

                                          +

                                          Открывается по команде Текущие задачи в списке Отчеты по задачам раздела Бизнес-процессы и задачи.

                                          +

                                          Варианты отчета

                                          +
                                          • Текущие задачи - в отчете задачи сгруппированы по исполнителям, в строках отчета выводится номер и наименование задачи, указывается крайний плановый срок исполнения. Отчет позволяет установить фильтр по выполненным задачам, автору, дате фактического и планового исполнения. Просроченные и выполненные задачи могут быть выделены в списке отчета. Отчет формируется за Период.  +
                                            • При необходимости установите нужные параметры: +
                                              • Состояние бизнес-процесса - отбор активных или остановленных бизнес-процессов; +
                                              • Автор - отбор задач указанного куратора; +
                                              • Выводить выполненные задачи - отбор выполненных или не выполненных задач; +
                                              • Крайний срок - отбор задач, срок которых меньше или равен указанной дате; +
                                              • Дата исполнения - отбор задач, дата исполнения которых соответствует указанной; +
                                              • Включите флажок, для того чтобы Выделять просроченные задачи; +
                                              • Включите флажок, для того чтобы Выделять выполненные задачи.
                                          • Справка по исполнительской дисциплине - в строки отчета выводится исполнитель и количество его задач за указанный период. По задачам в строке дается уточнение, сколько задач выполнено и не выполнено. По выполненным задачам указывается количество выполненных в срок и не в срок задач. По невыполненным задачам указывается количество просроченных. По умолчанию в отчет попадут все задачи за текущий месяц. +
                                            • Отчет формируется за Период. Можно установить фильтр по Автору и плановому сроку завершения (Крайний срок).

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/Задачи/ManagerModule.bsl b/SSL/src/Reports/Задачи/ManagerModule.bsl index 13e3140bd..42a967511 100644 --- a/SSL/src/Reports/Задачи/ManagerModule.bsl +++ b/SSL/src/Reports/Задачи/ManagerModule.bsl @@ -1,25 +1,33 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Список и сводная статистика по задачам.'"); - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.Задачи); - Отчет.Описание = НСтр("ru = 'Список и сводная статистика по задачам.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ТекущиеЗадачи"); - Вариант.Описание = НСтр("ru = 'Список всех задач в работе к заданному сроку.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "СправкаПоИсполнительскойДисциплине"); - Вариант.Описание = НСтр("ru = 'Сводка по количеству выполненных в срок и просроченных задачах у исполнителей.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ТекущиеЗадачи"); + НастройкиВарианта.Описание = НСтр("ru = 'Список всех задач в работе к заданному сроку.'"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СправкаПоИсполнительскойДисциплине"); + НастройкиВарианта.Описание = НСтр("ru = 'Сводка по количеству выполненных в срок и просроченных задачах у исполнителей.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/Задачи/ObjectModule.bsl b/SSL/src/Reports/Задачи/ObjectModule.bsl index e69de29bb..deb8a34a1 100644 --- a/SSL/src/Reports/Задачи/ObjectModule.bsl +++ b/SSL/src/Reports/Задачи/ObjectModule.bsl @@ -0,0 +1,15 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) + + ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"); + СрокИсполнения = СхемаКомпоновкиДанных.НаборыДанных[0].Поля.Найти("СрокИсполнения"); + СрокИсполнения.Оформление.УстановитьЗначениеПараметра("Формат", ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D")); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/Задачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/Задачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index 506226ad1..acf80011b 100644 --- a/SSL/src/Reports/Задачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/Задачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -252,7 +252,8 @@ 0001-01-01T00:00:00 - false + true + &Период.ДатаНачала ДатаОкончания @@ -269,7 +270,8 @@ 0001-01-01T00:00:00 - false + true + &Период.ДатаОкончания КрайнийСрок @@ -289,6 +291,24 @@ false Always + + Период + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Период</v8:content> + </v8:item> + + + v8:StandardPeriod + + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + false + ТекущиеЗадачи @@ -300,6 +320,7 @@ + false Номер @@ -353,31 +374,35 @@ Ссылка.Выполнена Equal false + Normal 3262f5ac-8db5-48f5-a6fd-cab5ed4b6bcf - Выводить выполненные задачи + + + ru + Выводить выполненные задачи + + + false СрокИсполнения LessOrEqual BeginningOfThisDay + Normal 6986aa91-f648-465d-88d8-1c7d7c7a7d84 + false ДатаИсполнения GreaterOrEqual BeginningOfThisWeek + Normal 2b010cb4-de38-4d2b-ab7e-10c40c23f459 - - Автор - Equal - Справочник.Пользователи.ПустаяСсылка - 5f599205-29c3-4667-88de-e895cb4e3131 - СостояниеБизнесПроцесса Equal @@ -385,7 +410,41 @@ Normal 941e11a6-5e19-45be-92c7-6442acd028ae + + false + Автор + Equal + Справочник.Пользователи.ПустаяСсылка + Normal + 5f599205-29c3-4667-88de-e895cb4e3131 + + + false + Исполнитель + InList + + + -1 + + Normal + + + + false + КрайнийСрок + 0001-01-01T00:00:00 + Normal + 1ea6693c-492f-4fa7-8d3e-8a7290270919 + + + Период + + ThisWeek + + 63d77e78-d7da-4534-8647-2714450f782d + + СрокИсполнения @@ -439,6 +498,7 @@
                                          Выделять просроченные задачи + Normal 11966583-ef0c-482c-95ef-a54f5538f28f @@ -462,6 +522,7 @@
                                          Выделять выполненные задачи + Normal a53cd573-1732-4bae-98d9-22ab69ed44cb @@ -538,6 +599,10 @@ + + false + Количество + @@ -644,14 +709,17 @@ false Автор Equal + Normal 67bf6480-b72b-4014-8c7a-f8cb1c243554 + false Дата GreaterOrEqual BeginningOfThisWeek + Inaccessible 1f540b31-fcf9-4a90-b831-6c8779ca3d75 @@ -661,11 +729,13 @@ + false Дата LessOrEqual BeginningOfNextDay + Inaccessible f276458f-9ac1-4bcc-a677-8a8280dab87d @@ -674,15 +744,34 @@ + + false + Исполнитель + InList + + + -1 + + Normal + + false КрайнийСрок BeginningOfNextWeek + Normal be4549b8-e388-4873-be9c-0dd5fad8cde8 + + Период + + ThisWeek + + 497875ae-0976-4c86-92ac-fad7e224c083 + diff --git a/SSL/src/Reports/Задачи/Задачи.mdo b/SSL/src/Reports/Задачи/Задачи.mdo index fa99f03ba..650751804 100644 --- a/SSL/src/Reports/Задачи/Задачи.mdo +++ b/SSL/src/Reports/Задачи/Задачи.mdo @@ -12,6 +12,7 @@ true Report.Задачи.Template.ОсновнаяСхемаКомпоновкиДанных SettingsStorage.ХранилищеВариантовОтчетов + true ru diff --git a/SSL/src/Reports/ЗадачиИстекающиеНаДату/Help/ru.html b/SSL/src/Reports/ЗадачиИстекающиеНаДату/Help/ru.html index 6976c9acc..c96bf1368 100644 --- a/SSL/src/Reports/ЗадачиИстекающиеНаДату/Help/ru.html +++ b/SSL/src/Reports/ЗадачиИстекающиеНаДату/Help/ru.html @@ -1,3 +1,8 @@ - -

                                          Для формирования отчета нажмите кнопку "Сформировать". По умолчанию в отчет попадут задачи, крайний срок исполнения которых истекает завтра утром.

                                          -

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

                                          \ No newline at end of file + +

                                          Предназначен для мониторинга задач.

                                          +

                                          Открывается по команде Задачи, истекающие на дату в списке Отчеты по задачам раздела Бизнес-процессы.

                                          +

                                          Для контроля своих задач исполнитель может воспользоваться этим отчетом. По каждому исполнителю выводится сводка по количеству задач со сроками исполнения, истекающими на указанную в поле Крайний срок дату. Отчет позволяет выполнить расшифровку по Автору, Важности, Задаче и Сроку.

                                          +

                                          Можно установить отбор по Важности и Автору задачи.

                                          +

                                          По умолчанию в отчет попадут задачи, крайний срок исполнения которых истекает завтра утром.

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/ЗадачиИстекающиеНаДату/ManagerModule.bsl b/SSL/src/Reports/ЗадачиИстекающиеНаДату/ManagerModule.bsl index 63a2e56ce..2cbac1934 100644 --- a/SSL/src/Reports/ЗадачиИстекающиеНаДату/ManagerModule.bsl +++ b/SSL/src/Reports/ЗадачиИстекающиеНаДату/ManagerModule.bsl @@ -1,22 +1,30 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Список задач, которые должны быть выполнены к указанной дате.'"); - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ЗадачиИстекающиеНаДату); - Отчет.Описание = НСтр("ru = 'Список задач, которые должны быть выполнены к указанной дате.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ЗадачиИстекающиеНаДату"); - Вариант.Описание = НСтр("ru = 'Список задач, которые должны быть выполнены к указанной дате.'"); - + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ЗадачиИстекающиеНаДату"); + НастройкиВарианта.Описание = НСтр("ru = 'Список задач, которые должны быть выполнены к указанной дате.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/ЗадачиИстекающиеНаДату/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/ЗадачиИстекающиеНаДату/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index cf34cff67..c725aed33 100644 --- a/SSL/src/Reports/ЗадачиИстекающиеНаДату/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/ЗадачиИстекающиеНаДату/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -114,6 +114,7 @@ Автор Equal Справочник.Пользователи.ПустаяСсылка + Normal 74ca9c09-914b-455b-a776-17f859429be1
                                          @@ -121,8 +122,19 @@ Важность Equal Перечисление.ВариантыВажностиЗадачи.ПустаяСсылка + Normal 0d7d0056-d056-4ac9-b236-7c9f90d1fbc0 + + false + Исполнитель + InList + + + -1 + + Normal + diff --git a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ManagerModule.bsl b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ManagerModule.bsl index 10d88a082..509db8ce2 100644 --- a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ManagerModule.bsl +++ b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ManagerModule.bsl @@ -2,6 +2,44 @@ #Область СлужебныйПрограммныйИнтерфейс +// Настройки размещения в панели отчетов. +// +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + + НастройкиОтчета = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Создать().Метаданные()); + НастройкиОтчета.Описание = НСтр("ru = 'Внешние ресурсы, используемые программой и дополнительными модулями'"); + НастройкиОтчета.ОпределитьНастройкиФормы = Истина; + НастройкиОтчета.НастройкиДляПоиска.НаименованияПолей = + НСтр("ru = 'Адрес + |Чтение данных + |Запись данных + |Имя и идентификатор COM-класса + |Имя компьютера + |Имя макета и файла компоненты + |Контрольная сумма + |Шаблон командной строки + |Протокол + |Адрес Интернет-ресурса + |Порт + |Разрешения на расширенную работу с данными'"); + +КонецПроцедуры + // Формирует представление разрешений на использование внешних ресурсов по таблицам разрешений. // // Параметры: @@ -64,7 +102,7 @@ Модуль = ФрагментИзменений.ВнешнийМодуль; - Если Модуль = РаботаВБезопасномРежимеСлужебныйПовтИсп.СлужебныйИОМ() Тогда + Если Модуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда Словарь = СловарьМодуляКонфигурации(); НаименованиеМодуля = Метаданные.Синоним; @@ -92,7 +130,7 @@ КонецЕсли; ОбластьШапки.Параметры.ВидВнешнегоМодуляВРодительномПадеже = НРег(Словарь.Родительный); ОбластьШапки.Параметры.Наименование = НаименованиеМодуля; - Если Модуль <> РаботаВБезопасномРежимеСлужебныйПовтИсп.СлужебныйИОМ() Тогда + Если Модуль <> Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка() Тогда ОбластьШапки.Параметры.Модуль = Модуль; КонецЕсли; ТабличныйДокумент.Вывести(ОбластьШапки); @@ -147,7 +185,7 @@ Если Описание.Операция = Перечисления.ОперацииСНаборамиРазрешений.Удаление Тогда - ЭтоПрофильКонфигурации = (Описание.ВнешнийМодуль = РаботаВБезопасномРежимеСлужебныйПовтИсп.СлужебныйИОМ()); + ЭтоПрофильКонфигурации = (Описание.ВнешнийМодуль = Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка()); Если ЭтоПрофильКонфигурации Тогда diff --git a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ObjectModule.bsl b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ObjectModule.bsl index 884c6f61a..156bcb3c3 100644 --- a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ObjectModule.bsl +++ b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ObjectModule.bsl @@ -1,24 +1,21 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область СлужебныйПрограммныйИнтерфейс - -// Для общей формы "Форма отчета" подсистемы "Варианты отчетов". -Функция ВерсияСтандартныхФункцийОтчетов() Экспорт - Возврат "1"; -КонецФункции - -// Для общей формы "Форма отчета" подсистемы "Варианты отчетов". -Функция ПолучитьНастройкиОтчета() Экспорт - МодульФункцииОтчетовКлиентСервер = ОбщегоНазначения.ОбщийМодуль("ФункцииОтчетовКлиентСервер"); - НастройкиОтчета = МодульФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(); - НастройкиОтчета.ВыводитьСуммуВыделенныхЯчеек = Ложь; - Возврат НастройкиОтчета; -КонецФункции - -#КонецОбласти - #Область ОбработчикиСобытийОбъекта +// Настройки общей формы отчета подсистемы "Варианты отчетов". +// +// Параметры: +// Форма - УправляемаяФорма - Форма отчета. +// КлючВарианта - Строка - Имя предопределенного варианта отчета или уникальный идентификатор пользовательского. +// Настройки - Структура - см. возвращаемое значение ФункцииОтчетовКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию(). +// +Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт + + Настройки.ФормироватьСразу = Истина; + Настройки.ВыводитьСуммуВыделенныхЯчеек = Ложь; + +КонецПроцедуры + // Вызывается при выполнении отчета с помощью метода СкомпоноватьРезультат(). // // Параметры: diff --git a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs deleted file mode 100644 index e019f9ad8..000000000 --- a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ /dev/null @@ -1,13 +0,0 @@ - - - - ИспользуемыеВнешниеРесурсы - - - ru - Внешние ресурсы, используемые программой и дополнительными модулями - - - - - \ No newline at end of file diff --git a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ИспользуемыеВнешниеРесурсы.mdo b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ИспользуемыеВнешниеРесурсы.mdo index e3ebf334c..19ed92e9d 100644 --- a/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ИспользуемыеВнешниеРесурсы.mdo +++ b/SSL/src/Reports/ИспользуемыеВнешниеРесурсы/ИспользуемыеВнешниеРесурсы.mdo @@ -1,25 +1,16 @@ - + - - + + ИспользуемыеВнешниеРесурсы ru - Используемые внешние ресурсы + Внешние ресурсы, используемые программой и дополнительными модулями - true - Report.ИспользуемыеВнешниеРесурсы.Template.ОсновнаяСхемаКомпоновкиДанных - - ОсновнаяСхемаКомпоновкиДанных - - ru - Основная схема компоновки данных - - DataCompositionSchema - - + SettingsStorage.ХранилищеВариантовОтчетов + ПредставленияРазрешений ru diff --git a/SSL/src/Reports/МестаИспользованияСсылок/Forms/МестаИспользования/Module.bsl b/SSL/src/Reports/МестаИспользованияСсылок/Forms/МестаИспользования/Module.bsl index ba033d842..152f2e8d3 100644 --- a/SSL/src/Reports/МестаИспользованияСсылок/Forms/МестаИспользования/Module.bsl +++ b/SSL/src/Reports/МестаИспользованияСсылок/Forms/МестаИспользования/Module.bsl @@ -1,7 +1,8 @@ // Форма принимает параметры: // -// НаборСсылок - Массив, СписокЗначений, Коллекция элементов, обладающих полем "Ссылка" - необязательный набор -// ссылок для начального анализа. Если не пуст, то отчет формируется автоматически при открытии. +// НаборСсылок - Массив, СписокЗначений - набор элементов для анализа при открытии. Может быть коллекцией +// элементов с полем "Ссылка". Если есть элементы, то отчет формируется +// автоматически при открытии. // #Область ОбработчикиСобытийФормы diff --git a/SSL/src/Reports/МестаИспользованияСсылок/Help/ru.html b/SSL/src/Reports/МестаИспользованияСсылок/Help/ru.html index f67dcc220..150d98d1e 100644 --- a/SSL/src/Reports/МестаИспользованияСсылок/Help/ru.html +++ b/SSL/src/Reports/МестаИспользованияСсылок/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

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

                                          diff --git a/SSL/src/Reports/МестаИспользованияСсылок/ManagerModule.bsl b/SSL/src/Reports/МестаИспользованияСсылок/ManagerModule.bsl index e69de29bb..0720b40ad 100644 --- a/SSL/src/Reports/МестаИспользованияСсылок/ManagerModule.bsl +++ b/SSL/src/Reports/МестаИспользованияСсылок/ManagerModule.bsl @@ -0,0 +1,31 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. +// +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + МодульВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Ложь); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "Основной"); + НастройкиВарианта.Включен = Ложь; + НастройкиВарианта.Описание = НСтр("ru = 'Поиск мест использования объектов приложения.'"); +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/МестаИспользованияСсылок/МестаИспользованияСсылок.mdo b/SSL/src/Reports/МестаИспользованияСсылок/МестаИспользованияСсылок.mdo index c9a1b6952..de901f16f 100644 --- a/SSL/src/Reports/МестаИспользованияСсылок/МестаИспользованияСсылок.mdo +++ b/SSL/src/Reports/МестаИспользованияСсылок/МестаИспользованияСсылок.mdo @@ -13,6 +13,7 @@ Report.МестаИспользованияСсылок.Form.МестаИспользования Report.МестаИспользованияСсылок.Template.ОсновнаяСхемаКомпоновкиДанных SettingsStorage.ХранилищеВариантовОтчетов + true ru diff --git a/SSL/src/Reports/ПраваДоступа/Forms/ФормаОтчета/Module.bsl b/SSL/src/Reports/ПраваДоступа/Forms/ФормаОтчета/Module.bsl index 6b3307d96..47c435577 100644 --- a/SSL/src/Reports/ПраваДоступа/Forms/ФормаОтчета/Module.bsl +++ b/SSL/src/Reports/ПраваДоступа/Forms/ФормаОтчета/Module.bsl @@ -11,12 +11,12 @@ Если НЕ ЗначениеЗаполнено(Параметры.Пользователь) Тогда Если УправлениеДоступомСлужебный.УпрощенныйИнтерфейсНастройкиПравДоступа() Тогда ВызватьИсключение - НСтр("ru = 'Отчет открывается только для конкретного пользователя. - |Команда открытия есть в форме настройки прав доступа.'"); + НСтр("ru = 'Чтобы открыть отчет откройте карточку пользователя, + |перейдите по ссылке ""Права доступа"", нажмите на кнопку ""Отчет по правам доступа"".'"); Иначе ВызватьИсключение - НСтр("ru = 'Отчет открывается только для конкретного пользователя или группы пользователей. - |Команда открытия есть в форме настройки прав доступа.'"); + НСтр("ru = 'Чтобы открыть отчет откройте карточку пользователя или группы пользователей, + |перейдите по ссылке ""Права доступа"", нажмите на кнопку ""Отчет по правам доступа"".'"); КонецЕсли; КонецЕсли; diff --git a/SSL/src/Reports/ПраваДоступа/Help/ru.html b/SSL/src/Reports/ПраваДоступа/Help/ru.html index a0c2b95d5..988657911 100644 --- a/SSL/src/Reports/ПраваДоступа/Help/ru.html +++ b/SSL/src/Reports/ПраваДоступа/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Просмотр полного списка прав пользователя.

                                          Отчет открывается из карточки пользователя или внешнего пользователя (группы пользователей или группы внешних пользователей) со страницы Права доступа по команде Отчет по правам доступа.

                                          Отчет с помощью стандартных команд можно распечатать или сохранить на компьютере в нужном формате.

                                          diff --git a/SSL/src/Reports/ПраваДоступа/ManagerModule.bsl b/SSL/src/Reports/ПраваДоступа/ManagerModule.bsl index a7f1e95ca..bb612c027 100644 --- a/SSL/src/Reports/ПраваДоступа/ManagerModule.bsl +++ b/SSL/src/Reports/ПраваДоступа/ManagerModule.bsl @@ -1,105 +1,24 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область СлужебныеПроцедурыИФункции +#Область СлужебныйПрограммныйИнтерфейс -// Обработчики событий подсистемы ВариантыОтчетов. - -// Содержит настройки размещения вариантов отчетов в панели отчетов. +// Настройки размещения в панели отчетов. // // Параметры: // Настройки - Коллекция - Используется для описания настроек отчетов и вариантов // см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). // // Описание: -// В данной процедуре необходимо указать каким именно образом предопределенные варианты отчетов -// будут регистрироваться в программе и показываться в панели отчетов. +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // // Вспомогательные методы: -// НастройкиОтчета = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.<ИмяОтчета>); // НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. // -// Данные функции получают соответственно настройки отчета и настройки варианта отчета следующей структуры: -// * Включен - Булево - -// Если Ложь, то вариант отчета не регистрируется в подсистеме. -// Используется для удаления технических и контекстных вариантов отчетов из всех интерфейсов. -// Эти варианты отчета по прежнему можно открывать в форме отчета программно при помощи -// параметров открытия (см. справку по "Расширение управляемой формы для отчета.КлючВарианта"). -// * ВидимостьПоУмолчанию - Булево - -// Если Ложь, то вариант отчета по умолчанию скрыт в панели отчетов. -// Пользователь может "включить" его в режиме настройки панели отчетов -// или открыть через форму "Все отчеты". -// * Описание - Строка - Дополнительная информация по варианту отчета. -// В панели отчетов выводится в качестве подсказки. -// Должно расшифровывать для пользователя содержимое варианта отчета -// и не должно дублировать наименование варианта отчета. -// * Размещение - Соответствие - Настройки размещения варианта отчета в разделах. -// ** Ключ - ОбъектМетаданных: Подсистема - Подсистема, в которой размещается отчет или вариант отчета -// ** Значение - Строка - Необязательный. Настройки размещения в подсистеме. -// "" - Выводить отчет в своей группе обычным шрифтом. -// "Важный" - Выводить отчет в своей группе жирным шрифтом. -// "СмТакже" - Выводить отчет в группе "См. также". -// * ФункциональныеОпции - Массив из Строка - -// Имена функциональных опций варианта отчета. -// -// Например: -// -// (1) Добавить в подсистему вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (2) Отключить вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Включен = Ложь; -// -// (3) Отключить все варианты отчета, кроме требуемого. -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Включен = Ложь; -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта"); -// Вариант.Включен = Истина; -// -// (4) Результат исполнения 4.1 и 4.2 будет одинаковым: -// (4.1) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (4.2) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Отчет.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// Важно: -// Отчет выступает в качестве контейнера вариантов. -// Изменяя настройки отчета можно сразу изменять настройки всех его вариантов. -// Однако, если явно получить настройки варианта отчета, то они станут самостоятельными, -// т.е. более не будут наследовать изменения настроек от отчета. См. примеры 3 и 4. -// -// Начальная настройка размещения отчетов по подсистемам зачитывается из метаданных, -// ее дублирование в коде не требуется. -// -// Функциональные опции вариантов объединяются с функциональными опциями отчетов по следующим правилам: -// (ФункциональнаяОпция1Отчета ИЛИ ФункциональнаяОпция2Отчета) И (ФункциональнаяОпция3Варианта ИЛИ ФункциональнаяОпция4Варианта). -// Функциональные опции отчетов не зачитываются из метаданных, -// они применяются на этапе использования подсистемы пользователем. -// Через ОписаниеОтчета можно добавлять функциональные опции, которые будут соединяться по указанным выше правилам, -// но надо помнить, что эти функциональные опции будут действовать только для предопределенных вариантов этого отчета. -// Для пользовательских вариантов отчета действуют только функциональные опции отчета -// - они отключаются только с отключением всего отчета. -// -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - - МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); - - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ПраваДоступа); - Отчет.Включен = Ложь; - +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт + НастройкиОтчета.Включен = Ложь; КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Reports/ПраваДоступа/ПраваДоступа.mdo b/SSL/src/Reports/ПраваДоступа/ПраваДоступа.mdo index ab01d58e8..2e3d43389 100644 --- a/SSL/src/Reports/ПраваДоступа/ПраваДоступа.mdo +++ b/SSL/src/Reports/ПраваДоступа/ПраваДоступа.mdo @@ -12,6 +12,7 @@ true Report.ПраваДоступа.Form.ФормаОтчета SettingsStorage.ХранилищеВариантовОтчетов + true ru diff --git a/SSL/src/Reports/ПросроченныеЗадачи/Help/ru.html b/SSL/src/Reports/ПросроченныеЗадачи/Help/ru.html index ccc294b81..ca58b35c6 100644 --- a/SSL/src/Reports/ПросроченныеЗадачи/Help/ru.html +++ b/SSL/src/Reports/ПросроченныеЗадачи/Help/ru.html @@ -1,3 +1,6 @@ - -

                                          Для формирования отчета нажмите кнопку "Сформировать". По умолчанию в отчет попадут все задачи за текущий месяц с истекшим сроком исполнения.

                                          -

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

                                          \ No newline at end of file + +

                                          Предназначен для мониторинга задач. По умолчанию в отчет попадут все задачи за текущий месяц с истекшим сроком исполнения.

                                          +

                                          Открывается по команде Задачи, выполненные с нарушением сроков в списке Отчеты по задачам раздела Бизнес-процессы и задачи.

                                          +

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

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/Reports/ПросроченныеЗадачи/ManagerModule.bsl b/SSL/src/Reports/ПросроченныеЗадачи/ManagerModule.bsl index d9b8d4fe6..b3bbaaa93 100644 --- a/SSL/src/Reports/ПросроченныеЗадачи/ManagerModule.bsl +++ b/SSL/src/Reports/ПросроченныеЗадачи/ManagerModule.bsl @@ -1,22 +1,30 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область СлужебныеПроцедурыИФункции - -// Заполняет настройки вариантов отчета. -// Подробнее - см. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов. + +#Область СлужебныйПрограммныйИнтерфейс + +// Настройки размещения в панели отчетов. // -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +// Параметры: +// Настройки - Коллекция - Используется для описания настроек отчетов и вариантов +// см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). +// +// Описание: +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). +// +// Вспомогательные методы: +// НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. +// +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); + НастройкиОтчета.Описание = НСтр("ru = 'Список задач, выполненных с нарушением сроков, по исполнителям.'"); - Отчет = МодульВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ПросроченныеЗадачи); - Отчет.Описание = НСтр("ru = 'Список задач, выполненных с нарушением сроков, по исполнителям.'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ЗадачиВыполненныеСНарушениемСроков"); - Вариант.Описание = НСтр("ru = 'Список задач, выполненных с нарушением сроков, по исполнителям.'"); - + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "ЗадачиВыполненныеСНарушениемСроков"); + НастройкиВарианта.Описание = НСтр("ru = 'Список задач, выполненных с нарушением сроков, по исполнителям.'"); КонецПроцедуры - + #КонецОбласти #КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/ПросроченныеЗадачи/ObjectModule.bsl b/SSL/src/Reports/ПросроченныеЗадачи/ObjectModule.bsl index e69de29bb..f9f41a757 100644 --- a/SSL/src/Reports/ПросроченныеЗадачи/ObjectModule.bsl +++ b/SSL/src/Reports/ПросроченныеЗадачи/ObjectModule.bsl @@ -0,0 +1,20 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) + + ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"); + ФорматДаты = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D"); + + СрокИсполнения = СхемаКомпоновкиДанных.НаборыДанных[0].Поля.Найти("СрокИсполнения"); + СрокИсполнения.Оформление.УстановитьЗначениеПараметра("Формат", ФорматДаты); + + ДатаИсполнения = СхемаКомпоновкиДанных.НаборыДанных[0].Поля.Найти("ДатаИсполнения"); + ДатаИсполнения.Оформление.УстановитьЗначениеПараметра("Формат", ФорматДаты); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git a/SSL/src/Reports/ПросроченныеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/ПросроченныеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index 250276b7c..7db43f558 100644 --- a/SSL/src/Reports/ПросроченныеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/ПросроченныеЗадачи/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -105,7 +105,10 @@ ГДЕ Задачи.Выполнена = ИСТИНА И Задачи.СостояниеБизнесПроцесса = ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Активен) - И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание) ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка)) + И (ТИПЗНАЧЕНИЯ(Задачи.БизнесПроцесс) <> ТИП(БизнесПроцесс.Задание) ИЛИ Задачи.БизнесПроцесс.ЗадачаИсточник = ЗНАЧЕНИЕ(Задача.ЗадачаИсполнителя.ПустаяСсылка)) +{ГДЕ + (Задачи.Дата >= &ДатаНачала), + (Задачи.Дата <= &ДатаОкончания)} НеВСрок @@ -115,6 +118,60 @@ ВсегоЗадач Количество(ВсегоЗадач) + + Период + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Период</v8:content> + </v8:item> + + + v8:StandardPeriod + + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + false + + + ДатаНачала + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата начала</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + 0001-01-01T00:00:00 + true + &Период.ДатаНачала + + + ДатаОкончания + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата окончания</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + 0001-01-01T00:00:00 + true + &Период.ДатаОкончания + ЗадачиВыполненныеСНарушениемСроков @@ -153,24 +210,39 @@ ae24a270-ba28-4bd4-ba5f-36804851339e - ДатаЗадачи - GreaterOrEqual - - BeginningOfThisWeek + false + Исполнитель + InList + + + -1 - 5427796f-bad4-4e42-a4da-85b6ed3eab36 - Дата начала - - - ДатаЗадачи - LessOrEqual - - BeginningOfThisDay - - 4487cfa3-fd3c-478f-b3ed-54af1134ad0a - Дата окончания + Normal + b7914567-ba19-425b-b1a8-ff458c89f7a2 + + + false + Период + + ThisWeek + + 7e89839d-4174-481d-9d4c-6efe5936168f + + + + + Важность + Desc + + + ПросроченоДней + Desc + + Normal + 17c16db5-81a3-4eb0-8d68-adb87dc350fa + ВыводитьЗаголовок diff --git a/SSL/src/Reports/СведенияОПользователях/Help/ru.html b/SSL/src/Reports/СведенияОПользователях/Help/ru.html index 9856f75c9..66f59cce8 100644 --- a/SSL/src/Reports/СведенияОПользователях/Help/ru.html +++ b/SSL/src/Reports/СведенияОПользователях/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                          Отчет открывается из списка Пользователи (Внешние пользователи) по команде Все действия - Сведения о пользователях (о внешних пользователях).

                                          diff --git a/SSL/src/Reports/СведенияОПользователях/ManagerModule.bsl b/SSL/src/Reports/СведенияОПользователях/ManagerModule.bsl index cde28bcc4..331c4c21c 100644 --- a/SSL/src/Reports/СведенияОПользователях/ManagerModule.bsl +++ b/SSL/src/Reports/СведенияОПользователях/ManagerModule.bsl @@ -1,126 +1,41 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда -#Область СлужебныеПроцедурыИФункции +#Область СлужебныйПрограммныйИнтерфейс -// Обработчики событий подсистемы ВариантыОтчетов. - -// Содержит настройки размещения вариантов отчетов в панели отчетов. +// Настройки размещения в панели отчетов. // // Параметры: // Настройки - Коллекция - Используется для описания настроек отчетов и вариантов // см. описание к ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации() +// НастройкиОтчета - СтрокаДереваЗначений - Настройки размещения всех вариантов отчета. +// см. "Реквизиты для изменения" функции ВариантыОтчетов.ДеревоНастроекВариантовОтчетовКонфигурации(). // // Описание: -// В данной процедуре необходимо указать каким именно образом предопределенные варианты отчетов -// будут регистрироваться в программе и показываться в панели отчетов. +// См. ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). // // Вспомогательные методы: -// НастройкиОтчета = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.<ИмяОтчета>); // НастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "<ИмяВарианта>"); +// ВариантыОтчетов.УстановитьРежимВыводаВПанеляхОтчетов(Настройки, НастройкиОтчета, Истина/Ложь); // Отчет поддерживает только этот режим. // -// Данные функции получают соответственно настройки отчета и настройки варианта отчета следующей структуры: -// * Включен - Булево - -// Если Ложь, то вариант отчета не регистрируется в подсистеме. -// Используется для удаления технических и контекстных вариантов отчетов из всех интерфейсов. -// Эти варианты отчета по прежнему можно открывать в форме отчета программно при помощи -// параметров открытия (см. справку по "Расширение управляемой формы для отчета.КлючВарианта"). -// * ВидимостьПоУмолчанию - Булево - -// Если Ложь, то вариант отчета по умолчанию скрыт в панели отчетов. -// Пользователь может "включить" его в режиме настройки панели отчетов -// или открыть через форму "Все отчеты". -// * Описание - Строка - Дополнительная информация по варианту отчета. -// В панели отчетов выводится в качестве подсказки. -// Должно расшифровывать для пользователя содержимое варианта отчета -// и не должно дублировать наименование варианта отчета. -// * Размещение - Соответствие - Настройки размещения варианта отчета в разделах. -// ** Ключ - ОбъектМетаданных: Подсистема - Подсистема, в которой размещается отчет или вариант отчета -// ** Значение - Строка - Необязательный. Настройки размещения в подсистеме. -// "" - Выводить отчет в своей группе обычным шрифтом. -// "Важный" - Выводить отчет в своей группе жирным шрифтом. -// "СмТакже" - Выводить отчет в группе "См. также". -// * ФункциональныеОпции - Массив из Строка - -// Имена функциональных опций варианта отчета. -// -// Например: -// -// (1) Добавить в подсистему вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (2) Отключить вариант отчета. -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Метаданные.Отчеты.ИмяОтчета, "ИмяВарианта1"); -// Вариант.Включен = Ложь; -// -// (3) Отключить все варианты отчета, кроме требуемого. -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Включен = Ложь; -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта"); -// Вариант.Включен = Истина; -// -// (4) Результат исполнения 4.1 и 4.2 будет одинаковым: -// (4.1) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// Вариант = ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Вариант.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// (4.2) -// Отчет = ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ИмяОтчета); -// Отчет.Размещение.Удалить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта1"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта2"); -// ВариантыОтчетов.ОписаниеВарианта(Настройки, Отчет, "ИмяВарианта3"); -// Отчет.Размещение.Вставить(Метаданные.Подсистемы.ИмяРаздела.Подсистемы.ИмяПодсистемы); -// -// Важно: -// Отчет выступает в качестве контейнера вариантов. -// Изменяя настройки отчета можно сразу изменять настройки всех его вариантов. -// Однако, если явно получить настройки варианта отчета, то они станут самостоятельными, -// т.е. более не будут наследовать изменения настроек от отчета. См. примеры 3 и 4. -// -// Начальная настройка размещения отчетов по подсистемам зачитывается из метаданных, -// ее дублирование в коде не требуется. -// -// Функциональные опции вариантов объединяются с функциональными опциями отчетов по следующим правилам: -// (ФункциональнаяОпция1Отчета ИЛИ ФункциональнаяОпция2Отчета) И (ФункциональнаяОпция3Варианта ИЛИ ФункциональнаяОпция4Варианта). -// Функциональные опции отчетов не зачитываются из метаданных, -// они применяются на этапе использования подсистемы пользователем. -// Через ОписаниеОтчета можно добавлять функциональные опции, которые будут соединяться по указанным выше правилам, -// но надо помнить, что эти функциональные опции будут действовать только для предопределенных вариантов этого отчета. -// Для пользовательских вариантов отчета действуют только функциональные опции отчета -// - они отключаются только с отключением всего отчета. -// -Процедура НастроитьВариантыОтчета(Настройки) Экспорт - +Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт МодульВариантыОтчетов = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетов"); - Вариант = МодульВариантыОтчетов.ОписаниеВарианта( - Настройки, Метаданные.Отчеты.СведенияОПользователях, "СведенияОПользователях"); - - Вариант.Описание = - НСтр("ru = 'Выводит подробные сведения о пользователях, - |включая настройки для входа (если указаны).'"); - - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта( - Настройки, Метаданные.Отчеты.СведенияОПользователях, "СведенияОВнешнихПользователях"); - - Вариант.ФункциональныеОпции.Добавить("ИспользоватьВнешнихПользователей"); - Вариант.Описание = - НСтр("ru = 'Выводит подробные сведения о внешних пользователях, - |включая настройки для входа (если указаны).'"); - - Вариант = МодульВариантыОтчетов.ОписаниеВарианта( - Настройки, Метаданные.Отчеты.СведенияОПользователях, "СведенияОПользователяхИВнешнихПользователях"); - - Вариант.ФункциональныеОпции.Добавить("ИспользоватьВнешнихПользователей"); - Вариант.Описание = + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СведенияОПользователяхИВнешнихПользователях"); + НастройкиВарианта.Описание = НСтр("ru = 'Выводит подробные сведения о всех пользователях, - |включая настройки для входа (если указаны).'"); + |включая настройки для входа (если указаны).'"); + НастройкиВарианта.ФункциональныеОпции.Добавить("ИспользоватьВнешнихПользователей"); + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СведенияОПользователях"); + НастройкиВарианта.Описание = + НСтр("ru = 'Выводит подробные сведения о пользователях, + |включая настройки для входа (если указаны).'"); + + НастройкиВарианта = МодульВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "СведенияОВнешнихПользователях"); + НастройкиВарианта.Описание = + НСтр("ru = 'Выводит подробные сведения о внешних пользователях, + |включая настройки для входа (если указаны).'"); + НастройкиВарианта.ФункциональныеОпции.Добавить("ИспользоватьВнешнихПользователей"); КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Reports/СведенияОПользователях/ObjectModule.bsl b/SSL/src/Reports/СведенияОПользователях/ObjectModule.bsl index 60ac8f8ac..8aa9ff304 100644 --- a/SSL/src/Reports/СведенияОПользователях/ObjectModule.bsl +++ b/SSL/src/Reports/СведенияОПользователях/ObjectModule.bsl @@ -127,7 +127,7 @@ Контакты.Колонки.Добавить("Телефон", Новый ОписаниеТипов("Строка")); Контакты.Колонки.Добавить("ЭлектронныйАдрес", Новый ОписаниеТипов("Строка")); - Если Не ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда + Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.КонтактнаяИнформация") Тогда Возврат Контакты; КонецЕсли; diff --git a/SSL/src/Reports/СведенияОПользователях/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/SSL/src/Reports/СведенияОПользователях/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index d9045d41b..5d8da4533 100644 --- a/SSL/src/Reports/СведенияОПользователях/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/SSL/src/Reports/СведенияОПользователях/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -600,6 +600,7 @@ Недействительные
                                          + Normal 2fc6f1d8-ce85-45c1-8fc8-29b3e299b5f7 @@ -613,6 +614,7 @@ Помеченые на удаление + Normal 9800e27b-27de-4259-86c0-8d4595eb319a @@ -626,6 +628,7 @@ Без пользователя информационной базы + Normal cb47e2ce-6928-43e4-b904-cbe4b2952e49 @@ -639,6 +642,7 @@ Вход в программу разрешен + Normal 8809ba69-2ea3-40bf-8e8b-82ab129baec6 @@ -652,6 +656,7 @@ Аутентификация стандартная + Normal 6590234e-cc10-4899-9e2d-f86867903a54 @@ -665,6 +670,7 @@ Аутентификация ОС + Normal 19e3a1bb-4c84-420b-8a05-d3f78014fc1c @@ -678,6 +684,7 @@ Аутентификация OpenID + Normal 2b314b78-4b9a-41e9-bba0-bafdc8042eba @@ -884,6 +891,7 @@ Недействительные + Normal 2fc6f1d8-ce85-45c1-8fc8-29b3e299b5f7 @@ -897,6 +905,7 @@ Помеченые на удаление + Normal 9800e27b-27de-4259-86c0-8d4595eb319a @@ -910,6 +919,7 @@ Без пользователя информационной базы + Normal cb47e2ce-6928-43e4-b904-cbe4b2952e49 @@ -923,6 +933,7 @@ Вход в программу разрешен + Normal 8809ba69-2ea3-40bf-8e8b-82ab129baec6 @@ -936,6 +947,7 @@ Аутентификация стандартная + Normal 6590234e-cc10-4899-9e2d-f86867903a54 @@ -949,6 +961,7 @@ Аутентификация ОС + Normal 19e3a1bb-4c84-420b-8a05-d3f78014fc1c @@ -962,6 +975,7 @@ Аутентификация OpenID + Normal 2b314b78-4b9a-41e9-bba0-bafdc8042eba @@ -1147,6 +1161,7 @@ Недействительные + Normal 2fc6f1d8-ce85-45c1-8fc8-29b3e299b5f7 @@ -1160,6 +1175,7 @@ Помеченые на удаление + Normal 9800e27b-27de-4259-86c0-8d4595eb319a @@ -1173,6 +1189,7 @@ Без пользователя информационной базы + Normal cb47e2ce-6928-43e4-b904-cbe4b2952e49 @@ -1186,6 +1203,7 @@ Вход в программу разрешен + Normal 8809ba69-2ea3-40bf-8e8b-82ab129baec6 @@ -1199,6 +1217,7 @@ Аутентификация стандартная + Normal 6590234e-cc10-4899-9e2d-f86867903a54 @@ -1212,6 +1231,7 @@ Аутентификация OpenID + Normal 2b314b78-4b9a-41e9-bba0-bafdc8042eba diff --git a/SSL/src/Reports/СведенияОПользователях/СведенияОПользователях.mdo b/SSL/src/Reports/СведенияОПользователях/СведенияОПользователях.mdo index 8105feac7..e74f48397 100644 --- a/SSL/src/Reports/СведенияОПользователях/СведенияОПользователях.mdo +++ b/SSL/src/Reports/СведенияОПользователях/СведенияОПользователях.mdo @@ -12,6 +12,7 @@ true Report.СведенияОПользователях.Template.ОсновнаяСхемаКомпоновкиДанных SettingsStorage.ХранилищеВариантовОтчетов + true ru diff --git a/SSL/src/Roles/АдминистраторСистемы/Rights.rights b/SSL/src/Roles/АдминистраторСистемы/Rights.rights index 724308fc1..0c93b31fb 100644 --- a/SSL/src/Roles/АдминистраторСистемы/Rights.rights +++ b/SSL/src/Roles/АдминистраторСистемы/Rights.rights @@ -10,6 +10,17 @@ true + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.Dimension.Пользователь + + View + false + + + Edit + false + + Constant.МаксимальнаяДлительностьВыполненияИсполняющегоФоновогоЗадания @@ -810,25 +821,6 @@ true - - Constant.КлючОбластиДанных - - Read - true - - - Update - true - - - View - true - - - Edit - true - - Constant.ДатаПоследнегоСтартаКлиентскогоСеанса @@ -1166,6 +1158,17 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Resource.ИспользоватьЗаполнениеОбъекта + + View + false + + + Edit + false + + Constant.ЗагрузитьСообщениеОбменаДанными @@ -1292,6 +1295,17 @@ true + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.Dimension.ДополнительныйОтчетИлиОбработка + + View + false + + + Edit + false + + InformationRegister.ОбластиДанных @@ -1357,6 +1371,123 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Resource.ИспользоватьПечатныеФормы + + View + false + + + Edit + false + + + + InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Constant.ПараметрыРаботыПользователей + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.СоответствияОбъектовИнформационныхБаз.Attribute.ОбъектВыгруженПоСсылке + + View + false + + + Edit + false + + + + Constant.КаталогОбменаФайламиВМоделиСервисаLinux + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.НазначениеДополнительныхОбработок.Dimension.УдалитьТипОбъекта + + View + false + + + Edit + false + + + + InformationRegister.ОчередьИзвлеченияТекста + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + Configuration.БиблиотекаСтандартныхПодсистем @@ -1448,101 +1579,6 @@ true - - InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов - - Read - true - - - Update - true - - - View - true - - - Edit - true - - - TotalsControl - true - - - - Constant.ПараметрыРаботыПользователей - - Read - true - - - Update - true - - - View - true - - - Edit - true - - - - InformationRegister.СоответствияОбъектовИнформационныхБаз.Attribute.ОбъектВыгруженПоСсылке - - View - false - - - Edit - false - - - - Constant.КаталогОбменаФайламиВМоделиСервисаLinux - - Read - true - - - Update - true - - - View - true - - - Edit - true - - - - InformationRegister.ОчередьИзвлеченияТекста - - Read - true - - - Update - true - - - View - true - - - Edit - true - - - TotalsControl - true - - Constant.МаксимальныйРазмерФайла @@ -1574,26 +1610,47 @@ - InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам - - Read - true - - - Update - true - + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.StandardAttribute.Active View - true + false Edit - true + false + + + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.StandardAttribute.LineNumber + + View + false - TotalsControl - true + Edit + false + + + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.StandardAttribute.Recorder + + View + false + + + Edit + false + + + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.StandardAttribute.Period + + View + false + + + Edit + false @@ -1740,73 +1797,47 @@ - InformationRegister.НазначениеДополнительныхОбработок - - Read - true - - - Update - true - + InformationRegister.НазначениеДополнительныхОбработок.StandardAttribute.Active View - true + false Edit - true - - - TotalsControl - true + false - Catalog.СтраныМира - - Read - true - - - Insert - true - - - Update - true - - - Delete - true - + InformationRegister.НазначениеДополнительныхОбработок.StandardAttribute.LineNumber View - true - - - InteractiveInsert - true + false Edit - true + false + + + + InformationRegister.НазначениеДополнительныхОбработок.StandardAttribute.Recorder + + View + false - InteractiveSetDeletionMark - true + Edit + false + + + + InformationRegister.НазначениеДополнительныхОбработок.StandardAttribute.Period + + View + false - InteractiveClearDeletionMark - true - - - InteractiveDeleteMarked - true - - - InputByString - true + Edit + false @@ -1839,6 +1870,17 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Resource.ИспользоватьСозданиеСвязанныхОбъектов + + View + false + + + Edit + false + + InformationRegister.УдалитьОчередьИзвлеченияТекста @@ -1862,6 +1904,17 @@ true + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.Resource.Доступно + + View + false + + + Edit + false + + Constant.ПрефиксОбластиДанных @@ -2155,6 +2208,28 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Dimension.ОбъектНазначения + + View + false + + + Edit + false + + + + InformationRegister.ПользовательскиеНастройкиДоступаКОбработкам.Dimension.ИдентификаторКоманды + + View + false + + + Edit + false + + Catalog.ПредопределенныеВариантыОтчетов @@ -2720,6 +2795,17 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Dimension.ТипФормы + + View + false + + + Edit + false + + CommonCommand.ОтчетыОбъекта @@ -2810,25 +2896,6 @@ true - - Constant.ПараметрыБазовойФункциональности - - Read - true - - - Update - true - - - View - true - - - Edit - true - - Constant.СведенияОбОбновленииИБ @@ -2925,6 +2992,17 @@ true + + InformationRegister.НазначениеДополнительныхОбработок.Resource.ИспользоватьОтчеты + + View + false + + + Edit + false + + InformationRegister.УдалитьОбластиДанных diff --git a/SSL/src/Roles/БазовыеПрава/Rights.rights b/SSL/src/Roles/БазовыеПрава/Rights.rights index d5a8883bd..325aeaf8d 100644 --- a/SSL/src/Roles/БазовыеПрава/Rights.rights +++ b/SSL/src/Roles/БазовыеПрава/Rights.rights @@ -325,6 +325,20 @@ true + + SessionParameter.ТекущийПользователь + + Get + true + + + + CommonForm.ФормаВариантаОтчета + + View + true + + CommonForm.ВопросОбУстановкеРасширенияРаботыСФайлами @@ -565,6 +579,17 @@ false + + DataProcessor.ЗагрузкаДанныхИзФайла + + Use + true + + + View + true + + CommonForm.ВыборРолиИсполнителя @@ -618,6 +643,20 @@ true + + SessionParameter.АвторизованныйПользователь + + Get + true + + + + CommonForm.ФормаНастроекОтчета + + View + true + + InformationRegister.УдалитьВерсииПодсистем @@ -650,6 +689,13 @@ true + + CommonForm.ВыборПроизвольногоПериода + + View + true + + CommonForm.ВыборФорматаВложений @@ -926,6 +972,13 @@ false + + CommonForm.ФормаОтчета + + View + true + + Catalog.Заметки.Attribute.Пометка @@ -1191,13 +1244,6 @@ true - - Constant.ПараметрыБазовойФункциональности - - Read - true - - Catalog.ВидыКонтактнойИнформации.Attribute.МожноИзменятьСпособРедактирования @@ -1209,6 +1255,13 @@ false + + CommonForm.ВводЗначенийСпискомСФлажками + + View + true + + DataProcessor.ИнформацияПриЗапуске @@ -1227,6 +1280,20 @@ true + + DataProcessor.ЗагрузкаДанныхИзФайла.Command.ЗагрузкаДанныхИзФайла + + View + true + + + + SessionParameter.ТекущийВнешнийПользователь + + Get + true + + DataProcessor.ГрупповоеИзменениеРеквизитов @@ -1295,13 +1362,6 @@ true - - CommonForm.ВыборПрисоединенныхФайлов - - View - true - - CommonForm.ВыборПутиКАрхивуФайловТомов diff --git a/SSL/src/Roles/ВыводНаПринтерФайлБуферОбмена/Rights.rights b/SSL/src/Roles/ВыводНаПринтерФайлБуферОбмена/Rights.rights index fcf85ef97..162345b88 100644 --- a/SSL/src/Roles/ВыводНаПринтерФайлБуферОбмена/Rights.rights +++ b/SSL/src/Roles/ВыводНаПринтерФайлБуферОбмена/Rights.rights @@ -6581,37 +6581,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - - Output - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6964,6 +6933,37 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + + Output + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -8042,17 +8042,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ДобавлениеИзменениеВариантовОтчетов/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеВариантовОтчетов/Rights.rights index 751de4cb4..97ff21153 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеВариантовОтчетов/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеВариантовОтчетов/Rights.rights @@ -56,6 +56,13 @@ true + + Catalog.ВариантыОтчетов.Command.Открыть + + View + true + + Catalog.ПользовательскиеНастройкиОтчетов @@ -138,6 +145,13 @@ true + + Catalog.ВариантыОтчетов.Command.Изменить + + View + true + + InformationRegister.НастройкиВариантовОтчетов @@ -172,6 +186,13 @@ true + + Catalog.ВариантыОтчетов.Command.РазместитьВРазделах + + View + true + + Catalog.ВариантыОтчетов.Command.СброситьНастройкиРазмещения diff --git a/SSL/src/Roles/ДобавлениеИзменениеДополнительныхОтчетовИОбработок/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеДополнительныхОтчетовИОбработок/Rights.rights index febc04eff..f541efbb4 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеДополнительныхОтчетовИОбработок/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеДополнительныхОтчетовИОбработок/Rights.rights @@ -7803,17 +7803,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ДобавлениеИзменениеЗаданий/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеЗаданий/Rights.rights index 0bb4c2684..73d47d166 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеЗаданий/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеЗаданий/Rights.rights @@ -21,13 +21,6 @@ true - - SessionParameter.ТекущийПользователь - - Get - true - - Task.ЗадачаИсполнителя diff --git a/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/Rights.rights index 284653e67..e7c0a22fc 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/Rights.rights @@ -125,45 +125,6 @@ true - - Catalog.СтраныМира - - Read - true - - - Insert - true - - - Update - true - - - View - true - - - InteractiveInsert - true - - - Edit - true - - - InteractiveSetDeletionMark - true - - - InteractiveClearDeletionMark - true - - - InputByString - true - - InformationRegister.ВерсииОбъектовАдресногоКлассификатора diff --git a/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/ДобавлениеИзменениеОбщейБазовойНСИ.mdo b/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/ДобавлениеИзменениеОбщейБазовойНСИ.mdo index 6242c5e65..15c34fdd4 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/ДобавлениеИзменениеОбщейБазовойНСИ.mdo +++ b/SSL/src/Roles/ДобавлениеИзменениеОбщейБазовойНСИ/ДобавлениеИзменениеОбщейБазовойНСИ.mdo @@ -5,5 +5,5 @@ ru Добавление и изменение общей базовой нормативно-справочной информации - Для адмнистратора сервиса + Для администратора сервиса diff --git a/SSL/src/Roles/ДобавлениеИзменениеОпросов/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеОпросов/Rights.rights index bf0ec8d58..4d0a19745 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеОпросов/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеОпросов/Rights.rights @@ -7935,17 +7935,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ДобавлениеИзменениеОтветовНаВопросыАнкет/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеОтветовНаВопросыАнкет/Rights.rights index 0ce0f2ca3..52b6a11c9 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеОтветовНаВопросыАнкет/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеОтветовНаВопросыАнкет/Rights.rights @@ -8026,17 +8026,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ДобавлениеИзменениеСтранМира/Rights.rights b/SSL/src/Roles/ДобавлениеИзменениеСтранМира/Rights.rights index d556f221a..f151f9b23 100644 --- a/SSL/src/Roles/ДобавлениеИзменениеСтранМира/Rights.rights +++ b/SSL/src/Roles/ДобавлениеИзменениеСтранМира/Rights.rights @@ -7951,17 +7951,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЗапускAutomation/Rights.rights b/SSL/src/Roles/ЗапускAutomation/Rights.rights index e02b9f9bc..920f01083 100644 --- a/SSL/src/Roles/ЗапускAutomation/Rights.rights +++ b/SSL/src/Roles/ЗапускAutomation/Rights.rights @@ -6581,37 +6581,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - Automation - true - - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6964,6 +6933,37 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + Automation + true + + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -8042,17 +8042,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЗапускВебКлиента/Rights.rights b/SSL/src/Roles/ЗапускВебКлиента/Rights.rights index 1bef02a46..3142d1cfe 100644 --- a/SSL/src/Roles/ЗапускВебКлиента/Rights.rights +++ b/SSL/src/Roles/ЗапускВебКлиента/Rights.rights @@ -6471,37 +6471,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - WebClient - true - - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6832,6 +6801,37 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + WebClient + true + + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -7910,17 +7910,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЗапускТолстогоКлиента/Rights.rights b/SSL/src/Roles/ЗапускТолстогоКлиента/Rights.rights index 1361982a9..131efa800 100644 --- a/SSL/src/Roles/ЗапускТолстогоКлиента/Rights.rights +++ b/SSL/src/Roles/ЗапускТолстогоКлиента/Rights.rights @@ -6471,37 +6471,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - ThickClient - true - - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6832,6 +6801,37 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + ThickClient + true + + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -7910,17 +7910,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЗапускТонкогоКлиента/Rights.rights b/SSL/src/Roles/ЗапускТонкогоКлиента/Rights.rights index 39c429b97..f77d410ff 100644 --- a/SSL/src/Roles/ЗапускТонкогоКлиента/Rights.rights +++ b/SSL/src/Roles/ЗапускТонкогоКлиента/Rights.rights @@ -6471,37 +6471,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - ThinClient - true - - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6832,6 +6801,37 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + ThinClient + true + + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -7910,17 +7910,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ИзменениеВыполнениеЗадач/Rights.rights b/SSL/src/Roles/ИзменениеВыполнениеЗадач/Rights.rights index bca2ec210..46ac46276 100644 --- a/SSL/src/Roles/ИзменениеВыполнениеЗадач/Rights.rights +++ b/SSL/src/Roles/ИзменениеВыполнениеЗадач/Rights.rights @@ -10,13 +10,6 @@ true - - SessionParameter.ТекущийПользователь - - Get - true - - Report.ЗадачиИстекающиеНаДату diff --git a/SSL/src/Roles/ИзменениеДополнительныхСведений/Rights.rights b/SSL/src/Roles/ИзменениеДополнительныхСведений/Rights.rights index a0896fd44..0a4527a41 100644 --- a/SSL/src/Roles/ИзменениеДополнительныхСведений/Rights.rights +++ b/SSL/src/Roles/ИзменениеДополнительныхСведений/Rights.rights @@ -7897,17 +7897,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ИзменениеМакетовПечатныхФорм/Rights.rights b/SSL/src/Roles/ИзменениеМакетовПечатныхФорм/Rights.rights index df7e6829e..576248fe5 100644 --- a/SSL/src/Roles/ИзменениеМакетовПечатныхФорм/Rights.rights +++ b/SSL/src/Roles/ИзменениеМакетовПечатныхФорм/Rights.rights @@ -7989,17 +7989,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок/Rights.rights b/SSL/src/Roles/ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок/Rights.rights index 6c97fead2..9e67f3d77 100644 --- a/SSL/src/Roles/ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок/Rights.rights +++ b/SSL/src/Roles/ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок/Rights.rights @@ -6581,41 +6581,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - MainWindowModeNormal - true - - - MainWindowModeWorkplace - true - - - MainWindowModeEmbeddedWorkplace - true - - - MainWindowModeFullscreenWorkplace - true - - - MainWindowModeKiosk - true - - - AnalyticsSystemClient - true - - - InteractiveOpenExtDataProcessors - true - - - InteractiveOpenExtReports - true - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -6968,6 +6933,41 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + MainWindowModeNormal + true + + + MainWindowModeWorkplace + true + + + MainWindowModeEmbeddedWorkplace + true + + + MainWindowModeFullscreenWorkplace + true + + + MainWindowModeKiosk + true + + + AnalyticsSystemClient + true + + + InteractiveOpenExtDataProcessors + true + + + InteractiveOpenExtReports + true + + DataProcessor.ПомощникСозданияОбменаДанными.Attribute.FTPСоединениеПассивноеСоединение @@ -8046,17 +8046,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ИспользованиеВариантовОтчетов/Rights.rights b/SSL/src/Roles/ИспользованиеВариантовОтчетов/Rights.rights index a18c44ab1..e17498059 100644 --- a/SSL/src/Roles/ИспользованиеВариантовОтчетов/Rights.rights +++ b/SSL/src/Roles/ИспользованиеВариантовОтчетов/Rights.rights @@ -423,7 +423,7 @@ - InformationRegister.НастройкиВариантовОтчетов.Dimension.РазделИлиГруппа + InformationRegister.НастройкиВариантовОтчетов.Dimension.Подсистема View false @@ -433,6 +433,13 @@ false + + Catalog.ВариантыОтчетов.Command.Изменить + + View + true + + InformationRegister.НастройкиВариантовОтчетов diff --git a/SSL/src/Roles/ИспользованиеДополнительныхОтчетовИОбработок/Rights.rights b/SSL/src/Roles/ИспользованиеДополнительныхОтчетовИОбработок/Rights.rights index 94548bbe3..53985b6cc 100644 --- a/SSL/src/Roles/ИспользованиеДополнительныхОтчетовИОбработок/Rights.rights +++ b/SSL/src/Roles/ИспользованиеДополнительныхОтчетовИОбработок/Rights.rights @@ -8037,17 +8037,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ИспользованиеТекущихДел/Rights.rights b/SSL/src/Roles/ИспользованиеТекущихДел/Rights.rights new file mode 100644 index 000000000..76625352a --- /dev/null +++ b/SSL/src/Roles/ИспользованиеТекущихДел/Rights.rights @@ -0,0 +1,17 @@ + + + false + true + false + + DataProcessor.ТекущиеДела + + Use + true + + + View + true + + + diff --git a/SSL/src/Roles/ИспользованиеТекущихДел/ИспользованиеТекущихДел.mdo b/SSL/src/Roles/ИспользованиеТекущихДел/ИспользованиеТекущихДел.mdo new file mode 100644 index 000000000..de4c94ce6 --- /dev/null +++ b/SSL/src/Roles/ИспользованиеТекущихДел/ИспользованиеТекущихДел.mdo @@ -0,0 +1,8 @@ + + + ИспользованиеТекущихДел + + ru + Использование текущих дел + + diff --git a/SSL/src/Roles/ПолныеПрава/Rights.rights b/SSL/src/Roles/ПолныеПрава/Rights.rights index cc60b78f0..7a531c887 100644 --- a/SSL/src/Roles/ПолныеПрава/Rights.rights +++ b/SSL/src/Roles/ПолныеПрава/Rights.rights @@ -843,7 +843,7 @@ - InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Dimension.Владелец + InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Dimension.ТипПрограммногоМодуля Edit false @@ -1287,7 +1287,7 @@ - InformationRegister.РазрешенныеКаталогиФайловойСистемы.Dimension.Владелец + InformationRegister.РазрешенныеКаталогиФайловойСистемы.Dimension.ТипВладельца Edit false @@ -1387,7 +1387,7 @@ - InformationRegister.РазрешенныеИнтернетРесурсы.Dimension.Владелец + InformationRegister.РазрешенныеИнтернетРесурсы.Dimension.ТипВладельца Edit false @@ -2044,49 +2044,6 @@ false - - Constant.КлючОбластиДанных - - Read - false - - - Update - false - - - View - false - - - Edit - false - - - ReadDataHistory - false - - - UpdateDataHistory - false - - - UpdateDataHistoryVersionComment - false - - - ViewDataHistory - false - - - EditDataHistoryVersionComment - false - - - SwitchToDataHistoryVersion - false - - InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Attribute.МоментВремени @@ -2342,7 +2299,7 @@ - InformationRegister.РазрешенныеCOMКлассы.Dimension.Владелец + InformationRegister.РазрешенныеCOMКлассы.Dimension.ТипВладельца Edit false @@ -2441,7 +2398,7 @@ - InformationRegister.РазрешенныеВнешниеКомпоненты.Dimension.Владелец + InformationRegister.РазрешенныеВнешниеКомпоненты.Dimension.ТипВладельца Edit false @@ -2728,7 +2685,7 @@ - InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Dimension.Идентификатор + InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Dimension.ИдентификаторЗапроса Edit false @@ -3282,6 +3239,18 @@ InteractiveDeletePredefinedData false + + InteractiveSetDeletionMarkPredefinedData + false + + + InteractiveClearDeletionMarkPredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + InformationRegister.СостоянияОбменовДанными @@ -3468,41 +3437,6 @@ false - - Configuration.БиблиотекаСтандартныхПодсистем - - Administration - false - - - UpdateDataBaseConfiguration - false - - - ThickClient - false - - - ExternalConnection - false - - - Automation - false - - - TechnicalSpecialistMode - false - - - InteractiveOpenExtDataProcessors - false - - - InteractiveOpenExtReports - false - - InformationRegister.АдресныеСокращения.Resource.Наименование @@ -3713,6 +3647,41 @@ false + + Configuration.БиблиотекаСтандартныхПодсистем + + Administration + false + + + UpdateDataBaseConfiguration + false + + + ThickClient + false + + + ExternalConnection + false + + + Automation + false + + + TechnicalSpecialistMode + false + + + InteractiveOpenExtDataProcessors + false + + + InteractiveOpenExtReports + false + + Catalog.УчетныеЗаписиЭлектроннойПочты @@ -4201,6 +4170,18 @@ InteractiveDeletePredefinedData false + + InteractiveSetDeletionMarkPredefinedData + false + + + InteractiveClearDeletionMarkPredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + Catalog.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы @@ -4293,7 +4274,7 @@ - InformationRegister.РазрешенныеПриложенияОперационнойСистемы.Dimension.Владелец + InformationRegister.РазрешенныеПриложенияОперационнойСистемы.Dimension.ТипВладельца Edit false @@ -4311,7 +4292,7 @@ - InformationRegister.РежимыПодключенияВнешнихМодулей.Dimension.ВнешнийМодуль + InformationRegister.РежимыПодключенияВнешнихМодулей.Dimension.ТипПрограммногоМодуля Edit false @@ -4358,7 +4339,7 @@ - InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Dimension.Владелец + InformationRegister.ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов.Dimension.ТипВладельца Edit false @@ -5047,7 +5028,7 @@ - InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Dimension.Идентификатор + InformationRegister.ЗапросыАдминистрированияРазрешенийИспользованияВнешнихРесурсов.Dimension.ИдентификаторЗапроса Edit false @@ -5349,13 +5330,6 @@ false - - InformationRegister.ОбщиеНастройкиУзловИнформационныхБаз - - TotalsControl - false - - Catalog.ЗначенияСвойствОбъектовИерархия @@ -6540,33 +6514,6 @@ false - - Constant.ПараметрыБазовойФункциональности - - Update - false - - - View - false - - - Edit - false - - - ViewDataHistory - false - - - EditDataHistoryVersionComment - false - - - SwitchToDataHistoryVersion - false - - InformationRegister.СостоянияУспешныхОбменовДанными.Dimension.УзелИнформационнойБазы @@ -7766,7 +7713,7 @@ - InformationRegister.РазрешенияПереходаВПривилегированныйРежим.Dimension.Владелец + InformationRegister.РазрешенияПереходаВПривилегированныйРежим.Dimension.ТипВладельца Edit false diff --git a/SSL/src/Roles/РаботаСПапкамиФайлов/Rights.rights b/SSL/src/Roles/РаботаСПапкамиФайлов/Rights.rights index 183fb21e9..b82f336f4 100644 --- a/SSL/src/Roles/РаботаСПапкамиФайлов/Rights.rights +++ b/SSL/src/Roles/РаботаСПапкамиФайлов/Rights.rights @@ -7689,17 +7689,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/РедактированиеРеквизитовОбъектов/Rights.rights b/SSL/src/Roles/РедактированиеРеквизитовОбъектов/Rights.rights index 0ba927c21..35c5cc592 100644 --- a/SSL/src/Roles/РедактированиеРеквизитовОбъектов/Rights.rights +++ b/SSL/src/Roles/РедактированиеРеквизитовОбъектов/Rights.rights @@ -8011,17 +8011,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/УдаленныйДоступОбменДаннымиВМоделиСервиса/Rights.rights b/SSL/src/Roles/УдаленныйДоступОбменДаннымиВМоделиСервиса/Rights.rights index 76a9f5b1a..7ed34b7e0 100644 --- a/SSL/src/Roles/УдаленныйДоступОбменДаннымиВМоделиСервиса/Rights.rights +++ b/SSL/src/Roles/УдаленныйДоступОбменДаннымиВМоделиСервиса/Rights.rights @@ -10575,17 +10575,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/УдаленныйДоступОбменСообщениями/Rights.rights b/SSL/src/Roles/УдаленныйДоступОбменСообщениями/Rights.rights index f8a8353a4..fa3d11350 100644 --- a/SSL/src/Roles/УдаленныйДоступОбменСообщениями/Rights.rights +++ b/SSL/src/Roles/УдаленныйДоступОбменСообщениями/Rights.rights @@ -10395,17 +10395,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЧтениеДополнительныхСведений/Rights.rights b/SSL/src/Roles/ЧтениеДополнительныхСведений/Rights.rights index 1e8343407..45d3a0337 100644 --- a/SSL/src/Roles/ЧтениеДополнительныхСведений/Rights.rights +++ b/SSL/src/Roles/ЧтениеДополнительныхСведений/Rights.rights @@ -8007,17 +8007,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - View - false - - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/Roles/ЧтениеЗаданий/Rights.rights b/SSL/src/Roles/ЧтениеЗаданий/Rights.rights index 59415a4fc..4059112d8 100644 --- a/SSL/src/Roles/ЧтениеЗаданий/Rights.rights +++ b/SSL/src/Roles/ЧтениеЗаданий/Rights.rights @@ -32,13 +32,6 @@ true - - SessionParameter.ТекущийПользователь - - Get - true - - Report.ЗадачиИстекающиеНаДату diff --git a/SSL/src/Roles/ЧтениеЗадач/Rights.rights b/SSL/src/Roles/ЧтениеЗадач/Rights.rights index 68a291954..b3ed964fc 100644 --- a/SSL/src/Roles/ЧтениеЗадач/Rights.rights +++ b/SSL/src/Roles/ЧтениеЗадач/Rights.rights @@ -10,13 +10,6 @@ true - - SessionParameter.ТекущийПользователь - - Get - true - - Report.ЗадачиИстекающиеНаДату diff --git a/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/Rights.rights b/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/Rights.rights new file mode 100644 index 000000000..312ecb163 --- /dev/null +++ b/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/Rights.rights @@ -0,0 +1,98 @@ + + + false + true + false + + InformationRegister.АдресныйКлассификатор.Command.АдресныйКлассификатор + + View + true + + + + InformationRegister.АдресныеСокращения + + Read + true + + + View + true + + + + InformationRegister.АдресныйКлассификатор + + Read + true + + + View + true + + + + InformationRegister.ДанныеПроизводственногоКалендаря + + Read + true + + + View + true + + + + Catalog.ПроизводственныеКалендари + + Read + true + + + View + true + + + InputByString + true + + + + InformationRegister.ВерсииОбъектовАдресногоКлассификатора + + Read + true + + + View + true + + + + Constant.ИспользоватьНесколькоПроизводственныхКалендарей + + Read + true + + + View + true + + + + Catalog.КлассификаторБанковРФ + + Read + true + + + View + true + + + InputByString + true + + + diff --git a/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/ЧтениеОбщейБазовойНСИ.mdo b/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/ЧтениеОбщейБазовойНСИ.mdo new file mode 100644 index 000000000..8e09f7543 --- /dev/null +++ b/SSL/src/Roles/ЧтениеОбщейБазовойНСИ/ЧтениеОбщейБазовойНСИ.mdo @@ -0,0 +1,8 @@ + + + ЧтениеОбщейБазовойНСИ + + ru + Чтение общей базовой нормативно-справочной информации + + diff --git a/SSL/src/Roles/ЧтениеОтветовНаВопросыАнкет/Rights.rights b/SSL/src/Roles/ЧтениеОтветовНаВопросыАнкет/Rights.rights index e9c301de7..a7cabd7ec 100644 --- a/SSL/src/Roles/ЧтениеОтветовНаВопросыАнкет/Rights.rights +++ b/SSL/src/Roles/ЧтениеОтветовНаВопросыАнкет/Rights.rights @@ -7841,13 +7841,6 @@ false - - Catalog.ВопросыШаблонаАнкеты.Attribute.ВысотаЭлементаФормулировкиВопроса - - Edit - false - - DataProcessor.УниверсальныйОбменДаннымиXML.Attribute.КомментарийПриВыгрузкеДанных diff --git a/SSL/src/ScheduledJobs/ОтправкаИПолучениеСообщенийСистемы/ОтправкаИПолучениеСообщенийСистемы.mdo b/SSL/src/ScheduledJobs/ОтправкаИПолучениеСообщенийСистемы/ОтправкаИПолучениеСообщенийСистемы.mdo index bd02f0847..0f8e19227 100644 --- a/SSL/src/ScheduledJobs/ОтправкаИПолучениеСообщенийСистемы/ОтправкаИПолучениеСообщенийСистемы.mdo +++ b/SSL/src/ScheduledJobs/ОтправкаИПолучениеСообщенийСистемы/ОтправкаИПолучениеСообщенийСистемы.mdo @@ -6,6 +6,7 @@ Отправка и получение сообщений системы CommonModule.ОбменСообщениямиВнутренний.ОтправитьИПолучитьСообщенияПоРегламентномуЗаданию + Отправка и получение сообщений системы 1 true 3 diff --git a/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/Schedule.schedule b/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/Schedule.schedule new file mode 100644 index 000000000..6b3fb3520 --- /dev/null +++ b/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/Schedule.schedule @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git a/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/ОчисткаУстаревшихВерсийОбъектов.mdo b/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/ОчисткаУстаревшихВерсийОбъектов.mdo new file mode 100644 index 000000000..864d56bec --- /dev/null +++ b/SSL/src/ScheduledJobs/ОчисткаУстаревшихВерсийОбъектов/ОчисткаУстаревшихВерсийОбъектов.mdo @@ -0,0 +1,13 @@ + + + ОчисткаУстаревшихВерсийОбъектов + + ru + Очистка устаревших версий объектов + + CommonModule.ВерсионированиеОбъектов.ОчиститьУстаревшиеВерсииОбъектов + Очистка устаревших версий объектов + true + 3 + 10 + diff --git a/SSL/src/ScheduledJobs/ЭкспортОценкиПроизводительности/ЭкспортОценкиПроизводительности.mdo b/SSL/src/ScheduledJobs/ЭкспортОценкиПроизводительности/ЭкспортОценкиПроизводительности.mdo index cbda5e16c..556e1f380 100644 --- a/SSL/src/ScheduledJobs/ЭкспортОценкиПроизводительности/ЭкспортОценкиПроизводительности.mdo +++ b/SSL/src/ScheduledJobs/ЭкспортОценкиПроизводительности/ЭкспортОценкиПроизводительности.mdo @@ -6,5 +6,6 @@ Экспорт оценки производительности CommonModule.ОценкаПроизводительностиВызовСервераПолныеПрава.ЭкспортОценкиПроизводительности + Экспорт оценки производительности 27a985e0-e657-4eb3-b18f-6b75f72324ed diff --git a/SSL/src/SessionParameters/ИспользуемыеПланыОбмена/ИспользуемыеПланыОбмена.mdo b/SSL/src/SessionParameters/ИспользуемыеПланыОбмена/ИспользуемыеПланыОбмена.mdo deleted file mode 100644 index 082912cf9..000000000 --- a/SSL/src/SessionParameters/ИспользуемыеПланыОбмена/ИспользуемыеПланыОбмена.mdo +++ /dev/null @@ -1,12 +0,0 @@ - - - ИспользуемыеПланыОбмена - - ru - Используемые планы обмена - - Массив имен планов обмена, которые используются для регистрации изменений - - FixedArray - - diff --git a/SSL/src/SessionParameters/ОшибкаРасхожденияВерсийПриПолученииДанных/ОшибкаРасхожденияВерсийПриПолученииДанных.mdo b/SSL/src/SessionParameters/ОшибкаРасхожденияВерсийПриПолученииДанных/ОшибкаРасхожденияВерсийПриПолученииДанных.mdo new file mode 100644 index 000000000..18afa195a --- /dev/null +++ b/SSL/src/SessionParameters/ОшибкаРасхожденияВерсийПриПолученииДанных/ОшибкаРасхожденияВерсийПриПолученииДанных.mdo @@ -0,0 +1,11 @@ + + + ОшибкаРасхожденияВерсийПриПолученииДанных + + ru + Ошибка расхождения версий при получении данных + + + FixedStructure + + diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Form.form b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Form.form index ef499e244..192c363fa 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Form.form +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Form.form @@ -40,7 +40,7 @@ Left true - 35 + 30 true true false @@ -346,7 +346,6 @@ Left true - 55 true true true @@ -439,7 +438,6 @@ Left true - 34 true true true @@ -630,7 +628,7 @@ true true true - 14 + 9 true true true @@ -735,7 +733,7 @@ Retry SaveValues Yes - 80 + 60 LockOwner Use true diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Help/ru.html b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Help/ru.html index 58d96632b..aa6589909 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Help/ru.html +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Help/ru.html @@ -1,4 +1,35 @@ - -

                                          Что бы выбрать вариант отчета необходимо установить курсор на нужный вариант отчета и нажать на кнопку "Выбрать".

                                          -

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

                                          -

                                          См. также: Вариант отчета, Общая информация о формах.

                                          \ No newline at end of file + +

                                          Предназначен для выбора вариантов отчетов.

                                          +

                                          При работе с отчетом можно быстро загрузить ранее сохраненный вариант отчета. Для этого нажмите Выбрать вариант или Все действия - Выбрать вариант.

                                          +

                                          Для выбора доступны:

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

                                          Список выбора может содержать три группы вариантов отчетов:

                                          +
                                          • используемые варианты отчетов (не выделяются в отдельную группу, расположены в начале списка);  +
                                          • Скрытые в панелях отчетов - в эту группу входят предопределенные общие отчеты, у которых выключен флажок По умолчанию виден в панели отчетов; +
                                          • Помеченные на удаление. Группа всегда размещена внизу списка выбора. При выборе помеченного на удаление варианта программа выводит предупреждение.

                                          В списке выводится:

                                          +
                                          • +
                                            Наименование - полное наименование варианта отчета, которое выводится в списках.
                                            +
                                            +
                                          • +
                                            Картинка  Доступен всем пользователям:
                                            +
                                            • +
                                              видна - вариант отчета доступен всем пользователям,
                                              +
                                            • +
                                              не видна - вариант отчета доступен только автору.
                                            +
                                          • Автор - полное имя пользователя, который является автором варианта отчета. +
                                          • В нижней части списка выводится Описание - подробная информация о выбранном варианте отчета.

                                          Выбор варианта отчета

                                          +
                                          • +
                                            Для того чтобы открыть вариант отчета, выделите его в списке, нажмите Выбрать.
                                            +
                                          • +
                                            Также можно воспользоваться двойным щелчком мыши.

                                          Отбор

                                          +

                                          Если список вариантов отчетов большой, то с помощью отбора по автору можно быстро найти нужный вариант отчета.

                                          +
                                          • В поле Автор  выберите автора варианта отчета из списка пользователей.

                                          Настройка варианта отчета

                                          +
                                          • +
                                            Выберите вариант отчета, нажмите  Изменить, отредактируйте необходимые поля.

                                           Удаление варианта отчета

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

                                          Администратору/Ответственному за отчеты:

                                          +

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

                                          +

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Module.bsl b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Module.bsl index 5f6d61acb..c754b0619 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Module.bsl +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/ВыборВариантаОтчета/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -249,19 +248,13 @@ | ВариантыОтчетов.Наименование, | ВариантыОтчетов.КлючВарианта, | ВЫРАЗИТЬ(ВариантыОтчетов.Описание КАК СТРОКА(200)) КАК Описание, - | ВЫБОР - | КОГДА ВариантыОтчетов.ТипОтчета = &ТипОтчетаВнутренний - | И ВариантыОтчетов.Пользовательский = ЛОЖЬ - | И ВариантыОтчетов.ВидимостьПоУмолчаниюПереопределена = ЛОЖЬ - | ТОГДА ВариантыОтчетов.ПредопределенныйВариант.ВидимостьПоУмолчанию - | ИНАЧЕ ВариантыОтчетов.ВидимостьПоУмолчанию - | КОНЕЦ КАК ВидимостьПоУмолчанию, + | ЕСТЬNULL(ВариантыОтчетов.ПредопределенныйВариант.ВидимостьПоУмолчанию, ЛОЖЬ) КАК ВидимостьПоУмолчанию, | ВариантыОтчетов.Автор, | ВариантыОтчетов.ТолькоДляАвтора, | ВариантыОтчетов.Пользовательский, | ВариантыОтчетов.ПометкаУдаления, | ВариантыОтчетов.ПредопределенныйВариант - |ПОМЕСТИТЬ втВсеВарианты + |ПОМЕСТИТЬ втВарианты |ИЗ | Справочник.ВариантыОтчетов КАК ВариантыОтчетов |ГДЕ @@ -275,102 +268,105 @@ | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ - | ВсеВарианты.Ссылка КАК Ссылка, - | РазмещениеРазделенного.РазделИлиГруппа КАК Подсистема, - | РазмещениеРазделенного.Использование КАК Использование - |ПОМЕСТИТЬ втРазделенные + | ВариантыОтчетов.Ссылка КАК Ссылка, + | ВариантыРазмещение.Использование КАК Использование, + | ВариантыРазмещение.Подсистема КАК Подсистема + |ПОМЕСТИТЬ втРазмещениеАдминистратора |ИЗ - | втВсеВарианты КАК ВсеВарианты - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Размещение КАК РазмещениеРазделенного - | ПО ВсеВарианты.Ссылка = РазмещениеРазделенного.Ссылка + | втВарианты КАК ВариантыОтчетов + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВариантыОтчетов.Размещение КАК ВариантыРазмещение + | ПО ВариантыОтчетов.Ссылка = ВариантыРазмещение.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ - | ВсеВарианты.Ссылка КАК Ссылка, - | РазмещениеОбщего.Подсистема КАК Подсистема - |ПОМЕСТИТЬ втОбщие + | ВариантыОтчетов.Ссылка КАК Ссылка, + | ПредопределенныеРазмещение.Подсистема КАК Подсистема + |ПОМЕСТИТЬ втРазмещениеРазработчика |ИЗ - | втВсеВарианты КАК ВсеВарианты - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Размещение КАК РазмещениеОбщего - | ПО ВсеВарианты.ПредопределенныйВариант = РазмещениеОбщего.Ссылка + | втВарианты КАК ВариантыОтчетов + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПредопределенныеВариантыОтчетов.Размещение КАК ПредопределенныеРазмещение + | ПО (ВариантыОтчетов.Пользовательский = ЛОЖЬ) + | И ВариантыОтчетов.ПредопределенныйВариант = ПредопределенныеРазмещение.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ - | ЕСТЬNULL(табРазделенные.Ссылка, табОбщие.Ссылка) КАК Ссылка, - | ЕСТЬNULL(табРазделенные.Подсистема, табОбщие.Подсистема) КАК Подсистема - |ПОМЕСТИТЬ втПодсистемы - |ИЗ - | втРазделенные КАК табРазделенные - | ПОЛНОЕ СОЕДИНЕНИЕ втОбщие КАК табОбщие - | ПО табРазделенные.Ссылка = табОбщие.Ссылка - | И табРазделенные.Подсистема = табОбщие.Подсистема - |ГДЕ - | (табРазделенные.Использование = ИСТИНА - | ИЛИ табРазделенные.Использование ЕСТЬ NULL ) - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ РАЗРЕШЕННЫЕ - | втВсеВарианты.Ссылка, - | втВсеВарианты.Наименование, - | втВсеВарианты.КлючВарианта, - | втВсеВарианты.ВидимостьПоУмолчанию, - | втВсеВарианты.Автор, - | втВсеВарианты.ТолькоДляАвтора, - | втВсеВарианты.Пользовательский, - | втВсеВарианты.ПометкаУдаления, - | МИНИМУМ(ВЫБОР - | КОГДА втВсеВарианты.ПометкаУдаления = ИСТИНА - | ТОГДА 3 - | КОГДА НастройкиПанели.Видимость = ИСТИНА - | ТОГДА 1 - | КОГДА НастройкиПанели.Видимость = ЛОЖЬ - | ТОГДА 2 - | КОГДА втВсеВарианты.ВидимостьПоУмолчанию = ИСТИНА - | ТОГДА 1 - | КОГДА втВсеВарианты.Автор = &ТекущийПользователь - | ТОГДА 1 - | ИНАЧЕ 2 - | КОНЕЦ) КАК НомерГруппы, - | втВсеВарианты.Описание, + |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ + | ЕСТЬNULL(РазмещениеАдминистратора.Ссылка, РазмещениеРазработчика.Ссылка) КАК Ссылка, + | ЕСТЬNULL(РазмещениеАдминистратора.Подсистема, РазмещениеРазработчика.Подсистема) КАК Подсистема, + | ЕСТЬNULL(РазмещениеАдминистратора.Использование, ИСТИНА) КАК Использование, | ВЫБОР - | КОГДА втВсеВарианты.ПометкаУдаления + | КОГДА РазмещениеАдминистратора.Ссылка ЕСТЬ NULL + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК ЭтоНастройкаРазработчика + |ПОМЕСТИТЬ втРазмещениеВариантов + |ИЗ + | втРазмещениеАдминистратора КАК РазмещениеАдминистратора + | ПОЛНОЕ СОЕДИНЕНИЕ втРазмещениеРазработчика КАК РазмещениеРазработчика + | ПО РазмещениеАдминистратора.Ссылка = РазмещениеРазработчика.Ссылка + | И РазмещениеАдминистратора.Подсистема = РазмещениеРазработчика.Подсистема + |ГДЕ + | ЕСТЬNULL(РазмещениеАдминистратора.Использование, ИСТИНА) + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ + | Размещение.Ссылка КАК Ссылка, + | МАКСИМУМ(ЕСТЬNULL(ЛичныеНастройки.Видимость, Варианты.ВидимостьПоУмолчанию)) КАК ВидимостьВПанелиОтчетов + |ПОМЕСТИТЬ втВидимость + |ИЗ + | втРазмещениеВариантов КАК Размещение + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК ЛичныеНастройки + | ПО Размещение.Подсистема = ЛичныеНастройки.Подсистема + | И Размещение.Ссылка = ЛичныеНастройки.Вариант + | И (ЛичныеНастройки.Пользователь = &ТекущийПользователь) + | ЛЕВОЕ СОЕДИНЕНИЕ втВарианты КАК Варианты + | ПО Размещение.Ссылка = Варианты.Ссылка + | + |СГРУППИРОВАТЬ ПО + | Размещение.Ссылка + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | Варианты.Ссылка, + | Варианты.Наименование, + | Варианты.КлючВарианта, + | Варианты.ВидимостьПоУмолчанию, + | Варианты.Автор, + | Варианты.ТолькоДляАвтора, + | Варианты.Пользовательский, + | Варианты.ПометкаУдаления, + | ВЫБОР + | КОГДА Варианты.ПометкаУдаления = ИСТИНА + | ТОГДА 3 + | КОГДА Видимость.ВидимостьВПанелиОтчетов = ИСТИНА + | ТОГДА 1 + | ИНАЧЕ 2 + | КОНЕЦ КАК НомерГруппы, + | Варианты.Описание, + | ВЫБОР + | КОГДА Варианты.ПометкаУдаления | ТОГДА 4 - | КОГДА втВсеВарианты.Пользовательский + | КОГДА Варианты.Пользовательский | ТОГДА 3 | ИНАЧЕ 5 | КОНЕЦ КАК ИндексКартинки, | ВЫБОР - | КОГДА втВсеВарианты.Автор = &ТекущийПользователь + | КОГДА Варианты.Автор = &ТекущийПользователь | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК АвторТекущийПользователь |ИЗ - | втПодсистемы КАК втПодсистемы - | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиВариантовОтчетов КАК НастройкиПанели - | ПО втПодсистемы.Ссылка = НастройкиПанели.Вариант - | И втПодсистемы.Подсистема = НастройкиПанели.РазделИлиГруппа - | И (НастройкиПанели.Пользователь = &ТекущийПользователь) - | ПОЛНОЕ СОЕДИНЕНИЕ втВсеВарианты КАК втВсеВарианты - | ПО втПодсистемы.Ссылка = втВсеВарианты.Ссылка - | - |СГРУППИРОВАТЬ ПО - | втВсеВарианты.ТолькоДляАвтора, - | втВсеВарианты.ПометкаУдаления, - | втВсеВарианты.Пользовательский, - | втВсеВарианты.Автор, - | втВсеВарианты.КлючВарианта, - | втВсеВарианты.ВидимостьПоУмолчанию, - | втВсеВарианты.Наименование, - | втВсеВарианты.Ссылка, - | втВсеВарианты.Описание"; + | втВарианты КАК Варианты + | ЛЕВОЕ СОЕДИНЕНИЕ втВидимость КАК Видимость + | ПО Варианты.Ссылка = Видимость.Ссылка"; + Запрос = Новый Запрос; Запрос.УстановитьПараметр("Отчет", ОтчетИнформация.Отчет); Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь); - Запрос.УстановитьПараметр("ТипОтчетаВнутренний", Перечисления.ТипыОтчетов.Внутренний); Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()); Если ПоказыватьЛичныеВариантыОтчетовДругихАвторов Тогда diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Form.form b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Form.form index d68c7c6e4..21b24f45e 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Form.form +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Form.form @@ -98,10 +98,10 @@ ВариантыОтчетаСтрокаПоиска - 137 + 163 ВариантыОтчетаСтрокаПоискаРасширеннаяПодсказка - 139 + 165 Label true true @@ -111,7 +111,7 @@ ВариантыОтчетаСтрокаПоискаКонтекстноеМеню - 138 + 164 true ВариантыОтчета @@ -121,10 +121,10 @@ ВариантыОтчетаСостояниеПросмотра - 140 + 166 ВариантыОтчетаСостояниеПросмотраРасширеннаяПодсказка - 142 + 168 Label true true @@ -134,7 +134,7 @@ ВариантыОтчетаСостояниеПросмотраКонтекстноеМеню - 141 + 167 true ViewStatusAddition @@ -145,10 +145,10 @@ ВариантыОтчетаУправлениеПоиском - 143 + 169 ВариантыОтчетаУправлениеПоискомРасширеннаяПодсказка - 145 + 171 Label true true @@ -158,7 +158,7 @@ ВариантыОтчетаУправлениеПоискомКонтекстноеМеню - 144 + 170 true SearchControlAddition @@ -326,65 +326,9 @@ Normal
                                          - - ОписаниеВнешнегоОтчета - 95 - true - - true - - - ВариантОписание - - false - Left - - ОписаниеВнешнегоОтчетаExtendedTooltip - 118 - Label - true - true - - Left - - - - ОписаниеВнешнегоОтчетаКонтекстноеМеню - 96 - true - - InputField - Enter - true - Left - true - - - StartChoice - ОписаниеНачалоВыбора - - true - 2 - true - true - false - true - false - true - false - true - false - false - false - true - true - true - Normal - - ГруппаДоступен - 97 + 153 Доступен 98 @@ -445,19 +389,19 @@
                                          - ГруппаВидимостьПоУмолчанию - 100 + Группа7 + 155 - ПустаяДекорация1 - 101 + Декорация1 + 157 true true true - ПустаяДекорация1ExtendedTooltip - 122 + Декорация1РасширеннаяПодсказка + 159 Label true true @@ -466,8 +410,8 @@
                                          - ПустаяДекорация1КонтекстноеМеню - 102 + Декорация1КонтекстноеМеню + 158 true Label @@ -478,8 +422,8 @@ - ВидимостьПоУмолчанию - 105 + ВариантВидимостьПоУмолчанию + 160 true true @@ -490,8 +434,8 @@ Right - ВидимостьПоУмолчаниюExtendedTooltip - 123 + ВариантВидимостьПоУмолчаниюРасширеннаяПодсказка + 162 Label true true @@ -500,8 +444,8 @@ - ВидимостьПоУмолчаниюКонтекстноеМеню - 106 + ВариантВидимостьПоУмолчаниюКонтекстноеМеню + 161 true CheckBoxField @@ -516,17 +460,9 @@ true - - <key>ru</key> - <value>Группа видимость по умолчанию</value> - - - ru - Группа видимость по умолчанию - - ГруппаВидимостьПоУмолчаниюExtendedTooltip - 121 + Группа7РасширеннаяПодсказка + 156 Label true true @@ -551,15 +487,15 @@ <key>ru</key> - <value>Группа доступен</value> + <value> </value> ru - Группа доступен + - ГруппаДоступенExtendedTooltip - 119 + ГруппаДоступенРасширеннаяПодсказка + 154 Label true true @@ -576,6 +512,62 @@ Auto + + ОписаниеВнешнегоОтчета + 95 + true + + true + + + ВариантОписание + + false + Left + + ОписаниеВнешнегоОтчетаExtendedTooltip + 118 + Label + true + true + + Left + + + + ОписаниеВнешнегоОтчетаКонтекстноеМеню + 96 + true + + InputField + Enter + true + Left + true + + + StartChoice + ОписаниеНачалоВыбора + + true + 2 + true + true + false + true + false + true + false + true + false + false + false + true + true + true + Normal + + ПерезаписьИлиНовый 86 @@ -1005,6 +997,49 @@ Normal + + ДеревоПодсистемПользователиПредставление + 137 + true + + true + + + ДеревоПодсистем.ПользователиПредставление + + + ДеревоПодсистемПользователиПредставлениеРасширеннаяПодсказка + 139 + Label + true + true + + Left + + + + ДеревоПодсистемПользователиПредставлениеКонтекстноеМеню + 138 + true + + LabelField + true + true + true + Left + true + Show + Always + + true + true + true + false + + Style.ВидимыйВариантОтчетаЦвет + + + ДеревоПодсистемКоманднаяПанель 76 @@ -1012,10 +1047,10 @@ ДеревоПодсистемСтрокаПоиска - 159 + 185 ДеревоПодсистемСтрокаПоискаРасширеннаяПодсказка - 161 + 187 Label true true @@ -1025,7 +1060,7 @@ ДеревоПодсистемСтрокаПоискаКонтекстноеМеню - 160 + 186 true ДеревоПодсистем @@ -1035,10 +1070,10 @@ ДеревоПодсистемСостояниеПросмотра - 162 + 188 ДеревоПодсистемСостояниеПросмотраРасширеннаяПодсказка - 164 + 190 Label true true @@ -1048,7 +1083,7 @@ ДеревоПодсистемСостояниеПросмотраКонтекстноеМеню - 163 + 189 true ViewStatusAddition @@ -1059,10 +1094,10 @@ ДеревоПодсистемУправлениеПоиском - 165 + 191 ДеревоПодсистемУправлениеПоискомРасширеннаяПодсказка - 167 + 193 Label true true @@ -1072,7 +1107,7 @@ ДеревоПодсистемУправлениеПоискомКонтекстноеМеню - 166 + 192 true SearchControlAddition @@ -1099,7 +1134,6 @@ Tree true true - 15 true true
                                          true
                                          @@ -1116,31 +1150,85 @@ ExpandAllLevels true true + true + true None None None true - - Описание - 8 + + Группа1 + 143 + + Описание + 8 + true + true + + true + + + ВариантОписание + + false + Left + + ru + Подробное описание отчета + + + ОписаниеExtendedTooltip + 136 + Label + true + true + + Left + + + + ОписаниеКонтекстноеМеню + 9 + true + + InputField + Enter + true + Left + true + + + StartChoice + ОписаниеНачалоВыбора + + true + 2 + true + true + false + true + false + true + false + true + false + false + false + true + true + true + Normal + + true true true - - ВариантОписание - - false - Left - - ru - Подробное описание отчета - - ОписаниеExtendedTooltip - 136 + Группа1РасширеннаяПодсказка + 144 Label true true @@ -1148,38 +1236,15 @@ Left - - ОписаниеКонтекстноеМеню - 9 - true - - InputField - Enter - true - Left - true - - - StartChoice - ОписаниеНачалоВыбора - - true - 2 - true - true - false - true - false - true - false - true - false - false - false - true - true - true - Normal + UsualGroup + + Vertical + Auto + WeakSeparation + true + true + Auto + Auto true @@ -1239,117 +1304,211 @@ Auto + + Группа2 + 145 + + Группа3 + 147 + + Назад + 23 + true + false + + true + + + НазадExtendedTooltip + 107 + Label + true + true + + Left + + + Form.Command.Назад + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + Группа3РасширеннаяПодсказка + 148 + Label + true + true + + Left + + + CommandBar + + Left + + + + Группа4 + 149 + + Далее + 15 + true + true + + true + + + ДалееExtendedTooltip + 108 + Label + true + true + + Left + + + Form.Command.Далее + Normal + Auto + true + true + UserCmds + Auto + + + Сохранить + 55 + true + true + + true + + + СохранитьExtendedTooltip + 109 + Label + true + true + + Left + + + Form.Command.Сохранить + Auto + true + true + true + UserCmds + Auto + + + Отмена + 16 + true + true + + true + + + ОтменаExtendedTooltip + 110 + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Normal + Auto + true + true + UserCmds + Auto + + + Группа5 + 151 + true + true + + true + + + Группа5РасширеннаяПодсказка + 152 + Label + true + true + + Left + + + + Form + + + true + true + + true + + + Группа4РасширеннаяПодсказка + 150 + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + Группа2РасширеннаяПодсказка + 146 + Label + true + true + + Left + + + UsualGroup + + Auto + true + true + Auto + Auto + + Bottom true ФормаКоманднаяПанель -1 - - Назад - 23 - true - false - - true - - - НазадExtendedTooltip - 107 - Label - true - true - - Left - - - Form.Command.Назад - Normal - Auto - true - true - UserCmds - Auto - - - Далее - 15 - true - true - - true - - - ДалееExtendedTooltip - 108 - Label - true - true - - Left - - - Form.Command.Далее - Normal - Auto - true - true - UserCmds - Auto - - - Сохранить - 55 - true - true - - true - - - СохранитьExtendedTooltip - 109 - Label - true - true - - Left - - - Form.Command.Сохранить - Auto - true - true - true - UserCmds - Auto - - - Отмена - 16 - true - true - - true - - - ОтменаExtendedTooltip - 110 - Label - true - true - - Left - - - Form.StandardCommand.Cancel - Normal - Auto - true - true - UserCmds - Auto - Right - true NotificationProcessing @@ -1407,21 +1566,6 @@ true - - ОтчетИнформация - - <key>ru</key> - <value>Отчет информация</value> - - 2 - - - true - - - true - - ВариантыОтчета @@ -1649,23 +1793,6 @@ </edit> </columns> </attributes> - <attributes> - <name>ПолныеПраваНаВарианты</name> - <title> - <key>ru</key> - <value>Полные права на варианты</value> - - 4 - - Boolean - - - true - - - true - - ВариантНаименование @@ -1771,57 +1898,6 @@ <common>true</common> </edit> </attributes> - <attributes> - <name>НастроитьРазмещениеПослеСохранения</name> - <title> - <key>ru</key> - <value>Настроить размещение после сохранения</value> - - 12 - - Boolean - - - true - - - true - - - - ВариантАвтор - - <key>ru</key> - <value>Автор</value> - - 14 - - CatalogRef.Пользователи - - - true - - - true - - - - ТекущийПользователь - - <key>ru</key> - <value>Текущий пользователь</value> - - 10 - - CatalogRef.Пользователи - - - true - - - true - - ИдентификаторТекущейСтроки @@ -1843,14 +1919,15 @@ </edit> </attributes> <attributes> - <name>ВариантВидимостьПоУмолчанию</name> + <name>Доступен</name> <title> <key>ru</key> - <value>По умолчанию виден в панели отчетов</value> + <value>Доступен</value> - 17 + 15 - Boolean + String + true @@ -1863,7 +1940,7 @@ ДеревоПодсистем <key>ru</key> - <value>Размещение в панелях отчетов:</value> + <value>Размещение в панелях отчетов</value> 13 @@ -2009,46 +2086,10 @@ - ИспользованиеПоУмолчанию - 8 - - Number - - 1 - - - - true - - - true - - - - ВажностьПоУмолчанию + Модифицированность <key>ru</key> - <value>Важность по умолчанию</value> - - 7 - - String - - 15 - - - - true - - - true - - - - ИзмененПользователем - - <key>ru</key> - <value>Изменен пользователем</value> + <value>Модифицированность</value> 10 @@ -2061,17 +2102,83 @@ true + + Пользователи + + <key>ru</key> + <value>Пользователи</value> + + 11 + + ValueList + + + true + + + true + + + + ПользователиПредставление + + <key>ru</key> + <value>Видимость по умолчанию</value> + + 12 + + String + + + + true + + + true + + - Доступен + ВариантАвтор <key>ru</key> - <value>Доступен</value> + <value>Вариант автор</value> - 15 + 14 - String - + CatalogRef.Пользователи + + + true + + + true + + + + Контекст + + <key>ru</key> + <value>Контекст</value> + + 19 + + + true + + + true + + + + ВариантВидимостьПоУмолчанию + + <key>ru</key> + <value>По умолчанию виден в панелях отчетов</value> + + 2 + + Boolean true @@ -2084,7 +2191,7 @@ Далее <key>ru</key> - <value>Далее >></value> + <value>Далее ></value> 1 @@ -2106,7 +2213,7 @@ Назад <key>ru</key> - <value><< Назад</value> + <value>< Назад</value> 2 diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Help/ru.html b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Help/ru.html index 755982cdf..a3b481ce5 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Help/ru.html +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Help/ru.html @@ -1,7 +1,27 @@ - -

                                          Для сохранения нового варианта отчета необходимо ввести наименование, которое не занято другим вариантом этого отчета.

                                          -

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

                                          -

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

                                          -

                                          Что бы удалить существующий вариант отчета необходимо установить курсор на нужный вариант отчета и нажать на кнопку "Del" или вызвать команду "удалить" из контекстного меню.

                                          -

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

                                          -

                                          См. также: Вариант отчета, Общая информация о формах.

                                          \ No newline at end of file + +

                                          Предназначена для сохранения варианта отчета.

                                          +

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

                                          +

                                          Список существующих вариантов

                                          +
                                          • При сохранении варианта отчета выводится список всех существующих вариантов этого отчета - предопределенных и пользовательских. +
                                            • Список включает: +
                                              • стандартные, предусмотренные в программе предопределенные варианты отчетов. По умолчанию являются общими; +
                                              • общие варианты отчетов, предоставленные другими пользователями в общий доступ; +
                                              • личные варианты отчетов, сохраненные ранее.
                                            • В списке также выводятся помеченные на удаление варианты отчетов.
                                          • В списке можно Изменить существующие варианты отчетов с помощью соответствующей команды контекстного меню по правой кнопке мыши. У предопределенного варианта отчета можно изменить описание или настройки размещения, у пользовательского варианта можно изменить и наименование (при наличии соответствующих прав). +
                                          • Для того чтобы удалить существующий пользовательский вариант отчета, выделите его, нажмите на клавишу Del или выполните команду контекстного меню по правой кнопке мыши Пометить на удаление. Предопределенные варианты отчетов удалить невозможно.

                                          Наименование варианта отчета

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

                                          Доступность

                                          +
                                          • С помощью переключателя Доступен администратор варианта отчета может ограничить доступность варианта отчета - выбрать доступность Только для автора. +
                                          • Если выбрать доступность Всем пользователям, то можно указать видимость для других исполнителей. Для того чтобы вариант отчета был сразу виден в панелях отчетов всех пользователей, включите флажок По умолчанию виден в панели отчетов.

                                          Сохранение варианта отчета

                                          +

                                          Сохранить вариант отчета можно двумя способами:

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

                                          Размещение в панелях отчетов

                                          +
                                          • Включите один или несколько флажков в колонке Раздел, группа для размещения варианта отчетов в соответствующих разделах или группах программы. При размещении в разделе вариант отчета будет выводиться в верхней части панели отчетов раздела, без размещения в группах. +
                                          • +
                                            В колонке Важность выберите способ выделения варианта отчета в группе:
                                            +
                                            • +
                                              Важный – вариант отчета будет выделен жирным шрифтом.
                                              +
                                            • +
                                              См. также – вариант отчета будет выведен в отдельной группе внизу панели отчетов.
                                          • Введите Описание, которое выводится под наименованием отчета в панели отчетов и в списках отчетов. +
                                          • Нажмите кнопку Сохранить для сохранения варианта отчета с выбранными настройками.

                                          См. также:

                                          + \ No newline at end of file diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Module.bsl b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Module.bsl index 15f3cb1d7..03cffe31d 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Module.bsl +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/Forms/СохранениеВариантаОтчета/Module.bsl @@ -1,4 +1,3 @@ - #Область ОбработчикиСобытийФормы &НаСервере @@ -8,39 +7,34 @@ Возврат; КонецЕсли; - КлючОтчета = Параметры.КлючОбъекта; + Контекст = Новый Структура; + Контекст.Вставить("ТекущийПользователь", Пользователи.ТекущийПользователь()); + Контекст.Вставить("ПолныеПраваНаВарианты", ВариантыОтчетов.ПолныеПраваНаВарианты()); + Контекст.Вставить("ИдентификаторТекущейСтроки", 0); + ПрототипКлюч = Параметры.КлючТекущихНастроек; - Элементы.ВидимостьПоУмолчанию.Подсказка = Метаданные.Справочники.ВариантыОтчетов.Реквизиты.ВидимостьПоУмолчанию.Подсказка; - - ОтчетИнформация = ВариантыОтчетов.СформироватьИнформациюОбОтчетеПоПолномуИмени(КлючОтчета); + ОтчетИнформация = ВариантыОтчетов.СформироватьИнформациюОбОтчетеПоПолномуИмени(Параметры.КлючОбъекта); Если ТипЗнч(ОтчетИнформация.ТекстОшибки) = Тип("Строка") Тогда ВызватьИсключение ОтчетИнформация.ТекстОшибки; КонецЕсли; - ОтчетИнформация.Удалить("ОтчетМетаданные"); - ОтчетИнформация.Удалить("ТекстОшибки"); - ОтчетИнформация.Вставить("ЭтоВнешний", ОтчетИнформация.ТипОтчета = Перечисления.ТипыОтчетов.Внешний); - ОтчетИнформация = Новый ФиксированнаяСтруктура(ОтчетИнформация); - - ПолныеПраваНаВарианты = ВариантыОтчетов.ПолныеПраваНаВарианты(); - - Если НЕ ПолныеПраваНаВарианты Тогда - Элементы.ГруппаДоступен.ТолькоПросмотр = Истина; - КонецЕсли; - - ТекущийПользователь = Пользователи.ТекущийПользователь(); + Контекст.Вставить("ОтчетСсылка", ОтчетИнформация.Отчет); + Контекст.Вставить("ТипОтчета", ОтчетИнформация.ТипОтчета); + Контекст.Вставить("ЭтоВнешний", ОтчетИнформация.ТипОтчета = Перечисления.ТипыОтчетов.Внешний); ЗаполнитьСписокВариантов(); ВариантыОтчетов.ДеревоПодсистемДобавитьУсловноеОформление(ЭтотОбъект); - Если ОтчетИнформация.ЭтоВнешний Тогда + Если Не Контекст.ПолныеПраваНаВарианты Тогда + Элементы.ГруппаДоступен.ТолькоПросмотр = Истина; + КонецЕсли; + + Если Контекст.ЭтоВнешний Тогда Элементы.ОписаниеВнешнегоОтчета.Видимость = Истина; Элементы.Назад.Видимость = Ложь; Элементы.Далее.Видимость = Ложь; Элементы.ДекорацияДалее.Видимость = Ложь; - Элементы.ГруппаВидимостьПоУмолчанию.Видимость = Ложь; - Элементы.Доступен.КоличествоКолонок = 2; КонецЕсли; ВариантыОтчетаОбработчикАктивизацииСтроки(ЭтотОбъект); @@ -54,7 +48,7 @@ , "Наименование"); Отказ = Истина; - ИначеЕсли ВариантыОтчетов.НаименованиеЗанято(ОтчетИнформация.Отчет, ВариантСсылка, ВариантНаименование) Тогда + ИначеЕсли ВариантыОтчетов.НаименованиеЗанято(Контекст.ОтчетСсылка, ВариантСсылка, ВариантНаименование) Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю( СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = '""%1"" занято, необходимо указать другое Наименование.'"), @@ -80,7 +74,7 @@ Если Найденные.Количество() = 1 Тогда Вариант = Найденные[0]; ЗаполнитьЗначенияСвойств(Вариант, Параметр); - Вариант.АвторТекущийПользователь = (Вариант.Автор = ТекущийПользователь); + Вариант.АвторТекущийПользователь = (Вариант.Автор = Контекст.ТекущийПользователь); ВариантыОтчетаОбработчикАктивизацииСтроки(ЭтотОбъект); КонецЕсли; @@ -118,17 +112,14 @@ &НаКлиенте Процедура ДоступенПриИзменении(Элемент) ВариантТолькоДляАвтора = (Доступен = "1"); - ВидимостьДоступность(ЭтотОбъект, "ТолькоДляАвтора"); КонецПроцедуры &НаКлиенте Процедура ОписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - СтандартнаяОбработка = Ложь; Оповещение = Новый ОписаниеОповещения("ОписаниеНачалоВыбораЗавершение", ЭтотОбъект); - ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(Оповещение, Элементы.Описание.ТекстРедактирования, + ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияМногострочногоТекста(Оповещение, Элементы.Описание.ТекстРедактирования, НСтр("ru = 'Описание'")); - КонецПроцедуры #КонецОбласти @@ -137,7 +128,7 @@ &НаКлиенте Процедура ВариантыОтчетаПриАктивизацииСтроки(Элемент) - Если ИдентификаторТекущейСтроки = Элементы.ВариантыОтчета.ТекущаяСтрока Тогда + Если Контекст.ИдентификаторТекущейСтроки = Элементы.ВариантыОтчета.ТекущаяСтрока Тогда Возврат; КонецЕсли; ВариантыОтчетаОбработчикАктивизацииСтроки(ЭтотОбъект); @@ -163,7 +154,7 @@ Возврат; КонецЕсли; - Если НЕ ПолныеПраваНаВарианты И НЕ Вариант.АвторТекущийПользователь Тогда + Если НЕ Контекст.ПолныеПраваНаВарианты И НЕ Вариант.АвторТекущийПользователь Тогда ТекстПредупреждения = НСтр("ru = 'Недостаточно прав доступа для удаления варианта отчета ""%1"".'"); ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%1", Вариант.Наименование); ПоказатьПредупреждение(, ТекстПредупреждения); @@ -280,6 +271,7 @@ КонецЕсли; КонецЕсли; + // Выполнение следующего шага. Если Пакет.ПроверитьСтраницу1 = Истина Тогда // Наименование не введено. Если Не ЗначениеЗаполнено(ВариантНаименование) Тогда @@ -292,7 +284,7 @@ Если Не Пакет.ВариантЭтоНовый Тогда Найденные = ВариантыОтчета.НайтиСтроки(Новый Структура("Ссылка", ВариантСсылка)); Вариант = Найденные[0]; - Если НЕ ПравоЗаписиВарианта(Вариант, ПравоНастройкиВарианта(Вариант, ПолныеПраваНаВарианты)) Тогда + Если НЕ ПравоЗаписиВарианта(Вариант, ПравоНастройкиВарианта(Вариант, Контекст.ПолныеПраваНаВарианты)) Тогда ТекстОшибки = НСтр("ru = 'Недостаточно прав для изменения варианта ""%1"", необходимо выбрать другой вариант или изменить Наименование.'"); ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, ВариантНаименование); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , "ВариантНаименование"); @@ -322,7 +314,7 @@ Если Пакет.ПерейтиНаСтраницу2 = Истина Тогда // Для внешних отчетов выполняются только проверки заполнения, без переключения страницы. - Если Не ОтчетИнформация.ЭтоВнешний Тогда + Если Не Контекст.ЭтоВнешний Тогда Элементы.Страницы.ТекущаяСтраница = Элементы.Страница2; Элементы.Назад.Доступность = Истина; Элементы.Далее.Доступность = Ложь; @@ -337,6 +329,11 @@ ВыполнитьПакетСервер(Пакет); + СтрокиДерева = ДеревоПодсистем.ПолучитьЭлементы(); + Для Каждого СтрокаДерева Из СтрокиДерева Цикл + Элементы.ДеревоПодсистем.Развернуть(СтрокаДерева.ПолучитьИдентификатор(), Истина); + КонецЦикла; + Если Пакет.Отказ = Истина Тогда ПерейтиНаСтраницу1(); Возврат; @@ -366,7 +363,7 @@ Если Вариант = Неопределено ИЛИ НЕ ЗначениеЗаполнено(Вариант.Ссылка) Тогда Возврат; КонецЕсли; - Если НЕ ПравоНастройкиВарианта(Вариант, ПолныеПраваНаВарианты) Тогда + Если НЕ ПравоНастройкиВарианта(Вариант, Контекст.ПолныеПраваНаВарианты) Тогда ТекстПредупреждения = НСтр("ru = 'Недостаточно прав доступа для изменения варианта ""%1"".'"); ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстПредупреждения, Вариант.Наименование); ПоказатьПредупреждение(, ТекстПредупреждения); @@ -415,46 +412,34 @@ &НаКлиентеНаСервереБезКонтекста Процедура ВариантыОтчетаОбработчикАктивизацииСтроки(Форма) - Форма.ИдентификаторТекущейСтроки = Форма.Элементы.ВариантыОтчета.ТекущаяСтрока; + Форма.Контекст.ИдентификаторТекущейСтроки = Форма.Элементы.ВариантыОтчета.ТекущаяСтрока; - Вариант = Форма.ВариантыОтчета.НайтиПоИдентификатору(Форма.ИдентификаторТекущейСтроки); + Вариант = Форма.ВариантыОтчета.НайтиПоИдентификатору(Форма.Контекст.ИдентификаторТекущейСтроки); Если Вариант = Неопределено Тогда Возврат; КонецЕсли; - ПравоНастройкиВарианта = ПравоНастройкиВарианта(Вариант, Форма.ПолныеПраваНаВарианты); + ПравоНастройкиВарианта = ПравоНастройкиВарианта(Вариант, Форма.Контекст.ПолныеПраваНаВарианты); ПравоЗаписиВарианта = ПравоЗаписиВарианта(Вариант, ПравоНастройкиВарианта); Если ПравоЗаписиВарианта Тогда Форма.ВариантСсылка = Вариант.Ссылка; Форма.ВариантАвтор = Вариант.Автор; Форма.ВариантНаименование = Вариант.Наименование; Форма.ВариантОписание = Вариант.Описание; - Форма.ВариантВидимостьПоУмолчанию = Вариант.ВидимостьПоУмолчанию; Форма.ВариантТолькоДляАвтора = Вариант.ТолькоДляАвтора; + Форма.ВариантВидимостьПоУмолчанию = Вариант.ВидимостьПоУмолчанию; Иначе Форма.ВариантСсылка = Неопределено; - Форма.ВариантАвтор = Форма.ТекущийПользователь; + Форма.ВариантАвтор = Форма.Контекст.ТекущийПользователь; Форма.ВариантНаименование = СформироватьСвободноеНаименование(Вариант, Форма.ВариантыОтчета); Форма.ВариантОписание = ""; - Форма.ВариантВидимостьПоУмолчанию = Ложь; Форма.ВариантТолькоДляАвтора = Истина; + Форма.ВариантВидимостьПоУмолчанию = Истина; КонецЕсли; Форма.Доступен = ?(Форма.ВариантТолькоДляАвтора, "1", "2"); УстановитьЧтоБудетДальше(Форма, ЗначениеЗаполнено(Форма.ВариантСсылка)); - ВидимостьДоступность(Форма); -КонецПроцедуры - -&НаКлиентеНаСервереБезКонтекста -Процедура ВидимостьДоступность(Форма, Изменения = "") - Элементы = Форма.Элементы; - - Если Изменения = "" ИЛИ Изменения = "ТолькоДляАвтора" Тогда - Если НЕ Форма.ОтчетИнформация.ЭтоВнешний Тогда - Элементы.ВидимостьПоУмолчанию.Доступность = НЕ Форма.ВариантТолькоДляАвтора; - КонецЕсли; - КонецЕсли; КонецПроцедуры &НаКлиентеНаСервереБезКонтекста @@ -500,14 +485,14 @@ //////////////////////////////////////////////////////////////////////////////// // Вызов сервера -&НаКлиенте +&НаСервере Процедура ВыполнитьПакетСервер(Пакет) Пакет.Вставить("Отказ", Ложь); Если Пакет.ЗаполнитьСтраницу2Сервер = Истина Тогда - Если Не ОтчетИнформация.ЭтоВнешний Тогда - ПерезаполнитьДерево(Пакет); + Если Не Контекст.ЭтоВнешний Тогда + ПерезаполнитьВторуюСтраницу(Пакет); КонецЕсли; Пакет.ЗаполнитьСтраницу2Сервер = Ложь; КонецЕсли; @@ -528,7 +513,7 @@ КонецПроцедуры &НаСервере -Процедура ПерезаполнитьДерево(Пакет) +Процедура ПерезаполнитьВторуюСтраницу(Пакет) Если Пакет.ВариантЭтоНовый Тогда ВариантОснование = ПрототипСсылка; Иначе @@ -536,14 +521,6 @@ КонецЕсли; ДеревоПриемник = ВариантыОтчетов.ДеревоПодсистемСформировать(ЭтотОбъект, ВариантОснование); - - Найденные = ДеревоПриемник.Строки.НайтиСтроки(Новый Структура("Использование", 1), Истина); - Для Каждого Приемник Из Найденные Цикл - Приемник.ИспользованиеПоУмолчанию = 0; - Приемник.ВажностьПоУмолчанию = ""; - Приемник.ИзмененПользователем = Истина; - КонецЦикла; - ЗначениеВРеквизитФормы(ДеревоПриемник, "ДеревоПодсистем"); КонецПроцедуры @@ -551,7 +528,7 @@ Процедура ПроверитьИЗаписатьНаСервере(Пакет) ВариантЭтоНовый = НЕ ЗначениеЗаполнено(ВариантСсылка); - Если ВариантЭтоНовый И ВариантыОтчетов.НаименованиеЗанято(ОтчетИнформация.Отчет, ВариантСсылка, ВариантНаименование) Тогда + Если ВариантЭтоНовый И ВариантыОтчетов.НаименованиеЗанято(Контекст.ОтчетСсылка, ВариантСсылка, ВариантНаименование) Тогда ТекстОшибки = НСтр("ru = '""%1"" занято, необходимо указать другое Наименование.'"); ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстОшибки, ВариантНаименование); ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , "ВариантНаименование"); @@ -561,30 +538,26 @@ Если ВариантЭтоНовый Тогда ВариантОбъект = Справочники.ВариантыОтчетов.СоздатьЭлемент(); - ВариантОбъект.Отчет = ОтчетИнформация.Отчет; - ВариантОбъект.ТипОтчета = ОтчетИнформация.ТипОтчета; + ВариантОбъект.Отчет = Контекст.ОтчетСсылка; + ВариантОбъект.ТипОтчета = Контекст.ТипОтчета; ВариантОбъект.КлючВарианта = Строка(Новый УникальныйИдентификатор()); ВариантОбъект.Пользовательский = Истина; + ВариантОбъект.Автор = Контекст.ТекущийПользователь; + ВариантОбъект.ЗаполнитьРодителя(); Иначе ВариантОбъект = ВариантСсылка.ПолучитьОбъект(); КонецЕсли; - Если ОтчетИнформация.ЭтоВнешний Тогда + Если Контекст.ЭтоВнешний Тогда ВариантОбъект.Размещение.Очистить(); Иначе ВариантыОтчетов.ДеревоПодсистемЗаписать(ЭтотОбъект, ВариантОбъект); КонецЕсли; - ВариантОбъект.Автор = ВариантАвтор; - ВариантОбъект.Наименование = ВариантНаименование; - ВариантОбъект.Описание = ВариантОписание; - ВариантОбъект.ТолькоДляАвтора = ВариантТолькоДляАвтора; - - Если ОтчетИнформация.ЭтоВнешний Тогда - ВариантОбъект.ВидимостьПоУмолчанию = Ложь; - Иначе - ВариантОбъект.ВидимостьПоУмолчанию = ВариантВидимостьПоУмолчанию; - КонецЕсли; + ВариантОбъект.Наименование = ВариантНаименование; + ВариантОбъект.Описание = ВариантОписание; + ВариантОбъект.ТолькоДляАвтора = ВариантТолькоДляАвтора; + ВариантОбъект.ВидимостьПоУмолчанию = ВариантВидимостьПоУмолчанию; ВариантОбъект.Записать(); @@ -618,7 +591,7 @@ | ВариантыОтчетов.ТипОтчета КАК Тип, | ВариантыОтчетов.КлючВарианта КАК КлючВарианта, | ВариантыОтчетов.ТолькоДляАвтора КАК ТолькоДляАвтора, - | ВариантыОтчетов.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию, + //| ВариантыОтчетов.ВидимостьПоУмолчанию КАК ВидимостьПоУмолчанию, | ВариантыОтчетов.ПометкаУдаления КАК ПометкаУдаления, | ВЫБОР | КОГДА ВариантыОтчетов.Автор = &ТекущийПользователь @@ -651,9 +624,9 @@ | И НЕ ВариантыОтчетов.ПредопределенныйВариант В (&ОтключенныеВариантыПрограммы)"; Запрос = Новый Запрос; - Запрос.УстановитьПараметр("Отчет", ОтчетИнформация.Отчет); + Запрос.УстановитьПараметр("Отчет", Контекст.ОтчетСсылка); Запрос.УстановитьПараметр("ТекущийКлючВарианта", ТекущийКлючВарианта); - Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь); + Запрос.УстановитьПараметр("ТекущийПользователь", Контекст.ТекущийПользователь); Запрос.УстановитьПараметр("ОтключенныеВариантыПрограммы", ВариантыОтчетовПовтИсп.ОтключенныеВариантыПрограммы()); Запрос.Текст = ТекстЗапроса; @@ -663,15 +636,15 @@ ВариантыОтчета.Загрузить(ТаблицаЗначений); // Добавить предопределенные варианты внешнего отчета - Если ОтчетИнформация.ЭтоВнешний Тогда + Если Контекст.ЭтоВнешний Тогда Попытка - ОтчетОбъект = ВнешниеОтчеты.Создать(ОтчетИнформация.ОтчетИмя); + ОтчетОбъект = ВнешниеОтчеты.Создать(Контекст.ОтчетСсылка); Исключение ВариантыОтчетов.ОшибкаПоВарианту(Неопределено, СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'Не удалось получить список предопределенных вариантов |внешнего отчета ""%1"":'"), - ОтчетИнформация.ОтчетИмя + Контекст.ОтчетСсылка ) + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); Возврат; КонецПопытки; @@ -693,14 +666,14 @@ ВариантыОтчета.Сортировать("Наименование Возр"); - ИдентификаторТекущейСтроки = -1; + Контекст.ИдентификаторТекущейСтроки = -1; Найденные = ВариантыОтчета.НайтиСтроки(Новый Структура("КлючВарианта", ТекущийКлючВарианта)); Если Найденные.Количество() > 0 Тогда Вариант = Найденные[0]; ПрототипСсылка = Вариант.Ссылка; ВариантОписание = Вариант.Описание; - ИдентификаторТекущейСтроки = Вариант.ПолучитьИдентификатор(); - Элементы.ВариантыОтчета.ТекущаяСтрока = ИдентификаторТекущейСтроки; + Контекст.ИдентификаторТекущейСтроки = Вариант.ПолучитьИдентификатор(); + Элементы.ВариантыОтчета.ТекущаяСтрока = Контекст.ИдентификаторТекущейСтроки; КонецЕсли; КонецПроцедуры diff --git a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/ManagerModule.bsl b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/ManagerModule.bsl index 7115f6d5e..ad89ec02c 100644 --- a/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/ManagerModule.bsl +++ b/SSL/src/SettingsStorages/ХранилищеВариантовОтчетов/ManagerModule.bsl @@ -21,8 +21,8 @@ // "СтандартноеХранилищеНастроекМенеджер.Удалить" в синтакс-помощнике. // Процедура Удалить(КлючОтчета, КлючВарианта, Пользователь) Экспорт - #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | Варианты.Ссылка @@ -95,8 +95,8 @@ ВариантОбъект.УстановитьПометкуУдаления(Истина); КонецЦикла; + #КонецЕсли - КонецПроцедуры // Получает список настроек из хранилища. Значениями элементов списка являются ключи настроек. @@ -122,9 +122,9 @@ // "СтандартноеХранилищеНастроекМенеджер.ПолучитьСписок" в синтакс-помощнике. // Функция ПолучитьСписок(КлючОтчета, Пользователь = Неопределено) Экспорт +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда Результат = Новый СписокЗначений; -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда Если ТипЗнч(КлючОтчета) = Тип("Строка") Тогда ОтчетИнформация = ВариантыОтчетов.СформироватьИнформациюОбОтчетеПоПолномуИмени(КлючОтчета); Если ТипЗнч(ОтчетИнформация.ТекстОшибки) = Тип("Строка") Тогда diff --git a/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет/ГруппаВариантовОтчетовЦвет.mdo b/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет/ГруппаВариантовОтчетовЦвет.mdo index 9770bdec2..7dfc8175d 100644 --- a/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет/ГруппаВариантовОтчетовЦвет.mdo +++ b/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет/ГруппаВариантовОтчетовЦвет.mdo @@ -1,14 +1,14 @@ - + ГруппаВариантовОтчетовЦвет ru - Группа вариантов отчетов + Группа вариантов отчетов цвет - 159 - 101 + 150 + 70 diff --git a/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет82/ГруппаВариантовОтчетовЦвет82.mdo b/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет82/ГруппаВариантовОтчетовЦвет82.mdo new file mode 100644 index 000000000..c8e1f8f63 --- /dev/null +++ b/SSL/src/StyleItems/ГруппаВариантовОтчетовЦвет82/ГруппаВариантовОтчетовЦвет82.mdo @@ -0,0 +1,14 @@ + + + ГруппаВариантовОтчетовЦвет82 + + ru + Группа вариантов отчетов + + + + 159 + 101 + + + diff --git a/SSL/src/StyleItems/ЗаголовокДелаЦвет/ЗаголовокДелаЦвет.mdo b/SSL/src/StyleItems/ЗаголовокДелаЦвет/ЗаголовокДелаЦвет.mdo new file mode 100644 index 000000000..b77c0c206 --- /dev/null +++ b/SSL/src/StyleItems/ЗаголовокДелаЦвет/ЗаголовокДелаЦвет.mdo @@ -0,0 +1,13 @@ + + + ЗаголовокДелаЦвет + + ru + Заголовок дела цвет + + + + Style.FormTextColor + + + diff --git a/SSL/src/StyleItems/РезультатУспехЦвет/РезультатУспехЦвет.mdo b/SSL/src/StyleItems/РезультатУспехЦвет/РезультатУспехЦвет.mdo new file mode 100644 index 000000000..800312436 --- /dev/null +++ b/SSL/src/StyleItems/РезультатУспехЦвет/РезультатУспехЦвет.mdo @@ -0,0 +1,13 @@ + + + РезультатУспехЦвет + + ru + Результат успех цвет + + + + 128 + + + diff --git a/SSL/src/Subsystems/Администрирование/CommandInterface.cmi b/SSL/src/Subsystems/Администрирование/CommandInterface.cmi index b6df30b9b..a8e223e35 100644 --- a/SSL/src/Subsystems/Администрирование/CommandInterface.cmi +++ b/SSL/src/Subsystems/Администрирование/CommandInterface.cmi @@ -125,6 +125,10 @@ DataProcessor.УниверсальныйОбменДаннымиXML.Command.УниверсальныйОбменДанными + + DataProcessor.ЗагрузкаДанныхИзФайла.Command.ЗагрузкаДанныхИзФайла + + CommonCommand.АвтономнаяРабота @@ -174,6 +178,16 @@ Catalog.НазначенияСертификатовЭП.StandardCommand.OpenList + + DataProcessor.РезервноеКопированиеИБ.Command.ПоказатьРезультат + + + + DataProcessor.УдалениеПомеченныхОбъектов.Command.УдалениеПомеченныхОбъектов + + true + + Catalog.Пользователи.StandardCommand.Create @@ -195,10 +209,26 @@ Report.СведенияОПользователях.StandardCommand.Open + + CommonCommand.ДополнительныеОтчетыАдминистрирование + + + + DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open + + + + DataProcessor.ЖурналРегистрации.StandardCommand.Open + + DataProcessor.АктивныеПользователи.StandardCommand.Open + + DataProcessor.БлокировкаРаботыПользователей.StandardCommand.Open + + InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных @@ -207,14 +237,6 @@ InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаЗагрузкиДанных - - DataProcessor.БлокировкаРаботыПользователей.StandardCommand.Open - - - - DataProcessor.ЖурналРегистрации.StandardCommand.Open - - DataProcessor.РегламентныеИФоновыеЗадания.StandardCommand.Open @@ -227,10 +249,6 @@ CommonForm.ОписаниеИзмененийСистемы.StandardCommand.Open - - DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open - - DataProcessor.НастройкиПользователей.StandardCommand.Open @@ -315,6 +333,14 @@ DataProcessor.УниверсальныйОбменДаннымиXML.StandardCommand.Open + + DataProcessor.ЗагрузкаДанныхИзФайла.StandardCommand.Open + + + + CommonCommand.ДополнительныеОбработкиАдминистрирование + + DataProcessor.ИнформацияПриЗапуске.Command.ИнформацияПриЗапуске @@ -348,6 +374,7 @@ Catalog.СценарииОбменовДанными.StandardCommand.OpenList Catalog.УчетныеЗаписиЭлектроннойПочты.StandardCommand.OpenList Catalog.НазначенияСертификатовЭП.StandardCommand.OpenList + DataProcessor.УдалениеПомеченныхОбъектов.Command.УдалениеПомеченныхОбъектов @@ -390,6 +417,7 @@ InformationRegister.АдресныйКлассификатор.Command.АдресныйКлассификатор Catalog.КлючевыеОперации.StandardCommand.OpenList DataProcessor.УниверсальныйОбменДаннымиXML.Command.УниверсальныйОбменДанными + DataProcessor.ЗагрузкаДанныхИзФайла.Command.ЗагрузкаДанныхИзФайла NavigationPanelSeeAlso @@ -403,6 +431,8 @@ Catalog.УчетныеЗаписиЭлектроннойПочты.StandardCommand.OpenList Catalog.УчетныеЗаписиЭлектроннойПочты.Command.НастройкиСистемнойУчетнойЗаписи Catalog.НазначенияСертификатовЭП.StandardCommand.OpenList + DataProcessor.РезервноеКопированиеИБ.Command.ПоказатьРезультат + DataProcessor.УдалениеПомеченныхОбъектов.Command.УдалениеПомеченныхОбъектов ActionsPanelCreate @@ -439,19 +469,20 @@ ActionsPanelReports Report.АнализЖурналаРегистрации.StandardCommand.Open Report.СведенияОПользователях.StandardCommand.Open + CommonCommand.ДополнительныеОтчетыАдминистрирование ActionsPanelTools CommonForm.ВходВОбластьДанных.StandardCommand.Open + DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open + DataProcessor.ЖурналРегистрации.StandardCommand.Open DataProcessor.АктивныеПользователи.StandardCommand.Open + DataProcessor.БлокировкаРаботыПользователей.StandardCommand.Open InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаИзмененияДанных InformationRegister.ДатыЗапретаИзменения.Command.ДатыЗапретаЗагрузкиДанных - DataProcessor.БлокировкаРаботыПользователей.StandardCommand.Open - DataProcessor.ЖурналРегистрации.StandardCommand.Open DataProcessor.РегламентныеИФоновыеЗадания.StandardCommand.Open CommonCommand.НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты CommonForm.ОписаниеИзмененийСистемы.StandardCommand.Open - DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open DataProcessor.НастройкиПользователей.StandardCommand.Open DataProcessor.ОбновлениеКонфигурации.StandardCommand.Open DataProcessor.УправлениеИтогамиИАгрегатами.StandardCommand.Open @@ -473,6 +504,8 @@ DataProcessor.ГрупповоеИзменениеРеквизитов.Command.ГрупповоеИзменениеРеквизитов DataProcessor.ОбновлениеИнформационнойБазы.StandardCommand.Open DataProcessor.УниверсальныйОбменДаннымиXML.StandardCommand.Open + DataProcessor.ЗагрузкаДанныхИзФайла.StandardCommand.Open + CommonCommand.ДополнительныеОбработкиАдминистрирование diff --git a/SSL/src/Subsystems/Администрирование/Администрирование.mdo b/SSL/src/Subsystems/Администрирование/Администрирование.mdo index 99e199134..9e408a72a 100644 --- a/SSL/src/Subsystems/Администрирование/Администрирование.mdo +++ b/SSL/src/Subsystems/Администрирование/Администрирование.mdo @@ -12,7 +12,7 @@ Администрирование, настройка, сервисные функции - CommonPicture.Администрирование48 + CommonPicture.РазделАдминистрирование CommonCommand.НастройкаСистемнойУчетнойЗаписиЭлектроннойПочты DataProcessor.АктивныеПользователи @@ -47,7 +47,7 @@ DataProcessor.РезервноеКопированиеИБ DataProcessor.НастройкаРезервногоКопированияИБ DataProcessor.ЗащитаПерсональныхДанных - CommonPicture.Администрирование48 + CommonPicture.РазделАдминистрирование48 InformationRegister.АдресныйКлассификатор Catalog.РассылкиОтчетов Report.АнализЖурналаРегистрации @@ -82,4 +82,7 @@ Catalog.НазначенияСертификатовЭП Report.СведенияОПользователях CommonCommand.ПанельОтчетовАдминистрирование + DataProcessor.ЗагрузкаДанныхИзФайла + CommonCommand.ДополнительныеОбработкиАдминистрирование + CommonCommand.ДополнительныеОтчетыАдминистрирование diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АдресныйКлассификатор/АдресныйКлассификатор.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АдресныйКлассификатор/АдресныйКлассификатор.mdo index 7b47cd5a1..c4da3f026 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АдресныйКлассификатор/АдресныйКлассификатор.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АдресныйКлассификатор/АдресныйКлассификатор.mdo @@ -5,7 +5,6 @@ ru Адресный классификатор - true CommonModule.АдресныйКлассификаторКлиент InformationRegister.АдресныеСокращения InformationRegister.АдресныйКлассификатор diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/Help/ru.html index 55e6aad08..1b9e91769 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/Help/ru.html @@ -1,4 +1,4 @@ - +
                                          -

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

                                          +

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

                                           

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo index 86c8f2988..f3d2d91f1 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/АнализЖурналаРегистрации/АнализЖурналаРегистрации.mdo @@ -5,7 +5,6 @@ ru Анализ журнала регистрации - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БазоваяФункциональность/БазоваяФункциональность.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БазоваяФункциональность/БазоваяФункциональность.mdo index 92675378e..e0ee1e2b9 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БазоваяФункциональность/БазоваяФункциональность.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БазоваяФункциональность/БазоваяФункциональность.mdo @@ -5,7 +5,6 @@ ru Базовая функциональность - true CommonModule.ОбщегоНазначения CommonModule.ОбщегоНазначенияКлиент CommonModule.ОбщегоНазначенияКлиентСервер @@ -116,8 +115,7 @@ FunctionalOption.РаботаВАвтономномРежиме CommonPicture.СтатусыДокумента CommonModule.ОбщегоНазначенияВызовСервера - CommonPicture.Администрирование48 - Constant.ПараметрыБазовойФункциональности + CommonPicture.РазделАдминистрирование48 CommonModule.СтандартныеПодсистемыПовтИсп EventSubscription.ПослеОтправкиДанных EventSubscription.ПослеПолученияДанных @@ -202,8 +200,16 @@ CommonPicture.ПримечаниеЖурналаРегистрации Constant.ГлавныйУзел CommonForm.ВосстановлениеСвязиСГлавнымУзлом + StyleItem.РезультатУспехЦвет CommonModule.НастройкаРазрешенийНаИспользованиеВнешнихРесурсовГлобальный CommonModule.НастройкаРазрешенийНаИспользованиеВнешнихРесурсовКлиент Report.ИспользуемыеВнешниеРесурсы + CommonPicture.СтрелкаВверх + CommonPicture.СтрелкаВлево + CommonPicture.СтрелкаВниз + CommonPicture.СтрелкаВправо + Role.ЧтениеОбщейБазовойНСИ + EventSubscription.ЗапретитьПометкуУдаленияПредопределенныхЭлементов + EventSubscription.ЗапретитьУдалениеПредопределенныхЭлементов Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Банки/Банки.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Банки/Банки.mdo index 1063fce24..e51994617 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Банки/Банки.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Банки/Банки.mdo @@ -5,7 +5,6 @@ ru Банки - true ScheduledJob.ЗагрузкаКлассификатораБанковРФССайтаРБК CommonModule.РаботаСБанками Constant.ВерсияКлассификатораБанковРФ diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/Help/ru.html index de02aaf20..c23ad51a1 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/Help/ru.html @@ -1,4 +1,4 @@ - +

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

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

                                          Задачи могут быть адресованы исполнителю или группе исполнителей как персонально — персональная адресация, так и для некоторых бизнес-процессов, с использованием ролей бизнес-процесса — ролевая адресация (необходимо различать роли бизнес-процесса и роли для организации прав доступа). В случае ролевой адресации задача выдается не персонально исполнителю, а некоторой роли бизнес-процесса (например, "Старший по залу"), а соответствие пользователей ролям задается в регистре сведений "Роли и исполнители" и используется системой для доставки поручений конкретным пользователям. Роли бизнес-процесса поставляются в составе конфигурации.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/БизнесПроцессыИЗадачи.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/БизнесПроцессыИЗадачи.mdo index bab1aba4b..95c8e460f 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/БизнесПроцессыИЗадачи.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/БизнесПроцессыИЗадачи/БизнесПроцессыИЗадачи.mdo @@ -5,7 +5,6 @@ ru Бизнес-процессы и задачи - true ru @@ -69,5 +68,8 @@ FunctionalOption.ИспользоватьДатуИВремяВСрокахЗадач FunctionalOption.ИспользоватьДатуНачалаЗадач FunctionalOption.ИспользоватьПодчиненныеБизнесПроцессы + CommonModule.БизнесПроцессыИЗадачиКлиентСервер + EventSubscription.ПолучитьПоляПредставленияБизнесПроцесса + EventSubscription.ПолучитьПредставлениеБизнесПроцесса Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Help/ru.html index 74ab9c811..e9b356a77 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Help/ru.html @@ -1,2 +1,2 @@ - +

                                          Программа поддерживает многовалютный учет, и позволяет вводить операции и просматривать отчеты в любой валюте, представленной в справочнике Валюты. Конфигурация поставляется с «Общероссийским классификатором валют» (ОКВ). Существует возможность загрузки курсов валют с сайта «РосБизнесКонсалтинг».

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Валюты.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Валюты.mdo index 37f123bbb..fa70723c7 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Валюты.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Валюты/Валюты.mdo @@ -5,7 +5,6 @@ ru Валюты - true ru @@ -21,5 +20,6 @@ CommonModule.РаботаСКурсамиВалютКлиент CommonModule.РаботаСКурсамиВалютГлобальный CommonModule.РаботаСКурсамиВалютПереопределяемый + Enum.СпособыУстановкиКурсаВалюты Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВариантыОтчетов/ВариантыОтчетов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВариантыОтчетов/ВариантыОтчетов.mdo index 0d06f4068..13c89e39e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВариантыОтчетов/ВариантыОтчетов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВариантыОтчетов/ВариантыОтчетов.mdo @@ -5,7 +5,6 @@ ru Варианты отчетов - true SettingsStorage.ХранилищеВариантовОтчетов CommonModule.ВариантыОтчетов Catalog.ВариантыОтчетов @@ -24,7 +23,7 @@ StyleItem.СкрытыйВариантОтчетаЦвет StyleItem.ВидимыйВариантОтчетаЦвет CommonForm.ПанельОтчетов - StyleItem.ГруппаВариантовОтчетовЦвет + StyleItem.ГруппаВариантовОтчетовЦвет82 Enum.ДоступныеПериодыОтчета CommonModule.ФормаОтчетаКлиентПереопределяемый CommonModule.ФормаОтчетаПереопределяемый @@ -45,5 +44,7 @@ CommonPicture.Сумма Catalog.ПользовательскиеНастройкиОтчетов CommonCommand.ПанельОтчетовАдминистрирование + CommonForm.ВводЗначенийСпискомСФлажками + StyleItem.ГруппаВариантовОтчетовЦвет Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/Help/ru.html index 18c21c9ba..d6ffdace2 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/Help/ru.html @@ -1,3 +1,3 @@ - +

                                          Конфигурация позволяет вести историю изменений объектов информационной базы. Эта функция позволяет ответить на вопросы: "Кто изменил объект?", "Когда произошли изменения?" и "Что изменено в объекте?". Версионируемыми объектами могут быть справочники и документы. Конфигурация позволяет просматривать любую версию объекта или сравнивать любые версии объекта между собой.

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

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/ВерсионированиеОбъектов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/ВерсионированиеОбъектов.mdo index 95174bd36..50f87f8ca 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/ВерсионированиеОбъектов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ВерсионированиеОбъектов/ВерсионированиеОбъектов.mdo @@ -5,7 +5,6 @@ ru Версионирование объектов - true ru @@ -34,5 +33,8 @@ Role.ЧтениеИнформацииОВерсияхОбъектов EventSubscription.УдалитьИнформациюОбАвтореВерсии EventSubscription.ЗаписатьВерсиюПриОбменеДанными + Report.АнализВерсийОбъектов + Enum.СрокиХраненияВерсий + ScheduledJob.ОчисткаУстаревшихВерсийОбъектов Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Взаимодействия/Взаимодействия.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Взаимодействия/Взаимодействия.mdo index 06264700d..5108253a9 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Взаимодействия/Взаимодействия.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Взаимодействия/Взаимодействия.mdo @@ -98,5 +98,7 @@ InformationRegister.СостоянияПапокПисем InformationRegister.СостоянияПредметовВзаимодействий InformationRegister.КонтактыВзаимодействий + EventSubscription.ПолучениеПредставленияВзаимодействия + EventSubscription.ПолучениеПолейПредставленияВзамоимодействия Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрафикиРаботы/ГрафикиРаботы.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрафикиРаботы/ГрафикиРаботы.mdo index e69fb830a..2dae4d5e6 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрафикиРаботы/ГрафикиРаботы.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрафикиРаботы/ГрафикиРаботы.mdo @@ -5,7 +5,6 @@ ru Графики работы - true CommonModule.ГрафикиРаботы StyleItem.ДатаГрафикаИзмененнаяФон Enum.СпособыЗаполненияГрафикаРаботы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/Help/ru.html index 512912d2e..a8b6dbe1e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/Help/ru.html @@ -1 +1 @@ -С помощью группового изменения объектов пользователь может за одно действие изменить значения реквизитов, дополнительных реквизитов или дополнительных сведений (далее по тексту: реквизитов) у выбранных объектов определенного типа. Для работы с групповым изменением объектов пользователю не требуются дополнительные роли. Если пользователю доступно редактирование самого объекта, то ему доступно и групповое изменение объекта. Для перехода к помощнику группового изменения можно воспользоваться командой Изменить выделенные командной панели или контекстного меню списка, предварительно выбрав в списке набор объектов с помощью множественного выделения. \ No newline at end of file +С помощью группового изменения объектов пользователь может за одно действие изменить значения реквизитов, дополнительных реквизитов или дополнительных сведений (далее по тексту: реквизитов) у выбранных объектов определенного типа. Для работы с групповым изменением объектов пользователю не требуются дополнительные роли. Если пользователю доступно редактирование самого объекта, то ему доступно и групповое изменение объекта. Для перехода к помощнику группового изменения можно воспользоваться командой Изменить выделенные командной панели или контекстного меню списка, предварительно выбрав в списке набор объектов с помощью множественного выделения. \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/ГрупповоеИзменениеОбъектов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/ГрупповоеИзменениеОбъектов.mdo index e86979067..31fa2f7f3 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/ГрупповоеИзменениеОбъектов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ГрупповоеИзменениеОбъектов/ГрупповоеИзменениеОбъектов.mdo @@ -5,7 +5,6 @@ ru Групповое изменение объектов - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДатыЗапретаИзменения/ДатыЗапретаИзменения.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДатыЗапретаИзменения/ДатыЗапретаИзменения.mdo index 3e8d7c47f..45a69e2fb 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДатыЗапретаИзменения/ДатыЗапретаИзменения.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДатыЗапретаИзменения/ДатыЗапретаИзменения.mdo @@ -5,10 +5,9 @@ ru Даты запрета изменения - true CommonModule.ДатыЗапретаИзменения InformationRegister.ДатыЗапретаИзменения - CommonModule.ДатыЗапретаИзмененияПовтИсп + CommonModule.ДатыЗапретаИзмененияСлужебныйПовтИсп ChartOfCharacteristicTypes.РазделыДатЗапретаИзменения CommonModule.ДатыЗапретаИзмененияСлужебный CommonModule.ДатыЗапретаИзмененияПереопределяемый diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/Help/ru.html index 1e41b341c..e22e1dfa7 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Конфигурация позволяет подключать и использовать дополнительные (внешние) отчеты и обработки к ИБ в режиме «1С:Предприятия». Они позволяют расширять функциональность конфигурации, не внося в неё изменений.

                                          С помощью дополнительных отчетов и обработок можно:

                                          diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo index 55ff48094..def6a7937 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ДополнительныеОтчетыИОбработки/ДополнительныеОтчетыИОбработки.mdo @@ -5,7 +5,6 @@ ru Дополнительные отчеты и обработки - true ru @@ -52,5 +51,8 @@ XDTOPackage.ApplicationExtensionsManifest_1_0_0_1 Constant.УдалитьПоказыватьКомандуДополнительныеПечатныеФормы Enum.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок + CommonCommand.ДополнительныеОтчетыАдминистрирование + CommonCommand.ДополнительныеОбработкиАдминистрирование + EventSubscription.ДополнительныеОтчетыИОбработкиПередУдалениемИдентификатораОбъектаМетаданных Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/Help/ru.html index 4272b53b7..f59626bab 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/ЗавершениеРаботыПользователей.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/ЗавершениеРаботыПользователей.mdo index fad34672e..b1b80cfb7 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/ЗавершениеРаботыПользователей.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗавершениеРаботыПользователей/ЗавершениеРаботыПользователей.mdo @@ -5,7 +5,6 @@ ru Завершение работы пользователей - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo new file mode 100644 index 000000000..84794baf6 --- /dev/null +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗагрузкаДанныхИзФайла/ЗагрузкаДанныхИзФайла.mdo @@ -0,0 +1,11 @@ + + + ЗагрузкаДанныхИзФайла + + ru + Загрузка данных из файла + + DataProcessor.ЗагрузкаДанныхИзФайла + CommonModule.ЗагрузкаДанныхИзФайлаКлиент + Subsystem.СтандартныеПодсистемы + diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/Help/ru.html index 4184b7533..25b9540cd 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/Help/ru.html @@ -1,3 +1,3 @@ - +

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

                                          Примером может служить реквизит Валюта справочника Кассы, который определяет валюту остатков по данной кассе, или признак Является услугой справочника Номенклатура, который влияет на проведение документов с такой номенклатурой. Такие реквизиты нельзя изменять после появления остатков по данной кассе или после появления документов с данной номенклатурой соответственно.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/ЗапретРедактированияРеквизитовОбъектов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/ЗапретРедактированияРеквизитовОбъектов.mdo index a6592945e..a2dd89f35 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/ЗапретРедактированияРеквизитовОбъектов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗапретРедактированияРеквизитовОбъектов/ЗапретРедактированияРеквизитовОбъектов.mdo @@ -5,7 +5,6 @@ ru Запрет редактирования реквизитов объектов - true ru @@ -16,5 +15,6 @@ Subsystem.СтандартныеПодсистемы.Subsystem.ЗапретРедактированияРеквизитовОбъектов CommonPicture.РазрешитьРедактированиеРеквизитовОбъекта CommonModule.ЗапретРедактированияРеквизитовОбъектов + CommonModule.ЗапретРедактированияРеквизитовОбъектовСлужебныйКлиент Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo index dc7045e58..6fe437458 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ЗащитаПерсональныхДанных/ЗащитаПерсональныхДанных.mdo @@ -6,7 +6,6 @@ Защита персональных данных Защита персональных данных (в соответствии с требованиями 152-ФЗ) - true DataProcessor.ЗащитаПерсональныхДанных CommonPicture.КоллекцияКонтролируемыеСобытия152ФЗ CommonModule.ЗащитаПерсональныхДанныхПовтИсп diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ИнформацияПриЗапуске/ИнформацияПриЗапуске.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ИнформацияПриЗапуске/ИнформацияПриЗапуске.mdo index 70a53f8c2..ca479855d 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ИнформацияПриЗапуске/ИнформацияПриЗапуске.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ИнформацияПриЗапуске/ИнформацияПриЗапуске.mdo @@ -5,9 +5,9 @@ ru Информация при запуске - true DataProcessor.ИнформацияПриЗапуске CommonModule.ИнформацияПриЗапуске CommonModule.ИнформацияПриЗапускеКлиент + CommonModule.ИнформацияПриЗапускеПереопределяемый Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/Help/ru.html index f31deafec..e40d9d690 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                           

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/КалендарныеГрафики.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/КалендарныеГрафики.mdo index 334e73d23..fd4787cec 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/КалендарныеГрафики.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КалендарныеГрафики/КалендарныеГрафики.mdo @@ -5,7 +5,6 @@ ru Календарные графики - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/Help/ru.html index 262bc442c..2f58e66e1 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/Help/ru.html @@ -1,3 +1,3 @@ - +

                                          Конфигурация позволяет единообразно хранить и обрабатывать контактную информацию для различных объектов. Например, справочники Физические лица, Организации и Пользователи предоставляют одинаковую возможность по работе с адресами или телефонами.

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

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/КонтактнаяИнформация.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/КонтактнаяИнформация.mdo index 69c688834..817bb9043 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/КонтактнаяИнформация.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтактнаяИнформация/КонтактнаяИнформация.mdo @@ -5,7 +5,6 @@ ru Контактная информация - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/Help/ru.html index bbd84b2e4..c5220e59d 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Платформа 1С:Предприятие 8 позволяет вносить изменения в конфигурацию ИБ без завершения работы пользователей. Такое обновление конфигурации называется динамическим. Конфигурация позволяет оповещать работающих в системе пользователей о динамическом изменении конфигурации. Проверка факта изменения конфигурации осуществляется каждые 20 минут. В случае изменения конфигурации система сообщает об этом пользователю и предлагает ему перезапустить программу.

                                           

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/КонтрольДинамическогоОбновленияКонфигурации.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/КонтрольДинамическогоОбновленияКонфигурации.mdo index f583d6625..cb51cad71 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/КонтрольДинамическогоОбновленияКонфигурации.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/КонтрольДинамическогоОбновленияКонфигурации/КонтрольДинамическогоОбновленияКонфигурации.mdo @@ -5,7 +5,6 @@ ru Контроль динамического обновления конфигурации - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/Help/ru.html index 262c2ead9..5b19718a7 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          В ряде случаев кнопки Вверх и Вниз не работают. Расстановка элементов невозможна:

                                          diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/НастройкаПорядкаЭлементов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/НастройкаПорядкаЭлементов.mdo index 20f49cbdc..69f4923ac 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/НастройкаПорядкаЭлементов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкаПорядкаЭлементов/НастройкаПорядкаЭлементов.mdo @@ -5,7 +5,6 @@ ru Настройка порядка элементов - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкиПрограммы/НастройкиПрограммы.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкиПрограммы/НастройкиПрограммы.mdo index e61985d55..24d61380c 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкиПрограммы/НастройкиПрограммы.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/НастройкиПрограммы/НастройкиПрограммы.mdo @@ -5,9 +5,8 @@ ru Настройки программы - true - true DataProcessor.ПанельАдминистрированияБСП DataProcessor.ПанельАдминистрированияБСПВМоделиСервиса + CommonPicture.РазделАдминистрирование Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/Help/ru.html index d28384915..d9471e5e3 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/Help/ru.html @@ -1,5 +1,5 @@ - -

                                          Конфигурация позволяет выполнять обмен данными между различными информационными базами по правилам обмена.

                                          + +

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

                                          Правила обмена создаются при помощи конфигурации «Конвертация данных, редакция 2.1».

                                          -

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

                                          -

                                          Настройка обмена производится в разделе Настройка и администрирование по команде Обмены данными на панели навигации.

                                          \ No newline at end of file +

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

                                          +

                                          Настройка синхронизации производится в разделе Администрирование по команде Синхронизация данных на панели навигации.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/ОбменДанными.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/ОбменДанными.mdo index 4b182f927..1e2e3e312 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/ОбменДанными.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбменДанными/ОбменДанными.mdo @@ -5,7 +5,6 @@ ru Обмен данными - true ru @@ -29,7 +28,6 @@ SessionParameter.ПравилаРегистрацииОбъектов InformationRegister.СостоянияОбменовДанными CommonCommand.ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных - SessionParameter.ИспользуемыеПланыОбмена SessionParameter.ДатаОбновленияПовторноИспользуемыхЗначенийМРО Constant.ДатаОбновленияПовторноИспользуемыхЗначенийМРО EventSubscription.ЗарегистрироватьИзмененияФильтровОграниченияМиграцииДанных @@ -129,5 +127,7 @@ Constant.КаталогСообщенийОбменаДаннымиДляLinux Constant.КаталогСообщенийОбменаДаннымиДляWindows Constant.КоличествоЭлементовВТранзакцииЗагрузкиДанных + CommonCommand.ОткрытьПравилаСинхронизацииДанных + SessionParameter.ОшибкаРасхожденияВерсийПриПолученииДанных Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеВерсииИБ/ОбновлениеВерсииИБ.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеВерсииИБ/ОбновлениеВерсииИБ.mdo index aa9f2ca7f..a7c07ed3d 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеВерсииИБ/ОбновлениеВерсииИБ.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеВерсииИБ/ОбновлениеВерсииИБ.mdo @@ -5,7 +5,6 @@ ru Обновление версии ИБ - true CommonModule.ОбновлениеИнформационнойБазы CommonModule.ОбновлениеИнформационнойБазыКлиент CommonModule.ОбновлениеИнформационнойБазыПереопределяемый diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/Help/ru.html index 6e4214ace..0722be477 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/Help/ru.html @@ -1,2 +1,2 @@ - +

                                          Конфигурация позволяет проводить обновление конфигурации инфорационной базы в режиме 1С:Предприятия «по требованию» или в указанное время (только для клиент-серверного режима). Имеется возможность получения обновлений через Интернет, с диска 1С:ИТС или явный выбор файла обновления из локального или сетевого каталога. Для перехода к обновлению конфигурации можно воспользоваться командой Обновление конфигурации раздела Настройка и администрирование.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/ОбновлениеКонфигурации.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/ОбновлениеКонфигурации.mdo index 93f8fe37f..ebfec6485 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/ОбновлениеКонфигурации.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОбновлениеКонфигурации/ОбновлениеКонфигурации.mdo @@ -5,7 +5,6 @@ ru Обновление конфигурации - true ru @@ -17,7 +16,6 @@ CommonModule.ОбновлениеКонфигурацииКлиентГлобальный CommonModule.ОбновлениеКонфигурацииКлиентПереопределяемый Role.ПроверкаДоступныхОбновленийКонфигурации - CommonPicture.Переключатель Constant.СтатусОбновленияКонфигурации DataProcessor.ОбновлениеКонфигурации CommonModule.ОбновлениеКонфигурацииКлиентСервер diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОтправкаSMS/ОтправкаSMS.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОтправкаSMS/ОтправкаSMS.mdo index 8ff289b66..f217ffd05 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОтправкаSMS/ОтправкаSMS.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОтправкаSMS/ОтправкаSMS.mdo @@ -5,7 +5,6 @@ ru Отправка SMS - true CommonModule.ОтправкаSMS CommonModule.ОтправкаSMSЧерезМТС CommonModule.ОтправкаSMSПереопределяемый diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОценкаПроизводительности/ОценкаПроизводительности.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОценкаПроизводительности/ОценкаПроизводительности.mdo index 9c600fd7e..e31e00d0a 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОценкаПроизводительности/ОценкаПроизводительности.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ОценкаПроизводительности/ОценкаПроизводительности.mdo @@ -5,7 +5,6 @@ ru Оценка производительности - true CommonModule.ОценкаПроизводительностиКлиентГлобальный CommonModule.ОценкаПроизводительностиКлиентСервер CommonModule.ОценкаПроизводительностиВызовСервераПолныеПрава diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Help/ru.html index f01720904..80ee82369 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Многие документы конфигурации имеют печатные формы. Все печатные формы используют единый механизм, позволяющий редактировать макеты печатных форм, не изменяя саму конфигурацию. Печатные формы объектов могут формироваться на основе табличных макетов (MXL) или макетов офисных документов в форматах Microsoft Word и OpenOffice.org Writer.

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

                                          diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Печать.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Печать.mdo index bcdab9c78..5ac18d754 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Печать.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Печать/Печать.mdo @@ -5,7 +5,6 @@ ru Печать - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/Help/ru.html index ada59366b..bf8cf9a29 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                          Полнотекстовый поиск предоставляет такие возможности как: поддержка транслитерации (написание русских слов символами латиницы в соответствии с ГОСТ); поддержка замещения (написание части символов в русских словах одноклавишными латинскими символами); нечеткий поиск (буквы в найденных словах могут отличаться).

                                          Для включения и настройки полнотекстового поиска необходимо воспользоваться формой настройки параметров системы в разделе Настройка и администрирование.

                                          diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/ПолнотекстовыйПоиск.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/ПолнотекстовыйПоиск.mdo index 326fb5dd6..3354e00e1 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/ПолнотекстовыйПоиск.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолнотекстовыйПоиск/ПолнотекстовыйПоиск.mdo @@ -5,7 +5,6 @@ ru Полнотекстовый поиск - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/Help/ru.html index fb2bf96e0..ad3930bd5 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/Help/ru.html @@ -1,2 +1,2 @@ - +

                                          В отдельных случаях, конфигурации требуется доступ к сети Интернет, например, для загрузки адресного классификатора с сайта поддержки пользователей 1С:Предприятия фирмы «1С». При использования прокси‑сервера для доступа в сеть Интернет, необходимо указать его настройки.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/ПолучениеФайловИзИнтернета.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/ПолучениеФайловИзИнтернета.mdo index 3b5eef1ad..06da1688a 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/ПолучениеФайловИзИнтернета.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПолучениеФайловИзИнтернета/ПолучениеФайловИзИнтернета.mdo @@ -5,7 +5,6 @@ ru Получение файлов из Интернета - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Help/ru.html index 1ee5b1b90..4bdc83803 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Система позволяет администрировать пользователей и внешних пользователей, синхронизируя их со списком пользователей информационной базы (который можно увидеть в Конфигураторе). Тем самым достигается возможность работы с расширенной информацией о пользователях, а также возможонсть сослаться на пользователей из других объектов ИБ.

                                           

                                          Важно: рекомендуется вести список пользователей ИБ, а также настраивать им права доступа только в режиме «1С:Предприятие». В режиме «Конфигуратор» допускается создавать только пользователей с полными правами – администраторов системы. При входе таких пользователей в ИБ в режиме «1С:Предприятие», в справочнике «Пользователи» будут созданы соответствующие элементы автоматически.

                                          \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Пользователи.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Пользователи.mdo index f2ba19e17..1e8e285a9 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Пользователи.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Пользователи/Пользователи.mdo @@ -5,7 +5,6 @@ ru Пользователи - true ru @@ -55,7 +54,6 @@ CommonModule.ПользователиСлужебныйВызовСервера CommonPicture.ПрочиеПользовательскиеНастройки DataProcessor.НастройкиПользователей - CommonModule.НастройкиПользователейКлиент Constant.ПараметрыРаботыПользователей CommonForm.ГруппыПользователей SessionParameter.АвторизованныйПользователь diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/Help/ru.html index 07db60138..23f24947a 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/Help/ru.html @@ -1,4 +1,4 @@ - +

                                          Система позволяет автоматически назначать префиксы объектам информационной базы. Префиксы назначаются всем справочникам и документам, которые имеют автоматически назначаемый код и номер. Префиксация объектов ведется как в разрезе организаций, так и в разрезе информационных баз. Префикс ИБ назначается всем объектам, а префикс организации — только объектам ИБ, связанным с конкретной организацией.

                                          В общем виде, номер или код объекта складывается по следующей схеме:
                                          "ОР" + "ИБ" + "-" + номер/код,
                                          где:

                                          • "ОР" — 2 символа префикса организации; если префикс организации не задан, то "00". diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/ПрефиксацияОбъектов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/ПрефиксацияОбъектов.mdo index bdfa35b9f..8c9803584 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/ПрефиксацияОбъектов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрефиксацияОбъектов/ПрефиксацияОбъектов.mdo @@ -5,7 +5,6 @@ ru Префиксация объектов - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрисоединенныеФайлы/ПрисоединенныеФайлы.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрисоединенныеФайлы/ПрисоединенныеФайлы.mdo index 98ba446e5..cb7f3c20b 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрисоединенныеФайлы/ПрисоединенныеФайлы.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ПрисоединенныеФайлы/ПрисоединенныеФайлы.mdo @@ -12,9 +12,6 @@ CommonForm.ПрисоединенныеФайлы CommonForm.ПрисоединенныйФайл CommonCommand.ПрисоединенныеФайлыКОбъекту - CommonForm.ВыборПрисоединенныхФайлов - CommonForm.ФайлыВТоме - CommonCommand.ФайлыВТоме CommonModule.ПрисоединенныеФайлы FunctionalOption.ИспользоватьЭПВПрисоединенныхФайлах CommonModule.ПрисоединенныеФайлыСлужебныйКлиент diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/АдресныйКлассификаторВМоделиСервиса/АдресныйКлассификаторВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/АдресныйКлассификаторВМоделиСервиса/АдресныйКлассификаторВМоделиСервиса.mdo index 48e753904..e66eb4d91 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/АдресныйКлассификаторВМоделиСервиса/АдресныйКлассификаторВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/АдресныйКлассификаторВМоделиСервиса/АдресныйКлассификаторВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Адресный классификатор в модели сервиса - true CommonModule.АдресныйКлассификаторСлужебныйВМоделиСервиса Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БазоваяФункциональностьВМоделиСервиса/БазоваяФункциональностьВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БазоваяФункциональностьВМоделиСервиса/БазоваяФункциональностьВМоделиСервиса.mdo index ab789512b..eb20c3548 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БазоваяФункциональностьВМоделиСервиса/БазоваяФункциональностьВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БазоваяФункциональностьВМоделиСервиса/БазоваяФункциональностьВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Базовая функциональность в модели сервиса - true CommonModule.РаботаВМоделиСервиса CommonModule.РаботаВМоделиСервисаПереопределяемый Constant.КопироватьОбластиДанныхИзЭталонной diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БанкиВМоделиСервиса/БанкиВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БанкиВМоделиСервиса/БанкиВМоделиСервиса.mdo index a8f664eab..89b125a47 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БанкиВМоделиСервиса/БанкиВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/БанкиВМоделиСервиса/БанкиВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Банки в модели сервиса - true CommonModule.БанкиСлужебныйВМоделиСервиса Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ВалютыВМоделиСервиса/ВалютыВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ВалютыВМоделиСервиса/ВалютыВМоделиСервиса.mdo index 8e2be4368..80c2b7c4e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ВалютыВМоделиСервиса/ВалютыВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ВалютыВМоделиСервиса/ВалютыВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Валюты в модели сервиса - true CommonModule.КурсыВалютСлужебныйВМоделиСервиса CommonCommand.ЗагрузитьКурсыВалют XDTOPackage.CurrencyRates diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/КалендарныеГрафикиВМоделиСервиса/КалендарныеГрафикиВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/КалендарныеГрафикиВМоделиСервиса/КалендарныеГрафикиВМоделиСервиса.mdo index a7dcf7221..c4ea6a0cd 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/КалендарныеГрафикиВМоделиСервиса/КалендарныеГрафикиВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/КалендарныеГрафикиВМоделиСервиса/КалендарныеГрафикиВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Календарные графики в модели сервиса - true CommonModule.КалендарныеГрафикиСлужебныйВМоделиСервиса Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменДаннымиВМоделиСервиса/ОбменДаннымиВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменДаннымиВМоделиСервиса/ОбменДаннымиВМоделиСервиса.mdo index e8dc03b35..bd00586eb 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменДаннымиВМоделиСервиса/ОбменДаннымиВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменДаннымиВМоделиСервиса/ОбменДаннымиВМоделиСервиса.mdo @@ -69,5 +69,6 @@ Constant.АдресДляВосстановленияПароляУчетнойЗаписи XDTOPackage.АдминистрированиеОбменаДанными WebService.RemoteAdministrationOfExchange_2_1_6_1 + CommonModule.АвтономнаяРаботаСлужебныйКлиент Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменСообщениями/ОбменСообщениями.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменСообщениями/ОбменСообщениями.mdo index 34733b128..3685a2185 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменСообщениями/ОбменСообщениями.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбменСообщениями/ОбменСообщениями.mdo @@ -5,7 +5,6 @@ ru Обмен сообщениями - true Catalog.СообщенияСистемы ScheduledJob.ОтправкаИПолучениеСообщенийСистемы CommonModule.ОбменСообщениями diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбновлениеВерсииИБВМоделиСервиса/ОбновлениеВерсииИБВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбновлениеВерсииИБВМоделиСервиса/ОбновлениеВерсииИБВМоделиСервиса.mdo index 6e36e8482..78359a14e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбновлениеВерсииИБВМоделиСервиса/ОбновлениеВерсииИБВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОбновлениеВерсииИБВМоделиСервиса/ОбновлениеВерсииИБВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Обновление версии ИБ в модели сервиса - true CommonModule.ОбновлениеИнформационнойБазыСлужебныйВМоделиСервиса InformationRegister.ВерсииПодсистемОбластейДанных Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОчередьЗаданий/ОчередьЗаданий.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОчередьЗаданий/ОчередьЗаданий.mdo index b12567df7..c58bb6b50 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОчередьЗаданий/ОчередьЗаданий.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ОчередьЗаданий/ОчередьЗаданий.mdo @@ -5,7 +5,6 @@ ru Очередь заданий - true CommonModule.ОчередьЗаданий CommonModule.ОчередьЗаданийПереопределяемый Constant.МаксимальнаяДлительностьВыполненияИсполняющегоФоновогоЗадания diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПользователиВМоделиСервиса/ПользователиВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПользователиВМоделиСервиса/ПользователиВМоделиСервиса.mdo index 8e32748df..12887b48e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПользователиВМоделиСервиса/ПользователиВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПользователиВМоделиСервиса/ПользователиВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Пользователи в модели сервиса - true CommonModule.ПользователиСлужебныйВМоделиСервиса CommonForm.ПользователиСервиса CommonCommand.ДобавитьПользователейСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПоставляемыеДанные/ПоставляемыеДанные.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПоставляемыеДанные/ПоставляемыеДанные.mdo index ce2028ab2..a7e3e0578 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПоставляемыеДанные/ПоставляемыеДанные.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ПоставляемыеДанные/ПоставляемыеДанные.mdo @@ -5,7 +5,6 @@ ru Поставляемые данные - true CommonModule.ПоставляемыеДанные CommonModule.ПоставляемыеДанныеПереопределяемый XDTOPackage.SuppliedData diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/РезервноеКопированиеОбластейДанных/РезервноеКопированиеОбластейДанных.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/РезервноеКопированиеОбластейДанных/РезервноеКопированиеОбластейДанных.mdo index 455920117..e2e7ba21d 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/РезервноеКопированиеОбластейДанных/РезервноеКопированиеОбластейДанных.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/РезервноеКопированиеОбластейДанных/РезервноеКопированиеОбластейДанных.mdo @@ -5,7 +5,6 @@ ru Резервное копирование областей данных - true CommonModule.РезервноеКопированиеОбластейДанныхПовтИсп CommonCommand.СоздатьРезервнуюКопию CommonForm.СозданиеРезервнойКопии diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УдаленноеАдминистрирование/УдаленноеАдминистрирование.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УдаленноеАдминистрирование/УдаленноеАдминистрирование.mdo index 807af5d40..0b3fe7a9a 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УдаленноеАдминистрирование/УдаленноеАдминистрирование.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УдаленноеАдминистрирование/УдаленноеАдминистрирование.mdo @@ -5,7 +5,6 @@ ru Удаленное администрирование - true Constant.КонечнаяТочкаМенеджераСервиса Constant.ВнутреннийАдресМенеджераСервиса Constant.ИмяСлужебногоПользователяМенеджераСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УправлениеДоступомВМоделиСервиса/УправлениеДоступомВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УправлениеДоступомВМоделиСервиса/УправлениеДоступомВМоделиСервиса.mdo index 2a569ebd3..eb3753173 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УправлениеДоступомВМоделиСервиса/УправлениеДоступомВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/УправлениеДоступомВМоделиСервиса/УправлениеДоступомВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Управление доступом в модели сервиса - true CommonModule.УправлениеДоступомСлужебныйВМоделиСервиса Subsystem.СтандартныеПодсистемы.Subsystem.РаботаВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ФайловыеФункцииВМоделиСервиса/ФайловыеФункцииВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ФайловыеФункцииВМоделиСервиса/ФайловыеФункцииВМоделиСервиса.mdo index cb9177093..c3bacbc98 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ФайловыеФункцииВМоделиСервиса/ФайловыеФункцииВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/Subsystems/ФайловыеФункцииВМоделиСервиса/ФайловыеФункцииВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Файловые функции в модели сервиса - true DataProcessor.АвтоматическоеИзвлечениеТекстовДляВсехОбластейДанных ScheduledJob.ПланированиеИзвлеченияТекстаВМоделиСервиса CommonModule.ФайловыеФункцииСлужебныйВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/РаботаВМоделиСервиса.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/РаботаВМоделиСервиса.mdo index 375ffc3f2..3752ba20f 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/РаботаВМоделиСервиса.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаВМоделиСервиса/РаботаВМоделиСервиса.mdo @@ -5,7 +5,6 @@ ru Работа в модели сервиса - true АдресныйКлассификаторВМоделиСервиса БазоваяФункциональностьВМоделиСервиса БанкиВМоделиСервиса diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/Help/ru.html index 2d6fb3abb..8eff3d2d1 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                            \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/РаботаСПочтовымиСообщениями.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/РаботаСПочтовымиСообщениями.mdo index b34e5cb9c..ddce2cdea 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/РаботаСПочтовымиСообщениями.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСПочтовымиСообщениями/РаботаСПочтовымиСообщениями.mdo @@ -5,7 +5,6 @@ ru Работа с почтовыми сообщениями - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/Help/ru.html index 82bbe4958..bbd3e6621 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/Help/ru.html @@ -1,4 +1,4 @@ - +

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

                                            Администрирование файлов осуществляется в форме настроек параметров системы раздела Настройка и администрирование. Персональные настройки пользователя для работы с файлами находятся в форме Мои настройки этого же раздела.

                                            См. также

                                            diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/РаботаСФайлами.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/РаботаСФайлами.mdo index ebc3b0ffe..320091723 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/РаботаСФайлами.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РаботаСФайлами/РаботаСФайлами.mdo @@ -5,7 +5,6 @@ ru Работа с файлами - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РассылкаОтчетов/РассылкаОтчетов.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РассылкаОтчетов/РассылкаОтчетов.mdo index 691754257..2d1512949 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РассылкаОтчетов/РассылкаОтчетов.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РассылкаОтчетов/РассылкаОтчетов.mdo @@ -5,7 +5,6 @@ ru Рассылка отчетов - true Catalog.РассылкиОтчетов Enum.ПериодичностиРасписанийРассылокОтчетов CommonModule.РассылкаОтчетовПовтИсп diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/Help/ru.html index f04314a3c..fe605910b 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                            \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/РегламентныеЗадания.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/РегламентныеЗадания.mdo index 3d25b94d6..5c57ec61b 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/РегламентныеЗадания.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/РегламентныеЗадания/РегламентныеЗадания.mdo @@ -5,7 +5,6 @@ ru Регламентные задания - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Help/ru.html index 47bbdb68c..2fda8f23e 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Help/ru.html @@ -1,3 +1,3 @@ - +

                                            Конфигурация позволяет создавать и редактировать в режиме «1С:Предприятие» дополнительные свойства произвольных документов и справочников. Имеется возможность назначать наборы дополнительных свойств как в целом для всех элементов справочника, так и для части его элементов по определенным критериям.

                                            Администрирование наборов дополнительных свойств осуществляется по команде Наборы дополнительных реквизитов и сведений на панели навигации в разделе Настройка и администрирование.

                                            \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Свойства.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Свойства.mdo index f60061613..ea630b6d3 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Свойства.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/Свойства/Свойства.mdo @@ -5,7 +5,6 @@ ru Свойства - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ТекущиеДела/ТекущиеДела.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ТекущиеДела/ТекущиеДела.mdo new file mode 100644 index 000000000..077cb965c --- /dev/null +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ТекущиеДела/ТекущиеДела.mdo @@ -0,0 +1,15 @@ + + + ТекущиеДела + + ru + Текущие дела + + CommonModule.ТекущиеДелаСлужебный + DataProcessor.ТекущиеДела + StyleItem.ЗаголовокДелаЦвет + CommonModule.ТекущиеДелаПереопределяемый + CommonModule.ТекущиеДелаСлужебныйПовтИсп + Role.ИспользованиеТекущихДел + Subsystem.СтандартныеПодсистемы + diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/Help/ru.html index a3d725f54..18fdda89c 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                            \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/УправлениеДоступом.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/УправлениеДоступом.mdo index e58743437..2cc932743 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/УправлениеДоступом.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеДоступом/УправлениеДоступом.mdo @@ -5,7 +5,6 @@ ru Управление доступом - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/Help/ru.html b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/Help/ru.html index 49f6d5e58..0948cb2c5 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/Help/ru.html +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/Help/ru.html @@ -1,2 +1,2 @@ - +

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

                                            \ No newline at end of file diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/УправлениеИтогамиИАгрегатами.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/УправлениеИтогамиИАгрегатами.mdo index c09afce4e..244a4a757 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/УправлениеИтогамиИАгрегатами.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/УправлениеИтогамиИАгрегатами/УправлениеИтогамиИАгрегатами.mdo @@ -5,7 +5,6 @@ ru Управление итогами и агрегатами - true ru diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ФайловыеФункции/ФайловыеФункции.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ФайловыеФункции/ФайловыеФункции.mdo index cc371fe76..9036c56f2 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ФайловыеФункции/ФайловыеФункции.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/Subsystems/ФайловыеФункции/ФайловыеФункции.mdo @@ -5,7 +5,6 @@ ru Файловые функции - true CommonForm.ВыборДействияПриОбнаруженииОтличийФайла ScheduledJob.ИзвлечениеТекста CommonModule.ФайловыеФункцииСлужебный @@ -52,5 +51,9 @@ CommonModule.ФайловыеФункцииСлужебныйВызовСервера CommonModule.ФайловыеФункции CommonCommand.СозданиеНачальногоОбразаСФайлами + CommonPicture.ПодписанЗашифрованЗаголовок + CommonPicture.ПодписанЗашифрованСостояния + CommonForm.ФайлыВТоме + CommonCommand.ФайлыВТоме Subsystem.СтандартныеПодсистемы diff --git a/SSL/src/Subsystems/СтандартныеПодсистемы/СтандартныеПодсистемы.mdo b/SSL/src/Subsystems/СтандартныеПодсистемы/СтандартныеПодсистемы.mdo index f86dc7a7c..9a2cdafe4 100644 --- a/SSL/src/Subsystems/СтандартныеПодсистемы/СтандартныеПодсистемы.mdo +++ b/SSL/src/Subsystems/СтандартныеПодсистемы/СтандартныеПодсистемы.mdo @@ -5,7 +5,6 @@ ru Стандартные подсистемы - true АдресныйКлассификатор АнализЖурналаРегистрации Анкетирование @@ -21,6 +20,7 @@ ДатыЗапретаИзменения ДополнительныеОтчетыИОбработки ЗавершениеРаботыПользователей + ЗагрузкаДанныхИзФайла ЗаметкиПользователя ЗапретРедактированияРеквизитовОбъектов ЗащитаПерсональныхДанных @@ -52,6 +52,7 @@ РезервноеКопированиеИБ Свойства СтруктураПодчиненности + ТекущиеДела УправлениеДоступом УправлениеИтогамиИАгрегатами ФайловыеФункции diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Form.form index 8e00f866c..22ff3a690 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Form.form @@ -1,5 +1,5 @@ - + <key>ru</key> <value>Дополнительно</value> @@ -324,20 +324,169 @@ <textSize>Normal</textSize> </extInfo> </items> - <items xsi:type="form:FormField"> - <name>ОсновнойОбъектАдресации</name> - <id>31</id> + <items xsi:type="form:FormGroup"> + <name>ГруппаУточнение</name> + <id>92</id> + <items xsi:type="form:Decoration"> + <name>Отступ</name> + <id>96</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <extendedTooltip> + <name>ОтступРасширеннаяПодсказка</name> + <id>98</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ОтступКонтекстноеМеню</name> + <id>97</id> + <autoFill>true</autoFill> + </contextMenu> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </items> + <items xsi:type="form:FormGroup"> + <name>ГруппаОтступ</name> + <id>94</id> + <items xsi:type="form:FormField"> + <name>ОсновнойОбъектАдресации</name> + <id>31</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Объект.ОсновнойОбъектАдресации</segments> + </dataPath> + <extendedTooltip> + <name>ОсновнойОбъектАдресацииExtendedTooltip</name> + <id>84</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ОсновнойОбъектАдресацииКонтекстноеМеню</name> + <id>32</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <readOnly>true</readOnly> + <editMode>Enter</editMode> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <openButton>true</openButton> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> + <items xsi:type="form:FormField"> + <name>ДополнительныйОбъектАдресации</name> + <id>33</id> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <dataPath xsi:type="form:DataPath"> + <segments>Объект.ДополнительныйОбъектАдресации</segments> + </dataPath> + <extendedTooltip> + <name>ДополнительныйОбъектАдресацииExtendedTooltip</name> + <id>85</id> + <type>Label</type> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <extInfo xsi:type="form:LabelDecorationExtInfo"> + <horizontalAlign>Left</horizontalAlign> + </extInfo> + </extendedTooltip> + <contextMenu> + <name>ДополнительныйОбъектАдресацииКонтекстноеМеню</name> + <id>34</id> + <autoFill>true</autoFill> + </contextMenu> + <type>InputField</type> + <readOnly>true</readOnly> + <editMode>Enter</editMode> + <showInHeader>true</showInHeader> + <headerHorizontalAlign>Left</headerHorizontalAlign> + <showInFooter>true</showInFooter> + <extInfo xsi:type="form:InputFieldExtInfo"> + <autoMaxWidth>true</autoMaxWidth> + <autoMaxHeight>true</autoMaxHeight> + <wrap>true</wrap> + <openButton>true</openButton> + <chooseType>true</chooseType> + <typeDomainEnabled>true</typeDomainEnabled> + <textEdit>true</textEdit> + <textSize>Normal</textSize> + </extInfo> + </items> + <visible>true</visible> + <enabled>true</enabled> + <userVisible> + <common>true</common> + </userVisible> + <title> + <key>ru</key> + <value>Группа отступ</value> + + + ГруппаОтступРасширеннаяПодсказка + 95 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + true true true - - Объект.ОсновнойОбъектАдресации - + + <key>ru</key> + <value>Уточнение</value> + - ОсновнойОбъектАдресацииExtendedTooltip - 84 + ГруппаУточнениеРасширеннаяПодсказка + 93 Label true true @@ -345,69 +494,13 @@ Left - - ОсновнойОбъектАдресацииКонтекстноеМеню - 32 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal - - - - ДополнительныйОбъектАдресации - 33 - true - true - - true - - - Объект.ДополнительныйОбъектАдресации - - - ДополнительныйОбъектАдресацииExtendedTooltip - 85 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 34 - true - - InputField - true - Enter - true - Left - true - - true - true - true - true - true - true - true - Normal + UsualGroup + + Auto + true + true + Auto + Auto true @@ -419,13 +512,7 @@ ru Задача адресована - - System.DefaultGUIFont - true - false - false - false - + true ГруппаАдресацияExtendedTooltip 81 @@ -440,7 +527,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto @@ -542,13 +629,6 @@ ru Бизнес-процесс - - System.DefaultGUIFont - true - false - false - false - true ГруппаБизнесПроцессExtendedTooltip @@ -564,7 +644,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true auto @@ -658,13 +738,6 @@ ru Результат выполнения задачи - - System.DefaultGUIFont - true - false - false - false - true true @@ -680,7 +753,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true auto diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Help/ru.html index 4c5c54ec9..f95c872ba 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Help/ru.html +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Help/ru.html @@ -1,5 +1,18 @@ - -

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

                                            -

                                            См. также:

                                            - \ No newline at end of file + +

                                            Предназначена для просмотра основных сведений о задаче (редактирование недоступно).

                                            +

                                            Открывается из окна задачи по команде Еще (Все действия) - Дополнительно.

                                            +

                                            Сведения о задаче

                                            +

                                            перечислены общие данные для всех типов задач, такие как:

                                            +
                                            • Задача - наименование задачи; +
                                            • Номер - проставляется программой автоматически; +
                                            • Записана - дата и время создания задачи, проставляется программой автоматически; +
                                            • Срок - дата и время, до которого необходимо выполнить задачу.

                                            Задача адресована

                                            +

                                            Бизнес-процесс

                                            +

                                            Результат выполнения задачи

                                            +

                                            Реквизиты этой группы заполнены, если задача выполнена:

                                            +
                                            • флажок Выполнена +
                                            • Выполнена - дата и время выполнения задачи.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Module.bsl index f6cba4849..a0c6b794e 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/Дополнительно/Module.bsl @@ -13,6 +13,8 @@ БизнесПроцессыИЗадачиСервер.УстановитьФорматДаты(Элементы.Дата); БизнесПроцессыИЗадачиСервер.УстановитьФорматДаты(Элементы.ДатаИсполнения); + СтандартныеПодсистемыСервер.УстановитьОтображениеЗаголовковГрупп(ЭтотОбъект); + КонецПроцедуры #КонецОбласти diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Form.form index ebecb563d..fdf499138 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Form.form @@ -5,35 +5,41 @@ Задачи бизнес-процесса - КоманднаяПанельСписка - 52 - - ФормаОбновить - 55 - true - true - - true - - - ФормаОбновитьExtendedTooltip - 57 - Label - true - true - - Left - - - Form.Command.Обновить - Normal - Auto + ГруппаПользовательскихНастроек + 85 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 86 + Label true true - UserCmds - Auto - InAdditionalSubmenu - + + Left + +
                                            + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + КоманднаяПанельСписка + 52 true true @@ -43,12 +49,8 @@ ru Командная панель списка - - ru - Командная панель списка - - КоманднаяПанельСпискаExtendedTooltip + КоманднаяПанельСпискаРасширеннаяПодсказка 56 Label true @@ -78,6 +80,46 @@ false None Refresh + + Наименование + 6 + true + true + + true + + + Список.Description + + + НаименованиеExtendedTooltip + 60 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 7 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + Номер 4 @@ -123,56 +165,12 @@ Normal
                                            - - Наименование - 6 - - <key>ru</key> - <value>Задача</value> - - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 60 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 7 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - Дата 8 <key>ru</key> - <value>Создана</value> + <value>Записана</value> true true @@ -203,6 +201,7 @@ Left true + 10 true true true @@ -256,9 +255,7 @@ 23 true true - - true - + Список.Предмет @@ -287,16 +284,17 @@ true - - СписокКоманднаяПанель - 3 - Left - - - СписокСтрокаПоиска + + Ссылка 82 + true + true + + + Список.Ref + - СписокСтрокаПоискаРасширеннаяПодсказка + СсылкаРасширеннаяПодсказка 84 Label true @@ -306,10 +304,43 @@
                                            - СписокСтрокаПоискаКонтекстноеМеню + СсылкаКонтекстноеМеню 83 true + LabelField + Enter + true + Left + true + + true + true + + + + СписокКоманднаяПанель + 3 + Left + + + СписокСтрокаПоиска + 87 + + СписокСтрокаПоискаРасширеннаяПодсказка + 89 + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 88 + true + Список true @@ -317,10 +348,10 @@ СписокСостояниеПросмотра - 85 + 90 СписокСостояниеПросмотраРасширеннаяПодсказка - 87 + 92 Label true true @@ -330,7 +361,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 86 + 91 true ViewStatusAddition @@ -341,10 +372,10 @@ СписокУправлениеПоиском - 88 + 93 СписокУправлениеПоискомРасширеннаяПодсказка - 90 + 95 Label true true @@ -354,7 +385,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 89 + 94 true SearchControlAddition @@ -409,6 +440,7 @@ true + ГруппаПользовательскихНастроек @@ -474,9 +506,9 @@ Left true + 2 true true - true true CommonPicture.КоллекцияВариантыВажности @@ -492,9 +524,7 @@ 49 true true - - true - + ДеревоЗадач.Выполнена @@ -568,9 +598,9 @@ Left true + 2 true true - true true CommonPicture.ЗнакСтоп @@ -905,10 +935,10 @@ ДеревоЗадачСтрокаПоиска - 104 + 110 ДеревоЗадачСтрокаПоискаРасширеннаяПодсказка - 106 + 112 Label true true @@ -918,7 +948,7 @@ ДеревоЗадачСтрокаПоискаКонтекстноеМеню - 105 + 111 true ДеревоЗадач @@ -928,10 +958,10 @@ ДеревоЗадачСостояниеПросмотра - 107 + 113 ДеревоЗадачСостояниеПросмотраРасширеннаяПодсказка - 109 + 115 Label true true @@ -941,7 +971,7 @@ ДеревоЗадачСостояниеПросмотраКонтекстноеМеню - 108 + 114 true ViewStatusAddition @@ -952,10 +982,10 @@ ДеревоЗадачУправлениеПоиском - 110 + 116 ДеревоЗадачУправлениеПоискомРасширеннаяПодсказка - 112 + 118 Label true true @@ -965,7 +995,7 @@ ДеревоЗадачУправлениеПоискомКонтекстноеМеню - 111 + 117 true SearchControlAddition @@ -1205,6 +1235,9 @@ Список.BusinessProcess + + Список.Ref +
                                            true
                                            Task.ЗадачаИсполнителя diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Help/ru.html new file mode 100644 index 000000000..7811e456b --- /dev/null +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Help/ru.html @@ -0,0 +1,18 @@ + +

                                            Предназначен для просмотра задач по бизнес-процессу.

                                            +

                                            Открывается из бизнес-процесса (например, Задания) по команде Задачи панели навигации.

                                            +

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

                                            +

                                            В списке выводится:

                                            +
                                            •  - важность, принимает значения Обычная (по умолчанию), Низкая, Высокая. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выбираются соответствующие значения этого поля. +
                                            •  - остановленные бизнес-процессы в этой колонке обозначаются значком . Для того чтобы Остановить или Продолжить бизнес-процесс, воспользуйтесь соответствующими кнопками. +
                                            • Наименование - полное наименование задачи. Рядом проставляется значок  Задача. +
                                            • Исполнитель задачи; +
                                            • Срок исполнения - дата и время, к которому Задание должно быть выполнено.

                                            Изменение режима просмотра

                                            +

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

                                            +

                                            Просмотр задачи

                                            +
                                            • +
                                              Нажмите Изменить, для того чтобы открыть задачу для просмотра или редактирования.
                                              +
                                            • +
                                              Также можно использовать двойной щелчок левой кнопкой мыши.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Module.bsl index 5dd304a1c..f14a06f1d 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоБизнесПроцессу/Module.bsl @@ -39,8 +39,7 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры &НаКлиенте @@ -89,7 +88,7 @@ Процедура Обновить(Команда) ЗаполнитьДеревоЗадач(); - Для каждого Строка ИЗ ДеревоЗадач.ПолучитьЭлементы() Цикл + Для каждого Строка Из ДеревоЗадач.ПолучитьЭлементы() Цикл Элементы.ДеревоЗадач.Развернуть(Строка.ПолучитьИдентификатор(), Истина); КонецЦикла; diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Form.form index 806b138fb..80c2d66c4 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Form.form @@ -4,9 +4,180 @@ ru Задачи по предмету + + ГруппаПользовательскихНастроек + 130 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 131 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + КоманднаяПанельСписка 50 + + ГруппаПринятьКИсполнению + 120 + + ПринятьКИсполнению + 122 + + <key>ru</key> + <value>К исполнению</value> + + true + true + + true + + + ПринятьКИсполнениюExtendedTooltip + 123 + Label + true + true + + Left + + + Form.Command.Изменить + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПринятиеКИсполнению + 124 + true + true + + true + + + ОтменитьПринятиеКИсполнениюExtendedTooltip + 125 + Label + true + true + + Left + + + Form.Command.Обновить + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяВыполнено + 126 + true + true + + true + + + ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip + 127 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Выполнено + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяПеренаправить + 128 + true + true + + true + + + ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip + 129 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Перенаправить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа принять к исполнению</value> + + + ru + Группа принять к исполнению + + + ГруппаПринятьКИсполнениюРасширеннаяПодсказка + 121 + Label + true + true + + Left + + + + true true @@ -50,264 +221,33 @@ true false None - - ВажностьКартинка - 52 - - <key>ru</key> - <value>Важность</value> - - true - true - - true - - - Список.ВажностьКартинка - - None - Ctrl+S - - ru - Важность - - - ВажностьКартинкаExtendedTooltip - 67 - Label - true - true - - Left - - - - ВажностьКартинкаКонтекстноеМеню - 53 - true - - PictureField - Enter - true - - CommonPicture.ВосклицательныйЗнакСерый - - Left - true - - true - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - - - - - ЗадачаВыполнена - 54 - true - true - - true - - - Список.Executed - - None - - ru - Выполненные - - - ЗадачаВыполненаExtendedTooltip - 68 - Label - true - true - - Left - - - - ЗадачаВыполненаКонтекстноеМеню - 55 - true - - CheckBoxField - Enter - true - - StdPicture.ExecuteTask - - Left - true - - - - Остановлена - 56 - true - true - - true - - - Список.Остановлена - - None - - ru - Остановленные - - - ОстановленаExtendedTooltip - 69 - Label - true - true - - Left - - - - ОстановленаКонтекстноеМеню - 57 - true - - PictureField - Enter - true - - CommonPicture.ЗнакСтопЧБ - - Left - true - - true - true - true - true - - CommonPicture.ЗнакСтоп - - - - 1 - - - - - Номер - 4 - - <key>ru</key> - <value>Номер</value> - - true - true - - true - - - Список.Number - - true - - НомерExtendedTooltip - 70 - Label - true - true - - Left - - - - НомерКонтекстноеМеню - 5 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Наименование - 6 - - <key>ru</key> - <value>Задача</value> - - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 71 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 7 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - ГруппаИсполнитель - 64 + ГруппаВажность + 99 - Исполнитель - 18 + ВажностьКартинка + 52 + + <key>ru</key> + <value>Важность</value> + true true true - Список.Исполнитель + Список.ВажностьКартинка + None + Ctrl+S + + ru + Важность + - ИсполнительExtendedTooltip - 73 + ВажностьКартинкаExtendedTooltip + 67 Label true true @@ -316,39 +256,51 @@
                                            - ИсполнительКонтекстноеМеню - 19 + ВажностьКартинкаКонтекстноеМеню + 53 true - InputField + PictureField Enter true + + CommonPicture.ВосклицательныйЗнакСерый + Left true - + + 2 true true - true - true - true - Normal + true + + CommonPicture.КоллекцияВариантыВажности + + + + 1 +
                                            - РольИсполнителя - 58 + Остановлена + 56 true true true - Список.РольИсполнителя + Список.Остановлена None + + ru + Остановленные + - РольИсполнителяExtendedTooltip - 74 + ОстановленаExtendedTooltip + 69 Label true true @@ -357,92 +309,30 @@ - РольИсполнителяКонтекстноеМеню - 59 + ОстановленаКонтекстноеМеню + 57 true - LabelField + PictureField Enter true + + CommonPicture.ЗнакСтопЧБ + Left true - - true - true - - - - ОсновнойОбъектАдресации - 60 - true - true - - true - - - Список.ОсновнойОбъектАдресации - - None - - ОсновнойОбъектАдресацииExtendedTooltip - 75 - Label - true - true - - Left - - - - ОсновнойОбъектАдресацииКонтекстноеМеню - 61 - true - - LabelField - Enter - true - Left - true - - true - true - - - - ДополнительныйОбъектАдресации - 62 - true - true - - true - - - Список.ДополнительныйОбъектАдресации - - None - - ДополнительныйОбъектАдресацииExtendedTooltip - 76 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 63 - true - - LabelField - Enter - true - Left - true - + + 2 true true + true + + CommonPicture.ЗнакСтоп + + + + 1 + true @@ -452,12 +342,15 @@ <key>ru</key> - <value>Исполнитель</value> + <value>Группа важность</value> - 35 + + ru + Группа важность + - ГруппаИсполнительExtendedTooltip - 72 + ГруппаВажностьРасширеннаяПодсказка + 100 Label true true @@ -467,25 +360,650 @@ ColumnGroup - InCell + Vertical auto true - - СрокИсполнения - 23 + + ГруппаОписание + 103 + + ГруппаНаименование + 101 + + Наименование + 6 + + <key>ru</key> + <value>Задача</value> + + true + true + + true + + + Список.Description + + + НаименованиеExtendedTooltip + 71 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 7 + true + + InputField + Enter + true + Left + true + + 30 + true + true + true + true + true + Normal + + + + Номер + 4 + + <key>ru</key> + <value>Номер</value> + + true + true + + true + + + Список.Number + + true + + НомерExtendedTooltip + 70 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 5 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа наименование</value> + + + ru + Группа наименование + + + ГруппаНаименованиеРасширеннаяПодсказка + 102 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + ГруппаАвтор + 105 + + Автор + 107 + true + true + + true + + + Список.Автор + + + АвторРасширеннаяПодсказка + 109 + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 108 + true + + LabelField + Enter + true + Left + true + + 30 + true + true + + + + Дата + 110 + true + true + + true + + + Список.Date + + + ДатаРасширеннаяПодсказка + 112 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 111 + true + + LabelField + Enter + true + Left + true + + true + true + false + + + true + true + + true + + + <key>ru</key> + <value>Группа автор</value> + + + ru + Группа автор + + + ГруппаАвторРасширеннаяПодсказка + 106 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + true true true + + <key>ru</key> + <value>Группа описание</value> + + + ru + Группа описание + + + ГруппаОписаниеРасширеннаяПодсказка + 104 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + ГруппаИсполнение + 113 + + ГруппаИсполнитель + 64 + + Исполнитель + 18 + true + true + + true + + + Список.Исполнитель + + + ИсполнительExtendedTooltip + 73 + Label + true + true + + Left + + + + ИсполнительКонтекстноеМеню + 19 + true + + InputField + Enter + true + Left + true + + 5 + true + true + true + true + true + Normal + + + + РольИсполнителя + 58 + true + true + + true + + + Список.РольИсполнителя + + None + + РольИсполнителяExtendedTooltip + 74 + Label + true + true + + Left + + + + РольИсполнителяКонтекстноеМеню + 59 + true + + LabelField + Enter + true + Left + true + + 5 + true + true + + + + ОсновнойОбъектАдресации + 60 + true + true + + true + + + Список.ОсновнойОбъектАдресации + + None + + ОсновнойОбъектАдресацииExtendedTooltip + 75 + Label + true + true + + Left + + + + ОсновнойОбъектАдресацииКонтекстноеМеню + 61 + true + + LabelField + Enter + true + Left + true + + 5 + true + true + + + + ДополнительныйОбъектАдресации + 62 + true + true + + true + + + Список.ДополнительныйОбъектАдресации + + None + + ДополнительныйОбъектАдресацииExtendedTooltip + 76 + Label + true + true + + Left + + + + ДополнительныйОбъектАдресацииКонтекстноеМеню + 63 + true + + LabelField + Enter + true + Left + true + + 5 + true + true + + + true + true + + true + + + <key>ru</key> + <value>Исполнитель</value> + + 35 + + ГруппаИсполнительExtendedTooltip + 72 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + ГруппаСрокИсполнения + 115 + + СрокИсполнения + 23 + true + true + + true + + + Список.СрокИсполнения + + + СрокИсполненияExtendedTooltip + 77 + Label + true + true + + Left + + + + СрокИсполненияКонтекстноеМеню + 24 + true + + LabelField + Enter + true + Left + true + + true + true + + ru + ДЛФ=D + + + + + ЗадачаВыполнена + 54 + true + true + + + Список.Executed + + None + + ru + Выполненные + + + ЗадачаВыполненаExtendedTooltip + 68 + Label + true + true + + Left + + + + ЗадачаВыполненаКонтекстноеМеню + 55 + true + + CheckBoxField + Enter + true + + StdPicture.ExecuteTask + + Left + true + + + + ДатаИсполнения + 117 + true + true + + true + + + Список.ДатаИсполнения + + + ДатаИсполненияРасширеннаяПодсказка + 119 + Label + true + true + + Left + + + + ДатаИсполненияКонтекстноеМеню + 118 + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа срок исполнения</value> + + + ru + Группа срок исполнения + + + ГруппаСрокИсполненияРасширеннаяПодсказка + 116 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + true + true + + true + + + <key>ru</key> + <value>Группа исполнение</value> + + + ru + Группа исполнение + + + ГруппаИсполнениеРасширеннаяПодсказка + 114 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + Ссылка + 96 + true + true + - Список.СрокИсполнения + Список.Ref - СрокИсполненияExtendedTooltip - 77 + СсылкаРасширеннаяПодсказка + 98 Label true true @@ -494,8 +1012,8 @@ - СрокИсполненияКонтекстноеМеню - 24 + СсылкаКонтекстноеМеню + 97 true LabelField @@ -506,10 +1024,6 @@ true true - - ru - ДЛФ=D - None @@ -521,10 +1035,10 @@ СписокСтрокаПоиска - 96 + 132 СписокСтрокаПоискаРасширеннаяПодсказка - 98 + 134 Label true true @@ -534,7 +1048,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 97 + 133 true Список @@ -544,10 +1058,10 @@ СписокСостояниеПросмотра - 99 + 135 СписокСостояниеПросмотраРасширеннаяПодсказка - 101 + 137 Label true true @@ -557,7 +1071,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 100 + 136 true ViewStatusAddition @@ -568,10 +1082,10 @@ СписокУправлениеПоиском - 102 + 138 СписокУправлениеПоискомРасширеннаяПодсказка - 104 + 140 Label true true @@ -581,7 +1095,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 103 + 139 true SearchControlAddition @@ -636,6 +1150,7 @@ true + ГруппаПользовательскихНастроек @@ -739,9 +1254,9 @@ Left true + 2 true true - true true CommonPicture.КоллекцияВариантыВажности @@ -757,9 +1272,7 @@ 30 true true - - true - + ДеревоЗадач.Выполнена @@ -833,9 +1346,9 @@ Left true + 2 true true - true true CommonPicture.ЗнакСтоп @@ -1178,10 +1691,10 @@ ДеревоЗадачСтрокаПоиска - 124 + 164 ДеревоЗадачСтрокаПоискаРасширеннаяПодсказка - 126 + 166 Label true true @@ -1191,7 +1704,7 @@ ДеревоЗадачСтрокаПоискаКонтекстноеМеню - 125 + 165 true ДеревоЗадач @@ -1201,10 +1714,10 @@ ДеревоЗадачСостояниеПросмотра - 127 + 167 ДеревоЗадачСостояниеПросмотраРасширеннаяПодсказка - 129 + 169 Label true true @@ -1214,7 +1727,7 @@ ДеревоЗадачСостояниеПросмотраКонтекстноеМеню - 128 + 168 true ViewStatusAddition @@ -1225,10 +1738,10 @@ ДеревоЗадачУправлениеПоиском - 130 + 170 ДеревоЗадачУправлениеПоискомРасширеннаяПодсказка - 132 + 172 Label true true @@ -1238,7 +1751,7 @@ ДеревоЗадачУправлениеПоискомКонтекстноеМеню - 131 + 171 true SearchControlAddition @@ -1434,6 +1947,9 @@ true + + Список.Ref +
                                            true
                                            ВЫБРАТЬ diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Help/ru.html new file mode 100644 index 000000000..c6375f897 --- /dev/null +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Help/ru.html @@ -0,0 +1,16 @@ + +

                                            Предназначен для просмотра задач, созданных по объекту программы.

                                            +

                                            Открывается из объекта программы по команде Задачи панели навигации.

                                            +

                                            Красным цветом обозначаются просроченные задачи. Выполненные задачи становятся неактивными, выделяются серым цветом.

                                            +

                                            В списке выводится:

                                            +
                                            •  - важность, принимает значения Обычная (по умолчанию), Низкая, Высокая. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выбираются соответствующие значения этого поля. +
                                            •  - остановленные бизнес-процессы в этой колонке обозначаются значком . Для того чтобы Остановить или Продолжить бизнес-процесс, воспользуйтесь соответствующими кнопками. +
                                            • Задача - полное наименование задачи. Рядом проставляется значок  Задача. +
                                            • Исполнитель задачи; +
                                            • Срок - дата и время, к которому Задание должно быть выполнено.

                                            Просмотр задачи

                                            +
                                            • +
                                              Нажмите Изменить, для того чтобы открыть задачу для просмотра или редактирования.
                                              +
                                            • +
                                              Также можно использовать двойной щелчок левой кнопкой мыши.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Module.bsl index 406dbfbb8..f52b5a907 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ЗадачиПоПредмету/Module.bsl @@ -39,8 +39,7 @@ // Установка отбора динамического списка. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры &НаКлиенте @@ -84,7 +83,7 @@ Процедура Обновить(Команда) ОбновитьСписокЗадач(); - Для каждого Строка ИЗ ДеревоЗадач.ПолучитьЭлементы() Цикл + Для каждого Строка Из ДеревоЗадач.ПолучитьЭлементы() Цикл Элементы.ДеревоЗадач.Развернуть(Строка.ПолучитьИдентификатор(), Истина); КонецЦикла; diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Form.form index d81943669..a181425f9 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Form.form @@ -4,179 +4,71 @@ ru Мои задачи + + ГруппаПользовательскихНастроек + 126 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + ОсновнаяКоманднаяПанель 1 - - ПринятьКИсполнению1 - 80 - true - true - - true - - - ПринятьКИсполнению1ExtendedTooltip - 86 - Label - true - true - - Left - - - Form.Command.ПринятьКИсполнению - Normal - Auto - true - true - UserCmds - Auto - - - ЗадачаЗадачаИсполнителяВыполнено - 82 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip - 87 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Выполнено - Normal - Auto - true - true - UserCmds - Auto - - - ЗадачаЗадачаИсполнителяПеренаправить - 83 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip - 88 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Перенаправить - Normal - Auto - true - true - UserCmds - Auto - - - Изменить - 84 - true - true - - true - - - ИзменитьExtendedTooltip - 89 - Label - true - true - - Left - - - Form.Item.Список.StandardCommand.Change - Normal - Auto - true - true - UserCmds - Auto - - - ОтменитьПринятиеКИсполнению1 - 81 - true - true - - true - - - ОтменитьПринятиеКИсполнению1ExtendedTooltip - 90 - Label - true - true - - Left - - - Form.Command.ОтменитьПринятиеКИсполнению - Normal - Auto - true - true - UserCmds - Auto - InAdditionalSubmenu - - - КоманднаяПанельСписка - 48 - true - true - - true - - - <key>ru</key> - <value>Командная панель списка</value> - - - ru - Командная панель списка - - - КоманднаяПанельСпискаExtendedTooltip - 91 - Label - true - true - - Left - - - - Item.Список - - СгруппироватьПо 51 + + СписокСгруппироватьПоСроку + 132 + true + true + + true + + + СписокСгруппироватьПоСрокуРасширеннаяПодсказка + 133 + Label + true + true + + Left + + + Form.Command.СгруппироватьПоСроку + Normal + Auto + true + true + UserCmds + Auto + СписокСгруппироватьПоВажности 52 @@ -341,6 +233,314 @@ Normal
                                            + + ГруппаОткрыть + 140 + + ФормаИзменить + 138 + + <key>ru</key> + <value>Открыть задачу</value> + + true + true + + true + + + ФормаИзменитьРасширеннаяПодсказка + 139 + Label + true + true + + Left + + + Form.StandardCommand.Change + Normal + Auto + true + true + UserCmds + Auto + + + ОткрытьПредметЗадачи + 134 + true + true + + true + + + ОткрытьПредметЗадачиРасширеннаяПодсказка + 135 + Label + true + true + + Left + + + Form.Command.ОткрытьПредметЗадачи + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ОткрытьБизнесПроцесс + 136 + true + true + + true + + + ОткрытьБизнесПроцессРасширеннаяПодсказка + 137 + Label + true + true + + Left + + + Form.Command.ОткрытьБизнесПроцесс + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Группа открыть</value> + + + ГруппаОткрытьРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + + + + КоманднаяПанельСписка + 48 + + ФормаНайти + 128 + true + true + + true + + + ФормаНайтиРасширеннаяПодсказка + 129 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ФормаОтменитьПоиск + 130 + true + true + + true + + + ФормаОтменитьПоискРасширеннаяПодсказка + 131 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + true + true + + true + + + <key>ru</key> + <value>Командная панель списка</value> + + + ru + Командная панель списка + + + КоманднаяПанельСпискаExtendedTooltip + 91 + Label + true + true + + Left + + + + Form + + + + ПринятьКИсполнению + 80 + + <key>ru</key> + <value>К исполнению</value> + + true + true + + true + + + ПринятьКИсполнениюРасширеннаяПодсказка + 86 + Label + true + true + + Left + + + Form.Command.ПринятьКИсполнению + Normal + Auto + true + true + UserCmds + Auto + + + ЗадачаЗадачаИсполнителяВыполнено + 82 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip + 87 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Выполнено + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяПеренаправить + 83 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip + 88 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Перенаправить + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПринятиеКИсполнению + 81 + true + true + + true + + + ОтменитьПринятиеКИсполнениюРасширеннаяПодсказка + 90 + Label + true + true + + Left + + + Form.Command.ОтменитьПринятиеКИсполнению + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + КоманднаяПанельФормы 8 @@ -363,33 +563,6 @@ FormCommandPanelGlobalCommands - - ИзменитьФорму - 56 - true - true - - true - - false - - ИзменитьФормуExtendedTooltip - 99 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - Справка 65 @@ -783,6 +956,40 @@ true + + Ссылка + 123 + true + true + + + Список.Ref + + + СсылкаРасширеннаяПодсказка + 125 + Label + true + true + + Left + + + + СсылкаКонтекстноеМеню + 124 + true + + LabelField + Enter + true + Left + true + + true + true + + None СписокКоманднаяПанель @@ -796,10 +1003,10 @@ СписокСтрокаПоиска - 123 + 146 СписокСтрокаПоискаРасширеннаяПодсказка - 125 + 148 Label true true @@ -809,7 +1016,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 124 + 147 true Список @@ -819,10 +1026,10 @@ СписокСостояниеПросмотра - 126 + 149 СписокСостояниеПросмотраРасширеннаяПодсказка - 128 + 151 Label true true @@ -832,7 +1039,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 127 + 150 true ViewStatusAddition @@ -843,10 +1050,10 @@ СписокУправлениеПоиском - 129 + 152 СписокУправлениеПоискомРасширеннаяПодсказка - 131 + 154 Label true true @@ -856,7 +1063,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 130 + 153 true SearchControlAddition @@ -881,6 +1088,10 @@ СписокКонтекстноеМенюИзменить 70 + + <key>ru</key> + <value>Открыть задачу</value> + true true @@ -904,11 +1115,63 @@ UserCmds Auto + + СписокКонтекстноеМенюОткрытьПредметЗадачи + 142 + true + true + + true + + + СписокКонтекстноеМенюОткрытьПредметЗадачиРасширеннаяПодсказка + 143 + Label + true + true + + Left + + + Form.Command.ОткрытьПредметЗадачи + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьБизнесПроцесс + 144 + true + true + + true + + + СписокКонтекстноеМенюОткрытьБизнесПроцессРасширеннаяПодсказка + 145 + Label + true + true + + Left + + + Form.Command.ОткрытьБизнесПроцесс + Normal + Auto + true + true + UserCmds + Auto + СписокКонтекстноеМенюГруппа 71 - ПринятьКИсполнению + СписокКонтекстноеМенюПринятьКИсполнению 68 true true @@ -916,7 +1179,7 @@ true - ПринятьКИсполнениюExtendedTooltip + СписокКонтекстноеМенюПринятьКИсполнениюРасширеннаяПодсказка 103 Label true @@ -934,7 +1197,7 @@ Auto - ОтменитьПринятиеКИсполнению + СписокКонтекстноеМенюОтменитьПринятиеКИсполнению 69 true true @@ -942,7 +1205,7 @@ true - ОтменитьПринятиеКИсполнениюExtendedTooltip + СписокКонтекстноеМенюОтменитьПринятиеКИсполнениюРасширеннаяПодсказка 104 Label true @@ -1182,6 +1445,7 @@ true true + 10 true true MultiRow @@ -1218,6 +1482,7 @@ true true + ГруппаПользовательскихНастроек @@ -1232,6 +1497,10 @@ ПоказыватьВыполненные Right + + ru + Показывать выполненные задачи + OnChange ПоказыватьВыполненныеПриИзменении @@ -1301,6 +1570,15 @@ true + + Список.BusinessProcess + + + Список.Ref + + + Список.Предмет + Список.ПринятаКИсполнению @@ -1318,11 +1596,12 @@ ЗадачиПоИсполнителю.СрокИсполнения, ВЫБОР КОГДА ЗадачиПоИсполнителю.ДатаНачала = &НезаполненнаяДата - ТОГДА &ТекущаяДата + ТОГДА &НачалоДня ИНАЧЕ ЗадачиПоИсполнителю.ДатаНачала КОНЕЦ КАК ДатаНачала, ЗадачиПоИсполнителю.ДатаИсполнения, ЗадачиПоИсполнителю.Важность, + ЗадачиПоИсполнителю.Описание, ЗадачиПоИсполнителю.РольИсполнителя, ЗадачиПоИсполнителю.Исполнитель, ЗадачиПоИсполнителю.Представление, @@ -1335,7 +1614,19 @@ КОГДА ЗадачиПоИсполнителю.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиЗадачи.Высокая) ТОГДА 2 ИНАЧЕ 1 - КОНЕЦ КАК ВажностьКартинка + КОНЕЦ КАК ВажностьКартинка, + ЗадачиПоИсполнителю.Предмет, + ВЫБОР + КОГДА ЗадачиПоИсполнителю.СрокИсполнения <= &ТекущаяДата + ТОГДА &Просрочено + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &ТекущаяДата И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецДня + ТОГДА &Сегодня + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &КонецДня И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецНедели + ТОГДА &ЭтаНеделя + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &КонецНедели И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецСледующейНедели + ТОГДА &СледующаяНеделя + ИНАЧЕ &Позднее + КОНЕЦ КАК СрокДляГруппировки ИЗ Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю ГДЕ @@ -1388,6 +1679,21 @@ РежимГруппировки + + ПараметрыОтбораФормы + + <key>ru</key> + <value>Параметры отбора формы</value> + + 4 + + + true + + + true + + СгруппироватьПоВажности @@ -1568,6 +1874,72 @@ <currentRowUse>Auto</currentRowUse> <selectedRowsUse>Auto</selectedRowsUse> </formCommands> + <formCommands> + <name>СгруппироватьПоСроку</name> + <title> + <key>ru</key> + <value>Срок</value> + + 9 + + ru + Сгруппировать по сроку + + + true + + + + СгруппироватьПоСроку + + + Auto + Auto + + + ОткрытьБизнесПроцесс + + <key>ru</key> + <value>Открыть бизнес-процесс</value> + + 10 + + ru + Открыть бизнес-процесс + + + true + + + + ОткрытьБизнесПроцесс + + + Auto + Auto + + + ОткрытьПредметЗадачи + + <key>ru</key> + <value>Открыть предмет задачи</value> + + 11 + + ru + Открыть предмет задачи + + + true + + + + ОткрытьПредметЗадачи + + + Auto + Auto + diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Help/ru.html index 0bfe0bf98..8fa181782 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Help/ru.html +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Help/ru.html @@ -1,4 +1,33 @@ - -

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

                                            -

                                            См. также:

                                            - \ No newline at end of file + +

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

                                            +

                                            Открывается по команде Мои задачи в разделе Бизнес-процессы и задачи.

                                            +

                                            Непринятые к исполнению задачи выделяются жирным шрифтом. Красным цветом выделяются просроченные задачи.

                                            +

                                            В списке выводится:

                                            +
                                            •  - важность, принимает значения Обычная (по умолчанию), Низкая, Высокая. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выбираются соответствующие значения этого поля. +
                                            • Номер - присваивается программой автоматически. Выполненные задачи помечаются значком . +
                                            • Задача - полное наименование задачи.  +
                                            • Дата начала выполнения задачи, проставляется исполнителем. Если не заполнена, автоматически проставляется текущая дата. Заполнить поле можно, если в разделе Администрирование - Органайзер установлен флажок Дата начала задач.  +
                                            • Срок - дата и время, к которому Задание должно быть выполнено. Время в сроках исполнения и других датах появляется, если в разделе Администрирование - Органайзер установлен флажок Дата и время в сроках задач. +
                                            • Записана - дата и время ввода задачи.

                                            Группировка

                                            +
                                            • Если задач много, то для удобства работы с ними список можно с помощью соответствующей кнопки Сгруппировать по: +
                                              • сроку; +
                                              • важности, +
                                              • точке маршрута, +
                                              • автору, +
                                              • предмету задачи. 
                                            • Для отмены группировки нажмите Сгруппировать по - Без группировки.

                                            Отбор по периоду

                                            +
                                            • Выполните команду контекстного меню по правой кнопке мыши или меню Еще (Все действия) - Установить интервал дат.

                                            Просмотр задачи

                                            +
                                            • Для просмотра задачи дважды щелкните по нужной строке левой кнопкой мыши. Также можно воспользоваться командой Открыть задачу контекстного меню по правой кнопке мыши или меню Еще (Все действия).

                                            Просмотр предмета

                                            +
                                            • Задачи могут быть созданы на основании объектов программы. Для того чтобы просмотреть предмет задачи, выполните команду Открыть предмет задачи контекстного меню по правой кнопки мыши или меню Еще (Все действия).

                                            Просмотр бизнес-процесса

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

                                            Принятие к исполнению

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

                                            Выполнение

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

                                            Отправка другому исполнителю

                                            +

                                            Подчиненные бизнес-процессы

                                            +
                                            • Также можно Создать на основании этой задачи новый бизнес-процесс, например, Задание (при наличии соответствующих прав).

                                            Напоминание

                                            +
                                            • Для того чтобы не забыть выполнить задачу, можно ввести Напоминание, текст которого будет выведен в указанное время. +
                                            • Нажмите , выберите действие, например, Напомнить, заполните необходимые поля.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Module.bsl index 3edafc7fa..dab6a6e9e 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачи/Module.bsl @@ -8,12 +8,13 @@ Возврат; КонецЕсли; - Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", НачалоДня(ТекущаяДатаСеанса())); - Список.Параметры.УстановитьЗначениеПараметра("НезаполненнаяДата", Дата(1,1,1)); - + БизнесПроцессыИЗадачиСервер.УстановитьПараметрыСпискаМоихЗадач(Список); ПараметрыОтбора = Новый Соответствие(); - ПараметрыОтбора.Вставить("ПоказыватьВыполненные", ПоказыватьВыполненные); - УстановитьОтбор(ПараметрыОтбора); + ПараметрыОтбора.Вставить("ПоказыватьВыполненные", ПоказыватьВыполненные); + УстановитьОтбор(ПараметрыОтбора); + + ПараметрыОтбораФормы = ОбщегоНазначенияКлиентСервер.СкопироватьСтруктуру(Параметры.Отбор); + Параметры.Отбор.Очистить(); ИспользоватьДатуИВремяВСрокахЗадач = ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"); Элементы.СрокИсполнения.Формат = ?(ИспользоватьДатуИВремяВСрокахЗадач, "ДЛФ=DT", "ДЛФ=D"); @@ -24,14 +25,30 @@ ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры &НаСервере Процедура ПередЗагрузкойДанныхИзНастроекНаСервере(Настройки) + + Если ПараметрыОтбораФормы <> Неопределено Тогда + // Перекладываем элементы фиксированного отбора в недоступные пользовательские настройки + Для каждого ЭлементОтбора Из ПараметрыОтбораФормы Цикл + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, ЭлементОтбора.Ключ, ЭлементОтбора.Значение); + КонецЦикла; + + ЗначениеОтбора = Неопределено; + Если ПараметрыОтбораФормы.Свойство("Выполнена", ЗначениеОтбора) Тогда + Настройки["ПоказыватьВыполненные"] = ЗначениеОтбора; + КонецЕсли; + + ПараметрыОтбораФормы.Очистить(); + КонецЕсли; + СгруппироватьПоКолонкеНаСервере(Настройки["РежимГруппировки"]); - УстановитьОтбор(Настройки); + УстановитьОтбор(Настройки); + КонецПроцедуры &НаКлиенте @@ -70,6 +87,11 @@ СгруппироватьПоКолонке("ПредметСтрокой"); КонецПроцедуры +&НаКлиенте +Процедура СгруппироватьПоСроку(Команда) + СгруппироватьПоКолонке("СрокДляГруппировки"); +КонецПроцедуры + &НаКлиенте Процедура ПоказыватьВыполненныеПриИзменении(Элемент) @@ -112,6 +134,16 @@ КонецПроцедуры +&НаКлиенте +Процедура ОткрытьБизнесПроцесс(Команда) + БизнесПроцессыИЗадачиКлиент.ОткрытьБизнесПроцесс(Элементы.Список); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьПредметЗадачи(Команда) + БизнесПроцессыИЗадачиКлиент.ОткрытьПредметЗадачи(Элементы.Список); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -158,24 +190,22 @@ &НаСервере Процедура УстановитьОтбор(ПараметрыОтбора) - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Выполнена"); - Если ПараметрыОтбора["ПоказыватьВыполненные"] Тогда СгруппироватьПоКолонкеНаСервере(""); - Иначе - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Выполнена", Ложь); КонецЕсли; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Выполнена", Ложь, , , Не ПараметрыОтбора["ПоказыватьВыполненные"]); + КонецПроцедуры &НаСервере Процедура ОбновитьСписокЗадачНаСервере() - Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", НачалоДня(ТекущаяДатаСеанса())); + БизнесПроцессыИЗадачиСервер.УстановитьПараметрыСпискаМоихЗадач(Список); БизнесПроцессыИЗадачиСервер.УстановитьОформлениеЗадач(Список); Элементы.Список.Обновить(); КонецПроцедуры -#КонецОбласти +#КонецОбласти \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Form.form index 77663bbae..02ef70c37 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Form.form @@ -4,12 +4,49 @@ ru Мои задачи + + ГруппаПользовательскихНастроек + 140 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 141 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + ОсновнаяКоманднаяПанель 1 Изменить 69 + + <key>ru</key> + <value>Открыть</value> + true true @@ -35,114 +72,6 @@ Auto InCommandBarAndInAdditionalSubmenu - - КоманднаяПанельФормы - 8 - - ПринятьКИсполнению - 77 - true - true - - true - - - ПринятьКИсполнениюExtendedTooltip - 89 - Label - true - true - - Left - - - Form.Command.ПринятьКИсполнению - Normal - Auto - true - true - UserCmds - Auto - - - ЗадачаЗадачаИсполнителяВыполнено - 67 - true - true - - true - - - Items.Список.CurrentData.Ref - - false - - ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip - 90 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Выполнено - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - - ЗадачаЗадачаИсполнителяПеренаправить - 68 - true - true - - true - - - Items.Список.CurrentData.Ref - - false - - ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip - 91 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Перенаправить - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu - - true - true - - true - - - КоманднаяПанельФормыExtendedTooltip - 88 - Label - true - true - - Left - - - - ОбновитьСписокЗадач 79 @@ -172,6 +101,32 @@ СгруппироватьПо 51 + + СписокСгруппироватьПоСроку + 142 + true + true + + true + + + СписокСгруппироватьПоСрокуРасширеннаяПодсказка + 143 + Label + true + true + + Left + + + Form.Command.СгруппироватьПоСроку + Normal + Auto + true + true + UserCmds + Auto + СписокСгруппироватьПоВажности 52 @@ -284,18 +239,49 @@ Auto InCommandBarAndInAdditionalSubmenu - - СписокСгруппироватьСгруппироватьПоБезГруппировки - 54 + + СгруппироватьПодгруппа + 119 + + СписокСгруппироватьСгруппироватьПоБезГруппировки + 54 + true + true + + true + + false + + СписокСгруппироватьСгруппироватьПоБезГруппировкиExtendedTooltip + 98 + Label + true + true + + Left + + + Form.Command.СгруппироватьПоБезГруппировки + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + true true true - false + + <key>ru</key> + <value>Сгруппировать подгруппа</value> + - СписокСгруппироватьСгруппироватьПоБезГруппировкиExtendedTooltip - 98 + СгруппироватьПодгруппаРасширеннаяПодсказка + 120 Label true true @@ -303,14 +289,7 @@ Left - Form.Command.СгруппироватьПоБезГруппировки - Normal - Auto - true - true - UserCmds - Auto - InCommandBarAndInAdditionalSubmenu + true true @@ -341,6 +320,114 @@ Normal + + КоманднаяПанельФормы + 8 + + ПринятьКИсполнению + 77 + true + true + + true + + + ПринятьКИсполнениюExtendedTooltip + 89 + Label + true + true + + Left + + + Form.Command.ПринятьКИсполнению + Normal + Auto + true + true + UserCmds + Auto + + + ЗадачаЗадачаИсполнителяВыполнено + 67 + true + true + + true + + + Items.Список.CurrentData.Ref + + false + + ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip + 90 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Выполнено + Normal + Picture + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяПеренаправить + 68 + true + true + + true + + + Items.Список.CurrentData.Ref + + false + + ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip + 91 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Перенаправить + Normal + Auto + true + true + UserCmds + Auto + InCommandBarAndInAdditionalSubmenu + + true + true + + true + + + КоманднаяПанельФормыExtendedTooltip + 88 + Label + true + true + + Left + + + + true true @@ -381,25 +468,410 @@ Refresh SetDateInterval SetDeletionMark - - Важность - 24 + + ГруппаКолонок + 131 + + ВерхняяСтрока + 127 + + Наименование + 16 + true + true + + true + + + Список.Description + + + НаименованиеExtendedTooltip + 114 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 17 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + + Дата + 65 + + <key>ru</key> + <value>Записана / Срок</value> + + true + true + + true + + + Список.Date + + + ДатаExtendedTooltip + 118 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 66 + true + + LabelField + Enter + true + Left + true + + true + true + + + + ДатаНачала + 46 + true + true + + true + + + Список.ДатаНачала + + + ДатаНачалаExtendedTooltip + 115 + Label + true + true + + Left + + + + ДатаНачалаКонтекстноеМеню + 47 + true + + InputField + Enter + true + Left + true + + 10 + true + true + true + true + true + Normal + + + + Номер + 57 + true + true + + + Список.Number + + + НомерExtendedTooltip + 113 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 58 + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Верхняя строка</value> + + + ru + Верхняя строка + + + ВерхняяСтрокаРасширеннаяПодсказка + 128 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + НижняяСтрока + 129 + + ВажностьИАвтор + 135 + + Важность + 24 + true + true + + true + + + Список.ВажностьКартинка + + None + + ru + Важность + + + ВажностьExtendedTooltip + 112 + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 25 + true + + PictureField + true + Enter + + CommonPicture.ВосклицательныйЗнакСерый + + Left + true + + 2 + true + true + true + + CommonPicture.КоллекцияВариантыВажности + + + + 1 + + + + + Автор + 40 + true + true + + true + + + Список.Автор + + + АвторExtendedTooltip + 117 + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 41 + true + + InputField + Enter + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Важность и автор</value> + + + ru + Важность и автор + + + ВажностьИАвторРасширеннаяПодсказка + 136 + Label + true + true + + Left + + + ColumnGroup + + InCell + auto + true + + + + СрокИсполнения + 36 + true + true + + true + + + Список.СрокИсполнения + + + СрокИсполненияExtendedTooltip + 116 + Label + true + true + + Left + + + + СрокИсполненияКонтекстноеМеню + 37 + true + + InputField + Enter + Left + true + + true + true + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Нижняя строка</value> + + + ru + Нижняя строка + + + НижняяСтрокаРасширеннаяПодсказка + 130 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + true true true - - Список.ВажностьКартинка - - None - + <key>ru</key> - <value>Важность</value> - </toolTip> + <value>Группа колонок</value> + - ВажностьExtendedTooltip - 112 + ГруппаКолонокРасширеннаяПодсказка + 132 Label true true @@ -407,46 +879,25 @@ Left - - ВажностьКонтекстноеМеню - 25 - true - - PictureField - true - Enter - true - - CommonPicture.ВосклицательныйЗнакСерый - - Left - true - - 2 - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - + ColumnGroup + + Vertical + auto + true - Номер - 57 + Ссылка + 137 true true - Список.Number + Список.Ref - НомерExtendedTooltip - 113 + СсылкаРасширеннаяПодсказка + 139 Label true true @@ -455,214 +906,8 @@ - НомерКонтекстноеМеню - 58 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Наименование - 16 - true - true - - true - - - Список.Description - - - НаименованиеExtendedTooltip - 114 - Label - true - true - - Left - - - - НаименованиеКонтекстноеМеню - 17 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - ДатаНачала - 46 - true - true - - true - - - Список.ДатаНачала - - - ДатаНачалаExtendedTooltip - 115 - Label - true - true - - Left - - - - ДатаНачалаКонтекстноеМеню - 47 - true - - InputField - Enter - true - Left - true - - 10 - true - true - true - true - true - Normal - - - - СрокИсполнения - 36 - true - true - - true - - - Список.СрокИсполнения - - - СрокИсполненияExtendedTooltip - 116 - Label - true - true - - Left - - - - СрокИсполненияКонтекстноеМеню - 37 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - Автор - 40 - true - - true - - - Список.Автор - - - АвторExtendedTooltip - 117 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Дата - 65 - - <key>ru</key> - <value>Записана</value> - - true - true - - true - - - Список.Date - - - ДатаExtendedTooltip - 118 - Label - true - true - - Left - - - - ДатаКонтекстноеМеню - 66 + СсылкаКонтекстноеМеню + 138 true LabelField @@ -688,10 +933,10 @@
                                            СписокСтрокаПоиска - 119 + 144 СписокСтрокаПоискаРасширеннаяПодсказка - 121 + 146 Label true true @@ -701,7 +946,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 120 + 145 true Список @@ -711,10 +956,10 @@ СписокСостояниеПросмотра - 122 + 147 СписокСостояниеПросмотраРасширеннаяПодсказка - 124 + 149 Label true true @@ -724,7 +969,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 123 + 148 true ViewStatusAddition @@ -735,10 +980,10 @@ СписокУправлениеПоиском - 125 + 150 СписокУправлениеПоискомРасширеннаяПодсказка - 127 + 152 Label true true @@ -748,7 +993,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 126 + 151 true SearchControlAddition @@ -773,6 +1018,10 @@ КонтекстноеМенюСписокИзменить 71 + + <key>ru</key> + <value>Открыть задачу</value> + true true @@ -797,6 +1046,58 @@ UserCmds Auto + + СписокКонтекстноеМенюОткрытьПредметЗадачи + 123 + true + true + + true + + + СписокКонтекстноеМенюОткрытьПредметЗадачиРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + Form.Command.ОткрытьПредметЗадачи + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьБизнесПроцесс + 121 + true + true + + true + + + СписокКонтекстноеМенюОткрытьБизнесПроцессРасширеннаяПодсказка + 122 + Label + true + true + + Left + + + Form.Command.ОткрытьБизнесПроцесс + Normal + Auto + true + true + UserCmds + Auto + СписокКонтекстноеМенюГруппа 81 @@ -875,6 +1176,10 @@ СписокКонтекстноеМенюЗадачаЗадачаИсполнителяВыполнено 84 + + <key>ru</key> + <value>Отметить задачу как выполненную</value> + true true @@ -974,33 +1279,6 @@ UserCmds Auto - - КонтекстноеМенюСписокВывестиСписок - 74 - true - true - - true - - false - - КонтекстноеМенюСписокВывестиСписокExtendedTooltip - 107 - Label - true - true - - Left - - - Form.StandardCommand.OutputList - Normal - Auto - true - true - UserCmds - Auto - СписокКонтекстноеМенюКопироватьВБуферОбмена 80 @@ -1028,16 +1306,17 @@ Auto - СписокКонтекстноеМенюНастройкаСписка - 82 + КонтекстноеМенюСписокВывестиСписок + 74 true true true + false - СписокКонтекстноеМенюНастройкаСпискаExtendedTooltip - 109 + КонтекстноеМенюСписокВывестиСписокExtendedTooltip + 107 Label true true @@ -1045,7 +1324,7 @@ Left - Form.Item.Список.StandardCommand.ListSettings + Form.StandardCommand.OutputList Normal Auto true @@ -1053,6 +1332,82 @@ UserCmds Auto + + СписокКонтекстноеМенюГруппаНастройка + 133 + + СписокКонтекстноеМенюНастройкаСписка + 82 + true + true + + true + + + СписокКонтекстноеМенюНастройкаСпискаExtendedTooltip + 109 + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.ListSettings + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюИзменитьФорму + 125 + true + true + + true + + + СписокКонтекстноеМенюИзменитьФормуРасширеннаяПодсказка + 126 + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Настройка</value> + + + СписокКонтекстноеМенюГруппаНастройкаРасширеннаяПодсказка + 134 + Label + true + true + + Left + + + + КонтекстноеМенюСписокСправка 73 @@ -1086,6 +1441,7 @@ true true MultiRow + Row
                                            true
                                            1 1 @@ -1093,7 +1449,6 @@ AutoUse true true - false Auto Auto true @@ -1119,6 +1474,7 @@ true true + ГруппаПользовательскихНастроек
                                            None @@ -1164,6 +1520,15 @@ true + + Список.BusinessProcess + + + Список.Ref + + + Список.Предмет + Список.ПринятаКИсполнению @@ -1181,7 +1546,7 @@ ЗадачиПоИсполнителю.СрокИсполнения, ВЫБОР КОГДА ЗадачиПоИсполнителю.ДатаНачала = &НезаполненнаяДата - ТОГДА &ТекущаяДата + ТОГДА &НачалоДня ИНАЧЕ ЗадачиПоИсполнителю.ДатаНачала КОНЕЦ КАК ДатаНачала, ЗадачиПоИсполнителю.ДатаИсполнения, @@ -1199,7 +1564,19 @@ КОГДА ЗадачиПоИсполнителю.Важность = ЗНАЧЕНИЕ(Перечисление.ВариантыВажностиЗадачи.Высокая) ТОГДА 2 ИНАЧЕ 1 - КОНЕЦ КАК ВажностьКартинка + КОНЕЦ КАК ВажностьКартинка, + ЗадачиПоИсполнителю.Предмет, + ВЫБОР + КОГДА ЗадачиПоИсполнителю.СрокИсполнения <= &ТекущаяДата + ТОГДА &Просрочено + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &ТекущаяДата И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецДня + ТОГДА &Сегодня + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &КонецДня И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецНедели + ТОГДА &ЭтаНеделя + КОГДА ЗадачиПоИсполнителю.СрокИсполнения > &КонецНедели И ЗадачиПоИсполнителю.СрокИсполнения <= &КонецСледующейНедели + ТОГДА &СледующаяНеделя + ИНАЧЕ &Позднее + КОНЕЦ КАК СрокДляГруппировки ИЗ Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачиПоИсполнителю ГДЕ @@ -1366,7 +1743,7 @@ ПринятьКИсполнению <key>ru</key> - <value>Принять к исполнению</value> + <value>К исполнению</value> 1 @@ -1432,6 +1809,72 @@ Auto Auto + + ОткрытьБизнесПроцесс + + <key>ru</key> + <value>Открыть бизнес-процесс</value> + + 9 + + ru + Открыть бизнес-процесс + + + true + + + + ОткрытьБизнесПроцесс + + + Auto + Auto + + + ОткрытьПредметЗадачи + + <key>ru</key> + <value>Открыть предмет задачи</value> + + 10 + + ru + Открыть предмет задачи + + + true + + + + ОткрытьПредметЗадачи + + + Auto + Auto + + + СгруппироватьПоСроку + + <key>ru</key> + <value>Срок</value> + + 11 + + ru + Сгруппировать по сроку + + + true + + + + СгруппироватьПоСроку + + + Auto + Auto + diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Help/ru.html index 0bfe0bf98..6e82bb34c 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Help/ru.html +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Help/ru.html @@ -1,4 +1,29 @@ - -

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

                                            -

                                            См. также:

                                            - \ No newline at end of file + +

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

                                            +

                                            Непринятые к исполнению задачи выделяются в списке жирным шрифтом. Просроченные задачи выделяются красным цветом.

                                            +

                                            В списке выводится:

                                            +
                                            • Задача - полное наименование и автор задачи. +
                                            • Записана/Срок - дата и время ввода задачи/дата и время, к которому Задание должно быть выполнено. Время в сроках исполнения и других датах появляется, если в разделе Администрирование - Органайзер установлен флажок Дата и время в сроках задач.  +
                                            • Дата начала выполнения задачи, проставляется исполнителем. Если не заполнена, автоматически проставляется текущая дата. Заполнить поле можно, если в разделе Администрирование - Органайзер установлен флажок Дата начала задач. 

                                            Просмотр задачи

                                            +
                                            • Для просмотра задачи дважды щелкните по нужной строке левой кнопкой мыши. +
                                            • Также можно выделить задачу, нажать кнопку Открыть. +
                                            • Также можно воспользоваться командой Открыть задачу контекстного меню по правой кнопке мыши.

                                            Просмотр предмета

                                            +
                                            • Задачу можно создать на основании объектов программы. Для того чтобы просмотреть предмет задачи, на основании которого она создана, выполните команду Открыть предмет задачи контекстного меню по правой кнопки мыши.

                                            Просмотр бизнес-процесса

                                            +
                                            • Каждая задача является этапом какого-либо бизнес-процесса, например, Задания. Для того чтобы просмотреть информацию о бизнес-процессе в целом, выполните команду контекстного меню по правой кнопке мыши Открыть бизнес-процесс.

                                            Группировка

                                            +
                                            • Если задач много, для удобства работы с ними список можно с помощью соответствующей кнопки Сгруппировать по: +
                                              • Сроку; +
                                              • Важности; +
                                              • Точке маршрута; +
                                              • Автору; +
                                              • Предмету задачи. 
                                            • Для отмены группировки нажмите Сгруппировать по - Без группировки.

                                            Принятие к исполнению

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

                                            Выполнение

                                            +
                                            • +
                                              Нажмите кнопку , для того чтобы отметить задачу как выполненную.
                                              +
                                            • +
                                              Также можно воспользоваться командой контекстного меню по правой кнопке мыши Отметить задачу как выполненную.
                                              +
                                            • +
                                              Выполненные задачи исчезают из списка.

                                            Отправка другому исполнителю

                                            +
                                            • Нажмите Перенаправить, заполните данные о другом исполнителе.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Module.bsl index 77873fd53..418e5b5a2 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/МоиЗадачиДляРабочегоСтола/Module.bsl @@ -4,6 +4,8 @@ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + УстановитьУсловноеОформление(); + Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа. Возврат; КонецЕсли; @@ -12,9 +14,7 @@ Возврат; КонецЕсли; - Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", НачалоДня(ТекущаяДатаСеанса())); - Список.Параметры.УстановитьЗначениеПараметра("НезаполненнаяДата", Дата(1,1,1)); - + БизнесПроцессыИЗадачиСервер.УстановитьПараметрыСпискаМоихЗадач(Список); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "Выполнена", Ложь); @@ -28,8 +28,7 @@ // Установка отбора динамического списка. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , , - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры &НаСервере @@ -46,7 +45,27 @@ #КонецОбласти -#Область ОбработчикиСобытийЭлементовШапкиФормы +#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок + +&НаКлиенте +Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) + БизнесПроцессыИЗадачиКлиент.СписокЗадачПередНачаломДобавления(ЭтотОбъект, Элемент, Отказ, Копирование, + Родитель, Группа); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОткрытьБизнесПроцесс(Команда) + БизнесПроцессыИЗадачиКлиент.ОткрытьБизнесПроцесс(Элементы.Список); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьПредметЗадачи(Команда) + БизнесПроцессыИЗадачиКлиент.ОткрытьПредметЗадачи(Элементы.Список); +КонецПроцедуры &НаКлиенте Процедура СгруппироватьПоВажности(Команда) @@ -73,20 +92,11 @@ СгруппироватьПоКолонке("ПредметСтрокой"); КонецПроцедуры -#КонецОбласти - -#Область ОбработчикиСобытийЭлементовТаблицыФормыСписок - &НаКлиенте -Процедура СписокПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) - БизнесПроцессыИЗадачиКлиент.СписокЗадачПередНачаломДобавления(ЭтотОбъект, Элемент, Отказ, Копирование, - Родитель, Группа); +Процедура СгруппироватьПоСроку(Команда) + СгруппироватьПоКолонке("СрокДляГруппировки"); КонецПроцедуры -#КонецОбласти - -#Область ОбработчикиКомандФормы - &НаКлиенте Процедура ПринятьКИсполнению(Команда) @@ -112,6 +122,46 @@ #Область СлужебныеПроцедурыИФункции +&НаСервере +Процедура УстановитьУсловноеОформление() + + УсловноеОформление.Элементы.Очистить(); + + // + + Элемент = УсловноеОформление.Элементы.Добавить(); + + ЭлементыНижнейСтроки = Новый Массив(); + ВыбратьВсеПодчиненныеЭлементы(Элементы.НижняяСтрока, ЭлементыНижнейСтроки); + Для каждого ЭлементФормы Из ЭлементыНижнейСтроки Цикл + + ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); + ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(ЭлементФормы.Имя); + + КонецЦикла; + + ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Ссылка"); + ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; + + Элемент.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь); + +КонецПроцедуры + +&НаСервере +Процедура ВыбратьВсеПодчиненныеЭлементы(Родитель, Результат) + + Для каждого ЭлементФормы Из Родитель.ПодчиненныеЭлементы Цикл + + Результат.Добавить(ЭлементФормы); + Если ТипЗнч(ЭлементФормы) = Тип("ГруппаФормы") Тогда + ВыбратьВсеПодчиненныеЭлементы(ЭлементФормы, Результат); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + &НаКлиенте Процедура СгруппироватьПоКолонке(Знач ИмяКолонкиРеквизита) РежимГруппировки = ИмяКолонкиРеквизита; @@ -135,7 +185,7 @@ &НаСервере Процедура ОбновитьСписокЗадачНаСервере() - Список.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", НачалоДня(ТекущаяДатаСеанса())); + БизнесПроцессыИЗадачиСервер.УстановитьПараметрыСпискаМоихЗадач(Список); БизнесПроцессыИЗадачиСервер.УстановитьОформлениеЗадач(Список); Элементы.Список.Обновить(); diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Form.form index 23e848a95..6486fb33d 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Form.form @@ -253,22 +253,19 @@
                                            - ГруппаОдинОбъектАдресации - 33 - - ОдинОсновнойОбъектАдресации - 34 + ГруппаОбъектыАдресации + 60 + + Отступ + 62 true true true - - ОсновнойОбъектАдресации - - ОдинОсновнойОбъектАдресацииExtendedTooltip - 54 + ОтступРасширеннаяПодсказка + 64 Label true true @@ -277,22 +274,239 @@ - ОдинОсновнойОбъектАдресацииКонтекстноеМеню - 35 + ОтступКонтекстноеМеню + 63 true - InputField - Enter - true - Left - true - + Label + true + true + + Left + + + + ОбъектыАдресации + 65 + + ГруппаОдинОбъектАдресации + 33 + + ОдинОсновнойОбъектАдресации + 34 + true + true + + true + + + ОсновнойОбъектАдресации + + + ОдинОсновнойОбъектАдресацииExtendedTooltip + 54 + Label + true + true + + Left + + + + ОдинОсновнойОбъектАдресацииКонтекстноеМеню + 35 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа один объект адресации</value> + + + ru + Группа один объект адресации + + + ГруппаОдинОбъектАдресацииExtendedTooltip + 53 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + + ГруппаДваОбъектаАдресации + 36 + + ОсновнойОбъектАдресации + 37 + true + true + + true + + + ОсновнойОбъектАдресации + + + ОсновнойОбъектАдресацииExtendedTooltip + 56 + Label + true + true + + Left + + + + ОсновнойОбъектАдресацииКонтекстноеМеню + 38 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + + ДополнительныйОбъектАдресации + 39 + true + true + + true + + + ДополнительныйОбъектАдресации + + + ДополнительныйОбъектАдресацииExtendedTooltip + 57 + Label + true + true + + Left + + + + ДополнительныйОбъектАдресацииКонтекстноеМеню + 40 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа два объекта адресации</value> + + + ru + Группа два объекта адресации + + + ГруппаДваОбъектаАдресацииExtendedTooltip + 55 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + + true + true + + true + + + <key>ru</key> + <value>Объекты адресации</value> + + + ОбъектыАдресацииРасширеннаяПодсказка + 66 + Label true true - true - true - true - Normal + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto true @@ -302,15 +516,11 @@ <key>ru</key> - <value>Группа один объект адресации</value> + <value>Группа объекты адресации</value> - - ru - Группа один объект адресации - - ГруппаОдинОбъектАдресацииExtendedTooltip - 53 + ГруппаОбъектыАдресацииРасширеннаяПодсказка + 61 Label true true @@ -320,123 +530,6 @@ UsualGroup - Vertical - Auto - true - true - Auto - Auto - - - - ГруппаДваОбъектаАдресации - 36 - - ОсновнойОбъектАдресации - 37 - true - true - - true - - - ОсновнойОбъектАдресации - - - ОсновнойОбъектАдресацииExtendedTooltip - 56 - Label - true - true - - Left - - - - ОсновнойОбъектАдресацииКонтекстноеМеню - 38 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДополнительныйОбъектАдресации - 39 - true - true - - true - - - ДополнительныйОбъектАдресации - - - ДополнительныйОбъектАдресацииExtendedTooltip - 57 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 40 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - true - true - - true - - - <key>ru</key> - <value>Группа два объекта адресации</value> - - - ru - Группа два объекта адресации - - - ГруппаДваОбъектаАдресацииExtendedTooltip - 55 - Label - true - true - - Left - - - UsualGroup - - Vertical Auto true true diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Help/ru.html index 29a168371..0fadab1b7 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Help/ru.html +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ПеренаправитьЗадачи/Help/ru.html @@ -1,6 +1,8 @@ - -

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

                                            -

                                            См. также

                                            - \ No newline at end of file + +

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

                                            +
                                            • Выберите с помощью переключателя:  +
                                              • Исполнителю - при персональной адресации исполнитель указывается явно из списка пользователей программы. +
                                              • Исполнителям роли - при ролевой адресации необходимо указать роль и при необходимости основной и дополнительный объекты адресации.
                                            • Напишите Комментарий, для того чтобы обосновать отправку задачи другому исполнителю. +
                                            • Нажмите Перенаправить. Задача появится в персональном списке задач другого исполнителя.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Form.form index fb32d9ed4..b2900a7d9 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Form.form @@ -3,42 +3,6 @@ ГруппаФормаВыполнения 93 - - ДекорацияКартинка - 91 - true - true - - true - - - ДекорацияКартинкаExtendedTooltip - 136 - Label - true - true - - Left - - - - ДекорацияКартинкаКонтекстноеМеню - 92 - true - - 4 - true - 2 - true - false - false - false - - - CommonPicture.Информация32 - - - ГруппаФормаВыполненияТекст 96 @@ -47,7 +11,7 @@ 94 <key>ru</key> - <value>Здесь представлены общие сведения о задаче. + <value>Выведены общие сведения о задаче. Для выполнения задачи необходимо перейти в специальную форму задачи.</value> true @@ -167,7 +131,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -197,7 +161,7 @@ UsualGroup Auto - StrongSeparation + NormalSeparation true true Auto @@ -777,7 +741,7 @@ Vertical Auto - StrongSeparation + NormalSeparation true true Auto @@ -1418,7 +1382,7 @@ Дополнительно <key>ru</key> - <value>Дополнительно</value> + <value>Дополнительно...</value> 2 diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Help/ru.html new file mode 100644 index 000000000..ba13c3171 --- /dev/null +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаЗадачи/Help/ru.html @@ -0,0 +1,20 @@ + +

                                            Сведения о задаче. 

                                            +

                                            Дата начала выполнения

                                            +
                                            • В поле Дата начала проставьте дату и время начала выполнения задачи. +
                                            • Для того чтобы использовать эту возможность, необходимо установить флажок Дата начала задач в разделе Администрирование - Органайзер.

                                            Важность

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

                                            Результат выполнения

                                            +
                                            • +
                                              Нажмите Выполнена, для того чтобы отметить задачу как выполненную.
                                              +
                                            • +
                                              Дата выполнения заполняется программой автоматически.

                                            Отправка другому исполнителю

                                            +
                                            • Нажмите Перенаправить, заполните данные о другом исполнителе.

                                            Подчиненные бизнес-процессы

                                            +
                                            • Можно Создать на основании этой задачи новый бизнес-процесс, например, Задание (при наличии соответствующих прав). +
                                            • Для того чтобы использовать эту возможность, должен быть включен флажок Подчиненные бизнес-процессы в разделе Администрирование - Органайзер.

                                            Напоминание

                                            +
                                            • Для того чтобы не забыть выполнить задачу, можно ввести Напоминание, текст которого будет выведен в указанное время. +
                                            • Нажмите , выберите действие, например, Напомнить, заполните необходимые поля.

                                            Дополнительные сведения

                                            +

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Form.form b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Form.form index e361c786a..f47989180 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Form.form +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Form.form @@ -135,6 +135,7 @@ ПоказыватьЗадачи + Top OnChange ПоказыватьЗадачиПриИзменении @@ -160,7 +161,7 @@ Left true - 15 + 20 true true true @@ -171,7 +172,7 @@ ru - не выполненные + Не выполненные 2 @@ -180,7 +181,7 @@ ru - выполненные + Выполненные 1 @@ -189,7 +190,7 @@ ru - все задачи + Все задачи 0 @@ -209,6 +210,7 @@ ПоАвтору + Top OnChange ПоАвторуПриИзменении @@ -258,6 +260,7 @@ ПоИсполнителю + Top OnChange ПоИсполнителюПриИзменении @@ -329,20 +332,53 @@ Auto
                                            + + ГруппаПользовательскихНастроек + 141 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + ГруппаПользовательскихНастроекРасширеннаяПодсказка + 142 + Label + true + true + + Left + + + UsualGroup + + Vertical + Auto + true + true + Auto + Auto + + ОсновнаяКоманднаяПанель 47 Изменить - 75 + 155 true true true - ИзменитьExtendedTooltip - 94 + ИзменитьРасширеннаяПодсказка + 156 Label true true @@ -350,7 +386,7 @@ Left
                                            - Form.Item.Список.StandardCommand.Change + Form.StandardCommand.Change Normal Auto true @@ -359,16 +395,16 @@ Auto
                                            - ПринятьКИсполнению - 61 + ОткрытьБизнесПроцесс + 147 true true true - ПринятьКИсполнениюExtendedTooltip - 95 + ОткрытьБизнесПроцессРасширеннаяПодсказка + 148 Label true true @@ -376,91 +412,7 @@ Left - Form.Command.ПринятьКИсполнению - Normal - Auto - true - true - UserCmds - Auto - - - ЗадачаЗадачаИсполнителяВыполнено - 76 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip - 96 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Выполнено - Normal - Auto - true - true - UserCmds - Auto - - - ЗадачаЗадачаИсполнителяПеренаправить - 77 - true - true - - true - - - Items.Список.CurrentData.Ref - - - ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip - 97 - Label - true - true - - Left - - - Task.ЗадачаИсполнителя.Command.Перенаправить - Normal - Auto - true - true - UserCmds - Auto - - - ОтменитьПринятиеКИсполнению - 62 - true - true - - true - - - ОтменитьПринятиеКИсполнениюExtendedTooltip - 98 - Label - true - true - - Left - - - Form.Command.ОтменитьПринятиеКИсполнению + Form.Command.ОткрытьБизнесПроцесс Normal Auto true @@ -469,6 +421,113 @@ Auto InAdditionalSubmenu + + ОткрытьПредметЗадачи + 149 + true + true + + true + + + ОткрытьПредметЗадачиРасширеннаяПодсказка + 150 + Label + true + true + + Left + + + Form.Command.ОткрытьПредметЗадачи + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ГруппаПоиск + 159 + + Найти + 151 + true + true + + true + + + НайтиРасширеннаяПодсказка + 152 + Label + true + true + + Left + + + Form.StandardCommand.Find + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПоиск + 153 + true + true + + true + + + ОтменитьПоискРасширеннаяПодсказка + 154 + Label + true + true + + Left + + + Form.StandardCommand.CancelSearch + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа поиск</value> + + + ru + Группа поиск + + + ГруппаПоискРасширеннаяПодсказка + 160 + Label + true + true + + Left + + + + КоманднаяПанельСписка 45 @@ -488,9 +547,153 @@ - Item.Список + Form + + ГруппаПринятьКИсполнению + 157 + + ПринятьКИсполнению + 61 + + <key>ru</key> + <value>К исполнению</value> + + true + true + + true + + + ПринятьКИсполнениюExtendedTooltip + 95 + Label + true + true + + Left + + + Form.Command.ПринятьКИсполнению + Normal + Auto + true + true + UserCmds + Auto + + + ОтменитьПринятиеКИсполнению + 62 + true + true + + true + + + ОтменитьПринятиеКИсполнениюExtendedTooltip + 98 + Label + true + true + + Left + + + Form.Command.ОтменитьПринятиеКИсполнению + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяВыполнено + 76 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ЗадачаЗадачаИсполнителяВыполненоExtendedTooltip + 96 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Выполнено + Normal + Auto + true + true + UserCmds + Auto + InAdditionalSubmenu + + + ЗадачаЗадачаИсполнителяПеренаправить + 77 + true + true + + true + + + Items.Список.CurrentData.Ref + + + ЗадачаЗадачаИсполнителяПеренаправитьExtendedTooltip + 97 + Label + true + true + + Left + + + Task.ЗадачаИсполнителя.Command.Перенаправить + Normal + Auto + true + true + UserCmds + Auto + + true + true + + true + + + <key>ru</key> + <value>Группа принять к исполнению</value> + + + ru + Группа принять к исполнению + + + ГруппаПринятьКИсполнениюРасширеннаяПодсказка + 158 + Label + true + true + + Left + + + + КоманднаяПанельФормы 46 @@ -513,45 +716,17 @@ FormCommandPanelGlobalCommands - - ИзменитьФорму - 48 - true - true - - true - - false - - ИзменитьФормуExtendedTooltip - 101 - Label - true - true - - Left - - - Form.StandardCommand.CustomizeForm - Normal - Auto - true - true - UserCmds - Auto - Справка - 53 + 139 true true true - false - СправкаExtendedTooltip - 102 + СправкаРасширеннаяПодсказка + 140 Label true true @@ -604,215 +779,32 @@ Copy Delete SetDeletionMark - - ВажностьКартинка - 81 - - <key>ru</key> - <value>Важность (признак)</value> - - true - true - - true - - - Список.ВажностьКартинка - - None - - ru - Важность - - - ВажностьКартинкаExtendedTooltip - 116 - Label - true - true - - Left - - - - ВажностьКартинкаКонтекстноеМеню - 82 - true - - PictureField - Enter - true - - CommonPicture.ВосклицательныйЗнакСерый - - Left - true - - true - true - true - true - - CommonPicture.КоллекцияВариантыВажности - - - - 1 - - - - - Выполнена - 10 - true - true - - true - - - Список.Executed - - None - - ВыполненаExtendedTooltip - 117 - Label - true - true - - Left - - - - ВыполненаКонтекстноеМеню - 11 - true - - CheckBoxField - Enter - true - - StdPicture.ExecuteTask - - Left - true - - - - Остановлена - 59 - true - true - - true - - - Список.Остановлена - - None - - ru - Задача остановлена - - - ОстановленаExtendedTooltip - 118 - Label - true - true - - Left - - - - ОстановленаКонтекстноеМеню - 60 - true - - PictureField - Enter - true - - CommonPicture.ЗнакСтопЧБ - - Left - true - - true - true - true - true - - CommonPicture.ЗнакСтоп - - - - 1 - - - - - Номер - 4 - true - true - - true - - - Список.Number - - true - - НомерExtendedTooltip - 119 - Label - true - true - - Left - - - - НомерКонтекстноеМеню - 5 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - true - - Style.BorderColor - - Normal - - - ГруппаОписание - 85 + ГруппаВажность + 161 - Наименование - 6 + ВажностьКартинка + 81 + + <key>ru</key> + <value>Важность (признак)</value> + true true true - Список.Description + Список.ВажностьКартинка + None + + ru + Важность + - НаименованиеExtendedTooltip - 121 + ВажностьКартинкаExtendedTooltip + 116 Label true true @@ -821,25 +813,392 @@ - НаименованиеКонтекстноеМеню - 7 + ВажностьКартинкаКонтекстноеМеню + 82 true - InputField + PictureField Enter true + + CommonPicture.ВосклицательныйЗнакСерый + Left true - + + 2 true true - true - true - true - - Style.BorderColor - - Normal + true + + CommonPicture.КоллекцияВариантыВажности + + + + 1 + + + + + Остановлена + 59 + true + true + + true + + + Список.Остановлена + + None + + ru + Задача остановлена + + + ОстановленаExtendedTooltip + 118 + Label + true + true + + Left + + + + ОстановленаКонтекстноеМеню + 60 + true + + PictureField + Enter + true + + CommonPicture.ЗнакСтопЧБ + + Left + true + + 2 + true + true + true + + CommonPicture.ЗнакСтоп + + + + 1 + + + + true + true + + true + + + <key>ru</key> + <value>Группа важность</value> + + + ru + Группа важность + + + ГруппаВажностьРасширеннаяПодсказка + 162 + Label + true + true + + Left + + + ColumnGroup + + Vertical + auto + true + + + + ГруппаОписание + 85 + + ГруппаНаименование + 165 + + Наименование + 6 + true + true + + true + + + Список.Description + + + НаименованиеExtendedTooltip + 121 + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 7 + true + + InputField + Enter + true + Left + true + + 30 + true + true + true + true + true + + Style.BorderColor + + Normal + + + + Номер + 4 + true + true + + true + + + Список.Number + + true + + НомерExtendedTooltip + 119 + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 5 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа наименование</value> + + + ru + Группа наименование + + + ГруппаНаименованиеРасширеннаяПодсказка + 166 + Label + true + true + + Left + + + ColumnGroup + + auto + true + + + + Предмет + 51 + true + true + + + Список.ПредметСтрокой + + + ПредметExtendedTooltip + 133 + Label + true + true + + Left + + + + ПредметКонтекстноеМеню + 52 + true + + LabelField + Enter + Left + true + + 30 + true + true + + + + ГруппаАвтор + 163 + + Автор + 22 + true + true + + true + + + Список.Автор + + + АвторExtendedTooltip + 123 + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 23 + true + + InputField + Enter + true + Left + true + + 30 + true + true + true + true + true + Normal + + + + Дата + 8 + + <key>ru</key> + <value>Записана</value> + + true + true + + true + + + Список.Date + + + ДатаExtendedTooltip + 129 + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 9 + true + + InputField + Enter + true + Left + true + + true + true + false + true + true + true + + Style.BorderColor + + Normal + + + true + true + + true + + + <key>ru</key> + <value>Группа автор</value> + + + ru + Группа автор + + + ГруппаАвторРасширеннаяПодсказка + 164 + Label + true + true + + Left + + + ColumnGroup + + auto + true @@ -907,64 +1266,193 @@ true - - Автор - 22 - true - true - - true - - - Список.Автор - - - АвторExtendedTooltip - 123 - Label - true - true - - Left - - - - АвторКонтекстноеМеню - 23 - true - - InputField - Enter - true - Left - true - - 35 - true - true - true - true - true - Normal - - - ГруппаИсполнитель - 80 - - Исполнитель - 24 + ГруппаИсполнение + 167 + + ГруппаИсполнитель + 80 + + Исполнитель + 24 + true + true + + true + + + Список.Исполнитель + + + ИсполнительExtendedTooltip + 125 + Label + true + true + + Left + + + + ИсполнительКонтекстноеМеню + 25 + true + + InputField + Enter + true + Left + true + + 5 + true + true + false + true + true + true + Normal + + + + РольИсполнителя + 34 + true + true + + true + + + Список.РольИсполнителя + + None + + РольИсполнителяExtendedTooltip + 126 + Label + true + true + + Left + + + + РольИсполнителяКонтекстноеМеню + 35 + true + + InputField + Enter + true + Left + true + + 5 + true + true + true + true + true + Normal + + + + ОсновнойОбъектАдресации + 40 + true + true + + true + + + Список.ОсновнойОбъектАдресации + + None + + ОсновнойОбъектАдресацииExtendedTooltip + 127 + Label + true + true + + Left + + + + ОсновнойОбъектАдресацииКонтекстноеМеню + 41 + true + + InputField + Enter + true + Left + true + + 5 + true + true + true + true + true + Normal + + + + ДополнительныйОбъектАдресации + 38 + true + true + + true + + + Список.ДополнительныйОбъектАдресации + + None + + ДополнительныйОбъектАдресацииExtendedTooltip + 128 + Label + true + true + + Left + + + + ДополнительныйОбъектАдресацииКонтекстноеМеню + 39 + true + + InputField + Enter + true + Left + true + + 5 + true + true + true + true + true + Normal + + true true true - - Список.Исполнитель - + + <key>ru</key> + <value>Исполнитель</value> + + true - ИсполнительExtendedTooltip - 125 + ГруппаИсполнительExtendedTooltip + 124 Label true true @@ -972,42 +1460,151 @@ Left - - ИсполнительКонтекстноеМеню - 25 - true - - InputField - Enter - true - Left - true - - 35 - true - true - false - true - true - true - Normal + ColumnGroup + + InCell + auto + true - - РольИсполнителя - 34 + + ГруппаСрокИсполнения + 169 + + СрокИсполнения + 30 + true + true + + true + + + Список.СрокИсполнения + + + СрокИсполненияExtendedTooltip + 130 + Label + true + true + + Left + + + + СрокИсполненияКонтекстноеМеню + 31 + true + + InputField + Enter + true + Left + true + + 10 + true + true + false + true + true + true + Normal + + + + Выполнена + 10 + true + true + + + Список.Executed + + None + + ВыполненаExtendedTooltip + 117 + Label + true + true + + Left + + + + ВыполненаКонтекстноеМеню + 11 + true + + CheckBoxField + Enter + true + + StdPicture.ExecuteTask + + Left + true + + + + ДатаИсполнения + 32 + true + true + + true + + + Список.ДатаИсполнения + + + ДатаИсполненияExtendedTooltip + 131 + Label + true + true + + Left + + + + ДатаИсполненияКонтекстноеМеню + 33 + true + + InputField + Enter + true + Left + true + + 10 + true + true + false + true + true + true + Normal + + true true true - - Список.РольИсполнителя - - None + + <key>ru</key> + <value>Группа срок исполнения</value> + + + ru + Группа срок исполнения + - РольИсполнителяExtendedTooltip - 126 + ГруппаСрокИсполненияРасширеннаяПодсказка + 170 Label true true @@ -1015,105 +1612,10 @@ Left - - РольИсполнителяКонтекстноеМеню - 35 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ОсновнойОбъектАдресации - 40 - true - true - - true - - - Список.ОсновнойОбъектАдресации - - None - - ОсновнойОбъектАдресацииExtendedTooltip - 127 - Label - true - true - - Left - - - - ОсновнойОбъектАдресацииКонтекстноеМеню - 41 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДополнительныйОбъектАдресации - 38 - true - true - - true - - - Список.ДополнительныйОбъектАдресации - - None - - ДополнительныйОбъектАдресацииExtendedTooltip - 128 - Label - true - true - - Left - - - - ДополнительныйОбъектАдресацииКонтекстноеМеню - 39 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal + ColumnGroup + + auto + true true @@ -1123,13 +1625,15 @@ <key>ru</key> - <value>Исполнитель</value> + <value>Группа исполнение</value> - 35 - true + + ru + Группа исполнение + - ГруппаИсполнительExtendedTooltip - 124 + ГруппаИсполнениеРасширеннаяПодсказка + 168 Label true true @@ -1139,206 +1643,11 @@ ColumnGroup - InCell + Vertical auto true - - Дата - 8 - - <key>ru</key> - <value>Записана</value> - - true - true - - true - - - Список.Date - - - ДатаExtendedTooltip - 129 - Label - true - true - - Left - - - - ДатаКонтекстноеМеню - 9 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - - Style.BorderColor - - Normal - - - - СрокИсполнения - 30 - true - true - - true - - - Список.СрокИсполнения - - - СрокИсполненияExtendedTooltip - 130 - Label - true - true - - Left - - - - СрокИсполненияКонтекстноеМеню - 31 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - ДатаИсполнения - 32 - true - true - - true - - - Список.ДатаИсполнения - - - ДатаИсполненияExtendedTooltip - 131 - Label - true - true - - Left - - - - ДатаИсполненияКонтекстноеМеню - 33 - true - - InputField - Enter - true - Left - true - - true - true - true - true - true - Normal - - - - Важность - 78 - true - true - - - Список.Важность - - - ВажностьExtendedTooltip - 132 - Label - true - true - - Left - - - - ВажностьКонтекстноеМеню - 79 - true - - LabelField - Enter - true - Left - true - - true - true - - - - Предмет - 51 - true - true - - - Список.ПредметСтрокой - - - ПредметExtendedTooltip - 133 - Label - true - true - - Left - - - - ПредметКонтекстноеМеню - 52 - true - - LabelField - Enter - true - Left - true - - true - true - - Ссылка 134 @@ -1386,10 +1695,10 @@ СписокСтрокаПоиска - 142 + 176 СписокСтрокаПоискаРасширеннаяПодсказка - 144 + 178 Label true true @@ -1399,7 +1708,7 @@ СписокСтрокаПоискаКонтекстноеМеню - 143 + 177 true Список @@ -1409,10 +1718,10 @@ СписокСостояниеПросмотра - 145 + 179 СписокСостояниеПросмотраРасширеннаяПодсказка - 147 + 181 Label true true @@ -1422,7 +1731,7 @@ СписокСостояниеПросмотраКонтекстноеМеню - 146 + 180 true ViewStatusAddition @@ -1433,10 +1742,10 @@ СписокУправлениеПоиском - 148 + 182 СписокУправлениеПоискомРасширеннаяПодсказка - 150 + 184 Label true true @@ -1446,7 +1755,7 @@ СписокУправлениеПоискомКонтекстноеМеню - 149 + 183 true SearchControlAddition @@ -1494,6 +1803,58 @@ UserCmds Auto + + СписокКонтекстноеМенюОткрытьБизнесПроцесс + 145 + true + true + + true + + + СписокКонтекстноеМенюОткрытьБизнесПроцессРасширеннаяПодсказка + 146 + Label + true + true + + Left + + + Form.Command.ОткрытьБизнесПроцесс + Normal + Auto + true + true + UserCmds + Auto + + + СписокКонтекстноеМенюОткрытьПредметЗадачи + 143 + true + true + + true + + + СписокКонтекстноеМенюОткрытьПредметЗадачиРасширеннаяПодсказка + 144 + Label + true + true + + Left + + + Form.Command.ОткрытьПредметЗадачи + Normal + Auto + true + true + UserCmds + Auto + СписокКонтекстноеМенюГруппа 66 @@ -1805,6 +2166,7 @@ true + ГруппаПользовательскихНастроек None @@ -1855,9 +2217,18 @@ true + + Список.BusinessProcess + Список.Ref + + Список.Предмет + + + Список.ПредметСтрокой +
                                            true
                                            ВЫБРАТЬ @@ -1883,6 +2254,7 @@ ЗадачаЗадачаИсполнителя.СрокИсполнения, ЗадачаЗадачаИсполнителя.РезультатВыполнения, ЗадачаЗадачаИсполнителя.ПредметСтрокой, + ЗадачаЗадачаИсполнителя.Предмет, ЗадачаЗадачаИсполнителя.Исполнитель, ЗадачаЗадачаИсполнителя.РольИсполнителя, ЗадачаЗадачаИсполнителя.ОсновнойОбъектАдресации, @@ -2029,7 +2401,7 @@ 1 ru - Принять к исполнению + Принять задачу к исполнению true @@ -2090,6 +2462,50 @@ Auto Auto + + ОткрытьБизнесПроцесс + + <key>ru</key> + <value>Открыть бизнес-процесс</value> + + 4 + + ru + Открыть бизнес-процесс + + + true + + + + ОткрытьБизнесПроцесс + + + Auto + Auto + + + ОткрытьПредметЗадачи + + <key>ru</key> + <value>Открыть предмет задачи</value> + + 5 + + ru + Открыть предмет задачи + + + true + + + + ОткрытьПредметЗадачи + + + Auto + Auto + ЗаголовокФормы diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Help/ru.html new file mode 100644 index 000000000..cc12fc127 --- /dev/null +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Help/ru.html @@ -0,0 +1,39 @@ + +

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

                                            +

                                            Открывается по команде Все задачи в разделе Бизнес-процессы и задачи.

                                            +

                                            Непринятые к исполнению задачи выделяются жирным шрифтом. Красным цветом выделяются просроченные задачи.

                                            +

                                            В списке выводится:

                                            +
                                            •  - важность, принимает значения Обычная (по умолчанию), Низкая, Высокая. Для того чтобы выделить бизнес-процесс из списка, или наоборот, указать, что выполнение этого бизнес-процесса может быть отложено, выбираются соответствующие значения этого поля. +
                                            • Задача - полное наименование задачи.  Выполненные задачи помечаются значком . +
                                            • Номер - присваивается программой автоматически. +
                                            • Исполнитель задачи; +
                                            •  - остановленные бизнес-процессы в этой колонке обозначаются значком .  +
                                            • Автор задачи; +
                                            • Записана - дата и время ввода задачи.  Время в сроках исполнения и других датах появляется, если в разделе Администрирование - Органайзер установлен флажок Дата и время в сроках задач. +
                                            • Срок - дата и время, к которому задача должна быть выполнена. +
                                            • Выполнена - дата и время фактического выполнения задачи.

                                            Показывать

                                            +
                                            • Для удобства работы с задачами с помощью поля Показывать в список можно выводить: +
                                              • Все задачи; +
                                              • Выполненные; +
                                              • Не выполненные.

                                            Отборы

                                            +

                                            Задачи можно отобрать:

                                            +
                                            • по Автору - выберите автора из списка Пользователи; +
                                            • по Исполнителю - выберите в качестве исполнителя пользователя из списка; +
                                            • +
                                              по периоду - для этого выполните команду контекстного меню по правой кнопке мыши или меню Еще (Все действия) - Установить интервал дат.

                                            Просмотр задачи

                                            +
                                            • Для просмотра задачи дважды щелкните по нужной строке левой кнопкой мыши. +
                                            • Также можно воспользоваться командой Изменить контекстного меню по правой кнопке мыши или меню Еще (Все действия).

                                            Просмотр предмета

                                            +
                                            • Задачи могут быть созданы на основании объектов программы. Для того чтобы просмотреть предмет задачи, выполните команду Открыть предмет задачи контекстного меню по правой кнопки мыши или меню Еще (Все действия).

                                            Просмотр бизнес-процесса

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

                                            Принятие к исполнению

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

                                            Выполнение

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

                                            Отправка другому исполнителю

                                            +

                                            Подчиненные бизнес-процессы

                                            +
                                            • Также можно Создать на основании этой задачи новый бизнес-процесс, например, Задание (при наличии соответствующих прав). Для того чтобы можно было создавать Подчиненные бизнес-процессы и задачи, должен быть установлен соответствующий флажок в разделе Администрирование - Органайзер.

                                            Напоминание

                                            +
                                            • Для того чтобы не забыть выполнить задачу, можно ввести Напоминание, текст которого будет выведен в указанное время. +
                                            • Нажмите , выберите действие, например, Напомнить, заполните необходимые поля.

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Module.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Module.bsl index 85f9ab2c2..38cf41e68 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Module.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Forms/ФормаСписка/Module.bsl @@ -49,8 +49,7 @@ // Установка отбора динамического списка. ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( Список, "ПометкаУдаления", Ложь, ВидСравненияКомпоновкиДанных.Равно, , Ложь, - РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ); - + РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный); КонецПроцедуры &НаКлиенте @@ -129,6 +128,32 @@ КонецПроцедуры +&НаКлиенте +Процедура ОткрытьБизнесПроцесс(Команда) + Если ТипЗнч(Элементы.Список.ТекущаяСтрока) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'")); + Возврат; + КонецЕсли; + Если Элементы.Список.ТекущиеДанные.БизнесПроцесс = Неопределено Тогда + ПоказатьПредупреждение(,НСтр("ru = 'У выбранной задачи не указан бизнес-процесс.'")); + Возврат; + КонецЕсли; + ПоказатьЗначение(, Элементы.Список.ТекущиеДанные.БизнесПроцесс); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьПредметЗадачи(Команда) + Если ТипЗнч(Элементы.Список.ТекущаяСтрока) <> Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда + ПоказатьПредупреждение(,НСтр("ru = 'Команда не может быть выполнена для указанного объекта.'")); + Возврат; + КонецЕсли; + Если Элементы.Список.ТекущиеДанные.Предмет = Неопределено Тогда + ПоказатьПредупреждение(,НСтр("ru = 'У выбранной задачи не указан предмет.'")); + Возврат; + КонецЕсли; + ПоказатьЗначение(, Элементы.Список.ТекущиеДанные.Предмет); +КонецПроцедуры + #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормыСписок @@ -159,33 +184,25 @@ &НаСервереБезКонтекста Процедура УстановитьОтборСписка(Список, ПараметрыОтбора) - Если ПараметрыОтбора["ПоАвтору"].Пустая() Тогда - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Автор"); - Иначе - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Автор", ПараметрыОтбора["ПоАвтору"]); - КонецЕсли; + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Автор", ПараметрыОтбора["ПоАвтору"],,, ПараметрыОтбора["ПоАвтору"] <> Неопределено И Не ПараметрыОтбора["ПоАвтору"].Пустая()); - Если ПараметрыОтбора["ПоИсполнителю"].Пустая() Тогда + Если ПараметрыОтбора["ПоИсполнителю"] = Неопределено Или ПараметрыОтбора["ПоИсполнителю"].Пустая() Тогда Список.Параметры.УстановитьЗначениеПараметра("Исполнитель", NULL); Иначе Список.Параметры.УстановитьЗначениеПараметра("Исполнитель", ПараметрыОтбора["ПоИсполнителю"]); КонецЕсли; - ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбораДинамическогоСписка(Список, "Выполнена"); - Если ПараметрыОтбора["ПоказыватьЗадачи"] <> 0 Тогда - - Если ПараметрыОтбора["ПоказыватьЗадачи"] = 1 Тогда - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Выполнена", Истина); - КонецЕсли; - - Если ПараметрыОтбора["ПоказыватьЗадачи"] = 2 Тогда - ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( - Список, "Выполнена", Ложь); - КонецЕсли; - - КонецЕсли; + Если ПараметрыОтбора["ПоказыватьЗадачи"] = 0 Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Выполнена", Истина,,,Ложь); + ИначеЕсли ПараметрыОтбора["ПоказыватьЗадачи"] = 1 Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Выполнена", Истина,,,Истина); + ИначеЕсли ПараметрыОтбора["ПоказыватьЗадачи"] = 2 Тогда + ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка( + Список, "Выполнена", Ложь,,,Истина); + КонецЕсли; КонецПроцедуры diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/Help/ru.html b/SSL/src/Tasks/ЗадачаИсполнителя/Help/ru.html index c890464af..e36c4ac85 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/Help/ru.html +++ b/SSL/src/Tasks/ЗадачаИсполнителя/Help/ru.html @@ -1,7 +1,17 @@ - -

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

                                            -

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

                                            -

                                            Настройка уведомлений о задачах

                                            -

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

                                            -

                                            См. также:

                                            - \ No newline at end of file + +

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

                                            +

                                            Для создания новой задачи можно воспользоваться одним из бизнес-процессов (например, Задание).

                                            +

                                            Работа с задачами

                                            +

                                            Для работы с задачами предусмотрены различные списки:

                                            +
                                            • Мои задачи - рабочее место исполнителя задач, располагается на рабочем столе; +
                                            • Также можно открыть список Мои задачи по соответствующей команде в разделе Бизнес-процессы и задачи; +
                                            • По команде Задачи на панели навигации бизнес-процесса можно открыть список задач, которые являются частью этого бизнес-процесса. +
                                            • По команде Задачи на панели навигации документов программы можно просмотреть задачи бизнес-процессов, которые созданы на основании этих документов. +
                                            • Все задачи - список для работы с задачами всех исполнителей, открывается по соответствующей команде в разделе Бизнес-процессы и задачи.

                                            Настройка уведомлений о задачах

                                            +
                                            • Для напоминания исполнителям о новых задачах необходимо разрешить использование регламентного задания Уведомление исполнителей о новых задачах, которое с заданной периодичностью рассылает письма с уведомлениями о новых задачах по электронной почте. Письма отправляются по адресу, указанному в контактной информации пользователя программы. Настройка регламентных заданий выполняется в окне Регламентные и фоновые задания.

                                            Мониторинг задач

                                            +

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

                                            +

                                            См. также:

                                            + \ No newline at end of file diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/ManagerModule.bsl b/SSL/src/Tasks/ЗадачаИсполнителя/ManagerModule.bsl index 220636d35..db5a5cfb3 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/ManagerModule.bsl +++ b/SSL/src/Tasks/ЗадачаИсполнителя/ManagerModule.bsl @@ -29,6 +29,24 @@ #Область ОбработчикиСобытий +Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка) + + Поля.Добавить("Наименование"); + Поля.Добавить("Дата"); + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) + + Наименование = ?(ПустаяСтрока(Данные.Наименование), НСтр("ru = 'Без описания'"), Данные.Наименование); + Дата = Формат(Данные.Дата, ?(ПолучитьФункциональнуюОпцию("ИспользоватьДатуИВремяВСрокахЗадач"), "ДЛФ=DT", "ДЛФ=D")); + ШаблонПредставления = НСтр("ru = '%1 от %2'"); + Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПредставления, Наименование, Дата); + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Если ВидФормы = "ФормаОбъекта" И Параметры.Свойство("Ключ") Тогда diff --git a/SSL/src/Tasks/ЗадачаИсполнителя/ЗадачаИсполнителя.mdo b/SSL/src/Tasks/ЗадачаИсполнителя/ЗадачаИсполнителя.mdo index 09e8c7ac3..4c5dfefed 100644 --- a/SSL/src/Tasks/ЗадачаИсполнителя/ЗадачаИсполнителя.mdo +++ b/SSL/src/Tasks/ЗадачаИсполнителя/ЗадачаИсполнителя.mdo @@ -87,12 +87,11 @@ Date ru - Создана + Записана - Дата создания задачи ru - Дата создания задачи + Дата регистрации задачи 0001-01-01T00:00:00 @@ -105,7 +104,7 @@ Use Number - + Use @@ -166,7 +165,7 @@ ru Важность - Важность задачи - для приоритезации исполнителем своих задач + Для упорядочивания исполнителем своих задач по приоритету EnumRef.ВариантыВажностиЗадачи @@ -210,7 +209,7 @@ ДатаИсполнения ru - Дата выполнения + Выполнена Дата и время фактического выполнения задачи @@ -236,7 +235,7 @@ ru Дата начала - Дата начала выполнения задачи - для приоритезации исполнителем своих задач + Для упорядочивания исполнителем своих задач Date @@ -474,6 +473,11 @@ ru Задачи + + + ru + + PersonalComputer MobileDevice @@ -483,6 +487,11 @@ ru Задачи по предмету + + + ru + + PersonalComputer MobileDevice @@ -535,6 +544,11 @@ Форма задачи Форма выполнения задачи по умолчанию + + + ru + + PersonalComputer MobileDevice @@ -544,6 +558,11 @@ ru Форма списка + + + ru + + PersonalComputer MobileDevice @@ -692,7 +711,7 @@ Перенаправить ru - Перенаправить + Перенаправить... FormCommandBarImportant diff --git a/SSL/src/XDTOPackages/КонтактнаяИнформация/Package.xdto b/SSL/src/XDTOPackages/КонтактнаяИнформация/Package.xdto index f39cb8843..be4e70c7d 100644 --- a/SSL/src/XDTOPackages/КонтактнаяИнформация/Package.xdto +++ b/SSL/src/XDTOPackages/КонтактнаяИнформация/Package.xdto @@ -23,8 +23,8 @@ - +